:root{--bg:#070d18;--panel:#0f1b33;--text:#e6edf7;--muted:#a8b3c7;--line:#ffffff14;--accent:#2443cc;--radius:16px;--sans:"Figtree", ui-sans-serif, system-ui, -apple-system, sans-serif;--good:#2cddcb;--warn:#ffbf00;--danger:#fb7185;--logo-color:#fff;--input-bg:#0003;--input-border:#ffffff1f;--header-bg:#ffffff08;--overlay-bg:#070d18f2;--th-bg:#ffffff0d;--th-hover:#ffffff1a;--panel-gradient:linear-gradient(180deg, #ffffff0a, #ffffff05);--btn-bg:#60a5fa26;--btn-border:#60a5fa4d;--btn-hover:#60a5fa40;--btn-primary-text:#fff;--radial-gradient:radial-gradient(1200px 600px at 10% -10%, #60a5fa26, transparent 55%);--shadow:0 12px 30px #0000004d;--menu-shadow:0 10px 25px #00000080;--pill-bg:#ffffff0d;--status-ok-bg:#2dd4bf1a;--status-ok-border:#2dd4bf4d;--status-warn-bg:#fbbf241a;--status-warn-border:#fbbf244d;--status-error-bg:#fb71851a;--status-error-border:#fb71854d;--btn-logout-bg:#fb71851a;--btn-logout-border:#fb718533;--btn-logout-hover:#fb718533}@media (prefers-color-scheme:light){:root{--bg:#f4f7fc;--panel:#fff;--text:#1e293b;--muted:#64748b;--line:#00000014;--accent:#2443cc;--good:#2cddcb;--warn:#ffbf00;--danger:#fb7185;--logo-color:#1d1c8d;--input-bg:#fff;--input-border:#00000026;--header-bg:#00000005;--overlay-bg:#f4f7fcf2;--th-bg:#00000008;--th-hover:#0000000f;--panel-gradient:linear-gradient(180deg, #00000003, #00000005);--btn-bg:#2563eb14;--btn-border:#2563eb33;--btn-hover:#2563eb26;--btn-primary-text:#fff;--radial-gradient:radial-gradient(1200px 600px at 10% -10%, #2563eb14, transparent 55%);--shadow:0 12px 30px #0000000f;--menu-shadow:0 10px 25px #00000014;--pill-bg:#0000000a;--status-ok-bg:#0d948814;--status-ok-border:#0d948840;--status-warn-bg:#b4530914;--status-warn-border:#b4530940;--status-error-bg:#e11d4814;--status-error-border:#e11d4840;--btn-logout-bg:#e11d480f;--btn-logout-border:#e11d4833;--btn-logout-hover:#e11d481f}}html[data-theme=dark]{--bg:#070d18;--panel:#0f1b33;--text:#e6edf7;--muted:#a8b3c7;--line:#ffffff14;--accent:#2443cc;--good:#2cddcb;--warn:#ffbf00;--danger:#fb7185;--logo-color:#fff;--input-bg:#0003;--input-border:#ffffff1f;--header-bg:#ffffff08;--overlay-bg:#070d18f2;--th-bg:#ffffff0d;--th-hover:#ffffff1a;--panel-gradient:linear-gradient(180deg, #ffffff0a, #ffffff05);--btn-bg:#60a5fa26;--btn-border:#60a5fa4d;--btn-hover:#60a5fa40;--btn-primary-text:#fff;--radial-gradient:radial-gradient(1200px 600px at 10% -10%, #60a5fa26, transparent 55%);--shadow:0 12px 30px #0000004d;--menu-shadow:0 10px 25px #00000080;--pill-bg:#ffffff0d;--status-ok-bg:#2dd4bf1a;--status-ok-border:#2dd4bf4d;--status-warn-bg:#fbbf241a;--status-warn-border:#fbbf244d;--status-error-bg:#fb71851a;--status-error-border:#fb71854d;--btn-logout-bg:#fb71851a;--btn-logout-border:#fb718533;--btn-logout-hover:#fb718533}html[data-theme=light]{--bg:#f4f7fc;--panel:#fff;--text:#1e293b;--muted:#64748b;--line:#00000014;--accent:#2443cc;--good:#2cddcb;--warn:#ffbf00;--danger:#fb7185;--logo-color:#1d1c8d;--input-bg:#fff;--input-border:#00000026;--header-bg:#00000005;--overlay-bg:#f4f7fcf2;--th-bg:#00000008;--th-hover:#0000000f;--panel-gradient:linear-gradient(180deg, #00000003, #00000005);--btn-bg:#2563eb14;--btn-border:#2563eb33;--btn-hover:#2563eb26;--btn-primary-text:#fff;--radial-gradient:radial-gradient(1200px 600px at 10% -10%, #2563eb14, transparent 55%);--shadow:0 12px 30px #0000000f;--menu-shadow:0 10px 25px #00000014;--pill-bg:#0000000a;--status-ok-bg:#0d948814;--status-ok-border:#0d948840;--status-warn-bg:#b4530914;--status-warn-border:#b4530940;--status-error-bg:#e11d4814;--status-error-border:#e11d4840;--btn-logout-bg:#e11d480f;--btn-logout-border:#e11d4833;--btn-logout-hover:#e11d481f}body{font-family:var(--sans);background:var(--bg);color:var(--text);background:var(--radial-gradient), var(--bg);background-attachment:fixed;flex-direction:column;min-height:100vh;margin:0;transition:color .3s;display:flex}.logo-svg{background-color:var(--logo-color);transition:background-color .3s;-webkit-mask-image:url(logo.svg);mask-image:url(logo.svg);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.wrap{box-sizing:border-box;width:100%;max-width:1700px;margin:0 auto;padding:20px}header{background:var(--header-bg);border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;justify-content:space-between;align-items:center;padding:12px 16px;display:flex;position:sticky;top:10px}.header-right,.header-actions{align-items:center;gap:12px;display:flex}.theme-toggle-btn{background:var(--btn-bg);color:var(--accent);border:1px solid var(--btn-border);cursor:pointer;box-sizing:border-box;border-radius:12px;flex-shrink:0;width:40px;height:40px;padding:0;transition:background .3s,border-color .3s,transform .2s;position:relative;overflow:hidden}.theme-toggle-btn:hover{background:var(--btn-hover);transform:scale(1.05)}.theme-toggle-btn:active{transform:scale(.95)}.theme-icon-wrapper{width:20px;height:20px;margin:0 auto;position:relative}.theme-toggle-btn svg{width:20px;height:20px;transition:transform .5s cubic-bezier(.34,1.56,.64,1),opacity .3s;position:absolute;top:0;left:0}.sun-icon{opacity:0;transform:scale(.5)rotate(90deg)}.moon-icon{opacity:1;transform:scale(1)rotate(0)}@media (prefers-color-scheme:light){html:not([data-theme=dark]) .sun-icon{opacity:1;transform:scale(1)rotate(0)}html:not([data-theme=dark]) .moon-icon{opacity:0;transform:scale(.5)rotate(-90deg)}}html[data-theme=light] .sun-icon{opacity:1;transform:scale(1)rotate(0)}html[data-theme=light] .moon-icon{opacity:0;transform:scale(.5)rotate(-90deg)}html[data-theme=dark] .sun-icon{opacity:0;transform:scale(.5)rotate(90deg)}html[data-theme=dark] .moon-icon{opacity:1;transform:scale(1)rotate(0)}.hamburger{cursor:pointer;z-index:102;background:0 0;border:none;flex-direction:column;justify-content:space-between;width:28px;height:20px;padding:0;display:none}.hamburger span{background-color:var(--text);border-radius:4px;width:100%;height:3px;transition:all .3s}@media (width<=768px){.hamburger{display:flex}.header-actions{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--menu-shadow);z-index:101;flex-direction:column;width:220px;padding:16px;display:none;position:absolute;top:75px;right:16px}.header-actions.show{display:flex}.header-actions .btn{text-align:center;box-sizing:border-box;width:100%}}.panel{background:var(--panel-gradient);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-top:20px;padding:24px}.controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px;display:flex}input{border:1px solid var(--input-border);background:var(--input-bg);color:var(--text);border-radius:12px;outline:none;width:300px;max-width:100%;padding:12px}input:focus{border-color:var(--accent)}.btn{background:var(--btn-bg);color:var(--accent);border:1px solid var(--btn-border);cursor:pointer;border-radius:12px;padding:10px 18px;font-size:14px;font-weight:700;text-decoration:none;display:inline-block}.btn:hover{background:var(--btn-hover)}.btn-primary{background:var(--accent);color:var(--btn-primary-text)}.btn-logout{background:var(--btn-logout-bg);color:var(--danger);border-color:var(--btn-logout-border)}.btn-logout:hover{background:var(--btn-logout-hover)}.table-container{border:1px solid var(--line);border-radius:12px;overflow-x:auto}table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:1200px;font-size:.85rem}th{text-align:left;background:var(--th-bg);color:var(--muted);-webkit-user-select:none;user-select:none;padding:14px}th.sortable:hover{background:var(--th-hover);color:var(--text)}td{border-bottom:1px solid var(--line);white-space:nowrap;text-overflow:ellipsis;padding:12px 14px;overflow:hidden}.pill{background:var(--pill-bg);border:1px solid var(--line);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.status-pill{border-radius:999px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-block}.contact-pill{color:#fff;cursor:pointer;background-color:#25d366;transition:background-color .2s,transform .1s}.contact-pill:hover{background-color:#128c7e;transform:scale(1.05)}.pill.whatsapp-ready:hover{filter:brightness(1.1);transition:transform .2s ease-in-out;transform:scale(1.05)}.status-ok{color:var(--good);border-color:var(--status-ok-border);background:var(--status-ok-bg)}.status-warn{color:var(--warn);border-color:var(--status-warn-border);background:var(--status-warn-bg)}.status-error{color:var(--danger);border-color:var(--status-error-border);background:var(--status-error-bg)}.overlay{background:var(--overlay-bg);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:9999;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.hidden{display:none!important}#memberTbody td{transition:filter .2s}#memberTbody tr:hover td{filter:none;-webkit-user-select:auto;user-select:auto;pointer-events:auto}.spinner{border:4px solid var(--line);border-top:4px solid var(--accent);border-radius:50%;width:36px;height:36px;margin:0 auto;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-container{text-align:center;color:var(--muted);padding:60px 20px}#mapContainer{background:var(--panel-gradient);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);text-align:center;margin-top:20px;padding:24px;display:none}#vlaanderenMap{width:100%;max-height:400px}.map__feature-nis{cursor:pointer;stroke:var(--bg);stroke-width:.5px;transition:fill .3s,filter .2s,stroke-width .2s}.map__feature-nis:hover{filter:brightness(1.1);stroke:var(--muted);stroke-width:1.3px}.map__feature-nis.is-hovered{filter:brightness(1.1);fill-opacity:.85;stroke:var(--muted);stroke-width:1.3px;cursor:pointer}.afdeling-geen{fill:var(--pill-bg);opacity:.75}.afdeling-mini{fill:var(--warn)}.afdeling-klein{fill:#38bdf8}.afdeling-middel{fill:var(--good)}.afdeling-groot{fill:var(--accent)}.afdeling-kritiek{fill:var(--danger)}#mapTooltip{background:var(--overlay-bg);color:var(--text);pointer-events:none;border:1px solid var(--line);opacity:0;z-index:99999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:8px;padding:8px 14px;font-size:13px;transition:opacity .1s;position:fixed;box-shadow:0 4px 15px #0000004d}.panel-header{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;display:flex}.panel-toggle-icon{align-items:center;transition:transform .3s;display:flex}.collapsed .panel-toggle-icon{transform:rotate(-180deg)}.panel-content-wrapper{grid-template-rows:1fr;transition:grid-template-rows .3s;display:grid}.collapsed .panel-content-wrapper{grid-template-rows:0fr}.panel-content-inner{overflow:hidden}.panel-content-inner .controls{margin-top:20px}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}@keyframes slideUpModal{0%{opacity:0;transform:translateY(30px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.modal{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;background:0 0;justify-content:center;align-items:center;width:100%;height:100%;animation:.3s ease-out forwards fadeInOverlay;display:flex;position:fixed;top:0;left:0}.modal.hidden{animation:none;display:none!important}.modal-content{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);width:450px;max-width:90%;box-shadow:var(--shadow);color:var(--text);padding:28px;animation:.4s cubic-bezier(.16,1,.3,1) forwards slideUpModal}.modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;display:flex}.modal-header h3{color:var(--text);margin:0;font-size:1.25rem}.close-btn{cursor:pointer;color:var(--muted);font-size:24px;font-weight:700;line-height:1;transition:color .2s,transform .2s}.close-btn:hover{color:var(--danger);transform:scale(1.1)}.edit-form-group{flex-direction:column;margin-bottom:16px;display:flex}.edit-form-group label{color:var(--muted);margin-bottom:8px;font-size:.85rem;font-weight:600}.edit-form-group input{border:1px solid var(--input-border);background:var(--input-bg);color:var(--text);box-sizing:border-box;width:100%;font-family:var(--sans);border-radius:12px;outline:none;padding:12px;transition:border-color .2s,box-shadow .2s}.edit-form-group input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2443cc26}.edit-form-group input.input-error{border-color:var(--danger)!important;box-shadow:0 0 0 3px #fb718533!important}.btn-save{background:var(--accent);color:var(--btn-primary-text);cursor:pointer;width:100%;font-size:1rem;font-weight:700;font-family:var(--sans);border:none;border-radius:12px;margin-top:20px;padding:14px;transition:filter .2s,transform .1s}.btn-save:hover{filter:brightness(1.1)}.btn-save:active{transform:scale(.98)}.btn-edit{cursor:pointer;color:var(--muted);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;transition:color .2s,transform .1s;display:inline-flex}.btn-edit svg{width:18px;height:18px}.btn-edit:hover{color:var(--accent);transform:scale(1.15)}.edit-form-group input:disabled,.edit-form-group select:disabled{opacity:.5;cursor:not-allowed;background:var(--header-bg);border-color:var(--line)}.edit-form-group input:disabled:hover{box-shadow:none}.btn-loading{opacity:.7;pointer-events:none;cursor:wait!important}.btn-success{animation:.4s cubic-bezier(.175,.885,.32,1.275) forwards popSuccess;color:#fff!important;background-color:#2cddcb!important;border-color:#2cddcb!important}.dashboard-grid{grid-template-columns:1fr;gap:20px;margin-top:20px;display:grid}@media (width>=768px){.dashboard-grid{grid-template-columns:repeat(3,1fr)}}@keyframes popSuccess{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}
