:root{--bg: #f6f7f9;--panel: #ffffff;--text: #1b1f24;--muted: #6b7280;--line: #e3e6ea;--accent: #0b6bcb;--err: #b42318;--ok: #157f3b;--warnbg: #fff4e0;--newbg: #eaf3fd;--dirtybg: #fff8db;color-scheme:light dark}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #0f1216;--panel: #171b21;--text: #e6e8eb;--muted: #9aa3ae;--line: #2a3038;--accent: #4ea1ff;--err: #ff7a6e;--ok: #4cc38a;--warnbg: #3a2a10;--newbg: #10283f;--dirtybg: #2e2a12;color-scheme:dark}}:root[data-theme=dark]{--bg: #0f1216;--panel: #171b21;--text: #e6e8eb;--muted: #9aa3ae;--line: #2a3038;--accent: #4ea1ff;--err: #ff7a6e;--ok: #4cc38a;--warnbg: #3a2a10;--newbg: #10283f;--dirtybg: #2e2a12;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}.app{max-width:1400px;margin:0 auto;padding-block:0 48px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.pad{padding:24px}header{display:flex;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}header nav{display:flex;gap:4px;flex:1}button{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:5px 10px;cursor:pointer;font:inherit}button.on{border-color:var(--accent);color:var(--accent)}button.link{border:0;background:none;color:var(--accent);padding:0 4px}button:disabled{opacity:.5;cursor:default}input,select{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:4px 6px;font:inherit;max-width:100%}.filters{padding:12px 0;display:grid;gap:8px}.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}.inline{display:inline-flex;gap:4px;align-items:center}.cluster{display:inline-flex;gap:8px;padding:4px 10px;border:1px solid var(--line);border-radius:6px;flex-wrap:wrap}.muted{color:var(--muted)}.err{color:var(--err);padding:8px 0}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:12px 0}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:10px 12px}.kpi .label{color:var(--muted);font-size:12px}.kpi .value{font-size:22px;font-weight:600;font-variant-numeric:tabular-nums}.kpi .value.small{font-size:15px}section{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:12px;margin:12px 0;min-width:0}section h3{margin:0 0 8px;font-size:14px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}section h3 small{color:var(--muted);font-weight:400}.exp{margin-left:auto;display:inline-flex;gap:4px}.exp button{padding:2px 8px;font-size:12px}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:12px}.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}.grid2 section,.grid3 section{margin:0}.tbl{overflow-x:auto;max-height:420px;overflow-y:auto}table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}th,td{text-align:left;padding:4px 8px;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--muted);font-weight:500;position:sticky;top:0;background:var(--panel)}@media (max-width: 600px){.grid2,.grid3{grid-template-columns:1fr}}.help{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;border:1px solid var(--muted);color:var(--muted);font-size:11px;font-weight:600;cursor:help;position:relative;flex:none;vertical-align:middle}.help:hover:after,.help:focus:after{content:attr(data-tip);position:absolute;left:-8px;top:calc(100% + 6px);width:max-content;max-width:min(300px,80vw);white-space:normal;background:var(--text);color:var(--bg);padding:8px 10px;border-radius:6px;font-size:12px;font-weight:400;line-height:1.4;z-index:30;text-align:left;letter-spacing:0;text-transform:none}.help:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.kpi .label{display:flex;gap:6px;align-items:center}button.primary{background:var(--accent);border-color:var(--accent);color:var(--panel)}button.warn{background:var(--warnbg);border-color:var(--err);color:var(--err)}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.spacer{flex:1}.chip{font-size:12px;font-weight:500;padding:1px 8px;border:1px solid var(--line);border-radius:10px;color:var(--muted)}.notice{border:1px solid var(--accent);background:var(--newbg);border-radius:6px;padding:8px 10px;margin-bottom:8px}tr.row-dirty td{background:var(--dirtybg)}tr.row-new td{background:var(--newbg)}tr.row-remove td{opacity:.55;text-decoration:line-through}tr.row-remove td.actions{opacity:1;text-decoration:none}tr.baseline td{font-weight:600}td{vertical-align:middle}td.actions{white-space:nowrap}td.actions>*+*{margin-left:6px}td.err{color:var(--err);white-space:normal}.delta.pos{color:var(--ok)}.delta.neg{color:var(--err)}.small{font-size:12px}.kpis.flush{margin:0}.row.period{margin:4px 0 0}table.rules td input:not([type=checkbox]),table.rules td select{width:100%;min-width:64px}table.rules td{white-space:nowrap}table.rules td select{min-width:96px}.refresh{display:inline-flex;align-items:center;gap:8px;margin-left:auto}
