:root{
  --sien-teal:#11b7b5;
  --sien-teal-2:#0aa4bf;
  --sien-dark:#0b2f3a;
  --sien-ink:#1f2937;
  --sien-soft:#eef6fb;
  --sien-bg:#f4f7fb;
  --sien-card:#ffffff;
  --sien-border:#d7e3ee;
}

body{background: radial-gradient(circle at top right, rgba(17,183,181,.08), transparent 25%), var(--sien-bg); color:var(--sien-ink);}
canvas{width:100%!important;}
.card{border-radius:18px;}
.table-hover tbody tr{cursor:pointer;}
.td-pct{font-weight:700;color:#0f4c81;}

.sien-nav{
 background: linear-gradient(90deg,#06222b,#0a3a49 45%,#06222b);
  border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow:0 10px 25px rgba(8,38,48,.18);
}
.brand-dot{
  width:10px;height:10px;border-radius:50%;
  background:radial-gradient(circle at 30% 30%, var(--sien-teal), var(--sien-teal-2));
  box-shadow:0 0 0 4px rgba(17,183,181,.14);
}
.version-pill{font-weight:800;color:#0b2f3a!important;}

.hero-panel{
  display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;
  background:linear-gradient(135deg,#ffffff,#f5fbff);
  border:1px solid rgba(12,51,64,.06);
  border-radius:22px;padding:1.2rem 1.25rem;
  box-shadow:0 14px 30px rgba(15,23,42,.06);
}
.hero-badge{
  display:inline-flex;align-items:center;gap:.45rem;
  font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:#0f766e;background:rgba(17,183,181,.1);padding:.45rem .7rem;border-radius:999px;margin-bottom:.65rem;
}
.hero-title{font-weight:900;font-size:1.55rem;color:#102a43;}
.hero-subtitle{max-width:850px;color:#5b6675;}
.hero-right{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:flex-end;}
.mini-chip{
  display:flex;align-items:center;gap:.55rem;background:#fff;border:1px solid var(--sien-border);
  padding:.65rem .8rem;border-radius:14px;box-shadow:0 8px 18px rgba(15,23,42,.04);
  color:#344256;font-size:.9rem;font-weight:700;
}
.mini-chip i{color:#0aa4bf;}

.filter-card{
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  border:1px solid rgba(12,51,64,.06);
  box-shadow:0 14px 30px rgba(15,23,42,.06);
}
.filter-head{padding-bottom:.9rem;border-bottom:1px dashed rgba(91,102,117,.24);}
.filter-eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--sien-teal-2);margin-bottom:.15rem;}
.filter-subtitle{color:#5b6675;font-size:.95rem;max-width:700px;}
.filter-actions .btn-action{min-width:132px;border-radius:12px;font-weight:700;}
.filter-label{font-size:.82rem;font-weight:800;color:#425466;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.45rem;}
.filter-control{border-radius:12px;border-color:var(--sien-border);min-height:46px;box-shadow:none!important;}
.filter-control:focus{border-color:rgba(17,183,181,.65);box-shadow:0 0 0 .18rem rgba(17,183,181,.12)!important;}
.filter-control[multiple]{min-height:132px;padding:.45rem .55rem;overflow:auto;}
.filter-control[multiple] option{padding:.28rem .4rem;border-radius:8px;margin-bottom:2px;}
.filter-control[multiple] option:checked{background:linear-gradient(90deg, rgba(17,183,181,.18), rgba(10,164,191,.14));color:#0b2f3a;}

.month-dropdown .btn-month{
  border-radius:12px;min-height:46px;border:1px solid var(--sien-border);background:#fff;color:#213547;font-weight:700;
}
.month-dropdown .btn-month:hover,.month-dropdown .btn-month:focus{border-color:rgba(17,183,181,.65);background:#fff;}
.month-menu{border-radius:16px;min-width:320px;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);}
.month-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem .85rem;}
.month-check{margin:0;padding:.45rem .55rem .45rem 1.9rem;border-radius:12px;background:#f6fafc;border:1px solid transparent;transition:all .18s ease;}
.month-check:hover{background:#eef7fa;border-color:#d7eaf0;}
.month-check-input{margin-top:.15rem;}
.month-disabled{opacity:.45;background:#f2f4f7!important;}

.kpi-card{background:linear-gradient(180deg,#ffffff,#fbfcfe);box-shadow:0 12px 22px rgba(15,23,42,.05);}
.kpi-ico{
  width:48px;height:48px;border-radius:15px;display:grid;place-items:center;
  background:rgba(17,183,181,.12);color:#0b5f6a;font-size:1.3rem;
}
.kpi-title{font-size:.84rem;color:#5b6675;font-weight:800;text-transform:uppercase;letter-spacing:.04em;}
.kpi-value{font-size:1.7rem;font-weight:900;letter-spacing:.2px;color:#102a43;}
.kpi-foot{font-size:.82rem;color:#7b8794;}

.insight-card{background:linear-gradient(180deg,#ffffff,#fbfdff);}
.insight-pills{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.75rem;}
.insight-pill{
  display:flex;gap:.7rem;align-items:flex-start;padding:.85rem .95rem;border-radius:16px;
  background:linear-gradient(180deg,#f8fbff,#f2f8fc);border:1px solid #dde8f1;
}
.insight-pill i{font-size:1.1rem;color:#0aa4bf;margin-top:.15rem;}
.insight-pill-title{font-size:.76rem;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;font-weight:800;}
.insight-pill-value{font-size:.94rem;color:#0f172a;font-weight:800;line-height:1.3;}

.panel-card{background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);box-shadow:0 12px 28px rgba(15,23,42,.06);}
.chart-main-wrap{height:470px;min-height:470px;max-height:470px;position:relative;overflow-x:auto;overflow-y:hidden;padding-bottom:4px;}
.chart-trend-wrap{height:270px;min-height:270px;max-height:270px;position:relative;}
.chart-secondary-wrap{height:260px;min-height:260px;max-height:260px;position:relative;}
.chart-pill{display:inline-flex;align-items:center;border-radius:999px;padding:.35rem .7rem;background:#edf8ff;color:#0f4c81;font-size:.78rem;font-weight:800;}

.chart-detail-grid{display:grid;grid-template-columns:1fr;gap:1rem;}
.chart-detail-card{background:linear-gradient(180deg,#f9fcff,#f3f8fc);border:1px solid #dbe8f2;border-radius:16px;padding:1rem;box-shadow:0 8px 18px rgba(15,23,42,.04);}
.chart-detail-head{display:flex;justify-content:flex-start;align-items:flex-start;gap:.75rem;margin-bottom:.85rem;}
.chart-detail-tag{display:inline-flex;align-items:center;border-radius:999px;padding:.35rem .7rem;background:#edf8ff;color:#0f4c81;font-size:.78rem;font-weight:800;white-space:nowrap;}
.chart-detail-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.7rem;}
.chart-metric{padding:.7rem .8rem;background:#fff;border:1px solid #e3edf4;border-radius:14px;}
.chart-metric-label{font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;font-weight:800;}
.chart-metric-value{font-size:1.15rem;font-weight:900;color:#102a43;line-height:1.2;margin-top:.2rem;}
.chart-metric-foot{font-size:.76rem;color:#7b8794;margin-top:.1rem;}
.chart-others-list{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-start;min-height:44px;}
.chart-other-chip{display:inline-flex;align-items:center;gap:.4rem;background:#fff;border:1px solid #dfeaf2;border-radius:999px;padding:.42rem .7rem;font-size:.8rem;color:#344256;font-weight:700;}
.chart-other-chip strong{color:#0f4c81;}

.tabla-resumen-wrap{max-height:670px;}
#tbl thead th{position:sticky;top:0;background:#f8fafc;z-index:1;}
#tbl tbody tr:hover{background:rgba(17,183,181,.08);}
#tbl thead th.excel-head{background:#0b4f6c!important;color:#fff;font-weight:800;text-transform:uppercase;border:1px solid #08384c;}
#tbl tbody tr.total-row td{background:#d7eef6;font-weight:800;}
.search-box .input-group-text,.search-box .form-control{border-color:var(--sien-border);}

.modal-content{border-radius:18px;}

@media (max-width: 1199.98px){
  .chart-main-wrap{height:430px;min-height:430px;max-height:430px;}
}
@media (max-width: 991.98px){
  .filter-actions{width:100%;}
  .filter-actions .btn-action{flex:1 1 calc(50% - .5rem);min-width:0;}
  .hero-title{font-size:1.3rem;}
  .chart-detail-grid{grid-template-columns:1fr;}
}
@media (max-width: 767.98px){
  .hero-panel{padding:1rem;}
  .hero-right{width:100%;justify-content:flex-start;}
  .mini-chip{width:100%;}
  .month-check-grid{grid-template-columns:1fr;}
  .chart-main-wrap{height:360px;min-height:360px;max-height:360px;}
  .chart-trend-wrap,.chart-secondary-wrap{height:240px;min-height:240px;max-height:240px;}
}
@media (max-width: 575.98px){
  .filter-actions .btn-action{flex:1 1 100%;}
  .insight-pills{grid-template-columns:1fr;}
  .kpi-value{font-size:1.45rem;}
}

.detail-toggle-btn{border-radius:12px;font-weight:800;white-space:nowrap;}


/* ===== Dashboard responsive + etiquetas visibles ===== */
.chart-main-wrap, .chart-trend-wrap { width: 100%; }
.chart-scroll-inner{height:100%;min-width:100%;}
.chart-main-wrap canvas, .chart-trend-wrap canvas { width: 100% !important; }
.chart-scroll-inner canvas{height:100% !important;display:block;}

/* Asegura buena altura en desktop y mobile */
.chart-main-wrap { min-height: 360px; }
.chart-trend-wrap { min-height: 300px; }

@media (max-width: 768px) {
  .chart-main-wrap { min-height: 300px; }
  .chart-trend-wrap { min-height: 260px; }
  .hero-panel { padding: 14px; }
}

/* Resalta condiciones (alerta) */
.cell-alert { color: #b91c1c !important; font-weight: 800 !important; }
.pct-alert { color: #b91c1c !important; font-weight: 800 !important; }
.pct-ok { color: #065f46 !important; font-weight: 700 !important; }

/* Modal nominal: mejor auto-ajuste y scroll */
.modal-xl { max-width: 1200px; }
#tblNominal { table-layout: auto; width: max-content; min-width: 100%; }
#tblNominal th, #tblNominal td { white-space: nowrap; }
.nominal-wrap { overflow: auto; max-height: 62vh; }
@media (max-width: 768px) {
  .modal-dialog { margin: 0.5rem; }
  .nominal-wrap { max-height: 68vh; }
}



/* ==============================
   FULL WIDTH + RESPONSIVE FIXES
============================== */
.brand-logo{
  width: 34px;
  height: 34px;
  object-fit: contain;
  border-radius: 8px;
  background: #fff;
  padding: 2px;
  box-shadow: 0 1px 2px rgba(0,0,0,.08);
}

/* Make main panels truly full width */
.panel-card .card-body{
  overflow: hidden;
}
.chart-main-wrap,
.chart-trend-wrap,
.chart-secondary-wrap{
  width: 100%;
  position: relative;
}
.chart-main-wrap{ min-height: 420px; }
.chart-trend-wrap{ min-height: 340px; }
.chart-secondary-wrap{ min-height: 320px; }

@media (max-width: 768px){
  .chart-main-wrap{ min-height: 360px; }
  .chart-trend-wrap{ min-height: 300px; }
  .chart-secondary-wrap{ min-height: 280px; }
}

/* Nominal modal responsive */
#modalNominal .modal-dialog{
  max-width: 95vw !important;
  width: 95vw !important;
}
#modalNominal .modal-body{
  overflow-x: auto;
}
#modalNominal table{
  white-space: nowrap;
}

/* Highlight for anemia condition */
.cell-alert{
  color: #c62828 !important;
  font-weight: 800 !important;
}
.pct-alert{
  color: #b91c1c !important;
  font-weight: 800 !important;
}


/* Centered, presentable layout */
.dash-center{max-width:1600px;margin:0 auto;}

/* Filters in one row on desktop */
@media (min-width: 1200px){
  /* Keep a single row, but do NOT clip dropdowns */
  .filter-card, .filter-card .card-body{overflow:visible;}
  .filter-grid{flex-wrap:nowrap;overflow:visible;padding-bottom:0;gap:1rem;}
  .filter-grid > [class*="col-"]{flex:1 1 0;width:auto;min-width:140px;}
  .filter-grid > .col-md-2{min-width:140px;}
  .filter-grid > .col-md-3{min-width:170px;}
  .filter-grid > .col-md-4{min-width:280px;flex:2 1 0;}
  .filter-grid > .col-xl-3{min-width:280px;flex:2 1 0;}
  .filter-grid > .col-xl-2{min-width:200px;}
}

/* Month dropdown UX fixes */
.month-dropdown{position:relative;}
.month-menu{z-index:2000;max-height:60vh;overflow:auto;}
  .filter-grid::-webkit-scrollbar{height:8px;}
  .filter-grid::-webkit-scrollbar-thumb{background:#d6e6ef;border-radius:10px;}
  .filter-grid > [class*="col-"]{flex:0 0 auto;width:auto;min-width:180px;}
  .filter-grid > .col-md-4{min-width:320px;}
  .filter-grid > .col-xl-3{min-width:300px;}
}

.brand-title{font-weight:700;letter-spacing:.2px;}
@media (max-width: 576px){.brand-title{font-size:.95rem;max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}}





/* === V4.18: filtros COMPACTOS y limpios (una fila) === */
.filter-grid{
  display:grid;
  /* AÑO | MESES | PROV | DIST | MICRO | EESS | GRUPO | EDAD */
  grid-template-columns: 90px 210px 150px 150px 165px 190px 135px 135px;
  align-items:end;
  gap:10px;
  padding:10px 10px 6px 10px;
  overflow:visible;
}

/* En pantallas más angostas, habilita scroll horizontal sin romper a 2 filas */
@media (max-width: 1280px){
  .filter-grid{
    grid-template-columns: 90px 200px 150px 150px 165px 190px 135px 135px;
    overflow-x:auto;
    -webkit-overflow-scrolling: touch;
    scroll-behavior:smooth;
  }
  .filter-grid::-webkit-scrollbar{height:8px}
  .filter-grid::-webkit-scrollbar-thumb{background:rgba(11,47,58,.25); border-radius:999px}
}

/* Etiquetas: tamaño y separación consistentes */
.filter-label{
  font-size:.78rem !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
  color:#334155 !important;
  margin-bottom:6px !important;
  white-space:nowrap;
}

/* Controles compactos */
.filter-control, .btn-month{
  height:44px !important;
  border-radius:14px !important;
  padding:.55rem .8rem !important;
  font-weight:600;
}

/* Texto de ayuda bajo MESES: que no rompa la fila ni empuje el layout */
.filter-grid .form-text{
  font-size:.78rem;
  line-height:1.1;
  margin-top:6px;
  max-width:210px;        /* igual al ancho de MESES */
  white-space:normal;
  opacity:.85;
}

/* Evita que el dropdown de meses se corte */
.month-dropdown{position:relative; z-index:50}
.month-dropdown .dropdown-menu{
  z-index:9999;
  max-height:320px;
  overflow:auto;
}


/* === Tabla: encabezados alineados con datos === */
.sien-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
}
.sien-table thead th,
.sien-table tbody td{
  padding:10px 12px !important;
  line-height:1.15 !important;
  vertical-align:middle !important;
}
.sien-table thead th{
  white-space:nowrap;
}
.sien-table tbody td.num,
.sien-table tbody td.text-end{
  text-align:right;
}

/* Botón meses: evita que se vea 'gigante' */
.btn-month{
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.btn-month.dropdown-toggle::after{ margin-left:.5rem; }


/* === V4.19: tabla compacta y alineada === */
.sien-table{ table-layout:fixed; }
.sien-table thead th{
  text-align:left;
  font-size:.90rem;
}
.sien-table thead th.th-num{ text-align:right; }
.sien-table tbody td{
  font-size:.92rem;
}
/* más compacto verticalmente */
.sien-table thead th,
.sien-table tbody td{
  padding:7px 10px !important;
  line-height:1.10 !important;
}
/* alineación por tipo */
.sien-table tbody td.col-prov{ text-align:left; }
.sien-table tbody td.col-num{ text-align:right; font-variant-numeric: tabular-nums; }

/* hint meses: no debe empujar el layout */
.meses-hint{
  font-size:.72rem !important;
  margin-top:4px !important;
  line-height:1.05 !important;
  max-width:210px;
  white-space:normal;
}


/* === V4.21: arreglo visual del filtro MESES (sin sobreposición) === */
.filter-grid .fi-meses, .filter-grid .month-dropdown{
  display:flex;
  flex-direction:column;
  align-items:stretch;
}
/* El hint debe quedar debajo y no invadir el select */
.meses-hint{
  display:block;
  padding-left:2px;
  margin-top:6px !important;
  color:#64748b;
}
/* Evita que el botón de meses tape el hint */
.month-dropdown .btn-month{
  margin-bottom:0;
}
/* Si el dropdown está abierto, que se superponga hacia abajo sin empujar raramente */
.month-dropdown .dropdown-menu{
  margin-top:6px;
}

/* evita que el outline cree 'salto' visual */
.filter-control:focus, .btn-month:focus{
  box-shadow: 0 0 0 .15rem rgba(14, 165, 233, .20) !important;
}


/* V4.23 marker (para verificar que cargó el CSS nuevo) */
body::after{content:'v4.28';position:fixed;bottom:10px;right:12px;font:700 12px/1.1 system-ui;opacity:.25;pointer-events:none;}

/* === V4.24: badge de selección (oculto si no hay selección) === */
.selected-badge{
  display:none;
  background:#e6f6ff;
  color:#0b4a60;
  font-weight:800;
  padding:.35rem .7rem;
  border-radius:999px;
  border:1px solid rgba(11,74,96,.15);
  letter-spacing:.02em;
}
.selected-badge.is-active{ display:inline-flex; align-items:center; gap:.35rem; }


/* === V4.26: Filtros en una sola fila SIN sobreposición === */
.filter-grid{
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:flex-end !important;
  gap:1rem !important;
  overflow-x:auto !important;
  overflow-y:visible !important;
  padding-bottom:.25rem !important;
  scrollbar-gutter: stable both-edges;
}
/* items bootstrap col-* */
.filter-grid > [class*="col-"]{
  flex:0 0 auto !important;
  width:auto !important;
  min-width:140px !important;
}
/* items custom */
.filter-grid > .filter-item{
  flex:0 0 auto !important;
  min-width:160px !important;
}
/* tamaños específicos */
.filter-grid > .col-md-2{min-width:120px !important;}
.filter-grid > .col-md-4, .filter-grid > .col-xl-3{min-width:260px !important;}
.filter-grid > .fi-provincia{min-width:170px !important;}
.filter-grid > .fi-distrito{min-width:170px !important;}
.filter-grid > .fi-microred{min-width:190px !important;}
.filter-grid > .fi-eess{min-width:210px !important;}
.filter-grid > .fi-grupo-edad{min-width:150px !important;}
.filter-grid > .fi-edad-meses{min-width:150px !important;}

/* el hint de meses NO debe invadir a provincia */
.meses-hint{
  display:block !important;
  position:static !important;
  margin:6px 0 0 0 !important;
  max-width:260px !important;
  opacity:.85;
}

/* evita que dropdown se superponga con el label siguiente */
.month-dropdown{position:relative !important; z-index:10;}



/* === V4.28: alinear títulos (thead) con datos (tbody) === */
.sien-table thead th,
.sien-table tbody td{
  vertical-align: middle !important;
  line-height: 1.05 !important;
}
.sien-table thead th{
  padding-top:8px !important;
  padding-bottom:8px !important;
}
.sien-table tbody td{
  padding-top:8px !important;
  padding-bottom:8px !important;
}
/* asegura alturas consistentes */
.sien-table thead th{ height: 40px; }
.sien-table tbody td{ height: 40px; }


/* === V4.29: dropdown meses, KPI auto-fit, porcentajes y centrado === */
body::after{content:'v4.36';}

.dash-center{max-width:1760px;margin:0 auto;}

.filter-card,
.filter-card .card-body,
.filter-grid{overflow:visible !important;}

.filter-grid{
  display:grid !important;
  grid-template-columns:110px minmax(240px,1.35fr) repeat(6, minmax(125px,1fr));
  align-items:start !important;
  gap:14px !important;
  padding:10px 4px 0 !important;
}
.filter-grid > *,
.filter-grid > [class*="col-"],
.filter-grid > .filter-item{
  min-width:0 !important;
  width:auto !important;
  flex:none !important;
}
.filter-grid > .fi-alert{grid-column:1 / -1;}
@media (max-width: 1500px){
  .filter-grid{grid-template-columns:110px minmax(220px,1.3fr) repeat(3, minmax(150px,1fr));}
}
@media (max-width: 1199.98px){
  .filter-grid{grid-template-columns:repeat(4, minmax(160px,1fr));}
}
@media (max-width: 991.98px){
  .filter-grid{grid-template-columns:repeat(3, minmax(160px,1fr));}
}
@media (max-width: 767.98px){
  .filter-grid{grid-template-columns:repeat(2, minmax(145px,1fr));gap:12px !important;}
}
@media (max-width: 575.98px){
  .filter-grid{grid-template-columns:1fr;}
}

.month-dropdown{position:relative !important;z-index:1080 !important;}
.month-dropdown .btn-month{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.5rem;
  white-space:nowrap;
  overflow:hidden;
}
#month_label{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
}
.month-dropdown .dropdown-menu,
.month-menu{
  min-width:320px;
  max-width:min(420px, 92vw);
  max-height:340px;
  overflow:auto;
  z-index:3000 !important;
}
.meses-hint{max-width:none !important;}

.row.g-3.mb-3 > [class*="col-"]{display:flex;}
.kpi-card{width:100%;height:100%;}
.kpi-card .card-body{height:100%;display:flex;align-items:center;padding:1rem 1.1rem;}
.kpi-card .card-body > .d-flex{width:100%;align-items:center !important;}
.kpi-main-copy,
.kpi-card .card-body > .d-flex > div:first-child{flex:1 1 auto;min-width:0;}
.kpi-title{margin-bottom:.25rem;}
.kpi-value{line-height:1.05;margin-bottom:.2rem;}
.kpi-ico{flex:0 0 56px;width:56px;height:56px;}

#kpi_extra.kpi-severity-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:8px;
  font-size:1rem;
  margin-top:.3rem;
}
.kpi-sev-item{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:.4rem .25rem;
  border-radius:12px;
  background:#f6fbff;
  border:1px solid #dde8f1;
}
.kpi-sev-item strong{
  font-size:1rem;
  font-weight:900;
  line-height:1.1;
  color:#102a43;
}
.kpi-sev-item span{
  font-size:.68rem;
  font-weight:800;
  line-height:1.05;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#64748b;
}
@media (max-width: 575.98px){
  #kpi_extra.kpi-severity-grid{grid-template-columns:repeat(2, minmax(0,1fr));}
}

.sien-table{table-layout:fixed;width:100%;}
.sien-table thead th{
  text-align:center !important;
  vertical-align:middle !important;
}
.sien-table thead th:first-child,
.sien-table tbody td.col-prov{
  text-align:left !important;
}
.sien-table thead th.th-num,
.sien-table tbody td.col-num,
.sien-table tbody td.td-pct,
.sien-table tbody td.text-center,
.sien-table tbody tr.total-row td:not(:first-child){
  text-align:center !important;
}
.sien-table tbody td{font-variant-numeric:tabular-nums;}

/* ===== V4.30 scope + users prep ===== */
.selected-badge{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.55rem .8rem;
  border-radius:999px;
  background:#eef6fb;
  color:#4b5563;
  border:1px solid #d8e5ee;
  font-weight:800;
  font-size:.82rem;
}
.selected-badge.is-active{
  background:#e8fbfb;
  color:#0b5f6a;
  border-color:rgba(17,183,181,.35);
}
.chart-pill-soft{
  background:#f3f8fc;
  color:#425466;
  border:1px solid #dde8f1;
}
@media (max-width: 991.98px){
  .selected-badge{width:100%;justify-content:center;}
}

/* ===== V4.31 DCI branding + admin usuarios ===== */
.brand-acronym{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:54px;
  height:34px;
  padding:0 .9rem;
  border-radius:999px;
  background:linear-gradient(135deg,#14c6c3,#0aa4bf);
  color:#fff;
  font-weight:900;
  letter-spacing:.08em;
  box-shadow:0 10px 24px rgba(10,164,191,.28);
}
.brand-stack{display:flex;flex-direction:column;line-height:1.05;}
.brand-title{font-size:1rem;color:#fff;}
.brand-subtitle{font-size:.72rem;color:rgba(255,255,255,.76);font-weight:700;}
.nav-link-dci{
  font-weight:900;
  letter-spacing:.03em;
}
.navbar .nav-link.active.nav-link-dci,
.navbar .nav-link.nav-link-dci:hover{
  color:#fff;
  text-shadow:0 0 14px rgba(17,183,181,.45);
}
@media (max-width: 767.98px){
  .brand-stack{min-width:0;}
  .brand-title{font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px;}
  .brand-subtitle{display:none;}
  .version-pill{display:none;}
  .brand-acronym{min-width:48px;height:32px;padding:0 .7rem;}
}

.admin-users-page{max-width:1500px;margin:0 auto;}
.admin-hero{background:linear-gradient(135deg,#ffffff 0%,#f1fbff 100%);}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:.4rem;
  font-size:.74rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;
  color:#0b5f6a;background:rgba(17,183,181,.12);padding:.42rem .75rem;border-radius:999px;
}
.admin-title{font-size:1.6rem;font-weight:900;color:#102a43;}
.admin-subtitle{color:#5b6675;max-width:900px;}
.admin-btn{border-radius:14px;font-weight:800;min-width:140px;}
.admin-kpi{background:linear-gradient(180deg,#ffffff,#fbfdff);}
.admin-kpi .card-body{padding:1rem 1.05rem;}
.admin-kpi-label{font-size:.8rem;font-weight:900;color:#64748b;text-transform:uppercase;letter-spacing:.05em;}
.admin-kpi-value{font-size:1.8rem;line-height:1;font-weight:900;color:#102a43;margin:.3rem 0;}
.admin-kpi-foot{font-size:.82rem;color:#7b8794;}

.admin-users-table thead th{
  background:#0b4f6c;
  color:#fff;
  font-size:.84rem;
  text-transform:uppercase;
  letter-spacing:.04em;
  border-color:#08384c;
  white-space:nowrap;
}
.admin-users-table tbody td{vertical-align:top;}
.admin-users-table tbody tr:hover{background:rgba(17,183,181,.06);}
.admin-perms-cell .badge{margin:.12rem .12rem .12rem 0;}

.admin-mobile-list .admin-user-card{border-radius:18px;}
.admin-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem .9rem;}
.admin-card-wide{grid-column:1 / -1;}
.mini-label{display:block;font-size:.72rem;font-weight:900;color:#64748b;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.22rem;}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));}

.admin-user-canvas{width:min(720px, 100vw) !important;}
.admin-user-canvas .offcanvas-body{padding-bottom:1rem;}
.admin-user-canvas .form-control,
.admin-user-canvas .form-select{min-height:46px;border-radius:12px;}
.admin-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;}
.admin-check{
  margin:0;
  padding:.8rem 1rem .8rem 2.2rem;
  background:#f8fbff;
  border:1px solid #dbe8f2;
  border-radius:14px;
}
.admin-check .form-check-input{margin-top:.15rem;}

@media (max-width: 991.98px){
  .admin-title{font-size:1.35rem;}
  .admin-btn{flex:1 1 calc(50% - .5rem);min-width:0;}
}
@media (max-width: 767.98px){
  .admin-users-page{padding-bottom:1.5rem;}
  .admin-card-grid{grid-template-columns:1fr;}
  .grid-2{grid-template-columns:1fr;}
  .admin-user-canvas{width:100vw !important;}
  .admin-check-grid{grid-template-columns:1fr;}
  .offcanvas-footer{position:sticky;bottom:0;background:#fff;z-index:2;}
}


/* ===== V4.32 auth + DCI stronger ===== */
.brand-acronym-strong{
  min-width:68px;
  height:38px;
  font-size:1.12rem;
  letter-spacing:.14em;
  box-shadow:0 14px 30px rgba(10,164,191,.38);
}
.user-chip{border-radius:999px;font-weight:800;max-width:min(70vw,340px);}
.user-chip-text{display:inline-block;max-width:180px;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;}
.nav-auth-btn{border-radius:999px;font-weight:800;padding-inline:1rem;}

.auth-page{max-width:1280px;margin:0 auto;padding-top:.5rem;}
.auth-card{border-radius:24px;background:linear-gradient(180deg,#ffffff 0%,#f6fbff 100%);}
.auth-title{font-size:1.8rem;font-weight:900;color:#102a43;margin-bottom:.4rem;}
.auth-subtitle{color:#5b6675;line-height:1.45;}
.auth-control{min-height:50px;border-radius:14px;border-color:#d7e4ee;}
.auth-control:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.08);}
.auth-submit{border-radius:14px;font-weight:900;min-height:50px;}
.auth-links{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;}
.auth-side-pill{display:inline-flex;align-items:center;justify-content:center;padding:.8rem 1rem;border-radius:999px;background:#0b5f6a;color:#fff;font-weight:900;white-space:nowrap;}

@media (max-width: 767.98px){
  .brand-acronym-strong{min-width:56px;height:34px;font-size:1rem;}
  .nav-auth-btn{flex:1 1 auto;}
  .user-chip{max-width:100%;width:100%;justify-content:center;}
  .auth-title{font-size:1.45rem;}
  .auth-side-pill{width:100%;white-space:normal;text-align:center;}
}


/* ===== V4.34 nominal lock + default anemia ===== */
.navbar .nav-link.nav-link-dci{
  display:inline-flex !important;
  align-items:center;
  gap:.35rem;
  padding:.55rem .85rem;
  border-radius:999px;
  background:rgba(17,183,181,.12);
  border:1px solid rgba(17,183,181,.26);
  margin-inline:.15rem;
}
.navbar .nav-link.nav-link-dci.active,
.navbar .nav-link.nav-link-dci:hover{
  background:rgba(17,183,181,.22);
  border-color:rgba(17,183,181,.45);
}
#btn_export_nominal.d-none{display:none !important;}


/* ===== V4.36 home + overflow fixes ===== */
.home-page{max-width:1600px;margin:0 auto;}
.home-hero{background:linear-gradient(135deg,#ffffff 0%,#effafd 100%);}
.home-hero-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.75fr);gap:1.25rem;align-items:stretch;}
.home-title{font-size:2rem;font-weight:900;color:#102a43;line-height:1.05;}
.home-subtitle{font-size:1rem;color:#526273;max-width:900px;}
.home-btn{border-radius:16px;font-weight:900;}
.home-notes{display:grid;gap:.7rem;}
.home-note{display:flex;align-items:flex-start;gap:.65rem;padding:.8rem .95rem;background:#fff;border:1px solid #dbe8f2;border-radius:16px;color:#344256;font-weight:700;box-shadow:0 10px 24px rgba(15,23,42,.04);}
.home-note i{color:#0aa4bf;margin-top:.15rem;}
.home-side{display:flex;}
.home-side-card{width:100%;padding:1.1rem;border-radius:20px;background:linear-gradient(180deg,#0b3441 0%,#0a5363 100%);color:#fff;box-shadow:0 18px 34px rgba(8,38,48,.18);}
.home-side-card .mini-label{color:rgba(255,255,255,.72);}
.scope-list{display:flex;flex-wrap:wrap;gap:.55rem;margin:.8rem 0 1rem;}
.scope-chip{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .8rem;border-radius:999px;font-weight:800;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);}
.scope-chip.active{background:#fff;color:#0b4f6c;}
.scope-chip.muted{opacity:.88;}
.home-side-foot{color:rgba(255,255,255,.82);line-height:1.45;}
.home-section-title{font-size:1.35rem;font-weight:900;color:#102a43;}
.home-module-card,.future-card{border-radius:20px;background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);}
.module-eyebrow{display:inline-flex;align-items:center;gap:.4rem;font-size:.76rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#0b5f6a;background:rgba(17,183,181,.12);padding:.42rem .7rem;border-radius:999px;margin-bottom:.8rem;}
.module-title,.future-title{font-size:1.35rem;font-weight:900;color:#102a43;}
.home-kpi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;}
.home-kpi-box{padding:1rem;border:1px solid #dbe8f2;border-radius:16px;background:#f8fbff;min-width:0;}
.home-kpi-box strong{display:block;font-size:1.35rem;line-height:1.05;color:#102a43;word-break:break-word;}
.future-icon{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:rgba(17,183,181,.12);color:#0b5f6a;font-size:1.4rem;margin-bottom:1rem;}

.chart-detail-card{overflow:hidden;}
.chart-detail-head{flex-wrap:wrap;align-items:flex-start;}
.chart-detail-head > div:first-child{flex:1 1 280px;min-width:0;}
.chart-detail-tag{max-width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere;word-break:break-word;text-align:center;justify-content:center;}

@media (max-width: 991.98px){
  .home-hero-grid{grid-template-columns:1fr;}
}
@media (max-width: 767.98px){
  .home-title{font-size:1.55rem;}
  .home-kpi-grid{grid-template-columns:1fr;}
  .home-actions .home-btn{width:100%;}
  .home-note{font-size:.94rem;}
}

/* ===== V4.37 portada + rendimiento ===== */
.brand-title-main{font-size:1.2rem;letter-spacing:.08em;font-weight:900;line-height:1;}
.brand-subtitle{display:block;font-size:.76rem;opacity:.92;line-height:1.05;}

.home-exec-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;}
.home-exec-card{padding:1rem 1.05rem;border-radius:18px;background:#fff;border:1px solid #dbe8f2;box-shadow:0 12px 26px rgba(15,23,42,.05);min-width:0;}
.home-exec-card strong{display:block;font-size:1.55rem;line-height:1;color:#102a43;margin:.22rem 0;}
.home-exec-card small{display:block;color:#6b7b8c;font-weight:700;line-height:1.35;}
.home-roadmap{display:grid;gap:.8rem;margin:1rem 0 1.1rem;}
.home-roadmap-item{display:grid;grid-template-columns:12px 1fr;gap:.7rem;align-items:flex-start;opacity:.95;}
.home-roadmap-item span{width:12px;height:12px;border-radius:999px;background:rgba(255,255,255,.24);margin-top:.25rem;box-shadow:0 0 0 4px rgba(255,255,255,.06);}
.home-roadmap-item.active span{background:#5eead4;box-shadow:0 0 0 4px rgba(94,234,212,.18);}
.home-roadmap-item strong{display:block;font-size:.95rem;line-height:1.1;}
.home-roadmap-item small{display:block;color:rgba(255,255,255,.72);line-height:1.35;margin-top:.12rem;}
.module-anemia{border-top:5px solid rgba(59,130,246,.32);}
.module-dci{border-top:5px solid rgba(14,165,233,.36);}
.future-card-active{border-top:5px solid rgba(34,197,94,.4);}

.chart-detail-grid,.chart-detail-card,.chart-detail-head,.chart-detail-metrics{min-width:0;}
.chart-detail-card{overflow:hidden;}
.chart-detail-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:flex-start;gap:.75rem;}
.chart-detail-head > div:first-child{flex:1 1 320px;min-width:0;}
.chart-detail-tag{display:inline-flex;align-items:center;justify-content:center;flex:0 1 auto;max-width:min(100%,220px);min-width:0;margin-left:auto;white-space:normal;overflow-wrap:anywhere;word-break:break-word;text-align:center;line-height:1.15;box-sizing:border-box;}

@media (max-width: 991.98px){
  .home-exec-grid{grid-template-columns:1fr;}
  .chart-detail-tag{margin-left:0;max-width:100%;}
}
@media (max-width: 767.98px){
  .brand-title-main{font-size:1.05rem;}
  .brand-subtitle{font-size:.7rem;}
}

/* === V5.02: filtros geográficos + administrativos + RIS === */
.filter-grid{
  grid-template-columns: repeat(5, minmax(170px, 1fr)) !important;
  align-items:start !important;
}
.filter-grid > .fi-red,
.filter-grid > .fi-ris,
.filter-grid > .fi-zona,
.filter-grid > .fi-entrada{min-width:0 !important;}
.filter-grid .filter-control{width:100%;}
@media (max-width: 1399.98px){
  .filter-grid{grid-template-columns: repeat(4, minmax(165px, 1fr)) !important;}
}
@media (max-width: 991.98px){
  .filter-grid{grid-template-columns: repeat(3, minmax(150px, 1fr)) !important;}
}
@media (max-width: 767.98px){
  .filter-grid{grid-template-columns: repeat(2, minmax(145px, 1fr)) !important;}
}
@media (max-width: 575.98px){
  .filter-grid{grid-template-columns: 1fr !important;}
}

/* === V5.03: filtros compactos con avanzada === */
.filter-main-grid{
  display:grid;
  grid-template-columns:110px minmax(240px,1.35fr) repeat(4, minmax(160px,1fr)) minmax(190px,1.1fr);
  gap:14px;
  align-items:start;
}
.filter-main-item{min-width:0;}
.filter-main-item .filter-control,
.filter-main-item .btn-month,
.filter-main-item .advanced-toggle-btn{width:100%;}
.advanced-toggle-btn{
  min-height:56px;
  border-radius:18px;
  font-weight:800;
  border-color:#b9cfe0;
}
.advanced-toggle-btn.is-open{
  background:#102a43;
  color:#fff;
  border-color:#102a43;
}
.advanced-default-note{
  margin-top:8px;
  font-size:.83rem;
  line-height:1.25;
  color:#6b7b8c;
}
.advanced-filters{
  margin-top:14px;
  padding:16px;
  border:1px solid #dbe8f2;
  border-radius:20px;
  background:linear-gradient(180deg,#fbfdff 0%, #f4f9fd 100%);
}
.advanced-filters-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
  flex-wrap:wrap;
}
.advanced-eyebrow{
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#0b5f6a;
  margin-bottom:2px;
}
.advanced-subtitle{
  color:#6b7b8c;
  line-height:1.3;
  font-size:.9rem;
}
.distribution-switch{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px;
  border-radius:999px;
  background:#eaf3f8;
  border:1px solid #d5e5f0;
}
.dist-btn{
  border:0;
  background:transparent;
  border-radius:999px;
  padding:.58rem .95rem;
  font-weight:800;
  color:#4b6279;
}
.dist-btn.active{
  background:#fff;
  color:#102a43;
  box-shadow:0 6px 16px rgba(16,42,67,.08);
}
.filter-advanced-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(170px,1fr));
  gap:14px;
}
.filter-advanced-grid .filter-item{min-width:0;}
.filter-advanced-grid .filter-control{width:100%;}
.filter-main-grid .fi-alert{grid-column:1 / -1;}

@media (max-width: 1399.98px){
  .filter-main-grid{
    grid-template-columns:110px minmax(220px,1.2fr) repeat(3, minmax(155px,1fr));
  }
  .filter-main-grid .fi-advanced-toggle{grid-column:1 / -1;}
}
@media (max-width: 1199.98px){
  .filter-main-grid{
    grid-template-columns:repeat(4, minmax(155px,1fr));
  }
}
@media (max-width: 991.98px){
  .filter-main-grid{grid-template-columns:repeat(3, minmax(150px,1fr));}
  .filter-advanced-grid{grid-template-columns:repeat(3, minmax(150px,1fr));}
}
@media (max-width: 767.98px){
  .filter-main-grid,
  .filter-advanced-grid{grid-template-columns:repeat(2, minmax(145px,1fr));}
  .advanced-filters{padding:14px;}
  .advanced-filters-head{flex-direction:column;align-items:stretch;}
  .distribution-switch{width:100%;justify-content:space-between;}
  .dist-btn{flex:1 1 0;text-align:center;}
}
@media (max-width: 575.98px){
  .filter-main-grid,
  .filter-advanced-grid{grid-template-columns:1fr;}
  .advanced-default-note{font-size:.8rem;}
}


.distribution-dropdown{margin-left:auto;}
.distribution-toggle{min-height:44px;font-weight:800;border-radius:999px;}
.distribution-menu{min-width:220px;border-radius:18px;}
.distribution-menu-title{padding:.45rem .75rem .35rem;font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#0b5f6a;}
.dist-mode-item{border-radius:12px;font-weight:700;padding:.65rem .8rem;display:flex;align-items:center;}
.dist-mode-item .dist-check{opacity:0;}
.dist-mode-item.active{background:#eef6fb;color:#12395b;}
.dist-mode-item.active .dist-check{opacity:1;}

/* === V5.04: distribución inline, sin panel inferior === */
.compact-mode-grid{
  display:grid;
  grid-template-columns:120px minmax(230px,1.25fr) repeat(5, minmax(165px,1fr));
  gap:14px;
  align-items:start;
}
.compact-mode-grid .filter-main-item{min-width:0;}
.compact-mode-grid .filter-control,
.compact-mode-grid .btn-month{width:100%;}
.compact-mode-grid .fi-alert{grid-column:1 / -1;}
.compact-mode-grid .fi-year input,
#f_anio{
  min-height:46px;
  font-weight:800;
  appearance:textfield;
  -moz-appearance:textfield;
}
#f_anio::-webkit-outer-spin-button,
#f_anio::-webkit-inner-spin-button{appearance:none;-webkit-appearance:none;margin:0;}
.compact-mode-grid .fi-months{min-width:230px;}
.compact-mode-grid .fi-year{min-width:120px;}
.compact-mode-grid .meses-hint{
  max-width:220px;
  line-height:1.2;
  margin-top:6px;
}
.compact-mode-grid #month_label{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.dist-item.d-none{display:none !important;}

@media (max-width: 1599.98px){
  .compact-mode-grid{grid-template-columns:120px minmax(220px,1.2fr) repeat(5, minmax(155px,1fr));}
}
@media (max-width: 1399.98px){
  .compact-mode-grid{grid-template-columns:repeat(4, minmax(165px,1fr));}
  .compact-mode-grid .fi-year{min-width:0;}
  .compact-mode-grid .fi-months{min-width:0;}
}
@media (max-width: 991.98px){
  .compact-mode-grid{grid-template-columns:repeat(3, minmax(150px,1fr));}
}
@media (max-width: 767.98px){
  .compact-mode-grid{grid-template-columns:repeat(2, minmax(145px,1fr));}
  .compact-mode-grid .meses-hint{max-width:none;}
}
@media (max-width: 575.98px){
  .compact-mode-grid{grid-template-columns:1fr;}
}


/* Nominal: bloques visuales por grupo */
#tblNominal th.nominal-weight{background:#c7771a!important;color:#fff!important;}
#tblNominal td.nominal-weight{background:#fff4e8!important;}
#tblNominal th.nominal-height{background:#0f766e!important;color:#fff!important;}
#tblNominal td.nominal-height{background:#ecfdf5!important;}
#tblNominal th.nominal-diagnosis{background:#1d4ed8!important;color:#fff!important;}
#tblNominal td.nominal-diagnosis{background:#eff6ff!important;max-width:380px;white-space:normal;min-width:220px;}
#tblNominal td.col-prov{font-weight:800;}
#tblNominal td.col-num{font-weight:700;text-align:right;}

/* ===== V5.08 polish + rapidez visual ===== */
.loading-soft{position:relative; overflow:hidden;}
.loading-soft::after{content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.45), rgba(255,255,255,0)); transform:translateX(-100%); animation:loadingSweep .9s ease-in-out infinite; pointer-events:none;}
@keyframes loadingSweep{100%{transform:translateX(100%);}}
.kpi-card,.panel-card,.home-module-card,.future-card,.home-hero{transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease;}
.kpi-card:hover,.panel-card:hover,.home-module-card:hover,.future-card:hover{transform:translateY(-2px);}
.kpi-value{transition:opacity .18s ease, transform .18s ease;}
.nominal-legend{display:flex; gap:.5rem; flex-wrap:wrap;}
.nominal-chip{display:inline-flex; align-items:center; gap:.35rem; padding:.35rem .7rem; border-radius:999px; font-size:.82rem; font-weight:700; border:1px solid #d7e3ef; background:#f8fbfe; color:#274c69;}
.nominal-chip::before{content:""; width:.7rem; height:.7rem; border-radius:999px; display:inline-block;}
.nominal-chip-weight::before{background:#c7771a;}
.nominal-chip-height::before{background:#0f766e;}
.nominal-chip-diagnosis::before{background:#1d4ed8;}
.nominal-wrap{border-radius:18px; border:1px solid #d9e6f0;}
.nominal-wrap table thead th{position:sticky; top:0; z-index:3; box-shadow:0 1px 0 rgba(12,60,90,.06);}
.nominal-wrap table tbody tr:hover td{background:#f8fbff !important;}
.nominal-wrap table td:first-child,.nominal-wrap table th:first-child{position:sticky; left:0; z-index:2; background:inherit;}
.nominal-wrap table th:first-child{z-index:4;}
.home-module-card .home-kpi-box strong,.home-exec-card strong{display:inline-block; min-height:1.25em;}


/* ===== V5.09 home cards premium ===== */
.home-module-premium{overflow:hidden; position:relative;}
.home-module-premium::before{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:130px;
  pointer-events:none;
  background:radial-gradient(circle at top left, rgba(255,255,255,.9), rgba(255,255,255,0) 55%);
}
.module-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;position:relative;z-index:1;}
.module-head-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.65rem;}
.module-open-btn{min-width:120px;font-weight:800;border-radius:12px;}
.module-copy{color:#566577;max-width:34rem;line-height:1.4;}
.home-module-card .card-body{position:relative;z-index:1;}
.home-module-premium.module-anemia{
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 52%,#f4f9ff 100%);
  border:1px solid rgba(59,130,246,.10);
}
.home-module-premium.module-dci{
  background:linear-gradient(180deg,#ffffff 0%,#f8fcff 52%,#f2fbff 100%);
  border:1px solid rgba(14,165,233,.10);
}
.module-main-hero{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(240px,.9fr);
  gap:1rem;
  align-items:stretch;
  border-radius:22px;
  padding:1.2rem 1.25rem;
  border:1px solid rgba(219,232,242,.9);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65), 0 16px 34px rgba(15,23,42,.05);
}
.module-main-hero-anemia{background:linear-gradient(135deg,rgba(59,130,246,.08),rgba(255,255,255,.96) 55%,rgba(14,165,233,.06));}
.module-main-hero-dci{background:linear-gradient(135deg,rgba(14,165,233,.08),rgba(255,255,255,.96) 55%,rgba(6,182,212,.06));}
.module-main-copy-wrap{display:flex;flex-direction:column;justify-content:center;min-width:0;}
.module-main-label{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#46637c;margin-bottom:.65rem;}
.module-main-value{font-size:clamp(2.4rem, 6vw, 4rem);line-height:.95;font-weight:900;color:#0f2942;letter-spacing:-.03em;}
.module-main-meta{margin-top:.7rem;display:flex;align-items:center;flex-wrap:wrap;gap:.55rem;color:#506173;font-weight:700;}
.module-main-meta strong{color:#0f2942;}
.dot-sep{width:6px;height:6px;border-radius:999px;background:rgba(15,41,66,.25);display:inline-block;}
.module-main-bar-wrap{display:flex;flex-direction:column;justify-content:center;gap:.7rem;min-width:0;}
.module-main-bar-track{height:14px;border-radius:999px;background:rgba(148,163,184,.18);overflow:hidden;box-shadow:inset 0 1px 3px rgba(15,23,42,.08);}
.module-main-bar-fill{height:100%;width:0;border-radius:999px;transition:width .65s ease;}
.module-main-bar-fill-anemia{background:linear-gradient(90deg,#2563eb,#0ea5e9);}
.module-main-bar-fill-dci{background:linear-gradient(90deg,#0ea5e9,#06b6d4);}
.module-main-foot{font-size:.9rem;color:#617387;font-weight:700;line-height:1.35;}
.module-mini-grid{display:grid;gap:.85rem;}
.module-mini-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.module-mini-card{
  padding:1rem 1rem 1.05rem;
  border-radius:18px;
  border:1px solid #dbe8f2;
  background:rgba(255,255,255,.82);
  box-shadow:0 10px 24px rgba(15,23,42,.04);
  min-width:0;
}
.module-mini-card strong{display:block;font-size:1.75rem;line-height:1;color:#102a43;margin-top:.3rem;word-break:break-word;}
.module-breakdown-card{
  border-radius:20px;
  border:1px solid #dbe8f2;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,251,255,.98));
  padding:1rem 1.05rem 1.05rem;
}
.module-breakdown-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:.8rem;}
.module-breakdown-title{font-size:1rem;font-weight:800;color:#102a43;line-height:1.2;}
.module-breakdown-total{font-size:.92rem;font-weight:800;color:#5f7388;line-height:1.25;text-align:right;}
.severity-bar{display:flex;overflow:hidden;height:14px;border-radius:999px;background:rgba(148,163,184,.16);box-shadow:inset 0 1px 3px rgba(15,23,42,.08);margin-bottom:.9rem;}
.severity-segment{display:block;height:100%;min-width:0;transition:width .65s ease;}
.severity-segment-normal{background:linear-gradient(90deg,#cbd5e1,#94a3b8);}
.severity-segment-dci{background:linear-gradient(90deg,#0ea5e9,#06b6d4);}
.severity-segment-leve{background:linear-gradient(90deg,#60a5fa,#3b82f6);}
.severity-segment-moderada{background:linear-gradient(90deg,#38bdf8,#0ea5e9);}
.severity-segment-severa{background:linear-gradient(90deg,#f59e0b,#ef4444);}
.severity-segment-noc{background:linear-gradient(90deg,#cbd5e1,#94a3b8);}
.severity-chip-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;}
.severity-chip-grid-dci{grid-template-columns:repeat(3,minmax(0,1fr));}
.severity-chip{
  display:flex;
  flex-direction:column;
  gap:.2rem;
  padding:.8rem .85rem;
  border-radius:16px;
  border:1px solid rgba(219,232,242,.95);
  background:#fff;
  min-width:0;
}
.severity-chip span{font-size:.8rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#5f7388;}
.severity-chip strong{font-size:1.12rem;line-height:1.05;color:#102a43;word-break:break-word;}
.severity-chip-leve{background:linear-gradient(180deg,rgba(96,165,250,.12),#fff);}
.severity-chip-moderada{background:linear-gradient(180deg,rgba(14,165,233,.12),#fff);}
.severity-chip-severa{background:linear-gradient(180deg,rgba(245,158,11,.14),#fff);}
.severity-chip-noc,.severity-chip-normal{background:linear-gradient(180deg,rgba(203,213,225,.18),#fff);}
.severity-chip-dci{background:linear-gradient(180deg,rgba(6,182,212,.12),#fff);}

@media (max-width: 1199.98px){
  .module-main-hero{grid-template-columns:1fr;}
}
@media (max-width: 767.98px){
  .module-head-actions{width:100%;justify-content:flex-start;}
  .module-open-btn{width:100%;}
  .module-mini-grid-3,
  .severity-chip-grid,
  .severity-chip-grid-dci{grid-template-columns:1fr;}
  .module-main-hero{padding:1rem;}
  .module-mini-card strong{font-size:1.45rem;}
  .module-breakdown-total{text-align:left;}
}


/* ===== V5.11 HOME REDISEÑO REAL ===== */
body{
  background:linear-gradient(180deg,#f4f7fa 0%,#eef3f7 100%);
}
.home-page-v2{max-width:1460px;margin:0 auto;}
.home-hero-v2{
  background:linear-gradient(180deg,#ffffff 0%,#f8fbfd 100%);
  border:1px solid rgba(214,225,235,.95);
  border-radius:28px;
  box-shadow:0 20px 50px rgba(15,23,42,.055) !important;
}
.home-hero-grid-v2{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(300px,.76fr);
  gap:1rem;
  align-items:stretch;
}
.hero-copy-v2{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-width:0;
}
.hero-headline-row{
  display:flex;
  align-items:center;
  gap:.65rem;
  flex-wrap:wrap;
}
.hero-state-pill{
  display:inline-flex;
  align-items:center;
  gap:.42rem;
  padding:.42rem .76rem;
  border-radius:999px;
  font-size:.8rem;
  font-weight:800;
  color:#4e6478;
  background:#f6fafc;
  border:1px solid #dce7ef;
}
.home-title-v2{
  font-size:clamp(1.9rem,3vw,2.8rem);
  line-height:1.02;
  letter-spacing:-.035em;
  max-width:14ch;
  margin:0;
}
.home-subtitle-v2{
  max-width:760px;
  font-size:1rem;
  line-height:1.62;
  color:#607284;
}
.home-actions-v2 .home-btn{
  min-height:44px;
  padding:.68rem 1rem;
  border-radius:15px;
  font-weight:800;
  font-size:.96rem;
  box-shadow:none !important;
  border:1px solid transparent;
}
.home-btn-primary{
  color:#fff;
  background:linear-gradient(135deg,#1d4ed8,#2563eb);
}
.home-btn-primary:hover{color:#fff;background:linear-gradient(135deg,#1e40af,#1d4ed8);}
.home-btn-secondary{
  color:#0f5d76;
  background:#fff;
  border-color:#93d7e7;
}
.home-btn-secondary:hover{color:#0c4a5f;border-color:#67c6df;background:#f8feff;}
.home-btn-tertiary{
  color:#23364a;
  background:#fff;
  border-color:#d6e0e8;
}
.home-btn-tertiary:hover{color:#122133;background:#f8fafc;border-color:#c6d2dd;}
.home-exec-grid-v2{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.8rem;
}
.home-exec-card-v2{
  padding:.95rem 1rem;
  border-radius:18px;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
  border:1px solid #dbe7ef;
  box-shadow:0 10px 24px rgba(15,23,42,.035);
}
.home-exec-card-v2 strong{
  display:block;
  font-size:1.35rem;
  line-height:1.05;
  margin:.16rem 0;
}
.home-exec-card-v2 small{
  display:block;
  color:#6a7d90;
  font-weight:700;
  line-height:1.35;
}
.home-side-v2{display:flex;}
.home-side-card-v2{
  width:100%;
  padding:1rem 1rem .95rem;
  border-radius:24px;
  background:linear-gradient(180deg,#0d4654 0%,#0e5c6b 100%);
  color:#fff;
  box-shadow:0 18px 38px rgba(8,38,48,.16);
}
.home-side-label{color:rgba(255,255,255,.72);}
.home-side-title-v2{
  font-size:1.12rem;
  font-weight:800;
  line-height:1.34;
  color:#f2fbff;
  margin:.2rem 0 0;
}
.scope-list-v2{margin:.8rem 0 .95rem;gap:.45rem;}
.scope-chip{
  display:inline-flex;
  align-items:center;
  gap:.42rem;
  padding:.48rem .72rem;
  border-radius:999px;
  font-size:.88rem;
  font-weight:800;
}
.home-roadmap-v2{display:grid;gap:.72rem;margin:.95rem 0;}
.home-roadmap-v2 .home-roadmap-item{
  grid-template-columns:10px 1fr;
  gap:.68rem;
}
.home-roadmap-v2 .home-roadmap-item span{
  width:10px;height:10px;margin-top:.34rem;
}
.home-roadmap-v2 .home-roadmap-item strong{font-size:.94rem;}
.home-roadmap-v2 .home-roadmap-item small{line-height:1.34;}
.home-side-foot{
  color:rgba(255,255,255,.84);
  line-height:1.48;
  font-size:.92rem;
  border-top:1px solid rgba(255,255,255,.12);
  padding-top:.78rem;
}
.home-section-v2{margin-top:.25rem;}
.home-section-head-v2{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
}
.home-section-title{
  font-size:1.15rem;
  line-height:1.15;
  letter-spacing:-.01em;
}
.chart-pill.chart-pill-soft{
  background:#f6fafc;
  color:#5c7187;
  border:1px solid #dbe7ef;
  font-weight:800;
}
.home-module-card-v2,
.future-card-v2{
  border-radius:24px;
  box-shadow:0 16px 36px rgba(15,23,42,.045) !important;
}
.home-module-card-v2.module-anemia{
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 58%,#f7fbff 100%);
  border:1px solid rgba(59,130,246,.12);
}
.home-module-card-v2.module-dci{
  background:linear-gradient(180deg,#ffffff 0%,#fbfeff 58%,#f5fbfe 100%);
  border:1px solid rgba(14,165,233,.12);
}
.home-module-premium::before{
  height:104px;
  opacity:.78;
}
.module-head-v2{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:.8rem;
  flex-wrap:wrap;
}
.module-head-actions-v2{gap:.55rem;}
.module-eyebrow{
  padding:.36rem .64rem;
  font-size:.72rem;
  margin-bottom:.65rem;
}
.module-title,.future-title{
  font-size:1.18rem;
  letter-spacing:-.01em;
}
.module-copy{
  font-size:.92rem;
  line-height:1.5;
  color:#667789;
}
.module-open-btn{
  min-width:112px;
  border-radius:12px;
  font-weight:800;
}
.module-main-hero-v2{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(220px,.74fr);
  gap:.9rem;
  border-radius:20px;
  padding:1rem 1.05rem;
  border:1px solid rgba(219,232,242,.95);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 12px 28px rgba(15,23,42,.035);
}
.module-main-value{
  font-size:clamp(2.15rem,4.2vw,3.35rem);
  letter-spacing:-.045em;
}
.module-main-label{font-size:.73rem;margin-bottom:.42rem;}
.module-main-meta{
  margin-top:.55rem;
  gap:.45rem;
  font-size:.95rem;
}
.module-main-bar-wrap-v2{justify-content:center;gap:.65rem;}
.module-main-bar-track{height:12px;}
.module-main-foot{
  font-size:.87rem;
  line-height:1.42;
}
.module-mini-grid-v2{gap:.7rem;}
.module-mini-card{
  padding:.82rem .9rem .92rem;
  border-radius:16px;
  background:rgba(255,255,255,.9);
  box-shadow:0 8px 20px rgba(15,23,42,.03);
}
.module-mini-card strong{
  font-size:1.48rem;
  margin-top:.22rem;
}
.module-breakdown-card-v2{
  padding:.92rem 1rem 1rem;
  border-radius:18px;
  background:linear-gradient(180deg,#ffffff 0%,#f9fbfd 100%);
}
.module-breakdown-head{margin-bottom:.7rem;}
.module-breakdown-title{
  font-size:.96rem;
  line-height:1.28;
}
.module-breakdown-total{
  font-size:.88rem;
  max-width:220px;
}
.severity-bar{
  height:12px;
  margin-bottom:.75rem;
}
.severity-chip-grid-v2{gap:.6rem;}
.severity-chip{
  padding:.72rem .78rem;
  border-radius:15px;
}
.severity-chip span{font-size:.75rem;}
.severity-chip strong{font-size:1rem;}
.future-card-v2{
  background:linear-gradient(180deg,#ffffff 0%,#f9fbfd 100%);
  border:1px solid #dbe7ef;
}
.future-icon-v2{
  width:50px;
  height:50px;
  border-radius:16px;
  margin-bottom:.82rem;
}
.future-card-active{
  border-top:none;
  border-left:4px solid rgba(34,197,94,.42);
}
.text-muted{color:#6c7d8f !important;}

@media (max-width: 1199.98px){
  .home-hero-grid-v2,
  .module-main-hero-v2{grid-template-columns:1fr;}
}
@media (max-width: 991.98px){
  .home-exec-grid-v2{grid-template-columns:1fr;}
}
@media (max-width: 767.98px){
  .home-title-v2{max-width:none;font-size:1.8rem;}
  .home-subtitle-v2{font-size:.96rem;}
  .home-actions-v2 .home-btn{width:100%;}
  .home-section-head-v2{align-items:flex-start;}
  .module-head-actions-v2{width:100%;justify-content:flex-start;}
  .module-open-btn{width:100%;}
  .module-mini-grid-3,
  .severity-chip-grid,
  .severity-chip-grid-dci{grid-template-columns:1fr;}
  .home-hero-v2{border-radius:24px;}
}

/* =====================================================
   HOME V5.12 · ejecutivo limpio estilo panel regional
===================================================== */
.home-page-v3{
  max-width: 1460px;
  margin: 0 auto;
}
.home-topbar-v3{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:1rem;
  flex-wrap:wrap;
}
.home-kicker-row-v3{
  display:flex;
  gap:.55rem;
  flex-wrap:wrap;
}
.home-kicker-v3{
  display:inline-flex;
  align-items:center;
  gap:.38rem;
  padding:.42rem .74rem;
  border-radius:999px;
  background:#ecf9f8;
  color:#0e6a69;
  border:1px solid #d5efec;
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.home-kicker-v3.muted{
  background:#f5f8fb;
  color:#617284;
  border-color:#e1e9f0;
}
.home-main-title-v3{
  font-size:clamp(1.65rem, 1.45rem + 1vw, 2.3rem);
  font-weight:900;
  letter-spacing:-.03em;
  color:#102a43;
}
.home-main-subtitle-v3{
  color:#64748b;
  font-size:1rem;
}
.home-topbar-actions-v3{
  display:flex;
  align-items:center;
  gap:.7rem;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.home-global-pill-v3{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:.58rem .9rem;
  border-radius:999px;
  background:#f7fafc;
  border:1px solid #dbe7ef;
  box-shadow:0 8px 22px rgba(15,23,42,.05);
  color:#334155;
  font-size:.82rem;
  font-weight:800;
}
.home-topbar-btn-v3{
  min-height:40px;
  padding:.58rem .95rem;
  border-radius:999px;
  border:1px solid #dbe7ef;
  background:#fff;
  box-shadow:0 8px 22px rgba(15,23,42,.05);
  color:#183b56;
  font-weight:800;
}
.home-topbar-btn-v3:hover{
  background:#f8fbfd;
  border-color:#cfe0ea;
  color:#183b56;
}
.home-entry-strip-v3{
  display:grid;
  grid-template-columns:auto auto 1fr;
  gap:.9rem;
  align-items:stretch;
}
.home-entry-btn-v3,
.home-entry-meta-v3{
  border-radius:22px;
  border:1px solid #d8e6ee;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbfe 100%);
  box-shadow:0 16px 32px rgba(15,23,42,.06);
}
.home-entry-btn-v3{
  display:flex;
  align-items:center;
  gap:.9rem;
  padding:1rem 1.05rem;
  text-decoration:none;
  color:#13334c;
}
.home-entry-btn-v3:hover{
  transform:translateY(-1px);
  color:#13334c;
}
.home-entry-btn-v3 i{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:16px;
  font-size:1.2rem;
  color:#fff;
}
.home-entry-btn-v3.primary i{background:linear-gradient(135deg,#2f6fa5,#4f7dd6);}
.home-entry-btn-v3.secondary i{background:linear-gradient(135deg,#0f8fa7,#29b3c6);}
.home-entry-btn-v3 span{display:flex;flex-direction:column;line-height:1.15;}
.home-entry-btn-v3 strong{font-size:1rem;font-weight:900;}
.home-entry-btn-v3 small{color:#64748b;font-size:.83rem;margin-top:.15rem;}
.home-entry-meta-v3{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:1rem;
  padding:1rem 1.15rem;
  flex-wrap:wrap;
}
.home-entry-meta-v3 span{
  display:inline-flex;
  align-items:center;
  gap:.42rem;
  color:#44576a;
  font-size:.86rem;
  font-weight:700;
}
.home-entry-meta-v3 i{color:#0fa0b0;}
.home-modules-grid-v3{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:1.2rem;
}
.summary-card-v3{
  border-radius:26px;
  padding:1.2rem;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbfe 100%);
  border:1px solid #dbe7ef;
  box-shadow:0 18px 38px rgba(15,23,42,.07);
  position:relative;
  overflow:hidden;
}
.summary-card-v3::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:6px;
  opacity:.85;
}
.summary-card-anemia-v3::before{background:linear-gradient(90deg,#3a75c4,#59b7f0,#f0b061,#d2dae2);}
.summary-card-dci-v3::before{background:linear-gradient(90deg,#0fa0b0,#29b3c6,#7fd6df,#f0b061);}
.summary-card-head-v3{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:1rem;
  margin-bottom:1rem;
}
.summary-chip-v3{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.32rem .68rem;
  border-radius:999px;
  background:#ecf9f8;
  color:#0e6a69;
  border:1px solid #d7efec;
  font-size:.74rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.summary-title-v3{
  font-size:1.8rem;
  line-height:1;
  font-weight:900;
  letter-spacing:-.03em;
  color:#102a43;
}
.summary-copy-v3{
  color:#67768a;
  font-size:.95rem;
}
.summary-head-actions-v3{
  display:flex;
  align-items:center;
  gap:.55rem;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.summary-period-v3{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:.42rem .8rem;
  border-radius:999px;
  background:#f6f8fb;
  border:1px solid #dee8ef;
  color:#41556a;
  font-size:.8rem;
  font-weight:800;
}
.summary-open-btn-v3{
  min-height:36px;
  border-radius:999px;
  padding:.42rem .86rem;
  border:1px solid #a8c4df;
  background:#fff;
  color:#1d5f92;
  font-weight:800;
}
.summary-open-btn-v3:hover{
  background:#f8fbff;
  color:#1d5f92;
  border-color:#90b7db;
}
.summary-open-btn-v3.dci{
  border-color:#94cad2;
  color:#11788a;
}
.summary-open-btn-v3.dci:hover{
  background:#f5fdff;
  color:#11788a;
  border-color:#7ebbc5;
}
.summary-main-band-v3{
  display:grid;
  grid-template-columns:1.4fr .95fr;
  gap:1rem;
  align-items:center;
  padding:1rem 1.05rem;
  border-radius:20px;
  background:linear-gradient(135deg,rgba(79,125,214,.07),rgba(255,255,255,.98) 55%,rgba(89,183,240,.08));
  border:1px solid #dbe8f4;
  margin-bottom:1rem;
}
.summary-main-band-v3.dci{
  background:linear-gradient(135deg,rgba(15,160,176,.08),rgba(255,255,255,.98) 55%,rgba(87,200,211,.09));
}
.summary-label-v3{
  display:block;
  font-size:.78rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:#4c6174;
  margin-bottom:.2rem;
}
.summary-main-value-v3{
  display:block;
  font-size:3rem;
  line-height:.95;
  letter-spacing:-.05em;
  color:#0f2138;
}
.summary-main-meta-v3{
  display:flex;
  align-items:center;
  gap:.55rem;
  flex-wrap:wrap;
  color:#44576a;
  font-size:.94rem;
  margin-top:.45rem;
}
.dot-sep-v3{
  width:5px;
  height:5px;
  border-radius:50%;
  background:#a4b5c5;
}
.summary-main-bar-v3 small{
  display:block;
  margin-top:.45rem;
  color:#6d7f8f;
}
.summary-progress-track-v3{
  width:100%;
  height:10px;
  border-radius:999px;
  background:#dfe7ef;
  overflow:hidden;
}
.summary-progress-fill-v3{
  height:100%;
  width:0;
  border-radius:999px;
  transition:width .45s ease;
}
.summary-progress-fill-v3.anemia{background:linear-gradient(90deg,#3a75c4,#59b7f0);}
.summary-progress-fill-v3.dci{background:linear-gradient(90deg,#0fa0b0,#29b3c6);}
.summary-kpi-grid-v3{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.8rem;
  margin-bottom:1rem;
}
.summary-kpi-card-v3{
  min-height:86px;
  border-radius:16px;
  border:1px solid #dbe7ef;
  background:#fff;
  padding:.85rem .95rem;
  box-shadow:0 10px 22px rgba(15,23,42,.04);
}
.summary-kpi-card-v3 span{
  display:block;
  color:#68788b;
  font-size:.8rem;
  font-weight:800;
  margin-bottom:.2rem;
}
.summary-kpi-card-v3 strong{
  font-size:1.9rem;
  line-height:1;
  letter-spacing:-.04em;
  color:#11283f;
}
.summary-kpi-card-v3.emphasis-soft{
  background:linear-gradient(180deg,#fff8f8 0%,#ffffff 100%);
  border-color:#eddfe1;
}
.summary-kpi-card-v3.emphasis-soft.dci{
  background:linear-gradient(180deg,#f5feff 0%,#ffffff 100%);
  border-color:#d8eef2;
}
.summary-bottom-grid-v3{
  display:grid;
  grid-template-columns:1.2fr .95fr;
  gap:.85rem;
}
.summary-detail-card-v3{
  border-radius:18px;
  border:1px solid #dce7ef;
  background:#fff;
  padding:1rem;
  box-shadow:0 10px 22px rgba(15,23,42,.04);
}
.summary-detail-head-v3{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:.75rem;
  margin-bottom:.95rem;
}
.summary-mini-label-v3{
  display:block;
  color:#708195;
  font-size:.76rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
  margin-bottom:.18rem;
}
.summary-detail-title-v3{
  color:#16334d;
  font-size:.96rem;
  font-weight:800;
  line-height:1.25;
}
.summary-detail-total-v3{
  color:#526478;
  font-size:.82rem;
  font-weight:800;
  text-align:right;
}
.summary-breakdown-v3{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:.9rem;
  align-items:center;
}
.summary-ring-wrap-v3{
  display:flex;
  justify-content:center;
  align-items:center;
}
.summary-ring-v3{
  position:relative;
  width:98px;
  height:98px;
  border-radius:50%;
  background:conic-gradient(#dbe7ef 0deg 360deg);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.55);
}
.summary-ring-v3::after{
  content:"";
  position:absolute;
  inset:13px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 6px 12px rgba(15,23,42,.05);
}
.summary-ring-center-v3{
  position:absolute;
  inset:0;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.summary-ring-center-v3 small{
  color:#7a8a9b;
  font-size:.72rem;
  font-weight:800;
  text-transform:uppercase;
}
.summary-ring-center-v3 strong{
  color:#102a43;
  font-size:1.08rem;
  font-weight:900;
}
.summary-legend-v3{
  display:grid;
  gap:.55rem;
}
.summary-legend-item-v3{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:.8rem;
  padding:.48rem .68rem;
  border-radius:12px;
  background:#f8fbfd;
  border:1px solid #e4edf3;
  font-size:.86rem;
  font-weight:700;
  color:#405366;
}
.summary-legend-item-v3 strong{font-weight:900;color:#12314c;}
.summary-legend-item-v3.leve{border-left:4px solid #44a6e9;}
.summary-legend-item-v3.moderada{border-left:4px solid #4f7dd6;}
.summary-legend-item-v3.severa{border-left:4px solid #e39144;}
.summary-legend-item-v3.noc{border-left:4px solid #95a7b8;}
.summary-legend-item-v3.normal{border-left:4px solid #29b3c6;}
.summary-legend-item-v3.talla-baja{border-left:4px solid #2e7cc6;}
.summary-microbar-v3{
  display:flex;
  width:100%;
  height:10px;
  border-radius:999px;
  overflow:hidden;
  background:#ecf2f7;
  margin-top:.95rem;
}
.summary-microbar-v3 span{display:block;height:100%;width:0;}
.summary-microbar-v3.severity span:nth-child(1){background:#44a6e9;}
.summary-microbar-v3.severity span:nth-child(2){background:#4f7dd6;}
.summary-microbar-v3.severity span:nth-child(3){background:#e39144;}
.summary-microbar-v3.severity span:nth-child(4){background:#95a7b8;}
.summary-microbar-v3.dci span:nth-child(1){background:#29b3c6;}
.summary-microbar-v3.dci span:nth-child(2){background:#2e7cc6;}
.summary-spark-wrap-v3{
  height:132px;
  border-radius:16px;
  background:linear-gradient(180deg,#f8fbfe 0%,#ffffff 100%);
  border:1px solid #e5eef5;
  padding:.5rem .5rem .25rem;
}
.summary-spark-svg-v3{
  width:100%;
  height:100%;
  display:block;
}
.summary-trend-foot-v3{
  margin-top:.75rem;
  color:#596c7f;
  font-size:.84rem;
  font-weight:700;
}
.home-roadmap-strip-v3{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.9rem;
}
.home-roadmap-card-v3{
  display:flex;
  align-items:flex-start;
  gap:.9rem;
  padding:1rem 1.05rem;
  border-radius:20px;
  border:1px solid #dbe7ef;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbfe 100%);
  box-shadow:0 14px 28px rgba(15,23,42,.05);
}
.home-roadmap-card-v3.active{
  border-color:#cfe4e7;
  background:linear-gradient(135deg,#ffffff 0%,#f2fbfb 100%);
}
.home-roadmap-icon-v3{
  width:46px;
  height:46px;
  border-radius:15px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#eaf8f7,#f4fbfd);
  color:#0c8394;
  font-size:1.2rem;
  flex:0 0 auto;
}
.home-roadmap-card-v3 strong{
  display:block;
  color:#102a43;
  font-size:1rem;
  font-weight:900;
  margin-bottom:.15rem;
}
.home-roadmap-card-v3 small{
  color:#66778a;
  line-height:1.4;
}

@media (max-width: 1199.98px){
  .home-entry-strip-v3,
  .home-modules-grid-v3,
  .summary-bottom-grid-v3,
  .home-roadmap-strip-v3{
    grid-template-columns:1fr;
  }
  .summary-main-band-v3{
    grid-template-columns:1fr;
  }
}

@media (max-width: 767.98px){
  .summary-card-v3{padding:1rem; border-radius:22px;}
  .summary-card-head-v3,
  .summary-detail-head-v3,
  .home-topbar-v3{
    flex-direction:column;
    align-items:flex-start;
  }
  .summary-head-actions-v3,
  .home-topbar-actions-v3{
    width:100%;
    justify-content:flex-start;
  }
  .summary-kpi-grid-v3{grid-template-columns:1fr;}
  .summary-breakdown-v3{grid-template-columns:1fr;}
  .summary-main-value-v3{font-size:2.45rem;}
  .home-entry-meta-v3{justify-content:flex-start;}
}

@media (max-width: 575.98px){
  .home-global-pill-v3,
  .home-topbar-btn-v3,
  .summary-period-v3,
  .summary-open-btn-v3,
  .home-entry-btn-v3{
    width:100%;
    justify-content:center;
  }
  .home-entry-btn-v3{justify-content:flex-start;}
}


/* Compact dropdowns for grupo edad / edad meses */
.compact-multi-dropdown{position:relative;}
.compact-multi-menu{min-width:280px;border-radius:16px;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);z-index:2000;}
.compact-multi-select{min-height:168px;max-height:240px;overflow:auto;}
.compact-multi-hint{font-size:.78rem;color:#7b8794;margin-top:.45rem;}
.compact-multi-head .btn-link{font-weight:700;text-decoration:none;}
.compact-multi-dropdown .btn-month{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
@media (max-width: 991.98px){
  .compact-multi-menu{min-width:100%;}
}
