:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#eaf5ff;background:#071521;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% -25%,#16405a 0,#071521 58%);min-height:100vh}a{color:#79d8ef}button,input,select{font:inherit}button{cursor:pointer}h1{font-size:clamp(1.6rem,3vw,2.5rem);margin:.3rem 0 1rem}h2{font-size:1.2rem}p{color:#abc0d1;line-height:1.6}.eyebrow{color:#67d7e7;letter-spacing:.18em;font-size:.68rem;font-weight:800}.topbar{display:flex;align-items:center;justify-content:space-between;padding:18px clamp(20px,4vw,70px);border-bottom:1px solid #25445a;background:#0b1d2ddc;gap:16px}.topbar strong{letter-spacing:.05em}.userbox{display:flex;gap:18px;align-items:center;color:#b9d1dd;font-size:.88rem}.container{max-width:1450px;margin:auto;padding:34px 32px 70px}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.actions{display:flex;gap:14px;align-items:end}.actions label{display:block;color:#a7c7d6;font-size:.78rem;margin-bottom:6px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:20px 0 25px}.metric{padding:22px;border:1px solid #28465b;border-radius:16px;background:linear-gradient(150deg,#163248,#0b1e30);box-shadow:0 12px 40px #0002}.metric span,.metric small{display:block;color:#a8c7d7}.metric strong{font-size:2.25rem;display:block;margin:10px 0;color:white}.metric.green{border-color:#277e59;background:linear-gradient(150deg,#124b39,#0b2627)}.metric.blue{border-color:#2d74c2;background:linear-gradient(150deg,#123d72,#10213a)}.panel{background:#0d2233;border:1px solid #27455b;border-radius:17px;padding:24px;margin-bottom:22px}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:10px}.panel-title span,.footnote{font-size:.8rem;color:#91b0c1}.tablewrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:13px 11px;border-bottom:1px solid #263f51;font-size:.9rem}th{color:#9fc8d7;font-weight:600}.pill{border-radius:20px;padding:5px 12px;font-size:.75rem;font-weight:700}.pill.verde{background:#1e5b43;color:#b8f4d1}.pill.azul{background:#184c87;color:#d0e7ff}.primary,.secondary{border:0;border-radius:10px;padding:12px 17px;font-weight:700}.primary{background:#4ad4e5;color:#072032}.secondary{background:#213b50;color:#eaf5ff}.linkbtn{text-decoration:none;display:inline-block}input,select{background:#102c40;border:1px solid #37586c;border-radius:9px;padding:12px;color:white;width:100%}label{display:block;color:#d0e3eb;font-size:.88rem}.form{display:grid;gap:16px;max-width:650px}.form label input,.form label select{margin-top:8px}.check{display:flex;gap:9px;align-items:center}.check input{width:auto}.narrow{max-width:850px}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:20px}.alert{background:#55252e;color:#ffced4;border:1px solid #a65d69;padding:12px;border-radius:10px}.login-body{display:grid;place-items:center;padding:24px}.login-card{max-width:470px;width:100%;background:#0c2538;border:1px solid #28516a;border-radius:22px;padding:42px;box-shadow:0 30px 90px #0008;text-align:center}.login-card h1{font-size:1.6rem}.login-card h2{color:#55d5e4;font-size:1rem;letter-spacing:.12em}.login-card form{text-align:left;display:grid;gap:18px;margin:26px 0}.login-card label input{margin-top:7px}.login-card small{color:#8daabb}.brand-icon{font-size:3rem;color:#55d5e4;margin-bottom:12px}@media(max-width:1000px){.cards{grid-template-columns:repeat(2,1fr)}.twocol{grid-template-columns:1fr}}@media(max-width:620px){.container{padding:20px 15px}.heading,.topbar,.userbox,.actions{flex-wrap:wrap}.cards{grid-template-columns:1fr 1fr}.metric{padding:14px}.metric strong{font-size:1.7rem}.login-card{padding:24px}}

