
:root{--deep:#082617;--green:#173f35;--green2:#23564a;--gold:#b48a3c;--gold-soft:#f5eddd;--cream:#f7f6f1;--paper:#fff;--ink:#17231f;--muted:#68756f;--line:#dde4df;--red:#a8443b;--blue:#34728c;--shadow:0 12px 32px rgba(8,38,23,.08);--portal-header-height:280px}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--cream);color:var(--ink);font-family:Inter,Arial,sans-serif}button,input,select{font:inherit}button,a{transition:.18s ease}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(180,138,60,.35);outline-offset:2px}a{text-decoration:none;color:inherit}
.entry-page{min-height:100vh;background:linear-gradient(135deg,var(--deep),#174438);padding:36px 6vw;color:white}.entry-brand{display:flex;align-items:center;gap:12px;font-family:Georgia,serif;font-size:22px}.brand-mark{width:42px;height:42px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-family:Georgia,serif;font-size:24px}.entry-card{max-width:970px;margin:10vh auto;background:#fff;color:var(--ink);border-radius:24px;padding:48px;box-shadow:0 28px 80px rgba(0,0,0,.2)}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:800;color:#69756f;margin:0 0 10px}.entry-card h1,.page-head h1{font-family:Georgia,serif;margin:0;font-weight:500}.entry-card h1{font-size:46px}.lead{font-size:18px;line-height:1.7;color:var(--muted);max-width:720px}.entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:34px}.entry-choice{border:1px solid var(--line);border-radius:18px;padding:26px;display:grid;gap:10px}.entry-choice:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--gold)}.entry-choice strong{font-family:Georgia,serif;font-size:24px}.entry-choice span:not(.choice-icon){color:var(--muted);line-height:1.5}.entry-choice b{color:var(--green);margin-top:8px}.admin-choice{background:var(--deep);color:white;border-color:var(--deep)}.admin-choice span:not(.choice-icon){color:#c9d6d1}.admin-choice b{color:#e3c47c}.choice-icon{width:42px;height:42px;border-radius:12px;background:var(--gold-soft);color:var(--gold);display:grid;place-items:center;font-size:22px}.security-note{text-align:center;color:var(--muted);font-size:13px;margin:30px 0 0}
.portal{min-height:100vh;display:grid;grid-template-columns:244px 1fr}.sidebar{background:var(--deep);color:white;position:fixed;inset:0 auto 0 0;width:244px;padding:22px 14px;display:flex;flex-direction:column;z-index:3}.logo{display:flex;align-items:center;gap:10px;padding:0 10px 18px}.logo strong{display:block;font-family:Georgia,serif;font-size:19px}.logo small{display:block;color:#a7bcb4;font-size:10px;letter-spacing:.09em;text-transform:uppercase;margin-top:2px}.portal-name{margin:4px 10px 18px;border-top:1px solid rgba(255,255,255,.12);padding-top:16px;color:#dfc687;font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.sidebar nav{display:flex;flex-direction:column;gap:3px}.sidebar nav a,.sidebar-bottom a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:9px;color:#d2ddd8;font-size:13px}.sidebar nav a:hover,.sidebar nav a.active{background:rgba(255,255,255,.1);color:white}.sidebar nav a.active{border-left:3px solid var(--gold);padding-left:9px}.nav-icon{width:22px;text-align:center;color:#d7bd7d;font-size:17px}.sidebar nav em{margin-left:auto;background:var(--gold);color:var(--deep);border-radius:12px;padding:2px 7px;font-size:10px;font-style:normal;font-weight:800}.sidebar-bottom{margin-top:auto;border-top:1px solid rgba(255,255,255,.12);padding-top:12px;display:flex;align-items:center}.sidebar-bottom a{flex:1}.sidebar-bottom button{background:none;border:0;color:#d7bd7d;font-size:20px;cursor:pointer}.portal-main{grid-column:2}.topbar{height:64px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 34px;position:sticky;top:0;z-index:2}.menu-button{display:none}.breadcrumbs{font-size:13px;color:var(--muted)}.breadcrumbs span{margin:0 8px;color:#abb4b0}.top-actions{margin-left:auto;display:flex;align-items:center;gap:16px}.top-actions button{position:relative;border:0;background:none;font-size:22px;color:var(--green)}.top-actions i{position:absolute;right:-6px;top:-6px;background:var(--red);color:white;border-radius:8px;font-size:9px;font-style:normal;padding:2px 5px}.avatar{width:34px;height:34px;border-radius:50%;background:var(--green);color:white;display:grid;place-items:center;font-size:11px;font-weight:800}.content{padding:30px 34px 60px;max-width:1500px;margin:auto}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}.page-head h1{font-size:32px;color:var(--deep)}.page-head p:not(.eyebrow){color:var(--muted);margin:7px 0 0}.primary,.secondary{border-radius:8px;padding:11px 16px;font-weight:750;font-size:13px;cursor:pointer}.primary{background:var(--gold);border:1px solid var(--gold);color:var(--deep)}.primary:hover{background:#c69b4b}.secondary{background:white;border:1px solid #bdc9c3;color:var(--green)}.secondary:hover{border-color:var(--gold);color:#805e1d}.text-button,.danger-link{background:none;border:0;cursor:pointer;font-weight:700;font-size:12px;color:var(--green)}.danger-link{color:var(--red)}.full{width:100%;margin-top:16px}.light{color:#dbc58f}.hero-status{background:linear-gradient(120deg,var(--deep),var(--green2));color:white;border-radius:14px;padding:24px 28px;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow)}.hero-status h2{font-family:Georgia,serif;font-size:25px;margin:0}.reference{font-size:12px;color:#b9cbc4}.phase{padding-left:34px;border-left:1px solid rgba(255,255,255,.2);min-width:300px}.phase span,.phase p{display:block;color:#b9cbc4;font-size:11px}.phase strong{display:block;font-size:17px;margin:6px 0}.progress{display:flex;align-items:center;background:white;border:1px solid var(--line);border-radius:0 0 12px 12px;padding:18px 26px;margin:0 14px 24px}.progress div{display:flex;align-items:center;gap:9px;color:#85908b;font-size:11px}.progress b{width:26px;height:26px;border:2px solid #cbd4cf;border-radius:50%;display:grid;place-items:center}.progress i{height:1px;background:#dbe2de;flex:1;margin:0 12px}.progress .done b{background:var(--green);color:white;border-color:var(--green)}.progress .done span{color:var(--green)}.progress .current b{border-color:var(--gold);color:#8e681e;background:var(--gold-soft)}.progress .current span{color:#8e681e;font-weight:800}.dashboard-grid{display:grid;grid-template-columns:1.5fr .8fr;gap:18px}.panel{background:white;border:1px solid var(--line);border-radius:12px;padding:20px;box-shadow:0 3px 12px rgba(8,38,23,.025)}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.panel h2,.panel-head h2{font-family:Georgia,serif;color:var(--deep);font-size:19px;margin:0}.panel h3{font-size:14px;color:var(--deep);margin-top:24px}.panel p{color:var(--muted);line-height:1.6}.panel-head>span:not(.status){font-size:11px;color:var(--muted)}.actions article{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:12px;border-top:1px solid #edf0ee;padding:15px 0}.actions article:first-of-type{border-top:0}.actions p{margin:3px 0;font-size:12px}.actions small,.document-row small,.agenda-item small,.signal small,td small{display:block;color:#7a8781;font-size:10px;margin-top:4px}.action-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#fae8e5;color:var(--red);font-weight:900}.action-icon.muted{background:#e5f1eb;color:var(--green)}.appointment{display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-content:start}.appointment .panel-head,.appointment button{grid-column:1/-1}.date-box{background:var(--gold-soft);color:#8a651d;border-radius:9px;width:52px;height:58px;display:grid;place-items:center}.date-box strong{font-size:21px;line-height:1}.date-box span{font-size:9px;font-weight:800}.appointment p{margin:4px 0;font-size:12px}.recent .document-row{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:13px 0;border-top:1px solid #edf0ee}.document-row>span:first-child{background:#eff3f1;color:var(--green);border-radius:5px;padding:9px 5px;text-align:center;font-size:9px;font-weight:900}.message blockquote{margin:0 0 8px;border-left:3px solid var(--gold);padding-left:14px;color:#44524c;font-size:13px;line-height:1.7}.unread{color:var(--red)!important}.status{display:inline-block;border-radius:20px;padding:5px 9px;font-size:10px;font-weight:800;white-space:nowrap}.status-green{background:#e4f1e9;color:#23613e}.status-gold{background:var(--gold-soft);color:#8a641c}.status-blue{background:#e4f0f5;color:#28667f}.status-red{background:#f9e7e4;color:#973b34}.status-grey{background:#edf0ef;color:#59645f}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.details{display:grid;grid-template-columns:1fr 1fr;gap:15px}.details div{border-bottom:1px solid #edf0ee;padding-bottom:10px}.details dt{font-size:10px;text-transform:uppercase;color:#7a8781;font-weight:800}.details dd{margin:5px 0 0;font-size:13px}.button-row{display:flex;gap:12px;margin-top:24px}.timeline{list-style:none;padding:0}.timeline li{display:flex;gap:18px;padding:0 0 22px;position:relative}.timeline li:after{content:"";position:absolute;left:17px;top:25px;bottom:0;width:1px;background:var(--line)}.timeline li:last-child:after{display:none}.timeline li>b{width:36px;height:36px;border-radius:50%;background:#eef1ef;display:grid;place-items:center;font-size:9px;z-index:1}.timeline li.done>b{background:var(--green);color:white}.timeline span strong,.timeline span small{display:block}.timeline span small{color:var(--muted);margin-top:5px}.notice{padding:14px 18px;border-radius:9px;background:#eaf2ee;border-left:4px solid var(--green);display:flex;gap:18px;margin-bottom:18px;font-size:12px}.notice span{color:#56635d}.notice.warning{background:var(--gold-soft);border-color:var(--gold)}.table-panel{overflow:auto}.filters{display:flex;gap:10px;margin-bottom:16px}.filters input,.filters select{padding:10px 12px;border:1px solid var(--line);border-radius:7px;background:#fff;color:#4f5c56}.filters input{min-width:270px}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;text-transform:uppercase;letter-spacing:.06em;font-size:9px;color:#78847e;background:#f4f6f4;padding:11px}td{padding:14px 11px;border-bottom:1px solid #edf0ee;color:#415049}tbody tr:hover{background:#fbfcfb}.empty-state{text-align:center;padding:70px 20px}.empty-state .choice-icon{margin:auto}.empty-state h2{margin:16px 0 4px}
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.metric-grid article{background:white;border:1px solid var(--line);border-radius:11px;padding:17px;display:flex;gap:13px;align-items:center}.metric-icon{width:40px;height:40px;border-radius:9px;background:#e8f1ed;color:var(--green);display:grid;place-items:center;font-size:18px}.metric-icon.gold{background:var(--gold-soft);color:#8d691f}.metric-icon.red{background:#f8e8e5;color:var(--red)}.metric-icon.blue{background:#e6f0f4;color:var(--blue)}.metric-grid small,.metric-grid strong,.metric-grid em{display:block}.metric-grid small{color:var(--muted);font-size:10px}.metric-grid strong{font-family:Georgia,serif;font-size:26px;margin:2px 0}.metric-grid em{font-size:9px;color:#6a7771;font-style:normal}.admin-grid{display:grid;grid-template-columns:1fr 290px;gap:18px}.admin-grid aside{display:flex;flex-direction:column;gap:18px}.queue-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:0 -20px 8px;padding:0 20px}.queue-tabs button{border:0;background:none;padding:10px 8px;font-size:10px;color:var(--muted);border-bottom:2px solid transparent}.queue-tabs button.selected{color:var(--green);border-color:var(--gold);font-weight:800}.queue-tabs b{background:#edf0ef;border-radius:9px;padding:2px 5px}.priority{font-size:9px;font-weight:800}.priority.high{color:var(--red)}.priority.medium{color:#7b672f}.agenda-item{display:flex;gap:12px;border-top:1px solid #edf0ee;padding:13px 0}.agenda-item>b{color:var(--gold)}.agenda-item span strong{display:block;font-size:12px}.signal{display:flex;gap:10px;border-top:1px solid #edf0ee;padding:12px 0;color:#91691c}.signal.ok{color:#28704a}.signal span strong,.signal span small{display:block;color:var(--ink);font-size:11px}.signal span small{color:var(--muted)}
.vat-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.vat-metrics article{background:white;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:10px;padding:18px}.vat-metrics small,.vat-metrics strong,.vat-metrics span{display:block}.vat-metrics small{color:var(--muted);font-size:10px}.vat-metrics strong{font-family:Georgia,serif;font-size:25px;color:var(--deep);margin:8px 0}.vat-metrics span{font-size:10px;color:#718079}.btw-grid{display:grid;grid-template-columns:1fr 300px;gap:18px;margin-bottom:18px}.details.single{grid-template-columns:1fr}.audit-note{font-size:11px;background:var(--gold-soft);border-radius:8px;padding:11px}.vat-controls{display:grid;grid-template-columns:.8fr 1.2fr;gap:25px}.vat-controls ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.vat-controls li{font-size:11px;color:#4f5d57}.vat-controls li span{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#e4f1e9;color:#23613e;margin-right:6px}
/* Premium Sankofa-iconen: overeenkomstig de goedgekeurde portaalmock-ups. */
.premium-icon{display:block;width:100%;height:100%;object-fit:contain}.nav-icon{height:22px}.nav-icon .premium-icon{width:22px;height:22px}.choice-icon .premium-icon{width:34px;height:34px}.top-actions .premium-icon,.sidebar-bottom button .premium-icon{width:26px;height:26px}.primary{display:inline-flex;align-items:center;justify-content:center;gap:8px}.primary .premium-icon{width:24px;height:24px}.action-icon .premium-icon{width:26px;height:26px}.notice>.premium-icon{width:34px;height:34px;flex:0 0 34px}.metric-icon .premium-icon{width:36px;height:36px}
.version-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.version-metrics article{background:white;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:11px;padding:17px;display:flex;align-items:center;gap:13px}.version-metrics article>.premium-icon{width:42px;height:42px}.version-metrics small,.version-metrics strong,.version-metrics span{display:block}.version-metrics small{color:var(--muted);font-size:10px}.version-metrics strong{font-family:Georgia,serif;font-size:20px;color:var(--deep);margin:3px 0}.version-metrics span{font-size:10px;color:#718079}.version-note{display:flex;align-items:flex-start;gap:14px;margin-top:18px}.version-note>.premium-icon{width:42px;height:42px;flex:0 0 42px}.version-note h2{margin-bottom:4px}.version-note p{margin:0}
@media(max-width:1100px){.metric-grid,.vat-metrics{grid-template-columns:1fr 1fr}.version-metrics{grid-template-columns:1fr}.admin-grid,.btw-grid{grid-template-columns:1fr}.admin-grid aside{display:grid;grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.phase{min-width:260px}}
@media(max-width:760px){.entry-page{padding:20px}.entry-card{padding:28px;margin:7vh auto}.entry-card h1{font-size:36px}.entry-grid{grid-template-columns:1fr}.portal{display:block}.sidebar{position:static;width:100%;height:auto;padding:12px}.sidebar nav,.portal-name,.sidebar-bottom{display:none}.logo{padding:0}.portal-main{grid-column:auto}.topbar{padding:0 16px}.menu-button{display:block;border:0;background:none;margin-right:10px}.content{padding:22px 16px 50px}.page-head{align-items:flex-start;flex-direction:column}.page-head h1{font-size:28px}.hero-status{align-items:flex-start;flex-direction:column;gap:18px}.phase{border-left:0;border-top:1px solid rgba(255,255,255,.2);padding:16px 0 0;min-width:0;width:100%}.progress{overflow-x:auto;margin:0 6px 18px;padding:14px}.progress span{display:none}.progress i{min-width:35px}.dashboard-grid,.two-col,.metric-grid,.vat-metrics,.vat-controls{grid-template-columns:1fr}.admin-grid aside{grid-template-columns:1fr}.filters{flex-direction:column}.filters input{min-width:0;width:100%}.notice{flex-direction:column;gap:5px}.actions article{grid-template-columns:34px 1fr}.actions article button{grid-column:2}.table-panel{padding:14px}.queue{overflow:auto}.topbar .breadcrumbs{display:none}.details{grid-template-columns:1fr}.vat-controls ul{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label{display:grid;gap:6px;font-size:11px;font-weight:800;color:var(--green)}.form-grid input,.form-grid select,.form-grid textarea{width:100%;padding:11px 12px;border:1px solid #cbd5d0;border-radius:8px;background:#fff;color:var(--ink);font-weight:400}.form-grid textarea{min-height:120px;resize:vertical}.form-grid .span-2{grid-column:1/-1}.form-grid .check{display:flex;align-items:center;flex-direction:row}.form-grid .check input{width:auto}.message-item{border-top:1px solid #edf0ee;padding:14px 0}.message-item:first-of-type{border-top:0}.message-item p{margin:6px 0}.message-item small,.list-card small{color:var(--muted)}.list-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-top:1px solid #edf0ee}.list-card:first-of-type{border-top:0}.list-card small{display:block;margin-top:5px}
@media(max-width:760px){.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}}

/* Officieel Sankofa-logo in de portaalheader. */
.reference-number{white-space:nowrap;word-break:keep-all;overflow-wrap:normal}
.entry-brand{display:flex;align-items:center}

/* Agenda: duidelijke tijdvakgroepen. */
.week-timeline{gap:9px}
.week-group{display:grid;gap:5px}
.week-group h3,.slot-group h3{margin:0;color:var(--deep);font-size:9px;line-height:1.25;text-transform:uppercase;letter-spacing:.06em}
.week-group-available h3{color:#28704a}
.week-group-busy h3{color:#973b34}
.week-group-blocked h3,.week-group-closed h3{color:#8a641c}
.slot-groups{display:grid;gap:15px}
.slot-group{display:grid;gap:8px}
.slot-group h3{font-size:10px}
.slot-reserved{border-color:var(--red);background:#f9e7e4;color:#973b34;cursor:default}
.slot-reserved:disabled{opacity:1}
.slot-group-closed{padding:10px 12px;border-left:3px solid #a8b1ac;border-radius:7px;background:#f1f3f2;color:var(--muted);font-size:11px;line-height:1.4}
.slot-group-closed p{margin:0}
.entry-brand img{display:block;width:300px;height:auto;background:#fff;border-radius:12px;padding:10px}
.sidebar{padding-top:18px}
.portal{grid-template-columns:380px 1fr}
.sidebar{width:380px}
.logo{display:flex;align-items:flex-start;justify-content:center;height:var(--portal-header-height);min-height:var(--portal-header-height);flex:0 0 var(--portal-header-height);margin:-18px -14px 0;padding:4px 10px 46px;background:#fff;border-bottom:1px solid var(--line);overflow:hidden;position:relative}
.logo-art{display:block;width:360px;max-width:100%;height:230px;overflow:hidden}
.logo-art img{display:block;width:360px;max-width:100%;height:240px;object-fit:contain;object-position:center top;clip-path:inset(0 0 10% 0)}
.logo-tagline{position:absolute;left:18px;right:18px;bottom:10px;z-index:1;background:#fff;color:#082617;text-align:center;font-size:18px;line-height:1.25;font-weight:850;letter-spacing:.005em;white-space:nowrap}
.topbar{height:var(--portal-header-height);min-height:var(--portal-header-height)}
.portal-name{font-size:14px}
.sidebar nav a,.sidebar-bottom a{gap:18px;padding:8px 14px;font-size:22px;line-height:1.25;color:#fff;font-weight:750}
.nav-label{letter-spacing:.005em;text-shadow:0 1px 1px rgba(0,0,0,.35)}
.sidebar nav a.active{padding-left:11px}
.nav-icon{width:76px;height:93px;flex:0 0 76px;display:grid;place-items:center}
.nav-icon .premium-icon{width:76px;height:93px}
.sidebar nav em{font-size:12px;padding:3px 8px}
.choice-icon{width:68px;height:68px;border-radius:16px}
.choice-icon .premium-icon{width:56px;height:56px}
.entry-choice{padding:30px;gap:13px}
.entry-choice strong{font-size:28px}
.entry-choice span:not(.choice-icon){font-size:18px}
.entry-choice b{font-size:17px}
.metric-icon{width:56px;height:56px;flex:0 0 56px}
.metric-icon .premium-icon{width:48px;height:48px}
.action-icon{width:44px;height:44px}
.action-icon .premium-icon{width:36px;height:36px}
.actions article{grid-template-columns:48px 1fr auto}
@media(max-width:760px){:root{--portal-header-height:220px}.entry-brand img{width:300px;max-width:100%}.logo{margin:-12px -12px 0;padding:2px 12px 39px}.logo-art{width:300px;height:178px}.logo-art img{width:300px;height:190px}.logo-tagline{left:12px;right:12px;bottom:7px;font-size:16px}.portal{display:block}.sidebar{width:100%}.sidebar nav a,.sidebar-bottom a{font-size:20px}.nav-icon{width:68px;height:84px;flex-basis:68px}.nav-icon .premium-icon{width:68px;height:84px}.choice-icon{width:72px;height:72px}.choice-icon .premium-icon{width:62px;height:62px}.actions article{grid-template-columns:48px 1fr}}

/* Compacte portaalfooter en verbeterde merktypografie. */
.portal-main{min-height:100vh;display:flex;flex-direction:column}
.sidebar{position:relative;inset:auto;width:380px;min-height:100vh;height:auto}
.content{width:100%;flex:1}
.logo-tagline{font-family:Georgia,"Times New Roman",serif;font-size:15px;font-weight:650;letter-spacing:.004em;white-space:nowrap}
.logo-tagline em{color:var(--gold);font-style:normal;font-weight:750}
.nav-label{font-size:20px;font-weight:800;line-height:1.2;letter-spacing:.003em;text-shadow:none;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}
.sidebar-bottom{flex:1;min-height:190px;margin:0 -14px;padding:22px 14px 18px;display:flex;align-items:flex-end;justify-content:center;border:0}
.sidebar-bottom a{width:100%;flex:0 0 auto;justify-content:center;gap:18px;padding:12px 14px;font-size:20px;font-weight:800;line-height:1.2;color:#fff}
.sidebar-bottom .nav-icon{width:76px;height:93px;flex:0 0 76px}
.sidebar-bottom .nav-icon .premium-icon{width:76px;height:93px}
.portal-footer{grid-column:1/-1;position:relative;z-index:5;min-height:126px;background:var(--deep);color:#fff;border-top:4px solid var(--gold);display:grid;grid-template-columns:380px minmax(0,1fr);align-items:stretch}
.footer-brand{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:22px 24px 30px;border-right:1px solid rgba(255,255,255,.14);text-align:center}
.footer-brand strong{font-family:Georgia,"Times New Roman",serif;color:#fff;font-size:23px;font-weight:600;letter-spacing:.025em}
.footer-brand span{font-family:Georgia,"Times New Roman",serif;color:#f4e5bc;font-size:15px;line-height:1.25;white-space:nowrap}
.footer-brand em{color:#d7ad55;font-style:normal;font-weight:700}
.footer-main{padding:18px 30px 12px;display:grid;grid-template-rows:1fr auto;align-items:center;gap:8px}
.footer-links{width:100%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:0}
.footer-links-kompas{grid-template-columns:repeat(6,minmax(0,1fr))}
.footer-links a{display:flex;align-items:center;justify-content:center;gap:8px;color:#fff;font-family:Inter,Arial,sans-serif;font-size:14px;font-weight:700;min-height:48px;padding:0 10px;text-align:center;border:0;text-decoration:none;white-space:nowrap}
.footer-links a:hover,.footer-links a:focus-visible{color:#f0d795}
.footer-icon{width:32px;height:29px;flex:0 0 32px;overflow:hidden;display:block}
.footer-icon .premium-icon{display:block;width:32px;height:auto;max-width:none}
.footer-main>p{margin:0;padding:0;color:#bdcbc5;font-size:12px;text-align:center}
.profile-summary{display:flex;align-items:center;gap:9px;color:var(--deep);font-size:14px;font-weight:800;white-space:nowrap;border-left:1px solid var(--line);padding:8px 16px}
.profile-summary:hover,.profile-summary:focus-visible{color:#805e1d}
.profile-icon{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center}
.profile-icon .premium-icon{width:34px;height:34px}
.logout-link{display:inline-flex;align-items:center;gap:8px;border-left:1px solid var(--line);padding:8px 0 8px 16px;color:var(--deep);font-size:14px;font-weight:800;white-space:nowrap}
.logout-link:hover,.logout-link:focus-visible{color:#805e1d}
.logout-link .premium-icon{width:30px;height:30px;flex:0 0 30px}
.profile-icon,.logout-link .premium-icon{width:58px;height:68px;flex:0 0 58px}
.profile-icon .premium-icon{width:58px;height:68px}
@media(max-width:1250px){.footer-links{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1050px){.portal-footer{grid-template-columns:380px minmax(0,1fr)}.footer-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.portal-main{min-height:auto}.logo-tagline{font-size:14px}.nav-label{font-size:19px}.profile-summary>span:last-child,.logout-link>span{display:none}.logout-link{padding-left:12px}.portal-footer{grid-template-columns:1fr}.footer-brand{padding:24px 20px;border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}.footer-brand span{font-size:15px;white-space:normal}.footer-main{padding:22px 20px}.footer-links{grid-template-columns:1fr 1fr;gap:10px}.footer-links a{font-size:14px;justify-content:flex-start;white-space:normal}.footer-main>p{text-align:left;line-height:1.55}}
@media(max-width:430px){.footer-links{grid-template-columns:1fr}}

/* Desktopportaal: volledige hoofdweergave op 100% browserzoom. */
@media (min-width:761px){
  :root{--portal-header-height:174px;--portal-footer-height:108px}
  .portal{height:100vh;min-height:0;grid-template-rows:minmax(0,calc(100vh - var(--portal-footer-height))) var(--portal-footer-height);overflow:hidden}
  .sidebar{min-height:0;height:auto;padding-top:14px;overflow:hidden}
  .logo{margin:-14px -14px 0;padding:2px 10px 34px}
  .logo-art{width:318px;height:143px}
  .logo-art img{width:318px;height:158px}
  .logo-tagline{bottom:8px;font-size:14px}
  .topbar{height:var(--portal-header-height);min-height:var(--portal-header-height)}
  .portal-name{margin:4px 10px 8px;padding-top:10px}
  .sidebar nav{gap:0}
  .sidebar nav a{min-height:62px;padding:2px 14px;font-size:18px}
  .sidebar nav a.active{padding-left:11px}
  .nav-label{font-size:18px}
  .nav-icon{width:58px;height:68px;flex-basis:58px}
  .nav-icon .premium-icon{width:58px;height:68px}
  .sidebar-bottom{
    flex:0 0 112px;
    min-height:112px;
    margin:auto -14px 0;
    padding:10px 14px;
    align-items:center;
    justify-content:center;
    border-top:3px solid var(--gold);
  }
  .sidebar-bottom a{
    width:100%;
    justify-content:flex-start;
    gap:18px;
    padding:6px 14px;
    font-size:18px;
  }
  .sidebar-bottom .nav-icon{width:58px;height:68px;flex-basis:58px}
  .sidebar-bottom .nav-icon .premium-icon{width:58px;height:68px}
  .portal-main{min-height:0;height:100%;overflow:hidden}
  .content{min-height:0;padding:16px 28px 18px;overflow:auto}
  .page-head{margin-bottom:12px}
  .hero-status{padding:15px 24px}
  .progress{padding:10px 22px;margin-bottom:12px}
  .dashboard-grid{gap:14px}
  .panel{padding:14px 16px}
  .panel-head{margin-bottom:10px}
  .actions article{padding:8px 0}
  .recent .document-row{padding:7px 0}
  .portal-footer{height:var(--portal-footer-height);min-height:var(--portal-footer-height)}
  .footer-brand{padding:16px 20px 20px}
  .footer-main{padding:12px 24px 8px}
}

/* Agenda: gedeelde client- en beheerweergave */
.weekly-legend .legend-dot.closed{background:#202522}
.weekly-calendar{margin-bottom:18px;padding:20px}.weekly-calendar-head{align-items:flex-start}.weekly-calendar-head p{margin:5px 0 0;font-size:12px}.week-controls{display:flex;align-items:center;gap:8px}.week-controls .secondary{padding:6px 12px;font-size:20px;line-height:1}.week-controls strong{min-width:150px;text-align:center;font-size:12px;color:var(--green)}.weekly-grid{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:8px;overflow-x:auto}.week-day{min-height:190px;border:1px solid var(--line);border-radius:10px;background:#fbfcfa;color:var(--ink);padding:12px 10px;text-align:left;cursor:default}.week-day:not(:disabled){cursor:pointer}.week-day:not(:disabled):hover,.week-day.selected{border-color:var(--gold);background:#fffaf0;box-shadow:0 3px 10px rgba(180,138,60,.12)}.week-day:disabled{opacity:1}.week-day-name{display:block;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.week-day>strong{display:block;margin-top:4px;color:var(--deep);font-family:Georgia,serif;font-size:18px}.week-state{display:inline-block;margin-top:9px;border-radius:12px;padding:4px 7px;font-size:10px;font-weight:850}.week-state.beschikbaar{background:#e4f1e9;color:#23613e}.week-state.bezet{background:#f9e7e4;color:#973b34}.week-state.geblokkeerd{background:var(--gold-soft);color:#8a641c}.week-state.gesloten{background:#edf0ef;color:#59645f}.week-hours{display:block;margin-top:8px;color:var(--green);font-size:10px;font-weight:800;text-align:center;white-space:nowrap;letter-spacing:0}.week-events,.week-timeline{display:grid;gap:6px;margin-top:12px}.week-event{display:block;border-radius:7px;padding:7px 8px;font-size:10px;line-height:1.3}.week-event b,.week-event small,.week-event em{display:block}.week-event b{font-size:10px}.week-event small{margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.week-event em{margin-top:4px;font-size:9px;font-style:normal;font-weight:800}.week-event.busy{background:#f8e8e5;border-left:3px solid var(--red);color:#71332f}.week-event.blocked{background:var(--gold-soft);border-left:3px solid var(--gold);color:#71531d}.week-open,.week-closed{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:10px;line-height:1.35}.week-open{color:#28704a}.week-open .premium-icon{width:30px;height:36px;flex:0 0 30px}.weekly-legend{display:flex;align-items:center;gap:18px;margin-top:13px;color:var(--muted);font-size:10px}.weekly-legend span{display:flex;align-items:center;gap:6px}.legend-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#cbd5d0}.legend-dot.open{background:#28704a}.legend-dot.busy{background:var(--red)}.legend-dot.blocked{background:var(--gold)}
.calendar-grid,.calendar-admin-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;margin-bottom:18px}.calendar-admin-grid{grid-template-columns:1fr 1fr}.calendar-intro{margin-top:-6px;font-size:12px}.calendar-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}.calendar-actions .primary,.calendar-actions .secondary{display:inline-flex;align-items:center;gap:8px;text-decoration:none}.calendar-reminders{display:flex;gap:10px;align-items:flex-start;background:#f7f2e8;border-left:3px solid var(--gold);border-radius:8px;padding:12px 14px;margin-top:18px;color:#6f571f;font-size:11px;line-height:1.5}.calendar-reminders svg{width:20px;height:20px;flex:0 0 auto}.slot-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.slot{border:1px solid #cbd5d0;background:#fff;border-radius:8px;color:var(--green);padding:11px 8px;font-size:12px;cursor:pointer}.slot:hover,.slot.selected{border-color:var(--gold);background:var(--gold-soft);color:#795b1e;font-weight:800}.calendar-list{margin-bottom:18px}.calendar-appointment-card{display:grid;grid-template-columns:60px 1fr;gap:15px;padding:15px 0;border-top:1px solid #edf0ee}.calendar-appointment-card:first-of-type{border-top:0}.calendar-date{width:58px;height:62px;border-radius:9px;background:var(--gold-soft);color:#8a651d;display:grid;place-items:center;align-content:center}.calendar-date strong{font-size:22px;line-height:1}.calendar-date span{font-size:9px;font-weight:900}.calendar-appointment-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.calendar-appointment-main p{font-size:12px;margin:5px 0}.calendar-appointment-main small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.calendar-appointment-main .reminder-line{color:#7b6127}.field-help{font-weight:400;color:var(--muted)}.availability-table{margin-bottom:17px}.availability-row{display:grid;grid-template-columns:1.4fr 115px 25px 115px;align-items:center;gap:9px;padding:10px 0;border-bottom:1px solid #edf0ee}.availability-day{display:flex!important;align-items:center;gap:9px!important}.availability-day input{width:auto!important}.availability-row input[type=time]{padding:9px 8px}.block-list{margin-top:18px}.block-row,.admin-appointment-row{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid #edf0ee;padding:13px 0}.block-row small,.admin-appointment-row small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.admin-appointment-row p{font-size:12px;margin:5px 0}.admin-appointment-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;max-width:420px}.admin-appointment-actions input{min-width:210px;padding:10px 11px;border:1px solid #cbd5d0;border-radius:8px}.admin-appointment-actions a{display:inline-flex;text-decoration:none}.calendar-admin-grid .form-grid{margin-bottom:18px}
@media(max-width:1100px){.calendar-grid,.calendar-admin-grid{grid-template-columns:1fr}}
@media(max-width:760px){.weekly-calendar{padding:16px}.weekly-calendar-head{gap:12px;flex-direction:column}.week-controls{width:100%;justify-content:space-between}.week-controls strong{min-width:0}.weekly-grid{grid-template-columns:repeat(7,minmax(142px,1fr))}.weekly-legend{flex-wrap:wrap;gap:10px}.calendar-appointment-card{grid-template-columns:48px 1fr;gap:10px}.calendar-date{width:48px;height:56px}.calendar-appointment-title{align-items:flex-start;flex-direction:column}.availability-row{grid-template-columns:1fr 1fr 18px 1fr}.availability-day{grid-column:1/-1}.admin-appointment-row,.block-row{align-items:flex-start;flex-direction:column}.admin-appointment-actions{justify-content:flex-start;max-width:none;width:100%}.admin-appointment-actions input{width:100%;min-width:0}.slot-list{grid-template-columns:1fr 1fr}}

.primary:disabled{background:#dfe5e1;border-color:#cbd4cf;color:#78847e;cursor:not-allowed;box-shadow:none}.primary:disabled:hover{background:#dfe5e1}
.appointment-context{display:grid;grid-template-columns:auto 1fr;gap:3px 9px;margin:9px 0 4px;padding:9px 11px;border-left:3px solid var(--gold);border-radius:7px;background:#fbf8f1;font-size:11px}.appointment-context strong{color:var(--green);font-weight:800}.appointment-context span{color:#44524c}
.appointment-details-toggle{display:block;margin-top:8px}.appointment-details{margin-top:10px;padding:11px 13px;border-left:3px solid var(--gold);border-radius:7px;background:#f7f2e8;font-size:11px}.appointment-details strong,.appointment-details p,.appointment-details small{display:block}.appointment-details p{margin:5px 0;font-size:11px}.archived-appointment{opacity:.92}.archived-list{border-top:3px solid #cbd4cf}
.morework-control{display:flex;align-items:center;gap:8px;min-width:150px}.morework-control .text-button:disabled{color:#9aa59f;cursor:not-allowed}

/* Rustige, contrastrijke acties rechtsboven. */
.topbar{background:#fff}
.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:28px;padding:18px 34px}
.topbar-left{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:10px}
.topbar-left .breadcrumbs{flex:0 0 auto}
.top-actions{gap:0;background:#dfe7e3;border:1px solid #c4d0ca;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px rgba(8,38,23,.06)}
.top-action{position:relative;display:flex;align-items:center;gap:9px;border:0;background:none;color:var(--deep);padding:8px 16px;font-size:14px;font-weight:800;white-space:nowrap;min-height:64px}
.top-action-icon{position:relative;width:58px;height:68px;flex:0 0 58px;display:grid;place-items:center}
.top-action .premium-icon{width:58px;height:68px}
.top-action-label,.profile-summary>span:last-child,.logout-link>span{color:#082617;font-size:15px;font-weight:850;line-height:1.25}
.portal-context{display:grid;grid-template-columns:1fr;gap:5px;margin:0;padding:8px 14px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:8px;box-shadow:0 2px 8px rgba(8,38,23,.035);max-width:600px}
.portal-context>div{display:grid;grid-template-columns:86px minmax(0,1fr);align-items:center;column-gap:12px;min-width:0}
.portal-context-label{color:#082617;font-size:11px;font-weight:900;letter-spacing:.08em;white-space:nowrap}
.portal-context strong,.portal-context select{color:#082617;font-size:15px;font-weight:850;letter-spacing:.01em;white-space:nowrap;min-width:0}
.portal-context strong{display:block}
.portal-context>div:first-child strong{padding-left:3px}
.portal-context select{width:220px;max-width:100%;padding:5px 24px 5px 6px;border:1px solid #bdc9c3;border-radius:7px;background:#fff;font-size:13px;letter-spacing:0}
.assignment-documents{margin-top:16px}.assignment-documents .document-row{border-top:1px solid #edf0ee}.empty-inline{display:flex;align-items:center;gap:12px;color:var(--muted);padding:18px 0}.empty-inline .premium-icon{width:34px;height:34px;flex:0 0 34px}.empty-inline p{margin:0;color:var(--muted);font-size:13px}
.notice span{color:#202724;font-size:13px;line-height:1.55}
.notification-action .top-action-label{color:#082617}
@media(max-width:760px){.topbar{display:flex;align-items:stretch;flex-direction:column;gap:12px;height:auto;min-height:0;padding:16px}.topbar-left{gap:8px}.topbar .breadcrumbs{display:none}.topbar .portal-context{max-width:none}.portal-context{grid-template-columns:1fr;gap:5px;padding:10px 12px}.portal-context>div{justify-content:flex-start}.portal-context strong{font-size:15px}.portal-context select{font-size:13px}.portal-context-label{font-size:11px}.top-actions{align-self:stretch}.top-action{flex:1;justify-content:center}.menu-button{position:absolute;top:16px;right:16px;z-index:1}.topbar-left{padding-top:0}}
.top-action:hover,.profile-summary:hover,.logout-link:hover{background:#d3ded8;color:#082617}
.profile-summary,.logout-link{border-left:1px solid #aab9b1}
.notification-action.has-new-message .premium-icon{transform-origin:50% 12%;animation:sfb-new-message 1.2s ease-in-out}
@keyframes sfb-new-message{0%,100%{transform:rotate(0)}15%{transform:rotate(-9deg)}30%{transform:rotate(8deg)}45%{transform:rotate(-6deg)}60%{transform:rotate(5deg)}75%{transform:rotate(-3deg)}90%{transform:rotate(2deg)}}

/* Het Kompas-icoon in Mijn Kompas krijgt een iets ruimere, herkenbare weergave. */
@media (min-width:761px){
  .sidebar nav a .nav-icon-home{
    width:64px;
    height:75px;
    flex-basis:64px;
  }
  .sidebar nav a .nav-icon-home .premium-icon{
    width:64px;
    height:75px;
  }
}

/* Headercontext en topacties vormen op desktop één uitgelijnde kaartzone. */
@media (min-width:761px){
  .topbar{
    align-items:flex-start;
    grid-template-columns:310px minmax(0,1fr);
  }
  .topbar-left{
    align-self:flex-start;
    width:310px;
    min-width:310px;
  }
  .portal-context{
    width:310px;
    max-width:none;
    min-height:80px;
    align-content:center;
    background:#dfe7e3;
    border:1px solid #c4d0ca;
    border-left:4px solid var(--gold);
    border-radius:12px;
    box-shadow:0 2px 8px rgba(8,38,23,.06);
  }
  .portal-context>div{
    grid-template-columns:88px minmax(0,1fr);
  }
  .portal-context select{
    padding-left:0;
  }
  .top-actions{
    align-self:flex-start;
    margin-top:25px;
    margin-left:0;
    width:100%;
    min-height:80px;
    min-width:0;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(0,.9fr);
  }
  .top-action{
    min-height:80px;
    min-width:0;
    justify-content:center;
    gap:5px;
    padding:6px 8px;
  }
  .top-action-label,
  .profile-summary>span:last-child,
  .logout-link>span{
    font-size:13px;
  }
  .profile-summary{
    min-width:0;
    gap:5px;
    padding:8px 10px;
    justify-content:center;
  }
  .logout-link{
    min-width:0;
    gap:4px;
    padding:8px 8px;
    justify-content:center;
  }
}
.weekly-calendar .empty-inline .premium-icon,.calendar-grid .empty-inline .premium-icon{width:44px;height:52px;flex:0 0 44px}.calendar-reminders>.premium-icon{width:34px;height:42px;flex:0 0 34px}

/* Klikbare beschikbare tijdvakken in de weekagenda. */
.week-day-select{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.week-day-select:disabled{cursor:default}.week-day-select>strong{display:block;margin-top:4px;color:var(--deep);font-family:Georgia,serif;font-size:18px}.week-slot{width:100%;border:1px solid #cbd5d0;background:#fff;border-radius:7px;color:var(--green);padding:7px 5px;font-size:10px;font-weight:750;cursor:pointer;box-sizing:border-box;display:block;text-align:center;overflow:hidden}.week-slot>span,.week-slot>small{display:block}.week-slot>small{margin-top:3px;font-size:9px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.week-slot:hover,.week-slot.selected{border-color:var(--gold);background:var(--gold-soft);color:#795b1e;font-weight:850}.week-slot-reserved{border-color:var(--red);background:#f9e7e4;color:#973b34;cursor:default}.week-slot-blocked{border-color:var(--gold);background:var(--gold-soft);color:#71531d;cursor:default}.week-slot-static{cursor:default}.selected-slot-summary{grid-column:1/-1;display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#f7f2e8;border-left:3px solid var(--gold);border-radius:8px;padding:12px 14px;color:#6f571f;font-size:12px}.selected-slot-summary strong,.selected-slot-summary span{display:block}.selected-slot-summary strong{color:var(--deep)}
.slot-reserved,.slot-reserved:disabled{display:flex;align-items:center;justify-content:space-between;gap:8px;border-color:var(--red);background:#f9e7e4;color:#973b34;cursor:not-allowed;font-weight:800}.slot-reserved strong{font-size:10px;white-space:nowrap}

/* Iedere dagkolom houdt agenda-items binnen de eigen kaart. */
.weekly-grid{grid-template-columns:repeat(7,minmax(0,1fr));overflow-x:hidden}
.week-day,.week-day-select,.week-events,.week-timeline,.week-slot,.week-event{min-width:0}
.week-day{box-sizing:border-box;overflow:hidden}
.week-event{width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}
.week-event b,.week-event small,.week-event em{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.week-slot{display:block;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

@media(max-width:760px){
  .weekly-grid{grid-template-columns:repeat(7,minmax(142px,1fr));overflow-x:auto}
}

/* Definitieve iconenmaat: dezelfde visuele maat binnen dezelfde portaalrol. */
.premium-icon{object-fit:contain;flex:0 0 auto}
.sidebar nav a .nav-icon,
.sidebar nav a .nav-icon-home,
.sidebar-bottom .nav-icon,
.top-action-icon,
.profile-icon,
.logout-link .premium-icon{
  width:58px;
  height:68px;
  flex-basis:58px;
}
.sidebar nav a .nav-icon .premium-icon,
.sidebar-bottom .nav-icon .premium-icon,
.top-action-icon .premium-icon,
.profile-icon .premium-icon,
.logout-link .premium-icon{
  width:58px;
  height:68px;
}
.metric-icon,
.choice-icon,
.notice>.premium-icon,
.version-metrics article>.premium-icon,
.version-note>.premium-icon,
.empty-inline>.premium-icon,
.weekly-calendar .empty-inline .premium-icon,
.calendar-grid .empty-inline .premium-icon,
.calendar-reminders>.premium-icon{
  width:44px;
  height:54px;
  flex:0 0 44px;
}
.metric-icon .premium-icon,
.choice-icon .premium-icon{
  width:44px;
  height:54px;
}
.action-icon .premium-icon,
.primary>.premium-icon,
.calendar-actions .premium-icon{
  width:30px;
  height:36px;
}
.footer-icon,
.footer-icon .premium-icon{
  width:32px;
  height:39px;
  flex:0 0 32px;
}
.footer-icon{overflow:hidden}
.footer-icon .premium-icon{display:block}
.signal>.premium-icon{width:32px;height:39px;flex:0 0 32px}
.signal{display:flex;align-items:center;gap:10px}

@media(max-width:760px){
  .sidebar nav a .nav-icon,
  .sidebar nav a .nav-icon-home,
  .sidebar-bottom .nav-icon,
  .top-action-icon,
  .profile-icon,
  .logout-link .premium-icon,
  .sidebar nav a .nav-icon .premium-icon,
  .sidebar-bottom .nav-icon .premium-icon,
  .top-action-icon .premium-icon,
  .profile-icon .premium-icon,
  .logout-link .premium-icon{
    width:58px;
    height:68px;
    flex-basis:58px;
  }
}

/* Agenda-iconen: dezelfde visuele maat als de header, met een leesbaar label buiten de SVG. */
.readable-premium-icon{
  display:inline-flex;
  width:58px;
  min-width:58px;
  flex:0 0 58px;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:2px;
  color:var(--deep);
  line-height:1;
}
.readable-premium-icon-art{
  display:block;
  width:64px;
  height:60px;
  flex:0 0 60px;
  overflow:hidden;
}
.readable-premium-icon-art .premium-icon{
  display:block;
  width:64px;
  height:auto;
  max-width:none;
  flex:0 0 64px;
  clip-path:inset(0 0 15% 0);
}
.readable-premium-icon-label{
  display:block;
  color:var(--deep);
  font-size:9px;
  font-weight:900;
  letter-spacing:.035em;
  line-height:1.05;
  text-align:center;
  text-transform:uppercase;
  white-space:nowrap;
}
.agenda-submit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:76px;
}
.agenda-submit .readable-premium-icon{
  color:var(--deep);
}
.calendar-reminders{
  align-items:center;
  gap:14px;
}
.calendar-reminders .readable-premium-icon,
.calendar-list > .empty-inline .readable-premium-icon,
.calendar-grid > .panel > .empty-inline .readable-premium-icon{
  align-self:center;
}
.calendar-reminders > span:last-child{
  color:var(--deep);
  font-weight:650;
}
.calendar-list > .empty-inline,
.calendar-grid > .panel > .empty-inline{
  align-items:center;
  gap:14px;
}

/* Gerichte headercorrectie voor Mijn Kompas en het Beheerportaal. */
.portal-context{
  gap:4px;
  align-content:center;
}
.portal-context > .eyebrow{
  margin:0 0 1px;
  color:#496057;
  font-size:10px;
  line-height:1.2;
  letter-spacing:.04em;
  white-space:nowrap;
}
.portal-context > div{
  min-width:0;
}
.portal-context-label{
  font-size:10px;
  letter-spacing:.06em;
}
.portal-context strong,
.portal-context select{
  min-width:0;
  max-width:100%;
  overflow:hidden;
  text-overflow:clip;
  white-space:nowrap;
}
.portal-context select{
  width:100%;
  font-size:12px;
  letter-spacing:-.015em;
}
.portal-context-dossier{position:relative;z-index:4}.dossier-picker{position:relative;min-width:0}.dossier-picker>input{width:100%;box-sizing:border-box;padding:6px 8px;border:1px solid #bdc9c3;border-radius:7px;background:#fff;color:var(--deep);font-size:12px;font-weight:850;letter-spacing:0}.dossier-picker>input::placeholder{color:var(--deep);opacity:1}.dossier-picker-results{position:absolute;left:0;right:0;top:calc(100% + 5px);min-width:280px;max-height:300px;overflow:auto;padding:5px;background:#fff;border:1px solid #cbd5d0;border-radius:9px;box-shadow:0 8px 22px rgba(8,38,23,.14)}.dossier-picker-results button{position:relative;display:grid;grid-template-columns:1fr auto;gap:2px 10px;width:100%;padding:8px;border:0;border-radius:6px;background:#fff;color:var(--deep);text-align:left;cursor:pointer}.dossier-picker-results button:hover,.dossier-picker-results button[aria-selected="true"]{background:#f4f6f4}.dossier-picker-results button strong{font-size:12px}.dossier-picker-results button small{color:var(--muted);font-size:10px}.dossier-picker-results button em{grid-column:2;grid-row:1 / span 2;align-self:center;color:#28667f;font-size:10px;font-style:normal;font-weight:800}.dossier-picker-results>span{display:block;padding:10px;color:var(--muted);font-size:11px}@media(max-width:760px){.dossier-picker-results{position:static;min-width:0;margin-top:5px;box-shadow:none}.dossier-picker>input{font-size:13px}}

/* SVG's bevatten een decoratief woordmerk onder het pictogram. In portalen
   wordt dat weggeknipt; de HTML-labels blijven leesbaar en niet dubbel. */
.top-action-icon,
.profile-icon,
.logout-icon,
.sidebar nav a .nav-icon,
.sidebar-bottom .nav-icon{
  overflow:hidden;
}
.top-action-icon,
.profile-icon,
.logout-icon{
  overflow:visible;
}
.top-action-icon-wrap{
  position:relative;
  width:58px;
  height:68px;
  flex:0 0 58px;
  display:grid;
  place-items:center;
}
.top-action-icon-wrap .top-action-icon{
  width:58px;
  height:68px;
  flex:0 0 58px;
}
.notification-badge{
  position:absolute;
  top:0;
  right:-9px;
  min-width:16px;
  height:16px;
  display:grid;
  place-items:center;
  padding:0 4px;
  border-radius:999px;
  background:var(--red);
  color:#fff;
  font-size:9px;
  font-style:normal;
  font-weight:900;
  line-height:1;
  z-index:2;
}
.top-action-icon-art,
.profile-icon .top-action-icon-art,
.logout-icon .top-action-icon-art{
  display:block;
  width:64px;
  height:60px;
  flex:0 0 64px;
  overflow:hidden;
  position:relative;
}
.top-action-icon-art > .premium-icon,
.profile-icon .top-action-icon-art > .premium-icon,
.logout-icon .top-action-icon-art > .premium-icon{
  display:block;
  width:64px;
  height:auto;
  max-width:none;
  transform:none;
  clip-path:inset(0 0 15% 0);
}
.top-action-label,
.profile-summary>span:last-child,
.logout-link>span{
  color:#082617;
  font-size:14px;
  font-weight:850;
  line-height:1.2;
}
.top-action,
.profile-summary,
.logout-link{
  align-items:center;
}

/* De navigatie en footer gebruiken dezelfde visuele pictogramgrootte als de
   header, zonder het ingebakken goudkleurige onderschrift. */
.sidebar nav a .nav-icon .premium-icon,
.sidebar-bottom .nav-icon .premium-icon{
  width:68px;
  height:auto;
  max-width:none;
  transform:translateX(-5px);
  clip-path:inset(0 0 31% 0);
}
.footer-icon{
  width:44px;
  height:48px;
  flex:0 0 44px;
  overflow:hidden;
}
.footer-icon .premium-icon{
  width:52px;
  height:auto;
  max-width:none;
  transform:translateX(-4px);
  clip-path:inset(0 0 30% 0);
}

/* Logo behoudt zijn verhouding en krijgt op 100% zoom dezelfde rustige marge
   als in de goedgekeurde factuur- en betaalverzoekkop. */
@media (min-width:761px){
  .logo-art{
    width:300px;
    height:145px;
  }
  .logo-art img{
    width:300px;
    height:150px;
    clip-path:inset(0 0 8% 0);
  }
  .logo-tagline{
    font-size:14px;
  }
}

/* Footer: juridische links rustig en leesbaar uitgelijnd. */
.footer-links a{
  flex-direction:column;
  justify-content:center;
  gap:4px;
  min-height:72px;
  padding:2px 8px;
  line-height:1.15;
  white-space:normal;
}
.footer-icon{
  width:44px;
  height:44px;
  flex:0 0 44px;
}
.footer-icon .premium-icon{
  width:52px;
  height:auto;
}
.footer-links a>span:last-child{
  max-width:100%;
  text-align:center;
}

/* Handboekgetrouwe betaalverzoekweergave. */
.payment-request-editor{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.45fr);gap:18px;margin:18px 0}.payment-document{background:#fff;border:1px solid #d7ddd8;border-radius:10px;padding:24px;box-shadow:0 6px 24px rgba(8,38,23,.05)}.payment-document-brand{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid var(--gold);padding-bottom:14px;color:var(--deep)}.payment-document-brand strong,.payment-document-brand span{display:block;font-family:Georgia,serif;letter-spacing:.08em}.payment-document-brand strong{font-size:24px}.payment-document-brand span{font-size:13px;color:var(--gold);letter-spacing:.18em}.payment-document-brand small{color:var(--muted);font-size:10px}.payment-document-title{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;padding:22px 0}.payment-document-title h2{font-family:Georgia,serif;color:var(--deep);font-size:30px;letter-spacing:.06em;margin:0 0 12px}.payment-document-title p{font-size:12px;margin:6px 0;line-height:1.55}.payment-auto-card{border:1px solid #e1e4e1;border-radius:9px;background:#fbfcfb;padding:13px;display:grid;grid-template-columns:1fr auto;gap:7px 12px;align-content:start;font-size:10px}.payment-auto-card b{grid-column:1/-1;color:var(--green);font-size:11px;margin-bottom:3px}.payment-auto-card span{color:var(--muted)}.payment-auto-card strong{font-size:10px;color:var(--deep);font-weight:800;text-align:right}.payment-document-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.payment-card{border:1px solid #e1e4e1;border-radius:8px;padding:15px;background:#fff}.payment-card h3{font-family:Georgia,serif;color:#9b6e20;font-size:14px;letter-spacing:.05em;margin:0 0 11px}.payment-readonly{display:grid;grid-template-columns:112px minmax(0,1fr);gap:8px;align-items:center;border-bottom:1px solid #edf0ee;padding:7px 0;font-size:11px}.payment-readonly span{color:var(--muted);font-weight:750}.payment-readonly strong{font-weight:700;color:var(--deep);overflow-wrap:anywhere}.payment-card label{display:grid;gap:5px;margin:9px 0;font-size:11px;color:var(--green);font-weight:800}.payment-card input,.payment-card select,.payment-card textarea,.payment-side select{padding:9px 10px;border:1px solid #bdc9c3;border-radius:7px;background:#fff;color:var(--ink);font-weight:400}.payment-card textarea{min-height:72px;resize:vertical}.payment-relation{background:#fbf8f1;border-left:3px solid var(--gold);padding:8px 10px;font-size:11px;margin:12px 0 0;color:#72551d}.payment-order-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}.payment-order-grid .payment-readonly:last-child{border:1px solid #d7ddd8;background:#f3f5f3;border-radius:7px;padding:10px;display:block}.payment-order-grid .payment-readonly:last-child span,.payment-order-grid .payment-readonly:last-child strong{display:block}.payment-order-grid .payment-readonly:last-child strong{font-size:18px;color:var(--deep);margin-top:4px}.payment-warning{background:#fbf8f1;border-left:3px solid var(--gold);padding:9px 11px;color:#72551d!important;font-size:11px!important;margin-bottom:0!important}.payment-qr{min-height:190px}.qr-placeholder{height:112px;border:1px dashed #c5a466;border-radius:8px;display:grid;place-items:center;text-align:center;color:var(--muted);font-size:11px;padding:12px}.payment-signature{display:grid;gap:3px;padding:17px 3px;color:var(--deep);font-size:11px}.payment-signature strong{font-size:13px;margin-top:6px}.payment-signature b{color:var(--gold)}.payment-document-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#fbf8f1;border:1px solid #eadfc8;border-radius:8px;padding:12px;font-size:11px;color:#72551d}.payment-document-footer .primary{flex:0 0 auto}.payment-side{display:grid;align-content:start;gap:18px}.payment-side select{width:100%;margin:9px 0}.payment-side .panel{padding:18px}.payment-side p{font-size:11px}.auth-card{max-width:660px}.auth-secret{display:grid;gap:7px;margin:18px 0;background:#fbf8f1;border-left:3px solid var(--gold)}.auth-secret strong{color:var(--green);font-size:11px}.auth-secret span,.auth-secret code{color:var(--deep);overflow-wrap:anywhere}.auth-secret code{font-size:16px;letter-spacing:.08em}.auth-secret small,.auth-uri{color:var(--muted);font-size:10px;overflow-wrap:anywhere}.auth-uri{margin:0;display:none}
@media(max-width:1100px){.payment-request-editor{grid-template-columns:1fr}.payment-side{grid-template-columns:1fr 1fr}.payment-document-title{grid-template-columns:1fr 260px}}
@media(max-width:760px){.payment-document{padding:15px}.payment-document-brand,.payment-document-footer{align-items:flex-start;flex-direction:column}.payment-document-title,.payment-document-grid,.payment-side,.payment-order-grid{grid-template-columns:1fr}.payment-auto-card{grid-template-columns:1fr auto}.payment-document-title h2{font-size:25px}.payment-readonly{grid-template-columns:1fr}.payment-document-footer .primary{width:100%}}


/* ============================================================
   Billy_Autom, 18-08-2026, koppellaag Laravel-klassen op de tokens
   van de referentieomgeving (ACT-26/ACT-27). De Blade-views van Mijn
   Kompas en het Beheerportaal gebruiken eigen klassenamen; hieronder
   krijgen die exact dezelfde kleuren, radii, schaduwen en typografie
   als hierboven is vastgelegd. Geen enkele token wordt hier opnieuw
   gedefinieerd; alles verwijst naar de variabelen uit :root.
   Het raamwerk (.portal > .sidebar + .portal-main + .portal-footer)
   wordt sinds ACT-27 volledig door de referentieregels hierboven
   gestuurd; deze laag raakt alleen de pagina-inhoud.
   ============================================================ */

body{font-family:Inter,Arial,sans-serif;background:var(--cream);color:var(--ink)}
h1,h2,h3,h4{font-family:Georgia,serif;color:var(--deep);font-weight:500}

/* Chrome-knoppen mogen niet de algemene knopopmaak van de inhoud krijgen */
.topbar button,.sidebar button,.portal-footer button,.logout-form button{background:none;border:0;border-radius:0;padding:0;box-shadow:none}
.logout-form{margin:0;display:flex;align-self:stretch}
.logout-form button{cursor:pointer}
.topbar button:hover,.sidebar button:hover,.portal-footer button:hover{border:0;color:inherit}
.page-head .content-user{color:var(--muted);font-size:12px;font-weight:700;white-space:nowrap}

/* Kaarten en rasters */
.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;box-shadow:0 3px 12px rgba(8,38,23,.025);margin-bottom:18px}
.card h2,.card h3{font-family:Georgia,serif;color:var(--deep);margin:0 0 12px}
.card h2{font-size:19px}
.card h3{font-size:16px}
.card p{color:var(--muted);line-height:1.6}
.grid{display:grid;gap:18px}
.grid.cols-2{grid-template-columns:1fr 1fr}
.grid.cols-3{grid-template-columns:repeat(3,1fr)}
.grid.cols-4{grid-template-columns:repeat(4,1fr)}
.stack{display:grid;gap:10px;margin:10px 0}
.muted{color:var(--muted)}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:800;color:#69756f;margin:0 0 10px}
.dossier-title{color:var(--gold);font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}

/* Formulieren */
.field{display:grid;gap:6px;margin-bottom:12px}
.field label,.content label{font-size:11px;font-weight:800;color:var(--green)}
.field input,.field select,.field textarea,.content input[type=text],.content input[type=email],.content input[type=password],.content input[type=date],.content input[type=time],.content input[type=datetime-local],.content input[type=number],.content input[type=search],.content input[type=url],.content select,.content textarea{width:100%;padding:11px 12px;border:1px solid #cbd5d0;border-radius:8px;background:#fff;color:var(--ink);font-weight:400}
.content textarea{min-height:110px;resize:vertical}
.content input[type=checkbox]{width:auto}

/* Knoppen binnen de pagina-inhoud */
.content .button,.content button{border-radius:8px;padding:11px 16px;font-weight:750;font-size:13px;cursor:pointer;background:#fff;border:1px solid #bdc9c3;color:var(--green);display:inline-flex;align-items:center;justify-content:center;gap:8px}
.content .button:hover,.content button:hover{border-color:var(--gold);color:#805e1d}
.content .button.goud,.content button.goud,.content .button.primary,.content button[type=submit].primary{background:var(--gold);border-color:var(--gold);color:var(--deep)}
.content .button.goud:hover,.content button.goud:hover{background:#c69b4b;color:var(--deep)}
.content a.button{text-decoration:none}

/* Statuslabels */
.badge{display:inline-block;border-radius:20px;padding:5px 9px;font-size:10px;font-weight:800;white-space:nowrap;background:#edf0ef;color:#59645f}

/* Meldingen */
.alert{padding:14px 18px;border-radius:9px;background:#eaf2ee;border-left:4px solid var(--green);margin-bottom:18px;font-size:13px;color:#3d4a44}
.alert.error,.content .error{background:#f9e7e4;border-left-color:var(--red);color:#973b34}

/* Tabellen */
.table-wrap{overflow:auto}
.table-wrap table{width:100%;border-collapse:collapse;font-size:12px}
.table-wrap th{text-align:left;text-transform:uppercase;letter-spacing:.06em;font-size:9px;color:#78847e;background:#f4f6f4;padding:11px}
.table-wrap th a{color:#78847e}
.table-wrap td{padding:14px 11px;border-bottom:1px solid #edf0ee;color:#415049}
.table-wrap tbody tr:hover{background:#fbfcfb}

/* Agenda: dezelfde opbouw als de referentieomgeving */
.agenda-kop{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.agenda-badge{border:1px solid var(--line);border-radius:999px;padding:.3rem .8rem;font-size:11px;color:var(--muted);white-space:nowrap}
.agenda-melding{padding:14px 18px;border-radius:9px;background:#eaf2ee;border-left:4px solid var(--green);display:flex;gap:16px;margin:16px 0 4px;font-size:12px}
.agenda-melding .cirkel{width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center}
.agenda-melding strong{display:block;color:var(--deep);font-size:13px;margin-bottom:4px}
.agenda-melding p{margin:0;color:#56635d}
.week-balk{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}
.week-balk a{border:1px solid var(--line);border-radius:7px;padding:6px 11px;color:var(--green);font-weight:700}
.week-balk a:hover{border-color:var(--gold);color:#805e1d}
.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin-top:16px}
.week-dag{border:1px solid var(--line);border-radius:11px;padding:12px;background:#fff}
.week-dag .dagkop{font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:#78847e;margin:0}
.week-dag h4{font-family:Georgia,serif;font-size:17px;color:var(--deep);margin:2px 0 8px;font-weight:500}
.week-dag p.muted{font-size:11px;line-height:1.4}
.pil{display:inline-block;border-radius:20px;padding:5px 9px;font-size:10px;font-weight:800}
.pil-open{background:#e4f1e9;color:#23613e}
.pil-dicht{background:#edf0ef;color:#59645f}
.week-dag .slot{display:block;border:1px solid var(--line);border-radius:7px;padding:6px 4px;margin:5px 0;font-size:11px;text-align:center;color:var(--green);background:#fff}
.week-dag .slot-bezet{border-color:var(--red);background:#f9e7e4;color:#973b34}
.legenda{display:flex;gap:18px;flex-wrap:wrap;margin-top:14px;font-size:11px;color:var(--muted)}
.legenda span::before{content:'\25CF';margin-right:6px}
.beschikbaarheid-rij{display:grid;grid-template-columns:1.4fr .8fr auto .8fr;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid #edf0ee}
.beschikbaarheid-rij label{font-size:13px;color:var(--ink);font-weight:400;display:flex;align-items:center;gap:8px}
.beschikbaarheid-rij input[type=time]{padding:8px 10px}

/* Tijdlijn in Mijn Kompas */
.content .timeline{list-style:none;padding:0;margin:0}
.content .timeline li{display:block;padding:0 0 18px 20px;border-left:1px solid var(--line);margin-left:9px;position:relative}
.content .timeline li:after{display:none}
.content .timeline li::before{content:'';position:absolute;left:-6px;top:3px;width:11px;height:11px;border-radius:50%;background:var(--green)}
.content .timeline li:last-child{border-left-color:transparent}

/* Kengetallen op het dashboard */
.metric{background:#fff;border:1px solid var(--line);border-radius:11px;padding:17px;display:grid;gap:2px}
.metric .eyebrow,.metric small{color:var(--muted);font-size:10px;margin:0}
.metric strong,.metric b,.metric span{font-family:Georgia,serif;font-size:26px;color:var(--deep)}

@media(max-width:1100px){.week-grid{grid-template-columns:repeat(4,1fr)}.grid.cols-3,.grid.cols-4{grid-template-columns:1fr 1fr}}
@media(max-width:760px){
  .grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns:1fr}
  .week-grid{grid-template-columns:1fr 1fr}
  .beschikbaarheid-rij{grid-template-columns:1fr}
}

/* ============================================================
   Billy_Autom, 18-08-2026, ACT-27 punt 4: pashoogte op laptopschermen.
   Gemeten in een viewport van 1440x810 (gangbare 15,6"-laptop na aftrek
   van browserchrome): de sidebar-inhoud was 812px hoog bij 699px
   beschikbare hoogte, waardoor het onderste menupunt wegviel, en de
   footer 126px bij 108px. Onderstaande compacte maatvoering brengt
   kop, menu, inhoud en voettekst binnen één beeldscherm. Boven 950px
   schermhoogte geldt onverkort de maatvoering van de referentie.
   ============================================================ */
@media (min-width:761px){
  .sidebar nav{min-height:0;overflow-y:auto}
}
@media (min-width:761px) and (max-height:950px){
  :root{--portal-header-height:150px;--portal-footer-height:118px}
  .portal{grid-template-rows:minmax(0,calc(100vh - 118px)) 118px}
  .logo{height:150px;min-height:150px;flex:0 0 150px;margin:-14px -14px 0;padding:2px 10px 30px}
  .logo-art{width:286px;height:124px}
  .logo-art img{width:286px;height:138px}
  .logo-tagline{font-size:13px;bottom:6px}
  .portal-name{margin:2px 10px 4px;padding-top:8px;font-size:12px}
  .topbar{height:150px;min-height:150px;padding:12px 28px}
  .portal-footer{height:118px;min-height:118px}
  .sidebar nav a{min-height:46px;padding:0 14px}
  .nav-label{font-size:15px}
  .sidebar nav a .nav-icon,.sidebar nav a .nav-icon-home{width:42px;height:49px;flex-basis:42px}
  .sidebar nav a .nav-icon .premium-icon{width:50px;height:auto}
  .sidebar nav a .nav-icon-home .premium-icon{width:46px;height:54px}
  .top-action{min-height:56px;padding:6px 12px}
  .top-action-icon,.profile-icon,.logout-link .premium-icon{width:46px;height:54px;flex-basis:46px}
  .top-action-icon-art,.profile-icon .top-action-icon-art,.logout-icon .top-action-icon-art{width:50px;height:47px;flex-basis:50px}
  .top-action-icon-art>.premium-icon,.profile-icon .top-action-icon-art>.premium-icon,.logout-icon .top-action-icon-art>.premium-icon{width:50px}
  .content{padding:14px 26px 16px}
}
@media (min-width:761px) and (max-width:1600px){
  .footer-links a{font-size:12px;padding:0 6px;min-height:64px}
  .footer-icon{width:36px;height:33px;flex:0 0 36px}
  .footer-icon .premium-icon{width:36px}
}

/* Billy_Autom, 18-08-2026, ACT-27 nazorg: paginakop met introregel, losse
   tabellen op een kaartvlak en kengetallen zonder invoervak-uiterlijk. */
.page-head-side{display:flex;align-items:center;gap:14px}
.page-head p{max-width:900px}
.card .metric{display:block;margin-top:2px;padding:0;border:0;border-radius:0;background:none;font-family:Georgia,serif;font-size:30px;color:var(--deep)}
.content>.table-wrap{margin-bottom:18px;padding:6px 14px 10px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 3px 12px rgba(8,38,23,.025)}
.footer-links a>span:last-child{margin-top:auto}

/* Billy_Autom, 18-08-2026, ACT-27: het logo op de inlog-, MFA- en
   activatieschermen is een losse afbeelding en mag niet de portaalkop-
   maatvoering van .logo overnemen. */
.auth-card img.logo{display:block;flex:none;width:230px;max-width:100%;height:auto;margin:0 auto 12px;padding:0;background:none;border:0;overflow:visible}

/* ============================================================
   Billy_Autom, 18-08-2026, ACT-27 nazorg: inlog-, MFA-, activatie- en
   wachtwoordschermen. Deze schermen gebruiken resources/views/layouts/
   auth.blade.php met .auth-shell en .auth-card. Die twee klassen komen
   niet voor in app/globals.css van de referentieomgeving (alleen
   .auth-card{max-width:660px}); zij kregen hun opmaak tot 18-08-2026
   uit de oorspronkelijke portal.css. Hieronder krijgen zij dezelfde
   opmaak als .entry-page/.entry-card uit de referentie.
   ============================================================ */
.auth-shell{min-height:100vh;display:grid;place-items:center;padding:36px 6vw;background:linear-gradient(135deg,var(--deep),#174438)}
.auth-card{width:100%;max-width:460px;margin:0 auto;background:#fff;color:var(--ink);border-radius:20px;padding:34px 32px 30px;box-shadow:0 28px 80px rgba(0,0,0,.22)}
.auth-card h1{margin:0 0 6px;font-family:Georgia,serif;font-size:28px;font-weight:500;color:var(--deep);text-align:center}
.auth-card p{margin:0 0 16px;color:var(--muted);font-size:13px}
.auth-card label{display:block;margin-bottom:5px;font-size:11px;font-weight:800;color:var(--green)}
.auth-card input[type=text],.auth-card input[type=email],.auth-card input[type=password],.auth-card input[type=number],.auth-card input[type=tel],.auth-card select{width:100%;margin-bottom:14px;padding:11px 12px;border:1px solid #cbd5d0;border-radius:8px;background:#fff;color:var(--ink)}
.auth-card button,.auth-card .button{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:4px;padding:12px 16px;border:1px solid var(--green);border-radius:8px;background:var(--green);color:#fff;font-size:14px;font-weight:750;cursor:pointer}
.auth-card button:hover,.auth-card .button:hover{background:var(--deep);border-color:var(--deep)}
.auth-card a{display:inline-block;margin-top:12px;color:var(--green);font-size:12px;font-weight:700;text-decoration:underline}
.auth-card .alert{margin-bottom:14px}
