/* ALBA v80 — Diseño profesional azul para Mi progreso.
   Capa visual exclusivamente; los cálculos e historial no se modifican. */
.dashboard-body {
  --p-ink:#163759;
  --p-blue:#205eb2;
  --p-navy:#0b2549;
  --p-soft:#e5f1fe;
  --p-border:#bfd6f0;
  background:radial-gradient(ellipse 1000px 460px at 83% 0%,#bad7f5,transparent 80%),
             linear-gradient(180deg,#dbeafa 0,#eff6ff 450px,#f0f6fd 100%);
  color:var(--p-ink);
}
.dashboard-body .report-nav {
  max-width:none;width:100%;margin:0;
  padding:15px max(24px,calc((100vw - 1240px) / 2));
  background:linear-gradient(115deg,#07182e,#113a6c 64%,#1b4f82);
  border-bottom:1px solid #427ab0;box-shadow:0 6px 26px #102a4b27;
}
.dashboard-body .report-brand strong {color:#fff}
.dashboard-body .report-brand small {color:#cfe4ff!important}
.dashboard-body .report-brand img {filter:drop-shadow(0 3px 6px #0006)}
.dashboard-body .report-back {
  border:1px solid #a6c8e9;background:#ffffff14;color:#fff;
  box-shadow:inset 0 1px #ffffff25;
  transition:background .16s,transform .16s;
}
.dashboard-body .report-back:hover {background:#2b6eb1;transform:translateY(-1px)}
.dashboard-body .report-main {max-width:1290px;padding-top:25px}
.dashboard-body .report-intro {
  isolation:isolate;position:relative;overflow:hidden;
  padding:35px 37px;border:1px solid #4385c3;
  background:radial-gradient(circle at 82% 15%,#4c9bd343,transparent 39%),
             linear-gradient(115deg,#081f3d,#154a7e 70%,#206897);
  box-shadow:0 18px 35px #123b7227,inset 0 1px #ffffff25;
}
.dashboard-body .report-intro:before {
  content:"";position:absolute;z-index:-1;pointer-events:none;
  right:-100px;top:-200px;width:390px;height:390px;border-radius:50%;
  border:1px solid #ffffff29;
}
.dashboard-body .report-kicker {color:#9be7f4}
.dashboard-body .report-dot {background:#50e2ed;box-shadow:0 0 0 4px #50e2ed29}
.dashboard-body .report-intro h1 {font-size:clamp(29px,3.7vw,44px)}
.dashboard-body .report-intro h1 span {color:#8bddfd}
.dashboard-body .report-intro p {color:#deedff}
.dashboard-body .report-btn.outline {background:#ffffff18;border-color:#bcdfff;color:white}
.dashboard-body .report-btn.solid {background:linear-gradient(180deg,#d5f2ff,#98d4ff);border-color:#dbf3ff;color:#08345e}
.dashboard-body .backup-status {color:#dcf7ff!important}

/* Cuatro módulos KPI azules, iconos semánticos visibles. */
.dashboard-body .report-kpis {gap:14px;margin:18px 0}
.dashboard-body .kpi {
  position:relative;isolation:isolate;overflow:hidden;min-height:163px;
  border:1px solid #407dc0;background:linear-gradient(143deg,#123c73,#2368b0);
  box-shadow:0 9px 21px #17476a24,inset 0 1px #ffffff2b;
  transition:transform .17s,box-shadow .17s;
}
.dashboard-body .kpi:nth-child(2) {background:linear-gradient(143deg,#143b61,#156c91);border-color:#318da9}
.dashboard-body .kpi:nth-child(3) {background:linear-gradient(143deg,#183a6c,#436cac);border-color:#6889c5}
.dashboard-body .kpi:nth-child(4) {background:linear-gradient(143deg,#17426e,#167fa3);border-color:#4b9cb8}
.dashboard-body .kpi:before {
  content:"";position:absolute;pointer-events:none;z-index:-1;
  right:-38px;top:-72px;width:158px;height:158px;border-radius:50%;
  background:#fff;opacity:.065;
}
.dashboard-body .kpi:after {
  content:"";position:absolute;inset:0 0 auto;height:3px;
  background:linear-gradient(90deg,#90ecff,#ffffff80,transparent);
}
.dashboard-body .kpi:hover {transform:translateY(-2px);box-shadow:0 14px 23px #16477733}
.dashboard-body .kpi small {color:#eaf5ff!important}
.dashboard-body .kpi strong {color:#fff!important;font-size:clamp(26px,3.2vw,35px)}
.dashboard-body .kpi .kpi-sub {color:#d3e8fc!important}
.dashboard-body .kpi-icon {border:1px solid #ffffff34;border-radius:12px}
.dashboard-body .kpi-icon.blue {color:#e0f7ff;background:#b8edff24}
.dashboard-body .kpi-icon.green {color:#97ffdd;background:#6befc626}
.dashboard-body .kpi-icon.red {color:#ffcada;background:#ffb4cd25}
.dashboard-body .kpi-icon.amber {color:#ffe4a8;background:#ffdb9c28}

/* Gráficas y resumen con azules suaves en lugar de blanco plano. */
.dashboard-body .report-charts,.dashboard-body .report-middle {gap:15px}
.dashboard-body .report-card {
  border:1px solid #c1d7ee;
  border-radius:17px;
  background:linear-gradient(155deg,#f8fcff,#e8f3ff);
  box-shadow:0 6px 19px #22538a14,inset 0 1px #ffffffc9;
}
.dashboard-body .donut-card {background:linear-gradient(148deg,#f6fbff,#ddeeff)}
.dashboard-body .trend-card {background:linear-gradient(153deg,#f4f9ff,#e3f0ff)}
.dashboard-body .card-overline {color:#2366b2;letter-spacing:1.3px}
.dashboard-body .report-card h2 {color:#14385c!important}
.dashboard-body .card-tag {
  color:#174e87;background:#d8efff;
  border:1px solid #aed1f6;
}
.dashboard-body .donut-info,.dashboard-body .donut-info p,
.dashboard-body .chart-subtitle,.dashboard-body .chart-bottom,
.dashboard-body .empty-priority {color:#3e5f83!important}
.dashboard-body .donut-info>div {font-weight:700}
.dashboard-body .report-donut text,
.dashboard-body #trendChart text {fill:#245282!important}
.dashboard-body .trend-svg {
  background:#ffffff9c;border:1px solid #d3e5f9;
  border-radius:11px;padding:11px 5px 4px;
}
.dashboard-body .priority-card {background:linear-gradient(155deg,#f3f9ff,#e2effd)}
.dashboard-body .priority-icon {
  color:#2c73b9;background:#d7eaff;
  display:grid;place-items:center;width:36px;height:36px;border-radius:11px;
}
.dashboard-body .priority-pill {
  background:linear-gradient(130deg,#fff,#e9f4ff);
  border:1px solid #bdd8f5;border-left:4px solid #2779c9;
  color:#315777;min-height:73px;
}
.dashboard-body .priority-pill strong {color:#1b5085}
.dashboard-body .priority-pill:hover {border-color:#3188d0;background:#e4f3ff}
.dashboard-body .coverage-card {
  background:radial-gradient(circle at 100% 100%,#439ad43b,transparent 60%),
             linear-gradient(128deg,#0c2950,#18538a);
  border-color:#3974af;box-shadow:0 12px 27px #17456f29;
}
.dashboard-body .coverage-card .card-overline {color:#a9dfff}
.dashboard-body .coverage-card h2 {color:#fff!important}
.dashboard-body .coverage-number strong {color:#fff!important}
.dashboard-body .coverage-number span,
.dashboard-body .coverage-card .chart-subtitle {color:#dfedff!important}
.dashboard-body .coverage-number b {color:#fff}
.dashboard-body .coverage-art span {background:#5a99e0}
.dashboard-body .coverage-art span:nth-child(2) {background:#82c7f3}
.dashboard-body .coverage-art span:nth-child(3) {background:#c1ecff}
.dashboard-body .coverage-art span:nth-child(4) {background:#399cd9}
.dashboard-body .coverage-art span:nth-child(5) {background:#6cdeec}

/* Análisis por temas: cabecera fuerte, filtros claros y celdas azul pálido. */
.dashboard-body .topic-panel {
  margin-top:18px;padding:18px 19px 22px;
  border:1px solid #b9d2ec;
  background:linear-gradient(165deg,#d8e9fc,#edf6ff);
}
.dashboard-body .topic-panel-head {
  align-items:center;gap:20px;padding:23px 24px;
  color:white;border-radius:13px;border:1px solid #397bbb;
  background:linear-gradient(117deg,#0e2c55,#235ea6);
  box-shadow:0 8px 20px #143f7429;
}
.dashboard-body .topic-panel-head .card-overline {color:#a8dfff}
.dashboard-body .topic-panel-head h2 {color:#fff!important;font-size:22px}
.dashboard-body .topic-panel-head p {color:#d8eaff!important}
.dashboard-body .report-filters label {color:#e3f2ff!important}
.dashboard-body .report-filters select {
  color:#183d69;background:#f7fbff;
  border:1px solid #aac8e7;min-height:44px;
  box-shadow:0 2px 7px #09233a1b;
}
.dashboard-body .topics-summary {
  margin:15px 1px 12px;padding:12px 15px;
  border:1px solid #adccec;border-radius:10px;
  background:#cae2fb;color:#335a83!important;
}
.dashboard-body .topics-summary span {color:#335a83!important}
.dashboard-body .topics-summary span:first-child {color:#15538d!important;font-weight:850}
.dashboard-body .topic-report {
  position:relative;overflow:hidden;
  padding:17px 18px 16px 21px;border:1px solid #bdd5ed;
  border-radius:12px;background:linear-gradient(117deg,#fff,#f0f7ff);
  box-shadow:0 3px 11px #1d5d9c0d;transition:border-color .14s,transform .14s;
}
.dashboard-body .topic-report:before {
  content:"";position:absolute;left:0;top:0;bottom:0;width:4px;
  background:linear-gradient(#2c78c7,#79d3e7);
}
.dashboard-body .topic-report:hover {border-color:#8bb8e5;transform:translateY(-1px)}
.dashboard-body .topic-id {color:#256cba}
.dashboard-body .topic-report h3 {color:#18395e!important}
.dashboard-body .topic-data {
  background:#e1effe;border:1px solid #d0e3f7;border-radius:9px;
}
.dashboard-body .topic-data small {color:#496a8e!important}
.dashboard-body .topic-data strong {color:#102e52!important}
.dashboard-body .topic-meter {height:8px;background:#c5d9ec}
.dashboard-body .topic-meter-fill {background:linear-gradient(90deg,#216aba,#4dbbe4)}
.dashboard-body .topic-accuracy {color:#42658b!important}
.dashboard-body .topic-link {
  color:#1e5b9e;background:#e9f4ff;border-color:#b1d0ed;
}
.dashboard-body .topic-link:hover {background:#d9eafa}
.dashboard-body .topic-link.primary-link {
  background:#2064b0;color:#fff;border-color:#2064b0;
}
.dashboard-body .topic-link.primary-link:hover {background:#144d8d}
.dashboard-body .report-disclaimer {
  padding:15px 18px;margin:20px 4px;
  color:#315b80!important;background:#e1efff;
  border:1px solid #b6d1ef;border-left:4px solid #2e76be;
  border-radius:11px;
}
.dashboard-body .report-back:focus-visible,.dashboard-body .report-btn:focus-visible,
.dashboard-body .report-filters select:focus-visible,.dashboard-body .topic-link:focus-visible,
.dashboard-body .priority-pill:focus-visible {outline:3px solid #8ed9ff;outline-offset:3px}
@media(max-width:870px) and (orientation:portrait){
 .dashboard-body .report-nav {padding:12px 19px}
 .dashboard-body .report-main {padding:18px 18px 50px}
 .dashboard-body .report-intro {padding:27px 24px}
 .dashboard-body .kpi {min-height:143px}
 .dashboard-body .topic-panel-head {padding:19px}
}
@media(max-width:640px){
 .dashboard-body .report-nav {padding:12px 14px}
 .dashboard-body .report-brand strong {font-size:10px}
 .dashboard-body .report-brand small {font-size:10px}
 .dashboard-body .report-main {padding:12px 12px 43px}
 .dashboard-body .report-intro {padding:23px 19px}
 .dashboard-body .report-kpis {gap:9px;margin:12px 0}
 .dashboard-body .kpi {padding:13px;min-height:130px}
 .dashboard-body .kpi strong {font-size:26px}
 .dashboard-body .topic-panel {padding:10px 10px 16px}
 .dashboard-body .topic-panel-head {padding:19px 15px}
 .dashboard-body .topic-panel-head h2 {font-size:20px}
 .dashboard-body .report-card h2 {font-size:17px}
 .dashboard-body .topic-report {padding:14px 12px 14px 16px}
 .dashboard-body .topic-data {padding:8px}
 .dashboard-body .topics-summary {padding:10px}
}
@media(prefers-reduced-motion:reduce){
 .dashboard-body .kpi,.dashboard-body .report-back,.dashboard-body .topic-report {transition:none}
}

/* Contrastes frente a las reglas históricas v72 con !important. */
.dashboard-body .report-kpis .kpi small {color:#eaf5ff!important}
.dashboard-body .report-kpis .kpi strong {color:#fff!important}
.dashboard-body .report-kpis .kpi .kpi-sub {color:#d3e8fc!important}
.dashboard-body .report-card .coverage-number strong,
.dashboard-body .report-card .coverage-number span {color:#fff!important}
.dashboard-body .report-card .coverage-card .chart-subtitle,
.dashboard-body .coverage-card .chart-subtitle {color:#e0f0ff!important}
.dashboard-body .report-card .topic-panel-head p {color:#d8eaff!important}
.dashboard-body .report-card .report-filters label {color:#e3f2ff!important}
.dashboard-body .report-card .topics-summary,
.dashboard-body .report-card .topics-summary span {color:#335a83!important}
.dashboard-body .report-card .topics-summary span:first-child {color:#15538d!important}
.dashboard-body .report-card .topic-report h3 {color:#18395e!important}
.dashboard-body .report-card .topic-report .topic-data small {color:#496a8e!important}
.dashboard-body .report-card .topic-report .topic-data strong {color:#102e52!important}
.dashboard-body .report-card .topic-report .topic-accuracy {color:#42658b!important}
