:root{--color-primary: #4dac96;--color-primary-hover: #3d9980;--color-primary-light: #e8f5f2;--color-primary-alpha: rgba(77, 172, 150, .1);--color-primary-gradient: linear-gradient(135deg, #4dac96 0%, #3d9980 100%);--color-secondary: #eada29;--color-secondary-dark: #d4c424;--color-secondary-light: #fdf9e6;--color-secondary-alpha: rgba(234, 218, 41, .1);--color-accent: #3d9980;--color-accent-dark: #2d7a64;--color-accent-light: #e8f5f2;--color-accent-alpha: rgba(61, 153, 128, .1);--color-accent-gradient: linear-gradient(135deg, #4dac96 0%, #2d7a64 100%);--color-admin: #f39c12;--color-admin-hover: #e67e22;--color-admin-light: #fef6e8;--color-admin-gradient: linear-gradient(135deg, #f39c12 0%, #e67e22 100%);--color-success: #4dac96;--color-warning: #eada29;--color-danger: #ff4444;--color-danger-hover: #cc0000;--color-info: #2196F3;--color-text: #333;--color-text-light: #666;--color-text-muted: #999;--color-border: #ddd;--color-border-light: #e0e0e0;--color-bg-primary: #ffffff;--color-bg-secondary: #f8f9fa;--color-bg-tertiary: #e9ecef;--color-bg-overlay: rgba(0, 0, 0, .5);--color-alert-error-bg: #ffe5e5;--color-alert-error-border: #ff4444;--color-alert-error-text: #cc0000;--color-alert-warning-bg: #fff4e5;--color-alert-warning-border: #f39c12;--color-alert-warning-text: #cc8000;--color-alert-success-bg: #e8f5f2;--color-alert-success-border: #4dac96;--color-alert-success-text: #2d7a65;--color-alert-info-bg: #e3f2fd;--color-alert-info-border: #2196F3;--color-alert-info-text: #1565c0;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: .75rem;--spacing-lg: 1rem;--spacing-xl: 1.5rem;--spacing-2xl: 2rem;--spacing-3xl: 3rem;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", sans-serif;--font-size-xs: .75rem;--font-size-sm: .85rem;--font-size-base: .95rem;--font-size-md: 1rem;--font-size-lg: 1.1rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 16px rgba(0, 0, 0, .15);--shadow-xl: 0 8px 32px rgba(0, 0, 0, .2);--shadow-primary: 0 4px 8px rgba(77, 172, 150, .3);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 1000;--z-modal: 1001;--z-popover: 1010;--z-tooltip: 1020}*,*:before,*:after{box-sizing:border-box}*{margin:0}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text);background:var(--color-bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:inherit}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}h5{font-size:var(--font-size-md)}h6{font-size:var(--font-size-base)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-base)}a:hover{color:var(--color-primary-hover)}button,input,textarea,select{font-family:inherit;font-size:inherit;line-height:inherit}img,picture,video,canvas,svg{display:block;max-width:100%}ol,ul{list-style:none;padding:0}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}#root,#__next{isolation:isolate}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}:focus:not(:focus-visible){outline:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.flex{display:flex}.inline-flex{display:inline-flex}.block{display:block}.inline-block{display:inline-block}.hidden{display:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.m-0{margin:0}.m-auto{margin:auto}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.ml-auto{margin-left:auto}.mr-auto{margin-right:auto}.p-0{padding:0}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-primary{color:var(--color-primary)}.text-muted{color:var(--color-text-muted)}.text-light{color:var(--color-text-light)}.text-danger{color:var(--color-danger)}.text-success{color:var(--color-success)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.w-full{width:100%}.w-auto{width:auto}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.transition-fast{transition:all var(--transition-fast)}.transition{transition:all var(--transition-base)}.transition-slow{transition:all var(--transition-slow)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}*{box-sizing:border-box}.App{min-height:100vh;width:100%;overflow-x:hidden}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}.btn-admin{background:var(--color-primary);color:#fff!important;border:none;padding:.75rem 1.5rem;border-radius:6px;font-size:.95rem;cursor:pointer;transition:all .2s;font-weight:500;display:flex;align-items:center;gap:.5rem}.btn-admin:hover{background:var(--color-primary-hover);color:#fff!important;transform:translateY(-2px);box-shadow:0 4px 8px #4dac964d}.admin-page{min-height:100vh;background:#f5f5f5;padding:0 2rem 2rem}.admin-page .page-header{background:#fff;padding:1.5rem 2rem;border-radius:8px;margin-bottom:2rem;box-shadow:0 2px 4px #0000001a;display:flex;align-items:center;gap:1rem}.admin-page .page-header h1{margin:.5rem 0 0;font-size:1.75rem;color:#333}.admin-page .client-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;max-width:1400px;margin:0 auto}.admin-client-card{background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000014;transition:all .3s ease;overflow:hidden;display:flex;flex-direction:column}.admin-client-card:hover{box-shadow:0 8px 24px #0000001f}.admin-card-header{background:var(--color-admin-gradient);padding:1rem 1.25rem;color:#fff;display:flex;align-items:center;gap:.875rem}.admin-card-avatar{width:48px;height:48px;border-radius:50%;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:700;color:#fff;flex-shrink:0;border:2px solid rgba(255,255,255,.3)}.admin-card-header h2{margin:0;font-size:1.25rem;font-weight:600;flex:1;text-shadow:0 2px 4px rgba(0,0,0,.1)}.admin-card-body{padding:1rem 1.25rem;flex:1;display:flex;flex-direction:column;gap:.5rem;position:relative}.admin-card-body .no-cpr-badge{position:absolute;top:8px;right:10px;z-index:5;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));cursor:help}.admin-card-address{margin:0;color:var(--color-admin-hover);font-size:.9rem}.admin-card-phone{margin:0;font-size:.9rem}.admin-card-phone a{color:var(--color-primary);text-decoration:none}.admin-card-phone a:hover{text-decoration:underline}.admin-card-contacts{display:flex;flex-direction:column;gap:.35rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid #eee}.admin-card-contacts .contact-line{display:flex;align-items:center;gap:.5rem;font-size:.8rem}.admin-card-contacts .contact-icon{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;flex-shrink:0}.admin-card-contacts .contact-icon-hoofd{background:var(--color-admin);color:#fff}.admin-card-contacts .contact-icon-nood{background:#e74c3c;color:#fff}.admin-card-contacts .contact-naam{color:#555}.admin-card-contacts .contact-tel{color:var(--color-primary);text-decoration:none;margin-left:auto}.admin-card-contacts .contact-tel:hover{text-decoration:underline}.admin-card-footer{padding:.75rem 1.25rem 1rem;border-top:1px solid #ecf0f1}.btn-admin-beheren{width:100%;background:var(--color-admin-gradient);color:#fff;border:none;padding:.75rem 1.25rem;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #f39c124d;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-admin-beheren:hover{transform:translateY(-2px);box-shadow:0 4px 12px #f39c1266}.btn-admin-beheren:active{transform:translateY(0)}.client-search-bar{max-width:900px;margin:0 auto 1rem;display:flex;align-items:center;gap:.75rem}.client-search-input{flex:1;padding:.6rem 1rem;border:1px solid #ddd;border-radius:8px;font-size:.95rem;outline:none;transition:border-color .2s}.client-search-input:focus{border-color:var(--color-admin);box-shadow:0 0 0 2px #f39c1226}.client-search-count{color:#888;font-size:.85rem;white-space:nowrap}.client-table{max-width:900px;margin:0 auto;background:#fff;border-radius:10px;box-shadow:0 2px 8px #00000014;overflow:hidden}.client-row{display:flex;align-items:center;gap:.75rem;padding:.6rem 1rem;border-bottom:1px solid #f0f0f0;cursor:pointer;transition:background-color .15s}.client-row:last-child{border-bottom:none}.client-row:hover{background-color:#fef9e7}.client-row-avatar{width:32px;height:32px;border-radius:50%;background:var(--color-admin-gradient);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;flex-shrink:0}.client-row-name{flex:2;font-weight:500;font-size:.95rem;color:#333;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-row-address{flex:2;font-size:.85rem;color:#777;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-row-phone{flex:1;font-size:.85rem;min-width:0}.client-row-phone a{color:var(--color-primary);text-decoration:none}.client-row-phone a:hover{text-decoration:underline}.client-row-action{flex-shrink:0}.btn-client-beheren{background:var(--color-admin-gradient);color:#fff;border:none;padding:.35rem .85rem;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;transition:opacity .2s}.btn-client-beheren:hover{opacity:.85}.client-row-empty{padding:2rem 1rem;text-align:center;color:#999;font-size:.95rem}@media(max-width:600px){.client-row-address,.client-row-phone{display:none}.client-row-name{flex:1}}form{padding:0}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#333;font-size:.95rem}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:.95rem;font-family:inherit;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--color-primary)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.empty-state{background:#fff;padding:3rem 2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.modal-overlay{position:fixed;inset:0;background:var(--color-bg-overlay);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);animation:fadeIn var(--transition-base)}.modal-content{background:var(--color-bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:90%;max-width:700px;max-height:95vh;overflow:auto;display:flex;flex-direction:column;animation:slideUp var(--transition-slow);z-index:var(--z-modal)}.modal-content-large{max-width:800px}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xl);border-bottom:1px solid var(--color-border-light);background:var(--color-bg-secondary)}.modal-header h2{margin:0;font-size:var(--font-size-2xl)}.modal-body{padding:var(--spacing-xl);flex:1 1 auto}.modal-footer{display:flex;justify-content:flex-end;gap:var(--spacing-md);padding:var(--spacing-xl);border-top:1px solid var(--color-border-light);background:var(--color-bg-secondary)}.btn{border:none;padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base);display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background:var(--color-primary);color:#fff!important}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);color:#fff!important;transform:translateY(-1px);box-shadow:var(--shadow-primary)}.btn-primary:disabled{background:var(--color-text-muted)}.btn-secondary{background:var(--color-bg-primary);color:var(--color-text-light);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-secondary);border-color:var(--color-text-muted)}.btn-danger{background:var(--color-danger);color:#fff!important}.btn-danger:hover:not(:disabled){background:var(--color-danger-hover);color:#fff!important}.btn-close{background:transparent;border:none;font-size:var(--font-size-3xl);color:var(--color-text-muted);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-base)}.btn-close:hover{background:var(--color-bg-tertiary);color:var(--color-text)}.btn-icon{background:transparent;border:none;padding:var(--spacing-sm);cursor:pointer;color:var(--color-text-light);transition:all var(--transition-base);border-radius:var(--radius-sm)}.btn-icon:hover{background:var(--color-bg-tertiary);color:var(--color-text)}.btn-admin{display:inline-flex;align-items:center;gap:var(--spacing-sm);background:transparent;border:1px solid var(--color-border);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;color:var(--color-text-light);transition:all var(--transition-base);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.btn-admin:hover{background:var(--color-bg-tertiary);color:var(--color-text);border-color:var(--color-text-light)}.btn-admin-icon{flex-shrink:0}.btn-admin-text{display:inline}@media(max-width:600px){.btn-admin{padding:var(--spacing-sm);border:none}.btn-admin-text{display:none}}.form-group{margin-bottom:var(--spacing-xl)}.form-label{display:block;margin-bottom:var(--spacing-sm);font-weight:var(--font-weight-semibold);color:var(--color-text);font-size:var(--font-size-base)}.form-input,.form-select,.form-textarea{width:100%;padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);transition:all var(--transition-base);font-family:inherit;background:var(--color-bg-primary);color:var(--color-text)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-alpha)}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background:var(--color-bg-secondary);cursor:not-allowed;opacity:.6}.form-textarea{resize:vertical;min-height:80px}.form-input-small{width:80px;padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);text-align:center}.form-input-small:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-alpha)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg)}.form-hint{display:block;margin-top:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-muted);font-style:italic}.form-error{display:block;margin-top:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-danger)}.checkbox-label,.radio-label{display:flex;align-items:center;gap:var(--spacing-md);cursor:pointer;padding:var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--radius-md);transition:all var(--transition-base)}.checkbox-label:hover,.radio-label:hover{background:var(--color-bg-tertiary)}.checkbox-label input[type=checkbox],.radio-label input[type=radio]{width:20px;height:20px;cursor:pointer}.checkbox-label span,.radio-label span{font-weight:var(--font-weight-medium);color:var(--color-text)}.form-section{margin-bottom:var(--spacing-2xl);padding:var(--spacing-xl);background:var(--color-bg-secondary);border-radius:var(--radius-lg);border-left:4px solid var(--color-primary)}.section-title{margin:0 0 var(--spacing-lg) 0;font-size:var(--font-size-lg);color:var(--color-text)}.alert{padding:var(--spacing-lg);border-radius:var(--radius-md);margin-bottom:var(--spacing-xl);font-weight:var(--font-weight-medium);border-left:4px solid}.alert-error{background:var(--color-alert-error-bg);border-color:var(--color-alert-error-border);color:var(--color-alert-error-text)}.alert-info{background:var(--color-alert-info-bg);border-color:var(--color-alert-info-border);color:var(--color-alert-info-text)}.alert-success{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary-hover)}.alert-warning{background:#fff4e5;border-color:var(--color-warning);color:#cc8000}.info-box{background:var(--color-alert-info-bg);border-left:4px solid var(--color-alert-info-border);padding:var(--spacing-lg);border-radius:var(--radius-md);margin-bottom:var(--spacing-xl);color:var(--color-alert-info-text);font-size:var(--font-size-base)}.info-box strong{font-weight:var(--font-weight-semibold)}.loading-message{text-align:center;padding:var(--spacing-2xl);color:var(--color-text-muted);font-size:var(--font-size-lg)}.loading-spinner{width:40px;height:40px;border:4px solid var(--color-bg-tertiary);border-top-color:var(--color-primary);border-radius:var(--radius-full);animation:spin .8s linear infinite;margin:0 auto var(--spacing-lg)}@media(max-width:768px){.modal-content,.modal-content-large{width:95%;max-height:95vh}.modal-header,.modal-body,.modal-footer{padding:var(--spacing-lg)}.form-row{grid-template-columns:1fr}.form-section{padding:var(--spacing-lg)}.modal-footer{flex-direction:column-reverse}.modal-footer button,.modal-footer .btn{width:100%}}.login-page{min-height:100vh;min-width:100vw;width:100%;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--color-primary) 50%,transparent);padding:1rem;box-sizing:border-box}.login-container{width:100%;max-width:450px}.login-card{background:var(--color-bg-primary);border-radius:16px;box-shadow:0 20px 60px #0000004d;overflow:hidden;animation:slideUp .4s ease-out}.login-header{background:var(--color-accent-gradient);color:#fff;padding:1.5rem 2rem;text-align:center}.login-header-inner{display:flex;align-items:center;justify-content:center;gap:1rem}.login-logo{width:64px;height:64px;border-radius:14px;object-fit:cover;background:var(--color-bg-primary);padding:3px;box-shadow:0 4px 12px #00000026;flex-shrink:0}.login-header-text{text-align:left}.login-header h1{margin:0 0 .15rem;font-size:1.6rem;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.1)}.login-header p{margin:0;font-size:1.1rem;opacity:.95;font-weight:300}.login-content{padding:3rem 2rem 2.5rem}.login-error{background:var(--color-alert-error-bg);border:1px solid var(--color-alert-error-border);color:var(--color-alert-error-text);padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem;text-align:center}.google-button-container{display:flex;justify-content:center;min-height:50px;transform:scale(1.15);transform-origin:center;margin:.5rem 0}.login-loading{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem;color:var(--color-accent);font-weight:600}.loading-spinner{width:20px;height:20px;border:2px solid var(--color-border-light);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}.login-about{margin-bottom:1.5rem;text-align:center}.login-about p{margin:0;color:var(--color-text-light);font-size:.9rem;line-height:1.6}.login-about a{color:var(--color-accent);text-decoration:none;font-weight:600}.login-about a:hover{text-decoration:underline}.login-info{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--color-border-light);text-align:center}.login-info p{margin:0;color:var(--color-text-light);font-size:.95rem;line-height:1.5}.login-legal{margin-top:1.5rem;text-align:center;font-size:.8rem}.login-legal a{color:var(--color-text-muted);text-decoration:none}.login-legal a:hover{color:var(--color-accent);text-decoration:underline}.login-legal-sep{margin:0 .5rem;color:var(--color-border)}.dev-login-section{margin-top:2rem;padding-top:1.5rem;border-top:2px dashed var(--color-admin)}.dev-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;font-size:.9rem;color:var(--color-text-light)}.dev-badge{background:var(--color-admin);color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.7rem;font-weight:700;letter-spacing:.5px}.dev-loading{text-align:center;color:var(--color-text-muted);font-size:.9rem}.dev-users-list{display:flex;flex-direction:column;gap:.5rem}.dev-user-btn{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem;background:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:8px;cursor:pointer;transition:all .2s;text-align:left}.dev-user-btn:hover{background:var(--color-bg-primary);border-color:var(--color-accent);box-shadow:0 2px 8px #667eea33}.dev-user-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:1rem;flex-shrink:0}.dev-user-info{display:flex;flex-direction:column;gap:.15rem}.dev-user-name{font-weight:600;color:var(--color-text);font-size:.9rem}.dev-user-role{font-size:.7rem;font-weight:600;text-transform:uppercase;padding:.15rem .4rem;border-radius:3px;width:fit-content}.dev-user-role.admin{background:#fef3c7;color:#92400e}.dev-user-role.teamleider{background:#d1fae5;color:#065f46}.dev-user-role.verzorger{background:#dbeafe;color:#1e40af}@media(max-width:480px){.login-page{padding:.5rem}.login-logo{width:52px;height:52px;border-radius:10px}.login-header h1{font-size:1.35rem}.login-header p{font-size:1rem}.login-content{padding:2rem 1.5rem}.google-login-btn{font-size:1rem;padding:.875rem 1.25rem}}.ovo-sign-content{background:var(--color-bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:95%;max-width:700px;max-height:95vh;display:flex;flex-direction:column;animation:slideUp var(--transition-slow);z-index:var(--z-modal);overflow:hidden}.ovo-sign-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border-light);background:var(--color-bg-secondary);flex-shrink:0}.ovo-sign-header h2{margin:0;font-size:var(--font-size-lg);color:var(--color-text)}.ovo-sign-body-single{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.ovo-doc-bar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-light);gap:1rem;flex-shrink:0}.ovo-doc-bar-warning{background:var(--color-alert-warning-bg);color:var(--color-alert-warning-text)}.ovo-doc-bar-info{display:flex;align-items:center;gap:.5rem;min-width:0}.ovo-doc-bar-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:.75rem;font-weight:700;flex-shrink:0}.ovo-doc-bar-icon.docx{background:#2b579a;color:#fff}.ovo-doc-bar-icon.pdf{background:#e74c3c;color:#fff}.ovo-doc-bar-name{font-size:.85rem;font-weight:500;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ovo-doc-bar-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.ovo-doc-bar-download{color:var(--color-primary);font-size:var(--font-size-sm);text-decoration:none;white-space:nowrap;transition:color var(--transition-base)}.ovo-doc-bar-download:hover{color:var(--color-primary-hover);text-decoration:underline}.ovo-doc-bar-toggle{white-space:nowrap}.ovo-pdf-preview-collapsible{border-bottom:1px solid var(--color-border-light);flex-shrink:0}.ovo-pdf-frame-collapsible{width:100%;height:400px;border:none;display:block}.ovo-sign-form{padding:var(--spacing-md) var(--spacing-lg);display:flex;flex-direction:column;gap:0}.ovo-form-section{padding-bottom:var(--spacing-md);margin-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border-light)}.ovo-form-section:last-of-type{border-bottom:none;margin-bottom:var(--spacing-sm);padding-bottom:0}.ovo-section-title{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text);text-transform:uppercase;letter-spacing:.5px}.ovo-client-selection{display:flex;flex-direction:column;gap:var(--spacing-sm)}.ovo-client-selection-hint{margin:0 0 var(--spacing-xs) 0;font-size:var(--font-size-sm);color:var(--color-text-light);line-height:var(--line-height-normal)}.ovo-client-row{display:flex;align-items:center;gap:var(--spacing-sm);background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);transition:background var(--transition-base)}.ovo-client-row:hover{background:var(--color-bg-tertiary)}.ovo-client-row .ovo-client-checkbox{flex:1;padding:0;background:transparent;border-radius:0}.ovo-client-row .ovo-client-checkbox:hover{background:transparent}.ovo-client-preview-link{color:var(--color-primary);font-size:var(--font-size-sm);text-decoration:none;white-space:nowrap;flex-shrink:0;transition:color var(--transition-base)}.ovo-client-preview-link:hover{color:var(--color-primary-hover);text-decoration:underline}.ovo-client-checkbox{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-base)}.ovo-client-checkbox:hover{background:var(--color-bg-tertiary)}.ovo-client-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;flex-shrink:0}.ovo-client-checkbox span{font-size:var(--font-size-base);color:var(--color-text);font-weight:var(--font-weight-medium)}.ovo-single-client{margin:0;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--radius-md);font-weight:var(--font-weight-medium);color:var(--color-text);font-size:var(--font-size-sm)}.ovo-validation-hint{margin:var(--spacing-sm) 0 0 0;font-size:var(--font-size-sm);color:var(--color-danger)}.ovo-bedrijfsgegevens{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xs) var(--spacing-sm)}.ovo-bedrijfsgegevens>.ovo-field:first-child{grid-column:1 / -1}.ovo-field{display:flex;flex-direction:column;gap:2px}.ovo-field label{font-size:var(--font-size-xs, .8rem);font-weight:var(--font-weight-medium);color:var(--color-text-light)}.ovo-field .form-input{padding:.4rem .6rem;font-size:var(--font-size-sm, .85rem)}.ovo-field .form-input.input-error{border-color:var(--color-danger, #e74c3c)}.ovo-field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm)}.ovo-required-mark{color:var(--color-danger, #e74c3c);font-weight:var(--font-weight-bold)}.ovo-field-error{font-size:.75rem;color:var(--color-danger, #e74c3c);margin-top:2px}.ovo-confirmation{display:flex;flex-direction:column;gap:var(--spacing-lg)}.ovo-akkoord-checkbox{display:flex;align-items:flex-start;gap:var(--spacing-md);cursor:pointer;padding:var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--radius-md);transition:background var(--transition-base)}.ovo-akkoord-checkbox:hover{background:var(--color-bg-tertiary)}.ovo-akkoord-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;flex-shrink:0;margin-top:2px}.ovo-akkoord-checkbox span{font-size:var(--font-size-base);color:var(--color-text);line-height:var(--line-height-normal)}.ovo-sign-btn{width:100%;padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-md);margin-top:var(--spacing-sm)}.ovo-btn-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:var(--radius-full);animation:spin .8s linear infinite;margin-right:var(--spacing-sm)}.ovo-sign-success-container{max-width:500px;padding:0}.ovo-sign-success{padding:var(--spacing-3xl) var(--spacing-2xl);text-align:center;display:flex;flex-direction:column;align-items:center}.ovo-success-icon{width:64px;height:64px;border-radius:var(--radius-full);background:var(--color-primary-light);color:var(--color-primary);font-size:32px;font-weight:var(--font-weight-bold);display:flex;align-items:center;justify-content:center;margin-bottom:var(--spacing-xl)}.ovo-sign-success h2{margin:0 0 var(--spacing-lg) 0;font-size:var(--font-size-2xl);color:var(--color-text)}.ovo-sign-success p{margin:0 0 var(--spacing-xl) 0;color:var(--color-text-light)}.ovo-signed-clients{list-style:none;padding:0;margin:0 0 var(--spacing-2xl) 0;width:100%}.ovo-signed-clients li{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-primary-light);border-radius:var(--radius-md);margin-bottom:var(--spacing-sm);color:var(--color-text);font-weight:var(--font-weight-medium)}.ovo-signed-clients li:last-child{margin-bottom:0}.ovo-check{color:var(--color-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-lg);flex-shrink:0}.ovo-sign-hint{font-size:.85rem;color:#666;margin-top:12px;text-align:center}.ovo-sign-success .ovo-sign-btn{max-width:200px}@media(max-width:768px){.ovo-sign-content{width:100%;max-width:100%;height:100vh;max-height:100vh;border-radius:0}.ovo-sign-header{padding:var(--spacing-lg)}.ovo-sign-header h2{font-size:var(--font-size-xl)}.ovo-sign-form{padding:var(--spacing-lg)}.ovo-field-row{grid-template-columns:1fr}.ovo-doc-bar{flex-wrap:wrap}.ovo-doc-bar-name{white-space:normal}.ovo-pdf-frame-collapsible{height:300px}.ovo-sign-success-container{max-width:100%;height:auto;max-height:100vh;border-radius:0}}@media(max-width:480px){.ovo-sign-form{padding:var(--spacing-md)}.ovo-sign-header{padding:var(--spacing-md) var(--spacing-lg)}.ovo-doc-bar{padding:.5rem .75rem}.ovo-pdf-frame-collapsible{height:250px}}.page-header-wrapper{width:100%;background:#fff;box-shadow:0 2px 8px #00000014;margin-bottom:1.5rem}.page-header-container{display:flex;justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;padding:1.25rem 2rem;gap:1rem;flex-wrap:wrap}.page-header-container.page-header-full-width{max-width:none}.page-header-left{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.page-header-back{padding:.5rem 1rem;background:#fff;color:var(--color-accent);border:1px solid var(--color-accent);border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;min-height:44px;display:flex;align-items:center;justify-content:center}.page-header-back:hover{background:var(--color-accent);color:#fff}.page-header-title-group{display:flex;flex-direction:column;gap:.25rem}.page-header-title{margin:0;font-size:1.5rem;font-weight:600;color:#2c3e50;line-height:1.2}.page-header-subtitle{margin:0;font-size:.9rem;color:#7f8c8d}.page-header-right{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.page-header-user{display:flex;align-items:center;gap:.5rem;padding-right:1rem;border-right:1px solid #e5e7eb}.page-header-user-name{font-weight:600;color:#2c3e50}.page-header-user-role{color:#7f8c8d;font-size:.85rem}.page-header-actions{display:flex;align-items:center;gap:.75rem}.page-header-logout{padding:0 1.25rem;background:#e74c3c;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;height:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.page-header-logout:hover{background:#c0392b}.btn-icon{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:10px;border:none;background:var(--color-accent);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;gap:.4rem}.btn-icon:hover{transform:scale(1.05)}.btn-icon-dashboard{background:var(--color-accent)}.btn-icon-dashboard:hover{background:var(--color-accent-dark)}.btn-icon-admin{width:auto;padding:0 1rem;background:var(--color-admin)}.btn-icon-admin:hover{background:var(--color-admin-hover)}.btn-icon-label{font-size:.9rem;font-weight:600}.btn-icon-help{background:#27ae60;font-weight:700;font-size:1.2rem}.btn-icon-help:hover{background:#219a52}@media(max-width:768px){.page-header-container{flex-direction:row;align-items:center;padding:.75rem 1rem;gap:.5rem}.page-header-left{flex:1;gap:.5rem}.page-header-title{font-size:1.1rem}.page-header-subtitle{font-size:.8rem}.page-header-back{padding:.4rem .75rem;font-size:.85rem;min-height:40px;height:40px}.page-header-right{flex-direction:row;align-items:center;gap:.5rem}.page-header-user{display:none}.page-header-actions{flex-direction:row;gap:.5rem}.btn-icon{width:40px;height:40px;min-width:40px;min-height:40px}.btn-icon-admin{width:auto;padding:0 .75rem}.btn-icon-label{font-size:.85rem}.page-header-logout{padding:0 .75rem;font-size:.85rem;height:40px;min-height:40px}}.notification-bell{position:relative}.bell-button{position:relative;background:none;border:none;padding:.5rem;cursor:pointer;border-radius:50%;transition:background-color .2s}.bell-button:hover{background-color:#0000000d}.bell-button.has-unread{animation:bellShake .5s ease-in-out}@keyframes bellShake{0%,to{transform:rotate(0)}25%{transform:rotate(10deg)}50%{transform:rotate(-10deg)}75%{transform:rotate(5deg)}}.bell-icon{font-size:1.4rem;display:block;filter:grayscale(80%) opacity(.5);transition:filter .3s ease}.bell-button.has-unread .bell-icon{filter:none}.bell-badge{position:absolute;top:0;right:0;min-width:18px;height:18px;padding:0 5px;background:var(--color-danger);color:#fff;font-size:.7rem;font-weight:600;border-radius:10px;display:flex;align-items:center;justify-content:center;border:2px solid white;animation:badgePop .3s ease-out}@keyframes badgePop{0%{transform:scale(0)}to{transform:scale(1)}}.notification-dropdown{position:absolute;top:100%;right:0;width:360px;background:var(--color-bg-primary);border-radius:12px;box-shadow:var(--shadow-lg);z-index:1000;animation:dropdownSlide .2s ease-out;overflow:hidden}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--color-border-light);background:var(--color-bg-secondary)}.dropdown-title{font-weight:600;color:var(--color-text);font-size:1rem}.mark-all-read{background:none;border:none;color:var(--color-accent);font-size:.85rem;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:background-color .2s}.mark-all-read:hover{background-color:var(--color-accent-alpha)}.dropdown-content{max-height:400px;overflow-y:auto}.dropdown-loading,.dropdown-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;color:var(--color-text-light);gap:.5rem}.empty-icon{font-size:2rem;opacity:.5}.loading-spinner{width:20px;height:20px;border:2px solid var(--color-bg-tertiary);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}.notification-list{list-style:none;margin:0;padding:0}.notification-item{display:grid;grid-template-columns:2rem 1fr 3rem;gap:.75rem;padding:.875rem 1rem;text-decoration:none;color:inherit;position:relative;transition:background-color .2s;background:none;border:none;border-bottom:1px solid var(--color-border-light);width:100%;text-align:left;cursor:pointer}.notification-item:hover{background-color:var(--color-bg-secondary)}.notification-item.unread{background-color:#f8f9ff}.notification-item.unread:hover{background-color:#f0f4ff}.item-icon{font-size:1.25rem;display:flex;align-items:flex-start;padding-top:.125rem}.item-content{display:flex;flex-direction:column;gap:.25rem;overflow:hidden}.item-title{font-weight:600;font-size:.9rem;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-preview{font-size:.8rem;color:var(--color-text-light);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.item-time{font-size:.75rem;color:var(--color-text-muted);text-align:right;white-space:nowrap}.unread-dot{position:absolute;left:.5rem;top:50%;transform:translateY(-50%);width:8px;height:8px;background:var(--color-accent);border-radius:50%}.bell-takeover-actions{display:flex;gap:.5rem;margin-top:.375rem}.bell-takeover-btn{padding:.25rem .625rem;border-radius:4px;font-size:.75rem;font-weight:600;cursor:pointer;transition:opacity .2s}.bell-takeover-btn:hover{opacity:.85}.bell-takeover-btn.approve{background:var(--color-success);color:#fff}.bell-takeover-btn.reject{background:var(--color-danger);color:#fff}.bell-takeover-result{display:inline-block;margin-top:.375rem;font-size:.75rem;font-weight:600;padding:.125rem .5rem;border-radius:4px}.bell-takeover-result.success{color:var(--color-success);background:var(--color-alert-success-bg)}.bell-takeover-result.error{color:var(--color-danger);background:var(--color-alert-error-bg)}.dropdown-footer{padding:.75rem 1rem;border-top:1px solid var(--color-border-light);background:var(--color-bg-secondary);text-align:center}.view-all-link{color:var(--color-accent);text-decoration:none;font-size:.9rem;font-weight:500;background:none;border:none;cursor:pointer;width:100%}.view-all-link:hover{text-decoration:underline}@media(max-width:480px){.notification-dropdown{position:fixed;left:.5rem;right:.5rem;top:3.5rem;width:auto;max-height:calc(100vh - 4rem);z-index:1001}.notification-item{grid-template-columns:1.75rem 1fr 2.5rem;gap:.5rem;padding:.75rem}.item-icon{font-size:1.1rem}.item-title{font-size:.85rem}.item-preview{font-size:.75rem}}.notification-banner{position:relative;width:100%;padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;animation:slideDown .3s ease-out;transition:opacity .3s,transform .3s}.notification-banner.hiding{opacity:0;transform:translateY(-10px)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.notification-banner.info{background:linear-gradient(135deg,#e7f1ff,#d4e6ff);border:1px solid #b8d4fe;box-shadow:0 2px 8px #667eea26}.notification-banner.warning{background:linear-gradient(135deg,#fff8e6,#fff3cd);border:1px solid #ffc107;box-shadow:0 2px 8px #ffc10733}.banner-content{display:flex;align-items:center;gap:1rem}.banner-icon{font-size:1.5rem;flex-shrink:0}.banner-message{flex:1;display:flex;flex-direction:column;gap:.125rem}.banner-message strong{font-size:.95rem;color:#2c3e50}.banner-detail{font-size:.85rem;color:#6c757d}.banner-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.banner-btn{padding:.4rem .75rem;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s;border:none;text-decoration:none}.banner-btn.primary{background:var(--color-accent);color:#fff}.banner-btn.primary:hover{background:#5a6fd6;transform:translateY(-1px)}.banner-btn.secondary{background:#fff;color:var(--color-accent);border:1px solid var(--color-accent)}.banner-btn.secondary:hover{background:#f8f9ff}.banner-btn.dismiss{background:transparent;color:#6c757d;padding:.4rem .5rem;font-size:1rem;line-height:1}.banner-btn.dismiss:hover{color:#2c3e50;background:#0000000d}.notification-banner.warning .banner-btn.primary{background:#f0ad4e}.notification-banner.warning .banner-btn.primary:hover{background:#ec971f}.notification-banner.warning .banner-btn.secondary{color:#856404;border-color:#856404}@media(max-width:768px){.banner-content{flex-wrap:wrap}.banner-message{flex-basis:calc(100% - 3rem)}.banner-actions{flex-basis:100%;justify-content:flex-start;margin-top:.5rem;padding-top:.5rem;border-top:1px dashed rgba(0,0,0,.1)}.banner-btn.dismiss{margin-left:auto}}@media(max-width:480px){.notification-banner{padding:.625rem .75rem}.banner-icon{font-size:1.25rem}.banner-message strong{font-size:.9rem}.banner-detail{font-size:.8rem}.banner-btn{padding:.35rem .6rem;font-size:.8rem}}.toast-container{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);z-index:9999;display:flex;flex-direction:column;gap:.5rem;pointer-events:none;width:calc(100% - 2rem);max-width:400px}.toast{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;border-radius:10px;box-shadow:0 4px 20px #00000026;pointer-events:auto;animation:toastSlideIn .3s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.toast-exit{animation:toastSlideOut .2s ease-in forwards}@keyframes toastSlideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(20px)}}.toast-icon{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;flex-shrink:0}.toast-message{flex:1;font-size:.9rem;font-weight:500;line-height:1.3}.toast-close{background:none;border:none;font-size:1.25rem;cursor:pointer;opacity:.7;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s;flex-shrink:0}.toast-close:hover{opacity:1;background:#0000001a}.toast-success{background:linear-gradient(135deg,#d4edda,#c3e6cb);border:1px solid #28a745;color:#155724}.toast-success .toast-icon{background:#28a745;color:#fff}.toast-success .toast-close{color:#155724}.toast-error{background:linear-gradient(135deg,#f8d7da,#f5c6cb);border:1px solid #dc3545;color:#721c24}.toast-error .toast-icon{background:#dc3545;color:#fff}.toast-error .toast-close{color:#721c24}.toast-warning{background:linear-gradient(135deg,#fff3cd,#ffeeba);border:1px solid #ffc107;color:#856404}.toast-warning .toast-icon{background:#ffc107;color:#856404}.toast-warning .toast-close{color:#856404}.toast-info{background:linear-gradient(135deg,#d1ecf1,#bee5eb);border:1px solid #17a2b8;color:#0c5460}.toast-info .toast-icon{background:#17a2b8;color:#fff}.toast-info .toast-close{color:#0c5460}@media(max-width:480px){.toast-container{bottom:1rem;width:calc(100% - 1rem);left:.5rem;transform:none}.toast{padding:.75rem;border-radius:8px}.toast-message{font-size:.85rem}}.client-overview-page{min-height:100vh;width:100%;background:#f5f7fa;padding:0;box-sizing:border-box}.client-overview-page>.page-header-wrapper{max-width:none;margin:0}.client-overview-page>*:not(.page-header-wrapper){max-width:1400px;margin-left:auto;margin-right:auto;padding-left:2rem;padding-right:2rem}.client-overview-page>.client-grid{padding-top:1.5rem;padding-bottom:2rem}.client-overview-header{background:#fff;padding:1.5rem 2rem;border-radius:12px;margin-bottom:2rem;box-shadow:0 2px 8px #00000014;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem}.header-content h1{margin:0 0 .25rem;font-size:2rem;color:#2c3e50;font-weight:700}.welcome-text{margin:0;color:#7f8c8d;font-size:1rem}.header-actions{display:flex;gap:1rem;align-items:center}.btn-dashboard,.btn-admin,.btn-logout{color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px}.btn-dashboard{background:var(--color-accent);box-shadow:0 2px 4px #667eea33}.btn-dashboard:hover{background:var(--color-accent-dark);transform:translateY(-2px);box-shadow:0 4px 8px #667eea4d}.btn-admin{background:var(--color-admin);box-shadow:0 2px 4px #f39c1233}.btn-admin:hover{background:var(--color-admin-hover);transform:translateY(-2px);box-shadow:0 4px 8px #f39c124d}.btn-logout{background:#e74c3c;box-shadow:0 2px 4px #e74c3c33}.btn-logout:hover{background:#c0392b;transform:translateY(-2px);box-shadow:0 4px 8px #e74c3c4d}.roster-buttons-section{padding:0 2rem;max-width:1400px;margin:1rem auto 0;display:flex;gap:.75rem}.btn-naar-rooster{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;background:var(--color-accent-gradient);color:#fff;border:none;border-radius:8px;padding:.6rem 1.1rem;cursor:pointer;transition:all .2s ease;font-family:inherit;box-shadow:0 2px 8px #667eea4d;text-align:left;line-height:1.2}.btn-naar-rooster:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-naar-rooster:active{transform:translateY(0)}.btn-naar-rooster-main{font-size:.95rem;font-weight:600}.btn-naar-rooster-sub{font-size:.72rem;opacity:.85;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}.client-toolbar{display:flex;gap:.75rem;align-items:center;margin-top:1.25rem;margin-bottom:.5rem}.client-search-wrap{flex:1;position:relative;display:flex;align-items:center}.client-search-icon{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none}.client-search-input{width:100%;padding:.7rem 2.25rem .7rem 2.5rem;border:1px solid #e1e4e8;border-radius:10px;font-size:.95rem;background:#fff;outline:none;transition:border-color .15s,box-shadow .15s;color:var(--color-text, #1f2937)}.client-search-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #667eea1a}.client-search-clear{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:50%;border:0;background:#e5e7eb;color:#4b5563;cursor:pointer;font-size:1.1rem;line-height:1;display:flex;align-items:center;justify-content:center;padding:0;transition:background .15s}.client-search-clear:hover{background:#d1d5db}.client-view-toggle{display:flex;background:#fff;border:1px solid #e1e4e8;border-radius:10px;overflow:hidden;flex-shrink:0}.client-view-toggle button{background:transparent;border:0;padding:.6rem .9rem;cursor:pointer;color:#6b7280;display:flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:500;transition:all .15s}.client-view-toggle button.active{background:var(--color-accent);color:#fff}.client-view-toggle button:not(.active):hover{background:#f3f4f6}.client-view-toggle svg{flex-shrink:0}.client-count-info{font-size:.85rem;color:#6b7280;margin:.25rem 0 .75rem}.client-count-info strong{color:#1f2937}.search-highlight{background:#fef3c7;color:inherit;padding:0 1px;border-radius:2px}.client-no-results{background:#fff;border-radius:12px;padding:2rem;text-align:center;box-shadow:0 2px 8px #0000000f;margin-top:.5rem}.client-no-results p{margin:0 0 1rem;color:#6b7280}.btn-clear-search{background:var(--color-accent);color:#fff;border:0;padding:.6rem 1.25rem;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .15s}.btn-clear-search:hover{background:var(--color-accent-dark)}.client-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;animation:fadeIn .4s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.client-card{background:#fff;border-radius:10px;box-shadow:0 2px 6px #0000000f;transition:all .2s ease;overflow:hidden;display:flex;flex-direction:column;animation:slideIn .3s ease-out;border:1px solid #e5e7eb}.client-card.clickable{cursor:pointer}.client-card.clickable:hover{box-shadow:0 6px 16px #0000001a;transform:translateY(-1px)}.client-card.clickable:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@keyframes slideIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.client-card-header{background:var(--color-accent-gradient);padding:.7rem 1rem;color:#fff;display:flex;align-items:center;gap:.7rem;position:relative}.client-avatar{width:38px;height:38px;border-radius:50%;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;font-size:1.05rem;font-weight:700;color:#fff;flex-shrink:0;border:2px solid rgba(255,255,255,.3)}.client-card-header h2{margin:0;font-size:1.05rem;font-weight:600;flex:1;text-shadow:0 1px 2px rgba(0,0,0,.1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mandatory-message-badge{position:absolute;top:1rem;right:1rem;background:#e74c3c;color:#fff;border-radius:20px;padding:.5rem .75rem;display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #e74c3c4d;z-index:10;animation:pulse 2s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.mandatory-message-badge:hover{background:#c0392b;transform:scale(1.1);box-shadow:0 4px 12px #e74c3c66}.mandatory-message-badge svg{width:20px;height:20px}.badge-count{font-weight:700;font-size:.875rem}.client-card-body{padding:.7rem 1rem .85rem;flex:1;display:flex;flex-direction:column;gap:.4rem;position:relative}.client-card-row{display:flex;justify-content:space-between;align-items:center;gap:.5rem;font-size:.85rem;line-height:1.35}.client-card-row .client-address{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-card-row .client-phone-link{color:var(--color-primary, #4a9b8e);text-decoration:none;font-weight:500;white-space:nowrap;flex-shrink:0}.client-card-row .client-phone-link:hover{text-decoration:underline}.no-cpr-badge{position:absolute;top:8px;right:10px;z-index:5;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));cursor:help}.client-address{margin:0;color:var(--color-accent);font-size:.9rem}.client-phone{margin:0;font-size:.9rem}.client-phone a{color:var(--color-primary);text-decoration:none}.client-phone a:hover{text-decoration:underline}.client-contacts{display:flex;flex-direction:column;gap:.35rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid #eee}.client-contacts .contact-line{display:flex;align-items:center;gap:.5rem;font-size:.8rem}.client-contacts .contact-icon{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;flex-shrink:0}.client-contacts .contact-icon-hoofd{background:var(--color-accent);color:#fff}.client-contacts .contact-icon-nood{background:#e74c3c;color:#fff}.client-contacts .contact-naam{color:#555}.client-contacts .contact-tel{color:var(--color-primary);text-decoration:none;margin-left:auto}.client-contacts .contact-tel:hover{text-decoration:underline}.client-card.declaration-only{opacity:.85;border:2px dashed var(--color-admin)}.client-card.declaration-only .client-card-header{background:var(--color-admin-gradient)}.declaration-only-banner{background:#fef3c7;color:#92400e;text-align:center;padding:.5rem;font-size:.8rem;font-weight:600}.btn-view-declaration{width:100%;background:var(--color-admin-gradient);color:#fff;border:none;padding:.75rem 1.25rem;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #f39c124d;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-view-declaration:hover{transform:translateY(-2px);box-shadow:0 4px 12px #f39c1266}.client-card-footer{padding:.5rem 1rem .85rem;border-top:1px solid #ecf0f1}.btn-view-roster{width:100%;background:var(--color-accent-gradient);color:#fff;border:none;padding:.75rem 1.25rem;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #667eea4d;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-view-roster:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-view-roster:active{transform:translateY(0)}.btn-sign-ovo{width:100%;background:var(--color-admin-gradient);color:#fff;border:none;padding:.75rem 1.25rem;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-sign-ovo:hover{transform:translateY(-2px);box-shadow:0 4px 12px #f39c1266}.btn-sign-ovo:active{transform:translateY(0)}.client-list{background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 2px 6px #0000000f;overflow:hidden;animation:fadeIn .4s ease-out}.client-list-row{display:grid;grid-template-columns:44px minmax(180px,2fr) minmax(160px,3fr) minmax(120px,1.4fr) auto;gap:1rem;align-items:center;padding:.75rem 1rem;border-bottom:1px solid #e5e7eb;transition:background .1s}.client-list-row:last-child{border-bottom:0}.client-list-row.clickable{cursor:pointer}.client-list-row.clickable:hover{background:#f9fafb}.client-list-row.clickable:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.client-list-row.declaration-only{background:#fffbeb}.client-list-row.declaration-only:hover{background:#fef3c7}.client-list-avatar{width:36px;height:36px;border-radius:50%;background:var(--color-accent-gradient);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.95rem;flex-shrink:0}.client-list-row.declaration-only .client-list-avatar{background:var(--color-admin-gradient)}.client-list-name{font-weight:600;font-size:.92rem;color:#1f2937;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:.5rem}.client-list-tag{background:#fef3c7;color:#92400e;font-size:.7rem;font-weight:600;padding:2px 8px;border-radius:10px;white-space:nowrap;text-transform:uppercase;letter-spacing:.3px}.client-list-address{font-size:.85rem;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-list-phone a{font-size:.85rem;color:var(--color-primary, #4a9b8e);text-decoration:none;font-weight:500}.client-list-phone a:hover{text-decoration:underline}.client-list-phone .muted,.client-list-address .muted{color:#cbd5e1}.client-list-actions{display:flex;align-items:center;gap:.5rem;justify-content:flex-end}.list-badge-btn{background:#e74c3c;color:#fff;border:0;border-radius:16px;padding:.35rem .6rem;display:flex;align-items:center;gap:.3rem;font-size:.78rem;font-weight:600;cursor:pointer;box-shadow:0 2px 4px #e74c3c40;animation:pulse 2s infinite}.list-badge-btn:hover{background:#c0392b}.list-btn{background:var(--color-accent);color:#fff;border:0;padding:.5rem .95rem;border-radius:6px;font-size:.82rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s,transform .15s}.list-btn:hover{background:var(--color-accent-dark);transform:translateY(-1px)}.list-btn-ovo{background:var(--color-admin)}.list-btn-ovo:hover{background:var(--color-admin-hover)}@media(max-width:768px){.client-overview-page{padding:0}.roster-buttons-section{padding:0 1rem;margin:.75rem auto 0;gap:.5rem}.btn-naar-rooster{padding:.55rem .9rem}.btn-naar-rooster-main{font-size:.88rem}.btn-naar-rooster-sub{font-size:.7rem;max-width:200px}.client-overview-page>.client-grid{padding:.75rem 1rem;gap:.75rem}.client-overview-header{padding:1rem;flex-direction:column;align-items:stretch}.header-content h1{font-size:1.5rem}.header-actions{flex-direction:column;width:100%}.header-actions button{width:100%}.client-grid{grid-template-columns:1fr}.client-card-header{padding:.75rem 1rem;gap:.625rem}.client-card-header h2{font-size:1.1rem}.client-avatar{width:38px;height:38px;font-size:1.1rem}.client-card-body{padding:.625rem 1rem;gap:.25rem}.client-address,.client-phone{font-size:.85rem}.client-contacts{margin-top:.375rem;padding-top:.375rem;gap:.25rem}.client-contacts .contact-line{font-size:.75rem}.client-contacts .contact-icon{width:16px;height:16px;font-size:.65rem}.client-card-footer{padding:.5rem 1rem .75rem}.btn-view-roster,.btn-view-declaration{padding:.625rem 1rem;font-size:.9rem}.mandatory-message-badge{padding:.35rem .5rem;font-size:.75rem;top:.75rem;right:.75rem}.mandatory-message-badge svg{width:16px;height:16px}.no-cpr-badge svg{width:32px;height:32px}.client-toolbar{flex-direction:column;align-items:stretch;gap:.5rem;margin-top:.75rem}.client-view-toggle{align-self:flex-end}.client-view-toggle button span{display:none}.client-view-toggle button{padding:.55rem .75rem}.client-list-row{grid-template-columns:36px 1fr auto;grid-template-areas:"avatar name actions" "avatar address actions";gap:.25rem .75rem;padding:.65rem .85rem}.client-list-avatar{grid-area:avatar;align-self:center}.client-list-name{grid-area:name;font-size:.88rem}.client-list-address{grid-area:address;font-size:.78rem}.client-list-phone{display:none}.client-list-actions{grid-area:actions}.list-btn{padding:.4rem .7rem;font-size:.75rem}}@media(max-width:480px){.client-overview-page>.client-grid{padding:.5rem 1rem;gap:.5rem}.client-card-header{padding:.625rem .875rem}.client-card-header h2{font-size:1rem}.client-avatar{width:34px;height:34px;font-size:1rem}.client-card-body{padding:.5rem .875rem}.client-card-footer{padding:.5rem .875rem .625rem}}.client-selector{margin-bottom:1.25rem}.client-tabs{display:flex;gap:1rem;flex-wrap:wrap}.client-tab{background:#fff;border:2px solid #e0e0e0;border-radius:8px;padding:.75rem 1.5rem;cursor:pointer;transition:all .2s;min-width:200px}.client-tab:hover{border-color:var(--color-accent);transform:translateY(-2px);box-shadow:0 4px 12px #667eea33}.client-tab.active{background:var(--color-accent-gradient);border-color:var(--color-accent);color:#fff;box-shadow:0 4px 12px #667eea4d}.client-tab.active .client-name{color:#fff}.client-name{font-weight:600;font-size:1rem;color:inherit}.client-tab:not(.active) .client-name{color:#2c3e50}.client-picker-wrap{position:relative;max-width:420px}.client-picker-button{width:100%;background:#fff;border:1px solid #e1e4e8;padding:.7rem .95rem;border-radius:10px;font-size:.92rem;cursor:pointer;display:flex;align-items:center;gap:.7rem;transition:all .15s;text-align:left;color:#1f2937;box-shadow:0 2px 6px #0000000d;font-family:inherit}.client-picker-button:hover{border-color:var(--color-accent)}.client-picker-button.open{border-color:var(--color-accent);box-shadow:0 0 0 3px #667eea1f}.client-picker-button.is-all{background:linear-gradient(135deg,#6fa84a,#5a8c3a);color:#fff;border-color:#5a8c3a}.client-picker-button.is-all:hover{border-color:#4a7a2e;filter:brightness(1.05)}.client-picker-button.is-all .client-picker-sub{color:#ffffffd9}.client-picker-button.is-all .client-picker-arrow{color:#ffffffe6}.client-picker-avatar{width:36px;height:36px;border-radius:50%;background:var(--color-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.95rem;flex-shrink:0}.client-picker-avatar.avatar-all{background:#ffffff40;border:2px solid rgba(255,255,255,.4);font-size:1rem}.client-picker-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.client-picker-label{font-weight:600;font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-picker-sub{font-size:.75rem;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-picker-arrow{color:#9ca3af;flex-shrink:0;transition:transform .2s}.client-picker-button.open .client-picker-arrow{transform:rotate(180deg)}.client-picker-panel{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1px solid #e1e4e8;border-radius:10px;box-shadow:0 10px 30px #00000026,0 4px 10px #0000000f;z-index:1000;overflow:hidden;animation:pickerFadeIn .15s ease-out}@keyframes pickerFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.client-picker-search-wrap{padding:.625rem;border-bottom:1px solid #e5e7eb;position:relative}.client-picker-search-input{width:100%;padding:.55rem .75rem .55rem 2rem;border:1px solid #e1e4e8;border-radius:8px;font-size:.88rem;outline:none;transition:border-color .15s;font-family:inherit;color:#1f2937;background:#fff}.client-picker-search-input:focus{border-color:var(--color-accent)}.client-picker-search-icon{position:absolute;left:1.275rem;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none}.client-picker-list{max-height:360px;overflow-y:auto;padding:.25rem 0}.client-picker-option{display:flex;align-items:center;gap:.65rem;padding:.6rem .85rem;cursor:pointer;border-left:3px solid transparent;transition:background .1s}.client-picker-option.highlighted{background:#f3f4f6}.client-picker-option.selected{background:#667eea14;border-left-color:var(--color-accent)}.client-picker-option.special{background:#f0fdf4;border-bottom:1px solid #e5e7eb}.client-picker-option.special.highlighted{background:#dcfce7}.client-picker-option.special.selected{background:#d1fae5;border-left-color:#6fa84a}.client-picker-option-avatar{width:32px;height:32px;border-radius:50%;background:var(--color-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;flex-shrink:0}.client-picker-option-avatar.avatar-all{background:linear-gradient(135deg,#6fa84a,#5a8c3a);font-size:.95rem}.client-picker-option-text{flex:1;min-width:0}.client-picker-option-name{font-size:.9rem;color:#1f2937;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.client-picker-option-meta{font-size:.75rem;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.client-picker-option-check{color:var(--color-accent);font-weight:700;font-size:1.05rem;flex-shrink:0}.client-picker-option.special .client-picker-option-check{color:#5a8c3a}.client-picker-empty{padding:1.25rem;text-align:center;color:#9ca3af;font-size:.85rem}.picker-highlight{background:#fef3c7;color:inherit;padding:0 1px;border-radius:2px}@media(max-width:768px){.client-selector{margin:0 1rem .75rem}.client-picker-wrap{max-width:100%}.client-tabs{gap:.5rem}.client-tab{min-width:auto;flex:1;padding:.5rem .75rem;border-radius:6px;text-align:center}.client-name{font-size:.85rem}.client-picker-button{padding:.6rem .8rem}.client-picker-avatar{width:32px;height:32px;font-size:.85rem}.client-picker-list{max-height:50vh}}.holiday-tariff-badge{display:inline-block;background:#f59e0b;color:#fff;font-size:.75rem;padding:1px 6px;border-radius:4px;font-weight:600;margin-left:4px}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease-out}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease-out}.modal-header{padding:.875rem 1.25rem;border-bottom:none;display:flex;justify-content:space-between;align-items:center;background:var(--color-accent-gradient)!important;color:#fff!important;border-radius:12px 12px 0 0}.modal-header h2{margin:0;font-size:1.1rem;font-weight:600;color:#fff!important}.modal-close{background:#fff3;border:none;color:#fff;font-size:1.5rem;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;line-height:1;padding:0}.modal-close:hover{background:#ffffff4d;transform:rotate(90deg)}.modal-body{padding:1rem 1.25rem}.shift-info-compact{background:#f8f9fa;padding:.625rem .875rem;border-radius:6px;margin-bottom:.75rem;display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap}.shift-info-main{display:flex;align-items:center;gap:.5rem}.shift-client{font-weight:600;color:#212529;font-size:.95rem}.shift-dienst{color:var(--color-accent);font-size:.85rem;padding:.125rem .5rem;background:var(--color-accent-alpha);border-radius:4px}.shift-info-datetime{color:#6c757d;font-size:.85rem}.modal-body h3{margin:.75rem 0 .5rem;font-size:1rem;color:#2c3e50}.modal-body h4{margin:.75rem 0 .5rem;font-size:.95rem;color:#2c3e50}.service-type-grid{display:grid;grid-template-columns:1fr;gap:.5rem;margin-bottom:1rem}.service-type-card{border:2px solid var(--color-accent);border-radius:8px;padding:.75rem 1rem;cursor:pointer;transition:all .2s;background:#fff;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.service-type-card:not(.disabled):hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.service-type-card.disabled{cursor:not-allowed;opacity:.6}.service-type-name{font-size:.95rem;font-weight:600;color:#2c3e50}.service-type-tariff{font-size:.95rem;font-weight:600;color:var(--color-accent)}.service-type-capacity{font-size:.8rem;color:#6c757d}.service-type-action{padding:.25rem .5rem;background:#f8f9fa;border-radius:4px;text-align:center;font-size:.75rem;font-weight:600;color:#495057}.enrolled-indicator{background:#d4edda;color:#155724}.available-indicator{background:#e8f5e9;color:#2e7d32}.full-indicator{background:#ffebee;color:#c62828}.service-type-card.full{border-style:dashed;opacity:.7}.enrolled-staff-section{background:#f8f9fa;padding:.75rem;border-radius:6px;margin-top:.75rem}.behoefte-group{margin-bottom:.75rem}.behoefte-group:last-child{margin-bottom:0}.behoefte-header{padding:.35rem 0;border-bottom:1px solid #dee2e6;margin-bottom:.5rem;font-size:.9rem}.behoefte-tariff{color:#6c757d;font-weight:400;font-size:.9rem}.enrolled-staff-list{display:flex;flex-direction:column;gap:.5rem}.enrolled-staff-item-extended{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#fff;border-radius:6px;border-left:4px solid var(--color-accent)}.enrolled-staff-info{display:flex;flex-direction:column;gap:.25rem}.enrolled-name{font-weight:600;font-size:1rem}.enrolled-status{font-size:.85rem;color:#6c757d}.btn-takeover{background:var(--color-admin);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-takeover:hover{background:var(--color-admin-hover);transform:translateY(-2px);box-shadow:0 4px 8px #f39c124d}.takeover-pending-info{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.takeover-pending-label{font-size:.8rem;color:#e67e22;font-weight:600;font-style:italic}.btn-cancel-request{background:none;border:1px solid #dc3545;color:#dc3545;padding:.25rem .75rem;border-radius:4px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-cancel-request:hover{background:#dc3545;color:#fff}.overlap-error-dialog{background:#fff5f5;border:2px solid #e74c3c;border-radius:12px;padding:2rem;margin-top:1rem;text-align:center}.overlap-error-icon{font-size:3rem;margin-bottom:1rem}.overlap-error-dialog h3{margin:0 0 1rem;color:#c0392b;font-size:1.3rem}.overlap-error-message{color:#c0392b;font-size:1rem;line-height:1.5;margin:0;padding:1rem;background:#e74c3c1a;border-radius:8px}.takeover-confirm-dialog{background:#fff3cd;border:2px solid #ffc107;border-radius:12px;padding:2rem;margin-top:1rem}.takeover-confirm-dialog h3{margin:0 0 1rem;color:#856404}.takeover-confirm-dialog p{margin:.75rem 0;color:#856404}.takeover-info{font-size:.9rem;font-style:italic;padding-top:.5rem;border-top:1px solid #ffc107;margin-top:1rem}.takeover-actions{display:flex;gap:1rem;margin-top:1.5rem}.btn-confirm-takeover{flex:1;background:#28a745;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-confirm-takeover:hover{background:#218838;transform:translateY(-2px);box-shadow:0 4px 8px #28a7454d}.btn-cancel-takeover{flex:1;background:#6c757d;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-cancel-takeover:hover{background:#5a6268;transform:translateY(-2px);box-shadow:0 4px 8px #6c757d4d}.unenroll-confirm-dialog{background:#fff5f5;border:2px solid #e74c3c;border-radius:12px;padding:1.5rem;margin-top:1.5rem}.unenroll-confirm-dialog h3{margin:0 0 1rem;color:#c0392b;font-size:1.2rem}.unenroll-confirm-dialog p{margin:.75rem 0;color:#721c24}.unenroll-details{padding:1rem;background:#e74c3c1a;border-radius:8px;font-size:.95rem;line-height:1.5}.unenroll-actions{display:flex;gap:1rem;margin-top:1.5rem}.btn-confirm-unenroll{flex:1;background:#e74c3c;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-confirm-unenroll:hover{background:#c0392b;transform:translateY(-2px);box-shadow:0 4px 8px #e74c3c4d}.btn-cancel-unenroll{flex:1;background:#6c757d;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-cancel-unenroll:hover{background:#5a6268;transform:translateY(-2px);box-shadow:0 4px 8px #6c757d4d}.enroll-confirm-dialog{background:#e8f5e9;border:2px solid #28a745;border-radius:12px;padding:1.5rem;margin-top:1.5rem}.enroll-confirm-dialog h3{margin:0 0 1rem;color:#1b5e20;font-size:1.2rem}.enroll-confirm-dialog p{margin:.75rem 0;color:#2e7d32}.enroll-details{padding:1rem;background:#28a7451a;border-radius:8px;font-size:.95rem;line-height:1.5}.enroll-tariff{font-size:1rem;padding-top:.5rem}.enroll-actions{display:flex;gap:1rem;margin-top:1.5rem}.btn-confirm-enroll{flex:1;background:#28a745;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-confirm-enroll:hover{background:#218838;transform:translateY(-2px);box-shadow:0 4px 8px #28a7454d}.btn-cancel-enroll{flex:1;background:#6c757d;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-cancel-enroll:hover{background:#5a6268;transform:translateY(-2px);box-shadow:0 4px 8px #6c757d4d}.enrollment-opmerking{margin-top:.75rem}.opmerking-input-row{display:flex;gap:.4rem;align-items:center}.opmerking-input{flex:1;padding:.4rem .6rem;border:1px solid #ddd;border-radius:6px;font-size:.85rem;transition:border-color .2s}.opmerking-input:focus{border-color:#4dac96;outline:none}.opmerking-input:disabled{opacity:.6}.btn-opmerking-save{padding:.4rem .75rem;background:#4dac96;color:#fff;border:none;border-radius:6px;font-size:.8rem;cursor:pointer;white-space:nowrap}.btn-opmerking-save:hover:not(:disabled){background:#3d9a86}.btn-opmerking-save:disabled{opacity:.5;cursor:default}.opmerking-counter{font-size:.7rem;color:#999;text-align:right;margin-top:.15rem}.enrollment-opmerkingen-readonly{margin-top:.5rem;padding:.5rem .75rem;background:#f8f9fa;border-radius:6px;font-size:.8rem}.opmerking-readonly-item{display:flex;gap:.35rem;padding:.15rem 0}.opmerking-author{font-weight:600;color:#555;white-space:nowrap}.opmerking-text{color:#333;font-style:italic}.enrollment-actions{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #ecf0f1}.btn-remove-shift{width:100%;background:#e74c3c;color:#fff;border:none;padding:.875rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-remove-shift:hover{background:#c0392b;transform:translateY(-2px);box-shadow:0 4px 12px #e74c3c4d}.modal-footer{padding:.75rem 1.25rem;border-top:1px solid #ecf0f1;display:flex;justify-content:center;gap:.75rem}.delete-confirm-dialog{background:#fff5f5;border:2px solid #e74c3c;border-radius:12px;padding:1.5rem;margin-top:1.5rem}.delete-confirm-dialog h3{margin:0 0 1rem;color:#c0392b;font-size:1.2rem}.delete-confirm-dialog p{margin:.75rem 0;color:#721c24}.delete-details{padding:1rem;background:#e74c3c1a;border-radius:8px;font-size:.95rem;line-height:1.5}.delete-warning{margin-top:1rem;padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:8px;color:#856404;font-size:.9rem;line-height:1.5}.delete-warning ul{margin:.5rem 0 0 1.25rem;padding:0}.delete-warning li{margin:.25rem 0;font-weight:600}.delete-actions{display:flex;gap:1rem;margin-top:1.5rem}.btn-confirm-delete{flex:1;background:#e74c3c;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-confirm-delete:hover{background:#c0392b;transform:translateY(-2px);box-shadow:0 4px 8px #e74c3c4d}.btn-confirm-delete:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-cancel-delete{flex:1;background:#6c757d;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-cancel-delete:hover{background:#5a6268;transform:translateY(-2px);box-shadow:0 4px 8px #6c757d4d}.btn-cancel-delete:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-delete-dienst{background:none;border:1px solid #e74c3c;color:#e74c3c;padding:.625rem 1rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-delete-dienst:hover{background:#e74c3c;color:#fff}.btn-delete-dienst-inline{flex:1;background:none;border:1px solid #e74c3c;color:#e74c3c;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-delete-dienst-inline:hover{background:#e74c3c;color:#fff;transform:translateY(-2px);box-shadow:0 4px 8px #e74c3c4d}.btn-cancel{background:#6c757d;color:#fff;border:none;padding:.5rem 2rem;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;width:100%}.btn-cancel:hover{background:#5a6268;transform:translateY(-2px);box-shadow:0 4px 8px #6c757d4d}@media(max-width:768px){.modal-overlay{padding:2rem .5rem .5rem;align-items:flex-start}.modal-content{margin:0;border-radius:12px;max-height:90vh}.modal-header{padding:.75rem 1rem;border-radius:12px 12px 0 0}.modal-header h2{font-size:1.1rem}.modal-close{width:32px;height:32px;font-size:1.5rem}.modal-body{padding:.75rem 1rem}.modal-body h3{margin:.75rem 0 .5rem;font-size:1rem}.modal-body h4{margin:.75rem 0 .5rem;font-size:.95rem}.shift-info-compact{flex-direction:column;align-items:flex-start;gap:.25rem;padding:.5rem .75rem}.shift-info-main{flex-wrap:wrap}.shift-client{font-size:.9rem}.shift-dienst,.shift-info-datetime{font-size:.8rem}.service-type-grid{grid-template-columns:1fr;gap:.5rem;margin-bottom:.75rem}.service-type-card{padding:.75rem;border-width:2px;border-radius:8px;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.25rem .5rem}.service-type-name,.service-type-tariff{font-size:.9rem;flex:0 0 auto}.service-type-capacity{font-size:.75rem;flex:0 0 auto}.service-type-action{margin-top:0;padding:.25rem .5rem;font-size:.7rem;flex:0 0 auto;white-space:nowrap}.enrolled-staff-section{padding:0;margin-top:.75rem}.behoefte-group{margin-bottom:.75rem}.behoefte-header{padding:.35rem 0;font-size:.9rem}.enrolled-staff-item-extended{padding:.5rem;border-left-width:3px}.enrolled-name{font-size:.9rem}.enrolled-status{font-size:.75rem}.btn-takeover{padding:.35rem .75rem;font-size:.8rem}.enrollment-actions{margin-top:1rem;padding-top:.75rem}.btn-remove-shift{padding:.625rem 1rem;font-size:.9rem}.takeover-actions{flex-direction:column;gap:.5rem;margin-top:1rem}.btn-confirm-takeover,.btn-cancel-takeover{padding:.625rem 1rem;font-size:.9rem}.unenroll-confirm-dialog{padding:1rem;margin-top:1rem}.unenroll-confirm-dialog h3{font-size:1rem;margin-bottom:.75rem}.unenroll-confirm-dialog p{margin:.5rem 0;font-size:.9rem}.unenroll-details{padding:.75rem;font-size:.85rem}.unenroll-actions{flex-direction:column;gap:.5rem;margin-top:1rem}.btn-confirm-unenroll,.btn-cancel-unenroll{padding:.625rem 1rem;font-size:.9rem}.enroll-confirm-dialog{padding:1rem;margin-top:1rem}.enroll-confirm-dialog h3{font-size:1rem;margin-bottom:.75rem}.enroll-confirm-dialog p{margin:.5rem 0;font-size:.9rem}.enroll-details{padding:.75rem;font-size:.85rem}.enroll-tariff{font-size:.9rem}.enroll-actions{flex-direction:column;gap:.5rem;margin-top:1rem}.btn-confirm-enroll,.btn-cancel-enroll{padding:.625rem 1rem;font-size:.9rem}.modal-footer{padding:.75rem 1rem}.btn-cancel{padding:.625rem 1rem;font-size:.9rem;width:100%}}@media(max-width:480px){.modal-overlay{padding:.75rem;align-items:center}.modal-content{border-radius:12px;max-height:calc(100vh - 1.5rem);min-height:auto}.modal-header{border-radius:12px 12px 0 0}}.extra-dienst-modal{max-width:420px;max-height:90vh;overflow-y:auto}.extra-dienst-modal .modal-header{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;padding:.75rem 1rem;display:flex;justify-content:space-between;align-items:center}.extra-dienst-modal .modal-header h2{margin:0;font-size:1.1rem;color:#fff}.extra-dienst-modal .btn-close{background:#fff3;border:none;color:#fff;font-size:1.25rem;width:28px;height:28px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.extra-dienst-modal .btn-close:hover{background:#ffffff4d}.extra-dienst-modal .modal-body{padding:1rem 1.25rem}.extra-dienst-modal .alert-error{background:#f8d7da;color:#721c24;padding:.5rem .75rem;border-radius:6px;margin-bottom:.75rem;font-size:.875rem}.client-info-banner{background:#e8f5e9;color:#2e7d32;padding:.5rem .75rem;border-radius:6px;margin-bottom:.75rem;font-size:.9rem}.extra-dienst-modal .form-group{margin-bottom:.5rem;display:flex!important;flex-direction:row!important;align-items:center;gap:.5rem}.extra-dienst-modal .form-group label{min-width:70px;width:70px;flex-shrink:0;font-weight:600;color:#2c3e50;font-size:.85rem;display:inline-block!important;margin-bottom:0!important}.extra-dienst-modal .form-group input[type=text],.extra-dienst-modal .form-group input[type=date],.extra-dienst-modal .form-group input[type=time]{flex:1;padding:.4rem .6rem;border:1px solid #ccc;border-radius:4px;font-size:.9rem;transition:border-color .2s;width:auto!important}.extra-dienst-modal .form-group textarea{flex:1;padding:.4rem .6rem;border:1px solid #ccc;border-radius:4px;font-size:.9rem;min-height:50px;resize:vertical}.extra-dienst-modal .form-group input:focus,.extra-dienst-modal .form-group textarea:focus{outline:none;border-color:#28a745}.extra-dienst-modal .form-group.stacked{flex-direction:column!important;align-items:flex-start;gap:.25rem}.extra-dienst-modal .form-group.stacked label{min-width:auto;width:auto}.extra-dienst-modal .form-group.stacked textarea{width:100%}.extra-dienst-modal .form-row{display:flex;gap:.5rem;margin-bottom:.5rem}.extra-dienst-modal .form-row .form-group{flex:1;margin-bottom:0}.extra-dienst-modal .form-row .form-group label{min-width:70px;width:70px}.overnight-notice{background:#fff3cd;border:1px solid #ffc107;border-radius:6px;padding:.5rem .75rem;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem;font-size:.85rem}.overnight-notice .notice-icon{font-size:1.1rem}.overnight-notice .notice-text strong{color:#856404}.overnight-notice .notice-text p{margin:0;font-size:.8rem;color:#856404}.dienst-types-section{margin-top:.5rem}.dienst-types-section>label{display:block;font-weight:600;color:#2c3e50;font-size:.875rem;margin-bottom:.375rem}.dienst-types-grid{display:flex;flex-direction:column;gap:.25rem}.dienst-type-item{display:flex;justify-content:space-between;align-items:center;padding:.375rem .625rem;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;transition:all .2s}.dienst-type-item.selected{background:#e8f5e9;border-color:#28a745}.dt-info{display:flex;align-items:center;gap:.375rem}.dt-color{width:10px;height:10px;border-radius:50%}.dt-name{font-weight:500;font-size:.875rem}.dt-aantal{display:flex;align-items:center;gap:.375rem}.btn-aantal{width:26px;height:26px;border:1px solid #28a745;background:#fff;color:#28a745;border-radius:50%;font-size:1rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-aantal:hover{background:#28a745;color:#fff}.aantal-value{min-width:20px;text-align:center;font-weight:600;font-size:.95rem}.extra-dienst-modal .modal-footer{padding:.75rem 1.25rem;border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end;gap:.5rem}.extra-dienst-modal .btn-secondary{background:#f8f9fa;border:1px solid #ccc;color:#666;padding:.5rem 1rem;border-radius:6px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s}.extra-dienst-modal .btn-secondary:hover{background:#e9ecef}.extra-dienst-modal .btn-primary{background:linear-gradient(135deg,#28a745,#20c997);border:none;color:#fff;padding:.5rem 1rem;border-radius:6px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s}.extra-dienst-modal .btn-primary:hover{transform:translateY(-1px);box-shadow:0 2px 8px #28a7454d}.extra-dienst-modal .btn-primary:disabled,.extra-dienst-modal .btn-secondary:disabled{opacity:.6;cursor:not-allowed}.overlap-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1100;padding:1rem;animation:fadeIn .2s ease-out}.overlap-modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:420px;width:100%;padding:2rem;text-align:center;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.overlap-modal-icon{font-size:4rem;margin-bottom:1rem}.overlap-modal-content h2{margin:0 0 1rem;color:#c0392b;font-size:1.5rem;font-weight:600}.overlap-modal-message{color:#495057;font-size:1rem;line-height:1.6;margin:0 0 1.5rem;padding:1rem;background:#fff5f5;border-radius:8px;border-left:4px solid #e74c3c;text-align:left}.overlap-modal-btn{background:var(--color-accent-gradient);color:#fff;border:none;padding:.875rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;width:100%}.overlap-modal-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}@media(max-width:480px){.overlap-modal-content{margin:1rem;padding:1.5rem}.overlap-modal-icon{font-size:3rem}.overlap-modal-content h2{font-size:1.25rem}}.confirm-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease-out}.confirm-modal{background:#fff;border-radius:12px;width:90%;max-width:420px;box-shadow:0 20px 40px #0003;animation:slideUp .3s ease-out;overflow:hidden}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.confirm-modal-header{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:#f8f9fa;border-bottom:1px solid #e9ecef}.confirm-modal-header.danger{background:#fff5f5;border-bottom-color:#fed7d7}.confirm-modal-header.warning{background:#fffbeb;border-bottom-color:#fef3c7}.confirm-modal-icon{font-size:1.75rem;line-height:1}.confirm-modal-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#2c3e50}.confirm-modal-body{padding:1.5rem}.confirm-modal-body p{margin:0;font-size:1rem;color:#4a5568;line-height:1.6}.confirm-modal-actions{display:flex;gap:.75rem;padding:1rem 1.5rem 1.5rem;justify-content:flex-end}.confirm-modal-actions button{padding:.75rem 1.5rem;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}.confirm-modal-actions button:disabled{opacity:.6;cursor:not-allowed}.btn-cancel{background:#fff;border:1px solid #d1d5db;color:#4b5563}.btn-cancel:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.btn-confirm{background:#4caf50;border:none;color:#fff}.btn-confirm:hover:not(:disabled){background:#45a049;transform:translateY(-1px);box-shadow:0 4px 8px #4caf504d}.btn-confirm.danger{background:#dc3545}.btn-confirm.danger:hover:not(:disabled){background:#c82333;box-shadow:0 4px 8px #dc35454d}.btn-confirm.warning{background:#f59e0b}.btn-confirm.warning:hover:not(:disabled){background:#d97706;box-shadow:0 4px 8px #f59e0b4d}@media(max-width:480px){.confirm-modal{width:95%;margin:1rem}.confirm-modal-actions{flex-direction:column-reverse}.confirm-modal-actions button{width:100%}}.dagboek-container .modal-body{display:flex;flex-direction:column;padding:0;overflow:hidden}.dagboek-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);padding:1rem}.dagboek-container{background:#e5ddd5;border-radius:12px;width:100%;max-width:500px;height:90vh;max-height:700px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 32px #0000004d}.dagboek-header{background:var(--color-accent-gradient);color:#fff;padding:.75rem 1rem;display:flex;align-items:center;justify-content:space-between}.dagboek-header-left{display:flex;align-items:center;gap:.75rem}.dagboek-avatar{width:40px;height:40px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.1rem}.dagboek-header-info h2{margin:0;font-size:1rem;font-weight:500}.dagboek-header-info span{font-size:.75rem;opacity:.8}.dagboek-close{background:none;border:none;color:#fff;font-size:1.75rem;cursor:pointer;padding:0;line-height:1;opacity:.8}.dagboek-close:hover{opacity:1}.dagboek-search{padding:.5rem;background:var(--color-bg-tertiary)}.dagboek-search input{width:100%;padding:.5rem 1rem;border:none;border-radius:20px;background:var(--color-bg-primary);font-size:.9rem}.dagboek-search input:focus{outline:none}.dagboek-messages{flex:1;overflow-y:auto;padding:.75rem;display:flex;flex-direction:column;gap:.5rem;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23d4cdc4' fill-opacity='0.4'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}.dagboek-loading,.dagboek-empty{text-align:center;padding:2rem;color:var(--color-text-light)}.message{max-width:85%;padding:.5rem .75rem;border-radius:8px;background:var(--color-bg-primary);box-shadow:0 1px 1px #0000001a;align-self:flex-start;position:relative}.message.own{background:#dcf8c6;align-self:flex-end}.message.important{border-left:3px solid #ff6b6b}.message-important-badge{background:#fff3cd;color:#856404;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;margin-bottom:.5rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.message-important-badge button{background:#28a745;color:#fff;border:none;padding:.2rem .5rem;border-radius:4px;font-size:.7rem;cursor:pointer}.message-header{display:flex;align-items:center;gap:.4rem;margin-bottom:.25rem}.message-avatar,.message-avatar-initial{width:20px;height:20px;border-radius:50%;flex-shrink:0}.message-avatar-initial{background:var(--color-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:600}.message-author{font-size:.75rem;font-weight:600;color:var(--color-accent)}.message-time{font-size:.65rem;color:var(--color-text-muted);margin-left:auto}.message-content{font-size:.9rem;line-height:1.4;word-wrap:break-word}.message-photos{display:flex;gap:.25rem;margin-top:.5rem;flex-wrap:wrap}.message-photos img{max-width:150px;max-height:150px;border-radius:6px;cursor:pointer;object-fit:cover}.message-footer{margin-top:.25rem;display:flex;align-items:center;gap:.5rem}.message-reply-btn{background:var(--color-bg-tertiary);border:none;color:var(--color-text-light);font-size:.85rem;cursor:pointer;padding:.4rem .75rem;border-radius:12px;transition:background .2s}.message-reply-btn:hover{background:var(--color-border-light);color:var(--color-accent)}.message-delete-btn{background:none;border:none;color:var(--color-text-muted);font-size:.85rem;cursor:pointer;padding:.25rem .4rem;border-radius:8px;transition:color .2s,background .2s;margin-left:auto}.message-delete-btn:hover{color:#e74c3c;background:#ffeaea}.replies{margin-top:.5rem;margin-left:1.5rem;padding-left:.75rem;border-left:2px solid var(--color-accent)}.reply{display:flex;gap:.4rem;padding:.4rem 0}.reply-avatar,.reply-avatar-initial{width:24px;height:24px;border-radius:50%;flex-shrink:0}.reply-avatar-initial{background:var(--color-accent-dark);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:600}.reply-content{flex:1;min-width:0}.reply-header{display:flex;align-items:center;gap:.5rem}.reply-author{font-size:.75rem;font-weight:600;color:var(--color-accent-dark)}.reply-time{font-size:.65rem;color:var(--color-text-muted)}.reply-text{font-size:.85rem;color:var(--color-text)}.reply-input{display:flex;gap:.5rem;margin-top:.5rem}.reply-input input{flex:1;padding:.4rem .75rem;border:1px solid var(--color-border);border-radius:20px;font-size:.85rem}.reply-input input:focus{outline:none;border-color:var(--color-accent)}.reply-input button{background:var(--color-accent);color:#fff;border:none;padding:.4rem .75rem;border-radius:16px;cursor:pointer;font-size:.8rem;font-weight:500}.reply-input button:disabled{opacity:.5;cursor:not-allowed}.replies-loading{font-size:.8rem;color:var(--color-text-muted);padding:.5rem 0}.input-photo-preview{display:flex;gap:.5rem;padding:.5rem 1rem;background:var(--color-bg-tertiary);overflow-x:auto;flex-shrink:0}.preview-item{position:relative;flex-shrink:0}.preview-item img{width:60px;height:60px;object-fit:cover;border-radius:8px}.preview-item button{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;background:var(--color-danger);color:#fff;border:none;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center}.dagboek-input-area{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:var(--color-bg-tertiary);transition:background-color .2s,border-left .2s;border-left:3px solid transparent;flex-shrink:0}.dagboek-input-area.important-active{border-left:4px solid #e8590c;background:#fff4e6}.dagboek-input-area.important-active>input[type=text]{background:#fff}.dagboek-input-area.important-active>input[type=text]::placeholder{color:#c46a1a}.important-toggle{cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:.4;transition:opacity .2s,color .2s;color:#666;padding:.25rem}.important-toggle input{display:none}.important-toggle svg{display:block}.important-toggle.active{opacity:1;color:#d9534f}.media-btn{background:none;border:none;cursor:pointer;padding:.25rem;font-size:1.5rem;opacity:.7;transition:opacity .2s}.media-btn:hover{opacity:1}.media-btn:disabled{opacity:.3;cursor:not-allowed}.dagboek-input-area>input[type=text]{flex:1;padding:.6rem 1rem;border:none;border-radius:20px;font-size:.95rem}.dagboek-input-area>input[type=text]:focus{outline:none}.send-btn{background:var(--color-accent);color:#fff;border:none;padding:.5rem 1rem;border-radius:18px;cursor:pointer;font-size:.85rem;font-weight:500;transition:background .2s}.send-btn:hover{background:var(--color-accent-dark)}.send-btn:disabled{background:var(--color-border);cursor:not-allowed}@media(max-width:550px){.dagboek-overlay{padding:0}.dagboek-container{max-width:100%;height:100%;max-height:100%;border-radius:0}.message{max-width:90%}}.roster-overview{min-height:100vh;background:#f5f7fa;padding:0 1.5rem 1.5rem}.roster-header{background:#fff;padding:1.5rem 2rem;border-radius:12px;margin-bottom:1.5rem;box-shadow:0 2px 8px #00000014;display:flex;justify-content:space-between;align-items:center}.header-left{display:flex;align-items:center;gap:1.5rem}.header-left h1{margin:0;font-size:1.75rem;color:#2c3e50}.header-right{display:flex;align-items:center;gap:.75rem}.btn-dagboek{position:relative;display:flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#3498db,#2980b9);color:#fff!important;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #3498db4d;white-space:nowrap;text-decoration:none!important}.btn-dagboek .btn-text{color:#fff!important}.btn-dagboek svg{color:#fff!important}.btn-dagboek:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3498db66;text-decoration:none!important}.btn-dagboek:active{transform:translateY(0)}.dagboek-notification-dot{position:absolute;top:-4px;right:-4px;width:12px;height:12px;background:#e74c3c;border-radius:50%;border:2px solid white;animation:dagboek-dot-pulse 2s ease-in-out infinite}@keyframes dagboek-dot-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}.btn-extra-dienst{display:flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#28a745,#20c997);color:#fff!important;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #28a7454d;white-space:nowrap;text-decoration:none!important}.btn-extra-dienst .btn-text{color:#fff!important}.btn-extra-dienst svg{color:#fff!important}.btn-extra-dienst:hover{transform:translateY(-2px);box-shadow:0 4px 12px #28a74566;text-decoration:none!important}.btn-extra-dienst:active{transform:translateY(0)}.roster-empty{background:#fff;padding:3rem 2rem;border-radius:12px;text-align:center;color:#7f8c8d;font-size:1.1rem}.roster-container{display:flex;flex-direction:column;gap:2rem}.roster-week{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000014}.roster-week-header{display:flex;align-items:baseline;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #ecf0f1}.roster-week-header h3{margin:0;font-size:1.5rem;color:#2c3e50;font-weight:600}.week-dates{color:#7f8c8d;font-size:.95rem}.roster-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:.5rem;overflow-x:auto}.time-column{display:flex;flex-direction:column;gap:.5rem}.time-header{height:50px;background:#bababa;border-radius:8px;font-weight:600;color:#fff;display:flex;align-items:center;justify-content:center}.time-label{height:100px;background:#f8f9fa;border-radius:8px;padding:.75rem;display:flex;flex-direction:column;justify-content:center;font-size:.9rem;font-weight:600;color:#495057;text-align:center}.time-range{font-size:.75rem;color:#6c757d;font-weight:400;margin-top:.25rem}.week-column{display:flex;flex-direction:column;gap:.5rem}.week-header{height:50px;background:#bababa;border-radius:8px;padding:.5rem .75rem;color:#fff;text-align:center;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:.4rem}.day-abbr{font-size:.95rem;font-weight:700;color:#fff!important}.day-date{font-size:.85rem;opacity:.9;color:#fff!important}.week-header-top{display:flex;align-items:center;justify-content:center;gap:.4rem}.week-header.has-labels{flex-direction:column;height:auto;min-height:50px;padding:.35rem .5rem;gap:3px}.day-labels{display:flex;flex-direction:column;align-items:center;gap:2px;width:100%}.day-holiday-marker{font-size:.58rem;line-height:1.2;padding:1px 5px;border-radius:3px;background:#f59e0bd9;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}.absence-indicator{font-size:.58rem;line-height:1.2;padding:1px 5px;border-radius:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.absence-indicator-vakantie{background:#3498dbb3;color:#fff}.absence-indicator-ziek{background:#e74c3cb3;color:#fff}.absence-indicator-overig{background:#9b59b699;color:#fff}.week-shifts{display:flex;flex-direction:column;gap:.5rem}.shift-slot{height:100px;border-radius:8px;padding:.5rem;cursor:pointer;transition:all .2s;position:relative;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.shift-slot.empty{background:transparent;border:2px dashed transparent;cursor:default}@media(max-width:1599px){.all-clients-grid .shift-slot.empty{display:none}}.shift-slot:not(.empty){background:#fff;border:2px solid #e9ecef}.shift-slot:not(.empty):hover{box-shadow:0 4px 12px #0000001a;border-color:var(--color-accent)}.shift-slot.has-warning{border-color:var(--color-admin);background:#fff9e6}.shift-slot.disabled{background:#f5f5f5!important;border-color:#e0e0e0!important;cursor:not-allowed!important;opacity:.6}.shift-slot.past-but-enrollable{background:#fff8e1;border-color:#ffcc80;opacity:.85}.shift-slot.past-but-enrollable:hover{box-shadow:0 4px 12px #ff980033;border-color:#ffa726}.shift-slot.disabled:hover{transform:none!important;box-shadow:none!important;border-color:#e0e0e0!important}.shift-slot.disabled .staff-badge{opacity:.7}.required-staff-indicator{position:absolute;top:.25rem;left:.25rem;color:#999;font-size:.75rem;font-weight:600}.shift-content{display:flex;flex-direction:column;gap:.35rem;align-items:flex-start}.staff-badge{background:var(--color-accent);color:#fff;padding:.35rem .6rem;border-radius:4px;font-size:.75rem;font-weight:600;display:inline-flex;align-items:center;gap:.35rem;max-width:100%;white-space:nowrap;overflow:hidden}.staff-icon{flex-shrink:0;font-size:.75rem;background:#fff;padding:.25rem;border-radius:3px;display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem}.staff-name{overflow:hidden;text-overflow:ellipsis}.staff-badge-wrapper{display:flex;flex-direction:column;align-items:flex-start;gap:1px}.staff-opmerking-label{font-size:.65rem;color:#555;font-style:italic;padding:0 .25rem;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.available-text{color:#6c757d;font-size:.8rem;font-style:italic}.shift-time-label{display:none;font-size:.7rem;color:#6c757d;font-weight:500;margin-bottom:.35rem;padding-bottom:.25rem;border-bottom:1px solid #e9ecef}.warning-triangle{position:absolute;bottom:.25rem;right:.25rem;font-size:1.2rem;color:var(--color-admin);z-index:5}.shift-slot-container{display:flex;flex-direction:column;gap:.25rem;min-height:100px}.shift-slot-container.empty{height:100px}.shift-slot-container.disabled{opacity:.6}.shift-slot-container .shift-slot{flex:1;min-height:0}.shift-slot-container .shift-slot.multi-dienst{border-width:2px}.shift-slot.is-extra{border-color:#28a745;border-style:dashed;background:linear-gradient(135deg,#f0fff4,#e8f5e9)}.shift-slot.is-extra:hover{border-color:#20c997;box-shadow:0 4px 12px #28a74533}.all-clients-grid .time-label{height:100px;padding:.5rem .75rem;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:.1rem;overflow:hidden}.client-name-in-label{font-size:.8rem;font-weight:600;color:var(--color-accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.dienst-name-in-label{font-size:.85rem;font-weight:500;color:#495057;display:flex;align-items:center;gap:.35rem}.extra-tag{font-size:.6rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#28a745,#20c997);padding:.1rem .3rem;border-radius:3px;text-transform:uppercase}.time-label.is-extra-row{border-left:3px solid #28a745;background:linear-gradient(135deg,#f0fff4,#f8f9fa)}@media(max-width:1599px){.all-clients-grid{display:flex;flex-direction:column;gap:1rem}.all-clients-grid .time-column{display:none}.all-clients-grid .week-column{display:grid;grid-template-columns:auto 1fr;gap:.5rem;align-items:start}.all-clients-grid .week-header{height:auto;min-width:70px;flex-direction:column;gap:.15rem}.all-clients-grid .week-shifts{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem}.all-clients-grid .shift-time-label{display:block}.all-clients-grid .shift-time-label .mobile-client-name{display:block;font-weight:600;color:var(--color-accent);font-size:.8rem;margin-bottom:.1rem}.all-clients-grid .shift-time-label .mobile-dienst-info{display:block;font-size:.75rem;color:#6c757d}.all-clients-grid .shift-slot{height:auto;min-height:80px;padding:.5rem;border-radius:8px}}@media(max-width:1199px){.all-clients-grid .week-shifts{grid-template-columns:repeat(4,1fr)}}@media(max-width:899px){.all-clients-grid .week-shifts{grid-template-columns:repeat(3,1fr)}}@media(min-width:1600px){.all-clients-grid .shift-slot.all-clients-mode .shift-time-label{display:none}}.extra-badge{position:absolute;top:.25rem;right:.25rem;background:linear-gradient(135deg,#28a745,#20c997);color:#fff;font-size:.65rem;font-weight:700;padding:.15rem .4rem;border-radius:4px;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 1px 3px #28a7454d;z-index:10}@media(max-width:1400px){.roster-grid{grid-template-columns:repeat(8,1fr);font-size:.9rem}.time-label{padding:.5rem}.shift-slot{height:90px;padding:.4rem}}@media(max-width:1024px){.roster-overview{padding:1rem}.roster-grid{display:flex;flex-direction:column;gap:1rem}.week-column{display:grid;grid-template-columns:auto 1fr;gap:.5rem;align-items:start}.week-header{height:auto;min-width:70px;flex-direction:column;gap:.15rem}.day-abbr{margin-bottom:0}.week-shifts{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.shift-slot-container.empty,.time-column{display:none}.shift-time-label{display:block}.shift-time-label .mobile-client-name{display:block;font-weight:600;color:var(--color-accent);font-size:.8rem;margin-bottom:.1rem}.shift-time-label .mobile-dienst-info{display:block;font-size:.75rem;color:#6c757d}.shift-slot{height:auto;min-height:80px;padding:.5rem;border-radius:8px}}@media(max-width:899px){.roster-grid:not(.all-clients-grid) .week-shifts{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.roster-overview{padding:0}.roster-container{gap:.75rem;padding:0 1rem 1rem}.roster-week{padding:0;border-radius:10px;overflow:hidden}.roster-week-header{padding:.75rem 1rem;margin-bottom:0;border-bottom:none;background:var(--color-accent-gradient);color:#fff}.roster-week-header h3{font-size:1.1rem;color:#fff}.week-dates{color:#ffffffd9;font-size:.85rem}.roster-grid{gap:0;display:flex;flex-direction:column;width:100%}.week-column{display:flex;flex-direction:column;gap:0;border-bottom:1px solid #eee;width:100%}.week-column:last-of-type{border-bottom:none}.week-header{background:#f8f9fa;border-radius:0;padding:.4rem 1rem;height:auto;justify-content:flex-start;gap:.25rem;flex-direction:row}.day-abbr{font-size:.85rem;font-weight:700;color:#2c3e50!important}.day-date{font-size:.85rem;color:#7f8c8d!important}.week-header-top{justify-content:flex-start}.week-header.has-labels{flex-direction:column;align-items:flex-start;gap:2px}.day-labels{justify-content:flex-start;flex-direction:column;align-items:flex-start}.week-shifts,.all-clients-grid .week-shifts{display:flex;flex-direction:column;gap:0;width:100%;padding-right:4px}.shift-slot.empty{display:none!important}.shift-slot{height:auto;min-height:auto;padding:.5rem 1rem;border-radius:8px;border:2px solid #e9ecef;background:#fff;margin:2px 0;width:100%!important;max-width:100%!important;box-sizing:border-box;flex-shrink:0}.shift-slot:not(.empty):hover{transform:none;box-shadow:none;background:#f8f9fa}.shift-slot.has-warning{background:#fffbeb;border-left:3px solid var(--color-admin)}.shift-time-label{display:block;font-size:.75rem;color:#7f8c8d;margin-bottom:.25rem}.shift-content{flex-direction:row;flex-wrap:wrap;gap:.35rem;align-items:center}.staff-badge{padding:.25rem .5rem;font-size:.75rem;border-radius:4px}.available-text{font-size:.8rem;color:#999;font-style:italic}.warning-triangle{position:absolute;bottom:.25rem;right:.25rem;font-size:.9rem}.required-staff-indicator{position:static;font-size:.7rem;background:#eee;padding:.15rem .35rem;border-radius:3px;margin-left:auto}.extra-badge{font-size:.65rem;padding:.15rem .35rem}.shift-slot-container{min-height:auto;gap:0}.shift-slot-container .shift-slot{min-height:auto}.shift-slot-container .shift-slot.multi-dienst{border-top:1px dashed #dee2e6}.shift-slot-container .shift-slot.multi-dienst:first-child{border-top:none}.time-column{display:none}.roster-header{flex-direction:row;align-items:center;padding:.75rem 1rem;border-radius:0;margin-bottom:.75rem;gap:.75rem}.header-left{flex:1;flex-direction:row;align-items:center;gap:.75rem}.header-left h1{font-size:1.25rem}.btn-back{padding:.5rem .75rem;font-size:.9rem}.btn-back-text{display:none}.btn-back-icon{font-size:1.1rem}.header-right{gap:.5rem}.btn-dagboek,.btn-extra-dienst{width:40px;height:40px;padding:0;border-radius:10px;justify-content:center}.btn-dagboek .btn-text,.btn-extra-dienst .btn-text{display:none}}.roster-mode-section{display:flex;align-items:center;gap:.75rem;margin:0 1.5rem 1rem;flex-wrap:wrap}.roster-mode-label{font-size:.85rem;color:#6b7280;font-weight:500}.roster-mode-segmented{display:inline-flex;background:#fff;border:1px solid #e1e4e8;border-radius:10px;overflow:hidden;box-shadow:0 2px 6px #0000000d}.roster-mode-segmented .mode-seg-btn{display:flex;align-items:center;gap:.5rem;padding:.55rem 1rem;background:transparent;border:0;font-size:.88rem;font-weight:600;color:#6b7280;cursor:pointer;transition:all .15s ease;font-family:inherit}.roster-mode-segmented .mode-seg-btn:hover{background:#f3f4f6;color:#1f2937}.roster-mode-segmented .mode-seg-btn.active{background:var(--color-accent-gradient);color:#fff}.roster-mode-segmented .mode-seg-btn.active:hover{filter:brightness(1.05)}.roster-mode-segmented .mode-seg-btn svg{flex-shrink:0}@media(max-width:768px){.roster-mode-section{margin:0 1rem .75rem;gap:.5rem}.roster-mode-label{font-size:.8rem;width:100%}.roster-mode-segmented .mode-seg-btn{padding:.5rem .85rem;font-size:.82rem;gap:.4rem}.roster-mode-segmented .mode-seg-btn svg{width:14px;height:14px}}.week-navigator{background:#fff;padding:1rem 2rem;border-radius:12px;margin-bottom:1.5rem;box-shadow:0 2px 8px #00000014;display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap}.btn-deze-week{padding:.5rem 1rem;background:#e9ecef;color:#343a40;border:1px solid #ced4da;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-deze-week:hover{background:#dee2e6;border-color:#adb5bd}.btn-nav-arrow,.btn-nav-text{display:inline}.btn-nav{display:flex;align-items:center;gap:.25rem;padding:.5rem 1.25rem;background:#f5f7fa;color:#2c3e50;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-nav:hover:not(:disabled){background:#e5e7eb;border-color:#9ca3af}.btn-nav:disabled{opacity:.4;cursor:not-allowed}.period-text{font-size:1rem;font-weight:600;color:#2c3e50;padding:0 1rem}@media(max-width:768px){.week-navigator{padding:.5rem 1rem;gap:.5rem;margin:0 1rem .75rem;border-radius:10px}.period-text{font-size:.9rem;padding:.25rem .5rem;order:1;width:auto}.btn-nav{padding:.5rem .75rem;font-size:.85rem}.btn-deze-week{padding:.4rem .75rem;font-size:.8rem}.btn-nav-text{display:none}.btn-nav-arrow{font-size:1rem}}.admin-dashboard{min-height:100vh;min-width:100vw;width:100%;background:#f5f5f5;box-sizing:border-box}.admin-header{background:#fff;padding:1.5rem 2rem;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.admin-header .header-left{display:flex;align-items:center;gap:1rem}.admin-header h1{margin:0;font-size:1.75rem;color:#333}.admin-header .header-right{display:flex;align-items:center;gap:1.5rem}.user-info{display:flex;flex-direction:column;align-items:flex-end}.user-name{font-weight:600;color:#333}.user-role{font-size:.875rem;color:#666}.btn-back{background:transparent;border:1px solid #ddd;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.95rem;color:#666;transition:all .2s}.btn-back:hover{background:#f5f5f5;border-color:#ccc}.btn-logout{background:#dc3545;color:#fff;border:none;padding:.5rem 1.25rem;border-radius:6px;cursor:pointer;font-size:.95rem;transition:background .2s}.btn-logout:hover{background:#c82333}.dashboard-grid{max-width:1200px;margin:0 auto;padding:2rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.dashboard-tile{background:#fff;border-radius:12px;padding:1.25rem 1.5rem;box-shadow:0 2px 8px #0000001a;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;gap:.25rem;position:relative}.tile-badge{position:absolute;top:-8px;right:-8px;min-width:24px;height:24px;padding:0 7px;background:#dc3545;color:#fff;font-size:.8rem;font-weight:700;border-radius:12px;display:flex;align-items:center;justify-content:center;border:2px solid white;box-shadow:0 2px 4px #dc35454d;animation:badgePop .3s ease-out}@keyframes badgePop{0%{transform:scale(0)}70%{transform:scale(1.2)}to{transform:scale(1)}}.dashboard-tile.has-badge{border:2px solid #dc3545;box-shadow:0 2px 8px #dc354526}.dashboard-tile:hover{transform:translateY(-4px);box-shadow:0 4px 16px #00000026}.tile-title-row{display:flex;align-items:center;gap:.5rem}.tile-icon{font-size:1.5rem;line-height:1;flex-shrink:0}.tile-content h3{margin:0;font-size:1.25rem;color:#333}.tile-content p{margin:0;font-size:.95rem;color:#666;line-height:1.5}.tile-count{margin-top:.5rem;font-size:.875rem;font-weight:600;color:#4caf50}@media(max-width:768px){.admin-header{flex-direction:column;gap:1rem;align-items:flex-start}.admin-header .header-right{width:100%;justify-content:space-between}.dashboard-grid{grid-template-columns:1fr;padding:1rem}}.roster-template-preview{display:flex;flex-direction:column;gap:2rem}.loading-message{padding:3rem;text-align:center;font-size:1.25rem;color:#666}.no-template-message{padding:3rem;text-align:center;background:#fff;border-radius:8px;border:2px dashed #ddd}.no-template-message p{font-size:1.1rem;color:#666;margin-bottom:1.5rem}.no-template-message .btn-primary{background:#4caf50;color:#fff;border:none;padding:1rem 2rem;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.no-template-message .btn-primary:hover{background:#45a049;transform:translateY(-1px);box-shadow:0 4px 8px #4caf504d}.template-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.5rem;background:#f8f9fa;border-radius:8px;border-left:4px solid #4CAF50}.template-title h2{margin:0 0 .5rem;font-size:1.5rem;color:#333}.template-date{font-size:.95rem;color:#666}.template-actions{display:flex;gap:.75rem}.budget-info{padding:1.5rem;background:#fff;border:1px solid #e0e0e0;border-radius:8px}.budget-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.budget-info h3{margin:0;font-size:1.25rem;color:#333}.btn-edit-budget{background:#fff;border:1px solid #4CAF50;color:#4caf50;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .2s;font-weight:500}.btn-edit-budget:hover{background:#f1f8f4;transform:translateY(-1px)}.budget-not-configured{padding:1rem;background:#fff8e1;border:1px solid #ffe082;border-radius:6px;color:#5d4037}.budget-not-configured p{margin:.25rem 0}.budget-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.budget-item{display:flex;justify-content:space-between;padding:.75rem 1rem;background:#f8f9fa;border-radius:6px}.budget-label{color:#666;font-size:.95rem}.budget-value{font-weight:600;color:#333;font-size:1.05rem}.budget-progress-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e0e0e0}.progress-item{margin-bottom:1.25rem}.progress-item:last-child{margin-bottom:0}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.progress-label{font-weight:600;color:#333;font-size:.95rem}.progress-value{font-weight:700;color:#4caf50;font-size:1rem}.progress-bar{height:24px;background:#e9ecef;border-radius:12px;overflow:hidden;position:relative}.progress-fill{height:100%;transition:all .3s ease;border-radius:12px;display:flex;align-items:center;justify-content:flex-end;padding-right:.5rem;color:#fff;font-size:.85rem;font-weight:600}.budget-warning{margin-top:1rem;padding:1rem;background:#fff3cd;border-left:4px solid var(--color-admin);border-radius:4px;color:#856404;font-weight:500}.week-template{padding:1.5rem;background:#fff;border:1px solid #e0e0e0;border-radius:8px}.week-template-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.week-template-header h3{margin:0;font-size:1.25rem;color:#333}.week-template h3{margin:0 0 1.5rem;font-size:1.25rem;color:#333}.btn-action-with-hint,.btn-action-primary-with-hint{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid}.btn-action-with-hint{background:#fff;border-color:#dee2e6;color:#495057}.btn-action-with-hint:hover{background:#f8f9fa;border-color:#adb5bd;transform:translateY(-1px)}.btn-action-primary-with-hint{background:#4caf50;border-color:#4caf50;color:#fff}.btn-action-primary-with-hint:hover{background:#45a049;border-color:#45a049;transform:translateY(-1px);box-shadow:0 4px 8px #4caf504d}.btn-icon-small{font-size:1rem;line-height:1}.btn-label{font-size:.85rem}.week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1rem;overflow-x:auto}.day-column{min-width:180px;display:flex;flex-direction:column}.day-header{display:flex;flex-direction:column;align-items:center;padding:.75rem;background:#f8f9fa;border-radius:6px 6px 0 0;border-bottom:2px solid #4CAF50}.day-abbr{font-size:1.25rem;font-weight:700;color:#4caf50}.day-name{font-size:.75rem;color:#666;text-transform:uppercase;letter-spacing:.5px}.day-slots{display:flex;flex-direction:column;gap:.75rem;padding:.75rem;background:#fafafa;border:1px solid #e0e0e0;border-top:none;border-radius:0 0 6px 6px;min-height:200px}.day-empty{display:flex;align-items:center;justify-content:center;height:100%;min-height:150px}.add-slot-container{display:flex;justify-content:center;padding-top:.5rem}.btn-add-slot{background:#fff;border:2px dashed #ccc;padding:.75rem 1rem;border-radius:6px;color:#666;cursor:pointer;font-size:.9rem;transition:all .2s;width:100%}.btn-add-slot:hover{border-color:#4caf50;color:#4caf50;background:#f1f8f4}.slot-card{background:#fff;border:1px solid #e0e0e0;border-radius:6px;padding:.75rem;transition:all .2s}.slot-card:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-2px)}.slot-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.slot-header-new{display:flex;flex-direction:column;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid #e0e0e0}.slot-name{font-weight:700;color:#333;font-size:1rem}.slot-time{font-size:.75rem;color:#666;font-family:Courier New,monospace;margin-top:.25rem}.slot-behoeftes{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.behoefte-tag{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;padding:.5rem .75rem;background:#f8f9fa;border-radius:4px}.behoefte-type{font-weight:600;color:#333;font-size:.95rem}.behoefte-details{font-size:.75rem;color:#666;font-weight:500}.behoefte-aantal{color:#666;font-size:.9rem}.behoefte-tarief{color:#4caf50;font-weight:600;font-size:.9rem}.slot-actions{display:flex;justify-content:flex-end;gap:.5rem;padding-top:.5rem;border-top:1px solid #e0e0e0}.btn-icon{background:transparent;border:none;padding:.25rem .5rem;cursor:pointer;color:#666;font-size:1.1rem;transition:all .2s;border-radius:4px}.btn-icon:hover{background:#f0f0f0;color:#333}.template-summary{padding:1.5rem;background:#fff;border:1px solid #e0e0e0;border-radius:8px}.summary-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.summary-value{font-size:1.1rem;font-weight:600;color:#4caf50}.summary-warning{padding:1rem;background:#fff3cd;border-left:4px solid #ffc107;border-radius:4px;color:#856404}.summary-ok{padding:1rem;background:#d4edda;border-left:4px solid #28a745;border-radius:4px;color:#155724}.template-footer{display:flex;justify-content:center;padding:1rem 0}.btn-primary-large{background:#4caf50;color:#fff;border:none;padding:1rem 2rem;border-radius:8px;font-size:1.05rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary-large:hover{background:#45a049;transform:translateY(-2px);box-shadow:0 4px 8px #4caf504d}.template-history{padding:1.5rem;background:#fff;border:1px solid #e0e0e0;border-radius:8px}.template-history h3{margin:0 0 1.25rem;font-size:1.25rem;color:#333}.history-list{display:flex;flex-direction:column;gap:.75rem}.history-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f8f9fa;border-radius:6px;border-left:3px solid transparent;transition:all .2s}.history-item:hover{background:#e9ecef}.history-item.active{border-left-color:#4caf50;background:#f1f8f4}.history-badge{background:#4caf50;color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600}.history-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.history-info strong{color:#333;font-size:.95rem}.history-info span{color:#666;font-size:.85rem}.btn-text{background:transparent;border:none;color:#4caf50;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:all .2s}.btn-text:hover{text-decoration:underline}.history-list-new{display:flex;flex-direction:column;gap:1rem}.history-card{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:10px;overflow:hidden;transition:all .2s}.history-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-1px)}.history-card.status-active{border-left:4px solid #4CAF50;background:linear-gradient(135deg,#f1f8f4,#fff)}.history-card.status-scheduled{border-left:4px solid #2196F3;background:linear-gradient(135deg,#e3f2fd,#fff)}.history-card.status-inactive{border-left:4px solid #9e9e9e}.history-card-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#ffffff80;border-bottom:1px solid #e9ecef}.history-status-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .75rem;border-radius:20px;font-size:.7rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.history-status-badge .status-icon{font-size:.8rem}.history-status-badge.status-active{background:#d4edda;color:#155724}.history-status-badge.status-scheduled{background:#cce5ff;color:#004085}.history-status-badge.status-inactive{background:#e9ecef;color:#6c757d}.history-date-range{font-size:.8rem;color:#6c757d;font-weight:500}.history-card-body{padding:1rem}.history-template-name{margin:0 0 .375rem;font-size:1rem;font-weight:600;color:#333}.history-template-note{margin:0;font-size:.85rem;color:#6c757d;font-style:italic}.history-card-actions{display:flex;gap:.5rem;padding:.75rem 1rem;background:#00000005;border-top:1px solid #e9ecef;flex-wrap:wrap}.history-action-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .875rem;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent;background:#fff}.history-action-btn .action-icon{font-size:.9rem}.history-action-btn .action-text{font-size:.8rem}.history-action-btn.view{color:#495057;border-color:#dee2e6}.history-action-btn.view:hover{background:#f8f9fa;border-color:#adb5bd}.history-action-btn.edit{color:#0d6efd;border-color:#b6d4fe}.history-action-btn.edit:hover{background:#e7f1ff;border-color:#86b7fe}.history-action-btn.activate{color:#198754;border-color:#a3cfbb}.history-action-btn.activate:hover{background:#d1e7dd;border-color:#75b798}.history-action-btn.archive{color:#6c757d;border-color:#ced4da}.history-action-btn.archive:hover{background:#f8f9fa;border-color:#adb5bd}@media(max-width:768px){.history-card-header{flex-direction:column;align-items:flex-start;gap:.5rem}.history-card-actions{justify-content:stretch}.history-action-btn{flex:1;justify-content:center;min-width:calc(50% - .25rem)}}@media(max-width:480px){.history-action-btn{min-width:100%}.history-action-btn .action-text{display:none}.history-action-btn{justify-content:center;padding:.5rem 1rem}.history-action-btn .action-icon{font-size:1.1rem}}.btn-primary,.btn-secondary{border:none;padding:.5rem 1.25rem;border-radius:6px;font-size:.95rem;cursor:pointer;transition:all .2s;font-weight:500}.btn-primary{background:#4caf50;color:#fff}.btn-primary:hover{background:#45a049}.btn-secondary{background:#fff;color:#4caf50;border:1px solid #4CAF50}.btn-secondary:hover{background:#f1f8f4}@media(max-width:1200px){.week-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:768px){.week-grid{grid-template-columns:repeat(2,1fr)}.template-header{flex-direction:column;gap:1rem}.template-actions{width:100%;justify-content:stretch}.template-actions button{flex:1}}.loading-spinner-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem 1rem;color:#6c757d}.loading-spinner-inline{display:inline-flex;align-items:center;gap:.5rem;color:#6c757d}.loading-spinner-circle{border-radius:50%;border-style:solid;border-color:#e9ecef;border-top-color:var(--color-accent);animation:loading-spinner-rotate .8s linear infinite}.loading-spinner-sm .loading-spinner-circle{width:16px;height:16px;border-width:2px}.loading-spinner-md .loading-spinner-circle{width:32px;height:32px;border-width:3px}.loading-spinner-lg .loading-spinner-circle{width:48px;height:48px;border-width:4px}.loading-spinner-text{font-size:.95rem;color:#6c757d;margin:0}.loading-spinner-sm .loading-spinner-text{font-size:.85rem}.loading-spinner-lg .loading-spinner-text{font-size:1.1rem}@keyframes loading-spinner-rotate{to{transform:rotate(360deg)}}.dob-input-wrapper{display:flex;align-items:center;gap:2px}.dob-field{text-align:center;padding:6px 4px;border:1px solid #ccc;border-radius:4px;font-size:14px;font-family:inherit;background:#fff;transition:border-color .15s}.dob-field:focus{outline:none;border-color:var(--color-primary, #4a90d9);box-shadow:0 0 0 2px #4a90d926}.dob-field:disabled{background:#f5f5f5;color:#999}.dob-field-day,.dob-field-month{width:40px}.dob-field-year{width:56px}.dob-separator{color:#999;font-size:14px;-webkit-user-select:none;user-select:none;flex-shrink:0}.day-display{padding:var(--spacing-md) var(--spacing-lg);background:var(--color-primary-light);border:1px solid var(--color-primary);border-radius:var(--radius-md);font-weight:var(--font-weight-semibold);color:var(--color-primary);font-size:var(--font-size-md)}.behoefte-row{display:flex;gap:var(--spacing-md);align-items:center;margin-bottom:var(--spacing-md)}.behoefte-row .form-select{flex:3;min-width:200px}.behoefte-row .form-input-small{width:80px;flex-shrink:0}.btn-remove{background:var(--color-danger);border:none;color:#fff;width:32px;height:32px;border-radius:var(--radius-md);font-size:var(--font-size-xl);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-base);flex-shrink:0}.btn-remove:hover{background:var(--color-danger-hover)}.btn-add-behoefte{background:transparent;border:2px dashed var(--color-border);color:var(--color-text-light);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);transition:all var(--transition-base);width:100%;margin-top:var(--spacing-sm)}.btn-add-behoefte:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-light)}.copy-to-days{margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:2px solid var(--color-border)}.form-hint{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:var(--spacing-xs) 0 var(--spacing-md) 0}.day-checkboxes{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-sm);margin-top:var(--spacing-md)}.day-checkbox{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);background:#fff;min-height:50px;overflow:hidden}.day-checkbox:hover{border-color:var(--color-primary);background:var(--color-bg-secondary)}.day-checkbox.checked{border-color:var(--color-primary);background:var(--color-primary-light)}.day-checkbox input[type=checkbox]{cursor:pointer;width:18px;height:18px;flex-shrink:0}.day-checkbox-label{display:flex;flex-direction:column;gap:2px;flex:1;pointer-events:none;min-width:0;overflow:hidden}.day-abbr{font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);color:var(--color-text);white-space:nowrap}.day-checkbox.checked .day-abbr{color:var(--color-primary)}.day-name{font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selected-days-info{margin-top:var(--spacing-md);padding:var(--spacing-md);background:var(--color-success-light);border:1px solid var(--color-success);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-success-dark)}@media(max-width:768px){.behoefte-row{flex-direction:column;align-items:stretch}.form-input-small{width:100%}.day-checkboxes{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.day-checkboxes{grid-template-columns:repeat(2,1fr)}.day-name{display:none}.day-checkbox{padding:var(--spacing-sm)}}.monday-picker-container{position:relative;margin-bottom:1rem}.monday-picker-label{display:block;margin-bottom:.5rem;font-weight:500;color:#2c3e50;font-size:.9rem}.monday-picker-label .required{color:#dc3545;margin-left:.25rem}.monday-picker-input-wrapper{display:flex;align-items:center;gap:.5rem}.monday-picker-input{flex:1;padding:.6rem .75rem;border:1px solid #dee2e6;border-radius:6px;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.monday-picker-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #667eea26}.monday-picker-input.has-error{border-color:#dc3545}.monday-picker-input.has-error:focus{box-shadow:0 0 0 3px #dc354526}.monday-picker-trigger{padding:.6rem .75rem;background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;cursor:pointer;font-size:1rem;transition:background-color .2s}.monday-picker-trigger:hover:not(:disabled){background:#e9ecef}.monday-picker-trigger:disabled{opacity:.5;cursor:not-allowed}.monday-picker-display{margin-top:.35rem;font-size:.85rem;color:var(--color-accent);font-weight:500}.monday-picker-error{margin-top:.35rem;font-size:.85rem;color:#dc3545;font-weight:500}.monday-picker-hint{margin-top:.35rem;font-size:.8rem;color:#6c757d}.monday-picker-dropdown{position:absolute;bottom:100%;left:0;right:0;margin-bottom:.5rem;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;padding:1rem;z-index:1000;animation:dropdownFadeIn .2s ease-out}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.picker-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.picker-header .month-year{font-weight:600;color:#2c3e50;text-transform:capitalize}.picker-header .nav-btn{background:none;border:none;padding:.5rem;cursor:pointer;font-size:.9rem;color:var(--color-accent);border-radius:4px;transition:background-color .2s}.picker-header .nav-btn:hover{background:#f0f0ff}.quick-select{margin-bottom:.75rem}.quick-btn{width:100%;padding:.5rem;background:var(--color-accent-gradient);color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:transform .2s,box-shadow .2s}.quick-btn:hover{transform:translateY(-1px);box-shadow:0 2px 8px #667eea66}.picker-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:.5rem}.weekday{text-align:center;font-size:.75rem;font-weight:600;color:#6c757d;padding:.35rem 0}.weekday.monday{color:var(--color-accent);background:#f0f0ff;border-radius:4px}.picker-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.day-btn{aspect-ratio:1;border:none;background:#fff;font-size:.85rem;cursor:pointer;border-radius:4px;transition:all .15s;position:relative}.day-btn.other-month{color:#ccc}.day-btn.is-today{font-weight:700}.day-btn.is-today:after{content:"";position:absolute;bottom:2px;left:50%;transform:translate(-50%);width:4px;height:4px;background:var(--color-accent);border-radius:50%}.day-btn.is-monday:not(.is-past){background:#f0f0ff;color:var(--color-accent);font-weight:600}.day-btn.is-monday:not(.is-past):hover{background:var(--color-accent);color:#fff;transform:scale(1.1)}.day-btn.is-monday.selected{background:var(--color-accent-gradient);color:#fff;font-weight:700}.day-btn.not-monday{color:#ccc;cursor:not-allowed}.day-btn.not-monday:hover{background:#f8f8f8}.day-btn.is-past{color:#ddd;cursor:not-allowed;text-decoration:line-through}.picker-legend{display:flex;gap:1rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid #eee;font-size:.75rem;color:#6c757d}.legend-item{display:flex;align-items:center;gap:.35rem}.legend-dot{width:10px;height:10px;border-radius:2px}.legend-dot.monday{background:var(--color-accent)}.legend-dot.disabled{background:#e0e0e0}@media(max-width:400px){.monday-picker-dropdown{padding:.75rem}.day-btn{font-size:.75rem}.picker-legend{flex-direction:column;gap:.5rem}}.activation-preview{min-height:400px}.preview-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem}.spinner{width:40px;height:40px;border:3px solid #f3f3f3;border-top:3px solid var(--color-accent);border-radius:50%;animation:spin 1s linear infinite}.preview-header{display:flex;gap:2rem;padding:1rem;background:#f8f9fa;border-radius:8px;margin-bottom:1.5rem}.preview-header .label{font-size:.85rem;color:#6c757d;display:block}.preview-header .value{font-weight:600;color:#2c3e50}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.stat-card{padding:1rem;border-radius:8px;text-align:center;transition:transform .2s}.stat-card:hover{transform:translateY(-2px)}.stat-number{font-size:2rem;font-weight:700;line-height:1;margin-bottom:.25rem}.stat-label{font-size:.8rem;color:#6c757d}.stat-total{background:#e3e8f0}.stat-total .stat-number{color:#495057}.stat-success{background:#d4edda}.stat-success .stat-number{color:#155724}.stat-warning{background:#fff3cd}.stat-warning .stat-number{color:#856404}.stat-warning.highlight{box-shadow:0 0 0 2px #ffc107}.stat-danger{background:#f8d7da}.stat-danger .stat-number{color:#721c24}.stat-danger.highlight{box-shadow:0 0 0 2px #dc3545}.preview-tabs{display:flex;gap:.25rem;border-bottom:2px solid #e9ecef;margin-bottom:1rem;overflow-x:auto}.tab-btn{padding:.75rem 1rem;background:none;border:none;font-size:.9rem;color:#6c757d;cursor:pointer;white-space:nowrap;position:relative;transition:color .2s}.tab-btn:hover{color:var(--color-accent)}.tab-btn.active{color:var(--color-accent);font-weight:600}.tab-btn.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--color-accent)}.tab-content{min-height:200px}.overview-section{padding:1rem;border-radius:8px;margin-bottom:1rem}.overview-section h4{margin:0 0 .5rem;font-size:1rem}.overview-section p{margin:0;font-size:.9rem;line-height:1.5}.overview-section.success{background:#d4edda;border-left:4px solid #28a745}.overview-section.success h4{color:#155724}.overview-section.warning{background:#fff3cd;border-left:4px solid #ffc107}.overview-section.warning h4{color:#856404}.overview-section.danger{background:#f8d7da;border-left:4px solid #dc3545}.overview-section.danger h4{color:#721c24}.overview-section.info{background:#e7f1ff;border-left:4px solid var(--color-accent)}.overview-section.info h4{color:#004085}.migrations-list,.conflicts-list,.nomatch-list,.users-list{display:flex;flex-direction:column;gap:.5rem}.migration-item{display:grid;grid-template-columns:150px 1fr 120px;align-items:center;gap:1rem;padding:.75rem;background:#f8f9fa;border-radius:6px;border-left:3px solid #28a745}.migration-user{font-weight:600;color:#2c3e50}.migration-details{display:flex;align-items:center;gap:.5rem;font-size:.85rem}.migration-details .label{color:#6c757d}.migration-arrow{color:var(--color-accent);font-weight:700}.migration-type{font-size:.8rem;padding:.25rem .5rem;background:var(--color-accent);color:#fff;border-radius:4px;text-align:center}.conflict-item{padding:1rem;background:#fff3cd;border-radius:8px;border-left:3px solid #ffc107}.conflict-header{display:flex;justify-content:space-between;margin-bottom:.5rem}.conflict-user{font-weight:600;color:#2c3e50}.conflict-type{font-size:.8rem;padding:.2rem .5rem;background:#856404;color:#fff;border-radius:4px}.conflict-details{display:flex;gap:1rem;font-size:.9rem;margin-bottom:.75rem}.conflict-reason{color:#856404;font-style:italic}.conflict-actions{display:flex;flex-direction:column;gap:.5rem;padding-top:.5rem;border-top:1px dashed #ffc107}.conflict-option{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9rem}.conflict-option input[type=radio]{accent-color:var(--color-accent)}.nomatch-item{display:grid;grid-template-columns:150px 1fr;gap:.5rem;padding:.75rem;background:#f8d7da;border-radius:6px;border-left:3px solid #dc3545}.nomatch-user{font-weight:600;color:#721c24}.nomatch-details{font-size:.9rem}.nomatch-type{margin-left:.5rem;font-size:.8rem;padding:.15rem .4rem;background:#721c24;color:#fff;border-radius:3px}.nomatch-reason{grid-column:1 / -1;font-size:.85rem;color:#721c24;font-style:italic}.user-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f8f9fa;border-radius:6px}.user-name{font-weight:600;color:#2c3e50}.user-stats{display:flex;gap:.5rem}.user-stat{font-size:.75rem;padding:.25rem .5rem;border-radius:4px}.user-stat.success{background:#d4edda;color:#155724}.user-stat.warning{background:#fff3cd;color:#856404}.user-stat.danger{background:#f8d7da;color:#721c24}.empty-message{text-align:center;color:#6c757d;font-style:italic;padding:2rem}@media(max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.migration-item{grid-template-columns:1fr;gap:.5rem}.migration-type{justify-self:start}.preview-header{flex-direction:column;gap:.5rem}.conflict-details{flex-direction:column;gap:.25rem}}@media(max-width:500px){.stats-grid{grid-template-columns:1fr 1fr}.stat-number{font-size:1.5rem}.preview-tabs{flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.tab-btn{padding:.5rem .75rem;font-size:.8rem}}.view-template-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:9999;animation:vtmFadeIn .2s ease-out;padding:1rem}@keyframes vtmFadeIn{0%{opacity:0}to{opacity:1}}.view-template-modal{background:#fff;border-radius:12px;width:100%;max-width:1100px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 40px #00000040;animation:vtmSlideUp .3s ease-out}@keyframes vtmSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.vtm-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #e9ecef;background:#f8f9fa;border-radius:12px 12px 0 0}.vtm-header-content{display:flex;align-items:center;gap:1rem}.vtm-header h2{margin:0;font-size:1.25rem;color:#2c3e50}.vtm-status-badge{padding:.375rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;letter-spacing:.5px}.vtm-status-badge.status-active{background:#d4edda;color:#155724}.vtm-status-badge.status-scheduled{background:#cce5ff;color:#004085}.vtm-status-badge.status-inactive{background:#f8f9fa;color:#6c757d}.vtm-close{background:none;border:none;font-size:1.75rem;color:#6c757d;cursor:pointer;padding:0;line-height:1;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s}.vtm-close:hover{background:#e9ecef;color:#333}.vtm-body{flex:1;overflow-y:auto;padding:1.5rem}.vtm-loading,.vtm-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center;gap:1rem}.vtm-spinner{width:40px;height:40px;border:3px solid #e9ecef;border-top-color:#4caf50;border-radius:50%;animation:vtmSpin .8s linear infinite}@keyframes vtmSpin{to{transform:rotate(360deg)}}.vtm-error-icon{font-size:2.5rem;color:#dc3545}.vtm-error p{color:#dc3545;margin:0}.vtm-info-section{background:#f8f9fa;border-radius:8px;padding:1.25rem;margin-bottom:1.5rem}.vtm-info-section h3{margin:0 0 1rem;font-size:1.15rem;color:#333}.vtm-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.75rem}.vtm-info-item{display:flex;flex-direction:column;gap:.25rem}.vtm-info-item.full-width{grid-column:1 / -1}.vtm-info-label{font-size:.8rem;color:#6c757d;font-weight:500}.vtm-info-value{font-size:.95rem;color:#333}.vtm-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem}.vtm-stat-card{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:#fff;border:1px solid #e0e0e0;border-radius:8px}.vtm-stat-icon{font-size:1.75rem}.vtm-stat-content{display:flex;flex-direction:column}.vtm-stat-value{font-size:1.25rem;font-weight:700;color:#333}.vtm-stat-label{font-size:.8rem;color:#6c757d}.vtm-week-section{margin-top:1rem}.vtm-week-section h4{margin:0 0 1rem;font-size:1rem;color:#333}.vtm-week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;overflow-x:auto}.vtm-day-column{min-width:130px}.vtm-day-header{display:flex;flex-direction:column;align-items:center;padding:.5rem;background:#f8f9fa;border-radius:6px 6px 0 0;border-bottom:2px solid #4CAF50}.vtm-day-abbr{font-size:1rem;font-weight:700;color:#4caf50}.vtm-day-name{font-size:.65rem;color:#666;text-transform:uppercase;letter-spacing:.5px}.vtm-day-slots{display:flex;flex-direction:column;gap:.5rem;padding:.5rem;background:#fafafa;border:1px solid #e0e0e0;border-top:none;border-radius:0 0 6px 6px;min-height:150px}.vtm-slot-card{background:#fff;border:1px solid #e0e0e0;border-radius:6px;padding:.5rem}.vtm-slot-name{font-weight:600;font-size:.85rem;color:#333;text-align:center;margin-bottom:.25rem}.vtm-slot-time{font-size:.7rem;color:#666;text-align:center;font-family:Courier New,monospace;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid #f0f0f0}.vtm-slot-behoeftes{display:flex;flex-direction:column;gap:.25rem}.vtm-behoefte{display:flex;flex-direction:column;padding:.375rem .5rem;background:#f8f9fa;border-radius:4px;border-left:3px solid #4CAF50}.vtm-behoefte-type{font-weight:600;font-size:.75rem;color:#333}.vtm-behoefte-details{font-size:.65rem;color:#666}.vtm-slot-empty{display:flex;align-items:center;justify-content:center;height:100%;min-height:100px;color:#adb5bd;font-size:.8rem;font-style:italic}.vtm-footer{padding:1rem 1.5rem;border-top:1px solid #e9ecef;background:#f8f9fa;border-radius:0 0 12px 12px;display:flex;justify-content:flex-end}.vtm-btn-close{background:#6c757d;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}.vtm-btn-close:hover{background:#5a6268}@media(max-width:992px){.vtm-week-grid{grid-template-columns:repeat(4,1fr)}.vtm-stats{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.view-template-modal{max-height:95vh}.vtm-week-grid{grid-template-columns:repeat(2,1fr)}.vtm-stats{grid-template-columns:1fr}.vtm-stat-card{padding:.75rem 1rem}}@media(max-width:480px){.view-template-modal-overlay{padding:.5rem}.vtm-header,.vtm-body{padding:1rem}.vtm-week-grid{grid-template-columns:1fr}}.client-info-flat{padding:0}.client-form-layout{display:grid;grid-template-columns:1fr 280px;gap:1.5rem;align-items:start}.client-form-main{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:1.25rem;display:flex;flex-direction:column;gap:.75rem}.client-form-sidebar{position:sticky;top:1rem}.ovo-card{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:1rem}.ovo-card h4{margin:0 0 .5rem;font-size:.95rem;font-weight:600;color:#2c3e50}.ovo-card .ovo-description{font-size:.8rem;color:#6c757d;margin:0 0 .75rem;line-height:1.4}.ovo-verplicht-toggle{display:flex;align-items:flex-start;gap:.5rem;padding:.6rem .75rem;background:#f8f9fa;border-radius:6px;margin-bottom:.75rem;cursor:pointer}.ovo-verplicht-toggle input[type=checkbox]{margin-top:.15rem;accent-color:var(--color-primary);width:16px;height:16px;flex-shrink:0;cursor:pointer}.ovo-verplicht-label{display:flex;flex-direction:column;gap:.15rem;font-size:.85rem;font-weight:500;color:#2c3e50}.ovo-verplicht-label small{font-size:.75rem;font-weight:400;color:#6c757d;line-height:1.3}.ovo-empty-compact{font-size:.8rem;color:#856404;background:#fff3cd;padding:.5rem .75rem;border-radius:6px;margin-bottom:.75rem;line-height:1.4}.ovo-card .ovo-current{background:#f8f9fa;border-radius:6px;padding:.75rem;margin-bottom:.75rem}.ovo-card .btn-upload-ovo{width:100%;padding:.5rem 1rem;font-size:.85rem}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start}.info-column{display:flex;flex-direction:column;gap:1rem}.info-card{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.info-card .card-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#f8f9fa;cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid #e9ecef}.info-card .card-header:hover{background:#f1f3f4}.info-card .card-header h3{margin:0;font-size:.95rem;font-weight:600;color:#2c3e50}.toggle-icon{font-size:1.2rem;color:#6c757d;font-weight:300}.info-card .card-body{padding:1rem}.compact-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:0}.compact-grid.three-col{grid-template-columns:2fr 1fr 1fr}.compact-grid.four-col{grid-template-columns:1fr 1fr 1fr 1fr}.compact-grid.name-row{grid-template-columns:auto 1fr}.field-aanhef{max-width:100px}.field-naam{flex:1}.field-group{display:flex;flex-direction:column;gap:.25rem}.field-group.full-width{grid-column:1 / -1}.field-group label{font-size:.8rem;font-weight:500;color:#6c757d}.field-group input,.field-group select,.field-group textarea{padding:.5rem .75rem;border:1px solid #dee2e6;border-radius:4px;font-size:.9rem;transition:border-color .2s}.field-group input:focus,.field-group select:focus,.field-group textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-alpha)}.field-group textarea{resize:vertical;min-height:60px}.sticky-save-bar{position:fixed;bottom:0;left:0;right:0;background:var(--color-accent-gradient);box-shadow:0 -4px 12px #00000026;z-index:100;padding:.75rem 1rem;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.sticky-save-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:1rem}.unsaved-indicator{color:#fff;background:#fff3;padding:.375rem .75rem;border-radius:4px;font-size:.85rem;font-weight:500}.loading-message{text-align:center;padding:2rem;color:#6c757d}.ovo-current{background:#f8f9fa;border-radius:6px;padding:1rem;margin-bottom:1rem}.ovo-file-info{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.ovo-file-icon{background:#e74c3c;color:#fff;font-size:.7rem;font-weight:700;padding:.25rem .5rem;border-radius:4px}.ovo-file-link{color:var(--color-primary);text-decoration:none;font-weight:500}.ovo-file-link:hover{text-decoration:underline}.ovo-note{font-size:.8rem;color:#856404;background:#fff3cd;padding:.5rem;border-radius:4px;margin:.5rem 0 0}.btn-upload-ovo{background:var(--color-primary-gradient);color:#fff;border:none;padding:.6rem 1.25rem;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-upload-ovo:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px #4dac964d}.btn-upload-ovo:disabled{opacity:.7;cursor:not-allowed}.avg-card{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:1rem;margin-top:1rem}.avg-card h4{margin:0 0 .5rem;font-size:.95rem;font-weight:600;color:#2c3e50}.avg-section{margin-bottom:.25rem}.avg-description{font-size:.8rem;color:#6c757d;margin:0 0 .5rem;line-height:1.4}.avg-warning-text{color:#856404}.avg-divider{border-top:1px solid #e9ecef;margin:.75rem 0}.avg-btn{width:100%;padding:.5rem 1rem;font-size:.82rem;font-weight:600;border:none;border-radius:6px;cursor:pointer;transition:all .2s}.avg-btn:disabled{opacity:.6;cursor:not-allowed}.avg-btn-inzage,.avg-btn-register{background:#f0f7f5;color:#2c7a5e;border:1px solid #c3e6d8}.avg-btn-inzage:hover:not(:disabled),.avg-btn-register:hover:not(:disabled){background:#e0f0eb}.avg-btn-delete{background:#fff5f5;color:#c0392b;border:1px solid #f5c6cb}.avg-btn-delete:hover:not(:disabled){background:#fde8e8}.avg-btn-cancel{background:#f8f9fa;color:#6c757d;border:1px solid #dee2e6}.avg-btn-cancel:hover:not(:disabled){background:#e9ecef}.avg-confirm-box{background:#fff8f0;border:1px solid #f5c6cb;border-radius:6px;padding:.75rem}.avg-confirm-text{font-size:.8rem;color:#495057;margin:0 0 .5rem}.avg-confirm-input{width:100%;padding:.4rem .6rem;font-size:.85rem;border:1px solid #dee2e6;border-radius:4px;margin-bottom:.5rem;box-sizing:border-box}.avg-confirm-input:focus{outline:none;border-color:#c0392b;box-shadow:0 0 0 2px #c0392b26}.avg-confirm-actions{display:flex;gap:.5rem}.avg-confirm-actions .avg-btn{flex:1;padding:.4rem .5rem;font-size:.78rem}@media(max-width:1100px){.client-form-layout{grid-template-columns:1fr}.client-form-sidebar{position:static}.info-grid{grid-template-columns:1fr}}@media(max-width:768px){.compact-grid.three-col,.compact-grid.four-col{grid-template-columns:1fr 1fr}.sticky-save-bar{padding:.5rem}.sticky-save-content{flex-direction:column;gap:.5rem}.unsaved-indicator{font-size:.75rem}}@media(max-width:500px){.compact-grid,.compact-grid.three-col,.compact-grid.four-col{grid-template-columns:1fr}}.client-medewerkers{padding:1.5rem}.medewerkers-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.medewerkers-header h2{margin:0;font-size:1.5rem;color:#2c3e50}.btn-add-user{padding:.75rem 1.5rem;background:var(--color-primary-gradient);color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #4dac964d}.btn-add-user:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #4dac9666}.btn-add-user:disabled{opacity:.5;cursor:not-allowed}.empty-state{text-align:center;padding:3rem 2rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014}.empty-state p{color:#6b7280;margin-bottom:1.5rem}.btn-primary{padding:.75rem 1.5rem;background:var(--color-primary-gradient);color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4dac9666}.medewerkers-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.medewerker-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000014;display:flex;gap:1rem;transition:all .3s ease}.medewerker-card:hover{box-shadow:0 4px 12px #0000001f}.medewerker-avatar{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:#fff;flex-shrink:0}.medewerker-info{flex:1}.medewerker-info h3{margin:0 0 .25rem;font-size:1.1rem;color:#2c3e50}.medewerker-email{margin:0 0 .5rem;font-size:.9rem;color:#6b7280}.medewerker-role{margin:0 0 .5rem}.role-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.role-badge.admin{background:#10b981;color:#fff}.role-badge.teamleider{background:#3b82f6;color:#fff}.role-badge.verzorger{background:#8b5cf6;color:#fff}.role-badge.planning{background:#f59e0b;color:#fff}.role-badge.huishouden{background:#ec4899;color:#fff}.role-badge.waken{background:#6366f1;color:#fff}.ovo-badge{display:inline-block;padding:.2rem .5rem;border-radius:8px;font-size:.65rem;font-weight:700;text-transform:uppercase;margin-left:.5rem}.ovo-badge.ovo-signed{background:#d1fae5;color:#065f46}.ovo-badge.ovo-badge-link{text-decoration:none;cursor:pointer;transition:all .2s ease}.ovo-badge.ovo-badge-link:hover{background:#a7f3d0;transform:scale(1.05);box-shadow:0 1px 4px #065f4633}.ovo-badge.ovo-not-signed{background:#fee2e2;color:#991b1b}.ovo-badge.ovo-pending{background:#fef3c7;color:#92400e}.medewerker-meta{margin:0;font-size:.8rem;color:#9ca3af}.medewerker-actions{display:flex;align-items:flex-start}.btn-remove{width:32px;height:32px;border-radius:50%;border:none;background:#fee2e2;color:#dc2626;font-size:1.2rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.btn-remove:hover:not(:disabled){background:#fecaca;transform:scale(1.1)}.btn-remove:disabled{opacity:.5;cursor:not-allowed}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:16px;max-width:600px;width:90%;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.modal-header{padding:1.5rem;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.modal-header h2{margin:0;font-size:1.5rem;color:#2c3e50}.btn-close{width:32px;height:32px;border-radius:50%;border:none;background:#f3f4f6;color:#6b7280;font-size:1.2rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.btn-close:hover:not(:disabled){background:#e5e7eb;color:#374151}.modal-body{padding:1.5rem;overflow-y:auto}.empty-note{text-align:center;color:#6b7280;padding:2rem}.available-users-list{display:flex;flex-direction:column;gap:1rem}.available-user-item{display:flex;align-items:center;gap:1rem;padding:1rem;border:1px solid #e5e7eb;border-radius:8px;transition:all .2s ease}.available-user-item:hover{border-color:var(--color-primary);background:#f8f9fa}.user-avatar{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:700;color:#fff;flex-shrink:0}.user-info{flex:1}.user-info h4{margin:0 0 .25rem;font-size:1rem;color:#2c3e50}.user-info p{margin:0 0 .25rem;font-size:.85rem;color:#6b7280}.btn-add{padding:.5rem 1rem;background:var(--color-primary-gradient);color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-add:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 8px #4dac964d}.btn-add:disabled{opacity:.5;cursor:not-allowed}.remove-dialog{max-width:500px}.modal-header-warning{background:#fef3c7;border-bottom-color:#fcd34d}.modal-header-warning h2{color:#92400e}.remove-intro{font-size:1rem;color:#374151;margin:0 0 1.5rem}.remove-section{background:#f9fafb;border-radius:8px;padding:1rem;margin-bottom:1rem}.remove-section h4{margin:0 0 .5rem;font-size:.95rem;color:#374151}.remove-section p{margin:0;font-size:.9rem;color:#6b7280}.remove-warning{color:#dc2626!important;font-weight:500;margin-bottom:.75rem!important}.diensten-lijst{display:flex;flex-direction:column;gap:.5rem;max-height:200px;overflow-y:auto}.dienst-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:#fff;border-radius:6px;border:1px solid #e5e7eb;font-size:.85rem}.dienst-datum{font-weight:600;color:#374151;min-width:100px}.dienst-type{color:#6b7280;flex:1}.dienst-tijd{color:#9ca3af;font-size:.8rem}.declaratie-warning{background:#fef3c7;border:1px solid #fcd34d}.declaratie-warning h4,.declaratie-warning p{color:#92400e}.remove-info{background:#dbeafe;border:1px solid #93c5fd}.remove-info p{color:#1e40af;margin:0}.modal-footer{padding:1rem 1.5rem;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:.75rem}.btn-secondary{padding:.625rem 1.25rem;background:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-secondary:hover:not(:disabled){background:#e5e7eb}.btn-danger{padding:.625rem 1.25rem;background:#dc2626;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-danger:disabled,.btn-secondary:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.medewerkers-header{flex-direction:column;align-items:stretch;gap:1rem}.medewerkers-list{grid-template-columns:1fr}.modal-content{width:95%;max-height:90vh}.dienst-item{flex-wrap:wrap}.dienst-datum{min-width:auto}}.budget-period-overview{display:flex;flex-direction:column;gap:1.5rem}.budget-period-overview .loading-message{padding:3rem;text-align:center;font-size:1.25rem;color:#666}.budget-overview-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.budget-overview-header h2{margin:0;font-size:1.5rem;color:#333}.budget-overview-header .btn-primary{background:#4caf50;color:#fff;border:none;padding:.75rem 1.25rem;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.budget-overview-header .btn-primary:hover{background:#45a049;transform:translateY(-1px);box-shadow:0 4px 8px #4caf504d}.no-budget-message{padding:3rem;text-align:center;background:#fff;border-radius:8px;border:2px dashed #ddd}.no-budget-message p{font-size:1.1rem;color:#666;margin:0}.budget-periods-list{display:flex;flex-direction:column;gap:1rem}.budget-period-card{background:#fff;border-radius:8px;border:1px solid #e0e0e0;overflow:hidden;transition:all .2s}.budget-period-card:hover{box-shadow:0 4px 12px #00000014}.budget-period-card.status-active{border-left:4px solid #4CAF50;background:linear-gradient(to right,#f0fdf4,#fff)}.budget-period-card.status-scheduled{border-left:4px solid #3498db;background:linear-gradient(to right,#eff6ff,#fff)}.budget-period-card.status-inactive{border-left:4px solid #9ca3af;background:linear-gradient(to right,#fff1f2,#fff);opacity:.85}.budget-card-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid #f0f0f0;flex-wrap:wrap;gap:.5rem}.budget-status-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;border-radius:6px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.budget-status-badge.status-active{background:#dcfce7;color:#166534;border:1px solid #86efac}.budget-status-badge.status-scheduled{background:#dbeafe;color:#1e40af;border:1px solid #93c5fd}.budget-status-badge.status-inactive{background:#f3f4f6;color:#4b5563;border:1px solid #d1d5db}.status-icon{font-size:.8rem}.budget-date-range{font-size:.9rem;color:#666;font-weight:500}.budget-card-body{padding:1.25rem}.budget-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;margin-bottom:1rem}.budget-stat{display:flex;justify-content:space-between;align-items:center;padding:.625rem .875rem;background:#f8f9fa;border-radius:6px}.stat-label{color:#666;font-size:.85rem}.stat-value{font-weight:600;color:#333;font-size:.95rem}.budget-reden{padding:.75rem;background:#f8f9fa;border-radius:6px;font-size:.9rem;color:#555;margin-bottom:1rem}.reden-label{font-weight:600;color:#333}.budget-calculation-section{margin-top:1rem;padding-top:1rem;border-top:1px solid #e0e0e0}.calculation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.calculation-title{font-weight:600;font-size:1rem;color:#333}.progress-item{margin-bottom:1rem}.progress-item:last-of-type{margin-bottom:.5rem}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}.progress-label{font-weight:500;color:#333;font-size:.9rem}.progress-value{font-weight:700;font-size:.95rem}.progress-bar{height:22px;background:#e9ecef;border-radius:11px;overflow:hidden;position:relative}.progress-fill{height:100%;transition:all .3s ease;border-radius:11px}.budget-warning{margin-top:.75rem;padding:.75rem 1rem;background:#fff3cd;border-left:4px solid var(--color-admin);border-radius:4px;color:#856404;font-weight:500;font-size:.9rem}.budget-warning.critical{background:#fee2e2;border-left-color:#e74c3c;color:#991b1b}.no-template-warning{padding:.75rem 1rem;background:#e0f2fe;border-left:4px solid #3498db;border-radius:4px;color:#0369a1;font-size:.9rem;margin-top:.5rem}.budget-card-actions{display:flex;gap:.5rem;padding:.75rem 1.25rem;background:#fafafa;border-top:1px solid #f0f0f0}.budget-action-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem .875rem;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid}.budget-action-btn .action-icon{font-size:.9rem}.budget-action-btn .action-text{font-size:.8rem}.budget-action-btn.edit{background:#fff;border-color:#3498db;color:#3498db}.budget-action-btn.edit:hover{background:#eff6ff;transform:translateY(-1px)}.budget-action-btn.delete{background:#fff;border-color:#e74c3c;color:#e74c3c}.budget-action-btn.delete:hover{background:#fef2f2;transform:translateY(-1px)}@media(max-width:768px){.budget-overview-header{flex-direction:column;align-items:stretch}.budget-overview-header h2{text-align:center}.budget-overview-header .btn-primary{width:100%;text-align:center}.budget-card-header{flex-direction:column;align-items:flex-start}.budget-stats-grid{grid-template-columns:1fr}.progress-header{flex-direction:column;align-items:flex-start;gap:.25rem}.budget-card-actions{flex-wrap:wrap}.budget-action-btn{flex:1;justify-content:center;min-width:100px}}@media(max-width:480px){.budget-stat{flex-direction:column;align-items:flex-start;gap:.25rem}.stat-value{font-size:1rem}}.admin-client-beheer{min-height:100vh;min-width:100vw;width:100%;background:#f5f5f5;padding-bottom:3rem;box-sizing:border-box}.page-header{background:#fff;padding:1.5rem 2rem;box-shadow:0 2px 4px #0000001a;margin-bottom:0}.page-header .btn-back{background:transparent;border:1px solid #ddd;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.95rem;color:#666;transition:all .2s;margin-bottom:1rem}.page-header .btn-back:hover{background:#f5f5f5;border-color:#ccc}.header-title h1{margin:0 0 .25rem;font-size:1.75rem;color:#333}.client-location{margin:0;font-size:.95rem;color:#666}.tabs-container{background:#fff;display:flex;gap:0;border-bottom:2px solid #e0e0e0;padding:0 2rem}.tab{background:transparent;border:none;padding:1rem 1.5rem;font-size:1rem;font-weight:500;color:#666;cursor:pointer;border-bottom:3px solid transparent;transition:all .2s;display:flex;align-items:center;gap:.5rem}.tab:hover{color:#333;background:#f8f8f8}.tab.active{color:#4caf50;border-bottom-color:#4caf50}.tab-icon{font-size:1.1rem}.tab-content{margin:0 auto;padding:2rem}.tab-panel{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 4px #0000001a}.tab-panel h2{margin:0 0 1rem;font-size:1.5rem;color:#333}.preview-note{padding:3rem;text-align:center;font-size:1.25rem;color:#999;border:2px dashed #ddd;border-radius:8px;margin:2rem 0}@media(max-width:768px){.tabs-container{overflow-x:auto;padding:0 1rem}.tab{white-space:nowrap;padding:.75rem 1rem;font-size:.9rem}.tab-content{padding:1rem}.tab-panel{padding:1.5rem}}.user-management{padding:0 var(--spacing-xl) var(--spacing-xl) var(--spacing-xl);max-width:1400px;margin:0 auto}.page-header{margin-bottom:var(--spacing-xl)}.btn-back{background:none;border:none;color:var(--color-primary);font-size:var(--font-size-md);cursor:pointer;padding:var(--spacing-sm) 0;margin-bottom:var(--spacing-md);display:inline-flex;align-items:center;gap:var(--spacing-xs)}.btn-back:hover{color:var(--color-primary-hover)}.header-content{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-lg)}.header-content h1{margin:0 0 var(--spacing-xs) 0}.subtitle{color:var(--color-text-muted);margin:0}.filters-bar{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);align-items:center;flex-wrap:wrap;padding:var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--radius-md)}.search-box{flex:0 0 auto;width:220px}.filter-group{display:flex;gap:var(--spacing-sm);margin-left:auto}.users-table-container{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.users-table{width:100%;border-collapse:collapse}.users-table thead{background:var(--color-bg-secondary)}.users-table th{padding:var(--spacing-md) var(--spacing-lg);text-align:left;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.users-table td{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--color-border-light)}.users-table tbody tr{transition:background-color var(--transition-base)}.users-table tbody tr:hover{background:var(--color-bg-secondary)}.users-table tbody tr.inactive-row{opacity:.6}.user-name{font-weight:var(--font-weight-medium)}.name-with-avatar{display:flex;align-items:center;gap:var(--spacing-sm)}.user-avatar{width:32px;height:32px;border-radius:var(--radius-full);background:var(--color-accent-gradient);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm)}.role-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.badge-admin{background:#10b981;color:#fff}.badge-teamleider{background:#3b82f6;color:#fff}.badge-verzorger{background:#8b5cf6;color:#fff}.badge-planning{background:#f59e0b;color:#fff}.badge-huishouden{background:#ec4899;color:#fff}.badge-waken{background:#6366f1;color:#fff}.badge-default{background:var(--color-neutral-200);color:var(--color-text)}.status-pending{background:#fef3c7;color:#92400e}.pending-invite-row{background:#fffbeb!important;border-left:4px solid #f59e0b}.pending-invite-row:hover{background:#fef3c7!important}.pending-avatar{background:linear-gradient(135deg,#f59e0b,#d97706)!important;font-size:1.2rem}.pending-info{font-style:italic}.pending-label{color:#92400e;font-weight:var(--font-weight-medium);font-size:var(--font-size-sm)}.btn-resend-invite{padding:var(--spacing-sm) var(--spacing-md);background:#f59e0b;color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;gap:var(--spacing-xs)}.btn-resend-invite:hover{background:#d97706;transform:translateY(-2px);box-shadow:0 2px 8px #f59e0b4d}.btn-delete-invite{padding:var(--spacing-sm);background:#fee2e2;color:#dc2626;border:1px solid #fecaca;border-radius:var(--radius-md);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-base)}.btn-delete-invite:hover{background:#dc2626;color:#fff;border-color:#dc2626}.clients-cell{min-width:200px}.clients-list{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);align-items:center}.client-badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:#e0e7ff;color:#3730a3;border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.btn-remove-client{background:none;border:none;color:#3730a3;font-size:1.2rem;line-height:1;cursor:pointer;padding:0;margin-left:var(--spacing-xs);transition:all var(--transition-base)}.btn-remove-client:hover{color:#dc2626;transform:scale(1.2)}.no-clients{color:var(--color-text-muted);font-size:var(--font-size-sm);font-style:italic}.client-assign-select{padding:var(--spacing-xs) var(--spacing-sm);border:1px dashed var(--color-border);border-radius:var(--radius-sm);background:#fff;font-size:var(--font-size-sm);cursor:pointer;color:#333;font-weight:var(--font-weight-medium)}.client-assign-select:hover{border-color:#666;background:#f9f9f9}@media(max-width:768px){.user-management{padding:var(--spacing-md)}.header-content{flex-direction:column;align-items:stretch}.filters-bar{flex-direction:column}.users-table-container{overflow-x:auto}.users-table{min-width:800px}}.color-cell{padding:var(--spacing-md) var(--spacing-sm)!important}.color-display{display:flex;align-items:center;gap:var(--spacing-sm)}.color-swatch{width:32px;height:32px;border:2px solid var(--color-border);border-radius:var(--radius-sm);flex-shrink:0}.color-value{font-family:Courier New,monospace;font-size:.85rem;color:var(--color-text-muted);min-width:70px}.create-dienst-type-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.create-dienst-type-form.compact{gap:var(--spacing-md)}.form-row{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-row-group{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.form-label{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-text);margin-bottom:var(--spacing-xs)}.icon-picker-toggle{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);width:100%}.icon-picker-toggle:hover{border-color:var(--color-primary);background:#fff}.icon-picker-current{font-size:1.4rem;color:var(--color-primary);display:flex;align-items:center}.icon-picker-arrow{margin-left:auto;font-size:.9rem;color:var(--color-text-muted);transition:transform .2s}.icon-picker-arrow.open{transform:rotate(90deg)}.icon-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:var(--spacing-xs);padding:var(--spacing-sm);background:var(--color-bg-secondary);border-radius:var(--radius-md);border:1px solid var(--color-border)}.icon-option{width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;background:#fff;border:2px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-base);color:var(--color-text-muted)}.icon-option:hover{border-color:var(--color-primary);color:var(--color-primary);transform:scale(1.05)}.icon-option.icon-selected{border-color:var(--color-primary);background:var(--color-primary);color:#fff;box-shadow:var(--shadow-md);transform:scale(1.1)}.color-picker-container{display:flex;align-items:center;gap:var(--spacing-md)}.color-input{width:50px;height:40px;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;padding:2px}.color-preview-large{width:60px;height:44px;border-radius:var(--radius-md);border:2px solid var(--color-border);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:var(--shadow-sm)}.icon-preview{font-size:1.6rem;color:#fff;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.calculated-preview{padding:var(--spacing-md);background:#e0f2fe;border-left:4px solid #0284c7;border-radius:var(--radius-sm);font-size:var(--font-size-base);color:#0c4a6e}.calculated-preview strong{font-weight:var(--font-weight-semibold)}.edit-tabs{display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-md);border-bottom:2px solid var(--color-border)}.tab-button{padding:var(--spacing-sm) var(--spacing-lg);background:none;border:none;border-bottom:3px solid transparent;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-base);margin-bottom:-2px}.tab-button:hover{color:var(--color-primary);background:var(--color-bg-secondary)}.tab-button.tab-active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:var(--font-weight-semibold)}.tariff-info{padding:var(--spacing-lg);background:var(--color-bg-secondary);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg)}.tariff-info h4{margin:0 0 var(--spacing-md) 0;color:var(--color-text-muted);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.5px}.current-tariff{display:flex;flex-direction:column;gap:var(--spacing-sm)}.tariff-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm);background:#fff;border-radius:var(--radius-sm)}.tariff-label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.tariff-value{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text)}.tariff-value.tariff-effective{color:var(--color-primary);font-size:var(--font-size-xl)}.tariff-warning{padding:var(--spacing-md);background:#fef3c7;border-left:4px solid #f59e0b;border-radius:var(--radius-sm);margin-bottom:var(--spacing-lg);font-size:var(--font-size-sm);color:#78350f}.tariff-warning strong{display:block;margin-bottom:var(--spacing-xs)}@media(max-width:768px){.form-row-group{grid-template-columns:1fr}.icon-picker{grid-template-columns:repeat(auto-fill,minmax(50px,1fr))}.icon-option{width:50px;height:50px;font-size:1.5rem}.color-picker-container{flex-wrap:wrap}.edit-tabs{flex-direction:column}.tab-button{border-bottom:none;border-left:3px solid transparent}.tab-button.tab-active{border-left-color:var(--color-primary);border-bottom-color:transparent}}.dienst-types-management{padding:0 var(--spacing-xl) var(--spacing-xl) var(--spacing-xl);max-width:1400px;margin:0 auto}.filters-bar{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--radius-md)}.search-box{flex:1}.search-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-base)}.filter-group{display:flex;gap:var(--spacing-sm)}.filter-select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;font-size:var(--font-size-base);cursor:pointer}.types-table-container{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.types-table{width:100%;border-collapse:collapse}.types-table thead{background:var(--color-bg-secondary)}.types-table th{padding:var(--spacing-md) var(--spacing-lg);text-align:left;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.types-table td{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--color-border-light);vertical-align:middle}.types-table tbody tr{transition:background-color var(--transition-base)}.types-table tbody tr:hover{background:var(--color-bg-secondary)}.types-table tbody tr.inactive-row{opacity:.6}.icon-cell{font-size:1.5rem;color:var(--color-primary);display:flex;align-items:center;justify-content:center;width:40px;height:40px}.color-preview{width:60px;height:32px;border-radius:var(--radius-sm);border:2px solid var(--color-border);display:flex;align-items:center;justify-content:center;position:relative;box-shadow:var(--shadow-sm)}.color-code{font-size:var(--font-size-xs);font-family:monospace;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5);font-weight:var(--font-weight-semibold)}.type-name{min-width:200px}.type-name strong{display:block;margin-bottom:var(--spacing-xs)}.type-description{font-size:var(--font-size-sm);color:var(--color-text-muted);font-style:italic}.percentage-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);background:var(--color-bg-secondary);color:var(--color-text)}.percentage-badge.percentage-special{background:#fef3c7;color:#92400e}.calculated-rate{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--spacing-xs);font-style:italic}.usage-count{font-size:var(--font-size-sm);color:var(--color-text-muted)}.status-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.status-active{background:#d1fae5;color:#065f46}.status-inactive{background:#fee2e2;color:#991b1b}.actions-cell{display:flex;gap:var(--spacing-xs)}.btn-icon{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:all var(--transition-base)}.btn-icon:hover{background:var(--color-bg-secondary);transform:scale(1.1)}.empty-state{text-align:center;padding:var(--spacing-3xl)!important;color:var(--color-text-muted)}.loading-state{text-align:center;padding:var(--spacing-3xl)}.spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:var(--radius-full);animation:spin .8s linear infinite;margin:0 auto var(--spacing-md)}@media(max-width:768px){.dienst-types-management{padding:var(--spacing-md)}.header-content{flex-direction:column;align-items:stretch}.filters-bar{flex-direction:column}.types-table-container{overflow-x:auto}.types-table{min-width:800px}}.system-settings{padding:0 var(--spacing-xl) var(--spacing-xl) var(--spacing-xl);max-width:1200px;margin:0 auto}.page-header{display:flex;align-items:center;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.page-header h1{margin:0;font-size:var(--font-size-2xl);color:var(--color-text)}.btn-back{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-base)}.btn-back:hover{background:var(--color-border);color:var(--color-text)}.loading-message{text-align:center;padding:var(--spacing-xl);font-size:var(--font-size-lg);color:var(--color-text-muted)}.modifications-banner{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);background:#fef3c7;border-left:4px solid #f59e0b;border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.modifications-banner span{font-weight:var(--font-weight-semibold);color:#78350f}.banner-actions{display:flex;gap:var(--spacing-sm)}.settings-container{display:flex;flex-direction:column;gap:var(--spacing-xl)}.settings-category{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.category-header{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--color-bg-secondary);border-bottom:2px solid var(--color-border)}.category-icon{font-size:1.8rem}.category-header h2{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text)}.settings-list{display:flex;flex-direction:column}.setting-item{display:grid;grid-template-columns:1fr auto;gap:var(--spacing-lg);padding:var(--spacing-lg);border-bottom:1px solid var(--color-border);transition:background var(--transition-base)}.setting-item:last-child{border-bottom:none}.setting-item:hover{background:var(--color-bg-secondary)}.setting-item.setting-modified{background:#fef3c7;border-left:4px solid #f59e0b}.setting-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.setting-label{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text);display:flex;align-items:center;gap:var(--spacing-sm)}.setting-key{font-size:var(--font-size-sm);font-family:Courier New,monospace;color:var(--color-text-muted)}.setting-hint{font-size:var(--font-size-xs);color:var(--color-text-muted);font-style:italic}.badge-readonly{padding:2px 8px;background:var(--color-border);color:var(--color-text-muted);font-size:var(--font-size-xs);border-radius:var(--radius-sm);font-weight:var(--font-weight-normal)}.setting-input{display:flex;align-items:center;min-width:200px}.input-modified{border-color:#f59e0b!important;box-shadow:0 0 0 3px #f59e0b1a!important}.toggle-container{position:relative;display:flex;align-items:center;gap:var(--spacing-md);cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-container input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.toggle-slider{position:relative;width:48px;height:24px;background:var(--color-border);border-radius:24px;transition:background var(--transition-base)}.toggle-slider:before{content:"";position:absolute;width:20px;height:20px;left:2px;top:2px;background:#fff;border-radius:50%;transition:transform var(--transition-base);box-shadow:var(--shadow-sm)}.toggle-container input:checked+.toggle-slider{background:var(--color-primary)}.toggle-container input:checked+.toggle-slider:before{transform:translate(24px)}.toggle-container input:disabled+.toggle-slider{opacity:.5;cursor:not-allowed}.toggle-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text);min-width:40px}.color-picker-container{display:flex;align-items:center;gap:var(--spacing-sm)}.color-picker-input{width:48px;height:36px;padding:2px;border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;background:none}.color-picker-input::-webkit-color-swatch-wrapper{padding:2px}.color-picker-input::-webkit-color-swatch{border:none;border-radius:var(--radius-sm)}.color-hex-label{font-size:var(--font-size-sm);color:var(--color-text);background:var(--color-bg-secondary);padding:4px 8px;border-radius:var(--radius-sm);border:1px solid var(--color-border);min-width:70px;text-align:center}.settings-footer{display:flex;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-lg);background:var(--color-bg-secondary);border-top:2px solid var(--color-border);border-radius:var(--radius-md);margin-top:var(--spacing-lg);position:sticky;bottom:0;z-index:10}@media(max-width:768px){.system-settings{padding:var(--spacing-md)}.page-header{flex-direction:column;align-items:flex-start}.modifications-banner{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.banner-actions{width:100%}.banner-actions button{flex:1}.setting-item{grid-template-columns:1fr;gap:var(--spacing-md)}.setting-input{width:100%}.settings-footer{flex-direction:column}.settings-footer button{width:100%}}.invite-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-accent-gradient);padding:var(--spacing-xl)}.invite-card{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-width:600px;width:100%;padding:var(--spacing-3xl)}.invite-header{text-align:center;margin-bottom:var(--spacing-2xl)}.invite-icon{font-size:4rem;margin-bottom:var(--spacing-md)}.error-icon{font-size:4rem;margin-bottom:var(--spacing-md);text-align:center}.invite-header h1{margin:0 0 var(--spacing-sm) 0;color:var(--color-text)}.invite-subtitle{color:var(--color-text-muted);font-size:var(--font-size-lg)}.invite-details{background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border-light)}.detail-row:last-child{border-bottom:none}.detail-row .label{font-weight:var(--font-weight-semibold);color:var(--color-text-muted)}.detail-row .value{font-weight:var(--font-weight-medium)}.detail-row .role-badge{background:var(--color-primary);color:#fff;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);font-size:var(--font-size-sm)}.invite-steps{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:var(--spacing-xl)}.invite-step{display:flex;flex-direction:column;align-items:center;gap:.3rem;opacity:.4}.invite-step.active,.invite-step.completed{opacity:1}.step-number{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.85rem;background:#e5e7eb;color:#6b7280}.invite-step.active .step-number{background:var(--color-primary);color:#fff}.invite-step.completed .step-number{background:#10b981;color:#fff}.step-label{font-size:.7rem;color:#6b7280;font-weight:500}.invite-step.active .step-label{color:var(--color-primary);font-weight:600}.invite-step.completed .step-label{color:#10b981}.step-connector{flex:0 0 40px;height:2px;background:#e5e7eb;margin:0 .25rem 1.2rem}.invite-loading{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;color:var(--color-text-muted)}.invite-loading .loading-spinner{width:24px;height:24px;margin:0}.invite-info{background:#fef3c7;border-left:4px solid #f59e0b;padding:var(--spacing-md);border-radius:var(--radius-sm);margin-bottom:var(--spacing-xl)}.invite-info p{margin:0;color:#78350f}.invite-actions{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.invite-actions .btn{width:100%;justify-content:center}.google-icon{font-size:1.2rem}.invite-expires{text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.loading-spinner{width:50px;height:50px;border:4px solid var(--color-border);border-top-color:var(--color-primary);border-radius:var(--radius-full);animation:spin .8s linear infinite;margin:0 auto var(--spacing-md)}.privacy-content h3{margin-top:0;color:var(--color-primary)}.privacy-section{margin:var(--spacing-lg) 0}.privacy-section h4{margin:var(--spacing-md) 0 var(--spacing-sm) 0;color:var(--color-text)}.privacy-section ul{list-style:disc;padding-left:var(--spacing-xl);margin:var(--spacing-sm) 0}.privacy-section li{margin:var(--spacing-xs) 0;color:var(--color-text)}.privacy-footer{background:var(--color-bg-secondary);padding:var(--spacing-md);border-radius:var(--radius-sm);margin-top:var(--spacing-xl);text-align:center}.privacy-footer p{margin:0}@media(max-width:768px){.invite-page{padding:var(--spacing-md)}.invite-card{padding:var(--spacing-xl)}.invite-icon,.error-icon{font-size:3rem}}.user-dashboard{min-height:100vh;background:#f5f7fa;padding:1rem 2rem 2rem}.dashboard-header{margin-bottom:2rem}.dashboard-header .btn-back{background:#fff;border:1px solid #e0e0e0;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:.95rem;color:var(--color-accent);margin-bottom:1rem;transition:all .2s}.dashboard-header .btn-back:hover{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.dashboard-header .header-content h1{font-size:2rem;color:#2c3e50;margin:0 0 .5rem}.dashboard-header .welcome-text{color:#7f8c8d;font-size:1.1rem;margin:0}.dashboard-profile-header{background:var(--color-accent-gradient);border-radius:12px;padding:1.25rem 1.5rem;display:flex;align-items:center;gap:1.25rem;margin-bottom:1.5rem;box-shadow:0 4px 20px #667eea4d}.profile-avatar{width:100px;height:100px;border-radius:50%;background:#fff;color:var(--color-accent);display:flex;align-items:center;justify-content:center;font-size:2.5rem;font-weight:700;flex-shrink:0;overflow:hidden}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-info{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;color:#fff}.profile-info h2{margin:0;font-size:1.35rem;font-weight:600}.user-email{opacity:.9;font-size:.9rem}.user-role-badge{margin-top:.25rem;padding:.2rem .6rem;background:#fff3;border-radius:12px;font-size:.7rem;text-transform:uppercase;letter-spacing:.5px}.profile-actions{display:flex;gap:.5rem;align-self:flex-start;flex-shrink:0}.btn-admin-profile{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:600;transition:all .2s;white-space:nowrap}.btn-admin-profile:hover{background:#ffffff4d}.btn-logout-profile{background:#e74c3c;border:none;color:#fff;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:600;transition:all .2s;white-space:nowrap}.btn-logout-profile:hover{background:#c0392b}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.dashboard-card{background:#fff;border-radius:12px;padding:1.25rem 1.5rem;box-shadow:0 2px 8px #00000014;cursor:pointer;transition:all .3s;display:flex;flex-direction:column;align-items:flex-start}.dashboard-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000026}.card-title-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.card-icon{font-size:1.5rem;line-height:1;flex-shrink:0}.dashboard-card h3{margin:0;font-size:1.5rem;color:#2c3e50}.dashboard-card p{margin:0 0 .75rem;color:#7f8c8d;font-size:.9rem;flex-grow:1}.btn-card-action{background:var(--color-accent);color:#fff;border:none;padding:.5rem 1.25rem;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:600;transition:all .2s;width:100%}.btn-card-action:hover{background:var(--color-accent-dark);transform:translate(4px)}@media(max-width:768px){.user-dashboard{padding:.5rem}.dashboard-profile-header{padding:1rem;margin-bottom:1rem;gap:1rem}.profile-avatar{width:56px;height:56px;font-size:1.5rem}.profile-info{gap:.125rem}.profile-info h2{font-size:1.1rem}.user-email{font-size:.8rem}.user-role-badge{font-size:.625rem;padding:.15rem .5rem}.profile-actions{gap:.375rem}.btn-admin-profile,.btn-logout-profile{padding:.375rem .75rem;font-size:.8rem}.dashboard-grid{grid-template-columns:1fr;gap:.75rem}.dashboard-card{padding:1rem;flex-direction:row;align-items:center;gap:1rem}.card-icon{font-size:1.5rem;flex-shrink:0}.card-title-row{flex:1;margin-bottom:0}.dashboard-card h3{font-size:1.1rem;margin-bottom:0;flex:1}.dashboard-card p{display:none}.btn-card-action{padding:.5rem 1rem;font-size:.85rem;width:auto;white-space:nowrap;flex-shrink:0}}@media(max-width:480px){.user-dashboard{padding:.25rem}.dashboard-profile-header{padding:.75rem;border-radius:10px;gap:.75rem}.profile-avatar{width:48px;height:48px;font-size:1.25rem}.profile-info h2{font-size:1rem}.user-email{font-size:.75rem}.btn-admin-profile,.btn-logout-profile{padding:.3rem .6rem;font-size:.75rem}.dashboard-card{padding:.875rem;border-radius:10px}.card-icon{font-size:1.25rem}.dashboard-card h3{font-size:1rem}.btn-card-action{padding:.5rem .875rem;font-size:.8rem}}.user-profile{min-height:100vh;background:#f5f7fa;padding:0 2rem 2rem}.profile-header{margin-bottom:2rem}.profile-header .btn-back{background:#fff;border:1px solid #e0e0e0;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:.95rem;color:var(--color-accent);margin-bottom:1rem;transition:all .2s}.profile-header .btn-back:hover{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.profile-header h1{font-size:2rem;color:#2c3e50;margin:0}.profile-content{display:flex;flex-direction:column;gap:1.5rem;max-width:960px;margin:0 auto}.profile-card{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #00000014}.profile-card h2{margin:0 0 1.5rem;font-size:1.5rem;color:#2c3e50}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.card-header h2{margin:0}.btn-edit{background:var(--color-accent);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .2s}.btn-edit:hover{background:var(--color-accent-dark)}.photo-section{display:flex;align-items:center;gap:2rem}.photo-preview{width:150px;height:150px;border-radius:50%;overflow:hidden;border:4px solid var(--color-accent);flex-shrink:0}.photo-preview img{width:100%;height:100%;object-fit:cover}.photo-placeholder{width:100%;height:100%;background:var(--color-accent-gradient);display:flex;align-items:center;justify-content:center;font-size:4rem;font-weight:700;color:#fff}.photo-actions{display:flex;flex-direction:column;gap:.75rem}.btn-select-photo,.btn-upload-photo{background:var(--color-accent);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:600;transition:all .2s;text-align:center}.btn-select-photo:hover,.btn-upload-photo:hover{background:var(--color-accent-dark)}.btn-upload-photo{background:#27ae60}.btn-upload-photo:hover{background:#229954}.profile-info{display:flex;flex-direction:column;gap:1rem}.info-row{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f8f9fa;border-radius:8px}.info-label{font-weight:600;color:#7f8c8d;min-width:120px}.info-value{color:#2c3e50;font-weight:500}.color-display{display:flex;align-items:center;gap:.75rem}.color-display span{color:#6c757d;font-family:monospace}.color-box{width:40px;height:40px;border-radius:6px;border:2px solid #e0e0e0}.profile-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:#2c3e50;font-size:.95rem}.form-group input[type=text],.form-group input[type=email],.form-group input[type=password]{padding:.75rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:all .2s}.form-group input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-alpha)}.email-readonly{display:flex;flex-direction:column;gap:.5rem}.email-readonly input{background:#f8f9fa;cursor:not-allowed;opacity:.7}.readonly-hint{font-size:.85rem;color:#7f8c8d;font-style:italic}.color-picker{display:flex;align-items:center;gap:1rem}.color-picker input[type=color]{width:60px;height:40px;border:2px solid #e0e0e0;border-radius:6px;cursor:pointer}.color-value{font-family:monospace;color:#7f8c8d;font-size:.95rem}.form-actions{display:flex;gap:1rem;margin-top:.5rem}.btn-cancel,.btn-save{flex:1;padding:.875rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-cancel{background:#ecf0f1;color:#7f8c8d}.btn-cancel:hover{background:#d5dbdb}.btn-save{background:var(--color-accent);color:#fff}.btn-save:hover{background:var(--color-accent-dark)}.password-info{color:#7f8c8d;font-style:italic;margin:0}.form-section-title,.info-section-title{font-size:1.15rem;font-weight:600;color:#2c3e50;margin:.75rem 0 0;padding-top:1rem;border-top:1px solid #e0e0e0}.form-row{display:flex;gap:1rem}.form-row .form-group{flex:1}.info-empty{color:#bdc3c7;font-style:italic;font-weight:400}.ovo-list{display:flex;flex-direction:column;gap:.75rem}.ovo-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f8f9fa;border-radius:8px;border:1px solid #e0e0e0;gap:1rem}.ovo-item-info{display:flex;flex-direction:column;gap:.25rem;min-width:0}.ovo-client-name{font-weight:600;color:#2c3e50;font-size:.95rem}.ovo-meta{font-size:.82rem;color:#7f8c8d}.ovo-item-actions{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.ovo-item-status{font-size:.78rem;font-weight:600;padding:.25rem .6rem;border-radius:12px;white-space:nowrap}.ovo-item-status.status-actief{background:#d4edda;color:#155724}.ovo-item-status.status-archief{background:#e9ecef;color:#6c757d}.ovo-item-download{display:inline-block;background:var(--color-accent);color:#fff;text-decoration:none;padding:.4rem .85rem;border-radius:6px;font-size:.82rem;font-weight:600;transition:all .2s;white-space:nowrap}.ovo-item-download:hover{background:var(--color-accent-dark)}.absence-form{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:#f8f9fa;border-radius:8px;margin-bottom:1rem}.absence-form select{padding:.75rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;background:#fff;transition:all .2s}.absence-form select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-alpha)}.absence-form input[type=date]{padding:.75rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:all .2s}.absence-form input[type=date]:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-alpha)}.absence-sick-notice{margin:0;padding:.5rem .75rem;background:#fff3cd;border-radius:6px;font-size:.85rem;color:#856404;border-left:3px solid #ffc107}.absence-list{display:flex;flex-direction:column;gap:.5rem}.absence-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#f8f9fa;border-radius:8px;border:1px solid #e0e0e0;gap:.75rem}.absence-item.absence-past{opacity:.5}.absence-item.absence-current{border-color:var(--color-accent);background:#f0faf7}.absence-item-info{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;min-width:0}.absence-reden{font-size:.78rem;font-weight:600;padding:.2rem .6rem;border-radius:12px;white-space:nowrap}.absence-reden-vakantie{background:#d4edda;color:#155724}.absence-reden-ziek{background:#f8d7da;color:#721c24}.absence-reden-overig{background:#e2e3e5;color:#383d41}.absence-dates{font-size:.9rem;color:#2c3e50;font-weight:500}.absence-badge-current{font-size:.72rem;font-weight:700;padding:.15rem .5rem;border-radius:10px;background:var(--color-accent);color:#fff}.absence-opmerking{font-size:.82rem;color:#7f8c8d;font-style:italic}.absence-delete-btn{background:none;border:none;font-size:1.4rem;color:#bdc3c7;cursor:pointer;padding:0 .25rem;line-height:1;transition:color .2s;flex-shrink:0}.absence-delete-btn:hover{color:#e74c3c}.field-hint{font-size:.82rem;color:#7f8c8d;font-style:italic}.form-label{font-weight:600;color:#2c3e50;font-size:.95rem;display:block;margin-bottom:.25rem}.facturatie-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:#f8f9fa;border-radius:8px;margin-bottom:1rem}.toggle-label{font-weight:600;color:#2c3e50;font-size:.95rem}.toggle-switch{position:relative;display:inline-block;width:48px;height:26px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background:#ccc;border-radius:26px;transition:.3s}.toggle-slider:before{content:"";position:absolute;width:20px;height:20px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.3s}.toggle-switch input:checked+.toggle-slider{background:var(--color-accent)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(22px)}.facturatie-explanation{font-size:.88rem;color:#7f8c8d;line-height:1.5;margin:0;padding:.75rem 1rem;background:#f0f4f8;border-radius:6px;border-left:3px solid var(--color-accent)}.facturatie-logo-section{padding:1rem;background:#f8f9fa;border-radius:8px}.logo-preview{margin:.75rem 0;max-width:200px}.logo-preview img{max-width:100%;max-height:120px;border-radius:6px;border:1px solid #e0e0e0;object-fit:contain}.logo-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:.75rem}.modal-content.self-billing-modal{background:#fff;border-radius:12px;padding:2rem;max-width:540px;width:100%;max-height:90vh;overflow-y:auto}.self-billing-modal h3{margin:0 0 1.25rem;font-size:1.3rem;color:#2c3e50}.self-billing-voorwaarden{margin:0 0 1.5rem;padding-left:1.25rem;line-height:1.8;color:#2c3e50;font-size:.95rem}.self-billing-voorwaarden li{margin-bottom:.25rem}.self-billing-akkoord{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:#f8f9fa;border-radius:8px;margin-bottom:1.25rem;cursor:pointer}.self-billing-akkoord input[type=checkbox]{margin-top:.2rem;width:18px;height:18px;flex-shrink:0;accent-color:var(--color-accent)}.self-billing-akkoord span{font-size:.95rem;color:#2c3e50;font-weight:500}.btn-save:disabled{opacity:.5;cursor:not-allowed}.activity-list{display:flex;flex-direction:column}.activity-item{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid #f5f5f5}.activity-item:last-child{border-bottom:none}.activity-icon{font-size:.9rem;flex-shrink:0;padding-top:.1rem}.activity-body{flex:1;display:flex;flex-direction:column;gap:.1rem;min-width:0}.activity-action{font-size:.85rem;color:#2c3e50;font-weight:600}.activity-detail{font-size:.78rem;color:#7f8c8d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-date{font-size:.75rem;color:#adb5bd;white-space:nowrap;flex-shrink:0;padding-top:.15rem}@media(max-width:768px){.user-profile{padding:0 1rem 1rem}.profile-content{max-width:100%}.photo-section{flex-direction:column;align-items:flex-start}.info-row{flex-direction:column;align-items:flex-start;gap:.5rem}.info-label{min-width:auto}.form-actions{flex-direction:column}.form-row{flex-direction:column;gap:1.25rem}.ovo-item{flex-direction:column;align-items:flex-start}.ovo-item-actions{width:100%;justify-content:space-between}}.uren-administratie{min-height:100vh;background:#f5f7fa;padding:0}.uren-admin-header{background:#fff;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem}.header-top{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid #e0e0e0}.title-section{display:flex;flex-direction:column;gap:.5rem}.title-section h1{margin:0;font-size:1.75rem;color:#2c3e50;font-weight:700}.header-actions{display:flex;gap:1rem}.btn-back{background:transparent;border:1px solid var(--color-accent);color:var(--color-accent);padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s}.btn-back:hover{background:var(--color-accent);color:#fff}.btn-secondary{background:#fff;border:1px solid #e0e0e0;color:var(--color-accent);padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#f8f9fa;border-color:var(--color-accent)}.btn-primary{background:var(--color-accent);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.landscape-advice{display:none;background:var(--color-accent-gradient);color:#fff;padding:1rem 1.5rem;border-radius:12px;align-items:center;justify-content:center;gap:.75rem;font-size:1rem;font-weight:600;box-shadow:0 4px 12px #667eea4d}.landscape-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#fff3;border-radius:8px}.landscape-icon svg{width:24px;height:24px;fill:#fff}.month-selector{padding:1rem 2rem;border-bottom:1px solid #e0e0e0}.month-navigation{display:flex;align-items:center;justify-content:center;gap:1rem}.btn-month-nav{background:#f8f9fa;border:1px solid #e0e0e0;color:var(--color-accent);width:40px;height:40px;border-radius:8px;cursor:pointer;font-size:1.25rem;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-month-nav:hover{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.current-month{font-size:1.1rem;font-weight:600;color:#2c3e50;padding:.5rem 1rem;background:#f8f9fa;border-radius:8px}.tabs-container{display:flex;gap:0;padding:0 2rem}.tab-button{flex:1;background:transparent;border:none;border-bottom:3px solid transparent;padding:1rem 1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;color:#7f8c8d;font-weight:600;transition:all .2s}.tab-button:hover{color:var(--color-accent);background:#f8f9fa}.tab-button.active{color:var(--color-accent);border-bottom-color:var(--color-accent);background:#f8f9fa}.tab-icon{font-size:1.25rem}.uren-admin-content{padding:.5rem 2rem 2rem;max-width:1400px;margin:0 auto}.loading-state,.error-state,.empty-state{text-align:center;padding:3rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014}.spinner{border:3px solid #f3f3f3;border-top:3px solid var(--color-accent);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-retry{background:var(--color-accent);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600;margin-top:1rem}.readonly-banner{background:var(--color-admin-gradient);color:#fff;padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:500}.readonly-icon{font-size:1.1rem}.toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);padding:1rem 1.5rem;border-radius:12px;display:flex;align-items:center;gap:.75rem;font-weight:600;font-size:1rem;z-index:1000;animation:toastIn .3s ease-out;box-shadow:0 8px 32px #0003}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.toast-success{background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff}.toast-error{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff}.toast-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#ffffff40;border-radius:50%;font-size:1rem}.toast-message{white-space:nowrap}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:999;padding:1rem}.afwezig-modal{background:#fff;border-radius:16px;width:100%;max-width:360px;box-shadow:0 16px 48px #0003;animation:modalIn .2s ease-out}@keyframes modalIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.afwezig-modal-header{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;padding:1rem 1.25rem;border-radius:16px 16px 0 0;display:flex;justify-content:space-between;align-items:center}.afwezig-modal-header h3{margin:0;font-size:1.1rem;font-weight:600}.afwezig-modal-header .btn-close{background:#fff3;border:none;color:#fff;width:32px;height:32px;border-radius:50%;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.afwezig-modal-body{padding:1.25rem}.afwezig-dienst-info{background:#f8f9fa;padding:.75rem 1rem;border-radius:8px;margin:0 0 1rem;font-size:.9rem;color:#2c3e50}.afwezig-modal-body label{display:block;font-weight:600;color:#2c3e50;margin-bottom:.5rem;font-size:.9rem}.afwezig-input{width:100%;padding:.75rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .2s;box-sizing:border-box}.afwezig-input:focus{outline:none;border-color:#e74c3c}.afwezig-hint{display:block;font-size:.8rem;color:#7f8c8d;margin-top:.5rem}.afwezig-modal-footer{padding:1rem 1.25rem;border-top:1px solid #e0e0e0;display:flex;gap:.75rem}.afwezig-modal-footer .btn-cancel{flex:1;padding:.75rem;border:2px solid #e0e0e0;background:#fff;color:#666;border-radius:8px;font-weight:600;cursor:pointer;font-size:.95rem}.afwezig-modal-footer .btn-confirm-afwezig{flex:1;padding:.75rem;border:none;background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;border-radius:8px;font-weight:600;cursor:pointer;font-size:.95rem}.afwezig-modal-footer .btn-confirm-afwezig:disabled{background:#bdc3c7;cursor:not-allowed}.confirm-modal{background:#fff;border-radius:16px;width:100%;max-width:360px;box-shadow:0 16px 48px #0003;animation:modalIn .2s ease-out}.confirm-modal-header{background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;padding:1rem 1.25rem;border-radius:16px 16px 0 0;display:flex;justify-content:space-between;align-items:center}.confirm-modal-header h3{margin:0;font-size:1.1rem;font-weight:600}.confirm-modal-header .btn-close{background:#fff3;border:none;color:#fff;width:32px;height:32px;border-radius:50%;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.confirm-modal-body{padding:1.5rem 1.25rem;text-align:center}.confirm-icon{font-size:3rem;margin-bottom:1rem}.confirm-modal-body p{margin:0 0 .5rem;color:#2c3e50;font-size:1rem}.confirm-warning{color:#7f8c8d!important;font-size:.9rem!important}.confirm-summary{display:flex;justify-content:center;gap:2rem;margin-top:1rem;padding:.75rem;background:#f8f9fa;border-radius:8px}.confirm-summary span{color:#2c3e50}.confirm-summary strong{color:#27ae60}.urenregistratie{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden;position:relative}.table-container{overflow-x:auto}.uren-table{width:100%;border-collapse:collapse}.uren-table thead{background:#f8f9fa}.uren-table th{padding:1rem;text-align:left;font-weight:600;color:#2c3e50;font-size:.9rem;border-bottom:2px solid #e0e0e0}.uren-table tbody tr{border-bottom:1px solid #f0f0f0;transition:background .2s}.uren-table tbody tr:hover{background:#f8f9fa}.uren-table tbody tr.geaccordeerd{background:#e8f5e9}.uren-table tbody tr.concept{background:#fff}.uren-table td{padding:1rem;color:#2c3e50;font-size:.95rem}.datum-cell .datum{display:flex;flex-direction:column;align-items:center}.datum-cell .day{font-size:1.25rem;font-weight:700;color:#2c3e50}.datum-cell .day-name{font-size:.85rem;color:#7f8c8d}.dienst-info{display:flex;flex-direction:column;gap:.25rem}.dienst-naam{font-weight:600;color:#2c3e50}.dienst-tijd{font-size:.875rem;color:#7f8c8d}.type-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;border-radius:12px;color:#fff;font-size:.875rem;font-weight:600;white-space:nowrap}.type-badge-editable{cursor:pointer;transition:all .2s ease}.type-badge-editable:hover{filter:brightness(1.1);transform:scale(1.05)}.type-edit-hint{font-size:.7rem;opacity:.8}.type-select{padding:.35rem .5rem;border:2px solid var(--color-accent);border-radius:8px;font-size:.875rem;font-weight:600;background:#fff;cursor:pointer;min-width:120px}.type-select:focus{outline:none;box-shadow:0 0 0 3px #667eea4d}.tijd-inputs{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.time-input{padding:.5rem;border:2px solid #e0e0e0;border-radius:6px;font-size:.9rem}.uren-display{cursor:pointer;display:inline-flex;align-items:center;gap:.25rem}.edit-hint{color:var(--color-accent);font-size:.875rem}.notitie-inputs{display:flex;flex-direction:column;gap:.5rem}.notitie-input,.reden-input{padding:.5rem;border:2px solid #e0e0e0;border-radius:6px;font-size:.875rem;width:100%}.reden-input.required{border-color:var(--color-admin);background:#fff3cd}.notitie-display{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem}.notitie-text{color:var(--color-accent)}.reden-text{color:var(--color-admin);font-weight:600}.no-notitie{color:#bdc3c7}.status-badge{display:inline-block;padding:.375rem .75rem;border-radius:12px;font-size:.875rem;font-weight:600}.status-badge.geaccordeerd{background:#27ae60;color:#fff}.status-badge.concept{background:var(--color-accent);color:#fff}.edit-actions{display:flex;gap:.5rem}.btn-save-small,.btn-cancel-small{width:32px;height:32px;border:none;border-radius:6px;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-save-small{background:#27ae60;color:#fff}.btn-save-small:hover{background:#229954}.btn-cancel-small{background:#e74c3c;color:#fff}.btn-cancel-small:hover{background:#c0392b}.uren-table tfoot{background:#f8f9fa;font-weight:600}.uren-table tfoot td{padding:1.25rem 1rem;border-top:2px solid #e0e0e0}.totalen-summary{display:flex;gap:2rem;font-size:.95rem}.geaccordeerd-totaal{color:#27ae60}.concept-totaal{color:var(--color-admin)}.accorderen{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:2rem}.accorderen-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e0e0e0}.accorderen-header h3{margin:0;font-size:1.5rem;color:#2c3e50}.btn-accorderen{background:#27ae60;color:#fff;border:none;padding:.875rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #27ae6033}.btn-accorderen:hover:not(:disabled){background:#229954;transform:translateY(-2px);box-shadow:0 4px 8px #27ae604d}.btn-accorderen:disabled{background:#bdc3c7;cursor:not-allowed;box-shadow:none}.dagen-lijst{display:flex;flex-direction:column;gap:1rem}.dag-groep{border:1px solid #e0e0e0;border-radius:8px;transition:box-shadow .2s}.dag-groep:hover{box-shadow:0 2px 8px #00000014}.dag-header{background:#f8f9fa;padding:1rem 1.5rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;-webkit-user-select:none;user-select:none;transition:background .2s}.dag-header:hover{background:#ecf0f1}.dag-info{display:flex;align-items:center;gap:1rem}.dag-info input[type=checkbox]{width:20px;height:20px;cursor:pointer}.dag-naam{font-size:1.1rem;font-weight:600;color:#2c3e50;text-transform:capitalize}.dag-type{font-size:.875rem;color:#7f8c8d;text-transform:capitalize}.dag-meta{display:flex;align-items:center;gap:1rem}.diensten-count{font-size:.9rem;color:var(--color-accent);font-weight:600}.expand-icon{color:#7f8c8d;font-size:.875rem;transition:transform .2s}.expand-icon.expanded{transform:rotate(180deg)}.diensten-lijst{display:flex;flex-direction:column;gap:.375rem;padding:.625rem;background:#fff}.accorderen .dienst-item{display:flex;flex-direction:row;align-items:center;gap:.75rem;padding:.5rem 1rem;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;transition:all .2s;background:#fff;flex-wrap:nowrap}.accorderen .dienst-item:hover{background:#f8f9fa;border-color:var(--color-accent)}.accorderen .dienst-item.selected{background:#e8f4fd;border-color:var(--color-accent);box-shadow:0 2px 4px var(--color-accent-alpha)}.accorderen .dienst-checkbox{width:18px;height:18px;cursor:pointer;flex-shrink:0}.accorderen .dienst-item .dienst-naam{font-weight:600;color:#2c3e50;white-space:nowrap;flex-shrink:0}.accorderen .dienst-item .dienst-tijd{font-size:.875rem;color:#7f8c8d;white-space:nowrap;flex-shrink:0}.accorderen .dienst-type-badge{display:inline-block;padding:.2rem .6rem;border-radius:12px;color:#fff;font-size:.75rem;font-weight:600;white-space:nowrap;flex-shrink:0}.accorderen .dienst-uren{font-size:.85rem;color:#7f8c8d;white-space:nowrap;flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.accorderen .dienst-notitie{color:var(--color-accent);flex-shrink:0}.accorderen .dienst-reden{color:var(--color-admin);font-weight:600}.accorderen .dienst-item .status-badge.niet-geaccordeerd{background:var(--color-admin);color:#fff;margin-left:auto;flex-shrink:0;white-space:nowrap}.declaratie{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:2rem}.declaratie .declaratie-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e0e0e0}.declaratie .declaratie-header h2{margin:0;font-size:1.75rem;color:#2c3e50;flex:1;min-width:0}.declaratie .declaratie-status{display:inline-block;padding:.5rem 1rem;border-radius:12px;font-weight:600;font-size:.875rem;white-space:nowrap;width:auto;height:auto;line-height:normal}.declaratie .declaratie-status.concept{background:#ecf0f1;color:#7f8c8d}.declaratie .declaratie-status.ingediend{background:var(--color-accent);color:#fff}.declaratie .declaratie-status.goedgekeurd{background:#27ae60;color:#fff}.declaratie .declaratie-status.uitbetaald{background:#2ecc71;color:#fff}.declaratie-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem}.declaratie-kolom{display:flex;flex-direction:column;gap:1.5rem}.info-group{display:flex;flex-direction:column;gap:.5rem}.info-group label{font-size:.875rem;color:#7f8c8d;font-weight:600}.info-group .info-value{font-size:1.1rem;color:#2c3e50;font-weight:600}.info-group .totaal-bedrag{font-size:1.5rem;color:#27ae60}.warning-box{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:#fff3cd;border-left:4px solid var(--color-admin);border-radius:6px;margin-bottom:2rem}.warning-icon{font-size:1.5rem}.warning-text{color:#856404;font-weight:600}.client-details{margin-bottom:2rem}.client-details h3{margin:0 0 1rem;font-size:1.25rem;color:#2c3e50}.client-table{width:100%;border-collapse:collapse;table-layout:fixed}.client-table .text-right{text-align:right!important}.client-table thead{background:#f8f9fa}.client-table th{padding:.75rem;text-align:left;font-weight:600;color:#2c3e50;font-size:.9rem;border-bottom:2px solid #e0e0e0}.client-table th:nth-child(1),.client-table td:nth-child(1){width:25%}.client-table th:nth-child(2),.client-table td:nth-child(2){width:25%}.client-table th:nth-child(3),.client-table td:nth-child(3){width:15%;text-align:right}.client-table th:nth-child(4),.client-table td:nth-child(4){width:15%;text-align:right}.client-table th:nth-child(5),.client-table td:nth-child(5){width:20%;text-align:right}.client-table td{padding:.75rem;color:#2c3e50;border-bottom:1px solid #f0f0f0}.declaratie-actions{display:flex;flex-direction:column;align-items:center;gap:1rem}.btn-genereer-declaratie{background:#27ae60;color:#fff;border:none;padding:1rem 2rem;border-radius:8px;font-weight:600;font-size:1.05rem;cursor:pointer;transition:all .2s;box-shadow:0 4px 8px #27ae6033}.btn-genereer-declaratie:hover:not(:disabled){background:#229954;transform:translateY(-2px);box-shadow:0 6px 12px #27ae604d}.btn-genereer-declaratie:disabled{background:#bdc3c7;cursor:not-allowed;box-shadow:none}.help-text{font-size:.9rem;color:#7f8c8d;font-style:italic;text-align:center;margin:0}@media(max-width:1024px){.declaratie-grid{grid-template-columns:1fr}}@media(max-width:768px){.uren-admin-header{padding:1rem}.header-top{flex-direction:column;gap:1rem;align-items:stretch}.header-actions{flex-direction:column}.landscape-advice{display:flex;margin:0 0 .75rem}.tabs-container{padding:0;gap:0}.tab-button{padding:.5rem;border-bottom:3px solid transparent;border-left:none}.tab-button.active{border-bottom-color:var(--color-accent);border-left:none}.tab-icon{display:none}.tab-label{font-size:.85rem}.table-container{overflow-x:scroll}.declaratie-actions,.btn-genereer-declaratie{width:100%}.accorderen{padding:1rem}.accorderen-header{flex-direction:column;gap:.75rem;margin-bottom:1rem;padding-bottom:.75rem}.accorderen-header h3{font-size:1.1rem;margin:0}.btn-accorderen{width:100%;padding:.625rem 1rem;font-size:.9rem}.dagen-lijst{gap:.5rem}.dag-header{padding:.75rem 1rem}.dag-info{gap:.5rem}.dag-info input[type=checkbox]{width:18px;height:18px}.dag-naam{font-size:.95rem}.dag-type{display:none}.diensten-count{font-size:.8rem}.diensten-lijst{padding:.5rem;gap:.375rem}.accorderen .dienst-item{padding:.5rem;gap:.375rem;flex-wrap:wrap}.accorderen .dienst-item .dienst-naam{font-size:.9rem}.accorderen .dienst-item .dienst-tijd{font-size:.8rem}.accorderen .dienst-type-badge{font-size:.7rem;padding:.15rem .5rem}.accorderen .dienst-uren{font-size:.8rem}.accorderen .dienst-item .status-badge.niet-geaccordeerd{font-size:.75rem;padding:.25rem .5rem}.month-selector,.uren-admin-content{padding:.5rem 1rem}.uren-admin-content:first-of-type{padding-top:.5rem;padding-bottom:0}}@media(max-width:900px)and (orientation:landscape){.landscape-advice{display:none!important}.uren-admin-content{padding:.25rem .5rem}.uren-admin-content:first-of-type{padding-top:.25rem;padding-bottom:0}.month-selector{padding:.25rem .5rem;border-bottom:none}.tabs-container{padding:0 .5rem}.tab-button{padding:.375rem .5rem;font-size:.85rem}.tab-icon{display:inline;font-size:1rem}}.client-table .type-row{background:#fff;transition:background .2s}.client-table .type-row:hover{background:#f8f9fa}.client-table .client-naam-cell{vertical-align:middle;background:#f8f9fa;font-weight:600;border-right:2px solid #e0e0e0}.client-table .dienst-type-badge{display:inline-block;white-space:nowrap}.client-table .client-totaal-row{background:#f0f4f8;border-top:2px solid #d0d0d0;border-bottom:2px solid #d0d0d0}.client-table .client-totaal-row td{padding:.85rem .75rem}.client-table .grand-totaal-row{border-top:3px solid #4c63d2;background:#f8f9fa;font-weight:600}.client-table .grand-totaal-row td{padding:1rem .75rem;font-size:1.05rem}.client-details{margin-top:2rem}.client-details h3{color:#2c3e50;margin-bottom:1rem;font-size:1.15rem}.uren-table tbody tr.afwijking-groen{background:#f0fdf4;border-left:3px solid #22c55e}.uren-table tbody tr.afwijking-oranje{background:#fffbeb;border-left:3px solid #f59e0b}.uren-table tbody tr.afwijking-rood{background:#fef2f2;border-left:3px solid #ef4444}.afwijking-indicator{display:inline-block;margin-left:6px;font-weight:600;font-size:.9rem;padding:2px 6px;border-radius:4px}.afwijking-indicator.afwijking-groen{color:#15803d;background:#dcfce7}.afwijking-indicator.afwijking-oranje{color:#c2410c;background:#fed7aa}.afwijking-indicator.afwijking-rood{color:#b91c1c;background:#fecaca}.uren-display-container{display:flex;align-items:center;gap:4px}.accorderen .dienst-item.afwijking-groen{border-left:3px solid #22c55e;background:#f0fdf4}.accorderen .dienst-item.afwijking-oranje{border-left:3px solid #f59e0b;background:#fffbeb}.accorderen .dienst-item.afwijking-rood{border-left:3px solid #ef4444;background:#fef2f2}.mijn-declaraties{min-height:100vh;background:#f5f7fa}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:var(--color-accent)}.declaraties-content{display:grid;grid-template-columns:350px 1fr;gap:1.5rem;padding:1.5rem;max-width:1400px;margin:0 auto}.declaraties-list{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000014}.declaraties-list h2{margin:0 0 1rem;font-size:1.25rem;color:#2c3e50}.empty-state{text-align:center;padding:2rem;color:#7f8c8d}.declaratie-cards{display:flex;flex-direction:column;gap:.75rem}.declaratie-card{background:#f8f9fa;border:2px solid transparent;border-radius:10px;padding:1rem;cursor:pointer;transition:all .2s}.declaratie-card:hover{background:#f0f2f5;border-color:var(--color-accent)}.declaratie-card.selected{background:#f0f4ff;border-color:var(--color-accent)}.declaratie-card.afgekeurd{background:#fff5f5}.declaratie-card.afgekeurd:hover,.declaratie-card.afgekeurd.selected{background:#ffe8e8;border-color:#dc3545}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.card-header .maand{font-weight:600;font-size:1.1rem;color:#2c3e50;text-transform:capitalize}.status-badge{padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase}.card-body .totalen{display:flex;justify-content:space-between;margin-bottom:.5rem}.totalen .uren{color:var(--color-accent);font-weight:600}.totalen .bedrag{color:#28a745;font-weight:600}.dienst-types{display:flex;flex-wrap:wrap;gap:.25rem}.type-badge{display:inline-flex;padding:.125rem .5rem;border-radius:4px;font-size:.7rem;color:#fff;white-space:nowrap}.card-alert{background:#dc3545;color:#fff;padding:.5rem;border-radius:6px;font-size:.8rem;margin-top:.75rem;text-align:center;font-weight:500}.declaratie-detail{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden}.detail-header{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:var(--color-accent-gradient);color:#fff}.detail-header h2{margin:0;flex:1;font-size:1.5rem;text-transform:capitalize}.detail-header .status-badge{background:#fff3;color:#fff}.btn-close-detail{background:#fff3;border:none;color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:1.25rem;display:flex;align-items:center;justify-content:center}.btn-close-detail:hover{background:#ffffff4d}.detail-body{padding:1.5rem}.detail-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #e9ecef}.detail-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.detail-section h3{margin:0 0 1rem;font-size:1rem;color:#2c3e50;font-weight:600}.summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.summary-item{background:#f8f9fa;padding:.75rem;border-radius:8px}.summary-item .label{display:block;font-size:.8rem;color:#7f8c8d;margin-bottom:.25rem}.summary-item .value{display:block;font-size:1.1rem;font-weight:600;color:#2c3e50}.summary-bar{display:flex;flex-wrap:wrap;gap:.5rem;padding:.6rem .75rem;background:#f8f9fa;border-radius:8px;margin-bottom:.75rem}.summary-bar-item{display:flex;align-items:baseline;gap:.35rem}.summary-bar-item .label{font-size:.75rem;color:#7f8c8d;text-transform:uppercase;letter-spacing:.02em}.summary-bar-item .value{font-weight:600;font-size:.9rem;color:#2c3e50}.summary-bar-item:not(:last-child):after{content:"|";color:#dee2e6;margin-left:.5rem;font-weight:300}.factuur-bar{display:flex;flex-direction:column;gap:.4rem;padding:.6rem .75rem;background:#f0faf3;border:1px solid #c3e6cb;border-radius:8px;margin-bottom:.75rem}.factuur-bar-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.factuur-bar-message{font-size:.9rem;font-weight:500;color:#0b6623}.factuur-bar-items{display:flex;flex-wrap:wrap;gap:.5rem;align-items:baseline}.factuur-bar-item{font-weight:600;font-size:.85rem;color:#2c3e50}.factuur-bar-item .label{font-weight:400;font-size:.75rem;color:#6c757d;margin-right:.2rem}.factuur-bar-item:not(:last-child):after{content:"·";color:#adb5bd;margin-left:.5rem;font-weight:300}.factuur-bar .btn-factuur-bekijken{padding:.3rem .75rem;font-size:.8rem;white-space:nowrap}.referentie-bar{padding:.6rem .75rem;background:#e8f4f8;border:1px solid #bee5eb;border-radius:8px;margin-bottom:.75rem}.referentie-bar-content{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;font-size:.9rem;color:#2c3e50}.referentie-bar-message{flex:1;min-width:200px}.referentie-bar-message a{color:#2196f3;font-weight:500;text-decoration:none}.referentie-bar-message a:hover{text-decoration:underline}.referentie-bar-content .btn-csv-export{margin-top:0;padding:.3rem .75rem;font-size:.8rem;white-space:nowrap}.types-breakdown{display:flex;flex-direction:column;gap:.5rem}.summary-types .type-row{display:flex;align-items:center;gap:.75rem;padding:.5rem;background:#f8f9fa;border-radius:6px}.type-indicator{width:8px;height:8px;border-radius:50%;flex-shrink:0}.type-name{flex:1;font-weight:500;color:#2c3e50}.type-count{color:#7f8c8d;font-size:.9rem}.type-uren{font-weight:500;color:var(--color-accent);min-width:50px;text-align:right}.type-bedrag{font-weight:600;color:#28a745;min-width:80px;text-align:right}.afgekeurde-diensten-list{display:flex;flex-direction:column;gap:.75rem}.afgekeurde-dienst-item{background:#fff5f5;border:1px solid #ffcdd2;border-radius:8px;padding:.75rem 1rem;border-left:4px solid #ef5350}.afgekeurde-dienst-item.has-opmerking{border-left-color:#d32f2f}.afgekeurde-dienst-header{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.afgekeurde-dienst-header .dienst-datetime{display:flex;flex-direction:column;gap:0;min-width:80px}.afgekeurde-dienst-header .dienst-dag{font-weight:700;font-size:.85rem;color:#2c3e50;text-transform:capitalize}.afgekeurde-dienst-header .dienst-tijd{font-size:.75rem;color:var(--color-accent);font-weight:500}.afgekeurde-dienst-header .dienst-client{background:#fff;padding:.2rem .5rem;border-radius:4px;font-size:.8rem;color:#495057}.afgekeurde-dienst-header .dienst-type{background:#e3f2fd;padding:.2rem .5rem;border-radius:4px;font-size:.8rem;color:#1976d2;font-weight:500}.afgekeurde-dienst-header .dienst-uren{font-size:.8rem;font-weight:600;color:var(--color-accent);margin-left:auto}.afgekeurde-dienst-header .dienst-bedrag{font-size:.8rem;font-weight:600;color:#28a745}.dienst-opmerking{margin-top:.5rem;padding:.5rem;background:#fff;border-radius:6px;font-size:.85rem;color:#c62828;border-left:2px solid #d32f2f}.dienst-reactie{margin-top:.5rem;padding:.5rem .5rem .5rem 1rem;font-size:.85rem;color:#2e7d32;border-left:2px solid #4caf50}.afgekeurd-section{background:#fff5f5;margin:-1.5rem;margin-top:0;padding:1.5rem;border-bottom:none}.afkeur-info{margin-bottom:1rem}.afkeur-datum{color:#dc3545;font-size:.9rem;margin:0 0 .5rem}.afkeur-reden{background:#fff;padding:1rem;border-radius:8px;border-left:4px solid #dc3545}.afkeur-reden strong{display:block;margin-bottom:.25rem;color:#dc3545}.afkeur-reden p{margin:0;color:#2c3e50}.line-feedback-list{margin-top:1rem}.line-feedback-list h4{margin:0 0 .75rem;font-size:.9rem;color:#2c3e50}.feedback-item{background:#fff;border-radius:8px;padding:1rem;margin-bottom:.75rem;border-left:4px solid #dc3545}.feedback-item.handled{border-left-color:#28a745;opacity:.7}.feedback-dienst-header{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid #f0f2f5}.dienst-datetime{display:flex;flex-direction:column;gap:.125rem;min-width:100px}.dienst-dag{font-weight:700;font-size:.95rem;color:#2c3e50;text-transform:capitalize}.dienst-tijd{font-size:.85rem;color:var(--color-accent);font-weight:500}.dienst-info{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;flex:1}.dienst-client{background:#f0f2f5;padding:.25rem .5rem;border-radius:4px;font-size:.85rem;color:#495057}.dienst-type{background:#e3f2fd;padding:.25rem .5rem;border-radius:4px;font-size:.85rem;color:#1976d2;font-weight:500}.feedback-dienst{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem;font-size:.85rem}.feedback-dienst span{background:#f0f2f5;padding:.25rem .5rem;border-radius:4px}.dienst-datum{font-weight:600;color:#2c3e50}.feedback-content{font-size:.9rem}.admin-opmerking{color:#dc3545;margin-bottom:.5rem}.medewerker-reactie{color:#28a745;padding-left:1rem;border-left:2px solid #28a745}.btn-reageren{width:100%;padding:1rem;background:var(--color-accent);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;margin-top:1rem}.btn-reageren:hover{background:var(--color-accent-dark)}.goedgekeurd-section .success-message{background:#d4edda;color:#155724;padding:1rem;border-radius:8px;text-align:center;font-weight:500}.admin-opmerkingen{margin-top:1rem;padding:1rem;background:#f8f9fa;border-radius:8px}.admin-opmerkingen p{margin:.5rem 0 0}.ingediend-section .pending-message{background:#fff3cd;color:#856404;padding:1rem;border-radius:8px;text-align:center;font-weight:500}.medewerker-reactie-section{margin-top:1rem;padding:1rem;background:#f8f9fa;border-radius:8px}.medewerker-reactie-section p{margin:.5rem 0 0}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-content.reageer-modal{max-width:700px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #e9ecef;background:#f8f9fa}.modal-header h2{margin:0;font-size:1.25rem;color:#2c3e50}.btn-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#7f8c8d;padding:0;line-height:1}.line-responses h3{margin:0 0 1rem;font-size:1rem;color:#2c3e50}.line-response-item{background:#f8f9fa;border-radius:8px;padding:1rem;margin-bottom:1rem;border-left:3px solid #dc3545}.response-dienst-header{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.75rem}.response-datetime{display:flex;flex-direction:column;gap:.125rem;min-width:100px}.response-dag{font-weight:700;font-size:.9rem;color:#2c3e50;text-transform:capitalize}.response-tijd{font-size:.8rem;color:var(--color-accent);font-weight:500}.response-info{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;flex:1}.response-client{background:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.8rem;color:#495057}.response-type{background:#e3f2fd;padding:.25rem .5rem;border-radius:4px;font-size:.8rem;color:#1976d2;font-weight:500}.feedback-summary{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem;font-size:.85rem}.feedback-summary span{background:#fff;padding:.25rem .5rem;border-radius:4px}.feedback-summary .datum{font-weight:600}.original-feedback{margin-bottom:.75rem;padding:.5rem .75rem;background:#fff5f5;border-radius:6px;font-size:.85rem;color:#dc3545;border-left:2px solid #dc3545}.line-response-item textarea{width:100%;padding:.5rem;border:1px solid #dee2e6;border-radius:6px;font-size:.9rem;resize:vertical;font-family:inherit}.line-response-item textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-alpha)}.btn-primary{background:var(--color-accent);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer}.btn-primary:hover{background:var(--color-accent-dark)}.btn-primary:disabled{background:#ccc;cursor:not-allowed}.client-detail-table{width:100%;border-collapse:collapse;table-layout:fixed}.client-detail-table .text-right{text-align:right!important}.client-detail-table thead{background:#f8f9fa}.client-detail-table th{padding:.75rem;text-align:left;font-weight:600;color:#2c3e50;font-size:.9rem;border-bottom:2px solid #e0e0e0}.client-detail-table td{padding:.75rem;color:#2c3e50;border-bottom:1px solid #f0f0f0}.client-detail-table .detail-type-row{background:#fff;transition:background .2s}.client-detail-table .detail-type-row:hover{background:#f8f9fa}.client-detail-table .client-naam-cell{vertical-align:middle;background:#f8f9fa;font-weight:600;border-right:2px solid #e0e0e0}.client-detail-table .client-subtotaal-row{background:#f0f4f8;border-top:2px solid #d0d0d0;border-bottom:2px solid #d0d0d0}.client-detail-table .client-subtotaal-row td{padding:.85rem .75rem}.client-detail-table .grand-totaal-row{border-top:3px solid var(--color-accent);background:#f8f9fa;font-weight:600}.client-detail-table .grand-totaal-row td{padding:1rem .75rem;font-size:1.05rem}@media(max-width:900px){.declaraties-content{grid-template-columns:1fr;padding:.75rem}.declaraties-list{padding:1rem}.declaratie-detail{position:fixed;inset:0;z-index:100;border-radius:0;display:flex;flex-direction:column}.detail-header{padding:1rem}.detail-header h2{font-size:1.25rem}.detail-body{padding:1rem;overflow-y:auto;flex:1}.summary-grid{grid-template-columns:1fr}.summary-bar{flex-direction:column;gap:.25rem}.summary-bar-item:not(:last-child):after{display:none}.factuur-bar{flex-direction:column;align-items:flex-start}.factuur-bar-items{flex-direction:column;gap:.25rem}.factuur-bar-item:not(:last-child):after{display:none}.referentie-bar-content{flex-direction:column;align-items:flex-start}.type-row{flex-wrap:wrap}.type-name{flex:1 1 100%;margin-bottom:.25rem}}@media(max-width:480px){.declaraties-content{padding:.5rem}.declaratie-card{padding:.75rem}.card-header .maand{font-size:1rem}.modal-content{max-height:100vh;border-radius:0}.feedback-dienst{font-size:.75rem}}.card-header-left{display:flex;flex-direction:column;gap:.15rem}.declaratie-nummer{font-size:.75rem;color:#6c757d;font-weight:400}.status-factuur-verzonden{background:#c3e6cb;color:#0b6623}.factuur-section{border:1px solid #c3e6cb;border-radius:8px;padding:1rem;background:#f0faf3}.factuur-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1rem}.factuur-info-item{display:flex;flex-direction:column;gap:.15rem}.factuur-info-item .label{font-size:.8rem;color:#6c757d}.factuur-info-item .value{font-weight:600;color:#2c3e50}.btn-factuur-bekijken{display:inline-block;padding:.5rem 1rem;background:var(--color-accent, #00796b);color:#fff;border-radius:6px;text-decoration:none;font-weight:500;font-size:.9rem;transition:background .2s}.btn-factuur-bekijken:hover{background:var(--color-accent-dark, #005a4f);color:#fff}.factuur-info-box{border:1px solid #bee5eb;border-radius:8px;padding:1rem;background:#e8f4f8}.factuur-info-box .info-message p{margin:0 0 .5rem;color:#2c3e50;font-size:.95rem}.factuur-info-box .info-message p:last-child{margin-bottom:0}.btn-csv-export{display:inline-block;margin-top:.75rem;padding:.5rem 1rem;background:#2196f3;color:#fff;border-radius:6px;text-decoration:none;font-weight:500;font-size:.9rem;transition:background .2s}.btn-csv-export:hover{background:#1976d2;color:#fff}.zorg-declaraties-v2{min-height:100vh;background:#f5f7fa;display:flex;flex-direction:column}.declaraties-toolbar{background:#fff;padding:1rem 1.5rem;border-bottom:1px solid #e9ecef;display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between}.toolbar-filters{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.status-tabs{display:flex;gap:.25rem;background:#f0f2f5;padding:.25rem;border-radius:8px}.status-tabs .tab{background:transparent;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;cursor:pointer;color:#6c757d;display:flex;align-items:center;gap:.5rem;transition:all .2s}.status-tabs .tab:hover{color:#495057}.status-tabs .tab.active{background:#fff;color:var(--color-accent);font-weight:600;box-shadow:0 1px 3px #0000001a}.tab-count{background:#dc3545;color:#fff;font-size:.7rem;padding:.125rem .5rem;border-radius:10px;font-weight:600}.extra-filters{display:flex;gap:.5rem;align-items:center}.filter-select{padding:.5rem .75rem;border:1px solid #dee2e6;border-radius:6px;font-size:.875rem;background:#fff;cursor:pointer}.filter-select:focus{outline:none;border-color:var(--color-accent)}.search-input{padding:.5rem .75rem;border:1px solid #dee2e6;border-radius:6px;font-size:.875rem;width:180px}.search-input:focus{outline:none;border-color:var(--color-accent)}.toolbar-actions{display:flex;gap:.5rem}.btn-select-groene{background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;cursor:pointer;transition:all .2s}.btn-select-groene:hover{background:#c8e6c9}.btn-bulk-goedkeuren{background:#28a745;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-bulk-goedkeuren:hover{background:#218838}.btn-bulk-goedkeuren:disabled{background:#ccc;cursor:not-allowed}.declaraties-spreadsheet{flex:1;padding:1rem 1.5rem;overflow:auto}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:#7f8c8d}.loading-state .spinner{width:40px;height:40px;border:3px solid #e0e0e0;border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}.spreadsheet-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.spreadsheet-table thead{background:#f8f9fa;position:sticky;top:0;z-index:10}.spreadsheet-table th{padding:.75rem .5rem;text-align:left;font-weight:600;color:#495057;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e9ecef;white-space:nowrap}.spreadsheet-table tbody tr{cursor:pointer;transition:background .15s}.spreadsheet-table tbody tr:hover{background:#f8f9fa}.spreadsheet-table tbody tr.selected{background:#e3f2fd}.spreadsheet-table td{padding:.625rem .5rem;border-bottom:1px solid #f0f2f5;font-size:.875rem}.spreadsheet-table tbody tr.row-groen{background:#fff}.spreadsheet-table tbody tr.row-oranje{background:#fff8e1}.spreadsheet-table tbody tr.row-rood{background:#ffebee}.spreadsheet-table tbody tr.row-oranje:hover{background:#ffecb3}.spreadsheet-table tbody tr.row-rood:hover{background:#ffcdd2}.spreadsheet-table tbody tr.has-reactie{border-left:3px solid #2196f3}.col-checkbox{width:40px;text-align:center}.col-medewerker{min-width:150px}.col-maand{width:100px}.col-uren{width:70px;text-align:right}.col-bedrag{width:100px;text-align:right}.col-afwijking{width:80px;text-align:center}.col-extra{width:80px}.col-status,.col-factuur{width:100px}.col-acties{width:120px}.medewerker-cell{display:flex;align-items:center;gap:.5rem}.medewerker-naam{font-weight:500;color:#2c3e50}.self-billing-badge{background:#00796b;color:#fff;font-size:.6rem;padding:.1rem .35rem;border-radius:3px;font-weight:600;letter-spacing:.02em}.herindiening-badge{background:#2196f3;color:#fff;font-size:.65rem;padding:.125rem .4rem;border-radius:4px;font-weight:600;text-transform:uppercase;letter-spacing:.02em;animation:pulse-blue 2s infinite}@keyframes pulse-blue{0%,to{opacity:1}50%{opacity:.7}}tr.is-herindiening{background:#e3f2fd!important;border-left:3px solid #2196f3}tr.is-herindiening:hover{background:#bbdefb!important}.panel-herindiening{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border:1px solid #2196f3;border-left:4px solid #2196f3;border-radius:8px;padding:1rem;margin-bottom:1rem}.herindiening-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;color:#1565c0;font-size:.95rem}.herindiening-icon{font-size:1.1rem}.medewerker-algemene-reactie{background:#fff;border-radius:6px;padding:.75rem;margin-top:.5rem}.medewerker-algemene-reactie .reactie-label{font-size:.75rem;color:#666;text-transform:uppercase;letter-spacing:.03em;display:block;margin-bottom:.25rem}.medewerker-algemene-reactie p{margin:0;color:#333;font-size:.9rem;line-height:1.5}.reactie-count-info{font-size:.8rem;color:#1565c0;margin-top:.75rem;font-style:italic}.reactie-dot{color:#2196f3;font-size:.75rem}.afwijking-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:4px;font-size:.8rem}.afwijking-badge.groen{background:#e8f5e9;color:#2e7d32}.afwijking-badge.oranje{background:#fff3e0;color:#e65100}.afwijking-badge.rood{background:#ffebee;color:#c62828}.afwijking-count{font-weight:600;margin-left:.125rem}.types-mini{display:flex;gap:.25rem}.type-dot{width:12px;height:12px;border-radius:50%}.status-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase}.status-concept{background:#e9ecef;color:#6c757d}.status-ingediend{background:#fff3cd;color:#856404}.status-goedgekeurd{background:#d4edda;color:#155724}.status-afgekeurd{background:#f8d7da;color:#721c24}.status-uitbetaald{background:#cce5ff;color:#004085}.actie-buttons{display:inline-flex;gap:.25rem}.btn-actie{width:28px;height:28px;border:none;border-radius:4px;cursor:pointer;font-size:.875rem;display:inline-flex;align-items:center;justify-content:center;transition:all .2s}.btn-actie.btn-goedkeuren{background:#e8f5e9;color:#2e7d32}.btn-actie.btn-goedkeuren:hover{background:#28a745;color:#fff}.btn-actie.btn-afkeuren{background:#ffebee;color:#c62828}.btn-actie.btn-afkeuren:hover{background:#dc3545;color:#fff}.btn-actie.btn-details{background:#e3f2fd;color:#1976d2}.btn-actie.btn-details:hover{background:#2196f3;color:#fff}.detail-panel-overlay{position:fixed;inset:0;background:#0000004d;z-index:100;display:flex;justify-content:flex-end}.detail-panel{width:500px;max-width:90vw;background:#fff;height:100%;display:flex;flex-direction:column;box-shadow:-4px 0 20px #00000026;animation:slideIn .2s ease-out}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.panel-header{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:var(--color-accent-gradient);color:#fff}.panel-title{flex:1}.panel-title h2{margin:0;font-size:1.25rem}.panel-maand{opacity:.9;font-size:.9rem}.panel-header .status-badge{background:#fff3;color:#fff}.btn-close-panel{background:#fff3;border:none;color:#fff;width:32px;height:32px;border-radius:50%;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.btn-close-panel:hover{background:#ffffff4d}.panel-summary{display:flex;gap:1rem;padding:1rem 1.5rem;background:#f8f9fa;border-bottom:1px solid #e9ecef}.panel-summary .summary-item{flex:1;text-align:center}.panel-summary .label{display:block;font-size:.75rem;color:#7f8c8d;margin-bottom:.25rem}.panel-summary .value{display:block;font-size:1.25rem;font-weight:600;color:#2c3e50}.panel-summary .value.warning{color:#dc3545}.panel-reactie{margin:1rem 1.5rem;padding:1rem;background:#e3f2fd;border-radius:8px;border-left:4px solid #2196f3}.panel-reactie h4{margin:0 0 .5rem;font-size:.875rem;color:#1976d2}.panel-reactie p{margin:0;font-size:.9rem;color:#2c3e50}.panel-diensten{flex:1;overflow-y:auto;padding:1rem 1.5rem}.panel-diensten h3{margin:0 0 1rem;font-size:1rem;color:#2c3e50}.diensten-list{display:flex;flex-direction:column;gap:.5rem}.dienst-item{display:flex;flex-direction:column;padding:.5rem;background:#f8f9fa;border-radius:6px;font-size:.8rem}.dienst-item.has-feedback{background:#e3f2fd;border:1px solid #90caf9}.dienst-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;width:100%}.dienst-item.afwijking-oranje{background:#fff8e1;border-left:3px solid #ff9800}.dienst-item.afwijking-rood{background:#ffebee;border-left:3px solid #f44336}.dienst-datum{font-weight:600;color:#2c3e50;min-width:60px}.dienst-client{flex:1;color:#495057;min-width:80px}.dienst-type{padding:.125rem .5rem;border-radius:4px;color:#fff;font-size:.7rem}.dienst-tijd{color:#7f8c8d;min-width:90px}.dienst-uren{font-weight:500;color:var(--color-accent);min-width:45px;text-align:right}.dienst-bedrag{font-weight:500;color:#28a745;min-width:60px;text-align:right}.dienst-afwijking{padding:.125rem .375rem;border-radius:4px;font-size:.7rem;font-weight:600}.dienst-afwijking.oranje{background:#fff3e0;color:#e65100}.dienst-afwijking.rood{background:#ffebee;color:#c62828}.dienst-feedback{width:100%;margin-top:.5rem;padding-top:.5rem;border-top:1px dashed #90caf9;display:flex;flex-direction:column;gap:.375rem}.feedback-admin,.feedback-medewerker{display:flex;gap:.5rem;font-size:.75rem;line-height:1.4}.feedback-admin{color:#c62828}.feedback-medewerker{color:#1565c0}.feedback-label{font-weight:600;flex-shrink:0}.feedback-text{flex:1}.panel-actions{display:flex;gap:1rem;padding:1rem 1.5rem;border-top:1px solid #e9ecef;background:#f8f9fa}.btn-panel-afkeuren{flex:1;padding:.75rem;background:#fff;color:#dc3545;border:2px solid #dc3545;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.btn-panel-afkeuren:hover{background:#dc3545;color:#fff}.btn-panel-goedkeuren{flex:1;padding:.75rem;background:#28a745;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.btn-panel-goedkeuren:hover{background:#218838}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200;padding:1rem}.modal-content{background:#fff;border-radius:12px;max-width:700px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.afkeur-modal{max-width:800px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:#f8d7da;border-bottom:1px solid #f5c6cb}.modal-header h2{margin:0;font-size:1.25rem;color:#721c24}.btn-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#721c24;padding:0;line-height:1}.modal-body{padding:1.5rem;overflow-y:auto;flex:1}.afkeur-summary{background:#f8f9fa;padding:1rem;border-radius:8px;margin-bottom:1.5rem;font-size:.95rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#2c3e50}.form-group textarea{width:100%;padding:.75rem;border:1px solid #dee2e6;border-radius:8px;font-size:.95rem;resize:vertical;font-family:inherit}.form-group textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-alpha)}.line-feedback-section h4{margin:0 0 .25rem;font-size:.95rem;color:#2c3e50}.feedback-hint{margin:0 0 .75rem;font-size:.8rem;color:#7f8c8d}.line-feedback-list{max-height:350px;overflow-y:auto;border:1px solid #e9ecef;border-radius:8px}.line-feedback-item{padding:.5rem .75rem;border-bottom:1px solid #f0f2f5;transition:background .15s}.line-feedback-item:last-child{border-bottom:none}.line-feedback-item.highlight-oranje{background:#fff8e1}.line-feedback-item.highlight-rood{background:#ffebee}.line-feedback-item.selected{background:#e3f2fd;border-left:3px solid #2196f3}.line-feedback-item.highlight-oranje.selected{background:#fff3e0;border-left:3px solid #ff9800}.line-feedback-item.highlight-rood.selected{background:#ffcdd2;border-left:3px solid #f44336}.regel-row{display:flex;align-items:center;gap:.75rem}.checkbox-label{position:relative;cursor:pointer;display:flex;align-items:center}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-accent)}.regel-summary{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.8rem;flex:1;align-items:center}.regel-summary span{padding:.125rem .5rem;border-radius:4px;background:#f8f9fa}.regel-summary .datum{font-weight:600}.regel-summary .type{color:#fff}.afwijking-mini{font-size:.7rem;font-weight:600}.afwijking-mini.oranje{background:#fff3e0;color:#e65100}.afwijking-mini.rood{background:#ffebee;color:#c62828}.feedback-input-row{margin-top:.5rem;padding-left:2rem}.feedback-input-row input{width:100%;padding:.5rem;border:1px solid #2196f3;border-radius:6px;font-size:.85rem;background:#fff}.feedback-input-row input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px #667eea33}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid #e9ecef;background:#f8f9fa}.btn-secondary{background:#e9ecef;color:#495057;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer}.btn-secondary:hover{background:#dee2e6}.btn-danger{background:#dc3545;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer}.btn-danger:hover{background:#c82333}.btn-danger:disabled{background:#ccc;cursor:not-allowed}.loading-inline{padding:2rem;text-align:center;color:#7f8c8d}@media(max-width:1024px){.declaraties-toolbar,.toolbar-filters{flex-direction:column;align-items:stretch}.status-tabs{overflow-x:auto}.extra-filters{flex-wrap:wrap}.search-input{flex:1;min-width:150px}.detail-panel{width:100%;max-width:100%}}@media(max-width:768px){.declaraties-toolbar{padding:.75rem}.status-tabs .tab{padding:.4rem .75rem;font-size:.8rem}.declaraties-spreadsheet{padding:.5rem}.spreadsheet-table{font-size:.8rem}.spreadsheet-table th,.spreadsheet-table td{padding:.5rem .375rem}.col-extra,.col-factuur,.col-status{display:none}.col-medewerker{min-width:100px}.btn-actie{width:24px;height:24px;font-size:.75rem}.panel-summary{flex-wrap:wrap}.dienst-item{font-size:.75rem}}@media(max-width:480px){.status-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.status-tabs .tab{flex-shrink:0}.col-afwijking{display:none}.col-bedrag{width:80px}.modal-content{max-height:100vh;border-radius:0}}.factuur-link{color:#00796b;text-decoration:none;font-size:.85rem;font-weight:500}.factuur-link:hover{text-decoration:underline}.no-factuur{color:#adb5bd}.status-factuur-verzonden{background:#00796b;color:#fff}.panel-factuur-info{background:#e8f5e9;border:1px solid #c8e6c9;border-radius:8px;padding:.75rem 1rem;margin-bottom:1rem}.factuur-info-row{display:flex;justify-content:space-between;margin-bottom:.25rem;font-size:.9rem}.factuur-info-row .label{color:#666}.factuur-info-row .value{font-weight:600}.btn-panel-factuur{display:inline-block;margin-top:.5rem;padding:.35rem .75rem;background:#00796b;color:#fff;border-radius:5px;text-decoration:none;font-size:.85rem;font-weight:500;transition:background .2s}.btn-panel-factuur:hover{background:#005a4f;color:#fff}.client-uren-overzicht{min-height:100vh;background:#f5f5f5}.cuo-content{max-width:1400px;margin:0 auto;padding:.75rem 1.5rem 1.5rem}.cuo-filters{display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap;margin-bottom:.75rem}.cuo-date-range{display:flex;align-items:flex-end;gap:.5rem}.cuo-date-field{display:flex;flex-direction:column;gap:.125rem}.cuo-date-field label{font-size:.625rem;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px}.cuo-date-field input[type=date]{padding:.375rem .5rem;border:1px solid #ccc;border-radius:4px;font-size:.875rem;height:32px}.cuo-date-sep{font-size:.85rem;color:#666;padding-bottom:.375rem}.cuo-status-filter{display:flex;flex-direction:column;gap:.125rem}.cuo-status-filter label{font-size:.625rem;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px}.cuo-status-filter select{padding:.375rem .5rem;border:1px solid #ccc;border-radius:4px;font-size:.875rem;min-width:140px;height:32px}.cuo-summary{display:flex;gap:.75rem;margin-left:auto;flex-wrap:wrap}.summary-item{background:#fff;padding:.5rem 1rem;border-radius:6px;box-shadow:0 1px 2px #00000014;display:flex;flex-direction:column;min-width:100px;border:1px solid #e5e7eb}.summary-label{font-size:.625rem;color:#666;text-transform:uppercase;letter-spacing:.5px}.summary-value{font-size:1.25rem;font-weight:600;color:#333}.cuo-error{background:#fee2e2;color:#dc2626;padding:1rem;border-radius:8px;margin-bottom:1rem}.cuo-loading{text-align:center;padding:3rem;color:#666}.cuo-table-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.cuo-table{width:100%;border-collapse:collapse}.cuo-table th,.cuo-table td{padding:.875rem 1rem;text-align:left;border-bottom:1px solid #e5e7eb}.cuo-table th{background:#f9fafb;font-weight:600;font-size:.8125rem;text-transform:uppercase;letter-spacing:.5px;color:#6b7280}.cuo-table tbody tr{cursor:pointer;transition:background .15s ease}.cuo-table tbody tr:hover{background:#f3f4f6}.cuo-table tbody tr.selected{background:#e0f2fe}.client-name{font-weight:500;color:#111}.text-center{text-align:center!important}.status-badge{display:inline-block;padding:.25rem .625rem;border-radius:9999px;font-size:.75rem;font-weight:500}.status-verwerkt{background:#dcfce7;color:#166534}.status-deels{background:#fef3c7;color:#92400e}.status-niet{background:#fee2e2;color:#991b1b}.btn-detail{padding:.375rem .75rem;border:1px solid #ccc;border-radius:4px;background:#fff;cursor:pointer;transition:all .15s ease}.btn-detail:hover{background:#f3f4f6}.cuo-detail-panel{position:fixed;top:0;left:0;right:0;width:100%;height:100vh;background:#fff;z-index:100;display:flex;flex-direction:column;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.detail-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;border-bottom:1px solid #e5e7eb;background:var(--color-primary-gradient);color:#fff}.detail-title h3{margin:0 0 .25rem;font-size:1.125rem}.detail-period{font-size:.875rem;opacity:.9}.btn-close{background:#fff3;border:none;color:#fff;font-size:1.5rem;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease}.btn-close:hover{background:#ffffff4d}.detail-loading{padding:3rem;text-align:center;color:#666}.detail-summary{display:flex;gap:2rem;padding:1rem 2rem;background:#f9fafb;border-bottom:1px solid #e5e7eb;justify-content:flex-start}.summary-box{display:flex;flex-direction:column;text-align:center}.summary-box .label{font-size:.6875rem;color:#6b7280;text-transform:uppercase;letter-spacing:.3px}.summary-box .value{font-size:1.125rem;font-weight:600;color:#111}.summary-box .value.highlight{color:#dc2626}.medewerker-totalen{padding:1rem 2rem;border-bottom:1px solid #e5e7eb}.medewerker-totalen h4{margin:0 0 .75rem;font-size:.875rem;color:#374151}.medewerker-list{display:flex;flex-wrap:wrap;gap:.5rem}.medewerker-item{display:flex;gap:1rem;align-items:center;padding:.5rem 1rem;background:#f3f4f6;border-radius:4px;font-size:.875rem}.medewerker-item .naam{font-weight:500;min-width:150px}.medewerker-item .uren{color:#6b7280}.medewerker-item .bedrag{font-weight:500}.diensten-list{flex:1;overflow:hidden;display:flex;flex-direction:column;padding:1rem 2rem}.diensten-list h4{margin:0 0 .75rem;font-size:.875rem;color:#374151}.diensten-table-container{flex:1;overflow-y:auto;border:1px solid #e5e7eb;border-radius:4px}.diensten-table{width:100%;border-collapse:collapse;font-size:.875rem}.diensten-table th,.diensten-table td{padding:.625rem 1rem;text-align:left;border-bottom:1px solid #e5e7eb}.diensten-table th{background:#f9fafb;font-weight:600;position:sticky;top:0;z-index:1;white-space:nowrap}.diensten-table tr.verwerkt{background:#f0fdf4;color:#6b7280}.dienst-type-badge{display:inline-block;padding:.125rem .375rem;border-radius:3px;font-size:.6875rem;color:#fff}.status-icon{display:inline-block;width:20px;height:20px;line-height:20px;text-align:center;border-radius:50%;font-size:.75rem}.status-icon.verwerkt{background:#dcfce7;color:#166534}.declaratie-status{display:inline-block;width:20px;height:20px;line-height:20px;text-align:center;border-radius:50%;font-size:.75rem}.declaratie-status{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.declaratie-status.goedgekeurd{background:#dcfce7;color:#166534}.declaratie-status.ingediend{background:#dbeafe;color:#1e40af}.declaratie-status.concept{background:#fef3c7;color:#92400e}.declaratie-status.afgekeurd{background:#fee2e2;color:#991b1b}.declaratie-status.niet_gedeclareerd{background:#f3f4f6;color:#6b7280}.status-icon.niet-verwerkt{background:#f3f4f6;color:#9ca3af}.detail-actions{padding:1rem 2rem;border-top:1px solid #e5e7eb;display:flex;gap:1rem;flex-wrap:wrap;background:#f9fafb;justify-content:flex-start}.btn-group{display:flex;gap:.25rem}.btn{padding:.5rem 1rem;border:1px solid #ccc;border-radius:4px;font-size:.875rem;cursor:pointer;transition:all .15s ease}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:#fff;color:#374151}.btn-secondary:hover:not(:disabled){background:#f3f4f6}.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-success{background:#16a34a;color:#fff;border-color:#16a34a}.btn-success:hover:not(:disabled){background:#15803d;border-color:#15803d}.all-processed-notice{padding:.75rem 1.5rem;background:#dcfce7;color:#166534;text-align:center;font-size:.875rem}.btn-ons{background:#d97706;color:#fff;border-color:#d97706}.btn-ons:hover:not(:disabled){background:#b45309;border-color:#b45309}.ons-export-content{max-height:60vh;overflow-y:auto}.ons-section{margin-bottom:1.25rem}.ons-section h4{margin:0 0 .5rem;font-size:.875rem;color:#374151;font-weight:600}.ons-client-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:.75rem 1rem}.ons-field{display:flex;flex-direction:column;gap:.125rem}.ons-label{font-size:.6875rem;color:#6b7280;text-transform:uppercase;letter-spacing:.025em}.ons-value{font-size:.8125rem;color:#111827}.ons-missing{color:#d97706;background:#fef3c7;padding:.125rem .375rem;border-radius:3px;font-size:.75rem;font-weight:500}.ons-validation{padding:.5rem .75rem;border-radius:4px;font-size:.8125rem;margin-bottom:.375rem}.ons-validation.error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.ons-validation.warning{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.ons-row-warning{background:#fffbeb}.ons-productcode{background:#dbeafe;color:#1e40af;padding:.125rem .5rem;border-radius:3px;font-size:.75rem;font-weight:600;font-family:monospace}.ons-summary-grid{display:flex;flex-wrap:wrap;gap:.5rem}.ons-summary-item{display:flex;align-items:center;gap:.5rem;background:#f0f9ff;border:1px solid #bae6fd;border-radius:4px;padding:.375rem .75rem;font-size:.8125rem}.ons-summary-item.warning{background:#fffbeb;border-color:#fde68a}.ons-summary-code{font-weight:700;font-family:monospace;color:#1e40af}.ons-summary-detail{color:#6b7280}.export-preview{max-height:60vh;overflow:hidden;display:flex;flex-direction:column}.preview-header{margin-bottom:1rem}.preview-header p{margin:0;line-height:1.6}.preview-header .warning{margin-top:.75rem;padding:.5rem .75rem;background:#fef3c7;color:#92400e;border-radius:4px}.preview-table-container{flex:1;overflow-y:auto;border:1px solid #e5e7eb;border-radius:4px}.preview-table{width:100%;border-collapse:collapse;font-size:.8125rem}.preview-table th,.preview-table td{padding:.5rem .625rem;text-align:left;border-bottom:1px solid #e5e7eb}.preview-table th{background:#f9fafb;font-weight:600;position:sticky;top:0}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e5e7eb}@media(max-width:768px){.cuo-filters{flex-direction:column;align-items:stretch}.cuo-summary{margin-left:0;margin-top:.5rem}.summary-item{flex:1}.cuo-detail-panel{width:100%}.detail-summary{grid-template-columns:repeat(2,1fr)}.detail-actions{flex-direction:column}.btn-group{width:100%}.btn-group .btn{flex:1}}.notificaties-page{max-width:800px;margin:0 auto;padding:1.5rem}.notificaties-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.header-left{display:flex;align-items:center;gap:1rem}.notificaties-header h1{margin:0;font-size:1.75rem;color:#2c3e50}.unread-badge{background:var(--color-accent);color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.85rem;font-weight:500}.header-actions{display:flex;gap:.75rem}.refresh-btn{background:none;border:1px solid #e9ecef;padding:.5rem .75rem;border-radius:8px;cursor:pointer;font-size:1.1rem;transition:all .2s}.refresh-btn:hover{background:#f8f9fa;transform:rotate(90deg)}.refresh-btn:disabled{opacity:.5;cursor:not-allowed}.mark-all-btn{background:var(--color-accent);color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background-color .2s}.mark-all-btn:hover{background:#5a6fd6}.notificaties-filters{background:#fff;border-radius:12px;padding:1rem;margin-bottom:1.5rem;box-shadow:0 2px 8px #00000014}.filter-tabs{display:flex;gap:.5rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e9ecef}.filter-tab{background:#f8f9fa;border:none;padding:.5rem 1rem;border-radius:20px;cursor:pointer;font-size:.9rem;color:#6c757d;transition:all .2s}.filter-tab:hover{background:#e9ecef}.filter-tab.active{background:var(--color-accent);color:#fff}.type-filters{display:flex;flex-wrap:wrap;gap:.5rem}.type-filter{display:flex;align-items:center;gap:.4rem;background:#f8f9fa;border:1px solid #e9ecef;padding:.4rem .75rem;border-radius:8px;cursor:pointer;font-size:.85rem;transition:all .2s}.type-filter:hover{background:#f0f0f0}.type-filter.active{background:var(--type-color, var(--color-accent));color:#fff;border-color:var(--type-color, var(--color-accent))}.type-icon{font-size:.95rem}.type-label{font-weight:500}.type-count{background:#0000001a;padding:.1rem .4rem;border-radius:4px;font-size:.75rem}.type-filter.active .type-count{background:#ffffff4d}.notificaties-content{min-height:300px}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;color:#6c757d}.empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.empty-state h3{margin:0 0 .5rem;color:#495057}.empty-state p{margin:0}.spinner{width:40px;height:40px;border:3px solid #e9ecef;border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.day-group{margin-bottom:2rem}.day-header{font-size:.9rem;font-weight:600;color:#6c757d;text-transform:capitalize;margin-bottom:.75rem;padding-left:.5rem}.notification-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.notification-card{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:1rem;background:#fff;border-radius:12px;padding:1rem 1.25rem;box-shadow:0 2px 8px #00000014;transition:all .2s;overflow:hidden}.notification-card:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-1px)}.notification-card.unread{background:linear-gradient(135deg,#f8f9ff,#fff)}.card-accent{position:absolute;left:0;top:0;bottom:0;width:4px}.card-icon{font-size:1.75rem;display:flex;align-items:flex-start;padding-top:.25rem}.card-content{min-width:0}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.375rem}.card-type{font-size:.75rem;font-weight:600;color:#6c757d;text-transform:uppercase;letter-spacing:.5px}.card-time{font-size:.8rem;color:#adb5bd}.card-title{margin:0 0 .375rem;font-size:1rem;font-weight:600;color:#2c3e50}.card-message{margin:0;font-size:.9rem;color:#6c757d;line-height:1.5;white-space:pre-line}.card-link{display:inline-block;margin-top:.75rem;color:var(--color-accent);text-decoration:none;font-size:.9rem;font-weight:500;background:none;border:none;padding:0;cursor:pointer}.card-link:hover{text-decoration:underline}.takeover-actions{display:flex;gap:.75rem;margin-top:.75rem}.takeover-btn{padding:.5rem 1.25rem;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.takeover-btn:disabled{opacity:.6;cursor:not-allowed}.takeover-btn.approve{background:#28a745;color:#fff}.takeover-btn.approve:hover:not(:disabled){background:#218838}.takeover-btn.reject{background:#f8f9fa;color:#dc3545;border:1px solid #dc3545}.takeover-btn.reject:hover:not(:disabled){background:#dc3545;color:#fff}.takeover-result{margin-top:.75rem;padding:.5rem .75rem;border-radius:6px;font-size:.85rem;font-weight:500}.takeover-result.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.takeover-result.error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.card-actions{display:flex;flex-direction:column;gap:.5rem;opacity:0;transition:opacity .2s}.notification-card:hover .card-actions{opacity:1}.action-btn{width:28px;height:28px;border-radius:50%;border:none;background:#f0f0f0;cursor:pointer;font-size:.85rem;display:flex;align-items:center;justify-content:center;transition:all .2s}.action-btn:hover{background:var(--color-accent);color:#fff}.action-btn.hide:hover{background:#dc3545}.unread-indicator{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:8px;height:8px;background:var(--color-accent);border-radius:50%}@media(max-width:768px){.notificaties-page{padding:1rem}.notificaties-header{flex-direction:column;gap:1rem;align-items:flex-start}.header-actions{width:100%;justify-content:space-between}.filter-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:.75rem}.type-filters{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-bottom:.5rem}.notification-card{grid-template-columns:auto 1fr;padding:.875rem 1rem}.card-actions{position:absolute;top:.5rem;right:.5rem;flex-direction:row;opacity:1}}@media(max-width:480px){.notificaties-header h1{font-size:1.4rem}.card-icon{font-size:1.5rem}.card-title{font-size:.95rem}.card-message{font-size:.85rem}}.card-photos{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}.card-photo{width:80px;height:80px;object-fit:cover;border-radius:6px;cursor:pointer;border:1px solid #e0e0e0;transition:transform .15s ease}.card-photo:hover{transform:scale(1.05)}.help-page{min-height:100vh;background:#f5f7fa}.help-content{max-width:1400px;margin:0 auto;padding:0 2rem 2rem}.help-search-bar{position:relative;margin-bottom:1.5rem}.help-search-input{width:100%;padding:.875rem 3rem .875rem 1.25rem;border:2px solid #e5e7eb;border-radius:10px;font-size:1rem;background:#fff;transition:border-color .2s;box-sizing:border-box}.help-search-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-alpha)}.help-search-clear{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:1.25rem;color:#999;cursor:pointer;padding:.25rem .5rem;line-height:1}.help-search-clear:hover{color:#333}.help-loading,.help-empty{text-align:center;padding:3rem;color:#7f8c8d;font-size:1rem}.help-category{margin-bottom:1.5rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;overflow:hidden}.help-category-header{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:#f8f9fc;border-bottom:1px solid #e5e7eb}.help-category-info{flex:1}.help-category-info h2{margin:0;font-size:1.2rem;font-weight:600;color:#2c3e50}.help-category-info p{margin:.125rem 0 0;font-size:.8rem;color:#7f8c8d}.help-admin-badge{padding:.2rem .5rem;background:var(--color-admin);color:#fff;font-size:.65rem;font-weight:600;border-radius:4px;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.help-articles-list{padding:0}.help-article{border-bottom:1px solid #f0f0f0}.help-article:last-child{border-bottom:none}.help-article-question{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.875rem 1.25rem;background:none;border:none;text-align:left;font-size:1.05rem;font-weight:500;color:#2c3e50;cursor:pointer;transition:background .15s}.help-article-question:hover{background:#f8f9fc}.help-article.open .help-article-question{background:#f0f4ff;color:var(--color-accent)}.help-article-text{flex:1}.help-article-chevron{font-size:.7rem;color:#999;flex-shrink:0}.help-article.open .help-article-chevron{color:var(--color-accent)}.help-article-answer{padding:0 1.25rem 1rem;font-size:1rem;line-height:1.7;color:#4a5568}.help-article-answer strong{color:#2c3e50}.help-article-answer ul{margin:.5rem 0;padding-left:1.25rem}.help-article-answer li{margin-bottom:.25rem}@media(max-width:768px){.help-content{padding:0 1rem 1rem}.help-search-input{padding:.75rem 2.5rem .75rem 1rem;font-size:.95rem}.help-category-header{padding:.875rem 1rem}.help-category-info h2{font-size:1rem}.help-article-question{padding:.75rem 1rem;font-size:.9rem}.help-article-answer{padding:0 1rem .875rem;font-size:.85rem}}.help-beheer-page{min-height:100vh;background:#f5f7fa}.help-beheer-content{max-width:1000px;margin:0 auto;padding:0 2rem 2rem}.help-beheer-tabs{display:flex;gap:0;margin-bottom:1.5rem;background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000000f;overflow:hidden}.help-tab{flex:1;padding:.875rem 1.5rem;border:none;background:#fff;font-size:.95rem;font-weight:500;color:#7f8c8d;cursor:pointer;transition:all .2s}.help-tab:hover{background:#f8f9fc}.help-tab.active{background:var(--color-accent);color:#fff;font-weight:600}.help-beheer-loading{text-align:center;padding:3rem;color:#7f8c8d}.help-beheer-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.help-beheer-filter{padding:.5rem 1rem;border:1px solid #e5e7eb;border-radius:8px;font-size:.9rem;background:#fff;min-width:200px}.help-beheer-list{display:flex;flex-direction:column;gap:.5rem}.help-beheer-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.875rem 1rem;background:#fff;border-radius:8px;box-shadow:0 1px 4px #0000000f;transition:box-shadow .2s}.help-beheer-item:hover{box-shadow:0 2px 8px #0000001a}.help-beheer-item-info{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.help-beheer-icon{font-size:1.5rem;flex-shrink:0}.help-beheer-item-info>div{display:flex;flex-direction:column;min-width:0}.help-beheer-item-info strong{font-size:.9rem;color:#2c3e50;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.help-beheer-item-info small{font-size:.75rem;color:#7f8c8d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.help-badge-admin{padding:.15rem .4rem;background:var(--color-admin);color:#fff;font-size:.6rem;font-weight:600;border-radius:3px;text-transform:uppercase;flex-shrink:0}.help-badge-count{padding:.15rem .4rem;background:#e5e7eb;color:#666;font-size:.6rem;font-weight:500;border-radius:3px;flex-shrink:0;white-space:nowrap}.help-beheer-item-actions{display:flex;gap:.25rem;flex-shrink:0}.btn-icon-sm{width:32px;height:32px;border:1px solid #e5e7eb;border-radius:6px;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.75rem;transition:all .15s}.btn-icon-sm:hover:not(:disabled){background:#f0f0f0}.btn-icon-sm:disabled{opacity:.3;cursor:not-allowed}.btn-icon-sm.btn-delete:hover:not(:disabled){background:#fee;border-color:#e74c3c}.help-beheer-empty{text-align:center;padding:2rem;color:#7f8c8d;background:#fff;border-radius:8px}.help-beheer-page .form-group{margin-bottom:1rem}.help-beheer-page .form-group label{display:block;margin-bottom:.375rem;font-weight:500;font-size:.9rem;color:#2c3e50}.help-beheer-page .form-group input[type=text],.help-beheer-page .form-group select,.help-beheer-page .form-group textarea{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;box-sizing:border-box}.help-beheer-page .form-group textarea{resize:vertical;font-family:inherit}.help-beheer-page .checkbox-label{display:flex!important;align-items:center;gap:.5rem;cursor:pointer}.help-beheer-page .checkbox-label input[type=checkbox]{width:auto}@media(max-width:768px){.help-beheer-content{padding:0 1rem 1rem}.help-beheer-toolbar{flex-direction:column;align-items:stretch}.help-beheer-filter{min-width:0}.help-beheer-item{flex-direction:column;align-items:stretch;gap:.5rem}.help-beheer-item-actions{justify-content:flex-end}.help-beheer-item-info strong{white-space:normal}}.audit-log{padding:0 var(--spacing-xl) var(--spacing-xl) var(--spacing-xl);max-width:1400px;margin:0 auto}.audit-filters{display:flex;gap:var(--spacing-md);flex-wrap:wrap;align-items:flex-end;margin-bottom:var(--spacing-lg);padding:var(--spacing-lg);background:var(--color-bg-secondary);border-radius:var(--radius-md);border:1px solid var(--color-border)}.filter-group{display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:160px}.filter-group label{font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.filter-group select,.filter-group input{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--color-bg);color:var(--color-text)}.audit-table-wrapper{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-md)}.audit-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.audit-table th{background:var(--color-bg-secondary);padding:var(--spacing-sm) var(--spacing-md);text-align:left;font-weight:600;color:var(--color-text-muted);border-bottom:2px solid var(--color-border);white-space:nowrap}.audit-table td{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border);vertical-align:top}.audit-table tr:hover{background:var(--color-bg-secondary)}.audit-actie{display:inline-block;padding:2px 8px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:600;white-space:nowrap}.audit-actie.declaratie{background:#dbeafe;color:#1e40af}.audit-actie.dienst{background:#d1fae5;color:#065f46}.audit-actie.gebruiker{background:#fef3c7;color:#92400e}.audit-actie.client{background:#e0e7ff;color:#3730a3}.audit-actie.template{background:#fce7f3;color:#9d174d}.audit-actie.systeem{background:#f3e8ff;color:#6b21a8}.audit-details{max-width:300px;font-size:var(--font-size-xs);color:var(--color-text-muted);word-break:break-word}.audit-details code{background:var(--color-bg-secondary);padding:1px 4px;border-radius:3px;font-size:var(--font-size-xs)}.audit-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:var(--spacing-lg);padding:var(--spacing-md)}.audit-pagination-info{font-size:var(--font-size-sm);color:var(--color-text-muted)}.audit-pagination-btns{display:flex;gap:var(--spacing-sm)}.audit-pagination-btns button{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);cursor:pointer;color:var(--color-text)}.audit-pagination-btns button:disabled{opacity:.5;cursor:not-allowed}.audit-pagination-btns button:hover:not(:disabled){background:var(--color-border)}.audit-empty{text-align:center;padding:var(--spacing-2xl);color:var(--color-text-muted)}.audit-loading{text-align:center;padding:var(--spacing-xl);color:var(--color-text-muted)}@media(max-width:768px){.audit-log{padding:0 var(--spacing-md) var(--spacing-md) var(--spacing-md)}.audit-filters{flex-direction:column}.filter-group{width:100%}}.ovo-beheer-page{min-height:100vh;background:var(--color-bg-secondary)}.ovo-beheer-content{max-width:900px;margin:0 auto;padding:0 2rem 2rem}.ovo-upload-section{margin-bottom:1.5rem;padding:1.25rem;background:var(--color-bg-primary);border-radius:10px;box-shadow:0 2px 8px #0000000f}.ovo-upload-btn{padding:.75rem 1.5rem;font-size:.95rem;font-weight:600}.ovo-upload-btn:disabled{opacity:.6;cursor:not-allowed}.ovo-upload-hint{margin:.5rem 0 0;font-size:.8rem;color:var(--color-text-muted)}.ovo-loading{text-align:center;padding:3rem;color:var(--color-text-muted)}.ovo-empty{text-align:center;padding:3rem;color:var(--color-text-muted);background:var(--color-bg-primary);border-radius:10px;box-shadow:0 2px 8px #0000000f}.ovo-documents-list{display:flex;flex-direction:column;gap:.75rem}.ovo-document-card{background:var(--color-bg-primary);border-radius:10px;border:2px solid transparent;box-shadow:0 2px 8px #0000000f;overflow:hidden;transition:box-shadow .2s,border-color .2s}.ovo-document-card:hover{box-shadow:0 4px 12px #0000001a}.ovo-document-card.actief{border-color:var(--color-primary);background:var(--color-primary-light)}.ovo-document-card.gearchiveerd{opacity:.65}.ovo-document-card.gearchiveerd:hover{opacity:.8}.ovo-document-main{padding:1rem 1.25rem;cursor:pointer;-webkit-user-select:none;user-select:none}.ovo-document-main:hover{background:#00000005}.ovo-document-card.actief .ovo-document-main:hover{background:#00000008}.ovo-document-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.ovo-document-title{display:flex;align-items:center;gap:.5rem;min-width:0;flex:1}.ovo-version{font-weight:700;font-size:.95rem;color:var(--color-accent);flex-shrink:0}.ovo-filename{font-weight:500;font-size:.9rem;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ovo-status-badge{display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:12px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;flex-shrink:0;white-space:nowrap}.ovo-status-badge.concept{background:var(--color-border-light);color:var(--color-text)}.ovo-status-badge.actief{background:#d1fae5;color:#065f46}.ovo-status-badge.gearchiveerd{background:var(--color-bg-tertiary);color:var(--color-text-muted)}.ovo-document-info{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem}.ovo-info-item{font-size:.8rem;color:var(--color-text-light)}.ovo-document-card.actief .ovo-info-item{color:var(--color-text)}.ovo-actions{display:flex;gap:.5rem;padding:0 1.25rem 1rem;justify-content:flex-end}.btn-ovo{padding:.4rem 1rem;border:1px solid;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s;background:var(--color-bg-primary)}.btn-ovo:hover{transform:translateY(-1px)}.btn-ovo-activate{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.btn-ovo-activate:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);color:#fff}.btn-ovo-delete{border-color:var(--color-danger);color:var(--color-danger)}.btn-ovo-delete:hover{background:var(--color-danger);color:#fff}.btn-ovo-archive{border-color:var(--color-text-light);color:var(--color-text-light)}.btn-ovo-archive:hover{background:var(--color-text-light);color:#fff}.btn-ovo-signatures{border-color:var(--color-accent);color:var(--color-accent)}.btn-ovo-signatures:hover{background:var(--color-accent);color:#fff}.ovo-signatures-section{border-top:1px solid var(--color-border-light);padding:1rem 1.25rem;background:var(--color-bg-secondary)}.ovo-signatures-loading{text-align:center;padding:1rem;color:var(--color-text-muted);font-size:.85rem}.ovo-signatures-summary{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.ovo-sig-count{font-size:.9rem;font-weight:600;color:var(--color-text)}.ovo-signatures-empty{text-align:center;color:var(--color-text-muted);font-size:.85rem;padding:.5rem 0;margin:0}.ovo-signatures-table-wrapper{overflow-x:auto}.ovo-signatures-table{width:100%;border-collapse:collapse;font-size:.85rem}.ovo-signatures-table th{text-align:left;padding:.5rem .75rem;border-bottom:2px solid var(--color-border-light);color:var(--color-text-light);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.ovo-signatures-table td{padding:.5rem .75rem;border-bottom:1px solid var(--color-bg-tertiary);color:var(--color-text);vertical-align:top}.ovo-signatures-table tbody tr:hover{background:var(--color-bg-secondary)}.ovo-sig-name{display:block;font-weight:500;color:var(--color-text)}.ovo-sig-email{display:block;font-size:.75rem;color:var(--color-text-muted)}.ovo-sig-download{display:inline-block;padding:.2rem .6rem;background:var(--color-primary);color:#fff;border-radius:4px;font-size:.75rem;font-weight:600;text-decoration:none;transition:all .15s}.ovo-sig-download:hover{background:#3d9a86;transform:translateY(-1px);box-shadow:0 2px 6px #4dac964d}.ovo-preview{margin-top:1.5rem;background:var(--color-bg-primary);border-radius:10px;box-shadow:0 2px 8px #0000000f;overflow:hidden}.ovo-preview-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.25rem;border-bottom:1px solid var(--color-border-light)}.ovo-preview-header h3{margin:0;font-size:.95rem;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-ovo-close{padding:.35rem .8rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg-primary);font-size:.8rem;font-weight:500;color:var(--color-text-light);cursor:pointer;transition:all .15s;flex-shrink:0}.btn-ovo-close:hover{background:var(--color-bg-tertiary);border-color:var(--color-text-muted)}.ovo-preview-iframe{width:100%;height:80vh;border:none;display:block}.ovo-docx-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem 2rem;text-align:center;color:var(--color-text-light)}.ovo-docx-preview-icon{width:64px;height:64px;background:#2b579a;color:#fff;font-size:2rem;font-weight:700;display:flex;align-items:center;justify-content:center;border-radius:8px}.ovo-docx-preview p{margin:0;font-size:.9rem}.ovo-activate-modal .confirm-modal-body{padding-bottom:.5rem}.ovo-checkbox-label{display:flex;align-items:flex-start;gap:.6rem;margin-top:1rem;cursor:pointer;font-size:.9rem;color:var(--color-text);font-weight:500;line-height:1.4}.ovo-checkbox-label span{padding-top:1px}.ovo-checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer;flex-shrink:0}.ovo-checkbox-hint{margin:.5rem 0 0;font-size:.8rem;color:var(--color-text-muted);font-style:italic}.ovo-checkbox-hint-warning{color:var(--color-danger);font-weight:500}.btn-ovo-activate-confirm{background:var(--color-primary)!important;border-color:var(--color-primary)!important;color:#fff!important}.btn-ovo-activate-confirm:hover{background:var(--color-primary-hover)!important;border-color:var(--color-primary-hover)!important}.ovo-placeholder-validation{margin-bottom:1.5rem;padding:1rem 1.25rem;background:var(--color-bg-primary);border-radius:10px;box-shadow:0 2px 8px #0000000f}.ovo-pv-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.ovo-pv-header h4{margin:0;font-size:.95rem;font-weight:600;color:var(--color-text)}.ovo-pv-group{margin-bottom:.5rem}.ovo-pv-label{display:block;font-size:.8rem;font-weight:600;margin-bottom:.25rem}.ovo-pv-found .ovo-pv-label{color:#065f46}.ovo-pv-missing .ovo-pv-label{color:#b45309}.ovo-pv-unknown .ovo-pv-label{color:var(--color-text-light)}.ovo-pv-tags{display:flex;flex-wrap:wrap;gap:.35rem}.ovo-pv-tag{display:inline-block;padding:.15rem .5rem;border-radius:4px;font-size:.75rem;font-family:monospace}.ovo-pv-tag.found{background:#d1fae5;color:#065f46}.ovo-pv-tag.missing{background:#fef3c7;color:#92400e}.ovo-pv-tag.unknown{background:var(--color-bg-tertiary);color:var(--color-text-light)}.ovo-legend-toggle{display:inline-block;margin-top:.5rem;padding:0;border:none;background:none;color:var(--color-primary);font-size:.8rem;font-weight:500;cursor:pointer;text-decoration:underline}.ovo-legend-toggle:hover{color:var(--color-primary-hover)}.ovo-placeholder-legend{margin-top:.75rem;padding:1rem;background:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:8px}.ovo-legend-intro{font-size:.8rem;color:var(--color-text);margin:0 0 .75rem}.ovo-legend-intro code{background:#e5e7eb;padding:.1rem .3rem;border-radius:3px;font-size:.75rem}.ovo-legend-table{width:100%;border-collapse:collapse;font-size:.8rem}.ovo-legend-table th{text-align:left;padding:.35rem .5rem;border-bottom:2px solid var(--color-border-light);color:var(--color-text-light);font-weight:600;font-size:.7rem;text-transform:uppercase}.ovo-legend-table td{padding:.3rem .5rem;border-bottom:1px solid var(--color-bg-tertiary);color:var(--color-text)}.ovo-legend-table td:first-child{font-family:monospace;font-size:.75rem;white-space:nowrap}.ovo-legend-table td code{background:#e5e7eb;padding:.1rem .3rem;border-radius:3px}.ovo-legend-table tbody tr:hover{background:var(--color-bg-secondary)}@media(max-width:768px){.ovo-beheer-content{padding:0 1rem 1rem}.ovo-document-header{flex-direction:column;align-items:flex-start;gap:.375rem}.ovo-document-title{flex-wrap:wrap}.ovo-filename{white-space:normal;word-break:break-all}.ovo-document-info{flex-direction:column;gap:.25rem}.ovo-actions{flex-wrap:wrap}.ovo-preview-header{flex-direction:column;gap:.5rem;align-items:flex-start}.ovo-preview-iframe{height:60vh}.ovo-signatures-table th:nth-child(2),.ovo-signatures-table td:nth-child(2){display:none}}@media(max-width:480px){.ovo-upload-btn{width:100%;text-align:center}.btn-ovo{flex:1;text-align:center}.ovo-preview-iframe{height:50vh}}.developer-module{min-height:100vh;background:var(--color-bg-primary, #f5f7fa)}.dev-tabs{display:flex;justify-content:center;gap:.25rem;padding:0 1rem;background:var(--color-bg-white, #fff);border-bottom:2px solid var(--color-border, #e0e0e0);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.dev-tabs::-webkit-scrollbar{display:none}.dev-tab{display:flex;align-items:center;gap:.35rem;padding:.65rem .8rem;border:none;background:none;cursor:pointer;font-size:var(--font-size-sm, .85rem);color:var(--color-text-muted, #6c757d);white-space:nowrap;border-bottom:3px solid transparent;transition:all .2s;margin-bottom:-2px}.dev-tab:hover{color:var(--color-text-primary, #333);background:var(--color-bg-secondary, #f8f9fa)}.dev-tab-active{color:var(--color-primary, #3d9980);border-bottom-color:var(--color-primary, #3d9980);font-weight:600}.dev-tab-icon{font-size:1rem}.dev-tab-label{font-size:var(--font-size-sm, .85rem)}.dev-content{padding:1rem;max-width:1400px;margin:0 auto}.dev-tab-content{animation:devFadeIn .2s ease}@keyframes devFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.dev-loading{text-align:center;padding:3rem;color:var(--color-text-muted, #6c757d);font-size:var(--font-size-base, .95rem)}.dev-error{background:#fff5f5;color:#c53030;padding:1rem;border-radius:var(--radius-md, 8px);border:1px solid #fed7d7}.dev-section-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.dev-info-card{background:var(--color-bg-white, #fff);border-radius:var(--radius-md, 8px);padding:1rem;border:1px solid var(--color-border, #e0e0e0)}.dev-info-card h4{margin:0 0 .75rem;font-size:var(--font-size-base, .95rem);color:var(--color-text-primary, #333)}.dev-info-list{display:grid;grid-template-columns:auto 1fr;gap:.3rem .75rem;margin:0;font-size:var(--font-size-sm, .85rem)}.dev-info-list dt{color:var(--color-text-muted, #6c757d);font-weight:500}.dev-info-list dd{margin:0;color:var(--color-text-primary, #333);font-family:SFMono-Regular,Consolas,monospace;font-size:var(--font-size-xs, .8rem);word-break:break-all}.dev-badge{display:inline-block;padding:.15rem .5rem;border-radius:12px;font-size:var(--font-size-xs, .75rem);font-weight:600}.dev-badge-green{background:#d4edda;color:#155724}.dev-badge-yellow{background:#fff3cd;color:#856404}.dev-badge-red{background:#f8d7da;color:#721c24}.dev-badge-blue{background:#cce5ff;color:#004085}.dev-badge-gray{background:#e2e3e5;color:#383d41}.dev-env-badge{display:inline-block;padding:.2rem .6rem;border-radius:4px;font-size:var(--font-size-xs, .75rem);font-weight:700;letter-spacing:.5px;background:#e2e3e5;color:#383d41}.dev-table-wrapper{overflow-x:auto}.dev-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm, .85rem)}.dev-table th{text-align:left;padding:.5rem .6rem;background:var(--color-bg-secondary, #f8f9fa);color:var(--color-text-muted, #6c757d);font-weight:600;font-size:var(--font-size-xs, .8rem);text-transform:uppercase;letter-spacing:.3px;border-bottom:2px solid var(--color-border, #e0e0e0);white-space:nowrap}.dev-table td{padding:.45rem .6rem;border-bottom:1px solid var(--color-border-light, #f0f0f0);color:var(--color-text-primary, #333)}.dev-table tbody tr:hover{background:var(--color-bg-secondary, #f8f9fa)}.dev-table code{font-size:var(--font-size-xs, .8rem);background:var(--color-bg-secondary, #f0f1f3);padding:.1rem .35rem;border-radius:3px}.dev-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.dev-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem 1rem;border:1px solid var(--color-border, #ddd);border-radius:var(--radius-md, 6px);background:var(--color-bg-white, #fff);color:var(--color-text-primary, #333);font-size:var(--font-size-sm, .85rem);cursor:pointer;transition:all .15s}.dev-btn:hover:not(:disabled){background:var(--color-bg-secondary, #f0f1f3);border-color:var(--color-text-muted, #aaa)}.dev-btn:disabled{opacity:.5;cursor:not-allowed}.dev-btn-primary{background:var(--color-primary, #3d9980);color:#fff;border-color:var(--color-primary, #3d9980)}.dev-btn-primary:hover:not(:disabled){background:var(--color-primary-dark, #2d7a64);border-color:var(--color-primary-dark, #2d7a64)}.dev-btn-danger{background:#dc3545;color:#fff;border-color:#dc3545}.dev-btn-danger:hover:not(:disabled){background:#c82333;border-color:#c82333}.dev-btn-sm{padding:.3rem .6rem;font-size:var(--font-size-xs, .8rem)}.dev-toolbar{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-bottom:1rem}.dev-toolbar input,.dev-toolbar select{padding:.4rem .6rem;border:1px solid var(--color-border, #ddd);border-radius:var(--radius-md, 6px);font-size:var(--font-size-sm, .85rem);background:var(--color-bg-white, #fff)}.dev-toolbar input:focus,.dev-toolbar select:focus{outline:none;border-color:var(--color-primary, #3d9980);box-shadow:0 0 0 2px #3d998026}.dev-log-viewer{background:#1e1e1e;color:#d4d4d4;border-radius:var(--radius-md, 8px);padding:1rem;font-family:SFMono-Regular,Consolas,Courier New,monospace;font-size:.8rem;line-height:1.5;max-height:600px;overflow-y:auto;white-space:pre-wrap;word-break:break-all}.dev-log-line{padding:.15rem 0;border-bottom:1px solid #2d2d2d}.dev-log-line:hover{background:#2a2a2a}.dev-log-level-error{color:#f48771}.dev-log-level-warning{color:#cca700}.dev-log-level-notice{color:#6a9fb5}.dev-log-level-fatal{color:#ff6b6b;font-weight:700}.dev-log-timestamp{color:gray}.dev-confirm-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:devFadeIn .15s ease}.dev-confirm-modal{background:var(--color-bg-white, #fff);border-radius:var(--radius-lg, 12px);padding:1.5rem;max-width:500px;width:90%;box-shadow:0 20px 60px #0000004d}.dev-confirm-modal h3{margin:0 0 1rem;color:#dc3545}.dev-confirm-modal p{margin:0 0 1rem;font-size:var(--font-size-sm, .9rem);color:var(--color-text-muted, #6c757d)}.dev-confirm-input{width:100%;padding:.5rem;border:2px solid var(--color-border, #ddd);border-radius:var(--radius-md, 6px);font-size:var(--font-size-base, .95rem);margin-bottom:1rem;box-sizing:border-box}.dev-confirm-input:focus{outline:none;border-color:#dc3545}.dev-confirm-actions{display:flex;gap:.5rem;justify-content:flex-end}.dev-stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin-bottom:1rem}.dev-stat-card{background:var(--color-bg-white, #fff);border-radius:var(--radius-md, 8px);padding:.75rem;border:1px solid var(--color-border, #e0e0e0);text-align:center}.dev-stat-value{font-size:1.5rem;font-weight:700;color:var(--color-text-primary, #333)}.dev-stat-label{font-size:var(--font-size-xs, .75rem);color:var(--color-text-muted, #6c757d);margin-top:.2rem}.dev-cascade-list{list-style:none;padding:0;margin:0}.dev-cascade-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;border-bottom:1px solid var(--color-border-light, #f0f0f0);font-size:var(--font-size-sm, .85rem)}.dev-cascade-item:last-child{border-bottom:none}.dev-cascade-count{font-weight:700;font-family:monospace}.dev-toggle{display:flex;align-items:center;gap:.4rem;font-size:var(--font-size-sm, .85rem);cursor:pointer}.dev-toggle input[type=checkbox]{width:16px;height:16px}@media(max-width:768px){.dev-tabs{padding:0 .5rem}.dev-tab{padding:.5rem .6rem}.dev-tab-label{display:none}.dev-tab-icon{font-size:1.2rem}.dev-content{padding:.75rem}.dev-section-row{grid-template-columns:1fr}.dev-toolbar{flex-direction:column;align-items:stretch}}.budget-overzicht{min-height:100vh;background:#f5f5f5}.bo-content{max-width:1400px;margin:0 auto;padding:.75rem 1.5rem 1.5rem}.bo-filters{display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap;margin-bottom:.75rem}.bo-month-field{display:flex;flex-direction:column;gap:.125rem}.bo-month-field label{font-size:.625rem;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px}.bo-month-field input[type=month]{padding:.375rem .5rem;border:1px solid #ccc;border-radius:4px;font-size:.875rem;height:32px}.bo-summary{display:flex;gap:.75rem;margin-left:auto;flex-wrap:wrap}.bo-summary-item{background:#fff;padding:.5rem 1rem;border-radius:6px;box-shadow:0 1px 2px #00000014;display:flex;flex-direction:column;min-width:100px;border:1px solid #e5e7eb}.bo-summary-item.status-ok{border-left:3px solid #4CAF50}.bo-summary-item.status-warning{border-left:3px solid #f39c12}.bo-summary-item.status-danger{border-left:3px solid #e74c3c}.bo-summary-label{font-size:.625rem;color:#666;text-transform:uppercase;letter-spacing:.5px}.bo-summary-value{font-size:1.25rem;font-weight:600;color:#333}.bo-summary-value.text-green{color:#166534}.bo-summary-value.text-orange{color:#92400e}.bo-summary-value.text-red{color:#991b1b}.bo-error{background:#fee2e2;color:#dc2626;padding:1rem;border-radius:8px;margin-bottom:1rem}.bo-loading{text-align:center;padding:3rem;color:#666}.bo-empty{text-align:center;padding:3rem;color:#999;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.bo-table-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.bo-table{width:100%;border-collapse:collapse}.bo-table th,.bo-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #e5e7eb}.bo-table th{background:#f9fafb;font-weight:600;font-size:.8125rem;text-transform:uppercase;letter-spacing:.5px;color:#6b7280;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none}.bo-table th:hover{background:#f3f4f6}.bo-table th .sort-arrow{margin-left:.25rem;font-size:.625rem;opacity:.5}.bo-table th .sort-arrow.active{opacity:1}.bo-table tbody tr{cursor:pointer;transition:background .15s ease}.bo-table tbody tr:hover{background:#f3f4f6}.bo-table tbody tr.expanded{background:#f0f9ff}.bo-client-name{font-weight:500;color:#111}.text-right{text-align:right!important}.text-muted{color:#9ca3af;font-style:italic;font-size:.8125rem}.bo-progress-cell{min-width:160px}.bo-progress-wrapper{display:flex;align-items:center;gap:.5rem}.bo-progress-bar{flex:1;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden;min-width:80px}.bo-progress-fill{height:100%;border-radius:4px;transition:width .3s ease}.bo-progress-fill.color-green{background:#4caf50}.bo-progress-fill.color-blue{background:#3498db}.bo-progress-fill.color-orange{background:#f39c12}.bo-progress-fill.color-red{background:#e74c3c}.bo-progress-pct{font-size:.8125rem;font-weight:600;min-width:40px;text-align:right}.bo-progress-pct.color-green{color:#166534}.bo-progress-pct.color-blue{color:#1e40af}.bo-progress-pct.color-orange{color:#92400e}.bo-progress-pct.color-red{color:#991b1b}.bo-week-detail{background:#f9fafb}.bo-week-detail td{padding:0!important}.bo-weeks-container{display:flex;flex-direction:column;gap:1px;background:#e5e7eb}.bo-week-card{background:#fff;padding:.625rem 1rem}.bo-week-card.over-budget{background:#fef2f2;border-left:3px solid #e74c3c}.bo-week-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.375rem;padding-bottom:.375rem;border-bottom:1px solid #f3f4f6}.bo-week-range{font-weight:600;font-size:.875rem;color:#374151}.bo-week-totals{display:flex;align-items:center;gap:.75rem;font-size:.8125rem}.bo-week-uren{font-weight:600;color:#111}.bo-week-bedrag{color:#6b7280}.bo-week-limit{color:#9ca3af;font-size:.75rem}.bo-week-pct{font-weight:700;font-size:.75rem;padding:.125rem .375rem;border-radius:3px}.bo-week-pct.color-green{color:#166534;background:#dcfce7}.bo-week-pct.color-blue{color:#1e40af;background:#dbeafe}.bo-week-pct.color-orange{color:#92400e;background:#fef3c7}.bo-week-pct.color-red{color:#991b1b;background:#fee2e2}.bo-week-medewerkers{display:flex;flex-direction:column;gap:.25rem}.bo-med-row{display:flex;align-items:center;gap:.5rem;padding:.25rem 0;font-size:.8125rem}.bo-med-color{width:10px;height:10px;border-radius:50%;flex-shrink:0}.bo-med-naam{font-weight:500;color:#374151;min-width:140px}.bo-med-types{display:flex;gap:.375rem;flex-wrap:wrap;flex:1}.bo-type-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;border-radius:3px;font-size:.6875rem;font-weight:600;color:#374151;background:#f3f4f6;border:1px solid #e5e7eb}.bo-type-detail{font-weight:400;color:#6b7280}.bo-med-uren{font-weight:600;color:#111;min-width:40px;text-align:right}.bo-med-bedrag{color:#6b7280;min-width:70px;text-align:right}.bo-week-empty{padding:1rem;text-align:center;color:#9ca3af;font-size:.8125rem;font-style:italic}.bo-expand-icon{display:inline-block;transition:transform .2s ease;font-size:.75rem;margin-right:.5rem;color:#9ca3af}.bo-expand-icon.expanded{transform:rotate(90deg)}@media(max-width:768px){.bo-content{padding:.5rem .75rem 1rem}.bo-filters{flex-direction:column;align-items:stretch}.bo-summary{margin-left:0;margin-top:.5rem}.bo-summary-item{flex:1}.bo-table th,.bo-table td{padding:.5rem;font-size:.8125rem}.bo-progress-cell{min-width:120px}}.holiday-management{padding:0 var(--spacing-xl) var(--spacing-xl) var(--spacing-xl);max-width:1400px;margin:0 auto}.holiday-filters{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--radius-md);align-items:center;flex-wrap:wrap}.holiday-filter-tabs{display:flex;gap:var(--spacing-xs)}.holiday-filter-tab{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-base);font-weight:var(--font-weight-medium);color:var(--color-text-muted)}.holiday-filter-tab:hover{background:var(--color-bg-secondary);border-color:var(--color-primary)}.holiday-filter-tab.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.holiday-year-select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;font-size:var(--font-size-base);cursor:pointer;margin-left:auto}.holiday-table-container{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.holiday-table{width:100%;border-collapse:collapse}.holiday-table thead{background:var(--color-bg-secondary)}.holiday-table th{padding:var(--spacing-md) var(--spacing-lg);text-align:left;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.holiday-table td{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--color-border-light);vertical-align:middle}.holiday-table tbody tr{transition:background-color var(--transition-base)}.holiday-table tbody tr:hover{background:var(--color-bg-secondary)}.holiday-table tbody tr.inactive-row{opacity:.6}.holiday-badge-vast,.holiday-badge-variabel{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.holiday-badge-vast{background:#d1fae5;color:#065f46}.holiday-badge-variabel{background:#dbeafe;color:#1e40af}.holiday-tarief{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);background:#fef3c7;color:#92400e}.holiday-status-active{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);background:#d1fae5;color:#065f46}.holiday-status-inactive{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);background:#fee2e2;color:#991b1b}.holiday-actions{display:flex;gap:var(--spacing-xs)}.holiday-actions .btn-icon{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:all var(--transition-base)}.holiday-actions .btn-icon:hover{background:var(--color-bg-secondary);transform:scale(1.1)}.holiday-empty-state{text-align:center;padding:var(--spacing-3xl)!important;color:var(--color-text-muted)}.holiday-modal{max-width:420px}.holiday-modal>.modal-header{padding:10px 16px}.holiday-modal>.modal-header h2{font-size:1rem}.holiday-modal>.modal-body{padding:10px 16px}.holiday-modal>.modal-footer{padding:8px 16px}.holiday-form{display:flex;flex-direction:column;gap:8px}.holiday-form .form-group{display:flex;flex-direction:column;gap:2px}.holiday-form .form-group label{font-weight:600;font-size:.8rem;color:var(--color-text)}.holiday-form .form-group input,.holiday-form .form-group select{padding:5px 8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.9rem}.holiday-form .form-group input:focus,.holiday-form .form-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb, 59, 130, 246),.2)}.holiday-form .form-row{display:grid;grid-template-columns:60px 1fr 70px;gap:8px}.holiday-form .form-row.row-2col{grid-template-columns:1fr 80px}.holiday-type-toggle{display:flex;gap:var(--spacing-xs)}.holiday-type-toggle button{flex:1;padding:4px 8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;font-size:.85rem;font-weight:500;cursor:pointer;transition:all var(--transition-base);color:var(--color-text-muted)}.holiday-type-toggle button.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.holiday-type-toggle button:hover:not(.active){background:var(--color-bg-secondary)}@media(max-width:768px){.holiday-management{padding:var(--spacing-md)}.holiday-filters{flex-direction:column}.holiday-year-select{margin-left:0}.holiday-table-container{overflow-x:auto}.holiday-table{min-width:700px}.holiday-form .form-row,.holiday-form .form-row.row-2col{grid-template-columns:1fr}}.uren-dashboard{min-height:100vh;background:var(--bg-secondary, #f5f5f5)}.ud-content{max-width:1400px;margin:0 auto;padding:20px}.ud-loading{text-align:center;padding:60px 20px;color:#888;font-size:16px}.ud-filters{background:var(--bg-primary, #fff);border-radius:12px;padding:20px;margin-bottom:20px;box-shadow:0 1px 3px #00000014;display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end}.ud-filter-group{display:flex;flex-direction:column;gap:6px}.ud-filter-label{font-size:12px;font-weight:600;color:var(--text-secondary, #666);text-transform:uppercase;letter-spacing:.5px}.ud-date-input{padding:8px 12px;border:1px solid var(--border-color, #ddd);border-radius:8px;font-size:14px;background:var(--bg-primary, #fff);color:var(--text-primary, #333);min-height:38px}.ud-btn-apply{padding:8px 24px;background:var(--primary-color, #4361ee);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;align-self:flex-end;min-height:38px;transition:background .2s}.ud-btn-apply:hover:not(:disabled){background:var(--primary-hover, #3451d1)}.ud-btn-apply:disabled{opacity:.6;cursor:not-allowed}.multi-select{position:relative;min-width:200px}.multi-select-label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary, #666);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.multi-select-trigger{padding:8px 12px;border:1px solid var(--border-color, #ddd);border-radius:8px;font-size:14px;background:var(--bg-primary, #fff);cursor:pointer;display:flex;align-items:center;gap:8px;min-height:38px;-webkit-user-select:none;user-select:none;transition:border-color .2s}.multi-select-trigger:hover{border-color:var(--primary-color, #4361ee)}.multi-select-trigger.open{border-color:var(--primary-color, #4361ee);box-shadow:0 0 0 2px #4361ee26}.multi-select-text{flex:1;color:var(--text-primary, #333)}.multi-select-count{background:var(--primary-color, #4361ee);color:#fff;border-radius:10px;padding:1px 8px;font-size:12px;font-weight:600;min-width:22px;text-align:center}.multi-select-arrow{font-size:10px;color:#999}.multi-select-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--bg-primary, #fff);border:1px solid var(--border-color, #ddd);border-radius:8px;box-shadow:0 4px 12px #0000001f;z-index:100;max-height:260px;overflow-y:auto}.multi-select-option{padding:8px 12px;display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;transition:background .1s}.multi-select-option:hover{background:var(--bg-hover, #f0f4ff)}.multi-select-option input[type=checkbox]{accent-color:var(--primary-color, #4361ee);cursor:pointer}.multi-select-all{border-bottom:1px solid var(--border-color, #eee);font-weight:600}.ud-kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.ud-kpi-card{background:var(--bg-primary, #fff);border-radius:12px;padding:20px;box-shadow:0 1px 3px #00000014}.ud-kpi-uren{border-left:4px solid #4361ee}.ud-kpi-kosten{border-left:4px solid #2ec4b6}.ud-kpi-diensten{border-left:4px solid #ff9f1c}.ud-kpi-medewerkers{border-left:4px solid #e71d36}.ud-kpi-label{font-size:12px;font-weight:600;color:var(--text-secondary, #888);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.ud-kpi-value{font-size:28px;font-weight:700;color:var(--text-primary, #1a1a2e);line-height:1.2}.ud-kpi-sub{font-size:13px;color:var(--text-secondary, #888);margin-top:4px}.ud-charts-row{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-bottom:20px}.ud-chart-card{background:var(--bg-primary, #fff);border-radius:12px;padding:20px;box-shadow:0 1px 3px #00000014}.ud-chart-title{font-size:14px;font-weight:600;color:var(--text-primary, #333);margin-bottom:16px}.ud-bar-chart{display:flex;align-items:flex-end;gap:12px;height:220px;padding-top:10px}.ud-bar-group{display:flex;flex-direction:column;align-items:center;flex:1;min-width:0}.ud-bar-value{font-size:12px;font-weight:600;color:var(--text-primary, #333);margin-bottom:4px;white-space:nowrap}.ud-bar{width:100%;max-width:80px;border-radius:6px 6px 0 0;min-height:4px;transition:height .3s ease}.ud-bar-label{font-size:11px;color:var(--text-secondary, #666);margin-top:8px;text-align:center;word-break:break-word}.ud-donut-container{display:flex;flex-direction:column;align-items:center}.ud-donut{width:180px;height:180px;border-radius:50%;position:relative;margin:0 auto 16px}.ud-donut-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100px;height:100px;background:var(--bg-primary, #fff);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}.ud-donut-total{font-size:20px;font-weight:700;color:var(--text-primary, #1a1a2e)}.ud-donut-label{font-size:11px;color:var(--text-secondary, #888)}.ud-legend{display:flex;flex-direction:column;gap:6px;width:100%}.ud-legend-item{display:flex;align-items:center;gap:8px;font-size:13px}.ud-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.ud-legend-name{flex:1;color:var(--text-primary, #333)}.ud-legend-value{font-weight:600;color:var(--text-primary, #333)}.ud-table-card{background:var(--bg-primary, #fff);border-radius:12px;padding:20px;box-shadow:0 1px 3px #00000014}.ud-table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}.ud-table-title{font-size:16px;font-weight:600;color:var(--text-primary, #333)}.ud-export-btns{display:flex;gap:8px}.ud-btn-export{padding:6px 14px;border:1px solid var(--border-color, #ddd);border-radius:6px;background:var(--bg-primary, #fff);font-size:13px;cursor:pointer;color:var(--text-primary, #333);transition:background .2s}.ud-btn-export:hover{background:var(--bg-secondary, #f5f5f5)}.ud-table-scroll{overflow-x:auto}.ud-table{width:100%;border-collapse:collapse}.ud-table thead th{text-align:left;padding:10px 12px;font-size:12px;font-weight:600;color:var(--text-secondary, #666);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border-color, #eee)}.ud-table tbody td{padding:12px;border-bottom:1px solid var(--border-light, #f0f0f0);font-size:14px;color:var(--text-primary, #333)}.ud-table tfoot td{padding:12px;border-top:2px solid var(--text-primary, #333);font-size:14px}.ud-text-right{text-align:right}.ud-col-expand{width:36px}.ud-expand-icon{font-size:12px;color:var(--text-secondary, #666);cursor:pointer}.ud-client-row{cursor:pointer;transition:background .1s}.ud-client-row:hover{background:var(--bg-hover, #f8f9ff)}.ud-client-name{font-weight:600;color:var(--text-primary, #1a1a2e)}.ud-sub-row td{padding-left:40px;font-size:13px;color:var(--text-secondary, #555);background:var(--bg-secondary, #fafbff)}.ud-sub-row td:first-child{padding-left:12px}.ud-dienst-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:12px;font-size:13px;font-weight:500}.ud-badge-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.ud-type-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.ud-no-data{text-align:center;padding:40px 20px;color:var(--text-secondary, #888);font-size:14px}@media(max-width:1024px){.ud-kpi-row{grid-template-columns:repeat(2,1fr)}.ud-charts-row{grid-template-columns:1fr}}@media(max-width:768px){.ud-content{padding:12px}.ud-filters{flex-direction:column;gap:12px}.ud-filter-group{width:100%}.multi-select{min-width:unset;width:100%}.ud-date-input,.ud-btn-apply{width:100%}.ud-kpi-row{grid-template-columns:1fr 1fr;gap:8px}.ud-kpi-card{padding:14px}.ud-kpi-value{font-size:22px}.ud-bar-chart{height:160px}.ud-donut{width:140px;height:140px}.ud-donut-center{width:80px;height:80px}.ud-donut-total{font-size:16px}}.urgent-notification-banner{width:100%;display:flex;flex-direction:column;gap:0;z-index:100}.urgent-banner-item{display:flex;align-items:center;gap:.75rem;padding:.65rem 1.25rem;animation:urgentSlideDown .3s ease-out;border-bottom:1px solid rgba(0,0,0,.08)}.urgent-banner-declaratie_afgekeurd{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff}.urgent-banner-ziekmelding{background:linear-gradient(135deg,#e67e22,#d35400);color:#fff}.urgent-banner-dagboek_belangrijk{background:linear-gradient(135deg,#8e44ad,#7d3c98);color:#fff}.urgent-banner-takeover{background:linear-gradient(135deg,#27ae60,#229954);color:#fff}.urgent-banner-icon{width:28px;height:28px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;flex-shrink:0}.urgent-banner-body{flex:1;display:flex;flex-direction:column;gap:.15rem;min-width:0}.urgent-banner-title{font-size:.85rem;font-weight:700}.urgent-banner-message{font-size:.78rem;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.urgent-banner-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.urgent-btn{padding:.35rem .75rem;border:none;border-radius:5px;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}.urgent-btn:disabled{opacity:.6;cursor:not-allowed}.urgent-btn-approve{background:#ffffffe6;color:#155724}.urgent-btn-approve:hover:not(:disabled){background:#fff}.urgent-btn-reject{background:#ffffff4d;color:#fff}.urgent-btn-reject:hover:not(:disabled){background:#ffffff80}.urgent-btn-action{background:#ffffffe6;color:#2c3e50}.urgent-btn-action:hover{background:#fff}.urgent-btn-close{background:none;border:none;color:#fff9;font-size:1.3rem;cursor:pointer;padding:0 .25rem;line-height:1;transition:color .15s}.urgent-btn-close:hover{color:#fff}.urgent-result{font-size:.78rem;font-weight:600;padding:.25rem .6rem;border-radius:4px}.urgent-result.success{background:#ffffff4d}.urgent-result.error{background:#0003}@keyframes urgentSlideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:768px){.urgent-banner-item{flex-wrap:wrap;padding:.5rem .75rem;gap:.5rem}.urgent-banner-body{flex:1 1 calc(100% - 40px)}.urgent-banner-actions{width:100%;justify-content:flex-end}.urgent-banner-message{white-space:normal}}
