:root{--bg: #0a0c11;--panel: #12151d;--panel-2: #171b26;--panel-3: #1d2231;--line: #232838;--line-soft: #1b1f2b;--ink: #e6eaf3;--ink-2: #b9c1d4;--soft: #7b849b;--dim: #58607a;--accent: #5b8cff;--accent-soft: #1d2a4d;--pos: #2ed47a;--neg: #ff5c5c;--warn: #f5b23b;--purple: #a06bff;--radius: 12px;--radius-sm: 8px;--shadow: 0 1px 2px rgba(0, 0, 0, .5), 0 8px 24px rgba(0, 0, 0, .28);--mono: ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,system-ui,sans-serif;font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}.num,table td.n,table th.n{font-variant-numeric:tabular-nums;text-align:right}a{color:var(--accent);text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#262c3d;border-radius:6px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:#333b52}.shell{display:flex;flex-direction:column;min-height:100%}.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:18px;padding:0 18px;height:56px;background:#0a0c11e0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:9px;font-weight:700;letter-spacing:-.2px}.brand .dot{width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent)}.boards{display:flex;gap:3px;background:var(--panel);padding:3px;border-radius:10px;border:1px solid var(--line)}.boards button{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border:0;border-radius:7px;background:transparent;color:var(--soft);font-size:13px;font-weight:600;cursor:pointer;transition:background .12s,color .12s}.boards button:hover{color:var(--ink-2);background:var(--panel-2)}.boards button.on{background:var(--accent);color:#fff}.topbar .spacer{flex:1}.main{flex:1;padding:18px;max-width:1720px;width:100%;margin:0 auto}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.card>h2{margin:0;padding:13px 16px;font-size:13px;font-weight:650;letter-spacing:.01em;border-bottom:1px solid var(--line-soft);display:flex;align-items:center;gap:8px}.card>h2 .sub{font-weight:450;color:var(--soft);font-size:12px}.card .pad{padding:14px 16px}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.grid{display:grid;gap:12px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px}.kpi .lab{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--soft);font-weight:620}.kpi .val{font-size:22px;font-weight:680;margin-top:4px;letter-spacing:-.4px;font-variant-numeric:tabular-nums}.kpi .sub{font-size:11.5px;color:var(--dim);margin-top:2px}.kpi.pos .val{color:var(--pos)}.kpi.neg .val{color:var(--neg)}.kpi.acc .val{color:var(--accent)}.kpi.tapbaar{cursor:pointer;transition:border-color .12s,background .12s;-webkit-user-select:none;user-select:none}.kpi.tapbaar:hover{border-color:#37405c;background:var(--panel-2)}.kpi.tapbaar:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.kpi.actief{border-color:var(--accent);background:var(--accent-soft)}.kpi.actief .lab{color:#9dbaff}.kpi.actief:after{content:"";display:block;height:2px;margin-top:8px;background:var(--accent);border-radius:2px}.ctrl{display:inline-flex;align-items:center;gap:7px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);padding:6px 10px;font-size:13px;color:var(--ink-2)}.ctrl label{color:var(--soft);font-size:12px;font-weight:600}.ctrl input,.ctrl select{background:transparent;border:0;outline:0;color:var(--ink);min-width:0}.ctrl input[type=number]{width:62px;text-align:right;font-variant-numeric:tabular-nums}.ctrl input[type=date]{color-scheme:dark}.ctrl select option{background:var(--panel-2)}.seg{display:inline-flex;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);padding:2px}.seg button{border:0;background:transparent;color:var(--soft);font-size:12.5px;font-weight:600;padding:5px 11px;border-radius:6px;cursor:pointer}.seg button:hover{color:var(--ink-2)}.seg button.on{background:var(--panel-3);color:var(--ink)}.btn{display:inline-flex;align-items:center;gap:7px;background:var(--panel-2);border:1px solid var(--line);color:var(--ink-2);padding:7px 13px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;cursor:pointer}.btn:hover{background:var(--panel-3);color:var(--ink)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{filter:brightness(1.08)}.btn.ghost{background:transparent}.btn:disabled{opacity:.45;cursor:default}.chip{display:inline-flex;align-items:center;gap:5px;background:var(--panel-2);border:1px solid var(--line);color:var(--ink-2);padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:600}.chip.on{background:var(--accent-soft);border-color:#2f4f96;color:#b9cdff}.chip.pos{color:var(--pos);border-color:#1c5136;background:#10281c}.chip.neg{color:var(--neg);border-color:#5a2323;background:#2a1414}.chip.warn{color:var(--warn);border-color:#55411a;background:#241d0f}.chip.dim{color:var(--dim)}.chip button{background:none;border:0;color:inherit;cursor:pointer;padding:0;display:flex;opacity:.7}.chip button:hover{opacity:1}.muted{color:var(--soft)}.tiny{font-size:11.5px}.mono{font-family:var(--mono);font-size:12px}.pos-t{color:var(--pos)}.neg-t{color:var(--neg)}.warn-t{color:var(--warn)}.tbl-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}thead th{position:sticky;top:0;z-index:2;background:var(--panel-2);color:var(--soft);font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:650;padding:9px 10px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--line)}thead th.l{text-align:left}thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}thead th.sortable:hover{color:var(--ink-2)}thead th.sorted{color:var(--accent)}tbody td{padding:8px 10px;text-align:right;border-bottom:1px solid var(--line-soft);white-space:nowrap}tbody td.l{text-align:left}tbody tr:hover{background:var(--panel-2)}tbody tr.clickable{cursor:pointer}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:12px}.ccard{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;cursor:pointer;transition:border-color .12s,transform .12s}.ccard:hover{border-color:#37405c;transform:translateY(-2px)}.ccard .thumb{position:relative;aspect-ratio:4 / 5;background:var(--panel-3);display:flex;align-items:center;justify-content:center;overflow:hidden}.ccard .thumb img{width:100%;height:100%;object-fit:cover;display:block}.ccard .thumb .none{color:var(--dim);font-size:11px}.ccard .rank{position:absolute;top:7px;left:7px;z-index:2;background:#0a0c11d1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid var(--line);color:var(--ink);font-size:11px;font-weight:700;padding:2px 7px;border-radius:999px}.ccard .badge{position:absolute;top:7px;right:7px;z-index:2;background:#0a0c11d1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid var(--line);font-size:11px;font-weight:700;padding:2px 7px;border-radius:999px;font-variant-numeric:tabular-nums}.ccard .badge.pos{color:var(--pos);border-color:#1c5136}.ccard .badge.neg{color:var(--neg);border-color:#5a2323}.ccard .badge.warn{color:var(--warn);border-color:#55411a}.ccard .vtag{position:absolute;bottom:7px;left:7px;z-index:2;background:#0a0c11d1;border:1px solid var(--line);font-size:10px;font-weight:700;letter-spacing:.05em;padding:2px 6px;border-radius:5px;color:var(--purple)}.ccard .meta{padding:9px 10px 10px}.ccard .meta .top{display:flex;justify-content:space-between;gap:6px;align-items:baseline}.ccard .meta .fmt{font-size:11.5px;font-weight:680;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ccard .meta .sp{font-size:11px;color:var(--soft);font-variant-numeric:tabular-nums}.ccard .meta .sub{font-size:11px;color:var(--dim);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ccard .meta .stats{display:flex;gap:9px;margin-top:6px;font-size:11px;color:var(--soft);font-variant-numeric:tabular-nums}.bar{position:relative;height:5px;background:var(--panel-3);border-radius:3px;overflow:hidden;min-width:44px}.bar>i{position:absolute;inset:0 auto 0 0;border-radius:3px;background:var(--accent)}.bar>i.pos{background:var(--pos)}.bar>i.neg{background:var(--neg)}.bar>i.warn{background:var(--warn)}.drawer-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#04060a9e;z-index:60;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(560px,100vw);background:var(--panel);border-left:1px solid var(--line);z-index:61;display:flex;flex-direction:column;box-shadow:-18px 0 48px #00000080}.drawer header{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--line)}.drawer header h3{margin:0;font-size:14px;font-weight:650;flex:1}.drawer .body{overflow-y:auto;padding:16px;flex:1}.kv{display:grid;grid-template-columns:132px 1fr;gap:6px 12px;font-size:12.5px}.kv .k{color:var(--soft)}.kv .v{color:var(--ink-2);overflow-wrap:anywhere}.login{min-height:100%;display:grid;place-items:center;padding:24px}.login form{width:100%;max-width:340px}.login h1{font-size:19px;margin:0 0 4px;letter-spacing:-.3px}.login p{color:var(--soft);font-size:13px;margin:0 0 18px}.login input{width:100%;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);padding:11px 13px;margin-bottom:10px;outline:0}.login input:focus{border-color:var(--accent)}.login button{width:100%;justify-content:center}.login .err{color:var(--neg);font-size:12.5px;margin-top:10px}.empty{padding:42px 16px;text-align:center;color:var(--soft);font-size:13px}.spin{display:inline-block;width:13px;height:13px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:sp .7s linear infinite}@keyframes sp{to{transform:rotate(360deg)}}.sec-title{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--soft);font-weight:650;margin:0 0 8px}@media (max-width: 760px){.main{padding:12px}.topbar{gap:10px;padding:0 12px}.brand span,.boards button span{display:none}.boards button{padding:7px 10px}.cards{grid-template-columns:repeat(auto-fill,minmax(148px,1fr))}}@media (max-width: 900px){.naam-kort{display:none}}
