:root{--bg:#f3f6f3;--panel:#fff;--panel2:#f8faf7;--text:#142018;--muted:#66736a;--line:#dfe7df;--brand:#214f32;--brand2:#70a13c;--accent:#eaf5df;--danger:#b42318;--warn:#b86e00;--ok:#067647;--blue:#175cd3;--shadow:0 18px 45px rgba(28,48,34,.10);--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif;background:radial-gradient(circle at top left,#edf7e6,transparent 36%),var(--bg);color:var(--text)}a{color:var(--brand);text-decoration:none}small{color:var(--muted)}hr{border:0;border-top:1px solid var(--line);margin:22px 0}.app-shell{min-height:100vh;display:grid;grid-template-columns:292px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#14261a,#203f27);padding:22px;display:flex;flex-direction:column;color:#fff}.brand-panel{display:flex;align-items:center;gap:12px;color:inherit}.brand-panel strong{display:block;line-height:1.1}.brand-panel small{display:block;color:rgba(255,255,255,.68);font-size:12px;margin-top:3px}.logo-mark{width:46px;height:46px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(135deg,var(--brand2),#d4e9a8);color:#102015;font-weight:950;letter-spacing:-.04em;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}.mainnav{display:flex;flex-direction:column;gap:5px;margin-top:30px}.mainnav a{display:flex;align-items:center;gap:11px;color:rgba(255,255,255,.82);padding:12px 13px;border-radius:14px;font-weight:750}.mainnav a span{width:22px;text-align:center;opacity:.9}.mainnav a:hover,.mainnav a.active{background:rgba(255,255,255,.12);color:#fff}.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.14);padding-top:18px}.sidebar-footer small{display:block;color:rgba(255,255,255,.58)}.sidebar-footer strong{display:block;margin:3px 0 10px}.sidebar-footer a{color:#fff;font-weight:800}.workspace{min-width:0}.workspace-top{height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.72);backdrop-filter:blur(16px);position:sticky;top:0;z-index:4}.workspace-top h1{margin:0;font-size:30px;letter-spacing:-.03em}.eyebrow{margin:0 0 4px;color:var(--muted);font-weight:850;text-transform:uppercase;letter-spacing:.09em;font-size:11px}.top-actions{display:flex;gap:10px;align-items:center}main{max-width:1380px;margin:0 auto;padding:28px 34px}footer{text-align:center;color:var(--muted);padding:24px}.public-topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:#fff;border-bottom:1px solid var(--line)}.public-topbar .brand-panel small{color:var(--muted)}.public-body main{max-width:1040px}.public-body .brand-panel{color:var(--text)}.card,.kpi{background:rgba(255,255,255,.94);border:1px solid rgba(214,225,214,.95);border-radius:var(--radius);box-shadow:var(--shadow)}.card{padding:24px;margin-bottom:22px}.card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.card h1,.card h2,.card h3{margin:0;letter-spacing:-.025em}.card h2{font-size:21px}.card p{color:var(--muted);margin:.3rem 0 0}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px;margin-bottom:18px}.col-3{grid-column:span 3}.col-4{grid-column:span 4}.col-6{grid-column:span 6}.col-8{grid-column:span 8}.col-12{grid-column:span 12}.kpi{padding:22px;position:relative;overflow:hidden}.kpi:after{content:"";position:absolute;right:-26px;top:-26px;width:100px;height:100px;border-radius:50%;background:var(--accent)}.kpi b{display:block;font-size:38px;line-height:1;letter-spacing:-.05em;position:relative;z-index:1}.kpi span{display:block;color:var(--muted);font-weight:800;margin-top:9px;position:relative;z-index:1}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}label span{display:block;font-weight:800;margin-bottom:7px;color:#253329}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:14px;padding:12px 13px;background:#fff;font:inherit;color:var(--text);outline:none;transition:.15s ease}input:focus,select:focus,textarea:focus{border-color:#9bbf74;box-shadow:0 0 0 4px rgba(112,161,60,.14)}textarea{min-height:116px;resize:vertical}.full{grid-column:1/-1}.btn,button.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,var(--brand),#2e7443);color:white!important;border:0;border-radius:14px;padding:11px 16px;font-weight:900;cursor:pointer;box-shadow:0 10px 24px rgba(33,79,50,.18);white-space:nowrap}.btn.secondary{background:#edf2ed;color:#17251a!important;box-shadow:none}.btn.ghost{background:#fff;color:var(--brand)!important;border:1px solid var(--line);box-shadow:none}.btn.danger{background:var(--danger)}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.table{width:100%;border-collapse:separate;border-spacing:0}.table th{text-align:left;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;border-bottom:1px solid var(--line);padding:11px 10px;font-weight:950}.table td{border-bottom:1px solid var(--line);padding:14px 10px;vertical-align:middle}.table tr:hover td{background:#fbfdf9}.table tr:last-child td{border-bottom:0}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:950;line-height:1}.badge.green{background:#dcfae6;color:var(--ok)}.badge.red{background:#fee4e2;color:var(--danger)}.badge.orange{background:#fef0c7;color:var(--warn)}.badge.blue{background:#d1e9ff;color:var(--blue)}.badge.gray{background:#eef2f6;color:#475467}.flash{padding:14px 16px;border-radius:16px;margin-bottom:18px;font-weight:850;border:1px solid}.flash.ok{background:#ecfdf3;color:#067647;border-color:#abefc6}.flash.err{background:#fff1f0;color:#b42318;border-color:#fecdca}.split{display:grid;grid-template-columns:290px 1fr;gap:22px}.side{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px;height:max-content;position:sticky;top:118px;box-shadow:var(--shadow)}.side a{display:block;padding:11px 13px;border-radius:13px;color:#17251a;font-weight:850}.side a:hover{background:#f1f6ee}.progress{height:10px;background:#ecf1eb;border-radius:999px;overflow:hidden}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--brand2),var(--brand));border-radius:inherit}.langgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.langgrid a,.langgrid label{border:1px solid var(--line);border-radius:18px;padding:15px;text-align:center;background:#fff;cursor:pointer;box-shadow:0 8px 24px rgba(28,48,34,.06)}.langgrid .flag{font-size:30px;display:block;margin-bottom:6px}.hero{max-width:980px;margin:34px auto}.hero .card{background:linear-gradient(135deg,#fff,#f5faef)}.docgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.doc{border:1px solid var(--line);border-radius:17px;padding:14px;background:#fbfdf9}.audit{font-size:13px;color:var(--muted);line-height:1.55}.searchbar{display:flex;gap:12px;align-items:end}.searchbar>*{flex:1}.searchbar .btn{flex:0}.loginbox{max-width:440px;margin:76px auto}.muted{color:var(--muted)}.pillrow{display:flex;gap:8px;flex-wrap:wrap}.public-body{background:radial-gradient(circle at top left,#eef8e5,transparent 35%),#f7faf7}@media(max-width:1120px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.mainnav{display:grid;grid-template-columns:repeat(2,1fr);margin-top:18px}.workspace-top{position:relative}}@media(max-width:900px){.workspace-top,.public-topbar{height:auto;align-items:flex-start;gap:12px;flex-direction:column;padding:18px}.workspace-top h1{font-size:25px}main{padding:20px 16px}.formgrid,.split{grid-template-columns:1fr}.col-3,.col-4,.col-6,.col-8,.col-12{grid-column:span 12}.langgrid,.docgrid{grid-template-columns:1fr 1fr}.card>header{display:block}.table{font-size:14px}.table{display:block;overflow-x:auto}.mainnav{grid-template-columns:1fr}.sidebar-footer{display:none}}@media(max-width:560px){.langgrid,.docgrid{grid-template-columns:1fr}.searchbar{display:block}.searchbar>*{margin-bottom:10px}.actions{display:grid}.btn{width:100%}}

/* V6: mobile-first registratie en backoffice zonder planning */
.register-hero{border:0;background:linear-gradient(135deg,#ffffff,#eef8e7)}.langgrid a.selected{outline:3px solid rgba(112,161,60,.32);border-color:#70a13c}.mobile-form{max-width:980px;margin-left:auto;margin-right:auto}.stepper{display:flex;align-items:center;gap:10px;margin-bottom:24px}.stepper span{width:38px;height:38px;border-radius:999px;display:grid;place-items:center;background:#eef2f0;color:#66736a;font-weight:950}.stepper span.active{background:linear-gradient(135deg,var(--brand),#2e7443);color:#fff}.stepper i{height:3px;flex:1;background:#e1e8e1;border-radius:99px}.form-step{display:none}.form-step.active{display:block}.upload-tile{border:1px dashed #9bbf74;border-radius:18px;padding:16px;background:#fbfff7;min-height:118px;display:flex;flex-direction:column;justify-content:center}.upload-tile input{margin-top:8px;background:#fff}.upload-tile small{margin-top:8px}.consent{display:flex;gap:10px;align-items:flex-start;background:#f7faf7;border:1px solid var(--line);border-radius:16px;padding:14px}.consent input{width:auto;margin-top:4px}.consent span{margin:0;font-weight:700}.summary-box{border-left:5px solid var(--brand2);background:#f7fbf2;padding:16px;border-radius:16px;margin-top:16px}.mobile-actions{position:sticky;bottom:0;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:14px 0 0;display:flex;gap:10px;justify-content:flex-end}.mainnav a[href="planning.php"],.mainnav a[href="availability.php"],.mainnav a[href="operations.php"]{display:none!important}@media(max-width:700px){.public-topbar .btn{display:none}.hero{margin:12px auto}.card{padding:18px;border-radius:18px}.formgrid{gap:13px}.mobile-actions{margin:0 -18px -18px;padding:12px 18px;display:grid;grid-template-columns:1fr 1fr}.mobile-actions .btn{width:100%;min-height:48px}.mobile-actions #submitBtn{grid-column:1/-1}.stepper span{width:34px;height:34px}.upload-tile{min-height:106px}input,select,textarea{font-size:16px;min-height:46px}.langgrid a{padding:12px}.langgrid .flag{font-size:26px}.public-body main{padding:14px}}

.doc-preview{width:100%;height:180px;object-fit:cover;border:1px solid var(--line);border-radius:14px;background:#fff;cursor:zoom-in;margin:10px 0}.doc-preview.pdf{object-fit:initial}.doc-modal{position:fixed;inset:0;background:rgba(10,20,12,.78);z-index:50;display:none;align-items:center;justify-content:center;padding:28px}.doc-modal.open{display:flex}.doc-modal img,.doc-modal iframe{max-width:min(1100px,96vw);max-height:88vh;width:96vw;height:88vh;border:0;border-radius:18px;background:#fff;object-fit:contain}.doc-close{position:fixed;right:24px;top:20px;width:44px;height:44px;border:0;border-radius:999px;background:#fff;color:#142018;font-size:30px;line-height:1;cursor:pointer;font-weight:900}.preview-doc .actions{margin-top:10px}

/* V7: compacte document thumbnails + nette lightbox */
body.modal-open{overflow:hidden}.document-thumbs{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));align-items:start}.preview-doc{padding:12px;background:#fff}.doc-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.doc-name{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:6px 0 10px!important}.doc-thumb{width:100%;height:132px;border:1px solid var(--line);border-radius:14px;background:#f7faf7;padding:0;overflow:hidden;display:block;position:relative;cursor:zoom-in;box-shadow:none}.doc-thumb img{width:100%!important;height:100%!important;display:block;object-fit:cover}.doc-thumb>span:not(.pdf-icon){position:absolute;right:8px;bottom:8px;background:rgba(20,32,24,.82);color:#fff;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900}.pdf-thumb{display:grid;place-items:center}.pdf-icon{display:grid!important;place-items:center;width:58px;height:58px;border-radius:16px;background:#eef2ed;color:var(--brand);font-weight:950}.doc-actions{margin-top:10px}.doc-actions .btn{padding:8px 10px;font-size:12px}.doc-modal{position:fixed;inset:0;background:rgba(13,20,16,.64);backdrop-filter:blur(4px);z-index:80;display:none;align-items:center;justify-content:center;padding:28px}.doc-modal.open{display:flex}.doc-modal-box{width:min(1080px,94vw);height:min(860px,88vh);background:#fff;border-radius:22px;box-shadow:0 30px 90px rgba(0,0,0,.35);overflow:hidden;display:flex;flex-direction:column}.doc-modal-top{height:70px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 20px;border-bottom:1px solid var(--line);background:#fff}.doc-modal-inner{flex:1;background:#242424;display:flex;align-items:center;justify-content:center;overflow:auto;padding:22px}.doc-modal-inner img{max-width:100%;max-height:100%;width:auto!important;height:auto!important;border-radius:3px;background:#fff;object-fit:contain}.doc-modal-inner iframe{width:100%;height:100%;border:0;background:#fff;border-radius:3px}.doc-close{display:none}@media(max-width:700px){.document-thumbs{grid-template-columns:1fr 1fr}.doc-thumb{height:112px}.doc-modal{padding:10px}.doc-modal-box{width:100vw;height:92vh;border-radius:18px}.doc-modal-top{height:auto;min-height:64px;align-items:flex-start;flex-direction:column;padding:12px}.doc-modal-top .actions{display:flex;width:100%}.doc-modal-top .btn{width:auto;flex:1}.doc-modal-inner{padding:10px}}
/* Compact language selector for mobile registration */
.compact-language-hero{max-width:980px;margin-bottom:14px}.compact-language-hero header{margin-bottom:14px}.language-dropdown{display:block;max-width:420px}.language-dropdown span{font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.language-dropdown select{font-weight:850;font-size:16px;padding:14px 16px;border-radius:16px;background:#fff}.mobile-register .langgrid{display:none!important}@media(max-width:700px){.compact-language-hero{margin:10px auto 12px;padding:16px}.compact-language-hero h1{font-size:26px;line-height:1.05}.compact-language-hero p{font-size:15px}.language-dropdown{max-width:none}.language-dropdown select{font-size:17px;padding:15px 14px}.mobile-form{margin-top:0}.stepper{margin-bottom:18px}}

/* V8: QR-medewerkerskaart en uitgebreid huisvestingsbeheer */
.qr-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:12px;margin:14px 0;display:grid;gap:8px;text-align:center}
.qr-card img{width:100%;max-width:180px;margin:0 auto;border-radius:12px;background:#fff;border:1px solid var(--line)}
.qr-card small{display:block;color:var(--muted);font-weight:750}
.table small{line-height:1.55}
@media print{.sidebar,.workspace-top,footer,.actions,.btn{display:none!important}.app-shell{display:block}.workspace main{padding:0}.card{box-shadow:none;border:1px solid #ddd}.qr-card{display:block;max-width:240px}}
