:root{--bg: #0f1115;--panel: #171a21;--panel-2: #1d212a;--line: #2a2f3a;--ink: #e7e9ee;--ink-dim: #9aa3b2;--ink-faint: #6b7384;--accent: #5b8def;--good: #2ec27e;--warn: #e0a83a;--bad: #e0564a;--cond: #b98b3a;--mono: "JetBrains Mono", "SF Mono", ui-monospace, Menlo, Consolas, monospace;--sans: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--sans);background:var(--bg);color:var(--ink);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}.num{font-family:var(--mono);font-variant-numeric:tabular-nums}.topbar{display:flex;align-items:center;gap:20px;padding:14px 24px;border-bottom:1px solid var(--line);background:var(--panel);position:sticky;top:0;z-index:5}.brand{font-weight:600;letter-spacing:-.01em}.brand small{color:var(--ink-faint);font-weight:400;margin-left:8px}.topbar .spacer{flex:1}.meta{color:var(--ink-dim);font-size:12px}.meta b{color:var(--ink)}.hashbadge{font-family:var(--mono);font-size:11px;color:var(--ink-faint);border:1px solid var(--line);padding:2px 7px;border-radius:5px}.toggle{display:inline-flex;border:1px solid var(--line);border-radius:7px;overflow:hidden}.toggle button{background:transparent;color:var(--ink-dim);border:0;padding:6px 14px;font-family:var(--sans);font-size:13px;cursor:pointer}.toggle button.active{background:var(--accent);color:#fff}.wrap{max-width:1180px;margin:0 auto;padding:24px}.grid{display:grid;grid-template-columns:1fr 340px;gap:20px;align-items:start}@media(max-width:980px){.grid{grid-template-columns:1fr}}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:18px;margin-bottom:20px}.panel h2{margin:0 0 4px;font-size:15px;font-weight:600}.panel .sub{color:var(--ink-faint);font-size:12px;margin-bottom:14px}.kpis{display:flex;gap:28px;margin:6px 0 18px}.kpi .v{font-size:26px;font-weight:600}.kpi .l{color:var(--ink-faint);font-size:12px}.wf-row{display:grid;grid-template-columns:96px 1fr 120px;align-items:center;gap:12px;padding:3px 0}.wf-row .lab{color:var(--ink-dim);font-size:12px}.wf-bar{height:16px;background:var(--panel-2);border-radius:4px;overflow:hidden}.wf-bar>span{display:block;height:100%;background:linear-gradient(90deg,#3a6fd0,#5b8def)}.wf-row .amt{text-align:right;font-size:12.5px;color:var(--ink)}.wf-total{border-top:1px solid var(--line);margin-top:8px;padding-top:10px;display:flex;justify-content:space-between;font-weight:600}.conditional{border:1px dashed var(--cond);background:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(185,139,58,.04) 10px,rgba(185,139,58,.04) 20px)}.conditional .wf-bar>span{background:linear-gradient(90deg,#8a6a2c,var(--cond))}.cond-flag{color:var(--cond);font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.score{font-weight:600}.score.good{color:var(--good)}.score.warn{color:var(--warn)}.score.bad{color:var(--bad)}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px;vertical-align:middle}.dot.good{background:var(--good)}.dot.warn{background:var(--warn)}.dot.bad{background:var(--bad)}.fix{padding:10px 0;border-bottom:1px solid var(--line);cursor:pointer}.fix:last-child{border-bottom:0}.fix:hover{background:var(--panel-2)}.fix .top{display:flex;justify-content:space-between;align-items:center}.fix .name{font-size:13px}.fix .defect{color:var(--ink-dim);font-size:12px;margin-top:3px}table.deals{width:100%;border-collapse:collapse}.deals th{text-align:left;color:var(--ink-faint);font-weight:500;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;padding:8px 10px;border-bottom:1px solid var(--line)}.deals td{padding:9px 10px;border-bottom:1px solid var(--line);font-size:13px}.deals tr{cursor:pointer}.deals tr:hover td{background:var(--panel-2)}.deals td.r,.deals th.r{text-align:right}.pill{font-size:11px;padding:2px 8px;border-radius:20px;border:1px solid var(--line);color:var(--ink-dim)}.pill.open{color:var(--cond);border-color:var(--cond)}.pill.closed{color:var(--good);border-color:#2ec27e66}.drawer-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:20}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(720px,96vw);background:var(--panel);border-left:1px solid var(--line);z-index:21;overflow-y:auto;padding:22px 24px}.drawer h2{margin:0;font-size:18px}.drawer .close{position:absolute;top:18px;right:20px;background:transparent;border:1px solid var(--line);color:var(--ink-dim);border-radius:6px;padding:4px 10px;cursor:pointer}.linecard{border:1px solid var(--line);border-radius:9px;padding:14px;margin:14px 0}.linecard .lh{display:flex;justify-content:space-between;align-items:baseline}.method-tag{font-family:var(--mono);font-size:11px;color:var(--accent);border:1px solid rgba(91,141,239,.4);padding:1px 7px;border-radius:5px}.sched{display:flex;flex-wrap:wrap;gap:4px;margin:12px 0}.cell{min-width:64px;text-align:center;border:1px solid var(--line);border-radius:6px;padding:6px 4px;font-size:11px;background:var(--panel-2);cursor:pointer}.cell:hover{border-color:var(--accent)}.cell.zero{opacity:.4}.cell.locked{border-color:var(--warn);background:#e0a83a1a}.cell .pl{color:var(--ink-faint);display:block}.cell .pv{color:var(--ink);display:block;margin-top:2px}.prov{background:var(--panel-2);border-radius:8px;padding:12px 14px;margin-top:10px}.prov .step{display:grid;grid-template-columns:110px 1fr;gap:10px;padding:4px 0;font-size:12.5px}.prov .step .k{color:var(--ink-faint)}.diag{font-size:12px;padding:6px 0;border-top:1px dashed var(--line)}.diag .code{font-family:var(--mono);font-size:11px;padding:1px 6px;border-radius:4px;margin-right:8px}.diag.error .code{background:#e0564a26;color:var(--bad)}.diag.warning .code{background:#e0a83a26;color:var(--warn)}.diag.info .code{background:#5b8def26;color:var(--accent)}.banner{border-radius:8px;padding:10px 14px;font-size:12.5px;margin-bottom:18px}.banner.disclaimer{background:#5b8def14;border:1px solid rgba(91,141,239,.3);color:var(--ink-dim)}.banner.cond{background:#b98b3a14;border:1px solid rgba(185,139,58,.4);color:var(--cond)}button.action{background:var(--accent);color:#fff;border:0;border-radius:7px;padding:8px 16px;font-family:var(--sans);font-size:13px;cursor:pointer}button.ghost{background:transparent;color:var(--ink-dim);border:1px solid var(--line);border-radius:7px;padding:7px 14px;cursor:pointer}.override-row{display:flex;align-items:center;gap:10px;margin-top:10px;font-size:12.5px;color:var(--ink-dim)}.override-row input{background:var(--bg);border:1px solid var(--line);color:var(--ink);border-radius:6px;padding:6px 8px;font-family:var(--mono);width:120px}.footer{color:var(--ink-faint);font-size:11.5px;text-align:center;padding:20px}
