:root{--bg: #0f1115;--panel: #171a21;--panel-2: #1e222b;--border: #2a2f3a;--text: #e6e9ef;--muted: #9aa4b2;--accent: #4f8cff;--out: #ff6b6b;--in: #4ade80;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:14px}header{display:flex;align-items:center;gap:24px;padding:12px 20px;background:var(--panel);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}header h1{font-size:16px;margin:0}nav{display:flex;gap:8px}nav a,nav button{background:transparent;color:var(--muted);border:1px solid transparent;padding:6px 14px;border-radius:6px;cursor:pointer;font-size:14px;text-decoration:none;line-height:1.4}nav a:hover{color:var(--text)}nav a.active,nav button.active{color:var(--text);background:var(--panel-2);border-color:var(--border)}main{padding:20px;max-width:1400px;margin:0 auto}.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:16px}select,input,button,textarea{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:6px 10px;font-size:13px;font-family:inherit}input:focus,select:focus,textarea:focus{outline:1px solid var(--accent)}button{cursor:pointer}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.active{background:var(--panel-2);border-color:var(--accent);color:var(--text)}button:disabled{opacity:.5;cursor:default}label.inline{color:var(--muted);display:flex;gap:6px;align-items:center}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--border);white-space:nowrap}th{color:var(--muted);font-weight:600;position:sticky;top:0;background:var(--bg);z-index:1;box-shadow:inset 0 -1px 0 var(--border)}.table-wrap{max-height:calc(100vh - 210px);overflow:auto;padding:0}.net-grid{margin-bottom:16px;overflow-x:auto}.net-grid th{top:auto;position:static}.net-grid th:first-child,.net-grid td:first-child{position:sticky;left:0;background:var(--bg);z-index:2;border-right:1px solid var(--border)}tr:hover td{background:var(--panel)}td.num{text-align:right;font-variant-numeric:tabular-nums}td.out{color:var(--out)}td.in{color:var(--in)}td input,td select{padding:3px 6px;width:100%;min-width:90px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:16px;margin-bottom:16px}.muted{color:var(--muted)}.right{text-align:right}.pill{background:var(--panel-2);border:1px solid var(--border);border-radius:999px;padding:2px 10px;font-size:12px}.error{color:var(--out);padding:8px 0}.spacer{flex:1}.rollup-table td.num{min-width:90px}.rollup-table td{border-bottom:1px solid var(--border)}.total-row td{font-weight:700;border-top:2px solid var(--border)}.year-row td{background:var(--panel-2);font-weight:700;font-size:15px;letter-spacing:.5px;border-top:2px solid var(--border)}.gap-row td{background:repeating-linear-gradient(45deg,rgba(255,107,107,.08),rgba(255,107,107,.08) 10px,transparent 10px,transparent 20px);color:var(--out);font-size:12px;text-align:center;border-top:1px dashed var(--out);border-bottom:1px dashed var(--out)}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh}.login-form{width:320px;display:flex;flex-direction:column;gap:12px}.login-form h2{margin:0 0 8px;text-align:center;font-size:18px}.login-form label.inline{flex-direction:column;align-items:stretch;gap:4px}.login-form button{margin-top:4px}dialog{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:10px;z-index:1000;box-shadow:0 12px 48px #0000008c}dialog[open]:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:-1}
