:root{--bg: #f8fafc;--bg-elevated: #ffffff;--bg-subtle: #eef2f7;--fg: #0f172a;--fg-muted: #475569;--fg-faint: #94a3b8;--line: #e2e8f0;--accent: #0f4c75;--accent-strong: #0b3a5b;--accent-soft: rgba(15, 76, 117, .1);--accent-contrast: #ffffff;--danger: #b91c1c;--ok: #15803d}@media(prefers-color-scheme:dark){:root{--bg: #0b1120;--bg-elevated: #101a2e;--bg-subtle: #0e1626;--fg: #e2e8f0;--fg-muted: #94a3b8;--fg-faint: #64748b;--line: #1e293b;--accent: #22d3ee;--accent-strong: #67e8f9;--accent-soft: rgba(34, 211, 238, .1);--accent-contrast: #0b1120;--danger: #f87171;--ok: #4ade80}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.5 ui-sans-serif,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.shell{display:flex;min-height:100vh}.sidebar{width:210px;flex-shrink:0;padding:20px 14px;border-right:1px solid var(--line);background:var(--bg-elevated)}.sidebar .brand{font-weight:700;letter-spacing:.06em;font-size:13px;text-transform:uppercase;color:var(--accent);margin-bottom:20px}.sidebar nav{display:flex;flex-direction:column;gap:2px}.sidebar nav a{padding:8px 10px;border-radius:8px;color:var(--fg-muted);font-weight:500}.sidebar nav a:hover{background:var(--bg-subtle);text-decoration:none}.sidebar nav a.active{background:var(--accent-soft);color:var(--accent)}.main{flex:1;padding:26px 32px;max-width:1060px}.topbar{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:22px}.topbar h1{font-size:22px;margin:0}.topbar .who{color:var(--fg-faint);font-size:13px}.topbar .who button{margin-left:10px}.card{background:var(--bg-elevated);border:1px solid var(--line);border-radius:12px;padding:18px;margin-bottom:18px}.card h2{font-size:15px;margin:0 0 12px}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;color:var(--fg-faint);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.05em;padding:6px 10px}td{padding:9px 10px;border-top:1px solid var(--line)}tr.click{cursor:pointer}tr.click:hover td{background:var(--bg-subtle)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.tabs{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}.tabs button{border:1px solid var(--line);background:var(--bg-elevated);color:var(--fg-muted);border-radius:999px;padding:5px 14px;cursor:pointer;font-size:13px}.tabs button.active{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}button.primary,button.ghost,button.danger{border-radius:8px;padding:8px 16px;font-weight:600;font-size:14px;cursor:pointer}button.primary{background:var(--accent);color:var(--accent-contrast);border:1px solid var(--accent)}button.primary:hover{background:var(--accent-strong)}button.ghost{background:transparent;color:var(--fg-muted);border:1px solid var(--line)}button.ghost:hover{background:var(--bg-subtle)}button.danger{background:transparent;color:var(--danger);border:1px solid var(--danger)}button:disabled{opacity:.5;cursor:not-allowed}.small{font-size:12px;padding:4px 10px}form.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;align-items:end}label.field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--fg-muted)}input,select,textarea{background:var(--bg);color:var(--fg);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:14px;font-family:inherit}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.chip{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;background:var(--bg-subtle);color:var(--fg-muted);text-transform:capitalize}.chip.approved,.chip.paid,.chip.active,.chip.converted{background:#15803d1f;color:var(--ok)}.chip.sent,.chip.issued,.chip.qualified{background:var(--accent-soft);color:var(--accent)}.chip.rejected,.chip.written_off,.chip.lost,.chip.deactivated{background:#b91c1c1a;color:var(--danger)}.error{color:var(--danger);font-size:13px;margin:8px 0}.muted{color:var(--fg-faint);font-size:13px}.totals{display:flex;flex-direction:column;gap:4px;align-items:flex-end;margin-top:10px;font-size:14px}.totals .grand{font-weight:700;font-size:16px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.center{max-width:560px;margin:8vh auto;padding:0 20px}.linkbox{background:var(--bg-subtle);border-radius:8px;padding:10px 12px;font-family:ui-monospace,monospace;font-size:12px;word-break:break-all}
