/* Tema «Azul»: capa visual sobre base.css + platform.css.
   Solo redefine tokens y apariencia; la estructura y los nombres de clase no cambian.
   Los colores semánticos de resultado (ok / warn / risk) se mantienen: comunican estado, no marca. */

:root{
  --ground:#f3f6fb;--surface:#fff;--surface-2:#edf2fa;--line:#dbe3ef;--line-strong:#b3c1d6;
  --ink:#0f1b2d;--ink-2:#42526a;--ink-3:#5a6a80;
  --core:#1e40af;--data:#0f766e;--integ:#3b5b8c;--ent:#6b6358;--infra:#475569;
  --gov:#1d5bd8;--risk:#b42318;--ok:#067647;--obs:#0e7490;--ibm:#0369a1;--warn:#b54708;
  /* azules de marca */
  --brand-1:#0a1f44;--brand-2:#103a7c;--brand-3:#1d5bd8;--sky:#38bdf8;--sky-ink:#7cc4ff;
  --b1:#1d5bd8;--b2:#0ea5e9;--b3:#4f6fe0;--b4:#0e7490;
  --tint:color-mix(in srgb,var(--gov) 8%,var(--surface));
  --ring:0 0 0 3px color-mix(in srgb,var(--gov) 24%,transparent);
  --shadow:0 1px 2px rgba(15,35,75,.06),0 4px 14px rgba(15,35,75,.06);
  --shadow-lg:0 2px 4px rgba(15,35,75,.08),0 12px 28px rgba(15,35,75,.12);
  --r:12px;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --ground:#0a1222;--surface:#101a2e;--surface-2:#16233c;--line:#22314d;--line-strong:#3a4d6e;
  --ink:#e8eef8;--ink-2:#a9b8cf;--ink-3:#8b9cb6;
  --core:#9db8ff;--data:#4fd1c5;--integ:#93b4e6;--ent:#c2b8aa;--infra:#a3b1c6;
  --gov:#6ea8ff;--risk:#ff8a80;--ok:#5fd39a;--obs:#4fd1e8;--ibm:#5cc8ff;--warn:#f4b860;
  --brand-1:#060d1c;--brand-2:#0c2453;--brand-3:#1a4fb8;
  --b1:#6ea8ff;--b2:#38bdf8;--b3:#8da2ff;--b4:#4fd1e8;
  --shadow:0 1px 2px rgba(0,0,0,.45),0 6px 18px rgba(0,0,0,.3);
  --shadow-lg:0 2px 4px rgba(0,0,0,.5),0 14px 32px rgba(0,0,0,.45);
}}
:root[data-theme="dark"]{
  --ground:#0a1222;--surface:#101a2e;--surface-2:#16233c;--line:#22314d;--line-strong:#3a4d6e;
  --ink:#e8eef8;--ink-2:#a9b8cf;--ink-3:#8b9cb6;
  --core:#9db8ff;--data:#4fd1c5;--integ:#93b4e6;--ent:#c2b8aa;--infra:#a3b1c6;
  --gov:#6ea8ff;--risk:#ff8a80;--ok:#5fd39a;--obs:#4fd1e8;--ibm:#5cc8ff;--warn:#f4b860;
  --brand-1:#060d1c;--brand-2:#0c2453;--brand-3:#1a4fb8;
  --b1:#6ea8ff;--b2:#38bdf8;--b3:#8da2ff;--b4:#4fd1e8;
  --shadow:0 1px 2px rgba(0,0,0,.45),0 6px 18px rgba(0,0,0,.3);
  --shadow-lg:0 2px 4px rgba(0,0,0,.5),0 14px 32px rgba(0,0,0,.45);
}

body{background:var(--ground)}
a{color:var(--gov)}

/* ── etiquetas: sans en lugar de mono (la mono queda para IDs y cifras) ── */
.lab,.eyebrow,.field>span,.stat .k,table.tbl th,table.data th,.areatable th,.clist .sec,.panel>h3,.gd-k,.mcard .k,
.pick .m,.pager .pg small,.rp-kv span,.rp-big .k,.ev .ek,.chip,.sev{font-family:var(--sans);letter-spacing:.04em}
.lab,.eyebrow,.field>span,.stat .k,table.tbl th,table.data th,.clist .sec,.panel>h3,.gd-k,.mcard .k,.pager .pg small,.rp-kv span,.rp-big .k,.ev .ek{font-weight:600;font-size:10.5px}
.eyebrow{color:var(--gov)}
.chip{font-size:10.5px;font-weight:500;border-radius:999px;padding:2px 8px}
.sev{font-size:10.5px;border-radius:999px;padding:2px 8px}

