:root{--bg:#f5f7f6;--panel:#ffffff;--text:#13211f;--muted:#63716d;--line:#dfe7e3;--brand:#0c5b4f;--brand2:#0e9f6e;--accent:#d4af37;--danger:#b42318;--warn:#b7791f;--ok:#087443;--shadow:0 10px 35px rgba(16,24,40,.08);--radius:18px}.theme-dark{--bg:#0d1514;--panel:#14201e;--text:#eef7f4;--muted:#a8bbb5;--line:#28413c;--brand:#17a589;--brand2:#2dd4bf;--accent:#f2c94c;--shadow:0 10px 35px rgba(0,0,0,.35)}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}.app-shell{display:flex;min-height:100vh}.sidebar{width:278px;background:linear-gradient(180deg,#073f38,#0b5f52);color:#fff;padding:22px;position:fixed;inset:0 auto 0 0;overflow:auto}.brand{display:flex;align-items:center;gap:13px;margin-bottom:28px}.brand-mark{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,var(--accent),#fff7bd);color:#073f38;font-weight:800;display:grid;place-items:center}.brand small{display:block;opacity:.82}.sidebar nav{display:grid;gap:6px}.sidebar a{padding:12px 13px;border-radius:12px;color:#edfdf8}.sidebar a:hover{background:rgba(255,255,255,.13)}.main{margin-left:278px;width:calc(100% - 278px)}.topbar{height:auto;min-height:74px;background:var(--panel);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:16px 24px;position:sticky;top:0;z-index:5}.topbar h1{font-size:22px;margin:0}.top-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.content{padding:24px;max-width:1500px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;margin-bottom:18px}.grid{display:grid;gap:18px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi{display:flex;flex-direction:column;gap:8px}.kpi strong{font-size:30px}.muted{color:var(--muted)}.btn,button{border:0;border-radius:12px;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;padding:10px 14px;font-weight:700;cursor:pointer;display:inline-flex;gap:8px;align-items:center}.btn.secondary{background:var(--panel);color:var(--text);border:1px solid var(--line)}.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--text)}.btn.danger{background:var(--danger)}input,select,textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--text)}label{font-weight:700;font-size:14px;margin-bottom:6px;display:block}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px;border-bottom:1px solid var(--line);vertical-align:top}.table th{text-align:left;color:var(--muted);font-size:13px}.badge{display:inline-flex;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800;border:1px solid var(--line);background:rgba(12,91,79,.1)}.badge-gepubliceerd,.badge-goedgekeurd,.badge-afgerond{background:rgba(8,116,67,.15);color:var(--ok)}.badge-review,.badge-in-review,.badge-open{background:rgba(183,121,31,.16);color:var(--warn)}.badge-vervallen,.badge-gearchiveerd{background:rgba(180,35,24,.14);color:var(--danger)}.progress{height:22px;background:rgba(128,128,128,.18);border-radius:999px;overflow:hidden;position:relative}.progress-fill{height:100%;background:linear-gradient(90deg,#ef4444,#f59e0b,#22c55e,#14b8a6);border-radius:999px}.progress span{position:absolute;inset:0;text-align:center;font-size:12px;font-weight:900;line-height:22px;color:#101828}.toc{display:grid;gap:8px}.toc-item{display:grid;grid-template-columns:1fr auto auto auto;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;background:rgba(12,91,79,.04)}.doc-layout{display:grid;grid-template-columns:320px 1fr;gap:20px}.doc-toc{position:sticky;top:92px;max-height:calc(100vh - 120px);overflow:auto}.section-box{border:1px solid var(--line);border-radius:14px;padding:16px;margin:14px 0;background:var(--panel)}.norm-text{border-left:5px solid var(--accent);background:rgba(212,175,55,.1)}.interpretation{border-left:5px solid var(--brand2);background:rgba(45,212,191,.08)}.locked{font-size:12px;font-weight:800;color:var(--muted)}.editor-toolbar{display:flex;gap:6px;flex-wrap:wrap;border:1px solid var(--line);border-radius:14px 14px 0 0;padding:8px;background:rgba(128,128,128,.08)}.editor-toolbar button{padding:7px 10px;border-radius:9px;background:var(--panel);color:var(--text);border:1px solid var(--line)}.wysiwyg{min-height:360px;border:1px solid var(--line);border-top:0;border-radius:0 0 14px 14px;padding:18px;background:var(--panel);outline:none}.wizard-steps{display:flex;gap:8px;margin-bottom:18px}.wizard-step{flex:1;padding:12px;border-radius:14px;background:rgba(128,128,128,.12);font-weight:800}.wizard-step.active{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff}.notice{padding:12px 14px;border-radius:14px;background:rgba(45,212,191,.12);border:1px solid var(--line)}.mobile-menu{display:none}.inline{display:inline}.theme-toggle{font-size:22px}.user-pill{padding:8px 12px;border-radius:999px;background:rgba(128,128,128,.12);font-size:13px}@media(max-width:900px){.sidebar{transform:translateX(-100%);transition:.2s;z-index:20}.sidebar.open{transform:translateX(0)}.main{margin-left:0;width:100%}.mobile-menu{display:inline-flex}.grid-2,.grid-3,.grid-4,.form-row,.doc-layout{grid-template-columns:1fr}.toc-item{grid-template-columns:1fr}.content{padding:14px}.topbar{padding:12px;align-items:flex-start;gap:10px;flex-direction:column}.top-actions{width:100%}}@media print{.sidebar,.topbar,.btn,.editor-toolbar{display:none!important}.main{margin:0;width:100%}.card{box-shadow:none;border:0}.content{padding:0}.section-box{break-inside:avoid}}

/* SafeMentis usability update: standards workspace, handbook one-page layout and editor images */
.small{font-size:12px}.button-row{display:flex;gap:10px;flex-wrap:wrap}.no-print{}
.standards-workspace{display:grid;grid-template-columns:330px minmax(0,1fr);gap:20px;align-items:start}.standards-nav{position:sticky;top:92px;max-height:calc(100vh - 118px);overflow:auto}.std-nav-item{display:block;padding:12px;border:1px solid var(--line);border-radius:14px;margin-bottom:8px;background:rgba(128,128,128,.06)}.std-nav-item:hover,.std-nav-item.active{border-color:var(--brand2);background:linear-gradient(135deg,rgba(12,91,79,.10),rgba(14,159,110,.10))}.std-nav-item small{display:block;color:var(--muted);margin-top:4px}.requirement-card summary{display:flex;justify-content:space-between;gap:14px;cursor:pointer;font-weight:700}.requirement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.requirement-grid section{border:1px solid var(--line);border-radius:14px;padding:14px;background:rgba(128,128,128,.05)}.requirement-grid .wide{grid-column:1/-1}
.handbook-shell{display:grid;grid-template-columns:minmax(285px,360px) minmax(0,1fr);gap:22px;align-items:start}.handbook-toc{position:sticky;top:92px;max-height:calc(100vh - 116px);overflow:auto}.handbook-logo{max-height:72px;max-width:100%;object-fit:contain;margin-bottom:12px}.toc-list{display:grid;gap:9px}.toc-card{display:grid;gap:5px;border:1px solid var(--line);border-radius:14px;padding:12px;background:rgba(128,128,128,.055)}.toc-card:hover{border-color:var(--brand2);box-shadow:0 8px 22px rgba(16,24,40,.08)}.toc-title{line-height:1.28}.toc-meta{font-size:12px;color:var(--muted)}.handbook-content{min-width:0}.handbook-cover{background:linear-gradient(135deg,rgba(12,91,79,.12),rgba(14,159,110,.08),rgba(212,175,55,.09))}.meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.meta-grid>div{border:1px solid var(--line);border-radius:14px;padding:12px;background:rgba(255,255,255,.35)}.doc-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:14px}.doc-header h2{margin:.1rem 0}.chapter-number{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:12px;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;font-weight:900;margin-bottom:8px}.doc-actions{display:flex;gap:8px;flex-wrap:wrap}.doc-meta-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.doc-meta-row>span{border:1px solid var(--line);border-radius:999px;padding:7px 10px;background:rgba(128,128,128,.06)}.client-method{border-left:5px solid var(--brand)}.doc-html img,.wysiwyg img{max-width:100%;height:auto;border-radius:12px;border:1px solid var(--line);padding:4px;background:var(--panel)}.doc-image{margin:16px 0;text-align:center}.doc-image figcaption{font-size:12px;color:var(--muted);margin-top:5px}.archive-box{border:1px solid var(--line);border-radius:14px;padding:12px;margin-top:12px}.archive-box summary{font-weight:800;cursor:pointer}.editor-help{border-left:3px solid var(--brand2);padding-left:10px;margin:0 0 8px 0}.wysiwyg figure{outline:1px dashed transparent}.wysiwyg figure:focus-within,.wysiwyg figure:hover{outline-color:var(--brand2)}
@media(max-width:1100px){.standards-workspace,.handbook-shell{grid-template-columns:1fr}.standards-nav,.handbook-toc{position:relative;top:auto;max-height:none}.meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.doc-header{flex-direction:column}}
@media(max-width:700px){.meta-grid,.requirement-grid{grid-template-columns:1fr}.doc-meta-row>span{width:100%}.doc-actions{width:100%}.doc-actions .btn{flex:1;justify-content:center}}
@media print{.no-print,.standards-nav,.sidebar,.topbar,.doc-actions{display:none!important}.handbook-shell{display:block}.handbook-content{width:100%}.handbook-doc{page-break-inside:avoid}.archive-box{display:none}.doc-header{break-after:avoid}.meta-grid{grid-template-columns:repeat(2,1fr)}}

