@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap');

:root{
  --page:#f1f5fa;--surface:#fff;--surface-2:#f5f8fc;--ink:#172b45;--ink-2:#52677e;
  --ink-muted:#718198;--line:#dfe7f0;--line-strong:#cbd8e6;--brand-900:#0b2747;
  --brand-700:#12365f;--brand-600:#1764b0;--brand-500:#287bc5;--brand-100:#e8f1fb;
  --gold:#f5c518;--radius:15px;--shadow-sm:0 4px 18px rgba(20,50,84,.07);
  --shadow-md:0 16px 40px rgba(15,43,74,.18);--font:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif;
  --sidebar-w:232px;
}
*{scrollbar-width:thin;scrollbar-color:#9eb1c5 transparent}
body{font-size:13px;background:var(--page)}
body::before{content:'';position:fixed;inset:0 0 auto;height:4px;z-index:100;background:linear-gradient(90deg,#f6ce16 0 50%,#1764b0 50% 75%,#ce2738 75%)}

/* Navegación institucional */
.sidebar{top:4px;height:calc(100vh - 4px);padding:18px 12px 16px;gap:12px;background:linear-gradient(180deg,#0b2747,#12365f);box-shadow:none}
.brand{display:block;margin:0 3px 10px;padding:8px 5px 13px;border-bottom:2px solid rgba(245,197,24,.78)}
.brand-mark{display:block}.brand-mark img{display:block;width:100%;height:auto;filter:drop-shadow(0 5px 9px rgba(0,16,35,.24))}
.brand-text{margin-top:10px;align-items:center;text-align:center}.brand-text strong{color:#fff;font-size:10px;line-height:1.35;letter-spacing:.02em}.brand-text small{color:#b8cce1;font-size:8px;letter-spacing:.08em;text-transform:uppercase}
.nav{gap:3px}.nav-link{min-height:39px;padding:9px 9px;border-radius:9px;color:rgba(255,255,255,.88);font-size:10px;line-height:1.35;font-weight:500}
.nav-link svg{width:14px;height:14px;color:#9eb9d5}.nav-link:hover{background:rgba(255,255,255,.1)}
.nav-link.is-active{background:#1764b0;color:#fff;box-shadow:none;font-weight:700}.nav-link.is-active svg{color:#f5c518}
.nav-badge{padding:2px 5px;font-size:7px}.sidebar-foot{padding:0 9px}.sidebar-foot p{font-size:9px;color:#9eb4cb}

/* Cabezote dinámico */
.main{min-width:0}.topbar{position:relative;isolation:isolate;top:auto;z-index:2;min-height:250px;margin:24px 28px 0;padding:38px clamp(28px,4vw,58px);align-items:flex-end;overflow:hidden;border:0;border-radius:18px;color:#fff;background:radial-gradient(circle at 84% 28%,rgba(245,197,24,.24) 0 3px,transparent 4px),radial-gradient(circle at 77% 63%,rgba(255,255,255,.2) 0 4px,transparent 5px),linear-gradient(120deg,#0b2949 0%,#143f6e 55%,#1764b0 100%);box-shadow:0 14px 34px rgba(16,48,83,.17)}
.topbar::before{content:'';position:absolute;z-index:-1;width:410px;height:410px;right:-105px;top:-165px;border:1px solid rgba(255,255,255,.18);border-radius:50%;box-shadow:0 0 0 56px rgba(255,255,255,.045),0 0 0 112px rgba(255,255,255,.035)}
.topbar::after{content:'';position:absolute;z-index:-1;inset:0;opacity:.09;background-image:linear-gradient(rgba(255,255,255,.28) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.28) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(90deg,transparent 24%,#000)}
.topbar-title{position:relative;z-index:1}.topbar-eyebrow{display:block;color:#ffe16a;font-size:10px;font-weight:700;letter-spacing:.16em}
.topbar-title h1{max-width:900px;margin:10px 0;color:#fff;font-size:clamp(31px,4vw,53px);line-height:1.03;font-weight:800;letter-spacing:-.04em}
.topbar-title p{max-width:870px;margin:0;color:#dbe9f8;font-size:12px;line-height:1.55}
.hero-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.hero-pills span,.cut-date{display:inline-flex;align-items:center;min-height:31px;padding:6px 11px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.1);color:#fff;font-size:9px;font-weight:600;backdrop-filter:blur(5px)}
.hero-pills span:first-child{color:#fff}.hero-pills span:first-child::first-letter{color:#7ce4a4}.topbar-meta{position:absolute;right:26px;bottom:26px;z-index:2}.cut-date strong{margin-left:4px;color:#fff}.demo-chip--top{border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.1);color:#fff}

/* Contenido y resumen */
.content{max-width:1680px;padding:22px 28px 60px;gap:18px}.view{gap:18px}
.dashboard-summary-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:2px 2px -3px}.dashboard-summary-head>div>span{color:#987300;font-size:9px;font-weight:700;letter-spacing:.13em}.dashboard-summary-head h2{margin:4px 0 3px;color:var(--ink);font-size:22px;letter-spacing:-.025em}.dashboard-summary-head p{color:var(--ink-muted);font-size:10px}.dashboard-summary-head>strong{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.7);color:var(--ink-muted);font-size:8px;letter-spacing:.04em}
.panel,.kpi,.source-card,.embed-frame{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm)}
.panel{padding:19px}.filter-bar{padding:15px 17px;box-shadow:var(--shadow-sm)}
.field label{font-size:9px}.field select{min-height:39px;padding:8px 11px;border-color:var(--line);border-radius:9px;background:#f8fafc;font-size:11px}.btn{min-height:39px;padding:8px 13px;border:0;border-radius:9px;background:var(--brand-600);font-size:10px}.btn--ghost{border:1px solid var(--line);background:#f8fafc;color:var(--ink-2)}.btn--ghost:hover{border-color:#78a9d5;background:#fff;color:var(--brand-600)}
.kpi-grid{gap:11px}.kpi{min-height:152px;padding:18px 17px}.kpi:hover{box-shadow:0 9px 24px rgba(20,50,84,.11)}.kpi::before{height:3px;background:var(--brand-600)}
.kpi-label,.kpi-stat-label{font-size:9px}.kpi-stat-value{color:var(--brand-900);font-size:24px}.kpi-delta{font-size:10px}.kpi-prev{font-size:9px}.caveat-note{border-color:#eadb91;background:#fff9df;color:#725c00}
.panel-head h2{color:var(--ink);font-size:15px}.panel-sub,.chart-foot{font-size:9px}.capital-chip{font-size:9px}.app-foot{font-size:9px}
.lock-note{border-color:#eadb91!important;border-left-color:var(--gold)!important;background:#fffdf3!important}.lock-note__icon,.locked-data__veil svg{color:var(--brand-600)!important}.lock-note__btn,.public-access button,#accessForm button[type=submit]{background:var(--brand-600)!important}.lock-note__btn:hover{background:var(--brand-700)!important}

@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.topbar-meta{position:static;align-self:flex-end;margin-left:auto}}
@media(max-width:760px){
  body::before{position:absolute}.sidebar{top:0;height:100vh;padding:18px 12px}.brand-mark img{width:100%}
  .topbar{min-height:300px;margin:14px 14px 0;padding:58px 22px 27px;align-items:flex-end;border-radius:15px}.topbar::before{right:-220px}.menu-btn{position:absolute;top:15px;left:15px;z-index:3;display:grid;border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.12);color:#fff}
  .topbar-title h1{font-size:clamp(29px,9vw,43px)}.topbar-title p{display:block;font-size:10px}.topbar-meta{display:none}.hero-pills span{flex:1 1 100%;justify-content:center}
  .content{padding:18px 14px 40px}.view--module{margin:-18px -14px -40px}.dashboard-summary-head{align-items:flex-start;flex-direction:column;gap:8px}.kpi-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:520px){.topbar{margin:10px 10px 0;padding:55px 18px 23px}.content{padding:16px 10px 36px}.kpi-grid{grid-template-columns:1fr}.dashboard-summary-head h2{font-size:19px}.filter-bar{display:grid}.filter-bar .field,.filter-bar .btn{width:100%}.lock-note{margin-bottom:16px!important}}
@media print{.topbar{margin:0;color:#000;background:#fff;box-shadow:none}.topbar-title h1,.topbar-title p{color:#000}.hero-pills,.topbar-eyebrow{display:none}}
