:root{--bg-top:#0F1714;--bg-bottom:#070B0A;--bg-card:rgba(220,240,225,0.05);--bg-card-hover:rgba(220,240,225,0.08);--bg-card-active:rgba(211,165,47,0.08);--bg-input:rgba(0,0,0,0.32);--bg-elevated:rgba(220,240,225,0.08);--text:#E9EAE8;--text-strong:#F4F4F4;--text-muted:#B5ADA0;--text-label:#8A8378;--text-dim:#6E6760;--line:rgba(255,250,240,0.07);--line-soft:rgba(255,250,240,0.04);--line-strong:rgba(255,250,240,0.13);--gold:#D3A52F;--gold-bright:#E9C873;--gold-deep:#B5891F;--gold-tint:rgba(211,165,47,0.10);--gold-tint-strong:rgba(211,165,47,0.16);--gold-glow:rgba(233,200,115,0.28);--danger:#E07A5F;--danger-bright:#ED9079;--danger-tint:rgba(224,122,95,0.10);--danger-border:rgba(224,122,95,0.25);--danger-glow:rgba(224,122,95,0.25);--success:#8FB17A;--success-bright:#A8C896;--success-tint:rgba(143,177,122,0.12);--success-glow:rgba(143,177,122,0.3);--accent-green:#6FCF97;--accent-green-tint:rgba(111,207,151,0.12);--radius-sm:8px;--radius:14px;--shadow-sm:0 1px 2px rgba(0,0,0,0.2);--shadow:0 4px 16px rgba(0,0,0,0.25),0 1px 3px rgba(0,0,0,0.15);--shadow-lg:0 12px 32px rgba(0,0,0,0.35),0 2px 6px rgba(0,0,0,0.2);--shadow-gold:0 0 0 1px var(--gold),0 0 32px var(--gold-glow),0 12px 40px rgba(0,0,0,0.4);--shadow-danger:0 0 0 1px var(--danger),0 0 32px var(--danger-glow),0 12px 40px rgba(0,0,0,0.4);--font-mono:'JetBrains Mono',ui-monospace,monospace;--font-sans:'Manrope',system-ui,sans-serif}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font-sans);background:linear-gradient(180deg,var(--bg-top) 0%,var(--bg-bottom) 100%);background-attachment:fixed;color:var(--text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-0.005em;font-feature-settings:'ss01','cv11','tnum';min-height:100vh}
body::before{content:'';position:fixed;inset:-30%;pointer-events:none;z-index:1;background:radial-gradient(ellipse 75% 55% at 50% 15%,rgba(34,96,64,0.22),rgba(18,58,40,0.08) 44%,transparent 70%);filter:blur(10px);will-change:transform;animation:glowDrift 28s ease-in-out infinite alternate}
body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:1;opacity:0.35;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' /><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05 0' /></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");mix-blend-mode:overlay}
.wrap{max-width:1320px;margin:0 auto;padding:0 40px;position:relative;z-index:2}
.mockup-notice{position:fixed;top:16px;left:50%;transform:translateX(-50%);background:rgba(31,38,34,0.95);border:1px solid var(--gold);border-radius:999px;padding:8px 16px;font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--gold);z-index:50;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
header{padding:32px 0 24px;border-bottom:1px solid var(--line);margin-bottom:64px}
.header-inner{display:flex;justify-content:space-between;align-items:center;gap:32px}
.brand{display:flex;align-items:center;gap:16px}
.brand-logo-link{display:inline-flex;align-items:center;cursor:pointer}
.brand-logo{height:38px;width:auto;display:block}
.brand-divider{width:1px;height:28px;background:var(--line-strong)}
.brand-context{display:flex;flex-direction:column;gap:6px}
.context-label{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:0.18em;color:var(--text-label);text-transform:uppercase;line-height:1}
.context-value{font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:0.04em;color:var(--text-strong);line-height:1}
.header-meta{display:flex;align-items:center;gap:12px}
.meta-pill{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:0.1em;color:var(--text-muted);text-transform:uppercase;line-height:1;padding:10px 16px;background:var(--bg-elevated);border:1px solid var(--line);border-radius:999px}
.live-dot{width:7px;height:7px;border-radius:50%;background:var(--accent-green);animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(143,177,122,0.5)}50%{box-shadow:0 0 0 6px rgba(143,177,122,0)}}
.refresh-btn{background:var(--bg-elevated);border:1px solid var(--line);padding:10px 16px;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:0.1em;color:var(--text-muted);text-transform:uppercase;cursor:pointer;transition:all 0.18s ease;line-height:1;display:flex;align-items:center;gap:9px;border-radius:999px}
.refresh-btn:hover{border-color:var(--gold);color:var(--gold);background:var(--gold-tint)}
.refresh-btn svg{width:12px;height:12px}
/* Tool-tabs in de brand (naast "Platform Beheer"): wisselt Retentie <-> 3CX.
   Compacte segmented-control, op gelijke hoogte (~33px) als de .meta-pill rechts. */
