:root{
  --verde:#4a7a1c; --verde-osc:#2f5410; --lima:#d6ef3a; --lima-suave:#eef7c4; --sobre-verde:#fff;
  --fondo:#f7f6ef; --tarjeta:#ffffff; --texto:#1f2a14; --suave:#5d6852; --linea:#e3e4d6;
  --rojo:#b3261e; --rojo-suave:#fde8e6; --ambar:#8a5a00; --ambar-suave:#fff2d1; --azul:#1d5a8c; --azul-suave:#e3effa;
  --sombra:0 1px 2px rgba(31,42,20,.06),0 6px 20px rgba(31,42,20,.07); --radio:16px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --verde:#8cc04a; --verde-osc:#b7e06b; --lima-suave:#2a3519; --sobre-verde:#10170a;
    --fondo:#141a0e; --tarjeta:#1d2515; --texto:#eef2e4; --suave:#a9b59a; --linea:#323d26;
    --rojo:#ff8a80; --rojo-suave:#3a1a17; --ambar:#ffcc66; --ambar-suave:#3a2d10; --azul:#8cc4f2; --azul-suave:#14283a;
    --sombra:0 1px 2px rgba(0,0,0,.3),0 6px 20px rgba(0,0,0,.25);
  }
}
:root[data-theme="dark"]{
  --verde:#8cc04a; --verde-osc:#b7e06b; --lima-suave:#2a3519; --sobre-verde:#10170a;
  --fondo:#141a0e; --tarjeta:#1d2515; --texto:#eef2e4; --suave:#a9b59a; --linea:#323d26;
  --rojo:#ff8a80; --rojo-suave:#3a1a17; --ambar:#ffcc66; --ambar-suave:#3a2d10; --azul:#8cc4f2; --azul-suave:#14283a;
}
*{box-sizing:border-box}
body{margin:0;background:var(--fondo);color:var(--texto);font:15px/1.5 Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:Montserrat,Inter,sans-serif;line-height:1.2;margin:0}
a{color:var(--verde)}
button{font:inherit;cursor:pointer}
.envoltura{max-width:1100px;margin:0 auto;padding:0 16px}
header{position:sticky;top:0;z-index:20;background:var(--fondo);border-bottom:1px solid var(--linea)}
.barra{display:flex;align-items:center;gap:12px;min-height:60px;flex-wrap:wrap}
.marca{display:flex;align-items:center;gap:10px;text-decoration:none;font:800 18px Montserrat;letter-spacing:.08em;color:var(--verde-osc)}
.marca img{width:36px;height:36px;border-radius:50%}
.marca small{font:600 12px Inter;letter-spacing:0;color:var(--suave);text-transform:none}
.der{margin-left:auto;display:flex;gap:8px;align-items:center}
.btn{border:0;border-radius:999px;padding:10px 18px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;transition:filter .15s}
.btn:disabled{opacity:.6;cursor:default}
.btn-prim{background:var(--verde);color:var(--sobre-verde)}
.btn-prim:hover:not(:disabled){filter:brightness(1.08)}
.btn-borde{background:transparent;border:1.5px solid var(--linea);color:var(--texto)}
.btn-chico{padding:6px 12px;font-size:13px}
.pestanas{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--linea);margin-bottom:20px}
.pestanas button{border:0;background:transparent;color:var(--suave);padding:12px 14px;font-weight:600;border-bottom:3px solid transparent;white-space:nowrap}
.pestanas button[aria-selected="true"]{color:var(--texto);border-color:var(--verde)}
.tarjeta{background:var(--tarjeta);border:1px solid var(--linea);border-radius:var(--radio);padding:18px;box-shadow:var(--sombra)}
label{display:block;font-size:13px;font-weight:600;margin:12px 0 5px}
input,select,textarea{width:100%;padding:11px 13px;border-radius:12px;border:1.5px solid var(--linea);background:var(--fondo);color:var(--texto);font:inherit}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--verde)}
.dos{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:640px){.dos{grid-template-columns:1fr}}
.suave{color:var(--suave)}
.error{background:var(--rojo-suave);color:var(--rojo);border-radius:10px;padding:10px 12px;margin-top:12px;font-size:14px}
.ok{background:var(--lima-suave);border-radius:10px;padding:12px;margin-top:12px}
.vacio{text-align:center;color:var(--suave);padding:40px 16px}
.login{max-width:400px;margin:8vh auto;padding:0 16px}
.login .tarjeta{padding:26px}
.login img{width:84px;height:84px;border-radius:50%;display:block;margin:0 auto 14px}
table{width:100%;border-collapse:collapse;font-size:14px}
th{text-align:left;color:var(--suave);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em;padding:8px 10px;border-bottom:1px solid var(--linea)}
td{padding:10px;border-bottom:1px solid var(--linea);vertical-align:top}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.tabla{overflow-x:auto}
.estado{display:inline-block;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;white-space:nowrap;background:var(--lima-suave);color:var(--verde-osc)}
.estado.ambar{background:var(--ambar-suave);color:var(--ambar)}
.estado.rojo{background:var(--rojo-suave);color:var(--rojo)}
.estado.azul{background:var(--azul-suave);color:var(--azul)}
.estado.gris{background:var(--linea);color:var(--suave)}
.aviso{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(120px);background:var(--texto);color:var(--fondo);padding:10px 18px;border-radius:999px;font-size:14px;z-index:60;transition:transform .25s;max-width:90vw}
.aviso.ver{transform:translateX(-50%) translateY(0)}
[hidden]{display:none!important}
