:root{
  --ink:#1d2330;--muted:#5c6577;--paper:#f6f4ee;--card:#fff;--line:#dcd8cc;
  --honey:#f2b705;--honey-ink:#1d2330;--link:#1b4f8f;--ok-bg:#e3f2e6;--ok-fg:#1c5a2c;--bad-bg:#fbe5e3;--bad-fg:#8c1f1b;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
a{color:var(--link)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #1b4f8f;outline-offset:2px}
h1{font-size:1.6rem;line-height:1.2;margin:1.2rem 0 .8rem}
h2{font-size:1.15rem;margin:1.8rem 0 .6rem}
.wrap{max-width:1100px;margin:0 auto;padding:0 16px}
.narrow{max-width:560px}
.top{background:var(--ink);color:#fff}
.top-in{display:flex;align-items:center;gap:20px;min-height:54px;flex-wrap:wrap}
.brand{font-weight:800;letter-spacing:.2px;border-left:6px solid var(--honey);padding-left:10px}
.top nav{display:flex;gap:4px;flex:1;flex-wrap:wrap}
.top nav a{color:#fff;text-decoration:none;padding:14px 12px;display:inline-block}
.top nav a[aria-current=page]{box-shadow:inset 0 -3px 0 var(--honey)}
.top nav a:hover{background:#2c3446}
.inline{display:inline;margin:0}
.link-btn{background:none;border:0;color:#fff;font:inherit;cursor:pointer;text-decoration:underline;padding:8px}
.muted{color:var(--muted)}.small{font-size:.85rem}.count{font-size:1rem;font-weight:400}
.r{text-align:right}
.flash{padding:10px 14px;border-radius:6px;background:var(--ok-bg);color:var(--ok-fg);margin:14px 0}
.flash.fout{background:var(--bad-bg);color:var(--bad-fg)}
.alerts{display:flex;gap:10px;flex-wrap:wrap;margin:6px 0 14px}
.alert{background:var(--bad-bg);color:var(--bad-fg);padding:10px 14px;border-radius:6px;text-decoration:none;border:1px solid #efc4c0}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:10px 0}
.card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:14px 16px}
.card .num{display:block;font-size:2rem;font-weight:800;line-height:1.1}
.card .lbl{color:var(--muted);font-size:.9rem}
.scroll{overflow-x:auto;background:var(--card);border:1px solid var(--line);border-radius:8px}
table{border-collapse:collapse;width:100%;min-width:560px}
th,td{padding:9px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top;font-size:.94rem}
th{font-size:.8rem;color:var(--muted);font-weight:700;background:#faf8f2}
th.r,td.r{text-align:right}
tbody tr:last-child td{border-bottom:0}
tfoot th{background:#faf8f2;color:var(--ink);font-size:.94rem}
.pill{display:inline-block;padding:2px 9px;border-radius:99px;font-size:.78rem;font-weight:700;background:#e8e6de;color:#3b4252;white-space:nowrap}
.st-doorgestuurd{background:#dde9fa;color:#123f7a}
.st-gewonnen{background:var(--ok-bg);color:var(--ok-fg)}
.st-verloren,.st-geen_contact{background:#efe9d6;color:#5d4b0f}
.st-niet_toegewezen,.st-betwist{background:var(--bad-bg);color:var(--bad-fg)}
.st-duplicaat,.st-ongeldig,.st-gecrediteerd{background:#e8e6de;color:#3b4252}
.btn{display:inline-block;background:#fff;color:var(--ink);border:1px solid #b9b4a4;border-radius:7px;padding:9px 16px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}
.btn:hover{background:#f0ede3}
.btn.primary{background:var(--honey);border-color:#c99700;color:var(--honey-ink)}
.btn.primary:hover{background:#ffc41f}
.btn.small{padding:4px 10px;font-size:.85rem}
.btn.big{padding:14px 22px;font-size:1.1rem;width:100%;text-align:center}
.stack{display:flex;flex-direction:column;gap:14px}
.stack label,.filters label{display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:.92rem}
input,select,textarea{font:inherit;padding:9px 10px;border:1px solid #b9b4a4;border-radius:6px;background:#fff;color:var(--ink);width:100%}
label.check,label.radio{flex-direction:row;align-items:center;gap:8px;font-weight:500}
label.check input,label.radio input{width:auto}
label.radio{padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;margin-bottom:8px}
fieldset{border:0;padding:0;margin:0}
.sr{position:absolute;left:-9999px}
.hint{font-weight:400;color:var(--muted);font-size:.85rem}
.err{color:var(--bad-fg);font-weight:600;font-size:.88rem}
.form{max-width:600px}
.boxed{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:14px;margin:14px 0}
.filters{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin:10px 0 14px}
.filters label{min-width:150px}
.filters input,.filters select{width:auto;min-width:150px}
.two-col{display:grid;grid-template-columns:1fr;gap:24px}
@media(min-width:800px){.two-col{grid-template-columns:1fr 1fr}}
dl{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0}
dt{color:var(--muted);font-size:.9rem}
dd{margin:0}
.wrap-anywhere{overflow-wrap:anywhere}
.events{padding-left:18px}
.events li{margin:6px 0}
.events time{font-variant-numeric:tabular-nums;color:var(--muted);margin-right:6px}
.pager{display:flex;gap:16px;align-items:center;margin:14px 0}
.actions-cell{white-space:nowrap}
.actions-cell .btn{margin-right:4px}
code{background:#ece9df;padding:1px 5px;border-radius:4px}
.key{font-size:1rem;padding:8px 10px;display:inline-block;word-break:break-all}
pre{background:#ece9df;padding:12px;border-radius:6px;overflow-x:auto}
.foot{padding:28px 16px 36px}
.partnerpagina h1{margin-top:1.5rem}
.partnerpagina dl{margin:1rem 0}
