*{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#eef2ff; --bg2:#f8fafc; --card:#ffffff; --text:#111827; --muted:#6b7280; --line:#e5e7eb;
  --violet:#7c3aed; --indigo:#4f46e5; --pink:#db2777; --blue:#2563eb; --red:#b91c1c; --green:#059669; --amber:#b45309;
  --shadow:0 18px 40px rgba(17,24,39,.12);
}
html,body{height:100%}
body{font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;background:linear-gradient(180deg,#eef2ff 0%,#f8fafc 320px);color:var(--text);position:relative;overflow-x:hidden}
body::before{
  content:'';
  position:fixed;
  inset:0;
  pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 900 600'%3E%3Crect width='300' height='600' x='0' y='0' fill='%23e5e7eb'/%3E%3Crect width='300' height='600' x='300' y='0' fill='%231c6fa8'/%3E%3Crect width='300' height='600' x='600' y='0' fill='%23facc15'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:center;
  background-size:min(98vw,1120px);
  filter:blur(1.5px) saturate(1.06);
  opacity:.32;
  z-index:-1;
}
#app{min-height:100vh}
.home{min-height:100vh;max-width:1120px;margin:0 auto;padding:28px 18px 34px}
.hero-grid{display:grid;grid-template-columns:1fr;gap:18px;align-items:stretch}
.hero{background:linear-gradient(135deg,var(--indigo) 0%,var(--violet) 58%,var(--pink) 100%);color:#fff;border-radius:28px;padding:28px 24px;position:relative;overflow:hidden;box-shadow:var(--shadow)}
.hero:before,.hero:after{content:'';position:absolute;border-radius:999px;background:rgba(255,255,255,.08)}
.hero:before{width:240px;height:240px;right:-90px;top:-90px}
.hero:after{width:150px;height:150px;left:-40px;bottom:-50px}
.hero-top{position:relative;z-index:1;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.82}
.hero h1{position:relative;z-index:1;font-size:30px;line-height:1.1;font-weight:900;letter-spacing:-.04em;margin-top:10px}
.hero p{position:relative;z-index:1;font-size:14px;line-height:1.55;opacity:.92;margin-top:10px;max-width:760px}
.credit{position:relative;z-index:1;margin-top:16px;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.14);font-size:12px;font-weight:800}
.hero-points{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.hero-points span{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.14);font-size:12px;font-weight:800}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}
.selector{background:linear-gradient(180deg,#ffffff,#fbfcff);border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px;cursor:pointer;transition:.18s transform,.18s box-shadow,.18s border-color;position:relative;overflow:hidden}
.selector:hover{transform:translateY(-2px);box-shadow:0 20px 38px rgba(17,24,39,.14);border-color:#c4b5fd}
.selector:before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--blue),var(--violet))}
.selector[data-open="cgpc"]:before{background:linear-gradient(180deg,#ef4444,#f97316)}
.selector[data-open="english"]:before{background:linear-gradient(180deg,#059669,#06b6d4)}
.selector[data-open="supuestos_tipo_test"]:before{background:linear-gradient(180deg,#9333ea,#2563eb)}
.selector[data-open="psicotecnicos"]:before{background:linear-gradient(180deg,#0f766e,#2563eb)}
.selector-top{display:flex;align-items:center;gap:14px}
.logo-wrap{width:88px;height:88px;border-radius:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;border:1px solid #e5e7eb;background:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 10px 20px rgba(17,24,39,.08)}
.logo-wrap.local{background:linear-gradient(180deg,#ffffff 0%,#eef4ff 100%)}
.logo-wrap.cgpc{background:linear-gradient(180deg,#ffffff 0%,#fff3ef 100%)}
.logo-wrap.english{background:linear-gradient(180deg,#ffffff 0%,#ecfeff 100%)}
.logo-wrap.supuestos_tipo_test{background:linear-gradient(180deg,#ffffff 0%,#ede9fe 100%)}
.logo-wrap.psicotecnicos{background:linear-gradient(180deg,#ffffff 0%,#ecfeff 100%)}
.logo-svg{width:100%;height:100%;display:block}
.badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.badge.local{background:#dbeafe;color:#1d4ed8}
.badge.cgpc{background:#fee2e2;color:#b91c1c}
.badge.english{background:#dcfce7;color:#166534}
.badge.supuestos_tipo_test{background:#ddd6fe;color:#5b21b6}
.badge.psicotecnicos{background:#ccfbf1;color:#0f766e}
.selector h2{font-size:20px;font-weight:900;letter-spacing:-.03em}
.selector p{font-size:13px;color:var(--muted);line-height:1.55;max-width:38ch}
.meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}
.pill{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;background:#f8fafc;border:1px solid var(--line);font-size:11px;font-weight:800;color:#374151}
.enter{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:10px;border-top:1px solid var(--line)}
.enter span:first-child{font-size:13px;font-weight:900;color:var(--violet)}
.enter span:last-child{font-size:20px;color:#9ca3af}
.note{margin-top:18px;padding:14px 16px;border-radius:18px;background:#fff;border:1px solid var(--line);color:#4b5563;font-size:13px;line-height:1.55;box-shadow:var(--shadow)}
.note strong{color:#111827}

.home-section-title{margin:18px 2px 0;font-size:15px;font-weight:900;color:#111827;letter-spacing:-.01em}
.home-section-subtitle{margin:5px 2px 0;font-size:13px;color:#64748b;line-height:1.45}
.selector[aria-disabled="true"]{opacity:.7;cursor:not-allowed}
.module-view{min-height:100vh;display:flex;flex-direction:column;background:#f3f4f6}
.shell-topbar{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #e5e7eb;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.shell-left{display:flex;align-items:center;gap:10px;min-width:0}
.back-btn,.home-btn,.open-tab-btn{border:none;background:#f8fafc;border:1px solid var(--line);color:#374151;border-radius:12px;padding:10px 12px;font-size:13px;font-weight:800;cursor:pointer;text-decoration:none}
.open-tab-btn{display:inline-flex;align-items:center}
.shell-title{min-width:0}
.shell-title strong{display:block;font-size:14px;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shell-title span{display:block;font-size:11px;color:#6b7280;margin-top:2px}
.shell-logo{width:42px;height:42px;border-radius:12px;background:#fff;border:1px solid #ddd6fe;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}
.shell-logo svg{width:100%;height:100%;display:block}
.shell-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.shell-frame{flex:1;width:100%;border:none;background:#f3f4f6;min-height:calc(100vh - 66px)}
.hidden{display:none!important}
.sync-card{margin-top:18px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:var(--shadow)}
.sync-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.sync-copy h3{font-size:24px;line-height:1.1;font-weight:900;letter-spacing:-.03em}
.sync-copy p{margin-top:8px;font-size:14px;line-height:1.6;color:var(--muted);max-width:880px}
.sync-areas{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.sync-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
.sync-btn{display:flex;align-items:center;justify-content:flex-start;gap:10px;width:100%;padding:15px 16px;border-radius:16px;border:1px solid var(--line);background:#f8fafc;color:#111827;font-size:15px;font-weight:800;cursor:pointer;transition:.18s transform,.18s box-shadow,.18s border-color}
.sync-btn:hover{transform:translateY(-1px);box-shadow:0 10px 20px rgba(17,24,39,.08);border-color:#c4b5fd}
.sync-btn.danger{background:#fff7f7;border-color:#fecaca;color:#b91c1c}
.sync-meta{margin-top:14px;font-size:12px;color:#6b7280}
.sync-status{margin-top:12px;padding:12px 14px;border-radius:14px;border:1px solid #e5e7eb;background:#f8fafc;font-size:13px;line-height:1.5;color:#374151}
.sync-status.ok{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}
.sync-status.warn{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.sync-status.error{background:#fef2f2;border-color:#fecaca;color:#991b1b}
.auth-card {
  position: relative;
  z-index: 1;
  width: min(100%, 700px);
  padding: 30px;
  border-radius: 32px;
  border: 1px solid rgba(199, 213, 229, 0.92);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 26px 70px rgba(15, 23, 42, 0.10);
  backdrop-filter: blur(10px);
}


@media (max-width: 720px) {
  .auth-left {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 44px 36px;
  color: #ffffff;
  background:
    linear-gradient(90deg, rgba(4, 18, 40, 0.82) 0%, rgba(4, 18, 40, 0.72) 24%, rgba(4, 18, 40, 0.46) 44%, rgba(4, 18, 40, 0.22) 64%, rgba(4, 18, 40, 0.12) 100%),
    linear-gradient(180deg, rgba(11, 57, 99, 0.22) 0%, rgba(7, 110, 126, 0.12) 100%),
    url("../assets/login/policia-local-cgpc-login.webp") 48% center / cover no-repeat,
    linear-gradient(180deg, #0a2c59 0%, #125f9a 55%, #156887 100%);
}

.auth-left::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 18%, rgba(255,255,255,0.05), transparent 24%),
    linear-gradient(90deg, rgba(5,16,35,0.14) 0%, rgba(5,16,35,0.06) 28%, rgba(5,16,35,0.00) 56%);
  pointer-events: none;
}

.auth-left > * {
  position: relative;
  z-index: 1;
}

}

/* ---- bloque extraído ---- */

/* H2D FINAL: landing sobria, sin imágenes recortadas en tarjetas ni elementos que choquen */
:root{
  --h2d-ink:#0f172a;--h2d-muted:#64748b;--h2d-line:#dbe4ef;--h2d-blue:#1d4ed8;--h2d-navy:#0f172a;--h2d-teal:#0f766e;--h2d-gold:#facc15;--h2d-shadow:0 18px 42px rgba(15,23,42,.08);--h2d-shadow-lg:0 28px 70px rgba(15,23,42,.14);
}
body{background:#f6f8fb !important;color:var(--h2d-ink) !important;}
body::before{display:none !important;}
.home{max-width:1180px !important;margin:0 auto !important;padding:20px 18px 42px !important;}
.home [data-open-help],.home .help-btn{display:none !important;}
.home .note,.home .lp-proof,.home .lp-section{display:none !important;}
.home .hero-grid{display:block !important;}
.home .hero{position:relative !important;isolation:isolate !important;min-height:390px !important;padding:44px 38px 42px !important;display:flex !important;flex-direction:column !important;justify-content:center !important;border-radius:30px !important;overflow:hidden !important;color:#fff !important;background:linear-gradient(90deg,rgba(15,23,42,.98) 0%,rgba(15,23,42,.94) 48%,rgba(15,23,42,.74) 72%,rgba(15,23,42,.48) 100%),url("../assets/landing/hero-policial.webp") center right/cover no-repeat !important;box-shadow:var(--h2d-shadow-lg) !important;}
.home .hero>*{position:relative !important;z-index:2 !important;}
.home .hero::before{content:"" !important;position:absolute !important;inset:0 !important;z-index:1 !important;pointer-events:none !important;background:linear-gradient(180deg,rgba(255,255,255,.04),transparent 55%),radial-gradient(circle at 18% 24%,rgba(250,204,21,.12),transparent 18rem) !important;}
.home .hero::after{content:"H2D" !important;position:absolute !important;right:26px !important;bottom:22px !important;z-index:1 !important;color:rgba(255,255,255,.30) !important;font-weight:950 !important;font-size:22px !important;letter-spacing:.20em !important;}
.home .hero-top{display:inline-flex !important;align-items:center !important;width:max-content !important;max-width:100% !important;gap:8px !important;padding:8px 12px !important;border-radius:999px !important;border:1px solid rgba(255,255,255,.18) !important;background:rgba(255,255,255,.11) !important;color:#dbeafe !important;font-size:11px !important;font-weight:900 !important;letter-spacing:.08em !important;text-transform:uppercase !important;}
.home .hero-top::before{content:"";width:8px;height:8px;border-radius:999px;background:var(--h2d-gold);box-shadow:0 0 0 4px rgba(250,204,21,.14);}
.home .hero h1{max-width:730px !important;margin-top:18px !important;font-size:clamp(36px,5.3vw,64px) !important;line-height:.95 !important;letter-spacing:-.065em !important;font-weight:950 !important;}
.home .hero p{max-width:700px !important;margin-top:18px !important;font-size:17px !important;line-height:1.62 !important;color:#dbeafe !important;}
.home .credit{display:inline-flex !important;width:max-content !important;max-width:100% !important;margin-top:18px !important;padding:9px 13px !important;border-radius:999px !important;border:1px solid rgba(255,255,255,.18) !important;background:rgba(255,255,255,.11) !important;color:#fff !important;font-size:12px !important;font-weight:850 !important;}
.home .hero-points{display:flex !important;flex-wrap:wrap !important;gap:10px !important;margin-top:18px !important;}
.home .hero-points span{display:inline-flex !important;align-items:center !important;padding:8px 11px !important;border-radius:999px !important;border:1px solid rgba(255,255,255,.16) !important;background:rgba(255,255,255,.10) !important;color:#f8fafc !important;font-size:12px !important;font-weight:850 !important;}
.home .lp-actions{display:flex !important;flex-wrap:wrap !important;gap:12px !important;margin-top:24px !important;}
.home .lp-btn{min-height:48px !important;padding:0 18px !important;border-radius:15px !important;font-size:14px !important;font-weight:900 !important;cursor:pointer !important;}
.home .lp-btn.primary{background:#fff !important;color:#0f172a !important;border:1px solid transparent !important;}
.home .lp-btn.secondary{background:rgba(255,255,255,.12) !important;color:#fff !important;border:1px solid rgba(255,255,255,.22) !important;}
.home .auth-card,.home .sync-card,.home .admin-hub,.home .empty-modules{margin-top:18px !important;background:#fff !important;border:1px solid var(--h2d-line) !important;border-radius:22px !important;box-shadow:var(--h2d-shadow) !important;}
.home .auth-card{padding:20px 22px !important;}
.home .auth-card h3,.home .sync-copy h3{color:var(--h2d-ink) !important;font-size:22px !important;letter-spacing:-.035em !important;}
.home .auth-card p,.home .sync-copy p{color:var(--h2d-muted) !important;}
.home .auth-row{align-items:center !important;}
.home .auth-input{min-height:54px !important;border-radius:15px !important;border:1px solid var(--h2d-line) !important;background:#fff !important;padding:0 16px !important;}
.home .auth-btn.primary{min-height:54px !important;border-radius:15px !important;background:linear-gradient(135deg,#1d4ed8,#0f766e) !important;}
.home .home-section-title{margin:30px 2px 0 !important;color:var(--h2d-ink) !important;font-size:clamp(26px,3.2vw,38px) !important;line-height:1.03 !important;letter-spacing:-.052em !important;}
.home .home-section-subtitle{max-width:760px !important;margin:8px 2px 0 !important;color:var(--h2d-muted) !important;font-size:15px !important;line-height:1.55 !important;}
.home .grid{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:16px !important;margin-top:18px !important;}
.home .selector{position:relative !important;min-height:255px !important;padding:22px !important;border-radius:24px !important;border:1px solid var(--h2d-line) !important;background:#fff !important;box-shadow:var(--h2d-shadow) !important;overflow:hidden !important;transition:.16s transform,.16s box-shadow,.16s border-color !important;}
.home .selector:hover{transform:translateY(-2px) !important;box-shadow:0 22px 46px rgba(15,23,42,.11) !important;border-color:#bfdbfe !important;}
.home .selector::before{content:"" !important;position:absolute !important;left:0 !important;top:0 !important;bottom:0 !important;width:5px !important;background:linear-gradient(180deg,#1d4ed8,#0f766e) !important;}
.home .selector[data-open="cgpc"]::before{background:linear-gradient(180deg,#b91c1c,#f59e0b) !important;}.home .selector[data-open="supuestos_tipo_test"]::before{background:linear-gradient(180deg,#7c3aed,#1d4ed8) !important;}.home .selector[data-open="psicotecnicos"]::before{background:linear-gradient(180deg,#0f766e,#2563eb) !important;}.home .selector[data-open="english"]::before{background:linear-gradient(180deg,#059669,#0ea5e9) !important;}

.home .selector-top{align-items:flex-start !important;gap:0 !important;}
.home .h2d-card-mark{display:inline-flex !important;align-items:center !important;justify-content:center !important;width:48px !important;height:48px !important;margin-bottom:14px !important;border-radius:16px !important;background:#eff6ff !important;color:#1d4ed8 !important;font-size:13px !important;font-weight:950 !important;letter-spacing:.04em !important;}
.home .selector[data-open="cgpc"] .h2d-card-mark{background:#fff7ed !important;color:#b91c1c !important;}.home .selector[data-open="supuestos_tipo_test"] .h2d-card-mark{background:#f5f3ff !important;color:#6d28d9 !important;}.home .selector[data-open="psicotecnicos"] .h2d-card-mark{background:#ecfeff !important;color:#0f766e !important;}.home .selector[data-open="english"] .h2d-card-mark{background:#ecfdf5 !important;color:#047857 !important;}
.home .badge{padding:6px 10px !important;border-radius:999px !important;font-size:10px !important;font-weight:950 !important;letter-spacing:.075em !important;}
.home .selector h2{margin-top:10px !important;color:var(--h2d-ink) !important;font-size:24px !important;line-height:1.08 !important;letter-spacing:-.04em !important;}
.home .selector p{max-width:58ch !important;color:#475569 !important;font-size:14px !important;line-height:1.6 !important;}
.home .meta{gap:8px !important;margin-top:4px !important;}.home .pill{padding:6px 10px !important;border-radius:999px !important;background:#f8fafc !important;border:1px solid var(--h2d-line) !important;color:#334155 !important;font-size:11px !important;font-weight:850 !important;}
.home .enter{margin-top:auto !important;padding-top:13px !important;border-top:1px solid #edf2f7 !important;}.home .enter span:first-child{color:#1d4ed8 !important;font-size:14px !important;font-weight:950 !important;}.home .enter span:last-child{color:#94a3b8 !important;font-size:22px !important;}
.module-view{background:#f6f8fb !important;}.module-view .shell-topbar{background:rgba(255,255,255,.96) !important;border-bottom:1px solid var(--h2d-line) !important;box-shadow:0 10px 26px rgba(15,23,42,.06) !important;backdrop-filter:blur(12px) !important;}.module-view .shell-logo{display:none !important;}.module-view .shell-title strong{font-size:16px !important;color:var(--h2d-ink) !important;}.module-view .shell-title span{font-size:12px !important;color:var(--h2d-muted) !important;}.module-view .back-btn,.module-view .home-btn,.module-view .open-tab-btn{border-radius:14px !important;border:1px solid var(--h2d-line) !important;background:#fff !important;color:#334155 !important;}.module-view .shell-frame{background:#f6f8fb !important;}
@media(max-width:940px){.home .grid{grid-template-columns:1fr !important;}}
@media(max-width:640px){.home{padding:14px 12px 30px !important;}.home .hero{min-height:auto !important;padding:28px 20px 58px !important;border-radius:24px !important;background-position:center right !important;}.home .hero h1{font-size:35px !important;}.home .hero p{font-size:15px !important;}.home .hero-points span{width:100%;justify-content:center;}.home .lp-actions{display:grid !important;grid-template-columns:1fr !important;}.home .lp-btn{width:100% !important;}.home .auth-row{flex-direction:column !important;}.home .auth-input,.home .auth-btn.primary{width:100% !important;}.home .selector{min-height:auto !important;border-radius:22px !important;padding:20px !important;}}

/* ---- bloque extraído ---- */

/* V99.31 · Plataforma UX Premium global */
.home-dashboard{max-width:1180px !important;}
.platform-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 2px;}
.platform-highlights article{background:rgba(255,255,255,.92);border:1px solid #dbe4ef;border-radius:20px;padding:16px 18px;box-shadow:0 14px 34px rgba(15,23,42,.06);display:grid;gap:4px;}
.platform-highlights strong{font-size:24px;line-height:1;font-weight:950;letter-spacing:-.045em;color:#0f172a;}
.platform-highlights span{font-size:12px;color:#64748b;font-weight:800;}
.home .selector{min-height:275px !important;}
.home .selector .badge{background:#eef2ff !important;color:#1e3a8a !important;border:1px solid #dbeafe !important;}
.home .selector[data-open="cgpc"] .badge{background:#fff7ed !important;color:#9a3412 !important;border-color:#fed7aa !important;}
.home .selector[data-open="supuestos_tipo_test"] .badge{background:#f5f3ff !important;color:#5b21b6 !important;border-color:#ddd6fe !important;}
.home .selector[data-open="psicotecnicos"] .badge{background:#ecfeff !important;color:#0f766e !important;border-color:#a5f3fc !important;}
.home .selector[data-open="english"] .badge{background:#ecfdf5 !important;color:#047857 !important;border-color:#bbf7d0 !important;}
.home .selector p{min-height:66px;}
.home .selector .meta{margin-top:auto !important;}
.admin-hub,.auth-card{border-radius:26px !important;}
.admin-hub{background:linear-gradient(135deg,#fff,#f8fbff) !important;border:1px solid #dbe4ef !important;box-shadow:0 14px 34px rgba(15,23,42,.07) !important;}
.admin-actions{background:#f8fafc;border:1px solid #e5e7eb;border-radius:18px;padding:6px;}
.admin-action{border-radius:14px !important;}
.admin-action.active{background:#0f172a !important;color:#fff !important;box-shadow:0 10px 24px rgba(15,23,42,.16) !important;}
.user-pick{border-radius:16px !important;border:1px solid #e5e7eb !important;background:#fff !important;transition:.15s transform,.15s box-shadow,.15s border-color;}
.user-pick:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(15,23,42,.08);border-color:#bfdbfe !important;}
.user-pick.active{border-color:#2563eb !important;background:#eff6ff !important;}
.user-detail-card,.user-list{border-radius:20px !important;border:1px solid #dbe4ef !important;background:#fff !important;box-shadow:0 10px 26px rgba(15,23,42,.045) !important;}
.question-search-box{background:linear-gradient(135deg,#ffffff 0%,#eff6ff 52%,#f8fafc 100%) !important;border:1px solid #bfdbfe !important;border-radius:24px !important;box-shadow:0 14px 34px rgba(15,23,42,.065) !important;}
.question-search-box>strong{display:flex;align-items:center;gap:10px;font-size:20px !important;letter-spacing:-.035em;}
.question-search-box>strong::before{content:'🔎';display:grid;place-items:center;width:38px;height:38px;border-radius:14px;background:#fff;border:1px solid #dbeafe;box-shadow:0 8px 20px rgba(37,99,235,.08);font-size:18px;}
.override-grid{align-items:start;}
.auth-btn[disabled],button[disabled]{opacity:.62 !important;cursor:wait !important;}
.auth-status.ok{border-color:#bbf7d0 !important;background:#ecfdf5 !important;color:#065f46 !important;}
.auth-status.error{border-color:#fecaca !important;background:#fef2f2 !important;color:#991b1b !important;}
@media(max-width:760px){.platform-highlights{grid-template-columns:1fr}.home .selector p{min-height:auto}.admin-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}.question-search-box>strong{font-size:18px !important;}}

/* ---- bloque extraído ---- */

/* Auditoría visual v2: hero más limpio, módulos más visuales y cuenta más cuidada */
.home .credit,.home .hero-points{display:none !important;}
.home .hero{padding-bottom:40px !important; min-height:360px !important;}
.home .hero::after{content:"" !important;}
.home .hero p{max-width:640px !important;}
.home .lp-actions{margin-top:28px !important;}
.home .home-section-title{margin-top:26px !important;}
.home .selector{
  min-height:280px !important;
  padding:24px 24px 18px !important;
  border-radius:26px !important;
}
.home .selector::after{
  content:"";
  position:absolute;
  top:-30px;
  right:-26px;
  width:120px;
  height:120px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(29,78,216,.09) 0%, rgba(29,78,216,0) 68%);
  pointer-events:none;
}
.home .selector[data-open="cgpc"]::after{background:radial-gradient(circle, rgba(185,28,28,.09) 0%, rgba(185,28,28,0) 68%);} 
.home .selector[data-open="supuestos_tipo_test"]::after{background:radial-gradient(circle, rgba(109,40,217,.09) 0%, rgba(109,40,217,0) 68%);} 
.home .selector[data-open="psicotecnicos"]::after{background:radial-gradient(circle, rgba(15,118,110,.09) 0%, rgba(15,118,110,0) 68%);} 
.home .selector[data-open="english"]::after{background:radial-gradient(circle, rgba(5,150,105,.09) 0%, rgba(5,150,105,0) 68%);} 
.home .selector-top{display:flex !important; align-items:flex-start !important; gap:14px !important;}
.home .h2d-card-mark{
  width:54px !important;
  height:54px !important;
  border-radius:18px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.6);
  flex:0 0 auto;
}
.home .selector h2{margin-top:0 !important; font-size:23px !important;}
.home .selector p{max-width:none !important; min-height:72px;}
.home .meta{margin-top:auto !important;}
.home .enter{margin-top:14px !important;}

.home .account-card.visual-card{
  padding:24px !important;
  border-radius:26px !important;
}
.home .account-head{display:flex; gap:16px; align-items:center; margin-bottom:14px;}
.home .account-mark{
  width:58px; height:58px; border-radius:18px; flex:0 0 auto;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,#eff6ff,#ecfeff); color:#1d4ed8;
  border:1px solid #dbeafe; font-size:20px; font-weight:950; letter-spacing:.03em;
}
.home .account-head-copy h3{margin:6px 0 0 !important; font-size:30px !important; letter-spacing:-.04em !important;}
.home .account-head-copy p{margin-top:6px; color:#64748b;}
.home .account-badge{
  display:inline-flex; padding:6px 10px; border-radius:999px; background:#eef2ff; border:1px solid #c7d2fe;
  color:#3730a3; font-size:10px; font-weight:950; letter-spacing:.08em;
}
.home .account-main-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:16px; margin-top:14px;}
.home .account-main-grid.guest{grid-template-columns:1fr !important;}
.home .account-panel{
  background:linear-gradient(180deg,#ffffff,#f8fafc); border:1px solid #e2e8f0; border-radius:20px;
  padding:18px; box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}
.home .account-mini-label{font-size:11px; font-weight:950; letter-spacing:.08em; color:#64748b; text-transform:uppercase;}
.home .account-big-email{margin-top:10px; color:#0f172a; font-size:24px; font-weight:900; letter-spacing:-.03em; word-break:break-word;}
.home .account-mini-copy{margin-top:10px; color:#64748b; font-size:14px; line-height:1.55;}
.home .account-actions-grid{display:grid; grid-template-columns:1fr; gap:10px; margin-top:12px;}
.home .account-action-btn{justify-content:center; min-height:46px !important;}
.home .account-action-btn.danger{background:#fff7ed !important; color:#9a3412 !important; border-color:#fed7aa !important;}
.home .account-login-grid{display:grid !important; grid-template-columns:1fr 1fr auto !important; gap:10px !important; margin-top:12px !important;}
.home .account-submit-btn{min-width:138px !important;}
.home .account-login-note{margin-top:12px; color:#64748b; font-size:14px; line-height:1.55;}
.home .auth-status-wrap{display:grid; gap:10px; margin-top:14px;}
.home .account-card #authStatus, .home .account-card .access-summary{margin-top:0 !important; border-radius:16px !important; padding:12px 14px !important;}
.home .account-card #authStatus{background:#f8fafc !important; border:1px solid #e2e8f0 !important; color:#334155 !important;}
.home .account-card .access-summary{font-size:14px !important;}

.module-view .shell-topbar{padding:12px 16px !important;}
.module-view .shell-left{display:flex; align-items:center; gap:12px; min-width:0;}
.module-view .shell-mark{
  width:42px; height:42px; border-radius:14px; flex:0 0 auto;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,#eff6ff,#ecfeff); border:1px solid #dbeafe; color:#1d4ed8;
  font-size:16px; font-weight:950; letter-spacing:.04em;
}
.module-view .shell-title strong{font-size:15px !important;}
.module-view .shell-title span{font-size:11px !important; text-transform:uppercase; letter-spacing:.06em;}
@media(max-width:760px){
  .home .account-main-grid,.home .account-login-grid{grid-template-columns:1fr !important;}
  .home .account-head-copy h3{font-size:26px !important;}
  .module-view .shell-left{align-items:flex-start;}
}

/* ---- bloque extraído ---- */

.home .h2d-card-mark.has-logo, .module-view .shell-mark.has-logo{background:#fff !important; border:1px solid #e2e8f0 !important; box-shadow:0 8px 18px rgba(15,23,42,.06); padding:6px !important; overflow:hidden;}
.home .h2d-card-mark.has-logo img, .module-view .shell-mark.has-logo img{width:100%; height:100%; object-fit:contain; display:block;}
.home .selector[data-open="local"] .h2d-card-mark.has-logo, .home .selector[data-open="cgpc"] .h2d-card-mark.has-logo{width:60px !important; height:60px !important;}
.module-view .shell-mark.has-logo{padding:4px !important;}
body[data-module-key="local"] .tabs .tab .ico{display:block !important; font-size:20px !important; line-height:1 !important;}
body[data-module-key="local"] .tabs .tab{display:flex !important; flex-direction:column !important; align-items:center !important; justify-content:center !important; gap:6px !important; padding:12px 10px !important;}
body[data-module-key="local"] .tabs .tab span:last-child{font-size:12px !important;}
body[data-module-key="local"] .tabs{grid-template-columns:repeat(6,minmax(0,1fr)) !important;}

/* ---- bloque extraído ---- */

/* pasada final completa */
.home .hero-top{margin-bottom:2px !important;}
.home .hero h1{max-width:780px !important;}
.home .home-section-subtitle{max-width:880px !important;}
.home .grid{gap:18px !important;}
.home .selector{background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%) !important;}
.home .selector .badge{margin-bottom:8px !important;}
.home .selector .meta{padding-top:4px !important;}
.home .selector .pill{background:#fff !important;}
.home .selector .enter{display:flex !important; align-items:center !important; justify-content:space-between !important;}
.home .selector .enter span:last-child{transition:transform .16s ease !important;}
.home .selector:hover .enter span:last-child{transform:translateX(4px) !important;}
.home .selector::before{width:6px !important;}
.home .selector::after{opacity:.95 !important;}
.home .h2d-card-mark.has-logo{border-radius:16px !important; background:linear-gradient(180deg,#fff,#f8fafc) !important;}
.home .h2d-card-mark.has-logo img{filter: drop-shadow(0 2px 4px rgba(15,23,42,.08));}

.home .account-card.visual-card{background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%) !important; position:relative; overflow:hidden;}
.home .account-card.visual-card::before{content:""; position:absolute; right:-70px; top:-70px; width:220px; height:220px; border-radius:999px; background:radial-gradient(circle, rgba(29,78,216,.10) 0%, rgba(29,78,216,0) 68%); pointer-events:none;}
.home .account-head{position:relative; z-index:1;}
.home .account-main-grid{position:relative; z-index:1;}
.home .account-mark{box-shadow:0 12px 24px rgba(29,78,216,.08);} 
.home .account-panel{box-shadow:0 10px 24px rgba(15,23,42,.05);} 
.home .account-action-btn{font-weight:850 !important;}
.home .auth-status-wrap{position:relative; z-index:1;}
.home .account-card .access-summary{background:linear-gradient(90deg,#ecfdf5,#f0fdf4) !important; border:1px solid #bbf7d0 !important; color:#065f46 !important;}
.home .account-card .access-summary::before{content:"✓"; display:inline-flex; align-items:center; justify-content:center; width:20px; height:20px; margin-right:8px; border-radius:999px; background:#10b981; color:#fff; font-size:12px; font-weight:900;}

.module-view .shell-topbar{border-radius:0 0 18px 18px !important;}
.module-view .shell-mark{box-shadow:0 8px 18px rgba(15,23,42,.06);} 
.module-view .shell-mark.has-logo img{filter: drop-shadow(0 2px 4px rgba(15,23,42,.10));}

body[data-module-key] .tabs{display:grid !important; grid-template-columns:repeat(6,minmax(0,1fr)) !important; gap:8px !important;}
body[data-module-key] .tab{display:flex !important; flex-direction:column !important; align-items:center !important; justify-content:center !important; gap:6px !important; min-height:74px !important; padding:12px 8px !important;}
body[data-module-key] .tab .ico,
body[data-module-key] .tab .tab-ico{display:block !important; font-size:20px !important; line-height:1 !important;}
body[data-module-key] .tab span:last-child, body[data-module-key] .tab{font-size:12px !important; text-align:center !important;}
body[data-module-key] .tab.active{transform:none !important;}
body[data-module-key] .panel, body[data-module-key] .card{overflow:hidden;}
body[data-module-key] .panel h2{font-size:28px !important;}
body[data-module-key] .sec-head{margin-bottom:14px !important;}
body[data-module-key] .theme-card:hover, body[data-module-key] .exam-card:hover, body[data-module-key] .special-block-card:hover, body[data-module-key] .home-card:hover{transform:translateY(-2px); box-shadow:0 20px 42px rgba(15,23,42,.09) !important;}
body[data-module-key] .btn{font-weight:850 !important;}
body[data-module-key] .card-sub{line-height:1.55 !important;}
body[data-module-key] .progress-wrap{margin-top:12px !important;}
body[data-module-key] .empty{border-radius:18px !important; padding:22px !important; background:linear-gradient(180deg,#fff,#fbfdff) !important; border:1px dashed #dbe4ef !important;}
@media(max-width:760px){
  body[data-module-key] .tabs{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
  body[data-module-key] .tab{min-height:68px !important;}
  .home .selector p{min-height:auto !important;}
}

/* ---- bloque extraído ---- */

/* H2D visible brand v6 */
.home .hero::after{content:"H2D STUDIO" !important; position:absolute !important; right:26px !important; bottom:18px !important; z-index:3 !important; color:rgba(255,255,255,.34) !important; font-weight:950 !important; font-size:18px !important; letter-spacing:.22em !important; pointer-events:none !important;}
.home .hero::before{z-index:1 !important;}
.home .hero > *{z-index:2 !important;}
.home .h2d-footer{margin:20px 4px 0 !important; display:flex; align-items:center; justify-content:center; gap:10px; color:#64748b; font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase;}
.home .h2d-footer .dot{width:6px; height:6px; border-radius:999px; background:#1d4ed8; opacity:.7;}
.module-view::after{content:"Creado por H2D"; position:fixed; right:14px; bottom:12px; z-index:9999; padding:8px 12px; border-radius:999px; background:rgba(255,255,255,.92); border:1px solid #dbe4ef; box-shadow:0 10px 24px rgba(15,23,42,.08); color:#334155; font-size:11px; font-weight:900; letter-spacing:.10em; text-transform:uppercase; pointer-events:none;}
@media(max-width:760px){.home .hero::after{font-size:14px !important; right:18px !important; bottom:14px !important;} .module-view::after{font-size:10px; right:10px; bottom:10px; padding:7px 10px;}}

/* ---- bloque extraído ---- */

/* H2D visible brand v6.1 · sello interno más elegante */
.module-view::after{
  content:"H2D STUDIO" !important;
  position:fixed !important;
  right:14px !important;
  bottom:12px !important;
  z-index:9999 !important;
  padding:6px 10px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.72) !important;
  border:1px solid rgba(219,228,239,.72) !important;
  box-shadow:0 8px 18px rgba(15,23,42,.055) !important;
  color:rgba(15,23,42,.36) !important;
  font-size:10px !important;
  font-weight:900 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  pointer-events:none !important;
  backdrop-filter:blur(8px) !important;
}
@media(max-width:760px){
  .module-view::after{
    content:"H2D" !important;
    right:10px !important;
    bottom:10px !important;
    padding:5px 8px !important;
    font-size:9px !important;
    letter-spacing:.16em !important;
    opacity:.82 !important;
  }
}

/* ---- bloque extraído ---- */

/* H2D v6.3 · refino visual */
body{
  background:
    radial-gradient(circle at 8% 8%, rgba(29,78,216,.065) 0%, rgba(29,78,216,0) 28%),
    radial-gradient(circle at 92% 18%, rgba(15,118,110,.055) 0%, rgba(15,118,110,0) 30%),
    linear-gradient(180deg,#f8fafc 0%,#f1f5f9 100%) !important;
}
.home{
  background:
    radial-gradient(circle at 0% 12%, rgba(29,78,216,.06) 0%, rgba(29,78,216,0) 28%),
    radial-gradient(circle at 100% 30%, rgba(15,118,110,.045) 0%, rgba(15,118,110,0) 32%),
    linear-gradient(180deg,#f8fafc 0%,#f3f6fb 100%) !important;
}
.home .account-mark{
  width:46px !important;
  height:46px !important;
  border-radius:15px !important;
  font-size:14px !important;
  letter-spacing:.08em !important;
  background:linear-gradient(135deg,#eef6ff 0%,#ecfeff 100%) !important;
  color:#1d4ed8 !important;
  box-shadow:0 10px 22px rgba(29,78,216,.075) !important;
}
.home .account-head{
  gap:14px !important;
  align-items:flex-start !important;
}
.home .account-badge{
  padding:5px 9px !important;
  font-size:9px !important;
}
.home .account-head-copy h3{
  margin-top:7px !important;
  font-size:28px !important;
}
.home .account-head-copy p{
  font-size:15px !important;
}
.home .account-main-grid{
  gap:14px !important;
}
.home .account-panel{
  background:
    radial-gradient(circle at 100% 0%, rgba(29,78,216,.035) 0%, rgba(29,78,216,0) 42%),
    linear-gradient(180deg,#ffffff 0%,#fbfdff 100%) !important;
}
.home .account-big-email{
  font-size:22px !important;
  line-height:1.2 !important;
}
.home .account-card #authStatus{
  font-size:13px !important;
  padding:10px 13px !important;
}
.home .account-card .access-summary{
  font-size:14px !important;
  padding:12px 14px !important;
}
.module-view{
  background:
    radial-gradient(circle at 6% 12%, rgba(29,78,216,.055) 0%, rgba(29,78,216,0) 28%),
    radial-gradient(circle at 95% 22%, rgba(15,118,110,.05) 0%, rgba(15,118,110,0) 34%),
    linear-gradient(180deg,#f8fafc 0%,#eef3f8 100%) !important;
}
.module-view .shell-mark.has-logo{
  width:50px !important;
  height:50px !important;
  padding:5px !important;
  border-radius:16px !important;
  background:linear-gradient(180deg,#ffffff,#f8fafc) !important;
  border:1px solid #dbe4ef !important;
  box-shadow:0 10px 22px rgba(15,23,42,.075) !important;
}
.module-view .shell-mark.has-logo img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  display:block !important;
}
.module-view .shell-title strong{
  font-size:16px !important;
}
.module-view .shell-title span{
  font-size:11px !important;
}
@media(max-width:760px){
  .home .account-mark{
    width:40px !important;
    height:40px !important;
    font-size:12px !important;
  }
  .home .account-head-copy h3{
    font-size:24px !important;
  }
  .home .account-big-email{
    font-size:18px !important;
  }
  .module-view .shell-mark.has-logo{
    width:42px !important;
    height:42px !important;
  }
}

/* ---- bloque extraído ---- */

/* H2D v6.4 · paleta Canarias */
:root{
  --canarias-blue:#0768A9;
  --canarias-yellow:#FFCC00;
  --canarias-white:#FFFFFF;
  --canarias-blue-soft:rgba(7,104,169,.08);
  --canarias-yellow-soft:rgba(255,204,0,.12);
}

body{
  background:
    radial-gradient(circle at 10% 10%, rgba(7,104,169,.065) 0%, rgba(7,104,169,0) 28%),
    radial-gradient(circle at 92% 18%, rgba(255,204,0,.09) 0%, rgba(255,204,0,0) 30%),
    linear-gradient(180deg,#fbfdff 0%,#f4f8fc 100%) !important;
}

.home{
  background:
    radial-gradient(circle at 0% 10%, rgba(7,104,169,.06) 0%, rgba(7,104,169,0) 28%),
    radial-gradient(circle at 100% 24%, rgba(255,204,0,.08) 0%, rgba(255,204,0,0) 30%),
    linear-gradient(180deg,#fbfdff 0%,#f4f8fc 100%) !important;
}

.home .hero{
  border:1px solid rgba(7,104,169,.14) !important;
  box-shadow:0 18px 50px rgba(15,23,42,.08) !important;
}
.home .hero::before{
  background:
    linear-gradient(135deg, rgba(6,34,86,.82) 0%, rgba(7,104,169,.56) 46%, rgba(255,204,0,.18) 100%) !important;
}
.home .hero-top{
  border-color:rgba(255,255,255,.16) !important;
  background:rgba(255,255,255,.08) !important;
}
.home .hero::after{
  color:rgba(255,255,255,.28) !important;
}

.home .home-section-title{
  color:#0f172a !important;
}
.home .home-section-subtitle{
  color:#52627d !important;
  max-width:980px !important;
}

.home .selector{
  border-color:rgba(7,104,169,.12) !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(255,204,0,.06) 0%, rgba(255,204,0,0) 42%),
    linear-gradient(180deg,#ffffff 0%,#fcfdff 100%) !important;
}
.home .selector::before{
  background:linear-gradient(180deg,var(--canarias-blue) 0%, var(--canarias-yellow) 100%) !important;
}
.home .selector .badge{
  background:linear-gradient(180deg,#edf5ff 0%,#f8fbff 100%) !important;
  color:var(--canarias-blue) !important;
}
.home .selector .enter{
  color:#1d4ed8 !important;
}
.home .selector .pill{
  background:#fff !important;
  border-color:rgba(7,104,169,.12) !important;
}

.home .account-card.visual-card{
  border-color:rgba(7,104,169,.12) !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(255,204,0,.08) 0%, rgba(255,204,0,0) 45%),
    linear-gradient(180deg,#ffffff 0%,#fcfdff 100%) !important;
}
.home .account-card.visual-card::before{
  background:radial-gradient(circle, rgba(7,104,169,.12) 0%, rgba(7,104,169,0) 68%) !important;
}
.home .account-mark{
  width:44px !important;
  height:44px !important;
  border-radius:14px !important;
  background:
    linear-gradient(135deg, rgba(7,104,169,.12) 0%, rgba(255,204,0,.18) 100%) !important;
  color:#0f172a !important;
  font-size:20px !important;
  box-shadow:0 10px 24px rgba(7,104,169,.09) !important;
}
.home .account-mark .account-emoji{
  font-size:20px !important;
  line-height:1 !important;
}
.home .account-badge{
  color:var(--canarias-blue) !important;
  border-color:rgba(7,104,169,.16) !important;
  background:linear-gradient(180deg,#eef6ff 0%,#fafcff 100%) !important;
}
.home .account-panel{
  border-color:rgba(7,104,169,.12) !important;
}
.home .account-panel .account-panel-title{
  color:#60718a !important;
}
.home .account-action-btn{
  border-color:rgba(7,104,169,.12) !important;
}
.home .account-action-btn.danger{
  background:linear-gradient(180deg,#fff9f2 0%,#fff6ea 100%) !important;
  border-color:rgba(245,158,11,.28) !important;
}
.home .account-card .access-summary{
  background:linear-gradient(90deg, #f0fbf7 0%, #fffdf5 100%) !important;
  border-color:rgba(16,185,129,.28) !important;
}

.module-view{
  background:
    radial-gradient(circle at 8% 10%, rgba(7,104,169,.045) 0%, rgba(7,104,169,0) 28%),
    radial-gradient(circle at 96% 18%, rgba(255,204,0,.07) 0%, rgba(255,204,0,0) 32%),
    linear-gradient(180deg,#fbfdff 0%,#f2f7fb 100%) !important;
}
.module-view .shell-topbar{
  border-color:rgba(7,104,169,.12) !important;
}
.module-view .shell-mark.has-logo{
  background:linear-gradient(180deg,#ffffff 0%,#fcfdff 100%) !important;
  border-color:rgba(7,104,169,.12) !important;
}
.module-view .shell-title strong{
  color:#0f172a !important;
}
.module-view .shell-title span{
  color:#687a95 !important;
}

.module-view .hero-card,
.module-view .card,
.module-view .panel{
  border-color:rgba(7,104,169,.10) !important;
}

@media (max-width:760px){
  .home .account-mark{
    width:40px !important;
    height:40px !important;
    font-size:18px !important;
  }
  .home .account-mark .account-emoji{
    font-size:18px !important;
  }
}

/* ---- bloque extraído ---- */

/* H2D v6.5 · auditoría final */
.home .hero-top{
  letter-spacing:.06em !important;
}
.home .hero p{
  max-width:760px !important;
}
.home .lp-actions{
  gap:14px !important;
}
.home .selector{
  box-shadow:0 10px 24px rgba(15,23,42,.045) !important;
}
.home .selector h2{
  letter-spacing:-.03em !important;
}
.home .selector .meta{
  gap:10px !important;
}
.home .selector .pill{
  font-weight:850 !important;
}
.home .account-head-copy h3{
  letter-spacing:-.03em !important;
}
.home .account-big-email{
  word-break:break-word !important;
}
.home .account-action-btn{
  font-weight:850 !important;
}
.module-view .shell-topbar{
  box-shadow:0 8px 20px rgba(15,23,42,.035) !important;
}
.module-view .shell-back,
.module-view .shell-link,
.module-view .shell-home{
  font-weight:850 !important;
}
.module-view .hero-card{
  box-shadow:0 12px 28px rgba(15,23,42,.05) !important;
}
.module-view::after{
  color:rgba(15,23,42,.30) !important;
  background:rgba(255,255,255,.78) !important;
}

/* ---- bloque extraído ---- */

/* H2D v6.6 · limpieza de home */
.home .account-card{
  padding:22px 24px !important;
  border-radius:28px !important;
}
.home .account-head{
  gap:12px !important;
  margin-bottom:12px !important;
  align-items:flex-start !important;
}
.home .account-mark{
  width:36px !important;
  height:36px !important;
  border-radius:12px !important;
  box-shadow:0 8px 18px rgba(7,104,169,.08) !important;
}
.home .account-mark .account-emoji{
  font-size:17px !important;
}
.home .account-badge{
  font-size:10px !important;
  padding:5px 10px !important;
}
.home .account-head-copy h3{
  margin:5px 0 0 !important;
  font-size:20px !important;
  line-height:1.1 !important;
  letter-spacing:-.03em !important;
}
.home .account-head-copy p{
  margin-top:6px !important;
  font-size:14px !important;
  line-height:1.45 !important;
}
.home .account-main-grid{
  gap:14px !important;
}
.home .account-panel{
  padding:22px 26px !important;
  min-height:auto !important;
}
.home .account-big-email{
  font-size:20px !important;
  line-height:1.2 !important;
}
.home .account-mini-copy,
.home .account-card #authStatus,
.home .account-card .access-summary{
  font-size:14px !important;
}
.home .account-actions-grid{
  gap:12px !important;
}
.home .account-action-btn{
  min-height:64px !important;
  font-size:16px !important;
}
.home .auth-status-wrap{
  margin-top:14px !important;
  gap:10px !important;
}

/* Ocultar el hero grande de la home tras iniciar sesión */
.home .hero-grid{
  display:none !important;
}

/* Acercar la zona de módulos para que entre antes */
.home .home-section-title{
  margin-top:14px !important;
  font-size:clamp(24px,3vw,34px) !important;
}
.home .home-section-subtitle{
  margin-top:8px !important;
  margin-bottom:18px !important;
  font-size:15px !important;
  max-width:920px !important;
}

/* Tarjetas de módulos algo más compactas y limpias */
.home .grid{
  gap:18px !important;
}
.home .selector{
  padding:28px 28px 20px !important;
  border-radius:28px !important;
}
.home .selector-top{
  gap:14px !important;
  align-items:center !important;
}
.home .selector .h2d-card-mark{
  width:56px !important;
  height:56px !important;
  border-radius:16px !important;
}
.home .selector h2{
  font-size:28px !important;
}
.home .selector p{
  font-size:15px !important;
  line-height:1.6 !important;
}
.home .selector .meta{
  margin-top:18px !important;
}
.home .selector .enter{
  margin-top:16px !important;
  padding-top:18px !important;
}

/* Reducir aire inferior antes del footer */
.home .h2d-footer{
  margin-top:18px !important;
  padding-bottom:4px !important;
}

/* Móvil */
@media (max-width: 760px){
  .home .account-card{
    padding:18px 18px !important;
  }
  .home .account-panel{
    padding:18px 18px !important;
  }
  .home .account-big-email{
    font-size:17px !important;
  }
  .home .selector{
    padding:22px 20px 18px !important;
  }
  .home .selector h2{
    font-size:24px !important;
  }
}

/* ---- bloque extraído ---- */

/* H2D v6.7 · cuenta compacta */
.home .account-card.visual-card{
  padding:18px 20px !important;
  border-radius:24px !important;
  margin-top:14px !important;
}
.home .account-head{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  margin-bottom:12px !important;
}
.home .account-mark{
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  border-radius:11px !important;
  box-shadow:0 8px 16px rgba(7,104,169,.07) !important;
}
.home .account-mark .account-emoji{
  font-size:16px !important;
}
.home .account-badge{
  padding:4px 9px !important;
  font-size:9px !important;
  letter-spacing:.07em !important;
}
.home .account-head-copy h3{
  margin:4px 0 0 !important;
  font-size:19px !important;
  line-height:1.08 !important;
}
.home .account-head-copy p{
  margin-top:4px !important;
  font-size:13px !important;
  line-height:1.35 !important;
}
.home .account-main-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr) !important;
  gap:12px !important;
  margin-top:10px !important;
}
.home .account-panel{
  padding:14px 16px !important;
  min-height:0 !important;
  border-radius:18px !important;
}
.home .account-mini-label{
  font-size:10px !important;
  letter-spacing:.07em !important;
}
.home .account-big-email{
  margin-top:7px !important;
  font-size:18px !important;
  line-height:1.18 !important;
}
.home .account-mini-copy{
  margin-top:7px !important;
  font-size:13px !important;
  line-height:1.35 !important;
}
.home .account-actions-grid{
  gap:8px !important;
  margin-top:9px !important;
}
.home .account-action-btn{
  min-height:44px !important;
  height:44px !important;
  padding:8px 12px !important;
  font-size:14px !important;
  border-radius:14px !important;
}
.home .auth-status-wrap{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:10px !important;
  margin-top:10px !important;
}
.home .account-card #authStatus,
.home .account-card .access-summary{
  min-height:0 !important;
  margin:0 !important;
  padding:9px 12px !important;
  border-radius:14px !important;
  font-size:13px !important;
  line-height:1.25 !important;
}
.home .account-card .access-summary::before{
  width:18px !important;
  height:18px !important;
  margin-right:7px !important;
  font-size:11px !important;
}
.home .admin-hub{
  margin-top:12px !important;
  padding:18px 22px !important;
  border-radius:24px !important;
}
.home .admin-hub h3,
.home .admin-hub h2{
  font-size:22px !important;
}
@media(max-width:900px){
  .home .account-main-grid{
    grid-template-columns:1fr !important;
  }
  .home .auth-status-wrap{
    grid-template-columns:1fr !important;
  }
}
@media(max-width:760px){
  .home .account-card.visual-card{
    padding:16px !important;
  }
  .home .account-head{
    align-items:flex-start !important;
  }
  .home .account-big-email{
    font-size:16px !important;
  }
  .home .account-action-btn{
    width:100% !important;
  }
}

/* ---- bloque extraído ---- */

/* H2D v6.8 · profesional limpio sin barra lateral */
.home{
  background:
    radial-gradient(1200px 260px at 15% 0%, rgba(7,104,169,.08), transparent 55%),
    radial-gradient(1000px 220px at 92% 0%, rgba(255,204,0,.08), transparent 48%),
    linear-gradient(180deg,#f7fafc 0%, #f4f7fb 100%) !important;
}

/* Cuenta */
.home .account-card.visual-card{
  position:relative !important;
  overflow:hidden !important;
  padding:22px 24px !important;
  border-radius:28px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.98)),
    linear-gradient(90deg, rgba(7,104,169,.06), rgba(255,204,0,.04)) !important;
  box-shadow:0 16px 34px rgba(15,23,42,.05) !important;
}
.home .account-card.visual-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:5px;
  background:linear-gradient(90deg,#0768A9 0%, #76B8E8 38%, #FFCC00 100%);
  opacity:.95;
}
.home .account-head{
  gap:14px !important;
  margin-bottom:14px !important;
}
.home .account-mark{
  width:48px !important;
  height:48px !important;
  min-width:48px !important;
  border-radius:16px !important;
  background:#fff !important;
  border:1px solid rgba(7,104,169,.12) !important;
  box-shadow:0 8px 20px rgba(7,104,169,.08) !important;
}
.home .account-mark .account-emoji{
  font-size:22px !important;
}
.home .account-badge{
  padding:6px 11px !important;
  font-size:10px !important;
}
.home .account-head-copy h3{
  font-size:22px !important;
  margin:5px 0 0 !important;
}
.home .account-head-copy p{
  font-size:14px !important;
  line-height:1.45 !important;
  margin-top:6px !important;
}
.home .account-main-grid{
  grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr) !important;
  gap:14px !important;
}
.home .account-panel{
  background:#fff !important;
  border:1px solid rgba(15,23,42,.08) !important;
  border-radius:20px !important;
  padding:18px 18px !important;
  box-shadow:0 10px 24px rgba(15,23,42,.035) !important;
}
.home .account-big-email{
  font-size:18px !important;
  line-height:1.2 !important;
}
.home .account-mini-copy{
  font-size:13px !important;
}
.home .account-action-btn{
  min-height:46px !important;
  height:46px !important;
  border-radius:14px !important;
}
.home .auth-status-wrap{
  grid-template-columns:1fr !important;
  gap:10px !important;
}
.home .account-card #authStatus,
.home .account-card .access-summary{
  background:#fff !important;
  border:1px solid rgba(15,23,42,.08) !important;
  box-shadow:none !important;
}
.home .account-card .access-summary{
  background:linear-gradient(90deg, rgba(16,185,129,.10), rgba(16,185,129,.04)) !important;
}

/* Administración menos protagonista */
.home .admin-hub{
  padding:18px 22px !important;
  border-radius:24px !important;
  box-shadow:0 10px 24px rgba(15,23,42,.04) !important;
}
.home .admin-hub-head h3{
  font-size:20px !important;
}
.home .admin-hub-head p{
  max-width:760px !important;
}

/* Título de módulos */
.home .home-section-title{
  font-size:34px !important;
  letter-spacing:-.04em !important;
  margin-top:18px !important;
}
.home .home-section-subtitle{
  font-size:15px !important;
  max-width:900px !important;
  margin-bottom:18px !important;
}

/* Tarjetas de módulos más profesionales */
.home .grid{
  gap:20px !important;
}
.home .selector{
  padding:28px 28px 20px !important;
  border-radius:28px !important;
  background:
    radial-gradient(180px 140px at 88% 10%, rgba(7,104,169,.05), transparent 65%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.98)) !important;
  box-shadow:0 16px 34px rgba(15,23,42,.05) !important;
  min-height:380px !important;
}
.home .selector::after{
  opacity:.7 !important;
}
.home .selector-top{
  align-items:center !important;
  gap:16px !important;
}
.home .selector .h2d-card-mark{
  width:60px !important;
  height:60px !important;
  border-radius:18px !important;
  background:#fff !important;
  border:1px solid rgba(15,23,42,.08) !important;
  box-shadow:0 8px 20px rgba(15,23,42,.05) !important;
}
.home .selector .badge{
  font-size:10px !important;
  letter-spacing:.08em !important;
  padding:7px 12px !important;
}
.home .selector h2{
  font-size:28px !important;
  margin-top:4px !important;
}
.home .selector p{
  font-size:15px !important;
  line-height:1.6 !important;
  margin-top:20px !important;
}
.home .selector .meta{
  margin-top:18px !important;
}
.home .selector .pill{
  min-height:34px !important;
  padding:0 14px !important;
  border-radius:999px !important;
  font-size:13px !important;
}
.home .selector .enter{
  margin-top:18px !important;
  padding-top:16px !important;
}

/* footer pequeño */
.home .h2d-footer{
  margin-top:18px !important;
  font-size:13px !important;
}

/* Módulos: quitar acciones de arriba derecha no implementadas */
.module-view .shell-right{
  display:none !important;
}
.module-view .shell-topbar{
  justify-content:flex-start !important;
}
.module-view .shell-left{
  width:100% !important;
}

/* móvil */
@media (max-width: 920px){
  .home .account-main-grid{
    grid-template-columns:1fr !important;
  }
}
@media (max-width:760px){
  .home .account-card.visual-card{
    padding:18px !important;
  }
  .home .selector{
    min-height:auto !important;
    padding:22px 20px 18px !important;
  }
  .home .selector h2{
    font-size:24px !important;
  }
  .home .home-section-title{
    font-size:28px !important;
  }
}

/* ---- bloque extraído ---- */

/* H2D v6.9 · sin flicker: sin scripts mutando home después del render */
.home .hero-grid{display:none !important;}

.home .selector .h2d-card-mark.has-logo{
  width:60px !important;
  height:60px !important;
  min-width:60px !important;
  border-radius:18px !important;
  padding:6px !important;
  background:#fff !important;
  border:1px solid rgba(15,23,42,.08) !important;
  box-shadow:0 8px 20px rgba(15,23,42,.05) !important;
  overflow:hidden !important;
}
.home .selector .h2d-card-mark.has-logo img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  display:block !important;
}
.home .selector{
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease !important;
  min-height:360px !important;
}
.home .selector:hover{
  transform:translateY(-2px) !important;
}
.home .home-section-title{
  margin-top:18px !important;
}
.module-view .shell-right{display:none !important;}
.module-view .shell-topbar{justify-content:flex-start !important;}
.module-view .shell-left{width:100% !important;}
@media(max-width:760px){
  .home .selector{min-height:auto !important;}
  .home .selector .h2d-card-mark.has-logo{
    width:52px !important;
    height:52px !important;
    min-width:52px !important;
  }
}

/* ---- bloque extraído ---- */

/* H2D v6.9.3 · dashboard limpio sin barra lateral */

/* Contenedor general más parecido a dashboard */
.home{
  max-width:1480px !important;
  margin:0 auto !important;
  padding:26px 28px 34px !important;
}

/* Tarjeta de cuenta: compacta, útil y premium */
.home .account-card.visual-card{
  padding:20px 22px !important;
  border-radius:28px !important;
  background:
    radial-gradient(520px 180px at 96% 0%, rgba(255,204,0,.10), transparent 58%),
    radial-gradient(460px 180px at 0% 0%, rgba(7,104,169,.08), transparent 60%),
    linear-gradient(180deg,#ffffff 0%,#fbfdff 100%) !important;
  border:1px solid rgba(7,104,169,.12) !important;
  box-shadow:0 14px 36px rgba(15,23,42,.055) !important;
}

.home .account-card.visual-card::before{
  content:"" !important;
  position:absolute !important;
  inset:0 auto auto 0 !important;
  width:100% !important;
  height:4px !important;
  background:linear-gradient(90deg,#ffffff 0%,#0768A9 36%,#FFCC00 100%) !important;
  opacity:.95 !important;
}

.home .account-head{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  margin-bottom:14px !important;
}

.home .account-mark{
  width:46px !important;
  height:46px !important;
  min-width:46px !important;
  border-radius:15px !important;
  background:#fff !important;
  border:1px solid rgba(7,104,169,.14) !important;
  box-shadow:0 8px 20px rgba(7,104,169,.08) !important;
}
.home .account-mark .account-emoji{
  font-size:22px !important;
}

.home .account-head-copy{
  display:grid !important;
  gap:4px !important;
}
.home .account-badge{
  width:max-content !important;
  padding:5px 10px !important;
  font-size:10px !important;
  border-radius:999px !important;
}
.home .account-head-copy h3{
  font-size:24px !important;
  line-height:1.05 !important;
  margin:0 !important;
  letter-spacing:-.035em !important;
}
.home .account-head-copy p{
  margin:0 !important;
  font-size:14px !important;
  line-height:1.45 !important;
  color:#62728a !important;
}

.home .account-main-grid.logged{
  display:grid !important;
  grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr) !important;
  gap:14px !important;
  margin-top:12px !important;
}

.home .account-panel{
  padding:16px 18px !important;
  border-radius:18px !important;
  min-height:0 !important;
  background:rgba(255,255,255,.92) !important;
  border:1px solid rgba(15,23,42,.075) !important;
  box-shadow:0 8px 18px rgba(15,23,42,.03) !important;
}

.home .account-mini-label{
  font-size:10px !important;
  letter-spacing:.08em !important;
  color:#63748d !important;
}

.home .account-big-email{
  margin-top:7px !important;
  font-size:18px !important;
  line-height:1.18 !important;
  letter-spacing:-.025em !important;
}

.home .account-mini-copy{
  margin-top:7px !important;
  font-size:13px !important;
  line-height:1.4 !important;
  color:#64748b !important;
}

.home .account-actions-grid{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:10px !important;
  margin-top:9px !important;
}
.home .account-action-btn{
  min-height:42px !important;
  height:42px !important;
  padding:8px 12px !important;
  border-radius:14px !important;
  font-size:13px !important;
}

.home .auth-status-wrap{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:8px !important;
  margin-top:10px !important;
}
.home .account-card #authStatus{
  display:none !important;
}
.home .account-card .access-summary{
  padding:10px 13px !important;
  border-radius:15px !important;
  font-size:13px !important;
  line-height:1.25 !important;
  font-weight:850 !important;
}

/* Administración: menos peso visual */
.home .admin-hub{
  margin-top:14px !important;
  padding:18px 20px !important;
  border-radius:24px !important;
  box-shadow:0 10px 24px rgba(15,23,42,.04) !important;
}
.home .admin-hub-head h3{
  font-size:22px !important;
}
.home .admin-hub-head p{
  font-size:14px !important;
  max-width:900px !important;
}
.home .admin-action{
  min-height:44px !important;
  padding:9px 18px !important;
}

/* Módulos: grid tipo dashboard, más parecido a la referencia */
.home .home-section-title{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  margin-top:22px !important;
  font-size:34px !important;
  letter-spacing:-.045em !important;
}
.home .home-section-title::before{
  content:"";
  width:46px;
  height:46px;
  border-radius:999px;
  background:
    radial-gradient(circle at 35% 35%, #ffffff 0 22%, transparent 24%),
    linear-gradient(135deg, rgba(7,104,169,.95), rgba(255,204,0,.85));
  box-shadow:0 10px 24px rgba(7,104,169,.12);
}
.home .home-section-subtitle{
  margin-top:6px !important;
  margin-bottom:18px !important;
  font-size:15px !important;
  line-height:1.45 !important;
  max-width:900px !important;
  color:#52637c !important;
}

.home .grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
}

.home .selector{
  min-height:285px !important;
  padding:24px 24px 18px !important;
  border-radius:24px !important;
  background:
    radial-gradient(180px 120px at 90% 6%, rgba(255,204,0,.08), transparent 64%),
    linear-gradient(180deg,#ffffff 0%,#fcfdff 100%) !important;
  border:1px solid rgba(7,104,169,.12) !important;
  box-shadow:0 12px 26px rgba(15,23,42,.045) !important;
}

.home .selector::before{
  width:5px !important;
  background:linear-gradient(180deg,#0768A9 0%,#FFCC00 100%) !important;
}

.home .selector-top{
  display:flex !important;
  gap:14px !important;
  align-items:flex-start !important;
}

.home .logo-wrap{
  display:flex !important;
  width:58px !important;
  height:58px !important;
  min-width:58px !important;
  border-radius:18px !important;
}
.home .h2d-card-mark.has-logo{
  width:58px !important;
  height:58px !important;
  min-width:58px !important;
  border-radius:18px !important;
}

.home .selector .badge{
  padding:6px 10px !important;
  font-size:9px !important;
  letter-spacing:.08em !important;
}

.home .selector h2{
  font-size:24px !important;
  line-height:1.08 !important;
  margin-top:8px !important;
}

.home .selector p{
  margin-top:18px !important;
  font-size:14px !important;
  line-height:1.55 !important;
  min-height:66px !important;
}

.home .selector .meta{
  margin-top:12px !important;
  gap:8px !important;
}
.home .selector .pill{
  min-height:30px !important;
  padding:0 11px !important;
  font-size:12px !important;
}
.home .selector .enter{
  margin-top:14px !important;
  padding-top:14px !important;
  font-size:14px !important;
}

/* Footer sobrio */
.home .h2d-footer{
  margin-top:18px !important;
  font-size:12px !important;
}

/* Dentro de módulos, sin acciones superiores falsas */
.module-view .shell-right{
  display:none !important;
}
.module-view .shell-topbar{
  justify-content:flex-start !important;
}
.module-view .shell-left{
  width:100% !important;
}

/* Responsive */
@media(max-width:1180px){
  .home .grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:920px){
  .home .account-main-grid.logged{
    grid-template-columns:1fr !important;
  }
  .home .account-actions-grid{
    grid-template-columns:1fr !important;
  }
}
@media(max-width:760px){
  .home{
    padding:18px 14px 28px !important;
  }
  .home .grid{
    grid-template-columns:1fr !important;
  }
  .home .selector{
    min-height:auto !important;
  }
  .home .home-section-title{
    font-size:28px !important;
  }
  .home .home-section-title::before{
    width:38px !important;
    height:38px !important;
  }
}

/* ---- bloque extraído ---- */

/* H2D v6.9.4 · logos correctos */
.home .logo-wrap{
  display:none !important;
}
.home .h2d-card-mark.has-logo{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:62px !important;
  height:62px !important;
  min-width:62px !important;
  border-radius:18px !important;
  padding:6px !important;
  background:#fff !important;
  border:1px solid rgba(7,104,169,.14) !important;
  box-shadow:0 8px 20px rgba(15,23,42,.055) !important;
  overflow:hidden !important;
}
.home .h2d-card-mark.has-logo img,
.module-view .shell-mark.has-logo img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  display:block !important;
}
.module-view .shell-mark.has-logo{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:52px !important;
  height:52px !important;
  min-width:52px !important;
  border-radius:16px !important;
  padding:5px !important;
  background:#fff !important;
  border:1px solid rgba(7,104,169,.14) !important;
  box-shadow:0 8px 18px rgba(15,23,42,.06) !important;
  overflow:hidden !important;
}

/* ---- bloque extraído ---- */

/* H2D v6.9.5 · marca visible estable */
.home .h2d-footer{
  margin:22px 4px 0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  color:#64748b !important;
  font-size:12px !important;
  font-weight:850 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}
.home .h2d-footer .dot{
  width:6px !important;
  height:6px !important;
  border-radius:999px !important;
  background:#0768A9 !important;
  opacity:.75 !important;
}
.module-view::after{
  content:"H2D STUDIO" !important;
  position:fixed !important;
  right:14px !important;
  bottom:12px !important;
  z-index:9999 !important;
  padding:6px 10px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.78) !important;
  border:1px solid rgba(219,228,239,.75) !important;
  box-shadow:0 8px 18px rgba(15,23,42,.055) !important;
  color:rgba(15,23,42,.32) !important;
  font-size:10px !important;
  font-weight:900 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  pointer-events:none !important;
}
@media(max-width:760px){
  .module-view::after{
    content:"H2D" !important;
    right:10px !important;
    bottom:10px !important;
    padding:5px 8px !important;
    font-size:9px !important;
  }
}

/* ---- bloque extraído ---- */

/* H2D v6.9.6 · ayuda discreta profesional */
.home .help-btn{
  display:none !important;
}
.home .account-head{
  position:relative !important;
  padding-right:108px !important;
}
.home .h2d-help-pro-btn{
  position:absolute !important;
  top:0 !important;
  right:0 !important;
  height:36px !important;
  padding:0 12px 0 8px !important;
  border-radius:999px !important;
  border:1px solid rgba(7,104,169,.18) !important;
  background:rgba(255,255,255,.88) !important;
  color:#075f9a !important;
  box-shadow:0 8px 18px rgba(7,104,169,.06) !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  font-weight:850 !important;
  font-size:13px !important;
  cursor:pointer !important;
  transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease !important;
}
.home .h2d-help-pro-btn span{
  width:22px !important;
  height:22px !important;
  border-radius:999px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:linear-gradient(135deg, rgba(7,104,169,.12), rgba(255,204,0,.16)) !important;
  color:#075f9a !important;
  font-size:14px !important;
  font-weight:950 !important;
}
.home .h2d-help-pro-btn strong{
  font:inherit !important;
  letter-spacing:.01em !important;
}
.home .h2d-help-pro-btn:hover{
  transform:translateY(-1px) !important;
  border-color:rgba(7,104,169,.28) !important;
  box-shadow:0 12px 24px rgba(7,104,169,.09) !important;
}
.home .h2d-footer .h2d-footer-help{
  border:0 !important;
  background:transparent !important;
  color:#64748b !important;
  font:inherit !important;
  font-weight:850 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  cursor:pointer !important;
  padding:0 !important;
}
.home .h2d-footer .h2d-footer-help:hover{
  color:#075f9a !important;
}
@media(max-width:760px){
  .home .account-head{
    padding-right:0 !important;
  }
  .home .h2d-help-pro-btn{
    position:static !important;
    margin-left:auto !important;
    height:34px !important;
  }
  .home .h2d-help-pro-btn strong{
    display:none !important;
  }
  .home .h2d-help-pro-btn{
    padding:0 7px !important;
  }
}

/* ---- bloque extraído ---- */

/* H2D v6.9.7 · guía pública solo para alumno */
.help-modal [data-help-tab="admin"],
.help-modal .help-tab[data-help-tab="admin"],
.help-modal [data-help-panel="admin"],
.help-modal .help-panel[data-help-panel="admin"],
#helpModal [data-help-tab="admin"],
#helpModal .help-tab[data-help-tab="admin"],
#helpModal [data-help-panel="admin"],
#helpModal .help-panel[data-help-panel="admin"]{
  display:none !important;
}

/* Si la guía está en modo tabs, que el alumno quede visualmente como único bloque público */
.help-modal .help-tabs,
#helpModal .help-tabs{
  gap:10px !important;
}

/* ---- bloque extraído ---- */

/* H2D v6.9.8 · badges sin duplicar título */
.home .selector .badge{
  display:inline-flex !important;
  align-items:center !important;
  width:max-content !important;
  max-width:100% !important;
  padding:6px 10px !important;
  border-radius:999px !important;
  font-size:9px !important;
  font-weight:950 !important;
  letter-spacing:.09em !important;
  text-transform:uppercase !important;
  line-height:1 !important;
  white-space:nowrap !important;
}
.module-view .shell-title span{
  font-size:11px !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
}

/* ---- bloque extraído ---- */

/* H2D v7.4 · login profesional, texto afinado, fondo visual preparado y ver contraseña */
.home.home-public{
  max-width:1180px !important;
  min-height:100vh !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:28px 18px !important;
  background:
    radial-gradient(900px 320px at 10% 0%, rgba(7,104,169,.12), transparent 58%),
    radial-gradient(820px 280px at 96% 12%, rgba(255,204,0,.12), transparent 54%),
    linear-gradient(180deg,#f8fbff 0%,#eef5fb 100%) !important;
}

.home.home-public .login-pro-shell{
  width:100% !important;
  display:grid !important;
  grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr) !important;
  gap:22px !important;
  align-items:stretch !important;
}

.home.home-public .login-pro-hero{
  position:relative !important;
  min-height:620px !important;
  padding:44px 42px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  border-radius:34px !important;
  border:1px solid rgba(7,104,169,.18) !important;
  color:#fff !important;
  background:
    radial-gradient(540px 280px at 88% 8%, rgba(255,204,0,.22), transparent 60%),
    radial-gradient(540px 280px at 0% 100%, rgba(118,184,232,.22), transparent 62%),
    linear-gradient(135deg,#061936 0%, #075f9a 56%, #0f172a 100%) !important;
  box-shadow:0 24px 70px rgba(15,23,42,.16) !important;
  overflow:hidden !important;
}

.home.home-public .login-pro-hero::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:
    linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,.07) 1px, transparent 1px) !important;
  background-size:44px 44px !important;
  opacity:.20 !important;
  pointer-events:none !important;
}

.home.home-public .login-pro-hero::after{
  content:"H2D" !important;
  position:absolute !important;
  right:28px !important;
  bottom:24px !important;
  z-index:1 !important;
  color:rgba(255,255,255,.20) !important;
  font-size:58px !important;
  font-weight:950 !important;
  letter-spacing:.16em !important;
  pointer-events:none !important;
}

.home.home-public .login-pro-hero > *{
  position:relative !important;
  z-index:2 !important;
}

.home.home-public .hero-top{
  width:max-content !important;
  max-width:100% !important;
  padding:9px 13px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.18) !important;
  background:rgba(255,255,255,.10) !important;
  color:#dff2ff !important;
  font-size:11px !important;
  font-weight:950 !important;
  letter-spacing:.08em !important;
}

.home.home-public .login-pro-hero h1{
  max-width:780px !important;
  margin-top:20px !important;
  font-size:clamp(42px,5vw,68px) !important;
  line-height:.96 !important;
  letter-spacing:-.065em !important;
  font-weight:950 !important;
}

.home.home-public .login-pro-hero p{
  max-width:730px !important;
  margin-top:20px !important;
  color:#dbeafe !important;
  font-size:17px !important;
  line-height:1.65 !important;
}

.home.home-public .login-pro-features{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  margin-top:24px !important;
}

.home.home-public .login-pro-features span{
  display:inline-flex !important;
  align-items:center !important;
  min-height:34px !important;
  padding:0 13px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.18) !important;
  background:rgba(255,255,255,.10) !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:900 !important;
}

.home.home-public .login-pro-proof{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
  margin-top:32px !important;
  max-width:820px !important;
}

.home.home-public .login-pro-proof article{
  min-height:118px !important;
  padding:18px !important;
  border-radius:22px !important;
  border:1px solid rgba(255,255,255,.16) !important;
  background:rgba(255,255,255,.10) !important;
  backdrop-filter:blur(10px) !important;
}

.home.home-public .login-pro-proof strong{
  display:block !important;
  color:#FFCC00 !important;
  font-size:13px !important;
  font-weight:950 !important;
  letter-spacing:.12em !important;
}

.home.home-public .login-pro-proof span{
  display:block !important;
  margin-top:10px !important;
  color:#eef6ff !important;
  font-size:13px !important;
  line-height:1.45 !important;
  font-weight:750 !important;
}

.home.home-public .login-pro-panel{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:620px !important;
  padding:28px !important;
  border-radius:34px !important;
  overflow:hidden !important;
  background:
    linear-gradient(135deg, rgba(248,251,255,.82), rgba(238,247,255,.76)),
    url("../assets/login/policia-local-cgpc-login.webp") center center / cover no-repeat,
    linear-gradient(180deg,#f8fbff 0%,#edf5fb 100%) !important;
  border:1px solid rgba(7,104,169,.12) !important;
  box-shadow:0 24px 70px rgba(15,23,42,.10) !important;
}

.home.home-public .login-pro-panel::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:
    radial-gradient(420px 220px at 88% 10%, rgba(255,204,0,.12), transparent 60%),
    radial-gradient(520px 260px at 12% 88%, rgba(7,104,169,.12), transparent 66%) !important;
  pointer-events:none !important;
}

.home.home-public .login-pro-panel > *{
  position:relative !important;
  z-index:1 !important;
}

.home.home-public .account-card.visual-card{
  width:100% !important;
  margin:0 !important;
  padding:26px !important;
  border-radius:30px !important;
  background:
    radial-gradient(420px 160px at 100% 0%, rgba(255,204,0,.10), transparent 62%),
    linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(251,253,255,.94) 100%) !important;
  backdrop-filter:blur(8px) !important;
  border:1px solid rgba(7,104,169,.16) !important;
  box-shadow:0 24px 60px rgba(15,23,42,.12) !important;
}

.home.home-public .account-card.visual-card::before{
  height:5px !important;
  background:linear-gradient(90deg,#0768A9 0%,#76B8E8 52%,#FFCC00 100%) !important;
}

.home.home-public .account-head{
  padding-right:104px !important;
  align-items:flex-start !important;
  margin-bottom:18px !important;
}

.home.home-public .account-mark{
  width:54px !important;
  height:54px !important;
  min-width:54px !important;
  border-radius:18px !important;
}

.home.home-public .account-mark .account-emoji{
  font-size:25px !important;
}

.home.home-public .account-badge{
  color:#075f9a !important;
  border-color:rgba(7,104,169,.18) !important;
  background:#eef7ff !important;
}

.home.home-public .account-head-copy h3{
  font-size:30px !important;
  line-height:1 !important;
  letter-spacing:-.045em !important;
}

.home.home-public .account-head-copy p{
  margin-top:8px !important;
  max-width:360px !important;
  font-size:15px !important;
  color:#52637c !important;
}

.home.home-public .account-main-grid.guest{
  display:block !important;
  margin-top:0 !important;
}

.home.home-public .account-login-panel{
  padding:18px !important;
  border-radius:22px !important;
  background:#fff !important;
  border:1px solid rgba(15,23,42,.08) !important;
  box-shadow:0 12px 26px rgba(15,23,42,.04) !important;
}

.home.home-public .account-login-grid{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:12px !important;
  margin-top:14px !important;
}

.home.home-public .auth-input{
  width:100% !important;
  min-height:54px !important;
  border-radius:16px !important;
  font-size:15px !important;
}

.home.home-public .password-input-wrap{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
}

.home.home-public .password-input-wrap .auth-input{
  padding-right:82px !important;
}

.home.home-public .password-toggle-btn{
  position:absolute !important;
  right:10px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  min-width:58px !important;
  min-height:36px !important;
  padding:0 10px !important;
  border:0 !important;
  border-radius:12px !important;
  background:rgba(7,104,169,.09) !important;
  color:#075f9a !important;
  font-weight:950 !important;
  cursor:pointer !important;
  line-height:1 !important;
}

.home.home-public .password-toggle-btn:hover,
.home.home-public .password-toggle-btn:focus-visible{
  background:rgba(7,104,169,.15) !important;
  outline:none !important;
}

.home.home-public .account-submit-btn{
  width:100% !important;
  min-height:54px !important;
  border-radius:16px !important;
  background:linear-gradient(135deg,#0768A9 0%,#0f766e 100%) !important;
  box-shadow:0 16px 28px rgba(7,104,169,.18) !important;
}

.home.home-public .account-login-note{
  margin-top:14px !important;
  padding:12px 13px !important;
  border-radius:16px !important;
  background:#f8fafc !important;
  border:1px solid #e2e8f0 !important;
  color:#52637c !important;
  font-size:13px !important;
}

.home.home-public .auth-status-wrap{
  margin-top:12px !important;
}

.home.home-public .account-card #authStatus{
  display:block !important;
  border-radius:16px !important;
  color:#334155 !important;
  background:#f8fafc !important;
}

.home.home-public .account-card .access-summary{
  display:none !important;
}

.home.home-public .h2d-help-pro-btn{
  top:0 !important;
  height:36px !important;
}

.home.home-public .master-create-card,
.home.home-public .admin-monitor-card,
.home.home-public .admin-hub,
.home.home-public .sync-card,
.home.home-public .h2d-footer{
  display:none !important;
}

@media(max-width:980px){
  .home.home-public{
    align-items:flex-start !important;
  }
  .home.home-public .login-pro-shell{
    grid-template-columns:1fr !important;
  }
  .home.home-public .login-pro-hero{
    min-height:auto !important;
    padding:34px 26px !important;
  }
  .home.home-public .login-pro-panel{
    align-items:stretch !important;
    min-height:auto !important;
    padding:18px !important;
    border-radius:26px !important;
  }
  .home.home-public .account-card.visual-card{
    max-width:none !important;
  }
}

@media(max-width:680px){
  .home.home-public{
    padding:14px 12px 28px !important;
  }
  .home.home-public .login-pro-hero{
    border-radius:26px !important;
    padding:28px 20px 58px !important;
  }
  .home.home-public .login-pro-hero h1{
    font-size:36px !important;
  }
  .home.home-public .login-pro-hero p{
    font-size:15px !important;
  }
  .home.home-public .login-pro-features span{
    width:100% !important;
    justify-content:center !important;
  }
  .home.home-public .login-pro-proof{
    grid-template-columns:1fr !important;
  }
  .home.home-public .login-pro-proof article{
    min-height:auto !important;
  }
  .home.home-public .account-card.visual-card{
    padding:20px 16px !important;
    border-radius:24px !important;
  }
  .home.home-public .account-head{
    padding-right:0 !important;
  }
  .home.home-public .h2d-help-pro-btn{
    position:static !important;
    margin-left:auto !important;
  }
  .home.home-public .account-head-copy h3{
    font-size:25px !important;
  }
}

/* ---- bloque extraído ---- */

/* H2D v7.3 · pulido visual del login con imagen integrada. Solo presentación. */
.home.home-public .login-pro-shell{
  grid-template-columns:minmax(0,1.02fr) minmax(390px,.98fr) !important;
  gap:24px !important;
}

.home.home-public .login-pro-hero{
  background:
    radial-gradient(620px 300px at 88% 8%, rgba(255,204,0,.18), transparent 60%),
    radial-gradient(540px 280px at 0% 100%, rgba(118,184,232,.20), transparent 62%),
    linear-gradient(135deg,#061936 0%, #075f9a 56%, #0d243f 100%) !important;
}

.home.home-public .login-pro-hero h1{
  max-width:760px !important;
  font-size:clamp(40px,4.8vw,64px) !important;
  line-height:.98 !important;
  letter-spacing:-.06em !important;
}

.home.home-public .login-pro-hero p{
  max-width:700px !important;
  color:#e7f3ff !important;
}

.home.home-public .login-pro-panel{
  min-height:650px !important;
  padding:36px !important;
  background:
    linear-gradient(135deg, rgba(248,251,255,.88), rgba(238,247,255,.80)),
    url("../assets/login/policia-local-cgpc-login.webp") center 42% / cover no-repeat,
    linear-gradient(180deg,#f8fbff 0%,#edf5fb 100%) !important;
}

.home.home-public .login-pro-panel::before{
  z-index:0 !important;
  background:
    radial-gradient(420px 220px at 88% 10%, rgba(255,204,0,.10), transparent 62%),
    radial-gradient(520px 260px at 12% 88%, rgba(7,104,169,.12), transparent 68%) !important;
}

.home.home-public .login-pro-panel::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  background:
    linear-gradient(90deg, rgba(248,251,255,.96) 0%, rgba(248,251,255,.86) 46%, rgba(248,251,255,.58) 100%),
    linear-gradient(180deg, rgba(255,255,255,.22) 0%, rgba(255,255,255,.66) 100%) !important;
  pointer-events:none !important;
}

.home.home-public .login-pro-panel > *{
  position:relative !important;
  z-index:1 !important;
}

.home.home-public .account-card.visual-card{
  width:min(100%,560px) !important;
  margin-left:auto !important;
  margin-right:0 !important;
  background:
    radial-gradient(420px 160px at 100% 0%, rgba(255,204,0,.08), transparent 62%),
    linear-gradient(180deg,rgba(255,255,255,.985) 0%,rgba(251,253,255,.965) 100%) !important;
  backdrop-filter:blur(14px) saturate(1.08) !important;
  box-shadow:0 26px 64px rgba(15,23,42,.14) !important;
}

.home.home-public .account-head-copy h3{
  color:#0b172f !important;
}

.home.home-public .account-login-panel{
  box-shadow:0 14px 30px rgba(15,23,42,.05) !important;
}

.home.home-public .auth-input:focus,
.home.home-public .password-toggle-btn:focus-visible,
.home.home-public .account-submit-btn:focus-visible,
.home.home-public .h2d-help-pro-btn:focus-visible{
  outline:3px solid rgba(7,104,169,.18) !important;
  outline-offset:3px !important;
}

.home.home-public .account-submit-btn:hover{
  transform:translateY(-1px) !important;
  box-shadow:0 18px 34px rgba(7,104,169,.23) !important;
}

.home.home-public .password-toggle-btn{
  transition:background .16s ease, color .16s ease, transform .16s ease !important;
}

.home.home-public .password-toggle-btn:active{
  transform:translateY(-50%) scale(.98) !important;
}

@media(max-width:980px){
  .home.home-public .login-pro-panel{
    min-height:auto !important;
    padding:24px !important;
    background:
      linear-gradient(135deg, rgba(248,251,255,.92), rgba(238,247,255,.88)),
      url("../assets/login/policia-local-cgpc-login.webp") center 36% / cover no-repeat,
      linear-gradient(180deg,#f8fbff 0%,#edf5fb 100%) !important;
  }

  .home.home-public .account-card.visual-card{
    width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
}

@media(max-width:680px){
  .home.home-public .login-pro-hero h1{
    font-size:34px !important;
    letter-spacing:-.052em !important;
  }

  .home.home-public .login-pro-panel{
    padding:14px !important;
    background:
      linear-gradient(135deg, rgba(248,251,255,.95), rgba(238,247,255,.92)),
      url("../assets/login/policia-local-cgpc-login.webp") center 28% / cover no-repeat,
      linear-gradient(180deg,#f8fbff 0%,#edf5fb 100%) !important;
  }

  .home.home-public .login-pro-panel::after{
    background:rgba(248,251,255,.82) !important;
  }
}

/* ---- bloque extraído ---- */

/* H2D v7.4 · imagen visible real en el login.
   Esta capa solo toca presentación. No cambia Supabase, módulos, admin ni lógica. */
.home.home-public .login-pro-shell{
  max-width:1320px !important;
  grid-template-columns:minmax(420px,.92fr) minmax(620px,1.08fr) !important;
  gap:26px !important;
}

.home.home-public .login-pro-panel{
  position:relative !important;
  justify-content:flex-start !important;
  align-items:center !important;
  min-height:660px !important;
  padding:26px !important;
  background:
    linear-gradient(90deg,
      rgba(248,251,255,.98) 0%,
      rgba(248,251,255,.96) 45%,
      rgba(248,251,255,.78) 58%,
      rgba(9,28,57,.12) 76%,
      rgba(9,28,57,.04) 100%),
    linear-gradient(180deg,#f8fbff 0%,#edf5fb 100%) !important;
}

.home.home-public .login-pro-panel::after{
  content:"" !important;
  position:absolute !important;
  top:22px !important;
  right:22px !important;
  bottom:22px !important;
  width:40% !important;
  border-radius:30px !important;
  background:
    linear-gradient(180deg,rgba(5,18,38,.10),rgba(5,18,38,.30)),
    url("../assets/login/policia-local-cgpc-login.webp") center center / cover no-repeat !important;
  box-shadow:0 26px 60px rgba(15,23,42,.18) !important;
  border:1px solid rgba(255,255,255,.54) !important;
  opacity:1 !important;
  pointer-events:none !important;
  z-index:0 !important;
}

.home.home-public .login-pro-panel::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:
    radial-gradient(520px 220px at 86% 8%, rgba(255,204,0,.18), transparent 62%),
    radial-gradient(520px 260px at 13% 90%, rgba(7,104,169,.10), transparent 64%) !important;
  pointer-events:none !important;
  z-index:1 !important;
}

.home.home-public .login-pro-panel > *{
  position:relative !important;
  z-index:2 !important;
}

.home.home-public .account-card.visual-card{
  width:min(100%, 560px) !important;
  margin:0 auto 0 0 !important;
  background:
    radial-gradient(420px 160px at 100% 0%, rgba(255,204,0,.08), transparent 62%),
    linear-gradient(180deg,rgba(255,255,255,.985) 0%,rgba(251,253,255,.97) 100%) !important;
  box-shadow:
    0 26px 70px rgba(15,23,42,.16),
    0 0 0 1px rgba(255,255,255,.42) inset !important;
}

@media(max-width:1180px){
  .home.home-public .login-pro-shell{
    grid-template-columns:1fr !important;
    max-width:900px !important;
  }

  .home.home-public .login-pro-panel{
    min-height:580px !important;
  }

  .home.home-public .login-pro-panel::after{
    width:34% !important;
  }
}

@media(max-width:820px){
  .home.home-public .login-pro-panel{
    padding:18px !important;
    min-height:auto !important;
    background:
      linear-gradient(rgba(248,251,255,.92),rgba(248,251,255,.92)),
      url("../assets/login/policia-local-cgpc-login.webp") center top / cover no-repeat,
      linear-gradient(180deg,#f8fbff 0%,#edf5fb 100%) !important;
  }

  .home.home-public .login-pro-panel::after{
    display:none !important;
  }

  .home.home-public .account-card.visual-card{
    width:100% !important;
    margin:0 !important;
  }
}

/* ---- bloque extraído ---- */

/* V77: imagen protagonista en el panel izquierdo, sin número decorativo, con legibilidad protegida */
.home.home-public .login-pro-hero{
  position:relative !important;
  overflow:hidden !important;
  background:
    linear-gradient(90deg,
      rgba(3,16,36,.93) 0%,
      rgba(3,16,36,.84) 31%,
      rgba(3,16,36,.54) 58%,
      rgba(3,16,36,.20) 100%),
    radial-gradient(620px 320px at 12% 18%, rgba(255,255,255,.10), transparent 62%),
    url("../assets/login/policia-local-cgpc-login.webp") right center / auto 112% no-repeat,
    linear-gradient(135deg,#061936 0%, #075f9a 56%, #0d243f 100%) !important;
}

.home.home-public .login-pro-hero::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:
    linear-gradient(180deg, rgba(2,10,23,.10) 0%, rgba(2,10,23,.28) 100%),
    linear-gradient(90deg, rgba(2,10,23,.34) 0%, rgba(2,10,23,.10) 44%, rgba(2,10,23,0) 82%) !important;
  opacity:1 !important;
  pointer-events:none !important;
}

.home.home-public .login-pro-hero::after{
  content:"" !important;
  display:none !important;
}

.home.home-public .login-pro-hero > *{
  position:relative !important;
  z-index:2 !important;
}

.home.home-public .hero-top{
  background:rgba(8,34,69,.42) !important;
  border:1px solid rgba(255,255,255,.24) !important;
  backdrop-filter:blur(10px) !important;
  box-shadow:0 12px 28px rgba(0,0,0,.13) !important;
}

.home.home-public .login-pro-hero h1{
  max-width:610px !important;
  text-shadow:0 3px 18px rgba(0,0,0,.28) !important;
}

.home.home-public .login-pro-hero p{
  max-width:590px !important;
  color:rgba(239,247,255,.97) !important;
  text-shadow:0 2px 8px rgba(0,0,0,.22) !important;
}

.home.home-public .login-pro-features span{
  background:rgba(8,34,69,.40) !important;
  border-color:rgba(255,255,255,.24) !important;
  backdrop-filter:blur(10px) !important;
}

.home.home-public .login-pro-proof{
  gap:14px !important;
  max-width:760px !important;
}

.home.home-public .login-pro-proof article{
  position:relative !important;
  overflow:hidden !important;
  min-height:106px !important;
  padding:18px 18px 16px !important;
  border-radius:24px !important;
  border:1px solid rgba(255,255,255,.24) !important;
  background:linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.10)) !important;
  backdrop-filter:blur(14px) !important;
  box-shadow:0 18px 34px rgba(0,0,0,.16) !important;
}

.home.home-public .login-pro-proof article::before,
.home.home-public .login-pro-proof article::after{
  content:"" !important;
  display:none !important;
}

.home.home-public .login-pro-proof strong{
  color:#ffd22e !important;
  font-size:14px !important;
  letter-spacing:.12em !important;
}

.home.home-public .login-pro-proof span{
  margin-top:10px !important;
  color:#ffffff !important;
  font-size:13px !important;
  line-height:1.42 !important;
  text-shadow:0 1px 3px rgba(0,0,0,.20) !important;
}

.home.home-public .login-pro-panel{
  background:
    radial-gradient(540px 260px at 88% 10%, rgba(255,204,0,.10), transparent 62%),
    radial-gradient(540px 280px at 12% 86%, rgba(7,104,169,.09), transparent 64%),
    linear-gradient(180deg,#f8fbff 0%,#edf5fb 100%) !important;
}

@media (max-width: 1080px) {
  .auth-shell {
    grid-template-columns: 1fr;
  }

  .auth-left,
  .auth-right {
    min-height: auto;
  }

  .auth-left {
    background-position: 52% top;
    padding: 28px 22px;
  }

  .hero-title,
  .hero-description,
  .hero-pills {
    max-width: 100%;
  }
}

@media (max-width:720px){
  .home.home-public .login-pro-hero{
    background:
      linear-gradient(180deg,
        rgba(3,16,36,.88) 0%,
        rgba(3,16,36,.76) 58%,
        rgba(3,16,36,.92) 100%),
      url("../assets/login/policia-local-cgpc-login.webp") center top / 100% auto no-repeat,
      linear-gradient(135deg,#061936 0%, #075f9a 56%, #0d243f 100%) !important;
  }

  .home.home-public .login-pro-proof{
    gap:10px !important;
  }

  .home.home-public .login-pro-proof article{
    min-height:auto !important;
  }
}


/* V80 hard overrides: right panel must stay clean */
.auth-right,
.auth-right-visual,
.auth-right::before,
.auth-right::after,
.auth-right-visual::before,
.auth-right-visual::after {
  background-image: none !important;
}

.auth-right [class*="media"],
.auth-right [class*="image"],
.auth-right [class*="visual"],
.auth-right [class*="art"] {
  background-image: none !important;
}

.auth-right img.decorative,
.auth-right .auth-visual,
.auth-right .hero-visual,
.auth-right .login-visual,
.auth-right .visual-panel,
.auth-right .art-panel {
  display: none !important;
}

.auth-card {
  position: relative;
  z-index: 1;
  background: rgba(255, 255, 255, 0.97) !important;
}

/* ---- bloque extraído ---- */

/* V81: corrección real del login.
   La imagen solo aparece en el panel izquierdo.
   El panel derecho queda limpio para el formulario. */

/* Layout principal */
.home.home-public .login-pro-shell{
  width:100% !important;
  max-width:1320px !important;
  display:grid !important;
  grid-template-columns:minmax(520px,.95fr) minmax(560px,1.05fr) !important;
  gap:28px !important;
  align-items:stretch !important;
}

/* IZQUIERDA: foto protagonista + texto legible */
.home.home-public .login-pro-hero{
  position:relative !important;
  overflow:hidden !important;
  min-height:650px !important;
  padding:42px 38px !important;
  border-radius:34px !important;
  color:#fff !important;
  background:
    linear-gradient(90deg,
      rgba(3,16,36,.80) 0%,
      rgba(3,16,36,.66) 30%,
      rgba(3,16,36,.34) 58%,
      rgba(3,16,36,.08) 100%),
    linear-gradient(180deg,
      rgba(3,16,36,.10) 0%,
      rgba(3,16,36,.22) 100%),
    url("../assets/login/policia-local-cgpc-login.webp") center center / cover no-repeat,
    linear-gradient(135deg,#061936 0%,#075f9a 56%,#0d243f 100%) !important;
}

/* Sin números/fantasmas decorativos */
.home.home-public .login-pro-hero::after{
  content:"" !important;
  display:none !important;
}

/* Overlay suave: protege texto sin matar la foto */
.home.home-public .login-pro-hero::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:
    radial-gradient(520px 340px at 18% 20%, rgba(4,18,40,.34), transparent 70%),
    linear-gradient(180deg, rgba(2,8,23,.02) 0%, rgba(2,8,23,.18) 100%) !important;
  opacity:1 !important;
  pointer-events:none !important;
}

.home.home-public .login-pro-hero > *{
  position:relative !important;
  z-index:2 !important;
}

/* Texto más compacto para que se vea la foto */
.home.home-public .login-pro-hero h1{
  max-width:430px !important;
  margin:34px 0 20px !important;
  font-size:clamp(42px,4.8vw,68px) !important;
  line-height:.96 !important;
  letter-spacing:-.058em !important;
  text-shadow:0 3px 18px rgba(0,0,0,.24) !important;
}

.home.home-public .login-pro-hero p{
  max-width:440px !important;
  color:rgba(255,255,255,.93) !important;
  font-size:18px !important;
  line-height:1.58 !important;
  text-shadow:0 2px 8px rgba(0,0,0,.22) !important;
}

.home.home-public .hero-top{
  width:max-content !important;
  max-width:100% !important;
  background:rgba(8,34,69,.36) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  box-shadow:0 10px 24px rgba(2,10,23,.14) !important;
  backdrop-filter:blur(8px) !important;
}

.home.home-public .login-pro-features{
  max-width:460px !important;
  gap:10px !important;
}

.home.home-public .login-pro-features span{
  min-height:42px !important;
  padding:0 15px !important;
  border-radius:999px !important;
  background:rgba(8,34,69,.26) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  color:#fff !important;
  box-shadow:none !important;
  backdrop-filter:blur(6px) !important;
}

/* Tarjetas 01/02/03: discretas para no tapar demasiado la foto */
.home.home-public .login-pro-proof{
  max-width:520px !important;
  gap:12px !important;
}

.home.home-public .login-pro-proof article{
  min-height:118px !important;
  padding:18px !important;
  border-radius:24px !important;
  background:rgba(8,34,69,.24) !important;
  border:1px solid rgba(255,255,255,.15) !important;
  box-shadow:0 10px 24px rgba(2,10,23,.12) !important;
  backdrop-filter:blur(7px) !important;
}

/* DERECHA: limpieza total. Ninguna imagen aquí. */
.home.home-public .login-pro-panel{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:650px !important;
  padding:28px !important;
  border-radius:34px !important;
  overflow:hidden !important;
  border:1px solid rgba(7,104,169,.12) !important;
  box-shadow:0 24px 70px rgba(15,23,42,.10) !important;
  background:
    radial-gradient(560px 260px at 92% 6%, rgba(255,204,0,.10), transparent 64%),
    radial-gradient(560px 280px at 10% 90%, rgba(7,104,169,.08), transparent 66%),
    linear-gradient(180deg,#f8fbff 0%,#edf5fb 100%) !important;
  background-image:
    radial-gradient(560px 260px at 92% 6%, rgba(255,204,0,.10), transparent 64%),
    radial-gradient(560px 280px at 10% 90%, rgba(7,104,169,.08), transparent 66%),
    linear-gradient(180deg,#f8fbff 0%,#edf5fb 100%) !important;
}

/* Elimina de raíz las pseudo-imágenes antiguas del panel derecho */
.home.home-public .login-pro-panel::before,
.home.home-public .login-pro-panel::after{
  content:"" !important;
  display:none !important;
  background:none !important;
  background-image:none !important;
}

/* Por si quedó cualquier visual interno anterior en la derecha */
.home.home-public .login-pro-panel [class*="visual"],
.home.home-public .login-pro-panel [class*="image"],
.home.home-public .login-pro-panel [class*="media"],
.home.home-public .login-pro-panel [class*="art"]{
  background:none !important;
  background-image:none !important;
}

.home.home-public .login-pro-panel img{
  display:none !important;
}

.home.home-public .login-pro-panel > *{
  position:relative !important;
  z-index:2 !important;
}

/* Formulario legible y botón corregido */
.home.home-public .account-card.visual-card{
  width:min(100%,640px) !important;
  margin:0 !important;
  background:rgba(255,255,255,.97) !important;
}

.home.home-public .account-submit-btn{
  color:#ffffff !important;
  border:0 !important;
  outline:none !important;
  box-shadow:0 16px 34px rgba(7,104,169,.22) !important;
}

.home.home-public .account-submit-btn:hover{
  transform:translateY(-1px) !important;
}

/* Móvil */
@media(max-width:1180px){
  .home.home-public .login-pro-shell{
    grid-template-columns:1fr !important;
    max-width:920px !important;
  }

  .home.home-public .login-pro-hero{
    min-height:620px !important;
    background-position:center center !important;
  }

  .home.home-public .login-pro-panel{
    min-height:auto !important;
  }
}

@media(max-width:720px){
  .home.home-public{
    padding:14px !important;
  }

  .home.home-public .login-pro-hero{
    min-height:auto !important;
    padding:28px 22px !important;
    background:
      linear-gradient(180deg,
        rgba(3,16,36,.78) 0%,
        rgba(3,16,36,.72) 45%,
        rgba(3,16,36,.84) 100%),
      url("../assets/login/policia-local-cgpc-login.webp") center top / cover no-repeat,
      linear-gradient(135deg,#061936 0%,#075f9a 56%,#0d243f 100%) !important;
  }

  .home.home-public .login-pro-hero h1{
    max-width:100% !important;
    font-size:38px !important;
  }

  .home.home-public .login-pro-hero p{
    max-width:100% !important;
    font-size:16px !important;
  }

  .home.home-public .login-pro-panel{
    padding:16px !important;
    background:
      radial-gradient(420px 180px at 92% 0%, rgba(255,204,0,.08), transparent 64%),
      linear-gradient(180deg,#f8fbff 0%,#edf5fb 100%) !important;
  }
}

/* ---- bloque extraído ---- */

/* V82 D final: izquierda con foto y texto equilibrados; derecha limpia. */

/* Contenedor */
.home.home-public .login-pro-shell{
  width:100% !important;
  max-width:1320px !important;
  display:grid !important;
  grid-template-columns:minmax(560px, .98fr) minmax(560px, 1.02fr) !important;
  gap:28px !important;
  align-items:stretch !important;
}

/* Izquierda: la foto se entiende y el texto no tapa tanto los agentes */
.home.home-public .login-pro-hero{
  position:relative !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-end !important;
  min-height:650px !important;
  padding:42px 40px !important;
  border-radius:34px !important;
  border:1px solid rgba(7,104,169,.18) !important;
  color:#ffffff !important;
  background:
    linear-gradient(180deg,
      rgba(3,16,36,.08) 0%,
      rgba(3,16,36,.12) 38%,
      rgba(3,16,36,.58) 72%,
      rgba(3,16,36,.88) 100%),
    linear-gradient(90deg,
      rgba(3,16,36,.46) 0%,
      rgba(3,16,36,.24) 34%,
      rgba(3,16,36,.04) 72%),
    url("../assets/login/policia-local-cgpc-login.webp") center center / cover no-repeat,
    linear-gradient(135deg,#061936 0%,#075f9a 56%,#0d243f 100%) !important;
  box-shadow:0 24px 70px rgba(15,23,42,.16) !important;
}

/* Sin decoración fantasma */
.home.home-public .login-pro-hero::after{
  content:"" !important;
  display:none !important;
}

.home.home-public .login-pro-hero::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  background:
    radial-gradient(560px 320px at 18% 12%, rgba(2,8,23,.20), transparent 72%),
    radial-gradient(420px 260px at 70% 22%, rgba(255,255,255,.08), transparent 70%) !important;
}

.home.home-public .login-pro-hero > *{
  position:relative !important;
  z-index:2 !important;
}

/* Badge superior */
.home.home-public .hero-top{
  position:absolute !important;
  top:28px !important;
  left:30px !important;
  width:max-content !important;
  max-width:calc(100% - 60px) !important;
  padding:9px 14px !important;
  border-radius:999px !important;
  background:rgba(8,34,69,.36) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  color:#dfefff !important;
  backdrop-filter:blur(8px) !important;
  box-shadow:0 10px 24px rgba(2,10,23,.14) !important;
}

/* Texto más corto y menos invasivo */
.home.home-public .login-pro-hero h1{
  max-width:440px !important;
  margin:0 0 16px !important;
  font-size:clamp(44px,4.6vw,66px) !important;
  line-height:.96 !important;
  letter-spacing:-.06em !important;
  font-weight:950 !important;
  text-wrap:balance !important;
  text-shadow:0 4px 18px rgba(0,0,0,.32) !important;
}

.home.home-public .login-pro-hero p{
  max-width:520px !important;
  margin:0 !important;
  color:rgba(255,255,255,.94) !important;
  font-size:18px !important;
  line-height:1.56 !important;
  text-shadow:0 2px 8px rgba(0,0,0,.28) !important;
}

/* Chips compactos */
.home.home-public .login-pro-features{
  max-width:560px !important;
  margin-top:22px !important;
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
}

.home.home-public .login-pro-features span{
  min-height:40px !important;
  padding:0 15px !important;
  border-radius:999px !important;
  background:rgba(8,34,69,.28) !important;
  border:1px solid rgba(255,255,255,.15) !important;
  color:#ffffff !important;
  font-weight:850 !important;
  box-shadow:none !important;
  backdrop-filter:blur(6px) !important;
}

/* Quitamos las tarjetas 01/02/03: tapaban foto y no aportaban al login */
.home.home-public .login-pro-proof{
  display:none !important;
}

/* Derecha: formulario limpio, sin foto ni pseudo-elementos */
.home.home-public .login-pro-panel{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:650px !important;
  padding:28px !important;
  border-radius:34px !important;
  overflow:hidden !important;
  border:1px solid rgba(7,104,169,.12) !important;
  box-shadow:0 24px 70px rgba(15,23,42,.10) !important;
  background:
    radial-gradient(560px 260px at 92% 6%, rgba(255,204,0,.10), transparent 64%),
    radial-gradient(560px 280px at 10% 90%, rgba(7,104,169,.08), transparent 66%),
    linear-gradient(180deg,#f8fbff 0%,#edf5fb 100%) !important;
  background-image:
    radial-gradient(560px 260px at 92% 6%, rgba(255,204,0,.10), transparent 64%),
    radial-gradient(560px 280px at 10% 90%, rgba(7,104,169,.08), transparent 66%),
    linear-gradient(180deg,#f8fbff 0%,#edf5fb 100%) !important;
}

.home.home-public .login-pro-panel::before,
.home.home-public .login-pro-panel::after{
  content:"" !important;
  display:none !important;
  background:none !important;
  background-image:none !important;
}

.home.home-public .login-pro-panel [class*="visual"],
.home.home-public .login-pro-panel [class*="image"],
.home.home-public .login-pro-panel [class*="media"],
.home.home-public .login-pro-panel [class*="art"]{
  background:none !important;
  background-image:none !important;
}

.home.home-public .login-pro-panel img{
  display:none !important;
}

.home.home-public .account-card.visual-card{
  width:min(100%,640px) !important;
  margin:0 !important;
  background:rgba(255,255,255,.97) !important;
  box-shadow:0 22px 56px rgba(15,23,42,.10) !important;
}

.home.home-public .account-submit-btn{
  color:#ffffff !important;
  border:0 !important;
  outline:none !important;
  font-weight:900 !important;
  box-shadow:0 16px 34px rgba(7,104,169,.22) !important;
}

/* Responsive */
@media(max-width:1180px){
  .home.home-public .login-pro-shell{
    grid-template-columns:1fr !important;
    max-width:920px !important;
  }

  .home.home-public .login-pro-hero{
    min-height:620px !important;
    background-position:center center !important;
  }

  .home.home-public .login-pro-panel{
    min-height:auto !important;
  }
}

@media(max-width:720px){
  .home.home-public{
    padding:14px !important;
  }

  .home.home-public .login-pro-hero{
    min-height:540px !important;
    padding:26px 22px !important;
    background:
      linear-gradient(180deg,
        rgba(3,16,36,.22) 0%,
        rgba(3,16,36,.26) 38%,
        rgba(3,16,36,.74) 76%,
        rgba(3,16,36,.92) 100%),
      url("../assets/login/policia-local-cgpc-login.webp") center top / cover no-repeat,
      linear-gradient(135deg,#061936 0%,#075f9a 56%,#0d243f 100%) !important;
  }

  .home.home-public .hero-top{
    position:relative !important;
    top:auto !important;
    left:auto !important;
    margin-bottom:auto !important;
  }

  .home.home-public .login-pro-hero h1{
    max-width:100% !important;
    font-size:40px !important;
  }

  .home.home-public .login-pro-hero p{
    max-width:100% !important;
    font-size:16px !important;
  }

  .home.home-public .login-pro-panel{
    padding:16px !important;
  }
}

/* ---- bloque extraído ---- */

/* V83: reparación visual de la zona privada después del login.
   No toca lógica, solo estilos y copy visible. */

.home.home-dashboard {
  width: min(100% - 28px, 1240px) !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding: 22px 0 42px !important;
  background: transparent !important;
}

/* MI CUENTA */
.home.home-dashboard .account-card.visual-card {
  width: min(100%, 980px) !important;
  margin: 0 0 18px 0 !important;
  padding: 28px 30px !important;
  border-radius: 30px !important;
  border: 1px solid rgba(15, 23, 42, 0.10) !important;
  background:
    radial-gradient(520px 170px at 92% 0%, rgba(255, 204, 0, 0.09), transparent 66%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.96)) !important;
  box-shadow: 0 22px 60px rgba(15, 23, 42, 0.08) !important;
}

.home.home-dashboard .account-head {
  display: grid !important;
  grid-template-columns: auto 1fr auto !important;
  align-items: start !important;
  gap: 16px !important;
  margin-bottom: 18px !important;
}

.home.home-dashboard .account-head-copy h3 {
  margin: 4px 0 4px !important;
  color: #0f172a !important;
  font-size: clamp(30px, 3vw, 44px) !important;
  line-height: 1 !important;
  letter-spacing: -0.055em !important;
}

.home.home-dashboard .account-head-copy p {
  margin: 0 !important;
  color: #60708b !important;
  font-size: 16px !important;
}

.home.home-dashboard .account-main-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px) !important;
  gap: 16px !important;
  align-items: stretch !important;
}

.home.home-dashboard .account-info-box,
.home.home-dashboard .account-actions-box {
  padding: 20px 22px !important;
  border-radius: 22px !important;
  background: #ffffff !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  box-shadow: none !important;
}

.home.home-dashboard .account-actions-row {
  display: flex !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}

.home.home-dashboard .auth-btn,
.home.home-dashboard .account-actions-row button,
.home.home-dashboard #changePasswordBtn,
.home.home-dashboard #logoutBtn {
  min-height: 48px !important;
  padding: 0 18px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(15, 23, 42, 0.10) !important;
  background: #f8fafc !important;
  color: #0f172a !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

.home.home-dashboard #logoutBtn,
.home.home-dashboard .auth-btn.danger {
  color: #9a3412 !important;
  border-color: rgba(251, 146, 60, 0.36) !important;
  background: linear-gradient(180deg, #fff7ed, #fffbeb) !important;
}

/* ADMINISTRACIÓN */
.home.home-dashboard .admin-hub {
  width: 100% !important;
  margin: 18px 0 24px !important;
  padding: 26px 28px !important;
  border-radius: 30px !important;
  background: rgba(255,255,255,.97) !important;
  border: 1px solid rgba(15, 23, 42, 0.09) !important;
  box-shadow: 0 18px 46px rgba(15, 23, 42, 0.06) !important;
}

.home.home-dashboard .admin-hub-head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin-bottom: 18px !important;
}

.home.home-dashboard .admin-hub-head h3 {
  margin: 0 0 8px !important;
  color: #0f172a !important;
  font-size: 28px !important;
  line-height: 1.05 !important;
  letter-spacing: -0.045em !important;
}

.home.home-dashboard .admin-hub-head p {
  margin: 0 !important;
  color: #5f6f89 !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}

.home.home-dashboard .admin-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

.home.home-dashboard .admin-action {
  appearance: none !important;
  min-height: 46px !important;
  padding: 0 18px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(15, 23, 42, 0.10) !important;
  background: #f8fafc !important;
  color: #0f172a !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  cursor: pointer !important;
  box-shadow: none !important;
  transition: transform .16s ease, background .16s ease, border-color .16s ease !important;
}

.home.home-dashboard .admin-action:hover {
  transform: translateY(-1px) !important;
  background: #eef6ff !important;
  border-color: rgba(7, 104, 169, 0.22) !important;
}

.home.home-dashboard .admin-action.active {
  color: #5b21b6 !important;
  background: linear-gradient(180deg, #f3e8ff, #f5f3ff) !important;
  border-color: rgba(124, 58, 237, 0.28) !important;
}

/* TÍTULO MÓDULOS */
.home.home-dashboard .home-section-title {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 28px 0 8px !important;
  color: #0f172a !important;
  font-size: clamp(34px, 4vw, 46px) !important;
  line-height: 1 !important;
  letter-spacing: -0.055em !important;
  font-weight: 950 !important;
}

.home.home-dashboard .home-section-title::before {
  content: "" !important;
  flex: 0 0 auto !important;
  width: 22px !important;
  height: 22px !important;
  border-radius: 8px !important;
  background: linear-gradient(135deg, #0f73ba, #d9b629) !important;
  box-shadow: 0 12px 26px rgba(15, 23, 42, 0.14) !important;
}

.home.home-dashboard .home-section-title::after {
  content: none !important;
  display: none !important;
}

.home.home-dashboard .home-section-subtitle {
  margin: 0 0 22px !important;
  color: #5f6f89 !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
  max-width: 760px !important;
}

/* MÓDULOS */
.home.home-dashboard .grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
}

.home.home-dashboard .selector {
  min-height: 300px !important;
  padding: 24px 24px 20px !important;
  border-radius: 26px !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  background:
    radial-gradient(180px 140px at 88% 10%, rgba(7, 104, 169, 0.05), transparent 65%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.96)) !important;
  box-shadow: 0 16px 38px rgba(15, 23, 42, 0.06) !important;
}

.home.home-dashboard .selector h2 {
  margin: 14px 0 10px !important;
  color: #0f172a !important;
  font-size: 24px !important;
  line-height: 1.05 !important;
  letter-spacing: -0.04em !important;
}

.home.home-dashboard .selector p {
  color: #5f6f89 !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}

.home.home-dashboard .h2d-footer {
  margin-top: 26px !important;
  color: #64748b !important;
}

/* Responsive */
@media (max-width: 920px) {
  .home.home-dashboard {
    width: min(100% - 20px, 100%) !important;
    padding-top: 12px !important;
  }

  .home.home-dashboard .account-card.visual-card,
  .home.home-dashboard .admin-hub {
    padding: 20px !important;
    border-radius: 24px !important;
  }

  .home.home-dashboard .account-head,
  .home.home-dashboard .account-main-grid {
    grid-template-columns: 1fr !important;
  }

  .home.home-dashboard .admin-hub-head {
    flex-direction: column !important;
  }

  .home.home-dashboard .admin-action {
    flex: 1 1 auto !important;
  }
}

/* ---- bloque extraído ---- */

/* V84: zona privada alineada y más consistente.
   Objetivo: que Mi cuenta, Administración y Módulos respiren igual,
   sin huecos raros ni bloques con anchuras distintas. */

.home.home-dashboard {
  width: min(100% - 40px, 1320px) !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 24px 0 54px !important;
  background: transparent !important;
}

/* Cards principales con misma anchura visual */
.home.home-dashboard .account-card.visual-card,
.home.home-dashboard .admin-hub {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  border-radius: 32px !important;
  border: 1px solid rgba(15, 23, 42, 0.09) !important;
  background:
    radial-gradient(720px 260px at 96% 0%, rgba(255, 204, 0, 0.08), transparent 64%),
    linear-gradient(180deg, rgba(255,255,255,.985), rgba(255,255,255,.965)) !important;
  box-shadow: 0 22px 58px rgba(15, 23, 42, 0.075) !important;
}

/* MI CUENTA */
.home.home-dashboard .account-card.visual-card {
  padding: 30px 34px !important;
  margin-bottom: 22px !important;
}

.home.home-dashboard .account-head {
  display: grid !important;
  grid-template-columns: auto 1fr auto !important;
  gap: 18px !important;
  align-items: start !important;
  margin-bottom: 22px !important;
}

.home.home-dashboard .account-avatar {
  width: 64px !important;
  height: 64px !important;
  border-radius: 20px !important;
}

.home.home-dashboard .account-head-copy h3 {
  margin: 4px 0 8px !important;
  color: #0f172a !important;
  font-size: clamp(34px, 3.5vw, 52px) !important;
  line-height: .98 !important;
  letter-spacing: -0.06em !important;
}

.home.home-dashboard .account-head-copy p {
  margin: 0 !important;
  color: #60708b !important;
  font-size: 17px !important;
  line-height: 1.45 !important;
}

.home.home-dashboard .account-main-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.4fr) minmax(360px, .8fr) !important;
  gap: 18px !important;
  align-items: stretch !important;
}

.home.home-dashboard .account-info-box,
.home.home-dashboard .account-actions-box {
  min-height: 118px !important;
  padding: 22px 24px !important;
  border-radius: 24px !important;
  background: #ffffff !important;
  border: 1px solid rgba(15, 23, 42, 0.075) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9) !important;
}

.home.home-dashboard .account-info-box .account-box-value,
.home.home-dashboard .account-info-box strong,
.home.home-dashboard .account-info-box b {
  color: #0f172a !important;
  font-weight: 950 !important;
}

.home.home-dashboard .account-actions-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
}

.home.home-dashboard .account-actions-row button,
.home.home-dashboard #changePasswordBtn,
.home.home-dashboard #logoutBtn {
  min-height: 52px !important;
  padding: 0 18px !important;
  border-radius: 17px !important;
  font-weight: 950 !important;
  font-size: 15px !important;
  line-height: 1.12 !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

.home.home-dashboard #changePasswordBtn {
  background: #f8fafc !important;
  color: #0f172a !important;
  border: 1px solid rgba(15, 23, 42, 0.11) !important;
}

.home.home-dashboard #logoutBtn {
  background: linear-gradient(180deg, #fff7ed, #fffbeb) !important;
  color: #9a3412 !important;
  border: 1px solid rgba(251, 146, 60, .35) !important;
}

.home.home-dashboard .account-status,
.home.home-dashboard .access-status,
.home.home-dashboard [class*="status"] {
  border-radius: 18px !important;
}

/* ADMINISTRACIÓN */
.home.home-dashboard .admin-hub {
  padding: 30px 34px !important;
  margin: 22px 0 30px !important;
}

.home.home-dashboard .admin-hub-head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 24px !important;
  margin-bottom: 22px !important;
}

.home.home-dashboard .admin-hub-head h3 {
  margin: 0 0 8px !important;
  color: #0f172a !important;
  font-size: clamp(30px, 3vw, 42px) !important;
  line-height: 1 !important;
  letter-spacing: -0.055em !important;
  font-weight: 950 !important;
}

.home.home-dashboard .admin-hub-head p {
  max-width: 820px !important;
  margin: 0 !important;
  color: #5f6f89 !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
}

.home.home-dashboard .admin-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}

.home.home-dashboard .admin-action {
  appearance: none !important;
  min-height: 50px !important;
  padding: 0 22px !important;
  border-radius: 17px !important;
  border: 1px solid rgba(15, 23, 42, 0.10) !important;
  background: #f8fafc !important;
  color: #0f172a !important;
  font-size: 16px !important;
  font-weight: 950 !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

.home.home-dashboard .admin-action.active {
  color: #5b21b6 !important;
  background: linear-gradient(180deg, #f3e8ff, #f5f3ff) !important;
  border-color: rgba(124, 58, 237, 0.30) !important;
}

/* MÓDULOS */
.home.home-dashboard .modules-section,
.home.home-dashboard .home-modules,
.home.home-dashboard .modules-wrap {
  width: 100% !important;
  max-width: 100% !important;
}

.home.home-dashboard .home-section-title {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin: 32px 0 10px !important;
  color: #0f172a !important;
  font-size: clamp(38px, 4.4vw, 56px) !important;
  line-height: .98 !important;
  letter-spacing: -0.06em !important;
  font-weight: 950 !important;
}

.home.home-dashboard .home-section-title::before {
  content: "" !important;
  width: 24px !important;
  height: 24px !important;
  border-radius: 9px !important;
  background: linear-gradient(135deg, #0f73ba, #d9b629) !important;
  box-shadow: 0 12px 26px rgba(15, 23, 42, 0.14) !important;
  flex: 0 0 auto !important;
}

.home.home-dashboard .home-section-title::after {
  content: none !important;
  display: none !important;
}

.home.home-dashboard .home-section-subtitle {
  margin: 0 0 24px !important;
  color: #5f6f89 !important;
  font-size: 17px !important;
  line-height: 1.55 !important;
  max-width: 780px !important;
}

.home.home-dashboard .grid {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap: 20px !important;
  align-items: stretch !important;
}

.home.home-dashboard .selector {
  min-height: 320px !important;
  padding: 24px !important;
  border-radius: 28px !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  background:
    radial-gradient(240px 160px at 88% 8%, rgba(7, 104, 169, 0.055), transparent 70%),
    linear-gradient(180deg, rgba(255,255,255,.99), rgba(255,255,255,.96)) !important;
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.06) !important;
  overflow: hidden !important;
}

.home.home-dashboard .selector h2 {
  margin: 14px 0 10px !important;
  color: #0f172a !important;
  font-size: 25px !important;
  line-height: 1.08 !important;
  letter-spacing: -0.045em !important;
  font-weight: 950 !important;
}

.home.home-dashboard .selector p {
  color: #5f6f89 !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}

.home.home-dashboard .selector img,
.home.home-dashboard .selector .module-logo {
  max-width: 76px !important;
  max-height: 76px !important;
}

/* Responsive */
@media (max-width: 980px) {
  .home.home-dashboard {
    width: min(100% - 20px, 100%) !important;
    padding-top: 12px !important;
  }

  .home.home-dashboard .account-card.visual-card,
  .home.home-dashboard .admin-hub {
    padding: 22px !important;
    border-radius: 26px !important;
  }

  .home.home-dashboard .account-head,
  .home.home-dashboard .account-main-grid {
    grid-template-columns: 1fr !important;
  }

  .home.home-dashboard .account-actions-row {
    grid-template-columns: 1fr !important;
  }

  .home.home-dashboard .admin-hub-head {
    flex-direction: column !important;
  }

  .home.home-dashboard .admin-action {
    flex: 1 1 auto !important;
  }
}

/* ---- bloque extraído ---- */

/* V85: corrección de zona privada, administración y módulos.
   Solo estilos/visual. No cambia lógica ni llamadas a Supabase. */

.home.home-dashboard {
  width: min(100% - 40px, 1380px) !important;
  max-width: 1380px !important;
  margin: 0 auto !important;
  padding: 24px 0 64px !important;
}

/* Base de paneles internos */
.home.home-dashboard .account-card.visual-card,
.home.home-dashboard .admin-hub,
.home.home-dashboard .admin-panel,
.home.home-dashboard .admin-section,
.home.home-dashboard .admin-content,
.home.home-dashboard .admin-card,
.home.home-dashboard .admin-box,
.home.home-dashboard [id^="admin"],
.home.home-dashboard [class*="admin-"][class*="panel"],
.home.home-dashboard [class*="admin-"][class*="section"] {
  box-sizing: border-box !important;
}

/* MI CUENTA */
.home.home-dashboard .account-card.visual-card {
  width: 100% !important;
  margin: 0 0 22px !important;
  padding: 30px 34px !important;
  border-radius: 32px !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  background:
    radial-gradient(740px 260px at 96% 0%, rgba(255, 204, 0, 0.075), transparent 64%),
    linear-gradient(180deg, rgba(255,255,255,.99), rgba(255,255,255,.965)) !important;
  box-shadow: 0 22px 58px rgba(15, 23, 42, 0.075) !important;
}

.home.home-dashboard .account-main-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.35fr) minmax(340px, .75fr) !important;
  gap: 18px !important;
}

/* ADMIN CABECERA */
.home.home-dashboard .admin-hub {
  width: 100% !important;
  margin: 22px 0 26px !important;
  padding: 30px 34px !important;
  border-radius: 32px !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  background:
    radial-gradient(760px 270px at 96% 0%, rgba(255, 204, 0, 0.07), transparent 64%),
    linear-gradient(180deg, rgba(255,255,255,.99), rgba(255,255,255,.965)) !important;
  box-shadow: 0 22px 58px rgba(15, 23, 42, 0.075) !important;
}

.home.home-dashboard .admin-hub h3 {
  margin: 0 0 8px !important;
  color: #0f172a !important;
  font-size: clamp(34px, 3.4vw, 52px) !important;
  line-height: .98 !important;
  letter-spacing: -0.06em !important;
  font-weight: 950 !important;
}

.home.home-dashboard .admin-hub p {
  max-width: 920px !important;
  margin: 0 0 20px !important;
  color: #5f6f89 !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
}

.home.home-dashboard .admin-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}

.home.home-dashboard .admin-action {
  appearance: none !important;
  min-height: 52px !important;
  padding: 0 24px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(15, 23, 42, 0.10) !important;
  background: #f8fafc !important;
  color: #0f172a !important;
  font-size: 16px !important;
  font-weight: 950 !important;
  cursor: pointer !important;
  box-shadow: none !important;
  transition: transform .16s ease, background .16s ease, border-color .16s ease !important;
}

.home.home-dashboard .admin-action:hover {
  transform: translateY(-1px) !important;
  background: #eef6ff !important;
  border-color: rgba(7, 104, 169, .22) !important;
}

.home.home-dashboard .admin-action.active {
  color: #5b21b6 !important;
  background: linear-gradient(180deg, #f3e8ff, #f5f3ff) !important;
  border-color: rgba(124, 58, 237, .30) !important;
}

/* ADMIN CONTENIDO DE CADA PESTAÑA */
.home.home-dashboard .admin-panel,
.home.home-dashboard .admin-section,
.home.home-dashboard .admin-content,
.home.home-dashboard .admin-card,
.home.home-dashboard .admin-box,
.home.home-dashboard .admin-users,
.home.home-dashboard .admin-modules,
.home.home-dashboard .admin-corrections,
.home.home-dashboard .admin-security,
.home.home-dashboard #adminModulesPanel,
.home.home-dashboard #adminUsersPanel,
.home.home-dashboard #adminCorrectionsPanel,
.home.home-dashboard #adminSecurityPanel,
.home.home-dashboard #admin-modules,
.home.home-dashboard #admin-users,
.home.home-dashboard #admin-corrections,
.home.home-dashboard #admin-security {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 26px !important;
  padding: 28px 32px !important;
  border-radius: 30px !important;
  border: 1px solid rgba(15, 23, 42, 0.085) !important;
  background: rgba(255, 255, 255, .975) !important;
  box-shadow: 0 18px 46px rgba(15, 23, 42, 0.06) !important;
}

/* Evita paneles admin estrechos como el de Seguridad */
.home.home-dashboard .admin-panel > *,
.home.home-dashboard .admin-section > *,
.home.home-dashboard .admin-content > *,
.home.home-dashboard .admin-card > *,
.home.home-dashboard .admin-box > * {
  max-width: 100% !important;
}

.home.home-dashboard .admin-panel h3,
.home.home-dashboard .admin-section h3,
.home.home-dashboard .admin-content h3,
.home.home-dashboard .admin-card h3,
.home.home-dashboard .admin-box h3,
.home.home-dashboard .admin-panel h4,
.home.home-dashboard .admin-section h4,
.home.home-dashboard .admin-content h4 {
  margin: 0 0 10px !important;
  color: #0f172a !important;
  font-size: clamp(24px, 2.5vw, 34px) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.045em !important;
  font-weight: 950 !important;
}

.home.home-dashboard .admin-panel p,
.home.home-dashboard .admin-section p,
.home.home-dashboard .admin-content p,
.home.home-dashboard .admin-card p,
.home.home-dashboard .admin-box p {
  color: #5f6f89 !important;
  font-size: 16px !important;
  line-height: 1.58 !important;
  max-width: 900px !important;
}

/* Botones admin internos */
.home.home-dashboard .admin-panel button,
.home.home-dashboard .admin-section button,
.home.home-dashboard .admin-content button,
.home.home-dashboard .admin-card button,
.home.home-dashboard .admin-box button,
.home.home-dashboard .admin-tools button {
  appearance: none !important;
  min-height: 48px !important;
  padding: 0 20px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(15, 23, 42, 0.10) !important;
  background: #f8fafc !important;
  color: #0f172a !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

/* Tablas admin: encajadas y responsivas */
.home.home-dashboard table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  table-layout: auto !important;
  margin-top: 14px !important;
  color: #0f172a !important;
}

.home.home-dashboard th,
.home.home-dashboard td {
  padding: 12px 12px !important;
  border-bottom: 1px solid rgba(15, 23, 42, .075) !important;
  text-align: left !important;
  vertical-align: top !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
}

.home.home-dashboard th {
  color: #0f172a !important;
  font-weight: 950 !important;
  background: rgba(248, 250, 252, .8) !important;
}

.home.home-dashboard .admin-table-wrap,
.home.home-dashboard .table-wrap,
.home.home-dashboard .table-responsive,
.home.home-dashboard [class*="table"] {
  max-width: 100% !important;
  overflow-x: auto !important;
}

/* Métricas mal pegadas tipo 0Usuarios -> separarlas si son bloques */
.home.home-dashboard .admin-stats,
.home.home-dashboard .security-stats,
.home.home-dashboard .stats-grid,
.home.home-dashboard [class*="stats"] {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin: 16px 0 !important;
}

.home.home-dashboard .admin-stats > *,
.home.home-dashboard .security-stats > *,
.home.home-dashboard .stats-grid > *,
.home.home-dashboard [class*="stats"] > * {
  min-width: 150px !important;
  padding: 14px 16px !important;
  border-radius: 16px !important;
  background: #f8fafc !important;
  border: 1px solid rgba(15, 23, 42, .075) !important;
}

/* MÓDULOS MÁS GRANDES */
.home.home-dashboard .home-section-title {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin: 34px 0 10px !important;
  color: #0f172a !important;
  font-size: clamp(42px, 4.8vw, 64px) !important;
  line-height: .96 !important;
  letter-spacing: -0.065em !important;
  font-weight: 950 !important;
}

.home.home-dashboard .home-section-title::before {
  content: "" !important;
  width: 26px !important;
  height: 26px !important;
  border-radius: 10px !important;
  background: linear-gradient(135deg, #0f73ba, #d9b629) !important;
  flex: 0 0 auto !important;
}

.home.home-dashboard .home-section-title::after {
  content: none !important;
  display: none !important;
}

.home.home-dashboard .home-section-subtitle {
  max-width: 900px !important;
  margin: 0 0 26px !important;
  color: #5f6f89 !important;
  font-size: 18px !important;
  line-height: 1.55 !important;
}

.home.home-dashboard .grid {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(330px, 1fr)) !important;
  gap: 24px !important;
  align-items: stretch !important;
}

.home.home-dashboard .selector {
  min-height: 370px !important;
  padding: 30px !important;
  border-radius: 32px !important;
  border: 1px solid rgba(15, 23, 42, 0.085) !important;
  background:
    radial-gradient(280px 180px at 88% 8%, rgba(7, 104, 169, 0.07), transparent 70%),
    linear-gradient(180deg, rgba(255,255,255,.99), rgba(255,255,255,.965)) !important;
  box-shadow: 0 20px 50px rgba(15, 23, 42, 0.07) !important;
}

.home.home-dashboard .selector h2 {
  margin: 18px 0 12px !important;
  color: #0f172a !important;
  font-size: 28px !important;
  line-height: 1.05 !important;
  letter-spacing: -0.05em !important;
  font-weight: 950 !important;
}

.home.home-dashboard .selector p {
  color: #5f6f89 !important;
  font-size: 16px !important;
  line-height: 1.58 !important;
}

.home.home-dashboard .selector img,
.home.home-dashboard .selector .module-logo,
.home.home-dashboard .selector .icon {
  max-width: 88px !important;
  max-height: 88px !important;
}

/* Inputs/selects internos admin */
.home.home-dashboard input,
.home.home-dashboard select,
.home.home-dashboard textarea {
  border-radius: 14px !important;
  border: 1px solid rgba(15, 23, 42, .12) !important;
  background: #ffffff !important;
  color: #0f172a !important;
  min-height: 42px !important;
}

/* Responsive */
@media (max-width: 980px) {
  .home.home-dashboard {
    width: min(100% - 20px, 100%) !important;
    padding-top: 12px !important;
  }

  .home.home-dashboard .account-card.visual-card,
  .home.home-dashboard .admin-hub,
  .home.home-dashboard .admin-panel,
  .home.home-dashboard .admin-section,
  .home.home-dashboard .admin-content,
  .home.home-dashboard .admin-card,
  .home.home-dashboard .admin-box {
    padding: 22px !important;
    border-radius: 26px !important;
  }

  .home.home-dashboard .account-main-grid {
    grid-template-columns: 1fr !important;
  }

  .home.home-dashboard .admin-action {
    flex: 1 1 auto !important;
  }

  .home.home-dashboard .grid {
    grid-template-columns: 1fr !important;
  }

  .home.home-dashboard .selector {
    min-height: 300px !important;
  }
}

/* ---- bloque extraído ---- */

/* V86: FIX REAL de administración y módulos.
   Problema raíz: los paneles de las pestañas de admin son <section class="auth-card">,
   y .auth-card tenía width:min(100%,700px). Por eso quedaban pequeños.
   Esta capa solo corrige presentación. No cambia JS, Supabase ni lógica. */

.home.home-dashboard {
  width: min(100% - 40px, 1400px) !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 24px 0 64px !important;
}

/* Todas las secciones directas de dashboard alineadas al mismo ancho */
.home.home-dashboard > .account-card.visual-card,
.home.home-dashboard > .admin-hub,
.home.home-dashboard > section.auth-card,
.home.home-dashboard > .home-section,
.home.home-dashboard > .grid,
.home.home-dashboard > [data-admin-panel] {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

/* Tarjetas de Mi Cuenta, Administración y pestañas admin con la misma estética */
.home.home-dashboard > .account-card.visual-card,
.home.home-dashboard > .admin-hub,
.home.home-dashboard > section.auth-card {
  padding: 30px 34px !important;
  border-radius: 32px !important;
  border: 1px solid rgba(15, 23, 42, 0.085) !important;
  background:
    radial-gradient(760px 260px at 96% 0%, rgba(255, 204, 0, 0.075), transparent 64%),
    linear-gradient(180deg, rgba(255,255,255,.99), rgba(255,255,255,.965)) !important;
  box-shadow: 0 22px 58px rgba(15, 23, 42, 0.075) !important;
}

/* Evita que .auth-card genérico de login limite los paneles internos */
.home.home-dashboard section.auth-card {
  width: 100% !important;
  max-width: none !important;
  margin-top: 24px !important;
  backdrop-filter: none !important;
}

/* Cabecera admin */
.home.home-dashboard .admin-hub h3,
.home.home-dashboard section.auth-card .sync-copy h3 {
  margin: 0 0 8px !important;
  color: #0f172a !important;
  font-size: clamp(30px, 3.1vw, 46px) !important;
  line-height: 1 !important;
  letter-spacing: -0.055em !important;
  font-weight: 950 !important;
}

.home.home-dashboard .admin-hub p,
.home.home-dashboard section.auth-card .sync-copy p {
  margin: 0 0 20px !important;
  max-width: 980px !important;
  color: #5f6f89 !important;
  font-size: 16px !important;
  line-height: 1.58 !important;
}

/* Botonera admin superior */
.home.home-dashboard .admin-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}

.home.home-dashboard .admin-action {
  appearance: none !important;
  min-height: 52px !important;
  padding: 0 24px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(15, 23, 42, 0.10) !important;
  background: #f8fafc !important;
  color: #0f172a !important;
  font-size: 16px !important;
  font-weight: 950 !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

.home.home-dashboard .admin-action.active {
  color: #5b21b6 !important;
  background: linear-gradient(180deg, #f3e8ff, #f5f3ff) !important;
  border-color: rgba(124, 58, 237, .30) !important;
}

/* Filas de formulario/admin: mejor distribución */
.home.home-dashboard section.auth-card .auth-row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
}

.home.home-dashboard section.auth-card .auth-input {
  min-height: 56px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(15, 23, 42, .12) !important;
  background: #fff !important;
  padding: 0 18px !important;
  color: #0f172a !important;
  font-size: 15px !important;
}

.home.home-dashboard section.auth-card input.auth-input[type="search"] {
  flex: 1 1 460px !important;
  min-width: 280px !important;
}

.home.home-dashboard section.auth-card select.auth-input {
  flex: 0 0 220px !important;
  max-width: 260px !important;
}

.home.home-dashboard section.auth-card .auth-btn,
.home.home-dashboard section.auth-card button {
  appearance: none !important;
  min-height: 52px !important;
  padding: 0 20px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(15, 23, 42, 0.10) !important;
  background: #f8fafc !important;
  color: #0f172a !important;
  font-size: 15px !important;
  font-weight: 950 !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

.home.home-dashboard section.auth-card .auth-btn.primary,
.home.home-dashboard section.auth-card button.primary,
.home.home-dashboard section.auth-card #overrideRefreshBtn,
.home.home-dashboard section.auth-card #adminRefreshSecurityBtn,
.home.home-dashboard section.auth-card #adminRefreshUsersBtn,
.home.home-dashboard section.auth-card #openCreateUserBtn {
  color: #fff !important;
  border-color: transparent !important;
  background: linear-gradient(135deg, #1d4ed8, #0f766e) !important;
}

/* USUARIOS: dos columnas grandes y proporcionadas */
.home.home-dashboard .admin-user-grid {
  display: grid !important;
  grid-template-columns: minmax(360px, .95fr) minmax(520px, 1.25fr) !important;
  gap: 18px !important;
  margin-top: 18px !important;
  width: 100% !important;
  align-items: start !important;
}

.home.home-dashboard .user-list,
.home.home-dashboard .user-detail-card {
  width: 100% !important;
  min-height: 260px !important;
  padding: 18px !important;
  border-radius: 24px !important;
  border: 1px solid rgba(15, 23, 42, .08) !important;
  background: #f8fafc !important;
  overflow: auto !important;
}

.home.home-dashboard .user-pick {
  width: 100% !important;
  display: block !important;
  text-align: left !important;
  margin: 0 0 10px !important;
  padding: 14px 16px !important;
  border-radius: 16px !important;
  background: #fff !important;
}

.home.home-dashboard .module-toggle-list {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)) !important;
  gap: 10px !important;
  margin-top: 16px !important;
}

/* SEGURIDAD: panel y métricas bien distribuidas */
.home.home-dashboard .security-panel {
  width: 100% !important;
  max-width: none !important;
}

.home.home-dashboard .security-summary {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin: 18px 0 14px !important;
  width: 100% !important;
}

.home.home-dashboard .security-stat {
  min-height: 84px !important;
  padding: 18px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(15, 23, 42, .08) !important;
  background: #f8fafc !important;
}

.home.home-dashboard .security-stat strong {
  display: block !important;
  color: #0f172a !important;
  font-size: 24px !important;
  line-height: 1 !important;
  margin-bottom: 8px !important;
}

.home.home-dashboard .security-stat span {
  color: #64748b !important;
  font-size: 13px !important;
  font-weight: 850 !important;
}

/* CORRECCIONES: filtros y contenido a ancho completo */
.home.home-dashboard .question-search-box {
  width: 100% !important;
  margin-top: 18px !important;
  padding: 22px !important;
  border-radius: 24px !important;
  border: 1px solid rgba(7, 104, 169, .12) !important;
  background: #eef6ff !important;
}

.home.home-dashboard .question-search-box .auth-row {
  display: grid !important;
  grid-template-columns: minmax(220px, .85fr) minmax(260px, 1fr) minmax(260px, 1fr) minmax(220px, .75fr) !important;
  gap: 14px !important;
  align-items: end !important;
}

.home.home-dashboard .question-search-box .auth-row > div,
.home.home-dashboard .question-search-box .auth-row > input,
.home.home-dashboard .question-search-box .auth-row > select {
  width: 100% !important;
  min-width: 0 !important;
}

.home.home-dashboard .question-search-box label {
  display: block !important;
  margin-bottom: 6px !important;
  color: #0f172a !important;
  font-weight: 850 !important;
}

.home.home-dashboard .override-list,
.home.home-dashboard .question-results,
.home.home-dashboard .question-preview,
.home.home-dashboard .override-form {
  width: 100% !important;
  max-width: none !important;
}


.home.home-dashboard .override-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  gap: 14px !important;
  width: 100% !important;
}

.home.home-dashboard .override-grid > .wide {
  grid-column: 1 / -1 !important;
}

.home.home-dashboard .question-results,
.home.home-dashboard .override-list {
  display: grid !important;
  gap: 14px !important;
  margin-top: 14px !important;
}

.home.home-dashboard .question-search-row,
.home.home-dashboard .override-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 16px !important;
  align-items: center !important;
  padding: 18px 18px !important;
  border-radius: 20px !important;
  border: 1px solid rgba(15, 23, 42, .08) !important;
  background: #ffffff !important;
  box-shadow: 0 8px 22px rgba(15, 23, 42, .05) !important;
}

.home.home-dashboard .override-row.delete-mark {
  border-color: rgba(239, 68, 68, .24) !important;
  background: linear-gradient(180deg, #fffefe 0%, #fff7f7 100%) !important;
}

.home.home-dashboard .question-search-row > div:first-child,
.home.home-dashboard .override-row > div:first-child {
  min-width: 0 !important;
}

.home.home-dashboard .question-search-row strong,
.home.home-dashboard .override-row strong {
  display: block !important;
  margin-bottom: 6px !important;
  color: #0f172a !important;
  font-size: 19px !important;
  line-height: 1.18 !important;
  letter-spacing: -.02em !important;
}

.home.home-dashboard .question-search-row small,
.home.home-dashboard .override-row small {
  display: block !important;
  margin-top: 3px !important;
  color: #64748b !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

.home.home-dashboard .override-row small:last-child {
  margin-top: 8px !important;
  padding-top: 8px !important;
  border-top: 1px dashed rgba(148, 163, 184, .35) !important;
}

.home.home-dashboard .question-search-actions,
.home.home-dashboard .override-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  align-items: center !important;
  justify-content: flex-end !important;
}

.home.home-dashboard .question-search-actions button,
.home.home-dashboard .override-actions button {
  appearance: none !important;
  border: 1px solid rgba(15, 23, 42, .10) !important;
  background: #f8fafc !important;
  color: #0f172a !important;
  min-height: 44px !important;
  padding: 0 16px !important;
  border-radius: 14px !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  cursor: pointer !important;
}

.home.home-dashboard .question-search-actions button:first-child,
.home.home-dashboard .override-actions button:first-child {
  background: linear-gradient(135deg, #eff6ff 0%, #eef2ff 100%) !important;
  border-color: rgba(59, 130, 246, .16) !important;
  color: #1d4ed8 !important;
}

.home.home-dashboard .question-search-actions button:last-child,
.home.home-dashboard .override-actions button:not(.danger):last-child {
  background: linear-gradient(135deg, #effcf6 0%, #ecfeff 100%) !important;
  border-color: rgba(16, 185, 129, .16) !important;
  color: #047857 !important;
}

.home.home-dashboard .override-actions .danger {
  background: linear-gradient(135deg, #fff1f2 0%, #fff7f7 100%) !important;
  border-color: rgba(239, 68, 68, .18) !important;
  color: #b91c1c !important;
}

.home.home-dashboard .override-list > h4,
.home.home-dashboard .override-list > h3 {
  margin: 0 0 8px !important;
}

@media (max-width: 900px) {
  .home.home-dashboard .question-search-row,
  .home.home-dashboard .override-row {
    grid-template-columns: 1fr !important;
    align-items: start !important;
  }

  .home.home-dashboard .question-search-actions,
  .home.home-dashboard .override-actions {
    justify-content: flex-start !important;
  }
}

/* Tablas: anchas, legibles, con scroll si hace falta */
.home.home-dashboard section.auth-card table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  table-layout: auto !important;
  margin-top: 14px !important;
  overflow: hidden !important;
  border-radius: 18px !important;
  border: 1px solid rgba(15, 23, 42, .08) !important;
}

.home.home-dashboard section.auth-card th,
.home.home-dashboard section.auth-card td {
  padding: 13px 14px !important;
  border-bottom: 1px solid rgba(15, 23, 42, .07) !important;
  text-align: left !important;
  vertical-align: top !important;
  font-size: 14px !important;
  line-height: 1.38 !important;
}

.home.home-dashboard section.auth-card th {
  color: #0f172a !important;
  background: #f8fafc !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
  letter-spacing: .02em !important;
}

/* MÓDULOS GRANDES Y CLAROS */
.home.home-dashboard .home-section-title {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin: 38px 0 10px !important;
  color: #0f172a !important;
  font-size: clamp(44px, 5vw, 66px) !important;
  line-height: .96 !important;
  letter-spacing: -0.065em !important;
  font-weight: 950 !important;
}

.home.home-dashboard .home-section-title::before {
  content: "" !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 10px !important;
  flex: 0 0 auto !important;
  background: linear-gradient(135deg, #0f73ba, #d9b629) !important;
}

.home.home-dashboard .home-section-title::after {
  content: none !important;
  display: none !important;
}

.home.home-dashboard .home-section-subtitle {
  max-width: 940px !important;
  margin: 0 0 28px !important;
  color: #5f6f89 !important;
  font-size: 18px !important;
  line-height: 1.55 !important;
}

.home.home-dashboard .grid {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(380px, 1fr)) !important;
  gap: 24px !important;
  align-items: stretch !important;
  margin-top: 0 !important;
}

.home.home-dashboard .selector {
  min-height: 410px !important;
  padding: 32px !important;
  border-radius: 34px !important;
  border: 1px solid rgba(15, 23, 42, 0.085) !important;
  background:
    radial-gradient(300px 200px at 88% 8%, rgba(7, 104, 169, 0.075), transparent 70%),
    linear-gradient(180deg, rgba(255,255,255,.995), rgba(255,255,255,.965)) !important;
  box-shadow: 0 22px 54px rgba(15, 23, 42, 0.075) !important;
}

.home.home-dashboard .selector .h2d-card-mark.has-logo,
.home.home-dashboard .selector .module-logo,
.home.home-dashboard .selector img {
  max-width: 96px !important;
  max-height: 96px !important;
}

.home.home-dashboard .selector h2 {
  margin: 20px 0 12px !important;
  color: #0f172a !important;
  font-size: 30px !important;
  line-height: 1.04 !important;
  letter-spacing: -0.05em !important;
  font-weight: 950 !important;
}

.home.home-dashboard .selector p {
  color: #5f6f89 !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
}

/* Responsive */
@media (max-width: 1100px) {
  .home.home-dashboard .admin-user-grid,
  .home.home-dashboard .question-search-box .auth-row {
    grid-template-columns: 1fr !important;
  }

  .home.home-dashboard .security-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 820px) {
  .home.home-dashboard {
    width: min(100% - 20px, 100%) !important;
    padding-top: 12px !important;
  }

  .home.home-dashboard > .account-card.visual-card,
  .home.home-dashboard > .admin-hub,
  .home.home-dashboard > section.auth-card {
    padding: 22px !important;
    border-radius: 26px !important;
  }

  .home.home-dashboard .account-main-grid {
    grid-template-columns: 1fr !important;
  }

  .home.home-dashboard .grid {
    grid-template-columns: 1fr !important;
  }

  .home.home-dashboard .selector {
    min-height: 320px !important;
    padding: 24px !important;
  }

  .home.home-dashboard .security-summary {
    grid-template-columns: 1fr !important;
  }
}

/* ---- bloque extraído ---- */

/* H2D V99.2 · ayuda robusta y aviso de sesión pendiente premium */
.home .pending-draft-pill{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  width:max-content !important;
  max-width:100% !important;
  margin:10px 0 0 !important;
  padding:8px 11px !important;
  border-radius:999px !important;
  border:1px solid rgba(37,99,235,.16) !important;
  background:linear-gradient(135deg,rgba(239,246,255,.98),rgba(236,253,245,.92)) !important;
  color:#0f172a !important;
  font-size:12px !important;
  font-weight:950 !important;
  letter-spacing:.02em !important;
  box-shadow:0 10px 22px rgba(15,23,42,.055) !important;
}
.home .pending-draft-pill::before{
  content:'⏳' !important;
  display:inline-grid !important;
  place-items:center !important;
  width:22px !important;
  height:22px !important;
  border-radius:9px !important;
  background:#eef2ff !important;
  box-shadow:inset 0 0 0 1px rgba(99,102,241,.14) !important;
}
.home .pending-draft-pill .pending-dot{
  width:8px !important;
  height:8px !important;
  border-radius:999px !important;
  background:#22c55e !important;
  box-shadow:0 0 0 5px rgba(34,197,94,.12) !important;
  flex:0 0 auto !important;
}
.home .selector[data-open="cgpc"] .pending-draft-pill{
  border-color:rgba(249,115,22,.22) !important;
  background:linear-gradient(135deg,#fff7ed,#fff1f2) !important;
}
.home .selector[data-open="cgpc"] .pending-draft-pill::before{background:#ffedd5 !important;}
.home .selector[data-open="supuestos_tipo_test"] .pending-draft-pill{
  border-color:rgba(124,58,237,.2) !important;
  background:linear-gradient(135deg,#f5f3ff,#eff6ff) !important;
}
.home .selector[data-open="supuestos_tipo_test"] .pending-draft-pill::before{background:#ede9fe !important;}
.home .selector[data-open="english"] .pending-draft-pill{
  border-color:rgba(20,184,166,.2) !important;
  background:linear-gradient(135deg,#ecfdf5,#ecfeff) !important;
}
.home .selector[data-open="english"] .pending-draft-pill::before{background:#ccfbf1 !important;}
.home .selector:has(.pending-draft-pill:not([style*="display:none"])) .enter{
  border-top-color:rgba(37,99,235,.14) !important;
}
.home .h2d-help-pro-btn{
  pointer-events:auto !important;
  user-select:none !important;
}
.help-modal, #helpModal{
  position:fixed !important;
  inset:0 !important;
  z-index:999999 !important;
}
@media(max-width:760px){
  .home .pending-draft-pill{font-size:11px !important; padding:7px 9px !important;}
}

/* ---- bloque extraído ---- */

/* H2D V99.3 · visibilidad real de sesiones pendientes y ayuda premium */
.home .pending-draft-pill[style*="display:none"],
.home .pending-draft-pill[style*="display: none"]{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.home .selector:not(:has(.pending-draft-pill:not([style*="display:none"]):not([style*="display: none"]))) .pending-draft-pill{
  display:none !important;
}
.home .selector:has(.pending-draft-pill:not([style*="display:none"]):not([style*="display: none"])){
  border-color:rgba(37,99,235,.14) !important;
}
.home .account-head{
  align-items:flex-start !important;
  gap:18px !important;
}
.home .h2d-help-pro-btn{
  position:absolute !important;
  top:2px !important;
  right:0 !important;
  min-width:156px !important;
  height:62px !important;
  padding:9px 16px 9px 12px !important;
  border-radius:22px !important;
  border:1px solid rgba(15,23,42,.10) !important;
  background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(248,250,252,.96)) !important;
  color:#0f172a !important;
  box-shadow:0 16px 34px rgba(15,23,42,.08), inset 0 1px 0 rgba(255,255,255,.9) !important;
  display:inline-grid !important;
  grid-template-columns:34px 1fr !important;
  column-gap:10px !important;
  align-items:center !important;
  justify-items:start !important;
  text-align:left !important;
  cursor:pointer !important;
}
.home .h2d-help-pro-btn span{
  width:34px !important;
  height:34px !important;
  border-radius:14px !important;
  display:grid !important;
  place-items:center !important;
  background:linear-gradient(135deg,#e0f2fe,#fef9c3) !important;
  color:#075985 !important;
  box-shadow:inset 0 0 0 1px rgba(14,165,233,.16) !important;
  font-size:16px !important;
  font-weight:950 !important;
}
.home .h2d-help-pro-btn strong{
  display:block !important;
  color:#0f172a !important;
  font-size:16px !important;
  line-height:1.05 !important;
  font-weight:950 !important;
  letter-spacing:-.01em !important;
}
.home .h2d-help-pro-btn strong::after{
  content:'Guía rápida' !important;
  display:block !important;
  margin-top:4px !important;
  color:#64748b !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:850 !important;
  letter-spacing:.02em !important;
}
.home .h2d-help-pro-btn:hover{
  transform:translateY(-1px) !important;
  border-color:rgba(14,165,233,.20) !important;
  box-shadow:0 20px 44px rgba(15,23,42,.11), inset 0 1px 0 rgba(255,255,255,.9) !important;
}
@media(max-width:760px){
  .home .account-head{padding-right:0 !important;}
  .home .h2d-help-pro-btn{
    position:static !important;
    width:100% !important;
    margin-top:10px !important;
    min-width:0 !important;
  }
}

/* ---- bloque extraído ---- */

/* H2D V99.4 · ayuda modal premium y documentación de soporte */
#helpModal.help-modal,
.help-modal#helpModal{
  position:fixed !important;
  inset:0 !important;
  z-index:2147483647 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:22px !important;
  background:rgba(15,23,42,.58) !important;
  backdrop-filter:blur(10px) saturate(1.05) !important;
  -webkit-backdrop-filter:blur(10px) saturate(1.05) !important;
  overflow:auto !important;
}
#helpModal .help-card{
  width:min(980px,100%) !important;
  max-height:calc(100vh - 44px) !important;
  overflow:auto !important;
  border-radius:30px !important;
  padding:30px !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(255,204,0,.16), transparent 28%),
    radial-gradient(circle at 0% 0%, rgba(7,104,169,.13), transparent 32%),
    linear-gradient(180deg,#ffffff 0%,#f8fafc 100%) !important;
  border:1px solid rgba(226,232,240,.95) !important;
  box-shadow:0 36px 90px rgba(15,23,42,.34), inset 0 1px 0 rgba(255,255,255,.90) !important;
  color:#0f172a !important;
  font-family:inherit !important;
  position:relative !important;
}
#helpModal .help-card::before{
  content:'' !important;
  position:absolute !important;
  inset:0 0 auto 0 !important;
  height:5px !important;
  border-radius:30px 30px 0 0 !important;
  background:linear-gradient(90deg,#0768A9,#12BFA5,#FFCC00) !important;
}
#helpModal .help-card h3{
  margin:0 !important;
  color:#0f172a !important;
  font-size:clamp(28px,4vw,46px) !important;
  line-height:1 !important;
  letter-spacing:-.055em !important;
  font-weight:950 !important;
}
#helpModal .help-subtitle{
  margin:12px 0 22px !important;
  max-width:760px !important;
  color:#52637d !important;
  font-size:16px !important;
  line-height:1.55 !important;
}
#helpModal .help-tabs{
  display:flex !important;
  gap:10px !important;
  margin:0 0 22px !important;
  padding:6px !important;
  width:max-content !important;
  max-width:100% !important;
  border-radius:18px !important;
  background:rgba(241,245,249,.82) !important;
  border:1px solid rgba(226,232,240,.9) !important;
}
#helpModal .help-tab{
  appearance:none !important;
  border:0 !important;
  border-radius:14px !important;
  padding:11px 16px !important;
  background:transparent !important;
  color:#64748b !important;
  font-size:14px !important;
  font-weight:950 !important;
  cursor:pointer !important;
}
#helpModal .help-tab.active{
  color:#075f9a !important;
  background:#fff !important;
  box-shadow:0 8px 18px rgba(15,23,42,.08) !important;
}
#helpModal .help-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr)) !important;
  gap:14px !important;
  margin-top:14px !important;
}
#helpModal .help-block,
#helpModal .faq-item{
  margin:0 !important;
  padding:18px !important;
  border-radius:22px !important;
  background:rgba(255,255,255,.88) !important;
  border:1px solid rgba(226,232,240,.88) !important;
  box-shadow:0 10px 24px rgba(15,23,42,.055) !important;
}
#helpModal .help-block h4,
#helpModal .faq-item h4{
  margin:0 0 8px !important;
  color:#0f172a !important;
  font-size:15px !important;
  line-height:1.25 !important;
  font-weight:950 !important;
}
#helpModal .help-block p,
#helpModal .faq-item p{
  margin:0 !important;
  color:#52637d !important;
  font-size:14px !important;
  line-height:1.55 !important;
}
#helpModal .help-card > h4{
  margin:24px 0 8px !important;
  color:#0f172a !important;
  font-size:18px !important;
  font-weight:950 !important;
}
#helpModal .help-close-row{
  display:flex !important;
  justify-content:flex-end !important;
  margin-top:24px !important;
  padding-top:18px !important;
  border-top:1px solid rgba(226,232,240,.9) !important;
}
#helpModal #closeHelpBtn{
  min-height:50px !important;
  padding:0 22px !important;
  border-radius:16px !important;
  border:0 !important;
  background:linear-gradient(135deg,#2563eb,#0f766e) !important;
  color:#fff !important;
  font-weight:950 !important;
  box-shadow:0 14px 28px rgba(37,99,235,.20) !important;
  cursor:pointer !important;
}
body.modal-open{
  overflow:hidden !important;
}
@media(max-width:680px){
  #helpModal.help-modal{padding:10px !important; align-items:flex-start !important;}
  #helpModal .help-card{padding:22px !important; border-radius:24px !important; max-height:calc(100vh - 20px) !important;}
  #helpModal .help-card h3{font-size:32px !important;}
  #helpModal .help-tabs{width:100% !important;}
  #helpModal .help-tab{flex:1 !important;}
  #helpModal .help-close-row{justify-content:stretch !important;}
  #helpModal #closeHelpBtn{width:100% !important;}
}

/* ---- bloque extraído ---- */

/* H2D V99.8 · pulido visual del botón Ayuda en inicio de sesión. Solo CSS. */
.home.home-public .account-head{
  position:relative !important;
  padding-right:204px !important;
  min-height:96px !important;
  gap:18px !important;
}
.home.home-public .h2d-help-pro-btn{
  position:absolute !important;
  top:0 !important;
  right:0 !important;
  width:186px !important;
  min-width:186px !important;
  height:66px !important;
  min-height:66px !important;
  padding:10px 14px 10px 12px !important;
  border-radius:22px !important;
  border:1px solid rgba(148,163,184,.30) !important;
  background:linear-gradient(135deg,rgba(255,255,255,.99),rgba(248,252,255,.96)) !important;
  color:#0f172a !important;
  box-shadow:0 14px 30px rgba(15,23,42,.075), inset 0 1px 0 rgba(255,255,255,.96) !important;
  display:grid !important;
  grid-template-columns:40px minmax(0,1fr) 10px !important;
  column-gap:11px !important;
  align-items:center !important;
  justify-items:start !important;
  text-align:left !important;
  overflow:hidden !important;
  isolation:isolate !important;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease !important;
}
.home.home-public .h2d-help-pro-btn::before{
  content:"" !important;
  position:absolute !important;
  inset:1px !important;
  border-radius:21px !important;
  background:radial-gradient(90px 58px at 24px 50%, rgba(14,165,233,.08), transparent 68%) !important;
  pointer-events:none !important;
  z-index:-1 !important;
}
.home.home-public .h2d-help-pro-btn::after{
  content:'›' !important;
  grid-column:3 !important;
  justify-self:end !important;
  color:#94a3b8 !important;
  font-size:24px !important;
  line-height:1 !important;
  font-weight:900 !important;
  transform:translateY(-1px) !important;
}
.home.home-public .h2d-help-pro-btn span{
  width:40px !important;
  height:40px !important;
  border-radius:16px !important;
  display:grid !important;
  place-items:center !important;
  background:linear-gradient(135deg,#dff6ff 0%,#fff7c9 100%) !important;
  color:#0768A9 !important;
  box-shadow:inset 0 0 0 1px rgba(7,104,169,.14), 0 6px 14px rgba(7,104,169,.08) !important;
  font-size:18px !important;
  font-weight:950 !important;
}
.home.home-public .h2d-help-pro-btn strong{
  display:block !important;
  min-width:0 !important;
  color:#0f172a !important;
  font-size:16px !important;
  line-height:1.05 !important;
  font-weight:950 !important;
  letter-spacing:-.018em !important;
  white-space:nowrap !important;
}
.home.home-public .h2d-help-pro-btn strong::after{
  content:'Guía rápida' !important;
  display:block !important;
  margin-top:5px !important;
  color:#64748b !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:850 !important;
  letter-spacing:.01em !important;
  white-space:nowrap !important;
}
.home.home-public .h2d-help-pro-btn:hover{
  transform:translateY(-1px) !important;
  border-color:rgba(7,104,169,.24) !important;
  background:linear-gradient(135deg,#ffffff,#f4fbff) !important;
  box-shadow:0 18px 38px rgba(15,23,42,.10), inset 0 1px 0 rgba(255,255,255,.98) !important;
}
.home.home-public .h2d-help-pro-btn:focus-visible{
  outline:3px solid rgba(7,104,169,.18) !important;
  outline-offset:3px !important;
}
@media(max-width:680px){
  .home.home-public .account-head{
    padding-right:0 !important;
    min-height:0 !important;
    display:grid !important;
    grid-template-columns:54px minmax(0,1fr) !important;
    align-items:start !important;
  }
  .home.home-public .h2d-help-pro-btn{
    grid-column:1/-1 !important;
    position:relative !important;
    width:100% !important;
    min-width:0 !important;
    height:58px !important;
    min-height:58px !important;
    margin:8px 0 0 !important;
    grid-template-columns:36px minmax(0,1fr) 10px !important;
  }
  .home.home-public .h2d-help-pro-btn span{
    width:36px !important;
    height:36px !important;
    border-radius:14px !important;
  }
}

/* ---- bloque extraído ---- */

/* V99.26 · correcciones: una sola lupa y vista rápida funcional */
.home.home-dashboard .question-search-box::before{
  display:none!important;
  content:none!important;
}
.home.home-dashboard .question-search-box>strong::before{
  content:'🔎'!important;
  display:inline-flex!important;
  width:36px!important;
  height:36px!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 36px!important;
  border-radius:14px!important;
  background:#fff!important;
  border:1px solid rgba(59,130,246,.16)!important;
  box-shadow:0 8px 18px rgba(15,23,42,.06)!important;
}
.home.home-dashboard .question-search-box>strong{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
.home.home-dashboard .question-search-actions button:first-child{
  background:#f8fafc!important;
  color:#0f172a!important;
  border-color:#dbeafe!important;
}
#questionPreviewModal.create-user-modal{
  position:fixed!important;
  inset:0!important;
  z-index:99999!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
  padding:26px 16px!important;
  overflow:auto!important;
  background:rgba(15,23,42,.46)!important;
  backdrop-filter:blur(8px)!important;
}
#questionPreviewModal .create-user-card{
  width:min(920px,100%)!important;
  margin:auto!important;
  border-radius:28px!important;
  border:1px solid rgba(148,163,184,.28)!important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)!important;
  box-shadow:0 30px 90px rgba(15,23,42,.28)!important;
  padding:24px!important;
}
#questionPreviewModal h3{
  margin:0 0 8px!important;
  font-size:28px!important;
  line-height:1.05!important;
  letter-spacing:-.045em!important;
  color:#0f172a!important;
}
#questionPreviewModal p{
  color:#475569!important;
  line-height:1.5!important;
}
#questionPreviewModal .question-preview-meta{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin:14px 0!important;
}
#questionPreviewModal .question-preview-meta span{
  display:inline-flex!important;
  align-items:center!important;
  min-height:28px!important;
  padding:6px 10px!important;
  border-radius:999px!important;
  background:#eef2ff!important;
  color:#3730a3!important;
  font-size:12px!important;
  font-weight:900!important;
}
#questionPreviewModal .question-preview-text{
  margin-top:12px!important;
  padding:18px!important;
  border-radius:20px!important;
  background:#fff!important;
  border:1px solid #e2e8f0!important;
  color:#0f172a!important;
  font-size:17px!important;
  line-height:1.45!important;
  font-weight:800!important;
}
#questionPreviewModal .question-preview-options{
  display:grid!important;
  gap:10px!important;
  margin-top:14px!important;
}
#questionPreviewModal .question-preview-option{
  padding:13px 15px!important;
  border-radius:16px!important;
  border:1px solid #e2e8f0!important;
  background:#fff!important;
  color:#0f172a!important;
}
#questionPreviewModal .question-preview-option.correct{
  border-color:#86efac!important;
  background:#f0fdf4!important;
}
#questionPreviewModal .question-preview-block{
  margin-top:12px!important;
  padding:14px 16px!important;
  border-radius:18px!important;
  background:#f8fafc!important;
  border:1px solid #e2e8f0!important;
}
#questionPreviewModal .question-preview-block strong{
  display:block!important;
  margin-bottom:5px!important;
  color:#0f172a!important;
}
#questionPreviewModal .create-user-actions{
  display:flex!important;
  justify-content:flex-end!important;
  margin-top:18px!important;
}
@media(max-width:760px){
  #questionPreviewModal .create-user-card{padding:18px!important;border-radius:22px!important}
  #questionPreviewModal h3{font-size:23px!important}
}

/* ---- bloque extraído ---- */

/* Alta de usuarios: modal profesional, centrado y compacto */
#createUserModal.create-user-modal{
  position:fixed!important;
  inset:0!important;
  z-index:100000!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
  padding:24px 14px!important;
  overflow:auto!important;
  background:rgba(15,23,42,.52)!important;
  backdrop-filter:blur(10px)!important;
}
#createUserModal .create-user-card{
  width:min(920px,100%)!important;
  margin:0 auto!important;
  border-radius:28px!important;
  border:1px solid rgba(148,163,184,.32)!important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)!important;
  box-shadow:0 32px 90px rgba(15,23,42,.30)!important;
  padding:24px!important;
}
#createUserModal h3{margin:0 0 8px!important;font-size:28px!important;line-height:1.05!important;letter-spacing:-.045em!important;color:#0f172a!important}
#createUserModal p{margin:0 0 16px!important;color:#475569!important;line-height:1.5!important}
#createUserModal .create-user-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
#createUserModal .create-user-field label,#createUserModal .access-plan-field label{display:block!important;margin-bottom:6px!important;font-size:12px!important;font-weight:900!important;color:#334155!important;text-transform:uppercase!important;letter-spacing:.04em!important}
#createUserModal .auth-input{width:100%!important;border-radius:14px!important;border:1px solid #dbe3ef!important;background:#fff!important;min-height:44px!important;padding:10px 12px!important;font-size:14px!important}
#createUserModal .create-user-note{margin-top:12px!important;padding:12px 14px!important;border:1px solid #dbeafe!important;border-radius:16px!important;background:#eff6ff!important;color:#1e3a8a!important;font-size:13px!important;line-height:1.45!important}
#createUserModal .create-user-note strong{display:block!important;margin-bottom:3px!important;color:#172554!important}
#createUserModal .access-plan-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
#createUserModal .create-user-module-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important;gap:9px!important;margin-top:8px!important}
#createUserModal .create-user-module-grid label{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;padding:11px 12px!important;border:1px solid #e2e8f0!important;border-radius:14px!important;background:#fff!important;font-size:13px!important;font-weight:850!important;color:#0f172a!important}
#createUserModal .auth-status{margin:12px 0 0!important;border-radius:14px!important;padding:11px 12px!important;font-weight:850!important}
#createUserModal .create-user-actions{position:sticky!important;bottom:0!important;display:flex!important;justify-content:flex-end!important;gap:10px!important;margin:16px -24px -24px!important;padding:14px 24px!important;background:linear-gradient(180deg,rgba(248,251,255,.86),#fff)!important;border-top:1px solid #e2e8f0!important;border-radius:0 0 28px 28px!important}
#createUserModal .auth-btn{min-height:42px!important;border-radius:13px!important;font-weight:900!important}
#submitCreateUserBtn[disabled]{opacity:.76!important;cursor:wait!important}
@media(max-width:760px){#createUserModal{padding:12px!important}#createUserModal .create-user-card{padding:18px!important;border-radius:22px!important}#createUserModal .create-user-grid,#createUserModal .access-plan-grid{grid-template-columns:1fr!important}#createUserModal h3{font-size:23px!important}#createUserModal .create-user-actions{margin:14px -18px -18px!important;padding:12px 18px!important;border-radius:0 0 22px 22px!important}}

/* ---- bloque extraído ---- */

.home.home-dashboard section.auth-card:has(#overrideRefreshBtn){
  position:relative!important;
  overflow:hidden!important;
  border-radius:34px!important;
  border:1px solid rgba(15,23,42,.08)!important;
  background:
    radial-gradient(580px 260px at 100% 0%,rgba(250,204,21,.12),transparent 62%),
    linear-gradient(180deg,#ffffff 0%,#fbfdff 100%)!important;
  box-shadow:0 30px 80px rgba(15,23,42,.10)!important;
}
.home.home-dashboard section.auth-card:has(#overrideRefreshBtn)>.sync-copy{
  max-width:980px!important;
}
.home.home-dashboard section.auth-card:has(#overrideRefreshBtn)>.sync-copy h3{
  font-size:clamp(38px,4.5vw,58px)!important;
  line-height:.95!important;
  letter-spacing:-.07em!important;
  color:#0f172a!important;
}
.home.home-dashboard section.auth-card:has(#overrideRefreshBtn)>.sync-copy p{
  margin-top:14px!important;
  max-width:980px!important;
  font-size:17px!important;
  line-height:1.55!important;
  color:#53647f!important;
}
.home.home-dashboard section.auth-card:has(#overrideRefreshBtn)> .auth-row:first-of-type{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:12px!important;
  margin-top:22px!important;
}
.home.home-dashboard .question-search-box{
  margin-top:24px!important;
  padding:24px!important;
  border-radius:28px!important;
  background:
    radial-gradient(320px 160px at 100% 0%,rgba(14,165,233,.11),transparent 65%),
    linear-gradient(135deg,#f8fbff 0%,#edf6ff 100%)!important;
  border:1px solid rgba(59,130,246,.16)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 14px 32px rgba(59,130,246,.07)!important;
}
.home.home-dashboard .question-search-box>strong{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin-bottom:12px!important;
  color:#0f172a!important;
  font-size:18px!important;
  line-height:1.2!important;
  letter-spacing:-.025em!important;
}
.home.home-dashboard .question-search-box>strong::before{
  content:'🔎';
  display:inline-flex!important;
  width:34px!important;
  height:34px!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:12px!important;
  background:#fff!important;
  border:1px solid rgba(59,130,246,.14)!important;
  box-shadow:0 8px 18px rgba(15,23,42,.05)!important;
}
.home.home-dashboard .question-search-box .auth-row{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(180px,1fr))!important;
  gap:16px!important;
  align-items:end!important;
}
.home.home-dashboard .question-search-box .auth-row:nth-of-type(2){
  grid-template-columns:minmax(0,1fr) auto auto!important;
  margin-top:16px!important;
}
.home.home-dashboard .question-search-box .auth-input,
.home.home-dashboard .override-grid .auth-input{
  min-height:52px!important;
  border-radius:18px!important;
  border:1px solid rgba(148,163,184,.38)!important;
  background:#fff!important;
  box-shadow:0 8px 20px rgba(15,23,42,.04)!important;
}
.home.home-dashboard .question-search-box small{
  display:block!important;
  margin-top:12px!important;
  padding:10px 12px!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.72)!important;
  color:#475569!important;
  font-size:13px!important;
  line-height:1.45!important;
}
.home.home-dashboard .override-grid{
  margin-top:22px!important;
  padding:22px!important;
  border-radius:28px!important;
  border:1px solid rgba(15,23,42,.08)!important;
  background:#fff!important;
  box-shadow:0 18px 42px rgba(15,23,42,.055)!important;
}
.home.home-dashboard .override-grid::before{
  content:'Editor de corrección';
  grid-column:1/-1!important;
  display:block!important;
  margin-bottom:2px!important;
  color:#0f172a!important;
  font-size:21px!important;
  font-weight:950!important;
  letter-spacing:-.035em!important;
}
.home.home-dashboard .override-grid label{
  color:#0f172a!important;
  font-size:13px!important;
  font-weight:900!important;
}
.home.home-dashboard section.auth-card:has(#overrideRefreshBtn)>h4,
.home.home-dashboard section.auth-card:has(#overrideRefreshBtn) h4{
  margin-top:26px!important;
  margin-bottom:12px!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  font-size:22px!important;
  line-height:1.1!important;
  letter-spacing:-.04em!important;
  color:#0f172a!important;
}
.home.home-dashboard section.auth-card:has(#overrideRefreshBtn) h4::before{
  content:'🗂️';
  font-size:20px!important;
}
.home.home-dashboard .override-list{
  padding:0!important;
  border-radius:0!important;
  background:transparent!important;
}
@media(max-width:980px){
  .home.home-dashboard .question-search-box .auth-row,
  .home.home-dashboard .question-search-box .auth-row:nth-of-type(2){grid-template-columns:1fr!important}
}

/* V99.24: buscador profesional de correcciones */
.home.home-dashboard .question-search-box{position:relative;margin:18px 0 22px;padding:20px;border:1px solid #bfdbfe;border-radius:24px;background:linear-gradient(135deg,#f8fbff 0%,#eef6ff 55%,#f8fafc 100%);box-shadow:0 16px 38px rgba(15,23,42,.075);overflow:hidden}
.home.home-dashboard .question-search-box:before{content:'🔎';display:inline-grid;place-items:center;width:38px;height:38px;margin-right:10px;border-radius:14px;background:#fff;border:1px solid #dbeafe;box-shadow:0 8px 20px rgba(37,99,235,.08);vertical-align:middle}
.home.home-dashboard .question-search-box>strong{font-size:18px;font-weight:950;color:#0f172a;vertical-align:middle}
.home.home-dashboard .question-search-box .auth-row{margin-top:14px;gap:12px;align-items:end}
.home.home-dashboard .question-search-box label{display:block;margin-bottom:7px;font-size:12px;font-weight:950;color:#0f172a;letter-spacing:.01em}
.home.home-dashboard .question-search-box #overrideSearchQuery{min-height:58px;font-size:15px;border-radius:18px;box-shadow:0 10px 28px rgba(15,23,42,.05)}
.home.home-dashboard .question-search-results{margin-top:14px;display:grid;gap:10px}
.home.home-dashboard .question-search-results>small{display:block;padding:13px 16px;border-radius:16px;background:rgba(255,255,255,.78);border:1px solid #e5e7eb;color:#475569;font-weight:700}
.home.home-dashboard .question-search-row{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:14px 16px;border-radius:18px;background:#fff;border:1px solid #dbeafe;box-shadow:0 10px 24px rgba(15,23,42,.055)}
.home.home-dashboard .question-search-row strong{display:block;font-size:13.5px;line-height:1.35;color:#0f172a;margin-bottom:6px}
.home.home-dashboard .question-search-row small{display:block;color:#64748b;font-size:12px;line-height:1.4;margin-top:3px}
.home.home-dashboard .question-search-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;flex:0 0 auto}
.home.home-dashboard .question-search-actions button{border:1px solid #c7d2fe;border-radius:999px;background:#eef2ff;color:#3730a3;font-weight:950;padding:8px 11px;cursor:pointer}
.home.home-dashboard .question-search-actions button:last-child{background:linear-gradient(135deg,#2563eb,#0f766e);border-color:transparent;color:#fff}
@media(max-width:760px){.home.home-dashboard .question-search-row{display:grid}.home.home-dashboard .question-search-actions{justify-content:flex-start}.home.home-dashboard .question-search-box{padding:16px}}
