:root{color-scheme:light;--bg:#fff8db;--ink:#11331a;--ink-soft:#224e2d;--panel:#ffffff;--line:#dce2d9;--accent:#ffe168;--danger:#b42318}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Jost,Avenir Next,Segoe UI,sans-serif;color:var(--ink);background:var(--bg);overflow-x:hidden}a{color:inherit;text-decoration:none}h1,h2,h3,h4{margin:0;font-weight:500}.bg-shape{position:fixed;z-index:-1;object-fit:contain;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:.28}.bg-shape-one{width:min(36vw,360px);height:auto;top:-60px;right:-70px;transform:rotate(-8deg)}.bg-shape-two{width:min(30vw,280px);height:auto;bottom:-70px;left:-50px;transform:rotate(10deg)}.top-header{width:100%;border-bottom:1px solid var(--accent);background:#ffffffd9;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.top-header-inner{max-width:1080px;margin:0 auto;padding:10px 20px 0;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand-logo{display:block;width:min(100%,200px);height:auto;object-fit:contain;object-position:left bottom;margin:0}.container,.page,.portal{max-width:1080px;margin:0 auto;padding:34px 20px 40px}.admin-shell,.portal-main{display:grid;grid-gap:16px;gap:16px}.hero{margin-bottom:6px}.eyebrow{margin:0;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);font-size:.76rem;font-weight:500}.hero h1{margin:10px 0 12px;font-size:clamp(2rem,5vw,3.4rem);line-height:.98}.subtitle{margin:0;max-width:62ch;color:var(--ink-soft)}.welcome-note{border-color:#d6e3cf;background:linear-gradient(180deg,#ffffff,#f7fbf4)}.welcome-note p{margin:0;color:var(--ink-soft);line-height:1.55}.welcome-note a{text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}.welcome-greeting{color:var(--ink)!important;font-size:1.22rem;font-weight:500}.welcome-paragraph,.welcome-signoff{margin-top:6px!important}.welcome-signoff{color:var(--ink)!important}.grid{display:grid;grid-gap:14px;gap:14px}.grid.two{grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}.card,.dossier-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 8px 24px rgba(17,51,26,.08)}.dossier-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));grid-gap:16px;gap:16px}.dossier-card{transition:transform .16s ease,box-shadow .16s ease}.dossier-card:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(17,51,26,.14)}.tile-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.badge,.status-pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:.75rem;font-weight:500;border:1px solid #11331a;color:#fff8db;background:#11331a}.status-pill.status-verkocht{background:#2f6a3d;border-color:#2f6a3d;color:#fff}.status-pill.status-geannuleerd{background:#8c3b1a;border-color:#8c3b1a;color:#fff}.status-pill.readiness-very-prepared{background:#1f6b3a;border-color:#1f6b3a;color:#fff}.status-pill.readiness-prepared{background:#b7e4be;border-color:#8ac995;color:#14361d}.status-pill.readiness-in-progress{background:#c28a18;border-color:#c28a18;color:#fff}.status-pill.invite-not-sent,.status-pill.readiness-not-started{background:#eceff2;border-color:#cfd6de;color:#4a5563}.status-pill.invite-sent{background:#d8efe0;border-color:#9fceb1;color:#134427}.status-pill.invite-opened{background:#c7ead4;border-color:#7db890;color:#0f3a22}.status-pill.invite-logged-in{background:#11331a;border-color:#11331a;color:#fff8db}.small{color:var(--ink-soft);margin:0}.loading-card{min-height:180px;display:grid;place-items:center;grid-gap:10px;gap:10px}.spinner{width:26px;height:26px;border-radius:999px;border:3px solid #d6ddcf;border-top:3px solid var(--ink);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.btn-primary,.button,button{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid transparent;padding:10px 14px;font:inherit;text-decoration:none;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,color .16s ease;background:var(--accent);color:var(--ink);box-shadow:0 8px 18px rgba(17,51,26,.2)}.btn-primary:hover,.button:hover,button:hover{background:var(--ink);color:var(--bg);transform:translateY(-1px)}.button.secondary{background:#eef2ec;border-color:var(--line);color:var(--ink);box-shadow:none}.button.secondary:hover{background:var(--ink);color:var(--bg)}.back-link,.page-link{color:var(--ink);font-weight:500}.table{width:100%;border-collapse:collapse}.table td,.table th{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:middle}.table-section-row{background:#f4f7f2;font-weight:600;color:var(--ink)}input,select{border:1px solid var(--line);border-radius:10px;padding:10px 12px;font:inherit;color:var(--ink);background:#fff;width:100%}fieldset{border:0;margin:0;padding:0}fieldset:disabled{opacity:.7}.notice{border-left:4px solid var(--accent)}.admin-dossier-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.admin-dossier-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.status-inline-form{display:inline-flex;align-items:center;gap:8px}.status-inline-form select{min-width:130px;height:36px;padding:6px 10px}.small-btn{height:36px;padding:8px 12px;box-shadow:none}.doc-create-grid,.user-create-grid{display:grid;grid-template-columns:1fr 1fr auto;grid-gap:10px;gap:10px;align-items:end;width:100%}.doc-create-grid input,.user-create-grid input{min-width:0}.doc-create-grid button,.user-create-grid button{justify-self:end}.user-create-grid{grid-template-columns:1fr 1fr 1fr}.user-create-grid button{width:100%;justify-self:stretch}.table-link{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.upload-dropzone{border:2px dashed #c8d3c3;border-radius:14px;padding:20px;background:#f8fbf6;display:grid;grid-gap:10px;gap:10px;place-items:center;text-align:center}.icon-actions{display:flex;align-items:center;gap:6px}.invite-cta{background:#ffe168;color:#11331a;border-color:#f2cf39;border-radius:999px}.invite-cta:hover:not(:disabled){transform:translateY(-1px)}.icon-button{position:relative;width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:#f5f8f3;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;box-shadow:none;padding:0}.icon-button:hover{background:var(--ink);color:var(--bg);transform:translateY(-1px)}.icon-button:after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);background:#11331a;color:#fff8db;border-radius:8px;font-size:.72rem;line-height:1;white-space:nowrap;padding:6px 8px;opacity:0;pointer-events:none;transition:opacity .12s ease;z-index:30}.icon-button:focus-visible:after,.icon-button:hover:after{opacity:1}.toast-overlay{position:fixed;right:16px;bottom:16px;z-index:120;width:min(560px,calc(100vw - 24px));border-radius:14px;border:1px solid var(--line);background:#ffffff;box-shadow:0 14px 36px rgba(17,51,26,.24);padding:12px 40px 12px 12px;display:grid;grid-gap:6px;gap:6px}.toast-ok{border-left:4px solid #2f6a3d}.toast-error{border-left:4px solid var(--danger)}.toast-info{border-left:4px solid var(--accent)}.toast-close{position:absolute;right:8px;top:8px;width:24px;height:24px;border-radius:6px;border:1px solid var(--line);background:#f2f5ef;box-shadow:none;padding:0}.toast-link{margin:0;padding:7px 8px;border-radius:8px;border:1px dashed var(--line);background:#f7faf5;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.76rem;line-height:1.35;word-break:break-all}.share-modal-backdrop{position:fixed;inset:0;z-index:140;background:rgba(17,51,26,.32);display:flex;justify-content:center;align-items:flex-start;overflow-y:auto;padding:16px}.share-modal{position:relative;width:min(620px,100%);border-radius:16px;border:1px solid var(--line);background:#fff;box-shadow:0 18px 40px rgba(17,51,26,.28);padding:18px;display:grid;grid-gap:10px;gap:10px;margin-top:6px}.share-modal-wide{width:min(900px,100%)}.readiness-detail-modal{max-height:calc(100vh - 26px);overflow-y:auto}.share-modal-pdf{width:min(1240px,100%);max-height:calc(100vh - 20px);padding-top:48px}.pdf-viewer-shell{display:grid;grid-gap:8px;gap:8px}.pdf-frame{min-height:min(86vh,1080px)}.pdf-canvas-wrap,.pdf-frame{width:100%;border:1px solid var(--line);border-radius:10px}.pdf-canvas-wrap{max-height:min(86vh,1080px);overflow:auto;padding:8px;background:#f8fbf6}.pdf-overlay-backdrop{position:fixed;inset:0;width:100vw;height:100vh;align-items:flex-start;overflow-y:auto;padding-top:6px;z-index:260}.pdf-overlay-actions{position:absolute;right:10px;top:10px;display:flex;gap:8px;z-index:2}.pdf-overlay-icon-button{width:28px;height:28px}.share-modal-actions{display:flex;justify-content:flex-end;gap:8px}.upload-table td input{width:100%}.upload-progress-wrap{display:grid;grid-gap:4px;gap:4px}.upload-progress-wrap progress{width:100%;height:10px}.upload-progress-wrap span{font-size:.75rem;color:var(--ink-soft)}.admin-tab-row{display:flex;gap:8px;flex-wrap:wrap}.readiness-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:10px;gap:10px}.readiness-summary-item{border:1px solid var(--line);border-radius:12px;padding:10px;background:#f8fbf6;display:grid;grid-gap:4px;gap:4px}.readiness-summary-item strong{font-size:1.3rem}.readiness-summary-item span{color:var(--ink-soft);font-size:.82rem}.readiness-explanations{margin:0;padding-left:18px;color:var(--ink-soft);display:grid;grid-gap:4px;gap:4px}.fade-in{animation:fadeInUp .22s ease both}@keyframes fadeInUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (max-width:760px){.top-header-inner{flex-direction:column;align-items:flex-start;gap:10px;padding-bottom:10px}.table{display:block;overflow-x:auto;white-space:nowrap}.dossier-grid,.grid.two{grid-template-columns:1fr}.admin-dossier-header{flex-direction:column;align-items:flex-start}.admin-dossier-controls{width:100%;justify-content:flex-start}.doc-create-grid,.user-create-grid{grid-template-columns:1fr}.toast-overlay{right:12px;left:12px;width:auto}}