.lo-app{--lo-bg:var(--brand-bg);--lo-paper:var(--brand-surface);--lo-paper-warm:var(--brand-surface-subtle);--lo-paper-deep:var(--brand-surface-muted);--lo-ink:var(--brand-text);--lo-ink-body:var(--brand-text);--lo-ink-mute:var(--brand-text-muted);--lo-ink-faint:var(--brand-text-faint);--lo-ink-ghost:var(--brand-text-ghost);--lo-ink-inverse:var(--brand-text-inverse);--lo-forest:var(--brand-accent);--lo-forest-deep:var(--brand-accent-hover);--lo-forest-soft:var(--color-success-bg);--lo-forest-edge:var(--color-success-border);--lo-rose:var(--color-warning-bg);--lo-rose-edge:var(--color-warning-border);--lo-rose-ink:var(--brand-text);--lo-rose-mute:var(--color-warning);--lo-sand:var(--brand-surface-muted);--lo-sand-soft:var(--brand-surface-subtle);--lo-sand-edge:var(--brand-border);--lo-sand-ink:var(--color-warning);--lo-clay:var(--color-danger);--lo-rule-soft:var(--brand-border-light);--lo-rule:var(--brand-border);--lo-rule-hair:var(--brand-border-light);--lo-shadow-card:0 1px 4px #1e293b0f;--lo-shadow-hover:0 4px 16px #1e293b1a;--lo-shadow-soft:0 1px 2px #1e293b0a;--lo-ring:0 0 0 3px #1c35301f;--lo-radius-card:var(--radius-lg);--lo-radius-btn:var(--radius-md);--lo-radius-input:var(--radius-md);--lo-radius-pill:var(--radius-pill);--lo-space-2xs:4px;--lo-space-xs:8px;--lo-space-sm:12px;--lo-space-md:16px;--lo-space-lg:24px;--lo-space-xl:32px;--lo-space-2xl:40px;--lo-space-3xl:56px;--lo-font-display:var(--font-heading);--lo-font-body:var(--font-body);--lo-font-ui:var(--font-body);--lo-font-mono:var(--font-mono);font-family:var(--lo-font-body);color:var(--lo-ink-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.65}.lo-app .lo-display-1{font-family:var(--lo-font-display);letter-spacing:-.012em;color:var(--lo-ink);margin:0;font-size:28px;font-weight:700;line-height:1.08}.lo-app .lo-display-2{font-family:var(--lo-font-display);letter-spacing:-.005em;color:var(--lo-ink);margin:0;font-size:22px;font-weight:700;line-height:1.12}.lo-app .lo-display-3{font-family:var(--lo-font-display);letter-spacing:-.005em;color:var(--lo-ink);margin:0;font-size:17px;font-weight:600;line-height:1.2}.lo-app .lo-eyebrow{font-family:var(--lo-font-ui);letter-spacing:.16em;text-transform:uppercase;color:var(--lo-ink-mute);font-size:10.5px;font-weight:700}.lo-app .lo-body{font-family:var(--lo-font-body);color:var(--lo-ink-body);font-size:14px;line-height:1.65}.lo-app .lo-body-lg{font-family:var(--lo-font-body);color:var(--lo-ink-body);font-size:15px;font-weight:400;line-height:1.65}.lo-app .lo-caption{font-family:var(--lo-font-body);color:var(--lo-ink-faint);font-size:12px;line-height:1.5}.lo-app .lo-card{background:var(--lo-paper);border:1px solid var(--lo-rule-hair);border-radius:var(--lo-radius-card);box-shadow:var(--lo-shadow-card)}.lo-app .lo-card--padded{padding:28px 32px}.lo-app .lo-btn-primary{font-family:var(--lo-font-ui);color:var(--lo-ink-inverse);background:var(--lo-forest);border-radius:var(--lo-radius-btn);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:11px 20px;font-size:13.5px;font-weight:600;transition:background .15s;display:inline-flex}.lo-app .lo-btn-primary:hover{background:var(--lo-forest-deep)}.lo-app .lo-btn-primary:active{transform:scale(.98)}.lo-app .lo-btn-primary:focus-visible{box-shadow:var(--lo-ring);outline:none}.lo-app .lo-btn-ghost{font-family:var(--lo-font-ui);color:var(--lo-ink);border:1px solid var(--lo-rule);border-radius:var(--lo-radius-btn);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:6px;padding:10px 18px;font-size:13.5px;font-weight:600;transition:background .15s;display:inline-flex}.lo-app .lo-btn-ghost:hover{background:var(--lo-paper-warm)}.lo-app .lo-input,.lo-app .lo-textarea{width:100%;font-family:var(--lo-font-body);color:var(--lo-ink-body);background:var(--lo-paper);border:1px solid var(--lo-rule-hair);border-radius:var(--lo-radius-input);box-shadow:var(--lo-shadow-card);box-sizing:border-box;resize:vertical;outline:none;padding:12px 14px;font-size:14px;line-height:1.65}.lo-app .lo-textarea:focus,.lo-app .lo-input:focus{border-color:var(--lo-forest-edge);box-shadow:var(--lo-ring)}.lo-app .lo-tag{font-family:var(--lo-font-ui);border-radius:var(--lo-radius-pill);white-space:nowrap;align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.lo-app .lo-tag--neutral{background:var(--lo-paper-warm);color:var(--lo-ink-mute);border:1px solid var(--lo-rule-hair)}.lo-app .lo-tag--green{background:var(--lo-forest-soft);color:var(--lo-forest);border:1px solid var(--lo-forest-edge)}.lo-app .lo-tag--sand{background:var(--lo-sand-soft);color:var(--lo-sand-ink);border:1px solid var(--lo-sand-edge)}.lo-app{box-sizing:border-box;min-height:100%}.lo-app .lo-card{padding:24px 28px}@media (width<=768px){.lo-app .lo-card,.lo-app .lo-card--padded{padding:16px!important}.lo-app .lo-display-1{font-size:28px!important}.lo-app .lo-display-2{font-size:22px!important}.lo-app .lo-display-3{font-size:17px!important}.lo-app .lo-body-lg{font-size:15px!important}}:root{--brand-accent:#1c3530;--brand-accent-hover:#102521;--brand-black:#333;--brand-white:#fff;--brand-bg:#f7f4f0;--brand-surface:#fff;--brand-surface-subtle:#f0ede8;--brand-surface-muted:#e8e2d6;--brand-text:#333;--brand-text-secondary:#475569;--brand-text-muted:#64748b;--brand-text-faint:#94a3b8;--brand-text-ghost:#cbd5e1;--brand-text-inverse:#fff;--brand-border:#e2e8f0;--brand-border-light:#f1f5f9;--brand-border-faint:#f8fafc;--color-success:#1d9e75;--color-success-bg:#eaf3de;--color-success-border:#9fe1cb;--color-warning:#ba7517;--color-warning-bg:#faeeda;--color-warning-border:#fac775;--color-danger:#a32d2d;--color-danger-bg:#fcebeb;--color-danger-border:#f7c1c1;--color-info:#185fa5;--color-info-bg:#e6f1fb;--color-info-border:#b8d6f2;--pri-wt-color:#1d9e75;--pri-wt-bg:#eaf3de;--pri-wt-border:#9fe1cb;--pri-nw-color:#ba7517;--pri-nw-bg:#faeeda;--pri-nw-border:#fac775;--pri-vsp-color:#a32d2d;--pri-vsp-bg:#fcebeb;--pri-vsp-border:#f7c1c1;--font-body:"Nunito", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-heading:"Lato", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"Menlo", "Monaco", "Courier New", monospace;--text-xs:11px;--text-sm:12px;--text-md:14px;--text-lg:16px;--text-xl:18px;--text-2xl:24px;--text-3xl:32px;--text-4xl:34px;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--tracking-tight:-.04em;--tracking-base:-.01em;--tracking-wide:.01em;--tracking-label:.06em;--leading-tight:1.08;--leading-snug:1.2;--leading-normal:1.45;--leading-relaxed:1.6;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-pill:999px;--space-2xs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:40px;--space-3xl:56px;--shadow-card:0 4px 16px #1e293b0a;--shadow-toast:0 8px 24px #1e293b14;--shadow-modal:0 18px 48px #1e293b29;--focus-ring:0 0 0 3px #1e293b24;--app-max-width:880px;--app-padding-x:20px;--app-padding-top:32px;--app-padding-bottom:72px;--pri-black:var(--brand-accent);--pri-white:var(--brand-white);--pri-bg:var(--brand-bg);--pri-bg-card:var(--brand-surface);--pri-bg-subtle:var(--brand-surface-subtle);--pri-bg-muted:var(--brand-surface-muted);--pri-text-primary:var(--brand-text);--pri-text-secondary:var(--brand-text-secondary);--pri-text-muted:var(--brand-text-muted);--pri-text-faint:var(--brand-text-faint);--pri-text-ghost:var(--brand-text-ghost);--pri-border:var(--brand-border);--pri-border-light:var(--brand-border-light);--pri-border-faint:var(--brand-border-faint);--pri-font:var(--font-body);--pri-font-mono:var(--font-mono);--pri-shadow-toast:var(--shadow-toast);--pri-shadow-modal:var(--shadow-modal)}html,body{min-height:100%;margin:0;padding:0}#root{min-height:100%}*,:before,:after{box-sizing:border-box}@keyframes spin{to{transform:rotate(360deg)}}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-body);font-size:var(--text-md);font-weight:var(--weight-regular);line-height:var(--leading-relaxed);letter-spacing:var(--tracking-base);color:var(--brand-text);background:var(--brand-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input,select,textarea,button{font:inherit}button{transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:var(--focus-ring);outline:none}input:focus,select:focus,textarea:focus{outline:none}::selection{background:#1f3a321f}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--brand-border);border-radius:3px}body{overflow-x:hidden}@supports (-webkit-touch-callout:none){.app-shell{min-height:-webkit-fill-available}}@media (width<=768px){input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=tel],select,textarea{font-size:16px!important}}@keyframes pri-spin{to{transform:rotate(360deg)}}.pri-spinner{border:2px solid var(--brand-border);border-top-color:var(--brand-accent);border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:.55s linear infinite pri-spin;display:inline-block}.pri-spinner-sm{border-width:1.5px;width:13px;height:13px}@keyframes pri-toast-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes pri-fade-in{0%{opacity:0}to{opacity:1}}@keyframes pri-slide-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.pri-toast{animation:.18s pri-toast-in}.pri-overlay{animation:.2s pri-fade-in}.pri-modal{animation:.22s pri-slide-up}.app-shell{max-width:var(--app-max-width);padding:var(--app-padding-top) var(--app-padding-x) var(--app-padding-bottom);margin:0 auto}.label-text{font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--brand-text-muted)}.section-label{font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--brand-text-faint);margin:28px 0 10px}.card{background:var(--brand-surface);border:1px solid var(--brand-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);margin-bottom:12px;padding:28px 32px;transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1)}.button,.btn{border-radius:var(--radius-md);font-size:var(--text-md);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:7px;padding:11px 18px;line-height:1.2;transition:transform .15s cubic-bezier(.4,0,.2,1),box-shadow .15s cubic-bezier(.4,0,.2,1),background-color .15s,border-color .15s,color .15s;display:inline-flex}.button:active,.btn:active{transform:scale(.97)}.btn-sm{font-size:var(--text-sm);padding:9px 14px}.btn-xs{font-size:var(--text-xs);padding:7px 11px}.metric-card{background:var(--brand-surface-subtle);border:1px solid var(--brand-border-light);border-radius:var(--radius-lg);padding:20px 24px;transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1)}.metric-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px #1e293b0f}.metric-label{font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--brand-text-muted);margin-bottom:10px}.metric-value{font-size:var(--text-4xl);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);line-height:1}.metric-sub{font-size:var(--text-sm);color:var(--brand-text-faint);margin-top:8px}.tabs{border-bottom:1px solid var(--brand-border-light);gap:2px;margin-bottom:32px;display:flex}.tab{color:var(--brand-text-muted);font-size:13px;font-weight:var(--weight-medium);cursor:pointer;letter-spacing:0;text-transform:none;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:11px 16px}.tab-active{color:var(--brand-text);font-weight:var(--weight-semibold);border-bottom-color:var(--brand-accent)}.pill{border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:var(--weight-bold);border:1px solid #0000;align-items:center;padding:4px 9px;line-height:1;display:inline-flex}.pill-success{background:var(--color-success-bg);color:var(--color-success);border-color:var(--color-success-border)}.pill-warning{background:var(--color-warning-bg);color:var(--color-warning);border-color:var(--color-warning-border)}.pill-danger{background:var(--color-danger-bg);color:var(--color-danger);border-color:var(--color-danger-border)}.pill-info{background:var(--color-info-bg);color:var(--color-info);border-color:var(--color-info-border)}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:32px;display:flex}.topbar-meta{border-left:1px solid var(--brand-border);padding-left:16px}.topbar-kicker{font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.07em;text-transform:uppercase;color:var(--brand-text-faint)}.topbar-name{color:var(--brand-text-muted);margin-top:3px;font-size:13px}.app-footer{border-top:1px solid var(--brand-border-faint);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:56px;padding-top:20px;display:flex}.app-footer-text{font-size:var(--text-sm);color:var(--brand-text-faint)}.app-footer-version{font-size:var(--text-xs);color:var(--brand-text-faint);font-family:var(--font-mono)}.divider{border:none;border-top:1px solid var(--brand-border-light);margin:22px 0}@media (width<=600px){.pri-slot-row{grid-template-columns:40px 1fr!important}.pri-slot-cats{grid-column:1/-1;margin-left:46px}.pri-profile-grid,.pri-beheer-grid{grid-template-columns:1fr!important}.topbar{flex-direction:column;align-items:flex-start}}.pri-truncate{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.pri-sr-only{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pri-registration-input::placeholder{color:#475569;opacity:1}body{background:var(--brand-bg)}.card{transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #1e293b0a,0 4px 16px #1e293b08}.card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #1e293b14}@keyframes vd-fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.28s both vd-fade-up}.fade-in-1{animation:.28s 50ms both vd-fade-up}.fade-in-2{animation:.28s .1s both vd-fade-up}.fade-in-3{animation:.28s .15s both vd-fade-up}.fade-in-4{animation:.28s .2s both vd-fade-up}.app-topbar{-webkit-backdrop-filter:blur(24px);background:#ffffffd9!important;border-bottom:1px solid #e2e8f0cc!important}.metric-card{box-shadow:0 1px 3px #1e293b08,0 3px 10px #1e293b05}.accent-card{background:var(--brand-accent);border-radius:var(--radius-lg);color:#f6f3ece6;border:none;padding:18px 20px;box-shadow:0 4px 16px #1f3a3233}.accent-card .accent-label{font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:#f6f3ec80;margin-bottom:6px}.accent-card .accent-text{font-size:var(--text-sm);line-height:var(--leading-relaxed);color:#f6f3ece6}.accent-card .accent-cta{font-size:var(--text-xs);color:#f6f3ec8c;margin-top:10px}.vd-admin-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;display:grid}.vd-block-row{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.vd-block-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.vd-module-row{grid-template-columns:60px 1fr 220px auto;align-items:center;gap:20px;display:grid}.vd-modal-container{background:var(--brand-surface);width:100%;max-height:90vh;padding:24px;overflow-y:auto}@media (width<=800px){.vd-module-row{grid-template-columns:1fr;align-items:stretch;gap:12px}.vd-module-row-num{display:none!important}}@media (width<=768px){.vd-block-row{flex-direction:column;align-items:stretch}.vd-block-actions{border-top:1px solid var(--brand-border-light);justify-content:flex-end;width:100%;margin-top:12px;padding-top:12px}}.vd-grid-2col{grid-template-columns:1fr 1fr;gap:12px;display:grid}.vd-grid-3col{grid-template-columns:1fr 1fr 1fr;gap:12px;display:grid}@media (width<=600px){.vd-grid-2col,.vd-grid-3col{grid-template-columns:1fr!important}}