/* SafeMentis usability + branding update */
.brand-logo{width:56px;height:56px;object-fit:contain;border-radius:14px;background:rgba(255,255,255,.92);padding:5px;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.top-title{display:flex;align-items:center;gap:12px}.top-logo{width:38px;height:38px;object-fit:contain;border-radius:10px;background:var(--panel);padding:3px;border:1px solid var(--line)}
.login-body{min-height:100vh;background:radial-gradient(circle at 20% 10%,rgba(45,212,191,.22),transparent 30%),linear-gradient(135deg,#061412,#0e2d2a 48%,#10211f);}
.login-page{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:34px;padding:clamp(18px,4vw,60px);max-width:1220px;margin:auto}.login-panel{border:1px solid rgba(255,255,255,.12);border-radius:30px;background:rgba(20,32,30,.78);backdrop-filter:blur(14px);box-shadow:0 30px 90px rgba(0,0,0,.38);padding:clamp(24px,4vw,48px)}.login-brand-panel{min-height:560px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.login-brand-panel:before{content:"";position:absolute;inset:auto -80px -120px auto;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(45,212,191,.22),transparent 65%)}.login-logo{width:min(300px,70vw);height:auto;object-fit:contain;margin:0 auto 24px;display:block;filter:drop-shadow(0 18px 36px rgba(0,0,0,.35))}.login-brand-panel h1{font-size:clamp(34px,5vw,58px);line-height:1.02;margin:0 0 16px;text-align:center;color:#f4fffb}.login-brand-panel p{font-size:18px;line-height:1.7;color:#bfd7d1;text-align:center;max-width:620px;margin:0 auto}.login-security-card{margin:34px auto 0;padding:16px 18px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#eef7f4;text-align:center;max-width:420px}.login-security-card span{color:#a8bbb5}.login-form-panel{max-width:520px;width:100%;justify-self:center}.login-topline{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:28px}.login-lang-form label{font-size:12px;color:#a8bbb5;margin-bottom:6px}.login-lang-form select{min-width:142px;background:#0d1514;color:#eef7f4;border-color:#28413c}.dark-default-pill{border:1px solid #28413c;background:rgba(255,255,255,.06);padding:10px 12px;border-radius:999px;color:#d7e7e3;font-size:13px;font-weight:800}.login-form-panel h2{font-size:32px;margin:0 0 18px;color:#eef7f4}.login-form label{color:#d7e7e3;margin-top:16px}.login-form input{background:#0d1514;color:#eef7f4;border-color:#28413c;font-size:16px}.login-submit{width:100%;justify-content:center;margin-top:24px;padding:14px 18px;font-size:16px}.login-error{padding:13px 15px;border-radius:14px;background:rgba(180,35,24,.18);border:1px solid rgba(255,120,120,.22);color:#ffd6d6;margin-bottom:16px}.handbook-shell{display:grid;grid-template-columns:minmax(280px,380px) minmax(0,1fr);gap:20px;align-items:start}.handbook-toc{position:sticky;top:92px;max-height:calc(100vh - 112px);overflow:auto}.handbook-logo{max-width:180px;max-height:80px;object-fit:contain;display:block;margin:0 0 16px}.toc-list{display:grid;gap:10px}.toc-card{display:block;border:1px solid var(--line);border-radius:14px;padding:12px;background:rgba(128,128,128,.07)}.toc-card:hover{border-color:var(--brand2);transform:translateY(-1px)}.toc-title{display:block;margin-bottom:6px}.toc-meta{display:block;color:var(--muted);font-size:12px;margin-top:3px}.handbook-content{min-width:0}.handbook-cover .meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.handbook-cover .meta-grid>div,.doc-meta-row{border:1px solid var(--line);border-radius:14px;padding:12px;background:rgba(128,128,128,.07)}.handbook-doc{scroll-margin-top:96px}.doc-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.chapter-number{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;font-weight:900;margin-bottom:10px}.doc-actions{display:flex;gap:8px;flex-wrap:wrap}.doc-meta-row{display:flex;gap:18px;flex-wrap:wrap;margin:14px 0}.section-box img,.wysiwyg img,.doc-image img{max-width:100%;height:auto;border-radius:12px;border:1px solid var(--line)}.doc-image{margin:18px 0}.doc-image figcaption{color:var(--muted);font-size:13px;text-align:center;margin-top:6px}.standards-workspace{display:grid;grid-template-columns:340px 1fr;gap:20px;align-items:start}.standards-nav{position:sticky;top:92px;max-height:calc(100vh - 112px);overflow:auto}.std-nav-item{display:block;padding:12px;border:1px solid var(--line);border-radius:14px;margin-bottom:8px;background:rgba(128,128,128,.06)}.std-nav-item.active,.std-nav-item:hover{border-color:var(--brand2);background:rgba(45,212,191,.1)}.std-nav-item small{display:block;color:var(--muted);margin-top:4px}.button-row{display:flex;gap:10px;flex-wrap:wrap}.requirement-card summary{display:flex;justify-content:space-between;gap:12px;cursor:pointer}.requirement-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.requirement-grid section{border:1px solid var(--line);border-radius:14px;padding:14px;background:rgba(128,128,128,.06)}.requirement-grid .wide{grid-column:1/-1}.editor-help{margin:8px 0}.small{font-size:12px}.no-print{}
@media(max-width:1000px){.login-page,.handbook-shell,.standards-workspace{grid-template-columns:1fr}.login-brand-panel{min-height:auto}.handbook-toc,.standards-nav{position:relative;top:auto;max-height:none}.handbook-cover .meta-grid{grid-template-columns:1fr 1fr}}@media(max-width:680px){.login-page{padding:14px}.login-panel{padding:22px;border-radius:22px}.login-topline{align-items:stretch;flex-direction:column}.handbook-cover .meta-grid,.requirement-grid{grid-template-columns:1fr}.doc-header{flex-direction:column}.doc-actions{width:100%}.doc-actions .btn{flex:1;justify-content:center}}
@media print{.no-print,.handbook-toc,.sidebar,.topbar{display:none!important}.handbook-shell,.standards-workspace{display:block}.handbook-doc{break-inside:avoid}.section-box{break-inside:avoid}}

/* Login refinement + password reset update */
.login-page-balanced{grid-template-columns:1fr 1fr;align-items:stretch}.login-equal-panel{min-height:520px;display:flex;flex-direction:column;justify-content:center}.login-brand-panel h1{display:none}.login-brand-panel .login-logo{margin-bottom:34px}.login-form-panel{max-width:none}.login-forgot{margin:18px 0 0;text-align:center}.login-forgot a{color:#7dd3fc;font-weight:800}.login-forgot a:hover{text-decoration:underline}.login-success{padding:13px 15px;border-radius:14px;background:rgba(8,116,67,.20);border:1px solid rgba(69,255,169,.24);color:#c9ffe2;margin-bottom:16px}.login-access-note{grid-column:1/-1;text-align:center;color:#cfe2dd;background:rgba(20,32,30,.70);border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:16px 24px;box-shadow:0 18px 55px rgba(0,0,0,.22)}.login-access-note p{margin:5px 0;line-height:1.55}.login-form-panel h2{margin-top:8px}.login-form input:focus{outline:2px solid rgba(45,212,191,.55);outline-offset:2px;border-color:#2dd4bf}.login-submit:focus-visible,.login-forgot a:focus-visible{outline:2px solid #f2c94c;outline-offset:3px}
@media(max-width:1000px){.login-page-balanced{grid-template-columns:1fr}.login-equal-panel{min-height:auto}.login-access-note{grid-column:auto}}

/* Cumulative i18n + language flags + theme toggle fix */
.language-select{min-width:170px;font-weight:800;line-height:1.2}.lang-form{display:inline-flex;align-items:center}.theme-toggle.btn{min-height:42px;padding:10px 13px;text-decoration:none;position:relative;z-index:8;white-space:nowrap}.theme-toggle .theme-icon{font-size:18px;line-height:1}.theme-toggle .theme-text{font-size:13px;font-weight:900}.top-actions{position:relative;z-index:9}.theme-dark .theme-toggle.btn{border-color:#3b5c55;background:rgba(255,255,255,.06);color:#eef7f4}.theme-dark .theme-toggle.btn:hover,.theme-toggle.btn:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(0,0,0,.16)}
@media(max-width:760px){.language-select{min-width:100%;}.lang-form,.theme-toggle.btn{width:100%;justify-content:center}.top-actions{display:grid;grid-template-columns:1fr;align-items:stretch}.theme-toggle .theme-text{display:inline}}

/* Login language flags + login theme toggle correction */
.language-flags{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.lang-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 9px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.05);color:var(--text);font-weight:800;font-size:12px;line-height:1;transition:.15s ease;min-height:38px}
.lang-chip:hover{transform:translateY(-1px);border-color:var(--brand2);box-shadow:0 8px 20px rgba(0,0,0,.15)}
.lang-chip.active{border-color:var(--brand2);background:linear-gradient(135deg,rgba(23,165,137,.22),rgba(45,212,191,.18));box-shadow:inset 0 0 0 1px rgba(45,212,191,.22)}
.flag-icon{width:28px;height:19px;border-radius:3px;object-fit:cover;border:1px solid rgba(0,0,0,.22);box-shadow:0 1px 4px rgba(0,0,0,.22);background:#fff;flex:0 0 auto}
.lang-short{letter-spacing:.03em}.lang-name{display:none}.topbar-language .lang-name{display:none}.topbar-language .lang-chip{padding:7px 8px}.login-language{margin-top:7px}.login-language .lang-chip{color:#eef7f4;border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.07)}.theme-light .login-language .lang-chip{color:#13211f;border-color:rgba(13,50,44,.18);background:rgba(255,255,255,.74)}.login-control-label{display:block;font-weight:800;font-size:12px;color:#a8bbb5;margin-bottom:6px}.theme-light .login-control-label{color:#51625e}.login-theme-toggle{align-self:flex-end;min-height:42px;white-space:nowrap}.login-topline{align-items:flex-start}.theme-light.login-body{background:radial-gradient(circle at 20% 10%,rgba(14,159,110,.18),transparent 30%),linear-gradient(135deg,#f6fbf8,#e9f4f0 48%,#f8faf9)}.theme-light .login-panel{background:rgba(255,255,255,.84);border-color:rgba(12,91,79,.16);box-shadow:0 30px 80px rgba(16,24,40,.12)}.theme-light .login-brand-panel p,.theme-light .login-security-card span{color:#526661}.theme-light .login-form-panel h2,.theme-light .login-brand-panel h1,.theme-light .login-security-card{color:#13211f}.theme-light .login-security-card{background:rgba(12,91,79,.06);border-color:rgba(12,91,79,.12)}.theme-light .login-form input{background:#fff;color:#13211f;border-color:#dfe7e3}.theme-light .login-access-note{background:rgba(255,255,255,.82);border-color:rgba(12,91,79,.14);color:#28413c}.theme-light .login-forgot a{color:#0c5b4f}.theme-light .theme-toggle.btn{background:#fff;color:#13211f;border-color:#dfe7e3}.theme-light .dark-default-pill{background:#fff;color:#13211f;border-color:#dfe7e3}
@media(max-width:760px){.language-flags{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.lang-chip{justify-content:center}.login-theme-toggle{align-self:stretch;justify-content:center}.login-topline{gap:12px}.topbar-language{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Dashboard & acties voortgang update */
.section-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.action-progress-summary{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.8rem}
.action-progress-summary span{padding:.55rem .75rem;border:1px solid rgba(148,163,184,.25);border-radius:.8rem;background:rgba(148,163,184,.08)}
.action-table td{vertical-align:top}
.action-table .progress{min-width:120px;max-width:210px}
.action-buttons{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}
.action-buttons form{display:inline;margin:0}
.action-buttons button{white-space:nowrap}
.action-form .form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.alert.success{border:1px solid rgba(34,197,94,.35);background:rgba(34,197,94,.12);padding:.8rem 1rem;border-radius:.9rem;margin-bottom:1rem}
@media (max-width: 760px){.action-form .form-row{grid-template-columns:1fr}.section-head{align-items:flex-start}.action-buttons{flex-direction:column;align-items:flex-start}.action-table{font-size:.92rem}}

/* Impersonate functie */
.impersonate-banner{
  position: sticky;
  top: 0;
  z-index: 50;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 10px 18px;
  background: #ffd84d;
  color: #2b2100;
  border-bottom: 2px solid #c99a00;
  box-shadow: 0 2px 10px rgba(0,0,0,.18);
}
.impersonate-banner strong{margin-right: 10px;}
.impersonate-banner span{font-weight: 600;}
.impersonate-stop{background:#2b2100 !important;color:#fff !important;border-color:#2b2100 !important;white-space:nowrap;}
.inline-form{display:inline;margin:0;}
.btn.tiny,.tiny{padding:4px 8px;font-size:.85rem;line-height:1.1;border-radius:8px;}
.impersonate-icon-btn{min-width:34px;min-height:30px;display:inline-flex;align-items:center;justify-content:center;}
.funny-user-icon{display:inline-block;font-size:1.1rem;animation:safementis-wiggle 2.8s ease-in-out infinite;}
@keyframes safementis-wiggle{0%,92%,100%{transform:rotate(0deg) scale(1)}94%{transform:rotate(-8deg) scale(1.08)}97%{transform:rotate(8deg) scale(1.08)}}
.alert-card{border-left:4px solid #ffb000;}
.nowrap{white-space:nowrap;}
.table-scroll-x{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
@media (max-width: 760px){.impersonate-banner{align-items:flex-start;flex-direction:column}.impersonate-stop{width:100%;text-align:center}}

/* Auditor toegang + verbeterde zwevende impersonatebalk */
body.is-impersonating .content{padding-top:104px;}
.impersonate-banner{
  position:fixed !important;
  top:88px;
  left:302px;
  right:24px;
  z-index:1000;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:15px 18px;
  background:#ffd400 !important;
  color:#1f1600 !important;
  border:3px solid #9a7200 !important;
  border-radius:18px;
  box-shadow:0 18px 40px rgba(0,0,0,.30), 0 0 0 4px rgba(255,212,0,.18);
}
.impersonate-banner:before{content:'🕵️‍♂️';font-size:28px;line-height:1;filter:drop-shadow(0 2px 2px rgba(0,0,0,.2));}
.impersonate-banner-text{display:flex;flex-direction:column;gap:3px;min-width:0;}
.impersonate-banner strong{font-size:16px;letter-spacing:.03em;text-transform:uppercase;margin:0;}
.impersonate-banner span{font-weight:800;}
.impersonate-stop{background:#1f1600 !important;color:#fff !important;border:2px solid #1f1600 !important;border-radius:12px;white-space:nowrap;}
.auditor-client-mini-form{display:grid;gap:7px;min-width:220px;margin:0;}
.auditor-client-mini-form select,.auditor-client-select-row select{min-height:90px;}
@media(max-width:900px){body.is-impersonating .content{padding-top:136px}.impersonate-banner{left:14px;right:14px;top:94px;align-items:flex-start}.impersonate-banner:before{display:none}}
@media(max-width:700px){.impersonate-banner{flex-direction:column}.impersonate-stop{width:100%;justify-content:center}}

/* Smart sidebar menu update */
.smart-nav{display:grid;gap:8px;margin-top:10px}.smart-nav .nav-main,.smart-nav summary{display:flex;align-items:center;gap:9px;padding:12px 13px;border-radius:12px;color:#edfdf8;font-weight:800;cursor:pointer;list-style:none}.smart-nav summary::-webkit-details-marker{display:none}.smart-nav summary:after{content:'▾';margin-left:auto;opacity:.75;transition:transform .16s ease}.smart-nav details:not([open]) summary:after{transform:rotate(-90deg)}.smart-nav .nav-main:hover,.smart-nav summary:hover{background:rgba(255,255,255,.13)}.smart-nav .nav-group{border:1px solid rgba(255,255,255,.10);border-radius:14px;background:rgba(255,255,255,.045);overflow:hidden}.smart-nav .nav-sub{display:grid;gap:3px;padding:0 8px 9px 36px}.smart-nav .nav-sub a{padding:9px 10px;border-radius:10px;color:#e8fff8;font-size:14px;font-weight:650}.smart-nav .nav-sub a:hover{background:rgba(255,255,255,.14)}.smart-nav .nav-sub small{opacity:.72;font-size:11px;margin-left:5px}.client-wizard-cta .card-headline{align-items:center}.client-wizard-cta .btn{white-space:nowrap}@media(max-width:900px){.smart-nav .nav-sub{padding-left:20px}.client-wizard-cta .card-headline{align-items:flex-start;flex-direction:column}}

/* Smart menu overlap/scroll fix - 2026-07-01
   Doel: submenu's duidelijk klikbaar maken, overlappende klikgebieden voorkomen
   en de linker navigatie apart scrollbaar maken wanneer het menu te lang wordt. */
.sidebar{
  height:100vh;
  max-height:100vh;
  overflow-y:auto;
  overflow-x:hidden;
  position:sticky;
  top:0;
  flex:0 0 278px;
  scrollbar-gutter:stable;
  padding-bottom:28px;
}
.sidebar::-webkit-scrollbar{width:9px;}
.sidebar::-webkit-scrollbar-track{background:rgba(255,255,255,.06);border-radius:999px;}
.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.28);border-radius:999px;}
.sidebar::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.42);}
.sidebar .brand{position:relative;z-index:2;flex-shrink:0;margin-bottom:14px;}
.smart-nav{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:8px;
  padding-bottom:18px;
}
.smart-nav .nav-main,
.smart-nav summary{
  position:relative;
  display:flex;
  align-items:center;
  gap:9px;
  width:100%;
  min-height:42px;
  padding:10px 12px;
  line-height:1.22;
  border-radius:12px;
  white-space:normal;
  overflow:visible;
  z-index:1;
}
.smart-nav .nav-main span,
.smart-nav summary span{
  flex:0 0 22px;
  text-align:center;
  line-height:1;
}
.smart-nav .nav-group{
  display:block;
  margin:0;
  overflow:visible;
  border-radius:14px;
}
.smart-nav .nav-group[open]{padding-bottom:6px;}
.smart-nav summary{user-select:none;}
.smart-nav summary:after{flex:0 0 auto;align-self:center;}
.smart-nav .nav-sub{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:4px 8px 8px 34px;
  overflow:visible;
}
.smart-nav .nav-sub a{
  display:block;
  position:relative;
  min-height:34px;
  padding:8px 10px;
  line-height:1.24;
  border-radius:10px;
  white-space:normal;
  overflow-wrap:anywhere;
  z-index:2;
}
.smart-nav .nav-sub a + a{margin-top:0;}
.smart-nav a:focus-visible,
.smart-nav summary:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px;
}
@media(max-height:720px){
  .sidebar{padding-top:18px;padding-bottom:18px;}
  .sidebar .brand{margin-bottom:10px;}
  .smart-nav{gap:6px;}
  .smart-nav .nav-main,.smart-nav summary{min-height:38px;padding:8px 11px;}
  .smart-nav .nav-sub a{min-height:30px;padding:7px 9px;}
}
@media(max-width:900px){
  .sidebar{position:fixed;height:100vh;max-height:100vh;}
  .smart-nav .nav-sub{padding-left:24px;}
}

/* Smart menu content gap fix - 2026-07-01
   De zijbalk is nu onderdeel van de flex-layout. Daarom mag de hoofdcontent
   geen extra margin-left meer hebben, anders ontstaat er een brede lege strook
   tussen menu en pagina. */
@media(min-width:901px){
  .app-shell{display:flex;align-items:stretch;min-height:100vh;}
  .sidebar{position:sticky !important;left:auto;inset:auto auto auto auto;width:278px;min-width:278px;flex:0 0 278px;}
  .main{margin-left:0 !important;width:auto !important;flex:1 1 auto;min-width:0;}
  .content{max-width:none;width:100%;}
}

/* Definitieve sidebar fix - 2026-07-01
   Menu blijft vast staan en scrollt onafhankelijk. De pagina-inhoud begint direct
   naast het menu, zonder dubbele lege marge. */
@media (min-width: 901px){
  .app-shell{
    display:block !important;
    min-height:100vh;
  }
  .sidebar{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    bottom:0 !important;
    right:auto !important;
    width:278px !important;
    min-width:278px !important;
    max-width:278px !important;
    height:100vh !important;
    max-height:100vh !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    z-index:100 !important;
    flex:none !important;
  }
  .main{
    margin-left:278px !important;
    width:calc(100% - 278px) !important;
    min-width:0 !important;
    flex:none !important;
  }
  .topbar{
    left:auto !important;
    right:auto !important;
    width:100% !important;
  }
  .content{
    max-width:none !important;
    width:100% !important;
  }
}
@media (max-width: 900px){
  .app-shell{display:flex !important;}
  .sidebar{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    bottom:0 !important;
    width:278px !important;
    height:100vh !important;
    max-height:100vh !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    z-index:1000 !important;
  }
  .main{margin-left:0 !important;width:100% !important;}
}

/* Klantenpagina: compact overzicht met wizardknop */
.clients-overview-card { margin-top: 0; }
.clients-page-head { align-items: flex-start; gap: 18px; margin-bottom: 18px; }
.clients-page-head h2 { margin-bottom: 6px; }
.client-wizard-btn { white-space: nowrap; align-self: center; }
.clients-table td:last-child { white-space: nowrap; }
.clients-table .btn { margin: 2px 4px 2px 0; }
@media (max-width: 820px) {
  .clients-page-head { flex-direction: column; align-items: stretch; }
  .client-wizard-btn { width: 100%; text-align: center; }
}

/* SafeMentis bibliotheek */
.library-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.library-hero h1{margin:0 0 6px 0}
.library-actions-top{display:flex;gap:10px;flex-wrap:wrap}
.library-cards .card,.library-kind-card{min-height:140px}
.library-kind-card h2{margin-top:0}
.library-filter{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr auto;gap:10px;align-items:end}
.filter-pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.table-scroll-x{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.library-table{min-width:1080px}
.library-table td{vertical-align:top}
.library-table .is-archived{opacity:.65}
.table-actions{white-space:nowrap;display:flex;gap:6px;flex-wrap:nowrap;align-items:center}
.btn.btn-small{padding:7px 10px;font-size:13px;border-radius:10px}
.btn.danger,.btn-small.danger{border-color:#ef4444;color:#fff;background:linear-gradient(135deg,#b91c1c,#ef4444)}
.library-upload-form{display:grid;gap:12px}
.library-upload-form label{display:grid;gap:6px;font-weight:700}
.library-upload-form input,.library-upload-form select,.library-upload-form textarea,.library-filter input,.library-filter select{width:100%}
@media(max-width:1100px){.library-filter{grid-template-columns:1fr 1fr}.library-filter button{grid-column:1/-1}}
@media(max-width:700px){.library-filter{grid-template-columns:1fr}.library-hero{align-items:flex-start}.library-actions-top .btn{width:100%;text-align:center}}

/* Bibliotheek 2.0 - duidelijker overzicht voor admin en klant */
.library-hero-compact{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.library-stats-row{display:flex;gap:8px;flex-wrap:wrap}
.library-stats-row .pill{display:inline-flex;gap:6px;align-items:center;padding:9px 12px;border:1px solid var(--border);border-radius:999px;background:rgba(255,255,255,.04)}
.library-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0}
.library-mode-card{display:grid;gap:8px;padding:18px;border:1px solid var(--border);border-radius:18px;background:rgba(255,255,255,.035);color:inherit;text-decoration:none;min-height:112px}
.library-mode-card strong{font-size:18px}
.library-mode-card span{color:var(--muted);line-height:1.35}
.library-mode-card.is-active{border-color:var(--accent);box-shadow:0 0 0 1px rgba(45,212,191,.25) inset;background:rgba(45,212,191,.09)}
.library-accordion{padding:0;overflow:hidden}
.library-accordion > summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 22px;font-weight:800;border-bottom:1px solid transparent}
.library-accordion[open] > summary{border-bottom-color:var(--border)}
.library-accordion > summary::-webkit-details-marker{display:none}
.library-accordion > summary span{font-size:20px}
.library-accordion > summary small{color:var(--muted);font-weight:600;text-align:right}
.library-panel-body{padding:20px 22px 22px}
.library-filter-clear{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1.2fr auto;gap:12px;align-items:end}
.library-filter-clear label{display:grid;gap:6px;font-weight:700;font-size:13px}
.library-filter-clear label select,.library-filter-clear label input{font-weight:500}
.library-filter-pills{margin:14px 0 18px}
.library-table-wrap{border:1px solid var(--border);border-radius:16px;overflow-x:auto;overflow-y:visible;background:rgba(0,0,0,.08)}
.library-table-clean{min-width:1180px;margin:0}
.library-table-clean th{position:sticky;top:0;z-index:1;background:rgba(8,35,31,.98)}
.library-upload-grid{align-items:start}
.library-upload-box{border:1px solid var(--border);border-radius:18px;padding:18px;background:rgba(255,255,255,.035)}
.library-upload-box h2{margin-top:0}
.library-upload-form select optgroup{font-weight:800}
.library-upload-form select option{font-weight:500}
@media(max-width:1200px){.library-filter-clear{grid-template-columns:1fr 1fr 1fr}.library-filter-clear button{grid-column:1/-1}.library-mode-grid{grid-template-columns:1fr}}
@media(max-width:760px){.library-filter-clear{grid-template-columns:1fr}.library-accordion > summary{align-items:flex-start;flex-direction:column}.library-accordion > summary small{text-align:left}.library-panel-body{padding:16px}.library-stats-row .pill{width:100%;justify-content:center}}
