:root{--font-ui: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-num: ui-monospace, "SF Mono", "Cascadia Mono", Consolas, monospace;--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--r-xl: 20px;--r-pill: 999px;--ease: cubic-bezier(.2, .7, .3, 1);--dur: .18s;--hit: 38px;--ok: #12a150;--warn: #c77700;--danger: #d92d20;--info: #0a7ea4;--bg: #f4f6fa;--surface: #fff;--surface-2: #fff;--surface-3: #eef1f7;--border: #dfe4ec;--border-soft: #ecf0f6;--text: #131722;--text-2: #576072;--text-3: #8a93a3;--accent: #0e7c66;--accent-ink: #fff;--accent-soft: rgba(14, 124, 102, .1);--shadow: 0 1px 2px rgba(16, 24, 40, .05), 0 12px 28px -16px rgba(16, 24, 40, .28);--overlay: rgba(19, 23, 34, .45)}:root[data-theme=midnight]{--bg: #0d0f14;--surface: #151922;--surface-2: #1c2230;--surface-3: #232b3b;--border: #2a3346;--border-soft: #1f2634;--text: #eef2f9;--text-2: #9aa6bd;--text-3: #626e86;--accent: #6f8dff;--accent-ink: #0b0d12;--accent-soft: rgba(111, 141, 255, .15);--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 12px 32px -16px rgba(0, 0, 0, .7);--overlay: rgba(4, 6, 10, .66)}:root[data-theme=bazaar]{--bg: #f7f2e9;--surface: #fffdf8;--surface-2: #fffdf8;--surface-3: #f2ebdd;--border: #e3d8c4;--border-soft: #ece3d3;--text: #24190f;--text-2: #6b5a45;--text-3: #9b8a73;--accent: #b8541f;--accent-ink: #fffdf8;--accent-soft: rgba(184, 84, 31, .12);--shadow: 0 1px 2px rgba(60, 40, 20, .06), 0 12px 28px -16px rgba(60, 40, 20, .3);--overlay: rgba(36, 25, 15, .5)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%}body{font-family:var(--font-ui);background:var(--bg);color:var(--text);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums}.btn{height:var(--hit);padding:0 15px;border-radius:var(--r-md);cursor:pointer;border:1px solid transparent;font:600 13px/1 var(--font-ui);display:inline-flex;align-items:center;gap:7px;transition:all var(--dur) var(--ease)}.btn.primary{background:var(--accent);color:var(--accent-ink)}.btn.primary:hover{filter:brightness(1.08)}.btn.ghost{background:var(--surface);color:var(--text-2);border-color:var(--border)}.btn.ghost:hover{color:var(--text);border-color:var(--text-3)}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.card>header{padding:14px 16px;border-bottom:1px solid var(--border-soft);display:flex;align-items:center;gap:10px}.card>header h2{margin:0;font-size:14.5px;font-weight:650}.card>header .sub{font-size:12px;color:var(--text-3)}.card>header .spacer{flex:1}table.t{width:100%;border-collapse:collapse}table.t th{text-align:left;font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-3);padding:10px 14px;border-bottom:1px solid var(--border);background:var(--surface-3);position:sticky;top:0}table.t td{padding:11px 14px;border-bottom:1px solid var(--border-soft);vertical-align:middle}table.t tbody tr:hover{background:var(--surface-3)}table.t .r{text-align:right}.tw{overflow-x:auto}.cell-sub{font-size:11px;color:var(--text-3)}.chip{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:3px 9px;border-radius:var(--r-pill);background:var(--surface-3);color:var(--text-2);border:1px solid var(--border-soft)}.chip.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 30%,transparent);background:color-mix(in srgb,var(--ok) 10%,transparent)}.chip.warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 32%,transparent);background:color-mix(in srgb,var(--warn) 11%,transparent)}.chip.bad{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 30%,transparent);background:color-mix(in srgb,var(--danger) 10%,transparent)}.chip.info{color:var(--info);border-color:color-mix(in srgb,var(--info) 30%,transparent);background:color-mix(in srgb,var(--info) 10%,transparent)}tr.sev td:first-child{position:relative}tr.sev td:first-child:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;border-radius:2px}tr.sev-bad td:first-child:before{background:var(--danger)}tr.sev-warn td:first-child:before{background:var(--warn)}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:18px}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:15px 16px}.kpi .lbl{font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-3)}.kpi .v{font-family:var(--font-num);font-size:26px;font-weight:700;letter-spacing:-.02em;margin-top:6px}.kpi .d{font-size:11.5px;margin-top:3px;display:flex;align-items:center;gap:5px;color:var(--text-3)}.kpi .d.up{color:var(--ok)}.kpi .d.dn{color:var(--danger)}.spark{margin-top:10px;height:34px;width:100%;display:block}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.note{padding:12px 14px;border-radius:var(--r-md);font-size:12.5px;margin-bottom:16px;background:var(--accent-soft);color:var(--accent)}.steps{display:flex;gap:0;margin-bottom:18px}.step{flex:1;padding:11px 14px;border:1px solid var(--border);border-right:0;background:var(--surface);font-size:12.5px;color:var(--text-3);position:relative}.step:first-child{border-radius:var(--r-md) 0 0 var(--r-md)}.step:last-child{border-right:1px solid var(--border);border-radius:0 var(--r-md) var(--r-md) 0}.step .n{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.step .t{font-weight:600;color:var(--text-2);margin-top:2px}.step.done{background:color-mix(in srgb,var(--ok) 9%,var(--surface))}.step.done .t{color:var(--ok)}.step.now{background:var(--accent-soft);border-color:var(--accent)}.step.now .t{color:var(--accent)}.mx{display:grid;gap:7px}.mx .hd,.mx .rw{display:grid;grid-template-columns:90px repeat(var(--cols, 5),1fr);gap:6px;align-items:center}.mx .hd span{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);text-align:center}.mx .rl{font-size:12.5px;font-weight:600;color:var(--text-2)}.mx .c{height:44px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface-3);display:grid;place-items:center;font:600 13px/1 var(--font-num);cursor:pointer;position:relative;color:var(--text)}.mx .c:hover:not(.z){border-color:var(--accent)}.mx .c .s{position:absolute;bottom:4px;font:500 9px var(--font-ui);color:var(--text-3)}.mx .c.z{opacity:.32;cursor:not-allowed}.mx .c.low{border-color:color-mix(in srgb,var(--warn) 45%,transparent);background:color-mix(in srgb,var(--warn) 9%,transparent)}.tg{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border-soft);gap:12px}.tg:last-child{border-bottom:0}.tg .t{font-size:13.5px;font-weight:550}.tg .k{font-family:var(--font-num);font-size:11px;color:var(--text-3);margin-top:2px}.sw{width:42px;height:24px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface-3);cursor:pointer;position:relative;transition:all var(--dur) var(--ease);flex:none;padding:0}.sw:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--text-3);transition:all var(--dur) var(--ease)}.sw[aria-checked=true]{background:var(--accent);border-color:var(--accent)}.sw[aria-checked=true]:after{left:21px;background:var(--accent-ink)}.sw:disabled{opacity:.4;cursor:not-allowed}.lockrow{display:flex;align-items:center;gap:10px}.field{margin-bottom:12px}.field label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);margin-bottom:5px}.field input,.field select{width:100%;height:40px;padding:0 12px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface-3);color:var(--text);font:500 14px var(--font-ui)}.field input:focus,.field select:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.err{padding:12px 14px;border-radius:var(--r-md);font-size:13px;margin-bottom:14px;background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--danger)}.muted{color:var(--text-3)}.empty{text-align:center;padding:28px;color:var(--text-3)}@media(max-width:1100px){.grid2{grid-template-columns:1fr}}
