:root{color-scheme:light dark;--surface-0:#f4f3f0;--surface-1:#fcfcfb;--border:#e0dfda;--text-primary:#0b0b0b;--text-secondary:#52514e;--text-muted:#86857f;--accent:#2a78d6;--good:#0ca30c;--warning:#fab219;--critical:#d03b3b}@media (prefers-color-scheme:dark){:root{--surface-0:#111110;--surface-1:#1a1a19;--border:#383835;--text-primary:#fff;--text-secondary:#c3c2b7;--text-muted:#8f8e85;--accent:#3987e5}}*{box-sizing:border-box}body{margin:0;padding:24px;background:var(--surface-0);color:var(--text-primary);font:14px/1.5 ui-sans-serif,-apple-system,Segoe UI,sans-serif}.wrap{max-width:1280px;margin:0 auto}header{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}h1{font-size:20px;margin:0;letter-spacing:-.01em}.sub{color:var(--text-muted);font-size:13px}.spacer{flex:1 1}button{font:inherit;font-weight:500;cursor:pointer;background:var(--accent);color:#fff;border:0;border-radius:6px;padding:8px 14px}button:disabled{opacity:.55;cursor:default}button.ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border)}input{font:inherit;padding:8px 10px;border-radius:6px;border:1px solid var(--border);background:var(--surface-0);color:inherit;width:100%}label{display:block;font-size:12px;color:var(--text-secondary);margin:10px 0 4px}.layout{display:grid;grid-template-columns:260px minmax(0,1fr);grid-gap:20px;gap:20px;margin-top:20px;align-items:start}.layout>*{min-width:0}@media (max-width:860px){.layout{grid-template-columns:1fr}}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:10px;overflow:hidden}.card h2{font-size:14px;margin:0;padding:13px 16px;border-bottom:1px solid var(--border);font-weight:600;display:flex;align-items:center;gap:8px}.card .body{padding:14px 16px}.klant{display:block;width:100%;text-align:left;background:none;border:0;color:inherit;padding:10px 16px;border-bottom:1px solid var(--border);cursor:pointer;font:inherit}.klant:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}.klant[aria-current=true]{background:color-mix(in srgb,var(--accent) 12%,transparent);box-shadow:inset 3px 0 0 var(--accent)}.klant .naam{font-weight:500}.klant .meta{font-size:12px}.klant .meta,.tag{color:var(--text-muted)}.tag{font-size:10px;text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--border);border-radius:4px;padding:1px 5px}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:12px;gap:12px;margin-bottom:20px}.tile{background:var(--surface-1);border:1px solid var(--border);border-radius:10px;padding:14px 16px}.tile .label{color:var(--text-secondary);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.tile .value{font-size:26px;font-weight:600;letter-spacing:-.02em;margin-top:6px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tile .hint{color:var(--text-muted);font-size:12px}.scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}td,th{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);white-space:nowrap}th{color:var(--text-secondary);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.04em}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}td.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.gl span,.muted{color:var(--text-muted)}.badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:500}.badge .dot{width:8px;height:8px;border-radius:50%;flex:none}.badge.good .dot{background:var(--good)}.badge.warning .dot{background:var(--warning)}.badge.critical .dot{background:var(--critical)}.empty{padding:32px 16px;text-align:center;color:var(--text-muted)}.melding{margin:12px 0;padding:10px 12px;border-radius:6px;border:1px solid var(--border);background:var(--surface-1)}.melding.fout{border-color:var(--critical)}dialog{border:1px solid var(--border);border-radius:10px;background:var(--surface-1);color:inherit;width:min(420px,92vw);padding:20px}dialog::-webkit-backdrop{background:rgba(0,0,0,.45)}dialog::backdrop{background:rgba(0,0,0,.45)}a{color:var(--accent)}footer{margin-top:28px;color:var(--text-muted);font-size:12px}.login-body{min-height:100vh;display:grid;place-items:center;padding:0}form.login{background:var(--surface-1);border:1px solid var(--border);border-radius:10px;padding:24px;width:min(340px,90vw)}form.login h1{font-size:17px;margin:0 0 4px}form.login p{color:var(--text-muted);font-size:13px;margin:0 0 16px}form.login button{width:100%;margin-top:12px;padding:9px}.fout{color:var(--critical);font-size:13px;margin-top:10px}