@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";
:root{--bg-page:#f7f8fa;--bg-sidebar:#fff;--bg-card:#fff;--bg-input:#f3f4f6;--bg-hover:#f0f2f7;--bg-active:#eaedfa;--bg-elevated:#fff;--border:#0f172a12;--border-md:#0f172a1c;--border-focus:#2563eb61;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-muted:#2563eb12;--accent-glow:#2563eb24;--kleur-accent:var(--accent);--text-1:#0f172a;--text-2:#5e6e8a;--text-3:#98a4b8;--green:#16a34a;--green-muted:#16a34a17;--red:#dc2626;--red-muted:#dc262617;--yellow:#c07a00;--yellow-muted:#c07a0017;--purple:#7c3aed;--purple-muted:#7c3aed17;--brand:var(--accent);--brand-hover:var(--accent-hover);--brand-muted:var(--accent-muted);--brand-glow:var(--accent-glow);--brand-grad-2:#818cf8;--brand-fg:#fff;--brand-soft:#2563eb1f;--bg-subtle:#f7f8fa;--text-4:#c1c9d6;--border-strong:#0f172a24;--sidebar-w:244px;--topbar-h:60px;--content-px:40px;--radius:8px;--radius-lg:12px;--radius-xl:16px;--shadow:0 1px 3px #0000000d, 0 0 0 1px #0000000a;--shadow-card:0 1px 3px #0f172a0d, 0 1px 2px #0f172a0a;--shadow-float:0 6px 20px #0f172a1a, 0 2px 6px #0f172a0d;--shadow-lg:0 12px 32px #0000001a, 0 2px 8px #0000000d;--transition:.14s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;font-size:16px}body{font-family:var(--font-primary,"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);background:var(--bg-page);color:var(--text-1);min-height:100vh;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-secondary,inherit)}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}.bg-glow{filter:blur(100px);pointer-events:none;z-index:0;border-radius:50%;position:fixed}.bg-glow-1{background:radial-gradient(circle,#2563eb17 0%,#0000 70%);width:560px;height:560px;top:-180px;left:-140px}.bg-glow-2{background:radial-gradient(circle,#7c3aed12 0%,#0000 70%);width:440px;height:440px;bottom:-120px;right:-120px}.login-wrap{z-index:1;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:relative}.login-card{background:var(--bg-card);border:1px solid var(--border-md);border-radius:var(--radius-xl);width:100%;max-width:400px;box-shadow:var(--shadow-lg);padding:44px 40px}.brand{align-items:center;gap:10px;margin-bottom:28px;display:flex}.brand-icon{background:linear-gradient(135deg, var(--accent), var(--purple));border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.brand-icon svg{color:#fff;width:18px;height:18px}.brand-name{color:var(--text-1);letter-spacing:-.03em;font-size:1.1rem;font-weight:700}.login-card h1{letter-spacing:-.04em;color:var(--text-1);margin-bottom:5px;font-size:1.5rem;font-weight:700;line-height:1.2}.login-subtitle{color:var(--text-2);margin-bottom:28px;font-size:.9rem}.form-group{margin-bottom:16px}.form-group label{color:var(--text-2);margin-bottom:6px;font-size:.82rem;font-weight:500;display:block}.input-wrap{align-items:center;display:flex;position:relative}.input-wrap>svg{width:15px;height:15px;color:var(--text-3);pointer-events:none;flex-shrink:0;position:absolute;left:12px}.input-wrap input,.input-wrap select{background:var(--bg-input);border:1px solid var(--border-md);border-radius:var(--radius);width:100%;color:var(--text-1);transition:border-color var(--transition), box-shadow var(--transition);outline:none;padding:10px 12px 10px 38px;font-family:inherit;font-size:.9rem}.input-wrap input::placeholder{color:var(--text-3)}.input-wrap input:focus,.input-wrap select:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-glow);background:var(--bg-card)}.input-suffix{color:var(--text-3);pointer-events:none;white-space:nowrap;font-size:.8rem;position:absolute;right:12px}.toggle-pw{cursor:pointer;color:var(--text-3);transition:color var(--transition);background:0 0;border:none;align-items:center;padding:4px;display:flex;position:absolute;right:10px}.toggle-pw:hover{color:var(--text-2)}.toggle-pw svg{width:15px;height:15px}input.input,select.input,textarea.input{background:var(--bg-input);border:1px solid var(--border-md);border-radius:var(--radius);width:100%;color:var(--text-1);transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);outline:none;padding:9px 12px;font-family:inherit;font-size:.9rem}input.input:focus,select.input:focus,textarea.input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-glow);background:var(--bg-card)}input.input::-moz-placeholder{color:var(--text-3)}textarea.input::-moz-placeholder{color:var(--text-3)}input.input::placeholder,textarea.input::placeholder{color:var(--text-3)}.form-error{background:var(--red-muted);border-radius:var(--radius);color:var(--red);border:1px solid #dc26262e;margin-bottom:16px;padding:10px 14px;font-size:.85rem}.form-success{background:var(--green-muted);border-radius:var(--radius);color:var(--green);border:1px solid #16a34a2e;margin-bottom:16px;padding:10px 14px;font-size:.85rem}.btn{border-radius:var(--radius);cursor:pointer;white-space:nowrap;height:34px;transition:var(--transition);letter-spacing:-.01em;border:1px solid #0000;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-family:inherit;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-flex}.btn svg{flex-shrink:0;width:15px;height:15px}.btn-sm{height:30px;padding:0 11px;font-size:.8rem}.btn-primary{background:var(--kleur-primair,var(--accent));color:var(--sidebar-tekst-kleur,#fff);box-shadow:0 1px 2px #0f172a29, inset 0 1px 0 color-mix(in srgb, var(--sidebar-tekst-kleur,#fff) 14%, transparent)}.btn-primary:hover{filter:brightness(.94);box-shadow:0 3px 8px #0f172a33}.btn-primary:active{box-shadow:none;filter:brightness(.85);transform:translateY(1px)}.btn-ghost{background:var(--bg-card);color:var(--text-2);border:1px solid var(--border-md)}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-1);border:1px solid var(--border-strong)}.btn-ghost:active{background:var(--bg-active)}.btn-danger{background:var(--red-muted);color:var(--red);border:1px solid #dc262629}.btn-danger:hover{background:#dc262624}.btn-full{width:100%}.btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.btn-spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:13px;height:13px;animation:.7s linear infinite spin;display:none}.btn.loading .btn-spinner{display:block}.btn.loading .btn-label{display:none}.app-layout{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-w);z-index:100;--sb-divider:color-mix(in srgb, var(--sidebar-tekst-kleur,#fff) 15%, transparent);--sb-hover:color-mix(in srgb, var(--sidebar-tekst-kleur,#fff) 9%, transparent);--sb-active:color-mix(in srgb, var(--sidebar-tekst-kleur,#fff) 16%, transparent);--sb-muted:color-mix(in srgb, var(--sidebar-tekst-kleur,#fff) 60%, transparent);--sb-faint:color-mix(in srgb, var(--sidebar-tekst-kleur,#fff) 46%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--sidebar-tekst-kleur,#fff) 7%, transparent) 0%, transparent 16%, transparent 72%, #0000001a 100%), var(--kleur-primair,var(--bg-sidebar));border-right:1px solid var(--border-md);box-shadow:inset -1px 0 0 var(--sb-divider);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.sidebar-brand{border-bottom:1px solid var(--sb-divider,#0000001a);flex-shrink:0;align-items:center;gap:9px;padding:18px 16px;display:flex}.sidebar-brand .brand-icon{border-radius:7px;width:28px;height:28px}.sidebar-brand .brand-icon svg{width:15px;height:15px}.sidebar-brand .brand-name{letter-spacing:-.03em;color:var(--sidebar-tekst-kleur,var(--text-1));font-size:1rem;font-weight:700}.sidebar-nav{scrollbar-width:none;flex-direction:column;flex:1;gap:1px;padding:10px 8px;display:flex;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{display:none}.nav-section-label{letter-spacing:.12em;text-transform:uppercase;color:var(--sb-faint,var(--text-3));padding:16px 10px 6px;font-size:.66rem;font-weight:700}button.nav-item{text-align:left;background:0 0;border:none;outline:none;width:100%;font-family:inherit}.nav-item{border-radius:var(--radius);color:color-mix(in srgb, var(--sidebar-tekst-kleur,#fff) 80%, transparent);transition:all var(--transition);cursor:pointer;align-items:center;gap:9px;padding:8px 11px;font-size:.855rem;font-weight:500;line-height:1;text-decoration:none;display:flex}.nav-item svg{opacity:.82;width:15px;height:15px;color:var(--sidebar-tekst-kleur,currentColor);flex-shrink:0}.nav-item:hover{background:var(--sb-hover,var(--bg-hover));color:var(--sidebar-tekst-kleur,var(--text-1))}.nav-item:hover svg{opacity:1}.nav-item.active{background:var(--sb-active,var(--accent-muted));color:var(--sidebar-tekst-kleur,var(--accent));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--sidebar-tekst-kleur,#fff) 10%, transparent);font-weight:600}.nav-item.active svg{color:var(--sidebar-tekst-kleur,var(--accent));opacity:1}.sidebar-footer{border-top:1px solid var(--sb-divider,#0000001a);flex-shrink:0;align-items:center;gap:9px;padding:12px 14px;display:flex}.user-avatar{background:linear-gradient(135deg, var(--accent), var(--purple));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:.78rem;font-weight:700;display:flex}.user-info{flex:1;min-width:0}.user-name{color:var(--text-1);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:600;line-height:1.3;display:block;overflow:hidden}.btn-logout{cursor:pointer;color:var(--text-3);border-radius:var(--radius);transition:all var(--transition);background:0 0;border:none;flex-shrink:0;align-items:center;padding:5px;display:flex}.btn-logout:hover{background:var(--red-muted);color:var(--red)}.btn-logout svg{width:15px;height:15px}.main-content{margin-left:var(--sidebar-w);flex-direction:column;flex:1;min-height:100vh;transition:margin-left .2s;display:flex}.topbar{height:var(--topbar-h);border-bottom:1px solid var(--border);padding:0 var(--content-px);-webkit-backdrop-filter:blur(10px);z-index:50;background:#fffffff2;flex-shrink:0;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.topbar-title{letter-spacing:-.02em;color:var(--text-1);font-size:.9rem;font-weight:600}.topbar-subtitle{color:var(--text-2);font-size:.8rem}.topbar-right{align-items:center;gap:10px;display:flex}.topbar-date{color:var(--text-3);font-size:.8rem}.page-content{padding:var(--content-px);flex:1}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:28px;display:flex}.page-header h1{letter-spacing:-.05em;color:var(--text-1);font-size:1.6rem;font-weight:700;line-height:1.15}.page-header p{color:var(--text-2);margin-top:5px;font-size:.875rem;line-height:1.5}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.card-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:15px 20px;display:flex}.card-header h2{letter-spacing:-.02em;color:var(--text-1);align-items:center;gap:9px;font-size:.95rem;font-weight:600;display:flex}.card-header h2 svg{width:16px;height:16px;color:var(--accent-readable,var(--accent))}.card-header .meta{color:var(--text-3);font-variant-numeric:tabular-nums;font-size:.8rem}.card-body{padding:24px}.stats-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px;display:grid}@media (max-width:1080px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.stats-grid{grid-template-columns:1fr}}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);cursor:pointer;transition:box-shadow var(--transition), transform var(--transition), border-color var(--transition);padding:18px 18px 20px;position:relative;overflow:hidden}.stat-card:before{content:"";background:var(--si,var(--accent-readable,var(--accent)));opacity:0;width:3px;transition:opacity var(--transition);position:absolute;top:0;bottom:0;left:0}.stat-card:hover{box-shadow:var(--shadow-float);border-color:var(--border-md);transform:translateY(-2px)}.stat-card:hover:before{opacity:1}.stat-card.accent{--si:var(--accent-readable,var(--accent))}.stat-card.yellow{--si:var(--yellow)}.stat-card.purple{--si:var(--purple)}.stat-card.green{--si:var(--green)}.stat-top{align-items:center;gap:10px;margin-bottom:16px;display:flex}.stat-ic{background:color-mix(in srgb, var(--si,var(--accent)) 13%, transparent);width:32px;height:32px;color:var(--si,var(--accent));border-radius:9px;flex-shrink:0;place-items:center;display:grid}.stat-ic svg{width:16px;height:16px}.stat-ic.accent{--si:var(--accent-readable,var(--accent))}.stat-ic.yellow{--si:var(--yellow)}.stat-ic.purple{--si:var(--purple)}.stat-ic.green{--si:var(--green)}.stat-label svg{width:13px;height:13px}.stat-value{letter-spacing:-.05em;color:var(--text-1);font-variant-numeric:tabular-nums;font-size:2.1rem;font-weight:700;line-height:1}.stat-meta{color:var(--text-3);align-items:center;gap:6px;margin-top:9px;font-size:.78rem;display:flex}.stat-meta .arrow{color:var(--text-4,var(--text-3));transition:color var(--transition), transform var(--transition)}.stat-card:hover .stat-meta .arrow{color:var(--si,var(--accent));transform:translate(2px)}.mini-avatar{background:color-mix(in srgb, var(--accent-readable,var(--accent)) 12%, transparent);width:30px;height:30px;color:var(--accent-readable,var(--accent));border-radius:50%;flex-shrink:0;place-items:center;font-size:.8rem;font-weight:700;display:grid}.td-name{align-items:center;gap:11px;font-weight:500;display:flex}.table-wrap{overflow-x:auto}.board-scroll{scrollbar-width:none;-ms-overflow-style:none}.board-scroll::-webkit-scrollbar{display:none}html.geen-scrollbar,body.geen-scrollbar{scrollbar-width:none;-ms-overflow-style:none}html.geen-scrollbar::-webkit-scrollbar{width:0;height:0;display:none}body.geen-scrollbar::-webkit-scrollbar{width:0;height:0;display:none}.data-table{border-collapse:collapse;width:100%;font-size:.875rem}.data-table thead th{text-align:left;color:var(--text-3);text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;border-bottom:1px solid var(--border);background:var(--bg-subtle);padding:11px 20px;font-size:.7rem;font-weight:700}.data-table thead th.num{text-align:right}.data-table tbody tr{border-bottom:1px solid var(--border);transition:background var(--transition)}.data-table tbody tr:last-child{border-bottom:none}.data-table tbody tr:hover{background:var(--bg-hover)}.data-table td{color:var(--text-1);vertical-align:middle;padding:13px 20px}.data-table td.muted{color:var(--text-2)}.badge{letter-spacing:.02em;border-radius:999px;align-items:center;gap:4px;padding:3px 9px;font-size:.72rem;font-weight:600;display:inline-flex}.badge-green{background:var(--green-muted);color:var(--green)}.badge-red{background:var(--red-muted);color:var(--red)}.badge-yellow{background:var(--yellow-muted);color:var(--yellow)}.badge-blue{background:var(--accent-muted);color:var(--accent)}.badge-purple{background:var(--purple-muted);color:var(--purple)}.modal-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:200;opacity:0;pointer-events:none;background:#0f172a59;justify-content:center;align-items:center;padding:24px;transition:opacity .18s;display:flex;position:fixed;inset:0}.modal-overlay.open{opacity:1;pointer-events:all}.modal{background:var(--bg-card);border:1px solid var(--border-md);border-radius:var(--radius-xl);width:100%;max-width:480px;box-shadow:var(--shadow-lg);flex-direction:column;max-height:90vh;transition:transform .2s cubic-bezier(.22,1,.36,1);display:flex;transform:translateY(12px)scale(.985)}.modal-overlay.open .modal{transform:translateY(0)scale(1)}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h3{letter-spacing:-.02em;font-size:.95rem;font-weight:600}.modal-close{cursor:pointer;color:var(--text-3);transition:all var(--transition);background:0 0;border:none;border-radius:6px;align-items:center;padding:4px;display:flex}.modal-close:hover{background:var(--bg-hover);color:var(--text-1)}.modal-close svg{width:17px;height:17px}.modal-body{flex:1;min-height:0;padding:24px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:9px;padding:16px 24px;display:flex}#toast-container{z-index:500;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:24px;right:24px}.toast{background:var(--bg-elevated,#fff);border:1px solid var(--border-md);border-radius:var(--radius);color:var(--text-1);box-shadow:var(--shadow-float);pointer-events:all;max-width:320px;padding:11px 16px;font-size:.85rem;transition:transform .3s cubic-bezier(.34,1.56,.64,1);transform:translate(110%)}.toast.show{transform:translate(0)}.toast.toast-success{border-left:3px solid var(--green)}.toast.toast-error{border-left:3px solid var(--red)}.toast.toast-info{border-left:3px solid var(--accent)}.spinner{border:2.5px solid var(--border-md);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;margin:0 auto;animation:.75s linear infinite spin}.spinner-sm{border-width:2px;width:13px;height:13px}.loading-state{color:var(--text-3);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:64px 24px;font-size:.875rem;display:flex}.empty-state{color:var(--text-3);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:64px 24px;display:flex}.empty-state svg{opacity:.3;width:36px;height:36px}.empty-state p{font-size:.875rem;line-height:1.5}.hidden{display:none!important}.flex{display:flex}.items-center{align-items:center}.gap-2{gap:8px}.gap-3{gap:12px}.ml-auto{margin-left:auto}.text-muted{color:var(--text-2);font-size:.85rem}.font-mono{font-family:JetBrains Mono,Fira Code,monospace;font-size:.86em}.filter-bar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.filter-bar select,.filter-bar input{background:var(--bg-card);border:1px solid var(--border-md);border-radius:var(--radius);color:var(--text-1);cursor:pointer;transition:border-color var(--transition);box-shadow:var(--shadow);outline:none;padding:6px 11px;font-family:inherit;font-size:.84rem}.filter-bar select:focus,.filter-bar input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-glow)}.sidebar-footer-link{min-width:0;color:inherit;border-radius:var(--radius);transition:background var(--transition);flex:1;align-items:center;gap:9px;margin:-5px -6px;padding:5px 6px;text-decoration:none;display:flex}.sidebar-footer-link:hover{background:var(--bg-hover)}.sidebar-footer-link:hover .user-name{color:var(--accent)}.app{grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh;transition:grid-template-columns .2s;display:grid}.app>.sidebar{width:auto;height:100vh;position:sticky;top:0;overflow:hidden}.brand{border-bottom:1px solid var(--sb-divider,#0000001a);flex-shrink:0;align-items:center;gap:11px;margin-bottom:0;padding:16px 18px;display:flex}.brand-mark{width:32px;height:32px;color:var(--sidebar-tekst-kleur,#fff);background:color-mix(in srgb, var(--sidebar-tekst-kleur,#fff) 16%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--sidebar-tekst-kleur,#fff) 24%, transparent), inset 0 1px 0 color-mix(in srgb, var(--sidebar-tekst-kleur,#fff) 22%, transparent);letter-spacing:-.03em;border-radius:9px;flex-shrink:0;place-items:center;font-family:inherit;font-size:.82rem;font-weight:800;display:grid;position:relative}.brand-mark:has(img){box-shadow:none;background:0 0;overflow:hidden}.brand-mark svg{width:15px;height:15px}.brand-name{letter-spacing:-.03em;color:var(--sidebar-tekst-kleur,var(--text-1));align-items:center;font-size:1.02rem;font-weight:700;display:flex}.brand-name .dot{background:var(--green);vertical-align:middle;width:6px;height:6px;box-shadow:0 0 0 3px color-mix(in srgb, var(--sidebar-tekst-kleur,#fff) 12%, transparent);border-radius:50%;margin-left:8px;display:inline-block}.workspace-switch{border:1px solid var(--border);background:var(--bg-subtle);cursor:pointer;transition:background var(--transition), border-color var(--transition);border-radius:8px;align-items:center;gap:10px;margin:4px 12px 6px;padding:8px 10px;display:flex}.workspace-switch:hover{background:var(--bg-hover);border-color:var(--border-md)}.ws-logo{background:linear-gradient(135deg, var(--brand), var(--brand-grad-2));color:#fff;letter-spacing:-.02em;border-radius:6px;place-items:center;width:24px;height:24px;font-size:.7rem;font-weight:700;display:grid}.ws-meta{flex:1;min-width:0;line-height:1.2}.ws-meta .name{color:var(--text-1);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:600;display:block;overflow:hidden}.ws-meta .plan{color:var(--text-3);letter-spacing:.02em;font-size:.68rem}.ws-switch-icon{color:var(--text-3);flex-shrink:0}.nav{flex-direction:column;flex:1;gap:2px;min-height:0;padding:8px 12px 12px;display:flex;overflow-y:auto}.nav::-webkit-scrollbar{width:0}.nav-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.09em;padding:18px 12px 6px;font-size:.68rem;font-weight:600}.nav-item{position:relative}.nav-item .count{font-variant-numeric:tabular-nums;background:color-mix(in srgb, var(--sidebar-tekst-kleur,#fff) 20%, transparent);color:var(--sidebar-tekst-kleur,var(--text-3));border-radius:999px;margin-left:auto;padding:3px 7px;font-size:.68rem;font-weight:700;line-height:1}.avatar{cursor:pointer;width:34px;height:34px;color:var(--sidebar-tekst-kleur,#fff);background:color-mix(in srgb, var(--sidebar-tekst-kleur,#fff) 18%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--sidebar-tekst-kleur,#fff) 26%, transparent);border-radius:50%;flex-shrink:0;place-items:center;font-size:.8rem;font-weight:700;text-decoration:none;display:grid}.user-block{flex:1;min-width:0;line-height:1.3;text-decoration:none}.user-name{color:var(--sidebar-tekst-kleur,var(--text-1));white-space:nowrap;text-overflow:ellipsis;font-size:.83rem;font-weight:600;display:block;overflow:hidden}.user-role{color:var(--sb-muted,var(--text-3));text-transform:capitalize;font-size:.72rem;display:block}.icon-btn{cursor:pointer;width:32px;height:32px;color:var(--sb-muted,var(--text-3));transition:all var(--transition);background:0 0;border:none;border-radius:8px;flex-shrink:0;place-items:center;text-decoration:none;display:grid}.icon-btn:hover{background:var(--sb-hover,var(--bg-hover));color:var(--sidebar-tekst-kleur,var(--text-1))}.icon-btn.danger:hover{background:var(--red-muted);color:var(--red)}.icon-btn svg{width:15px;height:15px}.main{flex-direction:column;min-width:0;min-height:100vh;display:flex}.breadcrumb{color:var(--text-2);align-items:center;gap:8px;font-size:.86rem;display:flex}.breadcrumb .sep{color:var(--text-4,var(--text-3))}.breadcrumb .here{color:var(--text-1);letter-spacing:-.005em;font-weight:600}.topbar-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.topbar-divider{background:var(--border);width:1px;height:20px}.icon-pill{border:1px solid var(--border-md);background:var(--bg-card);width:34px;height:34px;color:var(--text-2);cursor:pointer;transition:var(--transition);border-radius:9px;flex-shrink:0;place-items:center;display:grid;position:relative}.icon-pill:hover{color:var(--text-1);border-color:var(--border-strong);background:var(--bg-hover)}.icon-pill svg{width:16px;height:16px}.icon-pill .notif-dot{background:var(--red);pointer-events:none;border-radius:50%;width:7px;height:7px;position:absolute;top:7px;right:8px;box-shadow:0 0 0 2px #fff}.topbar-time{color:var(--text-3);font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-size:.78rem;display:flex}.pulse{background:var(--green);border-radius:50%;width:6px;height:6px;display:inline-block;position:relative}.pulse:after{content:"";background:var(--green);opacity:.25;border-radius:50%;animation:2s ease-out infinite pulseAnim;position:absolute;inset:-3px}@keyframes pulseAnim{0%{opacity:.35;transform:scale(.6)}to{opacity:0;transform:scale(1.7)}}.cmd-k{border:1px solid var(--border-md);background:var(--bg-card);height:32px;color:var(--text-3);cursor:pointer;min-width:200px;transition:border-color var(--transition), background var(--transition);white-space:nowrap;border-radius:8px;align-items:center;gap:10px;padding:0 8px 0 12px;font-family:inherit;font-size:.82rem;display:flex}.cmd-k:hover{border-color:var(--border-md);background:#fff}.cmd-k svg{flex-shrink:0;width:14px;height:14px}.cmd-k .kbd{color:var(--text-3);border:1px solid var(--border-md);background:var(--bg-subtle);border-radius:5px;margin-left:auto;padding:1px 5px;font-family:JetBrains Mono,Fira Code,monospace;font-size:.7rem;line-height:1.4}.btn{height:32px;padding:0 12px}.btn-quiet{color:var(--text-2);background:0 0;border:none}.btn-quiet:hover{background:var(--bg-hover);color:var(--text-1)}.btn-lg{border-radius:9px;height:38px;padding:0 16px;font-size:.9rem}.btn-block{justify-content:center;width:100%;height:auto;padding:10px 16px}.content{padding:32px var(--content-px) 64px;width:100%;max-width:1480px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;display:flex}.page-head h1{letter-spacing:-.045em;color:var(--text-1);font-size:1.7rem;font-weight:700;line-height:1.12}.page-head p{color:var(--text-2);margin-top:6px;font-size:.9rem}.page-head .accents{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.wave{vertical-align:middle;opacity:.9;margin-right:4px;display:inline-block}.segment{background:var(--bg-card);border:1px solid var(--border-md);border-radius:8px;gap:1px;padding:3px;display:inline-flex}.segment button{color:var(--text-2);cursor:pointer;transition:background var(--transition), color var(--transition);font-variant-numeric:tabular-nums;background:0 0;border:none;border-radius:6px;padding:4px 10px;font-family:inherit;font-size:.78rem;font-weight:500}.segment button:hover{color:var(--text-1)}.segment button.on{background:var(--text-1);color:#fff;box-shadow:0 1px 2px #0f172a2e}.stats{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:28px;display:grid}@media (max-width:1100px){.stats{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.stats{grid-template-columns:1fr}}.stat{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition);padding:18px 20px 0;position:relative;overflow:hidden}.stat:hover{box-shadow:var(--shadow-float);border-color:var(--border-md);transform:translateY(-1px)}.stat-top{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.stat-label{color:var(--text-2);letter-spacing:-.005em;align-items:center;gap:7px;font-size:.77rem;font-weight:500;display:flex}.stat-icon{background:var(--brand-muted);width:22px;height:22px;color:var(--brand);border-radius:6px;flex-shrink:0;place-items:center;display:grid}.stat-icon svg{width:12px;height:12px}.stat-icon.purple{background:var(--purple-muted);color:var(--purple)}.stat-icon.green{background:var(--green-muted);color:var(--green)}.stat-icon.yellow{background:var(--yellow-muted);color:var(--yellow)}.stat-icon.red{background:var(--red-muted);color:var(--red)}.stat-delta{background:var(--green-muted);color:var(--green);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:3px;padding:2px 7px;font-size:.72rem;font-weight:600;display:inline-flex}.stat-delta.down{background:var(--red-muted);color:var(--red)}.stat-delta.flat{background:var(--bg-subtle);color:var(--text-2);border:1px solid var(--border)}.stat-delta svg{width:10px;height:10px}.stat-value{letter-spacing:-.045em;color:var(--text-1);font-variant-numeric:tabular-nums;margin-bottom:2px;font-size:1.95rem;font-weight:700;line-height:1.05}.stat-value .unit{color:var(--text-3);letter-spacing:-.02em;margin-left:4px;font-size:1rem;font-weight:600}.stat-meta{color:var(--text-3);margin-bottom:14px;font-size:.76rem}.stat-meta b{color:var(--text-2);font-weight:500}.sparkline{pointer-events:none;height:48px;margin:0 -20px -1px}.sparkline svg{width:100%;height:100%;display:block}.surface{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.surface+.surface{margin-top:20px}.surface-head{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px 14px;display:flex}.surface-head h2{letter-spacing:-.02em;align-items:center;gap:9px;font-size:.98rem;font-weight:600;display:flex}.count-pill{color:var(--text-2);background:var(--bg-subtle);border:1px solid var(--border);font-variant-numeric:tabular-nums;border-radius:999px;padding:1px 8px;font-size:.72rem;font-weight:600}.surface-head .h-actions{align-items:center;gap:8px;display:flex}.surface-body{padding:22px}.filter-row{border-bottom:1px solid var(--border);background:var(--bg-subtle);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 20px;display:flex}.search{flex:1;min-width:180px;max-width:300px;position:relative}.search svg{width:14px;height:14px;color:var(--text-3);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.search input{border:1px solid var(--border-md);background:var(--bg-card);width:100%;height:32px;color:var(--text-1);transition:border-color var(--transition), box-shadow var(--transition);border-radius:8px;outline:none;padding:0 10px 0 32px;font-family:inherit;font-size:.84rem}.search input::placeholder{color:var(--text-3)}.search input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--brand-glow)}.chips{background:var(--bg-card);border:1px solid var(--border-md);border-radius:8px;flex-wrap:wrap;gap:1px;padding:3px;display:inline-flex}.chip{color:var(--text-2);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:4px 11px;font-family:inherit;font-size:.8rem;font-weight:500;display:inline-flex}.chip .pip{background:var(--text-3);border-radius:50%;flex-shrink:0;width:6px;height:6px}.chip:hover{color:var(--text-1);background:var(--bg-hover)}.chip.on{background:var(--text-1);color:#fff}.chip.on .pip{background:#fff}.filter-spacer{flex:1}.dropdown{border:1px solid var(--border-md);background:var(--bg-card);height:32px;color:var(--text-1);cursor:pointer;appearance:none;transition:border-color var(--transition), box-shadow var(--transition);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%2398a4b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='4 8 8 12 12 8'/></svg>");background-position:right 9px center;background-repeat:no-repeat;border-radius:8px;outline:none;padding:0 30px 0 11px;font-family:inherit;font-size:.82rem}.dropdown:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--brand-glow)}table.data{border-collapse:collapse;width:100%;font-size:.875rem}table.data thead th{text-align:left;color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;border-bottom:1px solid var(--border);background:#fff;padding:10px 20px;font-size:.72rem;font-weight:600}table.data thead th.num{text-align:right}table.data tbody td{color:var(--text-1);border-bottom:1px solid var(--border);vertical-align:middle;font-variant-numeric:tabular-nums;padding:13px 20px}table.data tbody td.muted{color:var(--text-2)}table.data tbody td.num{text-align:right}table.data tbody tr{transition:background var(--transition)}table.data tbody tr:hover{background:var(--bg-hover)}table.data tbody tr:hover .row-action{opacity:1}table.data tbody tr:last-child td{border-bottom:none}.row-action{opacity:0;transition:opacity var(--transition);background:var(--bg-card);border:1px solid var(--border-md);color:var(--text-2);cursor:pointer;border-radius:6px;align-items:center;gap:5px;padding:3px 8px;font-family:inherit;font-size:.76rem;display:inline-flex}.row-action:hover{color:var(--text-1);border-color:var(--border-md);background:#fff}.row-action svg{width:12px;height:12px}.typecell{align-items:center;gap:9px;display:inline-flex}.type-dot{background:var(--brand);width:8px;height:8px;box-shadow:0 0 0 3px var(--brand-muted);border-radius:50%;flex-shrink:0}.type-dot.green{background:var(--green);box-shadow:0 0 0 3px var(--green-muted)}.type-dot.yellow{background:var(--yellow);box-shadow:0 0 0 3px var(--yellow-muted)}.type-dot.purple{background:var(--purple);box-shadow:0 0 0 3px var(--purple-muted)}.type-name{letter-spacing:-.005em;font-weight:500}.ref{color:var(--text-2);font-family:JetBrains Mono,Fira Code,monospace;font-size:.82rem}.muted{color:var(--text-2)}.badge .bd{background:currentColor;border-radius:50%;flex-shrink:0;width:5px;height:5px;display:inline-block}.badge.green{background:var(--green-muted);color:var(--green)}.badge.red{background:var(--red-muted);color:var(--red)}.badge.yellow{background:var(--yellow-muted);color:var(--yellow)}.badge.brand{background:var(--brand-muted);color:var(--brand)}.badge.gray{background:var(--bg-subtle);color:var(--text-2);border:1px solid var(--border)}.badge.purple{background:var(--purple-muted);color:var(--purple)}.pagination{border-top:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex}.pagination .meta{color:var(--text-3);font-variant-numeric:tabular-nums;font-size:.8rem}.page-btns{gap:6px;display:flex}.page-btn{border:1px solid var(--border-md);background:var(--bg-card);width:28px;height:28px;color:var(--text-2);cursor:pointer;transition:all var(--transition);font-variant-numeric:tabular-nums;border-radius:7px;place-items:center;font-family:inherit;font-size:.78rem;font-weight:500;display:grid}.page-btn:hover{border-color:var(--border-md);color:var(--text-1)}.page-btn.on{background:var(--text-1);color:#fff;border-color:var(--text-1)}.page-btn svg{width:13px;height:13px}.page-btn:disabled{opacity:.4;cursor:not-allowed}.label{color:var(--text-2);margin-bottom:6px;font-size:.78rem;font-weight:500;display:block}.field{margin-bottom:16px}.input-wrap>svg.lead{width:15px;height:15px;color:var(--text-3);pointer-events:none;position:absolute;left:12px}.login-shell{z-index:1;grid-template-columns:1fr 1fr;min-height:100vh;display:grid;position:relative}@media (max-width:900px){.login-shell{grid-template-columns:1fr}.login-aside{display:none!important}}.login-form-side{justify-content:center;align-items:center;padding:24px;display:flex}.login-card{width:100%;max-width:420px;box-shadow:none;background:0 0;border:none;border-radius:0;padding:8px}.login-brand{align-items:center;gap:10px;margin-bottom:32px;display:flex}.login-brand .brand-mark{width:34px;height:34px}.login-brand-name{letter-spacing:-.025em;color:var(--text-1);font-size:1.05rem;font-weight:700}.login-title{letter-spacing:-.045em;color:var(--text-1);margin-bottom:6px;font-size:1.7rem;font-weight:700;line-height:1.12}.login-sub{color:var(--text-2);margin-bottom:28px;font-size:.9rem}.login-foot{color:var(--text-3);justify-content:space-between;align-items:center;margin-top:28px;font-size:.78rem;display:flex}.login-foot a{color:var(--brand)}.login-aside{background:radial-gradient(800px 500px at 20% 30%, var(--brand-glow), transparent 60%), linear-gradient(160deg, var(--brand) 0%, var(--brand-grad-2) 100%);color:#fff;flex-direction:column;justify-content:space-between;padding:44px 48px;display:flex;position:relative;overflow:hidden}.login-aside:before{content:"";pointer-events:none;background-image:linear-gradient(#ffffff0f 1px,#0000 1px),linear-gradient(90deg,#ffffff0f 1px,#0000 1px);background-size:36px 36px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000 30%,#0000 75%);mask-image:radial-gradient(circle,#000 30%,#0000 75%)}.login-aside-hero{z-index:1;text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:22px;display:flex;position:relative}.login-aside-hero:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle,#ffffff26,#0000 70%);border-radius:50%;width:340px;height:340px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.login-hero-logo{-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 6px 18px #00000047);max-width:280px;max-height:72px}.login-hero-card{-webkit-backdrop-filter:blur(6px);background:#ffffff29;border-radius:26px;place-items:center;width:104px;height:104px;display:grid;overflow:hidden;box-shadow:0 14px 40px #00000038,inset 0 0 0 1px #ffffff38}.login-hero-card img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.login-hero-initiaal{color:#fff;letter-spacing:-.03em;font-size:2.8rem;font-weight:800}.login-hero-naam{letter-spacing:-.035em;color:#fff;margin:0;font-size:1.9rem;font-weight:700}.login-aside-status{z-index:1;opacity:.85;align-items:center;gap:8px;font-size:.78rem;display:flex;position:relative}.login-aside-dot{background:#4ade80;border-radius:50%;width:6px;height:6px;display:inline-block;box-shadow:0 0 0 3px #4ade8040}.profile-hero{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:20px;position:relative;overflow:hidden}.profile-hero-cover{background:radial-gradient(600px 200px at 30% 40%, var(--brand-glow), transparent 70%), linear-gradient(135deg, var(--brand) 0%, var(--brand-grad-2) 100%);height:96px;position:relative}.profile-hero-cover:before{content:"";background-image:linear-gradient(#ffffff1a 1px,#0000 1px),linear-gradient(90deg,#ffffff1a 1px,#0000 1px);background-size:24px 24px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 30%,#0000 100%);mask-image:linear-gradient(#000 30%,#0000 100%)}.profile-hero-body{flex-wrap:wrap;align-items:center;gap:18px;padding:18px 22px 22px 124px;display:flex;position:relative}.profile-hero-avatar{background:linear-gradient(135deg, var(--brand), var(--brand-grad-2));color:#fff;width:76px;height:76px;box-shadow:var(--shadow-card);border:3px solid #fff;border-radius:50%;place-items:center;font-size:1.7rem;font-weight:700;display:grid;position:absolute;top:-38px;left:22px;overflow:hidden}.profile-hero-avatar img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.profile-hero-avatar.is-editable{cursor:pointer}.profile-hero-avatar .hero-avatar-overlay{z-index:2;color:#fff;opacity:0;background:#00000073;justify-content:center;align-items:center;transition:opacity .15s;display:flex;position:absolute;inset:0}.profile-hero-avatar.is-editable:hover .hero-avatar-overlay{opacity:1}.profile-hero-meta{flex:1;min-width:0}.profile-hero-meta h1{letter-spacing:-.035em;color:var(--text-1);font-size:1.4rem;font-weight:700;line-height:1.15}.profile-hero-meta p{color:var(--text-2);margin-top:4px;font-size:.88rem}.profile-hero-actions{gap:8px;display:flex}@media (max-width:560px){.profile-hero-body{padding-top:48px;padding-left:22px}}.split-2{grid-template-columns:1fr 1fr;align-items:start;gap:20px;display:grid}@media (max-width:980px){.split-2{grid-template-columns:1fr}}.strength{gap:4px;margin:8px 0 4px;display:flex}.strength i{background:var(--border-md);height:3px;transition:background var(--transition);border-radius:2px;flex:1;font-style:normal}.strength.s1 i:nth-child(-n+1){background:var(--red)}.strength.s2 i:nth-child(-n+2){background:var(--yellow)}.strength.s3 i:nth-child(-n+3),.strength.s4 i{background:var(--green)}.tenant-row{align-items:center;gap:12px;display:flex}.tenant-logo{background:linear-gradient(135deg, var(--tenant-color,var(--brand)), var(--tenant-color-2,var(--brand-grad-2)));color:#fff;letter-spacing:-.02em;border-radius:8px;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:.8rem;font-weight:700;display:grid;box-shadow:inset 0 1px #ffffff2e,0 0 0 1px #0f172a0a}.tenant-info{flex-direction:column;gap:1px;line-height:1.3;display:flex}.tenant-info b{color:var(--text-1);letter-spacing:-.005em;font-weight:500}.tenant-info .sub{color:var(--text-3);font-family:JetBrains Mono,Fira Code,monospace;font-size:.76rem}.color-swatch{background:var(--bg-card);border:1px solid var(--border-md);color:var(--text-2);border-radius:999px;align-items:center;gap:6px;padding:4px 10px 4px 6px;font-family:JetBrains Mono,Fira Code,monospace;font-size:.72rem;display:inline-flex}.color-swatch .dot{background:var(--tenant-color,var(--brand));border-radius:50%;width:14px;height:14px;box-shadow:inset 0 0 0 1px #00000014}.color-grid{grid-template-columns:repeat(8,1fr);gap:8px;display:grid}.color-grid button{aspect-ratio:1;cursor:pointer;transition:transform var(--transition);border:none;border-radius:8px;position:relative;box-shadow:inset 0 0 0 1px #00000014}.color-grid button:hover{transform:scale(1.06)}.color-grid button.on:after{content:"";border:2px solid var(--text-1);border-radius:11px;position:absolute;inset:-3px}.pill{letter-spacing:.01em;border-radius:999px;align-items:center;padding:2px 9px;font-size:.72rem;font-weight:500;display:inline-flex}.pill.basis{color:#475569;background:#64748b1a}.pill.uitzendbureau{color:#c2410c;background:#ea580c1f}.pill.boekhoudkantoor{color:var(--green);background:#16a34a1a}.divider{background:var(--border);height:1px;margin:20px 0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.2s forwards fadeIn}.hamburger-btn{width:40px;height:40px;color:var(--text-1);cursor:pointer;border-radius:var(--radius);transition:background var(--transition);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:none}.hamburger-btn:hover{background:var(--bg-hover)}.hamburger-btn svg{width:20px;height:20px}.sidebar-overlay{z-index:99;cursor:pointer;background:#0f172a4d;display:none;position:fixed;inset:0}.tenant-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px;margin-bottom:32px;display:grid}.tenant-kaart{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:box-shadow var(--transition), transform var(--transition);cursor:default;flex-direction:column;gap:14px;padding:20px;display:flex}.tenant-kaart:hover{box-shadow:var(--shadow-float);transform:translateY(-2px)}.tenant-kaart-header{align-items:center;gap:12px;display:flex}.tenant-logo{background:linear-gradient(135deg, var(--accent), var(--purple));color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1rem;font-weight:700;display:flex;overflow:hidden}.tenant-logo img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.tenant-logo:has(img){border:1px solid var(--border);background:#fff;padding:2px}.tenant-logo:has(img) img{-o-object-fit:contain;object-fit:contain;border-radius:6px}.app-admin .btn-primary{color:#fff;background:#1e293b}.app-admin .btn-primary:hover{filter:none;background:#0f172a}.tenant-naam{color:var(--text-1);letter-spacing:-.02em;font-size:.95rem;font-weight:600}.tenant-sub{color:var(--text-3);margin-top:2px;font-family:JetBrains Mono,Fira Code,monospace;font-size:.77rem}.tenant-meta{flex-direction:column;gap:5px;font-size:.81rem;display:flex}.tenant-meta-rij{color:var(--text-2);justify-content:space-between;align-items:center;display:flex}.tenant-meta-rij svg{width:12px;height:12px;color:var(--text-3);flex-shrink:0}.tenant-acties{border-top:1px solid var(--border);gap:8px;margin-top:auto;padding-top:14px;display:flex}.subdomein-preview{color:var(--text-3);margin-top:6px;font-family:JetBrains Mono,Fira Code,monospace;font-size:.78rem}.subdomein-preview span{color:var(--accent)}.search-wrap{flex:1;min-width:180px;max-width:260px;position:relative}.search-wrap svg{width:14px;height:14px;color:var(--text-3);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.search-wrap input{background:var(--bg-card);border:1px solid var(--border-md);border-radius:var(--radius);width:100%;box-shadow:var(--shadow);color:var(--text-1);transition:border-color var(--transition), box-shadow var(--transition);outline:none;padding:7px 12px 7px 32px;font-family:inherit;font-size:.85rem}.search-wrap input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-glow)}.search-wrap input::placeholder{color:var(--text-3)}.btn-deploy{color:var(--yellow);transition:all var(--transition);background:#c07a0017;border:1px solid #c07a0038}.btn-deploy:hover:not(:disabled){background:#c07a0029;border-color:#c07a005c}.btn-deploy:disabled{opacity:.55;cursor:not-allowed}.deploy-modal{max-width:640px}.deploy-status-balk{border-radius:var(--radius);align-items:center;gap:10px;margin-bottom:14px;padding:11px 14px;font-size:.85rem;font-weight:500;display:flex}.deploy-status-balk.succes{background:var(--green-muted);color:var(--green);border:1px solid #16a34a2e}.deploy-status-balk.fout{background:var(--red-muted);color:var(--red);border:1px solid #dc26262e}.deploy-status-balk.bezig{background:var(--yellow-muted);color:var(--yellow);border:1px solid #c07a002e}.deploy-status-balk svg{flex-shrink:0;width:15px;height:15px}.terminal{border-radius:var(--radius);color:#c9d1d9;white-space:pre-wrap;word-break:break-all;scrollbar-width:thin;scrollbar-color:#ffffff1a transparent;background:#0d1117;border:1px solid #00000024;min-height:100px;max-height:360px;padding:14px 16px;font-family:JetBrains Mono,Fira Code,Courier New,monospace;font-size:.78rem;line-height:1.65;overflow-y:auto}.terminal::-webkit-scrollbar{width:5px}.terminal::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.terminal .lijn-succes{color:#4ade80}.terminal .lijn-fout{color:#f87171}.terminal .lijn-info{color:#60a5fa}.deploy-meta{color:var(--text-3);justify-content:space-between;align-items:center;margin-top:10px;font-size:.76rem;display:flex}.badge-module-basis{color:#475569;background:#64748b1a}.badge-module-uitzendbureau{color:var(--accent);background:#2563eb17}.badge-module-boekhoudkantoor{color:var(--green);background:#16a34a17}.form-row{grid-template-columns:1fr 1fr;gap:0 14px;display:grid}.dienst-kaart{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:box-shadow var(--transition), transform var(--transition);align-items:flex-start;gap:14px;padding:16px 18px;display:flex}.dienst-kaart:hover{box-shadow:var(--shadow-float);transform:translateY(-1px)}.dienst-datum-blok{background:var(--accent-muted);border-radius:var(--radius);text-align:center;flex-shrink:0;min-width:50px;padding:9px 12px}.dienst-dag{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;font-size:.66rem;font-weight:600}.dienst-getal{color:var(--accent);font-size:1.5rem;font-weight:700;line-height:1.1}.dienst-maand{color:var(--accent);font-size:.66rem}.dienst-info{flex:1;min-width:0}.dienst-tijd{color:var(--text-1);margin-bottom:4px;font-size:.875rem;font-weight:600}.dienst-meta{color:var(--text-2);flex-wrap:wrap;gap:9px;font-size:.8rem;display:flex}.dienst-meta span{align-items:center;gap:4px;display:flex}.dienst-meta svg{width:11px;height:11px;color:var(--text-3)}.contact-kaart{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);text-align:center;flex-direction:column;align-items:center;gap:10px;height:100%;padding:24px;display:flex}.contact-foto{background:linear-gradient(135deg, var(--accent), var(--purple));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;font-size:1.75rem;font-weight:700;display:flex;overflow:hidden}.contact-foto img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.contact-naam{letter-spacing:-.02em;font-size:1rem;font-weight:600}.contact-functie{color:var(--text-2);margin-top:-6px;font-size:.82rem}.contact-acties{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:4px;display:flex}.twee-kolom{grid-template-columns:1fr 260px;align-items:start;gap:20px;display:grid}@media (max-width:900px){.twee-kolom{grid-template-columns:1fr}}.diensten-lijst{flex-direction:column;gap:10px;display:flex}.status-gepland{background:var(--yellow-muted);color:var(--yellow)}.status-in_behandeling{background:var(--accent-muted);color:var(--accent)}.status-uitbetaald,.status-afgerond{background:var(--green-muted);color:var(--green)}.status-geannuleerd{background:var(--red-muted);color:var(--red)}.chat-knop{background:var(--accent);cursor:pointer;z-index:1000;color:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;transition:transform .18s,box-shadow .18s;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 14px #2563eb61}.chat-knop:hover{transform:scale(1.08);box-shadow:0 6px 20px #2563eb80}.chat-knop svg{width:21px;height:21px}.chat-badge{background:var(--red);border:2px solid var(--bg-page);border-radius:50%;width:11px;height:11px;display:none;position:absolute;top:-2px;right:-2px}.chat-knop.heeft-nieuws .chat-badge{display:block}.chat-panel{background:var(--bg-card);border:1px solid var(--border-md);border-radius:var(--radius-lg);width:350px;max-height:520px;box-shadow:var(--shadow-lg);z-index:999;opacity:0;pointer-events:none;flex-direction:column;transition:transform .22s cubic-bezier(.34,1.36,.64,1),opacity .16s;display:flex;position:fixed;bottom:86px;right:24px;overflow:hidden;transform:translateY(12px)scale(.97)}.chat-panel.open{opacity:1;pointer-events:all;transform:translateY(0)scale(1)}@media (max-width:500px){.chat-panel{width:calc(100vw - 32px);bottom:80px;right:16px}.chat-knop{bottom:16px;right:16px}}.chat-header{background:var(--bg-input);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:10px;padding:12px 14px;display:flex}.chat-header-av{background:linear-gradient(135deg, var(--accent), var(--purple));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.chat-header-av svg{color:#fff;width:15px;height:15px}.chat-header-info strong{color:var(--text-1);font-size:.85rem;font-weight:600;display:block}.chat-header-info span{color:var(--text-3);font-size:.72rem}.chat-header-sluit{cursor:pointer;color:var(--text-3);border-radius:var(--radius);transition:color var(--transition), background var(--transition);background:0 0;border:none;justify-content:center;align-items:center;margin-left:auto;padding:4px;display:flex}.chat-header-sluit:hover{color:var(--text-1);background:var(--bg-hover)}.chat-header-sluit svg{width:15px;height:15px}.chat-berichten{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--border-md) transparent;flex-direction:column;flex:1;gap:10px;padding:12px;display:flex;overflow-y:auto}.chat-berichten::-webkit-scrollbar{width:4px}.chat-berichten::-webkit-scrollbar-thumb{background:var(--border-md);border-radius:2px}.chat-bericht{align-items:flex-end;gap:7px;display:flex}.chat-bericht.gebruiker{flex-direction:row-reverse}.chat-av{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.7rem;font-weight:700;display:flex}.chat-bericht.ai .chat-av{background:linear-gradient(135deg, var(--accent), var(--purple));color:#fff}.chat-bericht.gebruiker .chat-av{background:var(--bg-input);border:1px solid var(--border-md);color:var(--text-2)}.chat-ballon{border-radius:14px;max-width:84%;padding:8px 12px;font-size:.84rem;line-height:1.5}.chat-bericht.ai .chat-ballon{background:var(--bg-input);border:1px solid var(--border);color:var(--text-1);border-bottom-left-radius:4px}.chat-bericht.gebruiker .chat-ballon{background:var(--accent);color:#fff;border-bottom-right-radius:4px}.chat-ballon strong{font-weight:600}.chat-ballon em{font-style:italic}.chat-typt{background:var(--bg-input);border:1px solid var(--border);border-radius:14px 14px 14px 4px;align-items:center;gap:5px;padding:10px 12px;display:flex}.chat-typt span{background:var(--text-3);border-radius:50%;width:6px;height:6px;animation:.95s ease-in-out infinite chatTypt}.chat-typt span:nth-child(2){animation-delay:.18s}.chat-typt span:nth-child(3){animation-delay:.36s}@keyframes chatTypt{0%,to{opacity:.3;transform:translateY(0)}45%{opacity:1;transform:translateY(-4px)}}.chat-invoer{border-top:1px solid var(--border);background:var(--bg-card);flex-shrink:0;align-items:flex-end;gap:8px;padding:10px 12px;display:flex}.chat-invoer textarea{resize:none;background:var(--bg-input);border:1px solid var(--border-md);border-radius:calc(var(--radius) + 2px);max-height:90px;color:var(--text-1);transition:border-color var(--transition);scrollbar-width:thin;outline:none;flex:1;padding:8px 11px;font-family:inherit;font-size:.84rem;line-height:1.45;overflow:hidden}.chat-invoer textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-glow)}.chat-invoer textarea::placeholder{color:var(--text-3)}.chat-stuur{background:var(--accent);cursor:pointer;color:#fff;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;transition:background .15s,transform .15s;display:flex}.chat-stuur:hover:not(:disabled){background:var(--accent-hover);transform:scale(1.07)}.chat-stuur:disabled{opacity:.35;cursor:not-allowed}.chat-stuur svg{width:14px;height:14px}.tab-nav{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:var(--radius-lg);scrollbar-width:none;gap:3px;margin-bottom:20px;padding:4px;display:flex;overflow-x:auto}.tab-nav::-webkit-scrollbar{display:none}.tab-btn{min-width:max-content;color:var(--text-2);border-radius:calc(var(--radius-lg) - 3px);cursor:pointer;white-space:nowrap;transition:background var(--transition), color var(--transition);background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-family:inherit;font-size:.84rem;font-weight:500;display:flex}.tab-btn svg{width:13px;height:13px}.tab-btn:hover{background:var(--bg-hover);color:var(--text-1)}.tab-btn.active{background:var(--accent);color:#fff;box-shadow:0 1px 3px #2563eb40}.tab-content{display:none}.tab-content.active{animation:.18s fadeIn;display:block}.kracht-rij{cursor:pointer}.kracht-rij.geselecteerd td{background:#2563eb0f}.kracht-banner{background:var(--accent-muted);border-radius:var(--radius);border:1px solid #2563eb2e;align-items:center;gap:10px;margin:14px 24px 0;padding:10px 14px;font-size:.85rem;display:flex}.kracht-banner .av{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:.76rem;font-weight:700;display:flex}.kracht-banner strong{color:var(--text-1);font-weight:600}.kracht-banner .dim{color:var(--text-3);font-size:.8rem}.geen-kracht-staat{text-align:center;color:var(--text-3);flex-direction:column;align-items:center;gap:10px;padding:56px 24px;display:flex}.geen-kracht-staat svg{opacity:.28;width:32px;height:32px}.geen-kracht-staat p{font-size:.875rem}textarea.input{resize:vertical;min-height:80px}.text-center{text-align:center}.btn.btn-icon{padding:5px 8px}.status-sel{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-1);cursor:pointer;transition:border-color var(--transition);outline:none;padding:4px 8px;font-family:inherit;font-size:.78rem}.status-sel:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.contact-grid{grid-template-columns:1fr 240px;align-items:start;gap:28px;display:grid}@media (max-width:720px){.contact-grid{grid-template-columns:1fr}}.contact-preview{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;flex-direction:column;align-items:center;gap:9px;padding:24px 18px;display:flex}.preview-avatar{background:linear-gradient(135deg, var(--accent), var(--purple));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:68px;height:68px;font-size:1.7rem;font-weight:700;display:flex;overflow:hidden}.preview-avatar img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.preview-naam{font-size:.95rem;font-weight:600}.preview-functie{color:var(--text-2);margin-top:-4px;font-size:.8rem}.preview-contact{color:var(--text-3);font-size:.76rem}.preview-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;font-size:.68rem;font-weight:600}.import-dropzone{border:2px dashed var(--border-md);border-radius:var(--radius-lg);text-align:center;cursor:pointer;transition:border-color var(--transition), background var(--transition);-webkit-user-select:none;user-select:none;padding:32px 24px}.import-dropzone:hover,.import-dropzone.drag-over{border-color:var(--accent);background:var(--accent-muted)}.import-dropzone svg{opacity:.28;width:28px;height:28px;margin-bottom:8px}.import-dropzone p{color:var(--text-2);margin:0;font-size:.875rem}.import-dropzone .hint{color:var(--text-3);margin-top:4px;font-size:.76rem}.import-bestand-info{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-1);align-items:center;gap:10px;margin-top:12px;padding:9px 14px;font-size:.85rem;display:flex}.import-bestand-info svg{width:14px;height:14px;color:var(--accent);flex-shrink:0}.import-resultaat{margin-top:18px}.import-balk{border-radius:var(--radius);align-items:center;gap:9px;margin-bottom:12px;padding:10px 14px;font-size:.85rem;font-weight:500;display:flex}.import-balk svg{flex-shrink:0;width:14px;height:14px}.import-balk.succes{background:var(--green-muted);color:var(--green);border:1px solid #16a34a2e}.import-balk.deels{background:var(--yellow-muted);color:var(--yellow);border:1px solid #c07a002e}.import-balk.leeg{background:var(--bg-input);color:var(--text-2);border:1px solid var(--border)}.import-fouten{margin-top:4px}.import-fouten-titel{color:var(--red);margin-bottom:8px;font-size:.8rem;font-weight:600}.import-fouten-tabel{border-collapse:collapse;width:100%;font-size:.8rem}.import-fouten-tabel th{text-align:left;background:var(--bg-input);border-bottom:1px solid var(--border);color:var(--text-3);padding:5px 10px;font-weight:600}.import-fouten-tabel td{border-bottom:1px solid var(--border);padding:5px 10px}.import-fouten-tabel .rij-nr{color:var(--text-3);white-space:nowrap;font-family:monospace}.import-fouten-tabel .fout-tx{color:var(--red)}.import-fouten-scroll{max-height:200px;overflow-y:auto}@media (max-width:768px){.hamburger-btn{display:flex}.sidebar{z-index:100;width:260px;transition:transform .25s;transform:translate(-100%)}body.sidebar-open .sidebar{transform:translate(0)}.app{grid-template-columns:1fr}.app>.sidebar{z-index:100;height:100vh;box-shadow:var(--shadow-lg);transition:transform .25s;display:flex;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);width:264px!important}body.sidebar-open .app>.sidebar{transform:translate(0)}body.sidebar-open .sidebar-overlay{display:block}body.sidebar-open{overflow:hidden}.app>.sidebar>button[title*=klap]{display:none}.main-content{margin-left:0}.topbar{min-height:var(--topbar-h);background:var(--kleur-primair,var(--accent));-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:1px solid #0000001f;gap:8px;height:auto;padding:0 14px}.topbar-date{display:none}.topbar .breadcrumb,.topbar .breadcrumb .here,.topbar .breadcrumb .sep,.topbar .topbar-time,.topbar .topbar-time *,.topbar .hamburger-btn{color:var(--sidebar-tekst-kleur,#fff)}.topbar .hamburger-btn:hover{background:color-mix(in srgb, var(--sidebar-tekst-kleur,#fff) 16%, transparent)}.topbar .topbar-divider{background:color-mix(in srgb, var(--sidebar-tekst-kleur,#fff) 22%, transparent)}.hide-mobiel{display:none!important}.app-admin .topbar{--sidebar-tekst-kleur:#fff;background:#1e293b;border-bottom-color:#ffffff24}.topbar-right .btn-ghost{min-width:40px;min-height:40px;padding:0;font-size:0}.topbar-right .btn-ghost svg{width:17px!important;height:17px!important}.btn-deploy{min-width:44px;min-height:44px;padding:0;font-size:0}.btn-deploy svg{width:17px!important;height:17px!important}.page-content{padding:16px}.content{padding:16px 16px 40px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}.stats{grid-template-columns:repeat(2,1fr)}.stat-card{padding:16px 14px}.stat-value{font-size:1.5rem}.card-header{flex-wrap:wrap;gap:8px;padding:12px 16px}.btn,.btn-sm,.btn-lg,.btn-block,.btn-full,.btn-quiet{min-height:44px}.btn-sm{padding:6px 12px}.icon-pill,.icon-btn,.modal-close,.hamburger-btn,.btn.btn-icon{min-width:44px;min-height:44px}.status-sel,.dropdown,.row-action,.tab-btn,.chip,.segment button{min-height:40px}.page-btn{min-width:36px;min-height:36px}input.input,select.input,textarea.input,.input-wrap input,.input-wrap select{min-height:44px;font-size:1rem}.filter-bar select,.filter-bar input{min-height:44px;font-size:.9rem}.table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.cards-mobiel{display:block}.cards-mobiel thead{display:none}.cards-mobiel tbody{flex-direction:column;gap:10px;padding:14px;display:flex}.cards-mobiel tbody tr{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);box-shadow:var(--shadow);display:block;overflow:hidden}.cards-mobiel tbody tr:hover{background:var(--bg-hover)}.cards-mobiel td{border-bottom:1px solid var(--border);text-align:right;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:10px 14px;display:flex}.cards-mobiel td:last-child{border-bottom:none}.cards-mobiel td:before{content:attr(data-label);color:var(--text-3);text-transform:uppercase;letter-spacing:.05em;text-align:left;flex-shrink:0;min-width:70px;font-size:.68rem;font-weight:600}.cards-mobiel td[data-label=""]:before{display:none}.cards-mobiel td[data-label=""]{justify-content:flex-end}.modal-overlay{padding:12px}.modal{flex-direction:column;max-width:100%;max-height:88vh;display:flex}.modal-body{-webkit-overflow-scrolling:touch;flex:1;padding:16px;overflow-y:auto}.modal-header{padding:14px 16px}.modal-footer{padding:12px 16px}.terminal{max-height:220px;font-size:.72rem}.login-wrap{align-items:flex-start;padding:36px 16px 16px}.login-card{padding:28px 20px}#toast-container{bottom:12px;left:12px;right:12px}.toast{max-width:100%}.search-wrap{flex:1;min-width:0;max-width:100%!important}.page-header{flex-direction:column;align-items:stretch}.page-header h1{font-size:1.35rem}.kracht-banner{flex-wrap:wrap;margin:10px 14px 0}.chat-panel{max-height:62vh;width:calc(100vw - 24px)!important;bottom:76px!important;right:12px!important}.chat-knop{bottom:12px!important;right:12px!important}.twee-kolom,.form-row,[style*="grid-template-columns: 1fr 1fr"],[style*="grid-template-columns:1fr 1fr"],[style*="grid-template-columns: 1fr 260px"],[style*="grid-template-columns:1fr 260px"],[style*="grid-template-columns: 1fr 160px auto"],[style*="grid-template-columns:1fr 160px auto"],[style*="grid-template-columns: 120px 1fr"],[style*="grid-template-columns:120px 1fr"],[style*="grid-template-columns: repeat(3, 1fr)"],[style*="grid-template-columns:repeat(3, 1fr)"]{grid-template-columns:1fr!important}.modal-body[style*="display: flex"],.modal-body[style*=display\:flex]{flex-direction:column!important}.modal-body[style*="display: flex"]>*,.modal-body[style*=display\:flex]>*{width:100%;min-width:0}}
