/* XANDER ERP */:root{--bg:#202125;--side:#18191c;--panel:#2a2b30;--panel2:#323339;--well:#1b1c1f;--line:#41434b;--ink:#f2f2f2;--muted:#a8abb4;--dim:#80838d;--orange:#f47b20;--orange2:#ff9a4a;--steel:#5b80e8;--ok:#4fc283;--warn:#f2b84b;--bad:#f06a5d;--alarm:#ff2b2b;--f-head:'Archivo','Arial Narrow',Arial,sans-serif;--f-body:'Inter Tight','Segoe UI',Arial,sans-serif;--f-mono:'JetBrains Mono',Consolas,monospace;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font:400 14px/1.45 var(--f-body)}a{color:var(--orange2)}.app{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100%}aside.side{background:var(--side);border-right:1px solid var(--line);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow:auto}.brand{padding:18px 18px 14px;border-bottom:1px solid var(--line)}.brand b{font:700 21px var(--f-head);letter-spacing:.14em}.brand span{display:block;font:600 10px var(--f-head);letter-spacing:.16em;color:var(--orange);margin-top:2px}nav.mods{padding:8px 0;flex:1}nav.mods .grp{font:600 10px var(--f-head);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);padding:14px 18px 4px}nav.mods a{display:flex;justify-content:space-between;align-items:center;padding:8px 18px;color:var(--muted);text-decoration:none;font-weight:500;border-left:3px solid transparent}nav.mods a:hover{color:var(--ink);background:var(--panel)}nav.mods a.on{color:var(--ink);background:var(--panel);border-left-color:var(--orange)}.cnt{font:700 10px var(--f-mono);background:var(--orange);color:#17181b;border-radius:999px;padding:1px 7px}.cnt.b{background:var(--bad);color:#fff}.me{border-top:1px solid var(--line);padding:12px 18px;font-size:12px;color:var(--muted)}.me b{display:block;color:var(--ink);font:600 13px var(--f-head)}main{min-width:0;padding:22px max(16px,2.2vw) 40px}.head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px 20px;flex-wrap:wrap;margin-bottom:18px}.eyebrow{font:600 11px var(--f-head);letter-spacing:.14em;text-transform:uppercase;color:var(--orange)}h1{font:700 26px/1.15 var(--f-head);margin:4px 0 0;text-wrap:balance}h2{font:700 16px var(--f-head);margin:0}h3{font:600 12px var(--f-head);letter-spacing:.1em;text-transform:uppercase;margin:0;color:var(--muted)}.lead{color:var(--muted);max-width:72ch;margin:6px 0 0}.panel{background:var(--panel);border:1px solid var(--line);border-radius:4px;min-width:0}.panel>.hd{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 14px;border-bottom:1px solid var(--line)}.panel>.bd{padding:14px}.panel>.bd.flush{padding:0}.stack{display:flex;flex-direction:column;gap:16px}.grid2{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px;align-items:start}.grid2.wide{grid-template-columns:minmax(0,2fr) minmax(280px,1fr)}@media (max-width:1000px){.grid2,.grid2.wide{grid-template-columns:minmax(0,1fr)}}.acciones{display:flex;flex-direction:column;align-items:stretch;gap:6px;min-width:120px}.pager{display:flex;align-items:center;gap:10px;justify-content:flex-end}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:4px;overflow:hidden;margin-bottom:18px}.kpi{background:var(--panel);padding:12px 14px;text-decoration:none;color:inherit}.kpi .l{font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.kpi .v{font:700 24px var(--f-head);margin-top:3px;font-variant-numeric:tabular-nums}.kpi .s{font-size:11.5px;color:var(--dim)}.kpi.alert .v{color:var(--warn)}.kpi.crit .v{color:var(--alarm)}.tbl{overflow-x:auto}table.t{width:100%;border-collapse:collapse;font-size:13px}table.t th{font:600 10.5px var(--f-head);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:left;padding:9px 12px;border-bottom:1px solid var(--line);white-space:nowrap}table.t td{padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:top}table.t tr:last-child td{border-bottom:0}table.t tr.alarm td{background:rgba(255,43,43,.07)}table.t tr.alarm td:first-child{box-shadow:inset 3px 0 0 var(--alarm)}table.t .num{text-align:right;font-variant-numeric:tabular-nums}.mono,.sku{font:500 12px var(--f-mono)}.sku{color:var(--orange2)}.dim{color:var(--dim)}.pill{display:inline-block;font:600 10px var(--f-head);letter-spacing:.07em;text-transform:uppercase;padding:3px 8px;border-radius:999px;white-space:nowrap;background:var(--panel2);color:var(--muted)}.p-ok{background:rgba(79,194,131,.15);color:var(--ok)}.p-warn{background:rgba(242,184,75,.15);color:var(--warn)}.p-bad{background:rgba(240,106,93,.16);color:var(--bad)}.p-act{background:rgba(91,128,232,.18);color:#9db4f5}.p-or{background:rgba(244,123,32,.16);color:var(--orange2)}.p-alarm{background:var(--alarm);color:#fff}.btn{font:600 12.5px var(--f-head);letter-spacing:.02em;padding:8px 13px;border-radius:3px;border:1px solid var(--line);background:var(--panel2);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;gap:6px;text-decoration:none;white-space:nowrap}.btn:hover{border-color:var(--orange)}.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--orange2);outline-offset:1px}.btn.primary{background:var(--orange);border-color:var(--orange);color:#17181b}.btn.primary:hover{background:var(--orange2)}.btn.danger{border-color:rgba(240,106,93,.55);color:var(--bad)}.btn.ghost{background:none}.btn.sm{padding:5px 9px;font-size:11.5px}.btn:disabled{opacity:.45;cursor:not-allowed}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.form{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px 14px}.f{display:flex;flex-direction:column;gap:4px;min-width:0}.f.wide{grid-column:1/-1}.f label{font-size:12px;color:var(--muted)}input,select,textarea{font:400 13.5px var(--f-body);color:var(--ink);background:var(--well);border:1px solid var(--line);border-radius:3px;padding:8px 10px;width:100%;min-width:0}textarea{min-height:84px;resize:vertical}.help{font-size:12px;color:var(--dim)}.err{background:rgba(240,106,93,.12);border:1px solid rgba(240,106,93,.5);color:#ffc3bc;border-radius:3px;padding:9px 11px;font-size:13px}.err ul{margin:4px 0 0;padding-left:18px}.okbox{background:rgba(79,194,131,.1);border:1px solid rgba(79,194,131,.5);color:#bff0d4;border-radius:3px;padding:10px 12px}.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--side);border:1px solid var(--orange);color:var(--ink);padding:10px 16px;border-radius:4px;z-index:50;max-width:min(560px,92vw);box-shadow:0 8px 30px rgba(0,0,0,.4)}.toast.bad{border-color:var(--bad)}.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end}.filters .f{min-width:160px}#mapa{height:340px;border-radius:0 0 4px 4px;background:var(--well)}.list .li{display:grid;grid-template-columns:4px minmax(0,1fr) auto;gap:10px;padding:10px 14px;border-top:1px solid var(--line);align-items:center}.list .li:first-child{border-top:0}.list .li>i{align-self:stretch;border-radius:2px;background:var(--line)}.list .li>i.bad{background:var(--bad)}.list .li>i.warn{background:var(--warn)}.list .li>i.ok{background:var(--ok)}.list .li>i.al{background:var(--alarm)}.list .t{font-weight:600}.list .n{font-size:12px;color:var(--muted)}.empty{padding:18px 14px;color:var(--muted)}.perm{width:100%;border-collapse:collapse}.perm td,.perm th{padding:8px 10px;border-bottom:1px solid var(--line);text-align:center}.perm td:first-child,.perm th:first-child{text-align:left}.perm input{width:18px;height:18px;accent-color:var(--orange)}.lines td input,.lines td select{padding:6px 8px}.dictado{position:relative}.dictado>textarea,.dictado>input{padding-right:44px}.mic{position:absolute;right:6px;top:6px;width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:var(--panel2);color:var(--ink);cursor:pointer;display:grid;place-items:center}.mic svg{width:16px;height:16px}.mic:hover{border-color:var(--orange)}.mic.on{background:var(--alarm);border-color:var(--alarm);color:#fff;animation:latido 1.2s ease-in-out infinite}.mic-estado{position:absolute;right:46px;top:12px;font:600 10px var(--f-head);letter-spacing:.08em;text-transform:uppercase;color:var(--alarm)}@keyframes latido{0%,100%{box-shadow:0 0 0 0 rgba(255,43,43,.55)}50%{box-shadow:0 0 0 7px rgba(255,43,43,0)}}@media (prefers-reduced-motion:reduce){.mic.on{animation:none}}.login{min-height:100%;display:grid;place-items:center;padding:24px 16px}.login .card{width:min(940px,100%);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--panel)}.login .rack{position:relative;min-height:440px;background:repeating-linear-gradient(0deg,transparent 0 78px,var(--orange) 78px 86px,transparent 86px 160px),repeating-linear-gradient(90deg,transparent 0 54px,var(--steel) 54px 66px,transparent 66px 150px),var(--side);display:flex;flex-direction:column;justify-content:flex-end;padding:24px}.login .rack::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(24,25,28,.35),rgba(24,25,28,.94) 70%)}.login .rack>*{position:relative}.login form{padding:30px 28px;display:flex;flex-direction:column;gap:14px}@media (max-width:760px){.app{grid-template-columns:minmax(0,1fr)}aside.side{position:static;height:auto}nav.mods{display:flex;flex-wrap:wrap}nav.mods .grp{display:none}.login .card{grid-template-columns:minmax(0,1fr)}.login .rack{min-height:150px}}