:root{font-family:"Segoe UI",system-ui,sans-serif;color:#15334e;background:#f2f5f7;line-height:1.5;--navy:#15334e;--muted:#4f6576;--border:#dbe5eb;--blue:#075985;--pale:#e9f4fc;--white:#fff}
*{box-sizing:border-box}
body{margin:0}
[hidden]{display:none!important}
a{color:var(--blue)}
button,select,input{font:inherit}
button,a,select,input,label.upload{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid #217db7;outline-offset:3px}
.wrap{max-width:1360px;width:calc(100% - 64px);margin-inline:auto}
.top{background:var(--white);border-bottom:1px solid var(--border)}
.top-content,.brand,.intro,.side-head,.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}
.top-content{min-height:74px}
.header-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.brand{justify-content:flex-start;gap:10px}
.brand img{border:1px solid var(--border);border-radius:10px}
.brand b,.brand span{display:block}
.brand b{font-size:1rem}.brand span{font-size:.82rem;color:var(--muted)}
.intro{margin-block:26px 20px;align-items:flex-end}
h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.2}
h1{font-size:clamp(1.85rem,4vw,2.7rem);letter-spacing:-.045em}
h2{font-size:1.45rem;letter-spacing:-.025em}
p{color:var(--muted)}
.intro p,.content-head p{margin-top:8px;max-width:77ch}
label{font-size:.85rem;font-weight:600}
select,input[type=search]{display:block;margin-top:5px;padding:9px 12px;border:1px solid #bacbd7;border-radius:8px;color:var(--navy);background:#fff;min-height:42px}
input[type=text],input[type=email],input[type=date]{display:block;max-width:100%;margin-top:5px;padding:9px 12px;border:1px solid #bacbd7;border-radius:8px;color:var(--navy);background:#fff;min-height:42px}
.intro select{min-width:128px}
.quick-search{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:end;gap:10px;margin-bottom:18px;padding:14px 16px;background:var(--white);border:1px solid var(--border);border-radius:12px}
.quick-search input{width:100%}
.quick-search .button{min-height:42px}
.summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:12px;margin-bottom:18px}
.metric,.panel{background:#fff;border:1px solid var(--border);border-radius:12px}
.metric{padding:13px 15px}
.metric span{display:block;font-size:.8rem;color:var(--muted)}
.metric strong{display:block;font-size:1.22rem;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.layout{display:grid;grid-template-columns:minmax(238px,290px) minmax(0,1fr);gap:16px;align-items:start;margin-bottom:35px}
.sidebar{padding:14px;max-height:min(78vh,850px);overflow:auto}
.side-head{margin:2px 0 12px;gap:8px;align-items:baseline}
.side-head h2{font-size:.96rem}
.plain,.crumb{border:0;background:none;color:var(--blue);cursor:pointer;padding:3px 0;font-size:.84rem;text-align:left}
.sidebar details{border-top:1px solid var(--border);padding-block:8px}
.sidebar summary{cursor:pointer;font-weight:700;font-size:.87rem;padding:3px}
.sidebar ul{list-style:none;margin:5px 0 0;padding:0}
.sidebar li button{width:100%;text-align:left;border:0;background:transparent;color:var(--navy);cursor:pointer;border-radius:6px;padding:7px 9px;font-size:.85rem}
.sidebar li button:hover,.sidebar li button[aria-current=true]{background:var(--pale);color:var(--blue)}
.sidebar li button[aria-current=true]{font-weight:700}
.content-head{padding:21px 23px 15px}
#crumbs{display:flex;flex-wrap:wrap;align-items:baseline;gap:7px;color:var(--muted);margin-bottom:8px;font-size:.83rem}
.comparison{margin-top:14px;display:flex;gap:8px 20px;flex-wrap:wrap;background:#f1f7fb;border-radius:8px;padding:10px 12px;font-size:.85rem}
.comparison span strong{display:block;font-variant-numeric:tabular-nums}
.filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,178px);gap:12px;padding:0 23px 14px}
.filters input,.filters select{width:100%}
.filters.one-filter{grid-template-columns:minmax(0,1fr)}
.monthly{border-block:1px solid var(--border)}
.monthly summary{cursor:pointer;padding:11px 23px;color:var(--blue);font-size:.9rem;font-weight:700}
.monthly .month-empty{border-bottom:1px solid var(--border);padding:10px 23px;color:var(--muted);font-size:.84rem}
.source-note{margin:0 23px 16px;padding:14px;border:1px solid var(--border);border-radius:8px}
.source-note h3{font-size:.93rem}
.source-note dl{margin:10px 0;grid-template-columns:1fr auto}
.source-note a{font-size:.86rem}
.list-heading{font-size:.93rem;background:#f4f7f9;padding:10px 23px;color:var(--muted);border-block:1px solid var(--border)}
.records{list-style:none;margin:0;padding:0}
.record{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto 13px;gap:13px;align-items:center;border:0;border-bottom:1px solid var(--border);background:#fff;text-align:left;padding:11px 23px;color:var(--navy);cursor:pointer}
.record:hover{background:#f2f8fc}.record strong,.record small{display:block;overflow-wrap:anywhere}.record small{margin-top:2px;color:var(--muted)}
.selectable-row{display:grid;grid-template-columns:44px minmax(0,1fr);border-bottom:1px solid var(--border)}
.selectable-row .record{border-bottom:0;padding-inline-start:0}
.selection-checkbox{display:grid;place-items:center;cursor:pointer}
.selection-checkbox input{width:17px;height:17px;accent-color:var(--blue);cursor:pointer}
.selection-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;padding:9px 14px;border-block:1px solid var(--border);background:#f4f7f9}
.selection-count{font-size:.84rem;color:var(--muted)}
.selection-status:not(:empty){padding:4px 14px}
#bulk-count{margin-block:14px}
.amount{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.arrow{color:#35769f;font-size:1.25rem}
.empty,.count,.pager{padding:11px 23px}.empty{padding-block:20px}.count{color:var(--muted);font-size:.8rem}
.pager{display:flex;gap:10px;align-items:center;justify-content:flex-end}
.button{display:inline-flex;align-items:center;justify-content:center;padding:7px 11px;border-radius:7px;border:1px solid #c6d6e0;background:var(--pale);color:var(--blue);cursor:pointer;text-decoration:none;font-weight:600;font-size:.83rem}
.button.outline{background:#fff}.button:disabled{opacity:.5;cursor:default}
.button.primary{background:var(--blue);color:#fff;border-color:var(--blue)}
dialog{width:min(640px,calc(100% - 30px));max-height:calc(100dvh - 40px);border:1px solid var(--border);border-radius:12px;color:var(--navy);padding:0;box-shadow:0 14px 50px #14334d35}
dialog::backdrop{background:#132b44a1}.dialog-content{padding:20px}.dialog-heading{align-items:flex-start}.label{font-size:.82rem;margin-bottom:5px}
dl{display:grid;grid-template-columns:minmax(110px,32%) 1fr;gap:5px 12px;margin:18px 0;padding:12px;background:#f2f6f8;border-radius:8px}dt{color:var(--muted);font-size:.84rem}dd{margin:0;overflow-wrap:anywhere;font-size:.88rem}
.proof h3{font-size:1rem}.proof p{font-size:.86rem;margin-top:6px}.proof ul{padding-left:20px;margin:10px 0}.proof li{margin-bottom:5px}.proof a{overflow-wrap:anywhere}
.proof li button{margin-left:8px}.upload{margin-top:10px}#attach{position:absolute;width:1px;height:1px;opacity:0}.proof:focus-within .upload:has(+ input:focus-visible){outline:3px solid #217db7;outline-offset:3px}
#unlinked-dialog .dialog-heading{margin-bottom:10px}
.search-dialog{width:min(850px,calc(100% - 30px))}
.global-filters,.review-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.global-filters{margin-block:16px}
.global-filters .wide{grid-column:1/-1}
.global-filters input,.global-filters select,.review-controls input,.review-controls select{width:100%}
.review{margin-top:14px;padding:12px;background:#f2f6f8;border-radius:8px}
.review-controls{grid-template-columns:minmax(120px,.7fr) minmax(0,1fr) auto;align-items:end}
.review-controls .button{min-height:42px}
.review-meta,.review-feedback{font-size:.8rem}
.review-meta{margin:0 0 8px}
.review-feedback:not(:empty){margin-top:6px}
.dialog-content .proof{margin-top:15px}
.status-tag{display:inline-block;margin-top:5px;padding:1px 7px;border-radius:12px;font-size:.75rem;font-weight:700}
.status-tag.uitzoeken{background:#fef3c7;color:#78350f}
.status-tag.geen-twijfel{background:#dcfce7;color:#14532d}
.status-tag.fout{background:#fee2e2;color:#991b1b}
.review-filters{grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:end}
.review-filters .button{min-height:42px}
.review-statuses{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}
.review-jump.uitzoeken,.review-group-heading.uitzoeken{background:#fef3c7;color:#78350f}
.review-jump.geen-twijfel,.review-group-heading.geen-twijfel{background:#dcfce7;color:#14532d}
.review-jump.fout,.review-group-heading.fout{background:#fee2e2;color:#991b1b}
.review-group{margin-top:14px;border:1px solid var(--border);border-radius:8px}
.review-group-heading{margin:0;padding:10px 14px;border-radius:7px 7px 0 0;font-size:1rem}
.review-list>li{border-bottom:1px solid var(--border)}
.review-list .selectable-row{border-bottom:0}
.review-list .record{border-bottom:0}
.review-context{padding:0 23px 11px;overflow-wrap:anywhere}
.review-context .review-meta{margin:0}
.review-note{white-space:pre-wrap;margin-top:3px;font-size:.88rem}
.review-missing{padding:11px 23px}
.review-missing .review-context{padding:7px 0 0}
.login-log-note{margin-block:12px;font-size:.87rem}
.login-log-actions,.login-log-pager{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.login-log-actions{margin-bottom:12px}
#login-log-feedback{font-size:.84rem}
.login-log-results{overflow-x:auto;border:1px solid var(--border);border-radius:8px}
.login-log-results table{width:100%;min-width:490px;border-collapse:collapse;font-size:.85rem}
.login-log-results th,.login-log-results td{padding:8px 10px;text-align:start;vertical-align:top}
.login-log-results th{background:#f2f6f8}
.login-log-results td{border-top:1px solid var(--border);overflow-wrap:anywhere}
.login-log-results time{font-variant-numeric:tabular-nums}
.login-log-pager{justify-content:flex-end;margin-top:12px}
.login-page{min-height:100dvh;display:grid;place-items:center;padding:24px}
.login-panel{width:min(100%,450px);padding:32px}
.login-org{margin:12px 0 6px;font-size:.85rem}
.login-panel h1{font-size:2rem}
.login-panel form{margin-top:20px}
.login-panel label{display:block;margin:16px 0 12px}
.login-panel input{width:100%}
#login-status:not(:empty){margin-top:12px}
@media(max-width:760px){.wrap{width:calc(100% - 26px)}.layout{grid-template-columns:minmax(0,1fr)}.sidebar{max-height:285px}.intro{gap:10px}.intro select{min-width:85px}.content-head,.record,.empty,.count,.pager,.list-heading{padding-inline:14px}.filters{padding-inline:14px}.top-content{min-height:64px}.record{gap:8px}.brand span{font-size:.72rem}}
@media(max-width:520px){.review-controls,.global-filters{grid-template-columns:minmax(0,1fr)}.review-controls .button{justify-self:start}.top-content{flex-wrap:wrap;padding-block:8px;gap:8px}.header-actions{justify-content:flex-start}.login-panel{padding:22px}}
@media(max-width:390px){.brand img{width:35px;height:35px}.top-content,.brand{gap:7px}.record{font-size:.88rem}.filters{grid-template-columns:1fr}}
@media(max-width:760px){.monthly summary,.monthly .month-empty{padding-inline:14px}.source-note{margin-inline:14px}}
@media(max-width:520px){.quick-search{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.quick-search label{grid-column:1/-1}.review-context,.review-missing{padding-inline:14px}}