/* Panel ejecutivo: gráficos agregados sin bibliotecas externas */
.insight-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:18px;margin:0 0 22px}.insight-panel{margin:0;min-width:0}.sector-bar{display:flex;height:27px;border-radius:20px;overflow:hidden;background:#1b3547;margin:36px 0 20px}.sector-bar-green{background:#2ba56c}.sector-bar-blue{background:#3189d5}.sector-legend{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;color:#d2e6f1}.legend-dot{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:6px}.green-dot{background:#2ba56c}.blue-dot{background:#3189d5}.chart-note{font-size:.78rem;color:#a9c4d4;margin:20px 0 0}.month-chart{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;align-items:end;height:190px;margin-top:20px}.month-column{display:flex;flex-direction:column;align-items:center;height:100%;min-width:0;gap:5px}.month-column strong{font-size:.85rem;color:#eaf5ff}.month-column span{font-size:.7rem;color:#abc0d1;white-space:nowrap}.month-track{height:125px;width:100%;max-width:55px;display:flex;align-items:flex-end;background:#193349;border-radius:8px 8px 3px 3px;overflow:hidden}.month-fill{width:100%;background:linear-gradient(#52dce9,#2380af);min-height:0;border-radius:8px 8px 0 0}@media(max-width:900px){.insight-grid{grid-template-columns:1fr}}@media(max-width:450px){.month-chart{gap:4px}.month-column span{font-size:.58rem}}

/* Paleta de rellenos original: muestra de referencia, no semántica clínica automática */
.palette-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:12px;margin-top:20px}
.palette-chip{display:flex;align-items:center;gap:9px;border:1px solid #294259;border-radius:10px;padding:9px;min-width:0}
.palette-chip code{font-size:12px}.palette-swatch{width:36px;height:36px;border:1px solid #64748b;border-radius:7px;flex-shrink:0}


/* Identidad visual premium: sin alterar semántica clínica de las cartolas */
.heading{align-items:flex-start}.heading>div:first-child{max-width:650px}
.heading h1{font-size:clamp(2rem,3.4vw,3.25rem);letter-spacing:-.035em;margin:.45rem 0}
.heading p{max-width:680px;margin:0 0 16px}
.actions{flex-wrap:wrap;justify-content:flex-end;max-width:660px;gap:8px}
.actions .linkbtn{font-size:.77rem;padding:9px 11px;background:#102d40;border:1px solid #31536b;color:#d8f2ff}
.actions .linkbtn:hover,.actions .linkbtn:focus-visible{background:#18445a;border-color:#61d3e7}
.actions form{min-width:170px}.actions select{padding:9px}
.dashboard-status{display:flex;flex-wrap:wrap;gap:10px;align-items:center;color:#a5c5d5;font-size:.78rem}
.status-dot{width:8px;height:8px;border-radius:50%;background:#5bcbba;box-shadow:0 0 12px #5bcbba88}
.status-separator{color:#4b6c7d}
.section-kicker{font-size:.72rem;letter-spacing:.16em;font-weight:800;color:#74cddd;margin:27px 0 10px}
.metric{position:relative;overflow:hidden;min-height:143px}
.metric:before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#45cddd,transparent)}
.metric.green:before{background:linear-gradient(90deg,#43b982,transparent)}
.metric.blue:before{background:linear-gradient(90deg,#4d9dec,transparent)}
.metric strong{letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
.reference-sector{display:flex;align-items:stretch;gap:15px;padding:15px;background:#102a3c;border:1px solid #2b475b;border-radius:12px}
.reference-sector p{margin:5px 0 0;font-size:.82rem}
.reference-stripe{display:block;min-width:7px;border-radius:8px}
.reference-green{background:#2ba56c}.reference-blue{background:#3189d5}
@media(max-width:850px){.heading{display:block}.actions{justify-content:flex-start;max-width:none;margin-top:18px}}
@media(max-width:600px){.reference-grid{grid-template-columns:1fr}.cards{gap:9px}.metric{min-height:125px}.metric span{font-size:.8rem}}
