/* Tema minimalista: claro "papel y tinta" + oscuro sobrio. Se carga después de app.css. */
:root{
  --font:'Geist','Inter',system-ui,sans-serif;
  --mono:'Geist Mono','IBM Plex Mono',ui-monospace,monospace;
  --navy:#3B5B7A;--navy-mid:#3B5B7A;--navy-light:#EDF1F5;--navy-ultra:#2E4A66;
  --gold:#8C8C84;--gold-light:#F3F3EF;--gold-mid:#A5A59B;
  --green:#4C7A5B;--green-bg:#EEF4F0;--green-border:#BBD1C2;
  --red:#A94A4A;--red-bg:#F8EFEF;--red-border:#DDB8B8;
  --amber:#8F6A25;--amber-bg:#F8F3E8;--amber-border:#DCC9A0;
  --purple:#6B5B95;--purple-bg:#F1EFF6;--purple-border:#CFC8E0;
  --bg:#FAFAF8;--surface:#FFFFFF;--surface-2:#F5F5F2;--surface-3:#EEEEEA;
  --border:#E6E6E1;--border-light:#EFEFEA;
  --text:#1A1A1A;--text-2:#55554F;--text-3:#8E8E86;
  --on-accent:#FFFFFF;--hover-line:#C9C9C2;
  --sh-xs:none;--sh:0 1px 2px rgba(0,0,0,.04);--sh-md:0 2px 8px rgba(0,0,0,.06);--sh-lg:0 4px 16px rgba(0,0,0,.08);--sh-xl:0 12px 40px rgba(0,0,0,.14);
  --r-sm:5px;--r:6px;--r-md:8px;--r-lg:10px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --navy:#D9A441;--navy-mid:#D9A441;--navy-light:rgba(217,164,65,.12);--navy-ultra:#B8892F;
    --gold:#8B8E92;--gold-light:#23272B;--gold-mid:#A9ABA8;
    --green:#6FB98F;--green-bg:rgba(111,185,143,.12);--green-border:rgba(111,185,143,.35);
    --red:#E07A6B;--red-bg:rgba(224,122,107,.12);--red-border:rgba(224,122,107,.35);
    --amber:#D9A441;--amber-bg:rgba(217,164,65,.12);--amber-border:rgba(217,164,65,.35);
    --purple:#A99BD6;--purple-bg:rgba(169,155,214,.12);--purple-border:rgba(169,155,214,.35);
    --bg:#16181B;--surface:#1E2125;--surface-2:#23272B;--surface-3:#2A2E33;
    --border:#2C3036;--border-light:#272A2F;
    --text:#E8E8E6;--text-2:#A9ABA8;--text-3:#7B7E82;
    --on-accent:#16181B;--hover-line:#444A52;
    --sh:0 1px 2px rgba(0,0,0,.3);--sh-md:0 2px 8px rgba(0,0,0,.4);--sh-lg:0 4px 16px rgba(0,0,0,.5);--sh-xl:0 12px 40px rgba(0,0,0,.6);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --navy:#D9A441;--navy-mid:#D9A441;--navy-light:rgba(217,164,65,.12);--navy-ultra:#B8892F;
  --gold:#8B8E92;--gold-light:#23272B;--gold-mid:#A9ABA8;
  --green:#6FB98F;--green-bg:rgba(111,185,143,.12);--green-border:rgba(111,185,143,.35);
  --red:#E07A6B;--red-bg:rgba(224,122,107,.12);--red-border:rgba(224,122,107,.35);
  --amber:#D9A441;--amber-bg:rgba(217,164,65,.12);--amber-border:rgba(217,164,65,.35);
  --purple:#A99BD6;--purple-bg:rgba(169,155,214,.12);--purple-border:rgba(169,155,214,.35);
  --bg:#16181B;--surface:#1E2125;--surface-2:#23272B;--surface-3:#2A2E33;
  --border:#2C3036;--border-light:#272A2F;
  --text:#E8E8E6;--text-2:#A9ABA8;--text-3:#7B7E82;
  --on-accent:#16181B;--hover-line:#444A52;
  --sh:0 1px 2px rgba(0,0,0,.3);--sh-md:0 2px 8px rgba(0,0,0,.4);--sh-lg:0 4px 16px rgba(0,0,0,.5);--sh-xl:0 12px 40px rgba(0,0,0,.6);
  color-scheme:dark;
}

body{font-feature-settings:"tnum" 1,"cv11" 1;background:var(--bg);color:var(--text)}

