:root{--bg:#0b1020;--panel:#121a33;--panel2:#172243;--line:#26335c;--fg:#e6ebff;--muted:#93a0c8;--accent:#5ee0ff;--accent2:#a78bfa;--ok:#4ade80;--warn:#fbbf24;--bad:#f87171;--display:"Unbounded","Segoe UI",system-ui,sans-serif;--body:"IBM Plex Sans","Segoe UI",system-ui,sans-serif;--mono:"JetBrains Mono",ui-monospace,Menlo,monospace}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--fg);font-family:var(--body);margin:0;font-size:15px}a{color:var(--accent)}button{font:inherit;cursor:pointer}input,select,textarea{font:inherit;color:var(--fg);background:var(--bg);border:1px solid var(--line);border-radius:10px;width:100%;padding:9px 11px}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px}label{color:var(--muted);margin:10px 0 4px;font-size:13px;display:block}h1,h2,h3{font-family:var(--display);letter-spacing:-.01em;margin:0 0 12px;font-weight:600}h1{font-size:22px}h2{font-size:17px}h3{font-size:14px}.mono{font-family:var(--mono)}.muted{color:var(--muted)}.btn{background:var(--panel2);color:var(--fg);border:1px solid var(--line);white-space:nowrap;border-radius:10px;padding:8px 14px}.btn:hover{border-color:var(--accent)}.btn.pri{background:var(--accent);color:#04121a;border-color:var(--accent);font-weight:600}.btn.peligro{color:var(--bad);border-color:#5c2630}.btn.chico{padding:4px 10px;font-size:13px}.btn:disabled{opacity:.5;cursor:default}.fila{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.esp{flex:1}.marco{grid-template-columns:230px 1fr;min-height:100vh;display:grid}.lado{background:var(--panel);border-right:1px solid var(--line);flex-direction:column;gap:4px;padding:22px 14px;display:flex}.marca{font-family:var(--display);letter-spacing:.08em;margin:0 8px 18px;font-size:22px;font-weight:700}.marca span{color:var(--accent)}.nav{text-align:left;width:100%;color:var(--muted);background:0 0;border:0;border-radius:10px;padding:9px 12px;display:block}.nav.act,.nav:hover{background:var(--panel2);color:var(--fg)}.pie{color:var(--muted);margin-top:auto;padding:8px;font-size:12px}.cont{max-width:1300px;padding:26px 30px}.tarjeta{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px}.rejilla{gap:14px;display:grid}.kpis{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.kpi .n{font-family:var(--display);font-size:30px;font-weight:600}.kpi .t{color:var(--muted);font-size:13px}.dos{grid-template-columns:1.3fr 1fr}table{border-collapse:collapse;width:100%}th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--line);padding:8px;font-size:12px;font-weight:500}td{vertical-align:middle;border-bottom:1px solid #1b264a;padding:9px 8px}.chip{background:var(--panel2);border:1px solid var(--line);border-radius:999px;margin:2px 4px 2px 0;padding:2px 9px;font-size:12px;display:inline-block}.chip.ok{color:var(--ok);border-color:#1f5134}.chip.mal{color:var(--bad);border-color:#5c2630}.chip.aviso{color:var(--warn);border-color:#5a4512}.chip.acc{color:var(--accent);border-color:#1d4d5c}.feed{flex-direction:column;gap:8px;max-height:560px;display:flex;overflow:auto}.ev{background:var(--panel2);border:1px solid var(--line);border-radius:12px;align-items:center;gap:12px;padding:10px 12px;animation:.5s entra;display:flex}.ev.mal{background:#2a1520;border-color:#5c2630}.ev .ico{width:34px;height:34px;color:var(--accent);font-weight:700;font-family:var(--mono);background:#0f2a35;border-radius:10px;place-items:center;font-size:12px;display:grid}.ev.mal .ico{color:var(--bad);background:#3a1820}@keyframes entra{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:none}}.vivo{color:var(--ok);align-items:center;gap:7px;font-size:13px;display:inline-flex}.vivo:before{content:"";background:var(--ok);width:8px;height:8px;box-shadow:0 0 0 0 var(--ok);border-radius:50%;animation:1.6s infinite pulso}@keyframes pulso{0%{box-shadow:0 0 #4ade8099}to{box-shadow:0 0 0 10px #4ade8000}}.modal-fondo{z-index:20;background:#03060fbf;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--line);border-radius:18px;width:min(560px,100%);max-height:92vh;padding:22px;overflow:auto}.centro{place-items:center;min-height:100vh;padding:16px;display:grid}.caja{width:min(430px,100%)}.aviso{color:#fde68a;background:#2a2412;border:1px solid #5a4512;border-radius:12px;padding:12px;font-size:14px}.error{color:#fecaca;background:#2a1520;border:1px solid #5c2630;border-radius:12px;margin-top:10px;padding:10px 12px;font-size:14px}.exito{color:#bbf7d0;background:#10261b;border:1px solid #1f5134;border-radius:12px;margin-top:10px;padding:10px 12px;font-size:14px}.qr-img{background:#fff;border-radius:14px;padding:10px;display:block}.checks{flex-wrap:wrap;gap:6px 14px;display:flex}.checks label{color:var(--fg);align-items:center;gap:6px;margin:4px 0;font-size:14px;display:flex}.checks input{width:auto}pre.crudo{font-family:var(--mono);white-space:pre-wrap;word-break:break-all;background:var(--bg);border:1px solid var(--line);max-height:220px;color:var(--muted);border-radius:10px;padding:10px;font-size:11px;overflow:auto}@media (width<=900px){.marco{grid-template-columns:1fr}.lado{flex-flow:wrap;padding:10px}.pie{display:none}.marca{margin:6px 10px}.nav{width:auto}.cont{padding:16px}.dos{grid-template-columns:1fr}}@media print{.no-imprimir{display:none!important}}