/* ── encabezado ── */
header.top{background:linear-gradient(115deg,var(--brand-1) 0%,var(--brand-2) 55%,var(--brand-3) 100%);
  border-bottom:none;backdrop-filter:none;color:#fff;box-shadow:0 2px 14px rgba(10,31,68,.28)}
.top-in{padding-block:12px 8px}
header.top .brand{flex-direction:row;align-items:center;gap:11px}
.logo{flex:none;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;
  background:linear-gradient(145deg,rgba(255,255,255,.22),rgba(255,255,255,.06));border:1px solid rgba(255,255,255,.22)}
.logo svg{width:20px;height:20px}
.brand-t{display:flex;flex-direction:column;gap:1px;min-width:0}
header.top .brand b{color:#fff;font-size:18px;letter-spacing:-.01em}
.bname{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.acr{font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--sky-ink);padding:2px 8px;border:1px solid rgba(124,196,255,.45);border-radius:999px;white-space:nowrap}
.acr abbr{text-decoration:none;font-weight:700}
@media(max-width:620px){.acr{font-size:10px;padding:1px 6px}}
header.top .brand span{color:rgba(255,255,255,.72)}
header.top .lab{color:rgba(255,255,255,.7)}
header.top select{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.3);color:#fff}
header.top select option{background:#fff;color:#0f1b2d}
header.top .btn,header.top .ghost{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.3);color:#fff}
header.top .btn:hover,header.top .ghost:hover{background:rgba(255,255,255,.18);border-color:#fff;color:#fff}
header.top :focus-visible{outline-color:#fff}
header.top select:focus{outline:none;box-shadow:0 0 0 3px rgba(124,196,255,.45)}
header.top .actor.missing select{outline:2px solid #ffb4ab}
.routes{gap:2px}
.routes button{flex-direction:row;align-items:baseline;gap:7px;padding:9px 14px 11px;border-bottom:3px solid transparent;
  border-radius:8px 8px 0 0;color:rgba(255,255,255,.7);transition:background .15s,color .15s}
.routes .rl{font-size:13px}
.routes .rn{font-size:9.5px;color:inherit;opacity:.65}
.routes button:hover{background:rgba(255,255,255,.08);color:#fff}
.routes button[aria-current="page"]{color:#fff;border-bottom-color:var(--sky-ink);background:rgba(255,255,255,.1)}
.routes button[aria-current="page"] .rn{color:var(--sky-ink);opacity:1}

/* ── portada ── */
.hero h1{color:var(--ink)}
.hero.home{max-width:none;padding:30px 32px;border-radius:16px;color:#fff;box-shadow:var(--shadow-lg);
  background:radial-gradient(120% 140% at 100% 0%,rgba(56,189,248,.45) 0%,transparent 55%),
             linear-gradient(135deg,#0a2457 0%,#1747a8 60%,#1d6fe0 100%)}
.hero.home h1{color:#fff;max-width:28ch}
.hero.home .eyebrow{color:#9fd3ff}
.hero.home .sub{color:rgba(255,255,255,.86);max-width:72ch}
.hero.home .btn{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.4);color:#fff}
.hero.home .btn:hover{background:rgba(255,255,255,.2);color:#fff}
.hero.home .btn.pri{background:#fff;border-color:#fff;color:#0a2457}
.hero.home .btn.pri:hover{filter:none;background:#e6f1ff;color:#0a2457}

/* ── superficies ── */
.card{border-radius:var(--r);border-color:var(--line)}
button.card,.pcard,.mcard{transition:transform .15s,box-shadow .15s,border-color .15s}
button.card:hover,.pcard:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:color-mix(in srgb,var(--gov) 45%,var(--line))}
.pcard{border-top:3px solid var(--gov)}
.pcard .stats b{font-family:var(--sans);font-weight:700;color:var(--gov)}
.mcard .num{background:linear-gradient(145deg,var(--b2),var(--b1));color:#fff;width:32px;height:32px;font-size:12px}
.plain{border-left-color:var(--gov);background:var(--tint)}

/* indicadores: franja de color por tarjeta, cifras grandes en sans */
.stat{position:relative;overflow:hidden;padding:16px 18px 16px 22px}
.stat::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--b1)}
.stats>.stat:nth-child(2)::before{background:var(--b2)}
.stats>.stat:nth-child(3)::before{background:var(--b3)}
.stats>.stat:nth-child(4)::before{background:var(--b4)}
.stat .v{font-family:var(--sans);font-weight:700;font-size:30px;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--ink)}

/* indicadores y tarjetas que llevan a otra vista */
button.stat{display:block;width:100%;text-align:left;cursor:pointer}
.stat .go{margin-top:10px;font-size:12px;font-weight:600;color:var(--gov)}
.pcard .ptitle{padding:0;text-align:left;font:inherit;color:inherit}
.pcard .ptitle:hover{color:var(--gov);text-decoration:underline;text-underline-offset:3px}
.pcard .desc{font-size:12.5px;color:var(--ink-2);line-height:1.5;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}

/* ── controles ── */
.btn.danger{color:var(--risk)}
.btn.danger:hover{background:color-mix(in srgb,var(--risk) 8%,var(--surface))}
.btn{border-radius:8px;transition:background .15s,border-color .15s,color .15s,box-shadow .15s}
.btn.pri{background:linear-gradient(180deg,color-mix(in srgb,var(--gov) 85%,#fff),var(--gov));border-color:var(--gov);
  box-shadow:0 1px 2px color-mix(in srgb,var(--gov) 40%,transparent)}
.btn.pri:hover{filter:brightness(1.07)}
.ghost{border-radius:8px}
select,input[type=text],input[type=date],input[type=email],input[type=password],textarea{border-radius:8px;border-color:var(--line-strong);transition:border-color .15s,box-shadow .15s}
select:focus,input:focus,textarea:focus{outline:none;border-color:var(--gov);box-shadow:var(--ring)}
.tog{transition:background .15s}
.tog[aria-pressed="true"],.atabs button[aria-current="page"]{background:var(--gov)}
.st{border-radius:10px;transition:background .15s,border-color .15s}
.lv{border-radius:10px}

/* barra de la ejecución abierta */
.abar{border-radius:var(--r);border-color:var(--line);box-shadow:var(--shadow-lg)}
.abar .an b{font-family:var(--sans);font-weight:700}
.atabs button{border-radius:8px}
.atabs button:not([aria-current="page"]):hover{background:var(--tint)}

/* guía paso a paso */
.citem[aria-current="true"]{background:var(--tint);border-left-color:var(--gov)}
.citem:hover{background:var(--surface-2)}
.ctl .cid{color:var(--gov)}
.expected li{border-radius:9px}
.callout{border-radius:0 10px 10px 0}
.callout.auto{border-left-color:var(--b2);background:color-mix(in srgb,var(--b2) 8%,var(--surface))}

/* evidencias, panel lateral, tablas */
.ev{border-radius:10px}
.ev .ek{width:58px}
.drop{border-radius:var(--r);border-color:color-mix(in srgb,var(--gov) 40%,var(--line-strong));background:var(--tint)}
.drop.over{background:color-mix(in srgb,var(--gov) 14%,var(--surface))}
.drawer-bg{background:rgba(8,20,45,.45);backdrop-filter:blur(2px)}
.drawer .dh{background:linear-gradient(180deg,var(--tint),var(--surface))}
table.tbl th,table.data th{background:var(--surface-2);color:var(--ink-2)}
table.tbl tr.click:hover td{background:var(--tint)}
.tip{background:var(--brand-1);color:#fff}

/* barras de avance */
.track .fill{background:linear-gradient(90deg,var(--b1),var(--b2));border-radius:0 6px 6px 0}
.k-fill{background:linear-gradient(90deg,var(--b1),var(--b2))}
.ditem .bar i{background:linear-gradient(90deg,var(--b1),var(--b2))}

footer.site{border-top-color:var(--line)}

@media(max-width:620px){.hero.home{padding:22px 18px}.routes button{padding:8px 11px 10px}}

/* ── informe: la hoja siempre es clara ── */
.paper{--ground:#f3f6fb;--surface:#fff;--surface-2:#edf2fa;--line:#dbe3ef;--line-strong:#b3c1d6;
  --ink:#0f1b2d;--ink-2:#42526a;--ink-3:#5a6a80;--core:#1e40af;--data:#0f766e;--integ:#3b5b8c;--ent:#6b6358;--infra:#475569;
  --gov:#1d5bd8;--risk:#b42318;--ok:#067647;--obs:#0e7490;--ibm:#0369a1;--warn:#b54708;
  --b1:#1d5bd8;--b2:#0ea5e9;--b3:#4f6fe0;--b4:#0e7490;--tint:#eef4fd;--shadow:none;--shadow-lg:none}
.rp-brand{border-bottom:3px solid var(--gov)}
.rp-big b{color:var(--gov)}
@media(max-width:620px){header.top .actor{flex:1 1 calc(100% - 52px)}header.top .actor .lab{display:none}header.top .actor select{max-width:none;width:100%}}
