:root{--yellow:#FFC713;--black:#1A1A1A;--blue:#213D75;--bg:#F5F5F2;--surface:#FFFFFF;--surface2:#FAFAF8;--ink:#1A1A1A;--ink2:#52514e;--ink3:#6a6963;--line:#E1E0D9;--ok:#0b7a3b;--okbg:#e4f4ea;--warn:#8a5a00;--warnbg:#fff1d0;--bad:#a82424;--badbg:#fbe3e3;--info:#213D75;--infobg:#e6ecf7;--nav:#1A1A1A;--navink:#e8e8e3}:root[data-theme=dark]{--bg:#121212;--surface:#1A1A1A;--surface2:#222221;--ink:#F0EFEC;--ink2:#C3C2B7;--ink3:#898781;--line:#2f2f2d;--ok:#6fd49a;--okbg:#10301f;--warn:#ffc44d;--warnbg:#3a2c08;--bad:#ff8a8a;--badbg:#3a1414;--info:#9db8ee;--infobg:#17233f;--nav:#0e0e0e;--navink:#e8e8e3}*{box-sizing:border-box}html,body{margin:0}body{font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--ink);font-size:14px;line-height:1.45}button{font:inherit;cursor:pointer}a{color:inherit}.tabular{font-variant-numeric:tabular-nums}.app{display:grid;grid-template-columns:232px 1fr;min-height:100vh}nav.side{background:var(--nav);color:var(--navink);padding:16px 12px;position:sticky;top:0;height:100vh;overflow:auto}nav.side img{height:26px;margin:4px 8px 18px;display:block}nav.side a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;color:var(--navink);text-decoration:none;font-weight:500;margin-bottom:2px}nav.side a:hover{background:#ffffff12}nav.side a.active{background:var(--yellow);color:var(--black)}nav.side .grp{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#8f8f88;margin:16px 10px 6px}nav.side .count{margin-left:auto;font-size:11px;background:#ffffff24;padding:1px 7px;border-radius:10px}nav.side a.active .count{background:#0000002e}.top{display:flex;align-items:center;gap:12px;padding:10px 24px;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5;flex-wrap:wrap}.top .search{flex:1;min-width:200px;max-width:420px}main{padding:22px 24px 120px;max-width:1500px}h1{font-size:22px;font-weight:600;margin:0 0 4px}h2{font-size:16px;font-weight:600;margin:0 0 10px}h3{font-size:13px;font-weight:600;margin:0 0 6px;color:var(--ink2);text-transform:uppercase;letter-spacing:.04em}.sub{color:var(--ink2);margin:0 0 16px}.muted{color:var(--ink3)}.small{font-size:12px}.mono{font-family:ui-monospace,Menlo,monospace;font-size:12px}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px}.grid{display:grid;gap:14px}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi .l{color:var(--ink2);font-size:12px}.kpi .v{font-size:26px;font-weight:600;margin-top:2px}.kpi .d{font-size:12px;margin-top:2px}.up{color:var(--ok)}.down{color:var(--bad)}.chip{display:inline-block;padding:2px 9px;border-radius:12px;font-size:12px;font-weight:500;white-space:nowrap}.c-ok{background:var(--okbg);color:var(--ok)}.c-warn{background:var(--warnbg);color:var(--warn)}.c-bad{background:var(--badbg);color:var(--bad)}.c-info{background:var(--infobg);color:var(--info)}.c-gray{background:var(--surface2);color:var(--ink2);border:1px solid var(--line)}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:7px 14px;border-radius:8px;font-weight:500}.btn:hover{border-color:var(--ink3)}.btn.pri{background:var(--yellow);border-color:var(--yellow);color:var(--black)}.btn.dark{background:var(--black);color:#fff;border-color:var(--black)}.btn[disabled]{opacity:.45;cursor:not-allowed}.btn.sm{padding:4px 10px;font-size:12px}table{width:100%;border-collapse:collapse}th{font-size:12px;font-weight:500;color:var(--ink2);text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top}tr.row:hover td{background:var(--surface2)}tr.sel td{background:var(--infobg)}tr.click{cursor:pointer}td.n,th.n{text-align:right;font-variant-numeric:tabular-nums}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:0 0 14px;flex-wrap:wrap}.tab{padding:8px 14px;border:0;border-bottom:2px solid transparent;background:none;color:var(--ink2);font-weight:500}.tab.on{border-color:var(--yellow);color:var(--ink)}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:14px;align-items:start}.drawer{position:sticky;top:70px;overflow-x:auto}.drawer table{font-size:13px}.bar{position:fixed;left:232px;right:0;bottom:0;background:var(--surface);border-top:1px solid var(--line);padding:12px 24px;display:flex;gap:14px;align-items:center;z-index:6}.flag{border-left:3px solid;padding:7px 10px;margin:6px 0;border-radius:0 8px 8px 0;font-size:13px}.flag.b{border-color:var(--bad);background:var(--badbg)}.flag.w{border-color:#d98f00;background:var(--warnbg)}.flag.i{border-color:var(--info);background:var(--infobg)}.row2{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.sp{flex:1}input,select,textarea{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:6px 10px;border-radius:8px}input[type=checkbox]{width:16px;height:16px;accent-color:#1A1A1A}.login{min-height:100vh;display:grid;place-items:center;background:var(--black)}.login .box{background:var(--surface);border-radius:14px;padding:32px;width:380px;text-align:center}.center{min-height:60vh;display:grid;place-items:center}.modal{position:fixed;inset:0;background:#00000080;display:grid;place-items:center;z-index:20}.modal .card{width:min(520px,92vw);max-height:90vh;overflow:auto}.alertbar{background:var(--yellow);color:#1a1a1a;padding:10px 24px;display:flex;align-items:center;gap:12px;font-weight:500;border-bottom:1px solid #d9a800}.alertbar button{border:1px solid #1A1A1A;background:transparent;border-radius:8px;padding:4px 12px;color:#1a1a1a}.toast{position:fixed;right:20px;top:70px;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--info);border-radius:8px;padding:10px 14px;z-index:30;max-width:420px;box-shadow:0 6px 24px #00000040}.toast.bad{border-left-color:var(--bad)}.toast.ok{border-left-color:var(--ok)}.edited{font-size:12px;color:var(--info);margin-top:3px}.sk{height:14px;border-radius:6px;background:linear-gradient(90deg,var(--line),var(--surface2),var(--line));background-size:200% 100%;animation:sk 1.2s infinite}@keyframes sk{to{background-position:-200% 0}}.empty{padding:36px;text-align:center;color:var(--ink3)}@media(max-width:1000px){.app{grid-template-columns:1fr}nav.side{position:static;height:auto;display:flex;flex-wrap:wrap;gap:4px}.bar{left:0}.split,.g4,.g3,.g2{grid-template-columns:1fr}.drawer{position:static}}:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}:root:not([data-theme=dark]) :focus-visible{outline-color:var(--blue)}.skip{position:absolute;left:8px;top:-60px;background:var(--yellow);color:var(--black);padding:8px 14px;border-radius:8px;z-index:50;font-weight:600}.skip:focus{top:8px}tr.click:focus-visible{outline-offset:-2px}@media(prefers-reduced-motion:reduce){.sk{animation:none}*{scroll-behavior:auto!important}}.phone-list{display:grid;gap:10px}.phone-card{padding:12px}@media(max-width:700px){body{font-size:15px}nav.side{flex-wrap:nowrap;overflow-x:auto;padding:8px;gap:2px}nav.side img{height:22px;margin:4px 8px 4px 4px;flex:none}nav.side .grp{display:none}nav.side a{flex:none;white-space:nowrap;margin:0}.top{padding:8px 12px;gap:8px}.top .search{max-width:none;min-width:0;flex:1 1 100%}main{padding:14px 12px 40px}h1{font-size:19px}.btn,input,select,textarea{min-height:44px}.btn.sm{min-height:36px}.kpi .v{font-size:21px}.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.tabs{overflow-x:auto;flex-wrap:nowrap}.tab{flex:none;min-height:44px}table{font-size:13px}.card:has(>table){overflow-x:auto}.modal .card{width:94vw}table.stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}table.stack,table.stack tbody,table.stack tr,table.stack td{display:block;width:100%}table.stack tr{padding:8px 4px;border-bottom:1px solid var(--line)}table.stack td{border:0;padding:3px 8px;text-align:left!important}.hide-sm{display:none}td.actions{display:flex;flex-direction:column;gap:6px;align-items:stretch}}.show-sm{display:none}@media(max-width:700px){.show-sm{display:block}}[hidden]{display:none!important}
