:root { --fondo:#0f1419; --tarjeta:#171e26; --borde:#243040; --texto:#e7edf3; --suave:#93a1b0;
  --verde:#3fb57f; --ambar:#e0a73a; --rojo:#e5534b; --azul:#5b9bd5; }
* { box-sizing: border-box; }
body { margin:0; background:var(--fondo); color:var(--texto); font:15px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif; }
main { max-width:1100px; margin:0 auto; padding:20px 18px 60px; }
header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }
h1 { font-size:22px; margin:0; } h2 { font-size:16px; margin:26px 0 10px; } h3 { font-size:14px; margin:0 0 6px; color:var(--suave); font-weight:500; }
.aviso { border:1px solid #5a4a22; background:#231d10; color:#f0d9a6; border-radius:10px; padding:10px 14px; font-size:13px; margin-bottom:16px; }
.aviso.rojo { border-color:#5c2a27; background:#241312; color:#f5c2bf; }
.rejilla { display:grid; gap:12px; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); }
.tarjeta { background:var(--tarjeta); border:1px solid var(--borde); border-radius:12px; padding:14px 16px; }
.cifra { font-size:24px; font-weight:650; font-variant-numeric:tabular-nums; }
.sub { color:var(--suave); font-size:13px; }
.barra { height:8px; background:#0b1015; border-radius:99px; overflow:hidden; margin-top:8px; }
.barra > i { display:block; height:100%; background:var(--azul); }
.verde{color:var(--verde)} .ambar{color:var(--ambar)} .rojo{color:var(--rojo)}
.barra > i.verde{background:var(--verde)} .barra > i.ambar{background:var(--ambar)} .barra > i.rojo{background:var(--rojo)}
table { width:100%; border-collapse:collapse; font-size:14px; font-variant-numeric:tabular-nums; }
th,td { text-align:left; padding:7px 8px; border-bottom:1px solid var(--borde); white-space:nowrap; }
th { color:var(--suave); font-weight:500; font-size:12px; }
.tabla { overflow-x:auto; background:var(--tarjeta); border:1px solid var(--borde); border-radius:12px; }
form.fila { display:flex; flex-wrap:wrap; gap:8px; align-items:flex-end; }
label { display:flex; flex-direction:column; gap:3px; font-size:12px; color:var(--suave); }
input,select { background:#0b1015; color:var(--texto); border:1px solid var(--borde); border-radius:8px; padding:7px 9px; font:inherit; font-size:14px; min-width:0; }
button { background:var(--azul); color:#fff; border:0; border-radius:8px; padding:8px 14px; font:inherit; font-size:14px; cursor:pointer; }
button.suave { background:transparent; color:var(--suave); border:1px solid var(--borde); }
button.borrar { background:transparent; color:var(--rojo); padding:2px 8px; }
button.peligro { background:var(--rojo); font-weight:600; }
a { color:var(--azul); }
.etiqueta { display:inline-block; font-size:11px; padding:0 6px; border-radius:99px; border:1px solid var(--borde); color:var(--azul); }
code { background:#0b1015; border:1px solid var(--borde); border-radius:6px; padding:2px 6px; font-size:13px; word-break:break-all; }
ul.registro { margin:0; padding-left:0; list-style:none; max-height:360px; overflow-y:auto; } ul.registro li { padding:5px 0; border-bottom:1px solid var(--borde); font-size:14px; }
.guia ol > li { margin:10px 0; } .guia p, .guia li { line-height:1.6; }
details { background:var(--tarjeta); border:1px solid var(--borde); border-radius:12px; padding:10px 14px; margin-top:12px; }
summary { cursor:pointer; color:var(--suave); }
ul.avisos { margin:0; padding-left:18px; } ul.avisos li { margin:3px 0; }
#estado { font-size:12px; color:var(--suave); }
@media print { body{background:#fff;color:#000} .no-imprimir{display:none!important} .tarjeta,.tabla{border-color:#ccc;background:#fff} .aviso{background:#fff;color:#000;border-color:#999} }
.robot-cab { display:flex; align-items:baseline; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.punto { display:inline-block; width:9px; height:9px; border-radius:50%; background:var(--suave); margin-right:6px; }
.punto.verde{background:var(--verde)} .punto.ambar{background:var(--ambar)} .punto.rojo{background:var(--rojo)}
.botones { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.grande { font-size:15px; font-weight:650; }