.header-tabs{display:inline-flex;gap:4px;background:var(--bg-elevated);border:1px solid var(--line);border-radius:999px;padding:2px}
.header-tab{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;border:1px solid transparent;background:transparent;color:var(--text-muted);font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:all 0.18s ease;line-height:1;white-space:nowrap}
.header-tab svg{width:12px;height:12px}
.header-tab:hover:not(.is-active){color:var(--text-strong);background:rgba(212,175,85,0.06)}
.header-tab.is-active{background:var(--gold);color:#1a1a1a;border-color:var(--gold-deep)}
.page-header{display:grid;grid-template-columns:1fr auto;gap:80px;align-items:end;margin-bottom:56px}
.page-header>div{align-self:start}
.page-eyebrow{font-family:var(--font-mono);font-size:11.5px;font-weight:600;letter-spacing:0.22em;color:var(--gold);text-transform:uppercase;margin-bottom:18px;line-height:1;display:flex;align-items:center;gap:12px}
.page-eyebrow::before{content:'';width:28px;height:1.5px;background:var(--gold)}
.page-title{font-family:var(--font-sans);font-weight:300;font-size:52px;line-height:1.05;letter-spacing:-0.025em;color:var(--text-strong)}
.page-title strong{font-weight:600}
.page-description{color:var(--text-muted);font-size:14.5px;max-width:320px;line-height:1.6;font-weight:400}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:64px}
.stat{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);padding:24px 26px;box-shadow:var(--shadow-sm);position:relative;transition:all 0.2s ease}
.stat:hover{background:var(--bg-card-hover);border-color:var(--line-strong)}
.stat.primary{background:linear-gradient(180deg,var(--gold-tint-strong) 0%,var(--gold-tint) 100%);border-color:rgba(212,175,85,0.28)}
.stat-label{font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:0.18em;color:var(--text-label);text-transform:uppercase;margin-bottom:16px;line-height:1}
.stat.primary .stat-label{color:var(--gold)}
.stat-value{font-family:var(--font-mono);font-weight:500;font-size:42px;line-height:1;letter-spacing:-0.03em;color:var(--text-strong);font-variant-numeric:tabular-nums;margin-bottom:12px;transition:transform 0.4s cubic-bezier(0.4,0,0.2,1)}
.stat-value.bumped{animation:bump 0.5s ease}
@keyframes bump{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
.stat-detail{font-family:var(--font-mono);font-size:11.5px;font-weight:500;letter-spacing:0.04em;color:var(--text-muted);line-height:1.4}
.filter-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;gap:24px;flex-wrap:wrap}
.section-title{font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:0.18em;color:var(--text-muted);text-transform:uppercase;line-height:1;display:flex;align-items:center;gap:14px}
.section-title::before{content:'';width:20px;height:1.5px;background:var(--text-label)}
.filter-options{display:flex;gap:4px;background:var(--bg-elevated);border:1px solid var(--line);border-radius:999px;padding:4px}
.filter-btn{background:transparent;border:none;padding:10px 18px;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:0.1em;color:var(--text-muted);text-transform:uppercase;cursor:pointer;transition:all 0.18s ease;line-height:1;border-radius:999px;display:flex;align-items:center;gap:8px}
.filter-btn.active{background:var(--text-strong);color:var(--bg-bottom)}
.filter-btn:hover:not(.active){color:var(--text-strong);background:rgba(255,250,240,0.06)}
.filter-btn .count{font-size:10.5px;opacity:0.6;font-weight:700}
.filter-btn.active .count{opacity:0.7}
.queue{display:flex;flex-direction:column;gap:14px;margin-bottom:80px;min-height:200px}
.card{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);transition:all 0.3s cubic-bezier(0.4,0,0.2,1);position:relative;box-shadow:var(--shadow);overflow:hidden;opacity:0;transform:translateY(8px);animation:cardEnter 0.5s ease forwards}
@keyframes cardEnter{to{opacity:1;transform:translateY(0)}}
.card.removing{animation:cardRemove 0.55s cubic-bezier(0.4,0,0.2,1) forwards}
@keyframes cardRemove{0%{opacity:1;transform:translateX(0) scale(1);max-height:800px;margin-bottom:14px}50%{opacity:0;transform:translateX(60px) scale(0.96)}100%{opacity:0;transform:translateX(60px) scale(0.96);max-height:0;margin-bottom:0;padding:0;border-width:0}}
.card.hidden-by-filter{display:none !important}
.card:hover:not(.confirming-toewijzen):not(.confirming-afwijzen):not(.removing){background:var(--bg-card-hover);border-color:var(--line-strong);box-shadow:var(--shadow-lg);transform:translateY(-1px)}
.card.confirming-toewijzen{background:var(--bg-card-active);box-shadow:var(--shadow-gold);border-color:transparent}
.card.confirming-afwijzen{background:rgba(224,122,95,0.05);box-shadow:var(--shadow-danger);border-color:transparent}
.card-grid{display:grid;grid-template-columns:minmax(280px,1.1fr) minmax(280px,1fr) 300px;gap:44px;padding:28px 32px;align-items:start}
.col-identity{display:flex;flex-direction:column}
.reden-tag-row{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.reden-tag{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--gold-bright);padding:7px 13px;background:var(--gold-tint);border:1px solid rgba(212,175,85,0.28);align-self:flex-start;line-height:1;border-radius:999px}
.reden-tag.dedup{color:var(--danger-bright);background:var(--danger-tint);border-color:var(--danger-border)}
.reden-tag.geen-pers{color:#A89BD9;background:rgba(160,148,217,0.10);border-color:rgba(160,148,217,0.28)}
.reden-tag.onbekend{color:#9DC97A;background:rgba(157,201,122,0.10);border-color:rgba(157,201,122,0.28)}
.reden-tag::before{content:'';width:6px;height:6px;background:currentColor;border-radius:50%}
.time-indicator{font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:0.1em;color:var(--text-dim);text-transform:uppercase;line-height:1}
.time-indicator.urgent{color:var(--danger-bright)}
.company-name{font-family:var(--font-sans);font-weight:600;font-size:19.5px;line-height:1.3;letter-spacing:-0.014em;color:var(--text-strong);margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;word-break:break-word}
.contact-line{font-family:var(--font-mono);font-size:12.5px;font-weight:500;color:var(--text-muted);line-height:1.5}
.contact-line .sep{color:var(--text-dim);margin:0 10px}
.col-meta{display:grid;grid-template-columns:1fr 1fr;gap:22px 36px}
.meta-block{display:flex;flex-direction:column;gap:8px}
.meta-block-label{font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:var(--text-label);line-height:1}
.meta-block-value{font-family:var(--font-mono);font-size:14px;font-weight:600;color:var(--text-strong);line-height:1;font-variant-numeric:tabular-nums}
.meta-block-value.muted{color:var(--text-muted);font-weight:500}
.col-actions{display:flex;flex-direction:column;gap:10px;transition:opacity 0.25s ease}
.agent-select-wrap{position:relative}
.agent-select{width:100%;background:var(--bg-input);border:1px solid var(--line-strong);padding:14px 40px 14px 16px;font-family:var(--font-sans);font-size:13.5px;font-weight:600;color:var(--text-strong);cursor:pointer;appearance:none;line-height:1;transition:all 0.18s ease;border-radius:var(--radius-sm)}
.agent-select:hover,.agent-select:focus{border-color:var(--gold);outline:none;background:rgba(212,175,85,0.05)}
.agent-select option{background:var(--bg-bottom);color:var(--text)}
.agent-select.has-value{border-color:var(--gold);background:rgba(212,175,85,0.05)}
.select-arrow{position:absolute;right:16px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--text-muted);width:13px;height:13px}
.actions-row{display:grid;grid-template-columns:1.6fr 1fr;gap:8px}
.btn{font-family:var(--font-sans);font-size:13px;font-weight:700;letter-spacing:0.01em;cursor:pointer;transition:all 0.18s ease;text-align:center;padding:14px 16px;line-height:1;border:1px solid;border-radius:var(--radius-sm)}
.btn-primary{background:linear-gradient(180deg,var(--gold-bright) 0%,var(--gold) 100%);color:var(--bg-bottom);border-color:var(--gold-deep);box-shadow:0 1px 0 rgba(255,255,255,0.18) inset}
.btn-primary:hover:not(:disabled){background:linear-gradient(180deg,#F0CE7E 0%,var(--gold-bright) 100%);box-shadow:0 0 24px var(--gold-glow),0 1px 0 rgba(255,255,255,0.25) inset;transform:translateY(-1px)}
.btn-primary:disabled{background:linear-gradient(180deg,rgba(212,175,85,0.3) 0%,rgba(168,132,47,0.3) 100%);color:rgba(0,0,0,0.4);border-color:rgba(168,132,47,0.3);cursor:not-allowed;transform:none;box-shadow:none}
.btn-secondary{background:var(--bg-input);color:var(--text-muted);border-color:var(--line-strong)}
.btn-secondary:hover{color:var(--danger-bright);border-color:var(--danger);background:var(--danger-tint)}
.btn-danger{background:var(--danger-tint);color:var(--danger-bright);border-color:var(--danger)}
.btn-danger:hover:not(:disabled){background:rgba(224,122,95,0.18);color:#fff;box-shadow:0 0 24px var(--danger-glow);transform:translateY(-1px)}
.btn-danger:disabled{background:var(--bg-input);color:var(--text-dim);border-color:var(--line-strong);cursor:not-allowed;transform:none;box-shadow:none}
.btn-ghost{background:transparent;color:var(--text-muted);border-color:var(--line-strong)}
.btn-ghost:hover{color:var(--text-strong);background:rgba(255,250,240,0.04)}
.detail-panel{border-top:1px solid var(--line-soft);padding:20px 32px 24px;background:rgba(224,122,95,0.05);display:flex;align-items:flex-start;gap:14px}
.detail-panel-onbekend{background:rgba(157,201,122,0.05)}
.detail-panel-onbekend .detail-icon{color:#9DC97A}
.detail-panel-geen-pers{background:rgba(160,148,217,0.05)}
.detail-panel-geen-pers .detail-icon{color:#A89BD9}
.detail-icon{flex-shrink:0;width:16px;height:16px;color:var(--danger-bright);margin-top:2px}
.detail-text{font-family:var(--font-sans);font-size:14px;font-weight:500;color:var(--text);line-height:1.65}
.detail-text strong{color:var(--text-strong);font-weight:700}
.detail-text .mono{font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--text-strong);background:var(--bg-input);padding:3px 8px;border-radius:5px;border:1px solid var(--line)}
.detail-text .judge{display:block;margin-top:14px;padding-top:14px;border-top:1px dashed rgba(224,122,95,0.2);color:var(--text-muted);font-size:13.5px}
.detail-text .judge strong{color:var(--gold-bright)}
.confirmation-panel{display:none;padding:28px 32px;border-top:1px solid var(--line-soft);background:rgba(212,175,85,0.04);animation:slideDown 0.35s cubic-bezier(0.4,0,0.2,1)}
.card.confirming-toewijzen .col-actions,.card.confirming-afwijzen .col-actions{opacity:0.35;pointer-events:none}
.card.confirming-toewijzen .confirmation-panel.toewijzen,.card.confirming-afwijzen .confirmation-panel.afwijzen{display:block}
.card.confirming-afwijzen .confirmation-panel.afwijzen{background:rgba(224,122,95,0.05)}
@keyframes slideDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
.confirm-header{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.confirm-icon{width:32px;height:32px;border-radius:999px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.confirm-icon.gold{background:var(--gold-tint-strong);color:var(--gold-bright)}
.confirm-icon.danger{background:var(--danger-tint);color:var(--danger-bright)}
.confirm-icon svg{width:16px;height:16px}
.confirm-question{font-family:var(--font-sans);font-size:16px;font-weight:600;color:var(--text-strong);line-height:1.4}
.confirm-question .highlight{color:var(--gold-bright)}
.confirm-question.danger .highlight{color:var(--danger-bright)}
.confirm-detail{font-family:var(--font-sans);font-size:13.5px;color:var(--text-muted);line-height:1.55;margin-bottom:20px;margin-left:44px}
.confirm-textarea-wrap{margin-left:44px;margin-bottom:18px}
.confirm-textarea-label{font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:var(--text-label);margin-bottom:8px;display:flex;align-items:center;gap:6px}
.confirm-textarea-label .required{color:var(--danger-bright)}
.confirm-textarea{width:100%;background:var(--bg-input);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:12px 14px;font-family:var(--font-sans);font-size:13.5px;color:var(--text-strong);resize:vertical;min-height:78px;line-height:1.5;transition:border-color 0.18s ease}
.confirm-textarea:focus{outline:none;border-color:var(--danger);background:rgba(224,122,95,0.04)}
.confirm-textarea::placeholder{color:var(--text-dim)}
.confirm-char-count{font-family:var(--font-mono);font-size:10.5px;font-weight:500;color:var(--text-dim);text-align:right;margin-top:6px;letter-spacing:0.04em}
.confirm-char-count.valid{color:var(--success-bright)}
.confirm-actions{display:flex;gap:10px;margin-left:44px}
.confirm-actions .btn{flex:0 0 auto;min-width:140px}
.confirm-actions .btn-cancel{margin-right:auto}
.empty-state{display:none;margin-top:24px;padding:80px 40px;background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);text-align:center;box-shadow:var(--shadow-sm);animation:fadeIn 0.5s ease}
.empty-state.visible{display:block}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.empty-icon{width:64px;height:64px;margin:0 auto 24px;border-radius:999px;background:var(--gold-tint);border:1px solid rgba(212,175,85,0.22);display:flex;align-items:center;justify-content:center;color:var(--gold-bright)}
.empty-icon svg{width:26px;height:26px}
.empty-title{font-family:var(--font-sans);font-weight:300;font-size:28px;line-height:1.2;letter-spacing:-0.02em;color:var(--text-strong);margin-bottom:10px}
.empty-title strong{font-weight:600}
.empty-description{font-family:var(--font-sans);font-size:14.5px;color:var(--text-muted);line-height:1.6;max-width:380px;margin:0 auto}
.toast-container{position:fixed;bottom:32px;right:32px;z-index:100;display:flex;flex-direction:column;gap:12px;max-width:400px;pointer-events:none}
.toast{background:linear-gradient(180deg,rgba(31,38,34,0.98) 0%,rgba(19,24,26,0.98) 100%);border:1px solid var(--success);border-radius:var(--radius);padding:16px 20px;box-shadow:0 0 0 1px var(--success-glow),0 12px 40px rgba(0,0,0,0.5);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);display:flex;align-items:flex-start;gap:14px;min-width:320px;animation:toastSlideIn 0.4s cubic-bezier(0.4,0,0.2,1);pointer-events:auto}
.toast.danger{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger-glow),0 12px 40px rgba(0,0,0,0.5)}
.toast.removing{animation:toastSlideOut 0.4s cubic-bezier(0.4,0,0.2,1) forwards}
@keyframes toastSlideIn{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}
@keyframes toastSlideOut{to{opacity:0;transform:translateX(40px);max-height:0;padding-top:0;padding-bottom:0;margin-top:0}}
.toast-icon{width:24px;height:24px;border-radius:999px;background:var(--success-tint);color:var(--success-bright);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.toast.danger .toast-icon{background:var(--danger-tint);color:var(--danger-bright)}
.toast-icon svg{width:14px;height:14px}
.toast-content{flex:1;min-width:0}
.toast-title{font-family:var(--font-sans);font-size:13.5px;font-weight:700;color:var(--text-strong);line-height:1.3;margin-bottom:4px}
.toast-message{font-family:var(--font-sans);font-size:12.5px;color:var(--text-muted);line-height:1.5}
.toast-close{background:transparent;border:none;color:var(--text-dim);cursor:pointer;padding:0;width:16px;height:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color 0.15s ease}
.toast-close:hover{color:var(--text-strong)}
.toast-close svg{width:14px;height:14px}
.footer{border-top:1px solid var(--line);padding:32px 0 40px;display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:0.13em;color:var(--text-label);text-transform:uppercase}
.footer span{line-height:1}
@media(max-width:1100px){.card-grid{grid-template-columns:1fr;gap:28px}.col-actions{border-top:1px solid var(--line-soft);padding-top:22px}.stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.wrap{padding:0 20px}.page-header{grid-template-columns:1fr;gap:24px}.page-title{font-size:38px}.col-meta{grid-template-columns:1fr;gap:18px}.header-meta{gap:10px;flex-wrap:wrap}.confirm-detail,.confirm-actions,.confirm-textarea-wrap{margin-left:0}.toast-container{left:16px;right:16px}.toast{min-width:0}}
/* === MODAL === */
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,0.65);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:200;display:none;align-items:flex-start;justify-content:center;padding:48px 24px;overflow-y:auto;animation:fadeIn 0.25s ease}
.modal-backdrop.visible{display:flex}
.modal{background:linear-gradient(180deg,rgba(31,38,34,0.98) 0%,rgba(19,24,26,0.98) 100%);border:1px solid var(--line-strong);border-radius:var(--radius);width:100%;max-width:880px;box-shadow:0 24px 64px rgba(0,0,0,0.5),0 0 0 1px rgba(255,255,255,0.04);position:relative;overflow:hidden;animation:modalIn 0.3s cubic-bezier(0.4,0,0.2,1)}
@keyframes modalIn{from{opacity:0;transform:translateY(20px) scale(0.97)}to{opacity:1;transform:translateY(0) scale(1)}}
.modal-header{padding:28px 32px 20px;border-bottom:1px solid var(--line);position:relative}
.modal-eyebrow{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:0.22em;color:var(--gold);text-transform:uppercase;margin-bottom:14px;line-height:1;display:flex;align-items:center;gap:12px}
.modal-eyebrow::before{content:'';width:24px;height:1.5px;background:var(--gold)}
.modal-title{font-family:var(--font-sans);font-weight:300;font-size:30px;line-height:1.1;letter-spacing:-0.02em;color:var(--text-strong)}
.modal-title strong{font-weight:600}
.modal-close{position:absolute;top:24px;right:24px;width:36px;height:36px;border-radius:999px;background:var(--bg-elevated);border:1px solid var(--line);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.18s ease}
.modal-close:hover{color:var(--text-strong);border-color:var(--line-strong);background:rgba(255,250,240,0.08)}
.modal-close svg{width:14px;height:14px}
.modal-tabs{display:flex;gap:0;padding:0 32px;border-bottom:1px solid var(--line);background:rgba(0,0,0,0.15)}
.modal-tab{background:transparent;border:none;padding:16px 20px;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:0.13em;color:var(--text-muted);text-transform:uppercase;cursor:pointer;transition:all 0.18s ease;line-height:1;display:flex;align-items:center;gap:10px;border-bottom:2px solid transparent;margin-bottom:-1px}
.modal-tab.active{color:var(--gold);border-bottom-color:var(--gold)}
.modal-tab:hover:not(.active){color:var(--text-strong)}
.modal-tab .count{font-size:10.5px;opacity:0.6;font-weight:700;font-variant-numeric:tabular-nums}
.modal-tab.active .count{opacity:1}
.modal-toolbar{padding:18px 32px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:16px;flex-wrap:wrap}
.modal-toolbar-label{font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:0.18em;color:var(--text-label);text-transform:uppercase}
.date-filter{display:flex;gap:4px;background:var(--bg-elevated);border:1px solid var(--line);border-radius:999px;padding:3px}
.date-filter-btn{background:transparent;border:none;padding:8px 14px;font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:0.1em;color:var(--text-muted);text-transform:uppercase;cursor:pointer;transition:all 0.18s ease;line-height:1;border-radius:999px}
.date-filter-btn.active{background:var(--text-strong);color:var(--bg-bottom)}
.date-filter-btn:hover:not(.active){color:var(--text-strong)}
.modal-body{padding:8px 0;max-height:calc(100vh - 280px);overflow-y:auto}
.modal-body::-webkit-scrollbar{width:8px}
.modal-body::-webkit-scrollbar-track{background:transparent}
.modal-body::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:4px}
.modal-body::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}
.history-item{padding:18px 32px;border-bottom:1px solid var(--line-soft);display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:start;transition:background 0.15s ease}
.history-item:hover{background:rgba(255,250,240,0.03)}
.history-item:last-child{border-bottom:none}
.history-icon{width:32px;height:32px;border-radius:999px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}
.history-icon.success{background:var(--success-tint);color:var(--success-bright)}
.history-icon.danger{background:var(--danger-tint);color:var(--danger-bright)}
.history-icon svg{width:14px;height:14px}
.history-content{min-width:0}
.history-bedrijf{font-family:var(--font-sans);font-size:15px;font-weight:600;color:var(--text-strong);margin-bottom:4px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.history-meta{font-family:var(--font-mono);font-size:11.5px;font-weight:500;color:var(--text-muted);line-height:1.5}
.history-meta .sep{color:var(--text-dim);margin:0 8px}
.history-meta .agent-name{color:var(--gold-bright);font-weight:600}
.history-meta .door-name{color:var(--text);font-weight:600;font-style:italic}
.history-reason{margin-top:8px;padding:10px 12px;background:var(--bg-input);border-radius:var(--radius-sm);border:1px solid var(--line);font-family:var(--font-sans);font-size:13px;color:var(--text);line-height:1.5;font-weight:500}
.history-reason::before{content:'Reden: ';font-family:var(--font-mono);font-size:9.5px;font-weight:600;letter-spacing:0.15em;color:var(--danger-bright);text-transform:uppercase;display:block;margin-bottom:6px}
.history-time{font-family:var(--font-mono);font-size:11px;font-weight:500;color:var(--text-dim);text-align:right;flex-shrink:0;line-height:1;letter-spacing:0.04em;padding-top:10px}
.history-empty{padding:64px 32px;text-align:center}
.history-empty-text{font-family:var(--font-sans);font-size:14px;color:var(--text-muted);line-height:1.5}
.stat.clickable{cursor:pointer}
.stat.clickable:hover{background:var(--bg-card-hover);border-color:var(--line-strong);transform:translateY(-1px)}
.stat.primary.clickable:hover{background:linear-gradient(180deg,rgba(212,175,85,0.22) 0%,rgba(212,175,85,0.14) 100%)}
.stat.clickable .stat-label::after{content:' →';opacity:0;transition:opacity 0.18s ease;font-family:var(--font-sans);margin-left:4px;font-weight:700}
.stat.clickable:hover .stat-label::after{opacity:0.6}
@media(max-width:720px){.modal-backdrop{padding:24px 12px}.modal-tabs{padding:0 16px;overflow-x:auto}.modal-tab{padding:14px 14px;flex-shrink:0}.modal-toolbar{padding:14px 16px}.history-item{padding:16px;grid-template-columns:auto 1fr;gap:12px}.history-time{grid-column:1 / -1;text-align:left;padding-top:0;padding-left:44px}}
.dev-banner{background:linear-gradient(180deg,rgba(212,175,85,0.12) 0%,rgba(212,175,85,0.06) 100%);border:1px solid rgba(212,175,85,0.3);border-radius:var(--radius);padding:14px 20px;margin-bottom:32px;display:flex;align-items:center;gap:14px;font-family:var(--font-sans);font-size:13.5px;color:var(--text-strong);line-height:1.5}
.dev-banner-icon{width:28px;height:28px;border-radius:999px;background:var(--gold-tint-strong);color:var(--gold-bright);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.dev-banner-icon svg{width:14px;height:14px}
.dev-banner strong{color:var(--gold-bright);font-weight:700}
/* === CUSTOM DROPDOWN === */
.dd-wrap{position:relative;width:100%}
.dd-trigger{width:100%;background:var(--bg-input);border:1px solid var(--line-strong);padding:14px 40px 14px 16px;font-family:var(--font-sans);font-size:13.5px;font-weight:600;color:var(--text-strong);cursor:pointer;line-height:1;transition:all 0.18s ease;border-radius:var(--radius-sm);text-align:left;display:flex;align-items:center;gap:8px;position:relative}
.dd-trigger:hover,.dd-trigger:focus,.dd-wrap.open .dd-trigger{border-color:var(--gold);outline:none;background:rgba(212,175,85,0.05)}
.dd-wrap.has-value .dd-trigger{border-color:var(--gold);background:rgba(212,175,85,0.05)}
.dd-trigger-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dd-trigger-placeholder{color:var(--text-muted);font-weight:500}
.dd-trigger-arrow{position:absolute;right:16px;top:50%;transform:translateY(-50%);color:var(--text-muted);width:13px;height:13px;transition:transform 0.2s ease}
.dd-wrap.open .dd-trigger-arrow{transform:translateY(-50%) rotate(180deg);color:var(--gold)}
.dd-menu-portal{position:fixed;z-index:9999;background:linear-gradient(180deg,rgba(31,38,34,0.98) 0%,rgba(19,24,26,0.98) 100%);border:1px solid var(--line-strong);border-radius:var(--radius-sm);box-shadow:0 12px 40px rgba(0,0,0,0.5),0 0 0 1px rgba(212,175,85,0.15);max-height:280px;overflow-y:auto;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:6px}
.dd-menu-portal.open-down{animation:ddSlideDown 0.18s cubic-bezier(0.4,0,0.2,1)}
.dd-menu-portal.open-up{animation:ddSlideUp 0.18s cubic-bezier(0.4,0,0.2,1)}
.dd-menu-portal::-webkit-scrollbar{width:6px}
.dd-menu-portal::-webkit-scrollbar-track{background:transparent}
.dd-menu-portal::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:3px}
.dd-menu-portal::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}
@keyframes ddSlideDown{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@keyframes ddSlideUp{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.dd-wrap.open .dd-menu{display:block}
.dd-option{padding:11px 14px;font-family:var(--font-sans);font-size:13.5px;font-weight:500;color:var(--text);cursor:pointer;border-radius:6px;transition:all 0.12s ease;line-height:1.3;display:flex;align-items:center;gap:8px}
.dd-option:hover{background:var(--gold-tint);color:var(--gold-bright)}
.dd-option.selected{background:var(--gold-tint-strong);color:var(--gold-bright);font-weight:600}
.dd-option.selected::before{content:'';width:5px;height:5px;background:var(--gold-bright);border-radius:50%;flex-shrink:0}
.dd-option.placeholder-opt{color:var(--text-muted);font-style:italic;font-weight:500}
.dd-option.placeholder-opt::before{display:none}
.botlog-btn{display:inline-flex;align-items:center;gap:8px;background:transparent;border:1px solid var(--line-strong);color:var(--text-strong);font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:0.13em;text-transform:uppercase;padding:9px 16px;border-radius:999px;cursor:pointer;text-decoration:none;transition:all 0.18s ease;line-height:1}
.botlog-btn:hover{border-color:var(--gold);color:var(--gold-bright);background:rgba(212,175,85,0.06)}
.botlog-btn svg{width:13px;height:13px}
.user-menu{position:relative;display:inline-block}
.user-pill{cursor:pointer;border:1px solid var(--line);background:var(--bg-elevated);font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:0.1em;color:var(--text-strong);text-transform:uppercase;padding:10px 16px;border-radius:999px;display:flex;align-items:center;gap:10px;line-height:1;transition:all 0.18s ease}
.user-pill:hover{border-color:var(--gold);color:var(--gold-bright)}
.user-pill .live-dot{width:7px;height:7px;border-radius:50%;background:var(--success-bright);box-shadow:0 0 8px var(--success-bright)}
.user-pill-arrow{width:11px;height:11px;margin-left:2px;transition:transform 0.18s ease}
.user-menu.open .user-pill-arrow{transform:rotate(180deg)}
.user-menu.open .user-pill{cursor:pointer;border:1px solid var(--line);background:var(--bg-elevated);font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:0.1em;color:var(--text-strong);text-transform:uppercase;padding:10px 16px;border-radius:999px;display:flex;align-items:center;gap:10px;line-height:1;transition:all 0.18s ease}
.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:240px;background:linear-gradient(var(--bg-elevated),var(--bg-elevated)),var(--bg-top);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:0 24px 48px -12px rgba(0,0,0,0.7);overflow:hidden;opacity:0;visibility:hidden;transform:translateY(-4px);transition:all 0.18s ease;z-index:1000}
.user-menu.open .user-dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.user-dropdown-info{padding:16px 20px;border-bottom:1px solid var(--line-soft)}
.user-dropdown-name{font-family:var(--font-sans);font-size:15px;font-weight:600;color:var(--text-strong);line-height:1.2;margin-bottom:4px}
.user-dropdown-username{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);letter-spacing:0.08em}
.user-dropdown-action{display:flex;align-items:center;gap:10px;padding:14px 20px;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:0.16em;color:var(--text-strong);text-transform:uppercase;text-decoration:none;transition:all 0.15s ease;cursor:pointer;background:transparent;border:none;width:100%;text-align:left}
.user-dropdown-action:hover{background:rgba(212,175,85,0.08);color:var(--gold-bright)}
.user-dropdown-action svg{width:14px;height:14px}
/* Geblokkeerde agent - oranje styling */
.tag.geblokkeerd{background:rgba(255,140,40,0.12);color:#ff8c28;border-color:rgba(255,140,40,0.4)}
.detail-panel-geblokkeerd{background:rgba(255,140,40,0.08);border-color:rgba(255,140,40,0.35)}
.detail-panel-geblokkeerd .detail-icon{color:#ff8c28}
.detail-panel-geblokkeerd strong{color:#ff8c28}
.filter-btn[data-filter="geblokkeerde_agent"].active{border-color:rgba(255,140,40,0.5);color:#ff8c28}
.filter-btn[data-filter="geblokkeerde_agent"].active .count{background:rgba(255,140,40,0.18);color:#ff8c28}
.nav-group{display:inline-flex;align-items:stretch;background:var(--bg-elevated);border:1px solid var(--line);border-radius:999px;padding:3px;gap:2px}
.nav-group .botlog-btn{border:1px solid transparent;background:transparent;padding:7px 14px}
.nav-group .botlog-btn:hover{border-color:transparent;background:rgba(212,175,85,0.08);color:var(--gold-bright)}
.nav-group .botlog-btn.is-active{background:var(--gold);color:#1a1a1a;border-color:var(--gold)}
.nav-group .botlog-btn.is-active:hover{background:var(--gold-bright);color:#1a1a1a;border-color:var(--gold-bright)}

/* === Gedeelde content-container: uniforme breedte (via .wrap) + verticaal ritme === */
.page-main{padding:32px 0 64px}
/* Zichtbare variant van de gedeelde empty-state (bv. stub-pagina's); de
   dashboard-empty-state blijft display:none tot JS 'm toont. */
.empty-state.is-visible{display:block;margin-top:0}

/* === Twee-niveau navigatie: versie-schakelaar + submenu (Doel B) === */
.nav-shell{display:flex;flex-direction:column;gap:14px;margin-bottom:8px}
.nav-switch{display:inline-flex;gap:4px;background:var(--bg-elevated);border:1px solid var(--line);border-radius:999px;padding:4px;align-self:flex-start}
.nav-switch-btn{display:inline-flex;align-items:center;gap:9px;padding:9px 18px;border-radius:999px;border:1px solid transparent;background:transparent;color:var(--text-muted);font-family:var(--font-mono);font-size:11.5px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:all 0.18s ease;line-height:1}
.nav-switch-btn svg{width:15px;height:15px}
.nav-switch-btn:hover:not(.is-active){color:var(--text-strong);background:rgba(212,175,85,0.06)}
.nav-switch-btn.is-active{background:var(--gold);color:#1a1a1a;border-color:var(--gold-deep)}
.nav-sub{display:inline-flex;align-self:flex-start}
.nav-row{position:relative}
.nav-rechts{position:absolute;top:0;right:0}
@media(max-width:900px){.nav-rechts{position:static;margin-top:18px}}

/* === Select Partner: driftende groene glow === */
@keyframes glowDrift{0%{transform:translate3d(-20%,-3%,0) scale(1.05)}100%{transform:translate3d(20%,3%,0) scale(1.18)}}
@media (prefers-reduced-motion: reduce){body::before{animation:none;transform:translate3d(0,0,0) scale(1.08);opacity:0.85}}