/* Encabezado plano, sin logo */
.hdr{background:transparent;border-radius:0;box-shadow:none;border-bottom:1px solid var(--border);padding:6px 0 18px;margin-bottom:20px}
.hdr::before,.hdr::after{display:none}
.hdr-icon{background:transparent;box-shadow:none;border:1px solid var(--border);color:var(--navy);width:38px;height:38px;border-radius:var(--r-md);font-size:18px}
.hdr-title{color:var(--text);font-size:18px;font-weight:600;letter-spacing:-.3px}
.hdr-sub{color:var(--text-3)}
.crowe-logo{display:none}
.theme-toggle{margin-left:auto;padding:6px 10px;font-size:11px;color:var(--text-2);background:transparent;box-shadow:none}
.theme-toggle:hover{color:var(--text);border-color:var(--hover-line);background:var(--surface-2);box-shadow:none}
.theme-toggle svg{width:14px;height:14px}

/* Botones */
button{box-shadow:none;border-radius:var(--r)}
button:hover{border-color:var(--hover-line);box-shadow:none;background:var(--surface-2)}
button.btn-primary{background:var(--navy);color:var(--on-accent);border-color:var(--navy);box-shadow:none;border-radius:var(--r);font-weight:600;padding:9px 20px}
button.btn-primary:hover{box-shadow:none;transform:none;filter:brightness(1.08);background:var(--navy)}
button.btn-secondary{border:1px solid var(--navy);color:var(--navy);background:transparent}
button.btn-secondary:hover{background:var(--navy-light)}
button.btn-gold{background:var(--surface-2);color:var(--text);border-color:var(--border);box-shadow:none}

/* Carga de archivos */
.upload-card{border:1px dashed var(--border);box-shadow:none;border-radius:var(--r-md)}
.upload-card::before{display:none}
.upload-card:hover{border-color:var(--navy);box-shadow:none;transform:none}
.upload-card.drag{background:var(--navy-light);box-shadow:none;border-color:var(--navy)}
.upload-card.loaded{background:var(--surface);border-color:var(--navy);box-shadow:none}
.up-pill{background:var(--navy);color:var(--on-accent)}
.up-meta-item{background:var(--surface-2);border:1px solid var(--border-light)}

/* Tarjetas y KPIs */
.card{background:var(--surface);border:1px solid var(--border);box-shadow:none}
.kpi,.kpi.kn,.kpi.kg,.kpi.kr,.kpi.ka,.kpi.kp{background:var(--surface)!important;border:1px solid var(--border)!important;border-left:2px solid var(--navy)!important;box-shadow:none}
.kpi.kg{border-left-color:var(--green)!important}.kpi.kr{border-left-color:var(--red)!important}.kpi.ka{border-left-color:var(--amber)!important}.kpi.kp{border-left-color:var(--purple)!important}
.kpi-shine{display:none}
.kpi-val{font-weight:600;letter-spacing:-1px}
.spill.sp-emp,.spill.sp-conc,.spill.sp-diffs,.spill.sp-amounts{background:var(--navy-light);box-shadow:none;border-color:var(--navy);color:var(--navy)}
.spill.sp-conc{background:var(--green-bg);border-color:var(--green);color:var(--green)}
.spill.sp-diffs{background:var(--red-bg);border-color:var(--red);color:var(--red)}
.spill.sp-amounts{background:var(--amber-bg);border-color:var(--amber);color:var(--amber)}

/* Tablas */
th.th-id,th.th-a,th.th-b,th.th-diff,th.th-st{background:var(--surface-2);color:var(--text-2);border-color:var(--border);border-bottom:1px solid var(--border);font-weight:600}
th.th-a{box-shadow:inset 0 -2px 0 var(--navy)}
th.th-b{box-shadow:inset 0 -2px 0 var(--green)}
th.th-diff{box-shadow:inset 0 -2px 0 var(--red)}
tr:hover td,tr:nth-child(even):hover td{background:var(--surface-2)}
.badge-ok{color:var(--green)}.badge-diff{color:var(--red)}.badge-only{color:var(--amber)}
.ap-band.rem,.ap-band.norem,.ap-band.aporte,.ap-band.contrib,.ap-band.otro{background:var(--surface);border-color:var(--border);box-shadow:none}
.edp-neto-card.na,.edp-neto-card.nb{background:var(--surface-2);border-color:var(--border)}
.edp-diff-banner.bad{background:var(--red-bg);border:1px solid var(--red-border)}
.edp-diff-banner.good{background:var(--green-bg);border:1px solid var(--green-border)}

/* Panel de detalle y aviso */
.edp-hdr{background:var(--surface-2);border-bottom:1px solid var(--border)}
.edp-name{color:var(--text)}
.edp-hdr-close{background:var(--surface)!important;border-color:var(--border)!important;color:var(--text)!important}
.edp-hdr-close:hover{background:var(--surface-3)!important}
#toast{background:var(--text);color:var(--bg);border-left:none;border-radius:var(--r-md);box-shadow:var(--sh-lg)}

/* Pasos */
.step.active .n{background:var(--navy);color:var(--on-accent)}
.step.done .n{background:var(--green);color:var(--on-accent)}
.steps{box-shadow:none;border-color:var(--border)}
