@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap";*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Manrope,sans-serif}#root{min-height:100vh}h1,h2,h3{font-family:Playfair Display,serif;margin:0}p{margin:0}:root{--bg-primary: #f8f9fa;--bg-secondary: #ffffff;--bg-tertiary: #f1f3f4;--text-primary: #181c22;--text-secondary: #3d4852;--text-muted: #6c757d;--border-color: #d1d5db;--border-color-light: #e5e7eb;--accent-color: #2c5f41;--accent-color-rgb: 44, 95, 65;--accent-hover: #1a3c28;--accent-text-color: #ffffff;--success-color: #198754;--warning-color: #fd7e14;--danger-color: #dc3545;--info-color: #0dcaf0;--sidebar-bg: linear-gradient(135deg, #2c5f41 0%, #1e4530 100%);--sidebar-text: #ffffff;--sidebar-text-muted: rgba(255, 255, 255, .85);--sidebar-hover: rgba(255, 255, 255, .1);--sidebar-active: rgba(255, 255, 255, .2);--sidebar-accent-start: var(--accent-color);--sidebar-accent-end: var(--sidebar-accent-second, var(--accent-color));--shadow-sm: 0 1px 3px rgba(0,0,0,.12), 0 1px 2px rgba(0,0,0,.24);--shadow-md: 0 3px 6px rgba(0,0,0,.15), 0 2px 4px rgba(0,0,0,.12);--shadow-lg: 0 10px 20px rgba(0,0,0,.15), 0 3px 6px rgba(0,0,0,.1);--header-bg: var(--bg-secondary);--header-border: var(--border-color)}[data-theme=dark],.theme-dark{--bg-primary: color-mix(in srgb, #0e1112 90%, var(--accent-color));--bg-secondary: color-mix(in srgb, #1a1f22 88%, var(--accent-color));--bg-tertiary: color-mix(in srgb, #262c31 86%, var(--accent-color));--text-primary: #f8f9fa;--text-secondary: #ced4da;--text-muted: #7b8791;--border-color: color-mix(in srgb, #3a4249 85%, var(--accent-color));--border-color-light: color-mix(in srgb, #2f363c 88%, var(--accent-color));--success-color: #22c55e;--warning-color: #f59e0b;--danger-color: #ef4444;--info-color: #06b6d4;--sidebar-bg: linear-gradient(135deg, color-mix(in srgb, #0b1114 86%, var(--accent-color)) 0%, color-mix(in srgb, #0d1417 90%, var(--accent-color)) 100%);--sidebar-accent-start: color-mix(in srgb, #0b1114 68%, var(--accent-color));--sidebar-accent-end: color-mix(in srgb, #07090b 78%, var(--accent-color));--sidebar-text: #f8fafc;--sidebar-text-muted: rgba(248, 250, 252, .85);--sidebar-hover: rgba(241, 245, 249, .1);--sidebar-active: rgba(241, 245, 249, .2);--header-bg: color-mix(in srgb, #14181c 85%, var(--accent-color));--header-border: color-mix(in srgb, #283038 80%, var(--accent-color));--shadow-sm: 0 1px 3px rgba(0,0,0,.4), 0 1px 2px rgba(0,0,0,.3);--shadow-md: 0 3px 6px rgba(0,0,0,.5), 0 2px 4px rgba(0,0,0,.4);--shadow-lg: 0 10px 20px rgba(0,0,0,.6), 0 3px 6px rgba(0,0,0,.5)}@media(prefers-color-scheme:dark){[data-theme=auto]{--bg-primary: color-mix(in srgb, #0e1112 90%, var(--accent-color));--bg-secondary: color-mix(in srgb, #1a1f22 88%, var(--accent-color));--bg-tertiary: color-mix(in srgb, #262c31 86%, var(--accent-color));--text-primary: #f8f9fa;--text-secondary: #ced4da;--text-muted: #7b8791;--border-color: color-mix(in srgb, #3a4249 85%, var(--accent-color));--border-color-light: color-mix(in srgb, #2f363c 88%, var(--accent-color));--success-color: #22c55e;--warning-color: #f59e0b;--danger-color: #ef4444;--info-color: #06b6d4;--sidebar-bg: linear-gradient(135deg, color-mix(in srgb, #0b1114 86%, var(--accent-color)) 0%, color-mix(in srgb, #0d1417 90%, var(--accent-color)) 100%);--sidebar-accent-start: color-mix(in srgb, #0b1114 68%, var(--accent-color));--sidebar-accent-end: color-mix(in srgb, #07090b 78%, var(--accent-color));--sidebar-text: #f8fafc;--sidebar-text-muted: rgba(248, 250, 252, .85);--sidebar-hover: rgba(241, 245, 249, .1);--sidebar-active: rgba(241, 245, 249, .2);--header-bg: color-mix(in srgb, #14181c 85%, var(--accent-color));--header-border: color-mix(in srgb, #283038 80%, var(--accent-color));--shadow-sm: 0 1px 3px rgba(0,0,0,.4), 0 1px 2px rgba(0,0,0,.3);--shadow-md: 0 3px 6px rgba(0,0,0,.5), 0 2px 4px rgba(0,0,0,.4);--shadow-lg: 0 10px 20px rgba(0,0,0,.6), 0 3px 6px rgba(0,0,0,.5)}}:root{--font-size-base: 1rem;--font-size-sm: .875rem;--font-size-lg: 1.125rem;--padding-sm: .5rem;--padding-md: .75rem;--padding-lg: 1rem;--margin-sm: .5rem;--margin-md: .75rem;--margin-lg: 1rem;--line-height: 1.6;--border-radius: 6px;--element-height: 40px;--button-height: 40px;--input-height: 40px}body{background-color:var(--bg-primary)!important;color:var(--text-primary);font-size:var(--font-size-base);line-height:var(--line-height);transition:background-color .3s ease,color .3s ease}h1,h2,h3,h4,h5,h6{color:var(--accent-color);margin-bottom:var(--margin-md)}a{color:var(--accent-color);transition:color .2s ease}.card,.settings-card,.content-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease}.card:hover,.settings-card:hover{box-shadow:var(--shadow-md)}.text-muted{color:var(--text-muted)!important}.text-secondary{color:var(--text-secondary)!important}.btn-primary{background-color:var(--accent-color);border-color:var(--accent-color);color:#fff;height:var(--button-height);padding:0 var(--padding-lg);font-size:var(--font-size-base);border-radius:var(--border-radius)}.btn-primary:hover{background-color:var(--accent-hover);border-color:var(--accent-hover)}.form-control,.form-select{background-color:var(--bg-secondary);border-color:var(--border-color);color:var(--text-primary);height:var(--input-height);font-size:var(--font-size-base);border-radius:var(--border-radius);padding:0 var(--padding-md);transition:background-color .3s ease,border-color .3s ease,color .3s ease}.form-control:focus,.form-select:focus{border-color:var(--accent-color);box-shadow:0 0 0 .2rem #2c5f4140;background-color:var(--bg-secondary);color:var(--text-primary)}.table{color:var(--text-primary);background-color:var(--bg-secondary)}.table th{background-color:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-primary);font-size:var(--font-size-sm);padding:var(--padding-sm) var(--padding-md)}.table td{border-color:var(--border-color);font-size:var(--font-size-base);padding:var(--padding-sm) var(--padding-md)}.table-striped tbody tr:nth-of-type(odd){background-color:var(--bg-tertiary)}.modal-content{background-color:var(--bg-secondary);border-color:var(--border-color);color:var(--text-primary)}.modal-header{border-bottom-color:var(--border-color)}.modal-footer{border-top-color:var(--border-color)}.alert{border-radius:var(--border-radius);padding:var(--padding-md);font-size:var(--font-size-base)}.alert-success{background-color:color-mix(in srgb,var(--success-color) 15%,var(--bg-secondary));border-color:var(--success-color);color:var(--success-color)}.alert-warning{background-color:color-mix(in srgb,var(--warning-color) 15%,var(--bg-secondary));border-color:var(--warning-color);color:var(--warning-color)}.alert-danger{background-color:color-mix(in srgb,var(--danger-color) 15%,var(--bg-secondary));border-color:var(--danger-color);color:var(--danger-color)}.alert-info{background-color:color-mix(in srgb,var(--info-color) 15%,var(--bg-secondary));border-color:var(--info-color);color:var(--info-color)}*{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}.theme-light{color-scheme:light}.theme-dark{color-scheme:dark}.theme-auto{color-scheme:light dark}.top-header{background-color:var(--bg-secondary)!important;color:var(--text-primary)!important;border-bottom:1px solid var(--border-color)!important}.main-content,.content-area{background-color:var(--bg-primary)!important}.page-container{background-color:transparent!important}::-webkit-scrollbar-track{background:var(--bg-tertiary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}*{scrollbar-width:thin;scrollbar-color:var(--border-color) var(--bg-tertiary)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:system-ui,Segoe UI,Roboto,Apple-system,Arial,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);line-height:var(--line-height, 1.6);font-size:var(--font-size-base, 1rem);font-smooth:always;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{background-color:var(--bg-primary)!important;margin:0!important;padding:0!important}h1,h2,h3,h4,h5,h6{color:var(--accent-color);margin-bottom:var(--margin-md, 1rem);font-family:inherit;font-weight:700;letter-spacing:-.01em;line-height:1.2}h1{font-size:2.2rem;font-weight:700}h2{font-size:1.7rem;font-weight:600}h3{font-size:1.35rem;font-weight:600}h4{font-size:1.1rem;font-weight:500}h5{font-size:1rem;font-weight:500}h6{font-size:.95rem;font-weight:500}a{color:#1a3c28;color:var(--accent-color);text-decoration:none;transition:color .2s ease}a:hover{color:var(--accent-hover)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.d-none{display:none}.d-block{display:block}.d-flex{display:flex}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.app-container{min-height:100vh;display:flex;flex-direction:row;background-color:var(--bg-primary)!important}.main-content{flex:1;margin-left:210px;min-height:100vh;height:100vh;display:flex;flex-direction:column;transition:margin-left .25s ease-out;background-color:var(--bg-primary);will-change:margin-left}.main-content.expanded{margin-left:70px!important}.top-header{background:var(--header-bg, var(--bg-secondary));color:var(--text-primary);height:70px;padding:0 30px;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow-sm);z-index:100;border-bottom:1px solid var(--header-border, var(--border-color));margin-left:0}.mobile-menu-btn{display:none;background:none;border:none;font-size:20px;color:var(--accent-color);padding:8px;border-radius:4px}.mobile-menu-btn:hover{background-color:var(--bg-tertiary)}.page-title{font-size:24px;font-weight:600;color:var(--accent-color);margin:0;font-family:Aptos Display,Inter,Segoe UI,Arial,sans-serif}.page-subtitle{font-size:13px;color:var(--text-secondary);margin:2px 0 0;font-weight:400}.header-left{display:flex;align-items:center;gap:15px}.header-left-content{display:flex;flex-direction:column;gap:0}.header-right{display:flex;align-items:center;gap:20px}.page-header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.header-info{display:flex;flex-direction:column;align-items:flex-end;font-size:12px;color:var(--text-secondary)}.current-date{font-weight:600;color:var(--accent-color)}.current-time{font-weight:600;color:var(--accent-color);letter-spacing:.5px}.settings-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;color:var(--accent-color);background:none;font-size:22px;margin-left:10px;transition:background .2s,color .2s;text-decoration:none}.settings-icon:hover{background:var(--bg-tertiary);color:var(--accent-hover)}.content-area{flex:1;padding:0;background-color:var(--bg-primary);overflow-y:auto;width:100%;display:flex;flex-direction:column;min-height:0}.page-container{padding:30px;flex:1;background-color:var(--bg-primary)}.app-footer{background:var(--bg-secondary);padding:0 15px;border-top:1px solid var(--border-color);text-align:center;color:var(--text-secondary);font-size:14px;margin-top:auto;height:24px}@media(max-width:768px){.main-content,.main-content.expanded{margin-left:0!important}.mobile-menu-btn{display:block}.page-title{font-size:20px}.header-info{display:none}.page-container{padding:20px 15px}}.sidebar{width:210px;background:var(--sidebar-bg);color:var(--sidebar-text);position:fixed;inset:0 auto 0 0;height:100vh;overflow-y:auto;overflow-x:hidden;transition:width .2s cubic-bezier(.4,0,.2,1);z-index:1000;box-shadow:var(--shadow-md);display:flex;flex-direction:column;font-family:Inter,Segoe UI,Arial,sans-serif;font-size:clamp(12px,.85vw,13px);letter-spacing:.01em;scrollbar-width:thin;scrollbar-color:var(--sidebar-hover) transparent;will-change:width}.sidebar::-webkit-scrollbar{width:8px}.sidebar::-webkit-scrollbar-thumb{background:var(--sidebar-hover);border-radius:8px}.sidebar.collapsed{width:70px;overflow-y:auto!important}.sidebar.collapsed{overflow-x:visible}.sidebar.text-hidden .menu-text,.sidebar.text-hidden .logo h3,.sidebar.text-hidden .user-name,.sidebar.text-hidden .user-role,.sidebar.text-hidden .logout-text,.sidebar.text-hidden .version-info,.sidebar.collapsed .menu-text,.sidebar.collapsed .logo h3,.sidebar.collapsed .user-name,.sidebar.collapsed .user-role,.sidebar.collapsed .logout-text,.sidebar.collapsed .version-info{visibility:hidden;opacity:0;transition:opacity .12s linear;pointer-events:none;width:0;overflow:hidden;white-space:nowrap}.sidebar.collapsed .logo-img{display:block}.sidebar.collapsed .logo{margin:0 auto}.sidebar.collapsed .sidebar-header{min-height:56px}.sidebar-header{position:relative;min-height:56px;padding:10px;border-bottom:1px solid var(--sidebar-hover);display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px}.logo{display:flex;align-items:center;gap:8px;padding-left:4px;font-family:inherit}.logo-img{width:32px;height:32px;border-radius:8px}.logo h3{color:var(--sidebar-text);margin:0;font-size:14px;font-weight:600;letter-spacing:.01em;text-align:left}.sidebar-toggle{background:none;border:none;color:var(--sidebar-text);font-size:18px;cursor:pointer;padding:6px;border-radius:8px;transition:background .2s}.sidebar-toggle:hover{background:var(--sidebar-hover)}.sidebar-toggle i{transition:transform .2s}.sidebar.collapsed .sidebar-toggle i{transform:rotate(180deg)}.sidebar.collapsed .sidebar-header{justify-content:center}.sidebar.collapsed .logo{display:none}.sidebar-nub{position:absolute;top:56px;right:-14px;width:28px;height:56px;border:none;border-radius:0 10px 10px 0;background:var(--sidebar-hover);color:var(--sidebar-text);display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow-sm);transition:background .2s}.sidebar-nub:hover{background:var(--sidebar-active)}.sidebar-nub:focus-visible{outline:2px solid currentColor;outline-offset:2px}.sidebar-nub:before{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-135deg);transition:transform .2s}.sidebar.collapsed .sidebar-nub:before{transform:rotate(45deg)}.sidebar-menu{flex:1;padding:10px 0 0}.menu-list{list-style:none;padding:0;margin:0}.menu-item{margin:3px 0;padding:0}.menu-link{display:grid;grid-template-columns:22px 1fr;column-gap:12px;align-items:center;padding:10px;min-height:40px;color:var(--sidebar-text-muted)!important;text-decoration:none;border-radius:10px;transition:background .2s,color .2s,box-shadow .2s;position:relative;font-size:13px;font-family:inherit;font-weight:400;justify-content:start;cursor:pointer}.menu-link:hover{background:var(--sidebar-hover)!important;color:var(--sidebar-text)!important}.menu-link.active{background:var(--sidebar-active)!important;color:var(--sidebar-text)!important;box-shadow:var(--shadow-sm);font-weight:600}.menu-link.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:3px;background:currentColor}.menu-link i{font-size:17px;width:22px;height:22px;display:grid;place-items:center;color:inherit!important}.menu-text{font-weight:400;font-size:13px;color:inherit!important;font-family:inherit;text-align:left}.sidebar.collapsed .menu-item{padding:0}.sidebar.collapsed .menu-link{display:flex;justify-content:center;align-items:center;padding:10px 0;width:100%;border-radius:12px}.sidebar.collapsed .menu-link i{margin:0}.sidebar-footer{padding:10px 8px 12px;border-top:1px solid var(--sidebar-hover);display:grid;gap:6px}.user-profile-container{position:relative}.sidebar .user-info{display:grid;grid-template-columns:22px 1fr;column-gap:10px;align-items:center;padding:8px 10px;min-height:40px;border-radius:10px;color:var(--sidebar-text-muted)!important;text-decoration:none;background:none;border:none;cursor:pointer;font-size:13px;transition:background .2s,color .2s;width:100%;text-align:left}.sidebar .user-details{display:flex;flex-direction:column;gap:2px}.sidebar .user-info:hover,.sidebar .user-info:focus{background:var(--sidebar-hover)!important;color:var(--sidebar-text)!important}.sidebar .user-info .fa-user-circle{font-size:1.5em;color:inherit!important}.profile-dropdown{position:absolute;bottom:calc(100% + 8px);left:8px;right:8px;background:var(--sidebar-bg, #fff);border:1px solid var(--sidebar-hover);border-radius:10px;box-shadow:0 4px 12px #00000026;z-index:1100;overflow:hidden;animation:dropdownFadeIn .2s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.profile-dropdown-item{display:grid;grid-template-columns:22px 1fr;column-gap:10px;align-items:center;padding:10px 12px;color:var(--sidebar-text-muted)!important;text-decoration:none;transition:background .2s,color .2s;cursor:pointer;border:none;background:none;width:100%;text-align:left;font-size:13px}.profile-dropdown-item:hover{background:var(--sidebar-hover)!important;color:var(--sidebar-text)!important}.profile-dropdown-item i{font-size:16px;color:inherit!important}.profile-dropdown-item span{color:inherit!important;font-weight:400}.profile-dropdown-item.logout-item{border-top:1px solid var(--sidebar-hover)}.sidebar.collapsed .profile-dropdown{left:calc(100% + 10px);right:auto;bottom:0;min-width:180px}.sidebar .user-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;line-height:1.2;color:var(--sidebar-text, #111)!important}.sidebar .user-role{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:12px;line-height:1.2;color:var(--sidebar-role, #bfc8d2)!important;font-weight:500}.sidebar.collapsed .sidebar-footer{padding:10px 0 12px;justify-items:center;gap:6px}.sidebar.collapsed .user-info{display:flex;justify-content:center;align-items:center;width:52px;padding:10px 0;border-radius:12px}.sidebar.collapsed .user-name,.sidebar.collapsed .user-role{display:none!important}.sidebar.collapsed [data-tooltip]{position:relative}.sidebar.collapsed [data-tooltip]:after{content:attr(data-tooltip);position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);background:#14191ef2;color:#fff;padding:6px 10px;border-radius:6px;font-size:12px;line-height:1.2;white-space:nowrap;box-shadow:0 4px 12px #00000040;opacity:0;pointer-events:none;transition:opacity .12s ease,transform .12s ease;transform-origin:left center;scale:.98;z-index:1200}.sidebar.collapsed [data-tooltip]:hover:after,.sidebar.collapsed [data-tooltip]:focus-visible:after{opacity:1;scale:1}.sidebar.collapsed [data-tooltip]:before{content:"";position:absolute;left:100%;top:50%;width:0;height:0;transform:translate(2px,-50%);border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:6px solid rgba(20,25,30,.95);opacity:0;transition:opacity .12s ease;pointer-events:none;z-index:1199}.sidebar.collapsed [data-tooltip]:hover:before,.sidebar.collapsed [data-tooltip]:focus-visible:before{opacity:1}.menu-link:focus-visible,.user-info:focus-visible,.logout-btn:focus-visible,.sidebar-toggle:focus-visible,.sidebar-nub:focus-visible{outline:2px solid currentColor;outline-offset:2px}@media(max-width:768px){.sidebar{transform:translate(-100%);transition:transform .3s ease}.sidebar.mobile-open{transform:translate(0)}}.sidebar-overlay{position:fixed;inset:0;background:#00000080;z-index:999;opacity:0;visibility:hidden;transition:all .3s ease}.sidebar-overlay.active{opacity:1;visibility:visible}@media(min-width:769px){.sidebar-overlay{display:none}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.last-login-toast{position:fixed;right:18px;bottom:18px;background:#fff;color:#222;border:1px solid #e2e6ea;border-radius:10px;padding:10px 14px;box-shadow:0 6px 18px -4px #00000026,0 2px 4px #00000014;font-size:13px;font-family:Inter,Segoe UI,Arial,sans-serif;z-index:3000;display:flex;align-items:center;max-width:320px;animation:toast-slide-in .35s cubic-bezier(.4,0,.2,1)}.last-login-toast .toast-content{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.last-login-toast .close-btn{margin-left:auto;background:none;border:none;font-size:18px;line-height:1;cursor:pointer;padding:0 4px;color:#666;transition:color .15s}.last-login-toast .close-btn:hover{color:#000}.last-login-toast.fade-out{opacity:0;transform:translateY(6px);transition:opacity .3s ease,transform .3s ease}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.btn{display:inline-block;padding:var(--padding-md) var(--padding-lg);border:none;border-radius:var(--border-radius);cursor:pointer;text-decoration:none;font-weight:500;font-size:var(--font-size-base);transition:all .3s ease;box-shadow:var(--shadow-sm);line-height:var(--line-height);height:var(--button-height);display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);text-decoration:none}.btn:active{transform:translateY(0)}.btn-primary{background:var(--accent-color);color:#fff;border:1px solid var(--accent-color);font-weight:600}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);font-weight:500}.btn-secondary:hover{background:var(--border-color);color:var(--text-primary)}.btn-success{background:var(--success-color);color:#fff;border:1px solid var(--success-color)}.btn-info{background:var(--info-color);color:#fff;border:1px solid var(--info-color)}.btn-warning{background:var(--warning-color);color:var(--text-primary);border:1px solid var(--warning-color)}.btn-danger{background:var(--danger-color);color:#fff;border:1px solid var(--danger-color)}.btn-sm{padding:calc(var(--padding-sm) * .75) var(--padding-md);font-size:var(--font-size-sm);height:calc(var(--button-height) * .8)}.btn-lg{padding:calc(var(--padding-lg) * 1.2) calc(var(--padding-lg) * 1.5);font-size:var(--font-size-lg);height:calc(var(--button-height) * 1.2)}.form-control{width:100%;padding:var(--padding-md);border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:var(--font-size-base);background-color:var(--bg-secondary);color:var(--text-primary);transition:border-color .2s,box-shadow .2s,background-color .3s;height:var(--input-height)}.form-control:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-color) 20%,transparent);outline:none;background-color:var(--bg-secondary)}.form-control::placeholder{color:var(--text-muted)}.form-select{width:100%;padding:var(--padding-md);border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:var(--font-size-base);background-color:var(--bg-secondary);color:var(--text-primary);cursor:pointer;transition:border-color .2s,box-shadow .2s,background-color .3s;height:var(--input-height)}.form-select:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-color) 20%,transparent);outline:none}.form-select-sm{padding:var(--padding-sm);font-size:var(--font-size-sm);height:calc(var(--input-height) * .8)}.form-label{display:block;margin-bottom:var(--margin-sm);font-weight:500;color:var(--text-primary);font-size:var(--font-size-base)}.table{width:100%;border-collapse:collapse;background-color:var(--bg-secondary);border-radius:var(--border-radius);overflow:hidden;box-shadow:var(--shadow-sm);color:var(--text-primary);margin-bottom:var(--margin-lg)}.table th{background-color:var(--bg-tertiary);padding:var(--padding-md);text-align:left;font-weight:600;color:var(--text-primary);border-bottom:2px solid var(--border-color);font-size:var(--font-size-sm)}.table td{padding:var(--padding-md);border-bottom:1px solid var(--border-color);vertical-align:middle;font-size:var(--font-size-base);color:var(--text-primary)}.table-striped tbody tr:nth-child(2n){background-color:var(--bg-tertiary)}.table-hover tbody tr:hover{background-color:color-mix(in srgb,var(--accent-color) 5%,var(--bg-secondary))}.table-sm th,.table-sm td{padding:var(--padding-sm);font-size:var(--font-size-sm)}.table-bordered,.table-bordered th,.table-bordered td{border:1px solid var(--border-color)}.table-responsive{overflow-x:auto;margin-bottom:var(--margin-lg)}.card{background-color:var(--bg-secondary);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);overflow:hidden;margin-bottom:var(--margin-lg);border:1px solid var(--border-color);transition:box-shadow .3s ease,background-color .3s ease}.card:hover{box-shadow:var(--shadow-md)}.card-header{padding:var(--padding-md) var(--padding-lg);background-color:var(--bg-tertiary);border-bottom:1px solid var(--border-color);font-weight:600;color:var(--accent-color);font-size:var(--font-size-base)}.card-body{padding:var(--padding-lg);color:var(--text-primary)}.card-footer{padding:var(--padding-md) var(--padding-lg);background-color:var(--bg-tertiary);border-top:1px solid var(--border-color);color:var(--text-secondary);font-size:var(--font-size-sm)}.pagination{display:flex;list-style:none;padding:0;margin:var(--margin-lg) 0;justify-content:center;gap:var(--margin-sm)}.page-item{margin:0}.page-link{display:block;padding:var(--padding-sm) var(--padding-md);color:var(--accent-color);text-decoration:none;border:1px solid var(--border-color);border-radius:var(--border-radius);transition:all .2s;background-color:var(--bg-secondary);font-size:var(--font-size-sm)}.page-link:hover{background-color:var(--bg-tertiary);border-color:var(--accent-color);color:var(--accent-hover)}.page-item.active .page-link{background-color:var(--accent-color);border-color:var(--accent-color);color:var(--sidebar-text)}.page-item.disabled .page-link{color:var(--text-muted);pointer-events:none;background-color:var(--bg-tertiary);border-color:var(--border-color-light)}.alert{padding:var(--padding-md);margin-bottom:var(--margin-lg);border-radius:var(--border-radius);border-left:4px solid;font-size:var(--font-size-base);display:flex;align-items:center;gap:var(--margin-sm)}.alert-success{background-color:color-mix(in srgb,var(--success-color) 15%,var(--bg-secondary));border-color:var(--success-color);color:color-mix(in srgb,var(--success-color) 80%,black)}.alert-info{background-color:color-mix(in srgb,var(--info-color) 15%,var(--bg-secondary));border-color:var(--info-color);color:color-mix(in srgb,var(--info-color) 80%,black)}.alert-warning{background-color:color-mix(in srgb,var(--warning-color) 15%,var(--bg-secondary));border-color:var(--warning-color);color:color-mix(in srgb,var(--warning-color) 80%,black)}.alert-danger{background-color:color-mix(in srgb,var(--danger-color) 15%,var(--bg-secondary));border-color:var(--danger-color);color:color-mix(in srgb,var(--danger-color) 80%,black)}.badge{display:inline-block;padding:calc(var(--padding-sm) * .5) var(--padding-sm);font-size:calc(var(--font-size-sm) * .85);font-weight:600;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:calc(var(--border-radius) * 2)}.badge-primary{background-color:var(--accent-color);color:var(--sidebar-text)}.badge-secondary{background-color:var(--text-muted);color:var(--bg-secondary)}.badge-success{background-color:var(--success-color);color:#fff}.badge-danger{background-color:var(--danger-color);color:#fff}.badge-warning{background-color:var(--warning-color);color:var(--text-primary)}.badge-info{background-color:var(--info-color);color:#fff}.profile-container{max-width:400px;margin:var(--margin-lg) auto;padding:calc(var(--padding-lg) * 1.5) var(--padding-lg);background-color:var(--bg-secondary);border-radius:calc(var(--border-radius) * 2);box-shadow:var(--shadow-md);text-align:center;border:1px solid var(--border-color)}.profile-avatar{font-size:4rem;color:var(--accent-color);margin-bottom:var(--margin-md);display:inline-block}.profile-username{margin-bottom:var(--margin-sm);font-size:2rem;font-weight:600;color:var(--accent-color)}.profile-label{color:var(--text-secondary);font-size:var(--font-size-sm)}.profile-divider{margin:24px 0;border:none;border-top:1px solid #e9ecef}.profile-placeholder{font-size:14px;color:#888}.accounts-page .table td{vertical-align:middle;padding:var(--padding-md)}.accounts-page .role-form{display:flex;align-items:center;gap:var(--margin-sm);margin:0}.accounts-page .role-form .form-select{min-width:120px;font-size:var(--font-size-sm)}.roles-matrix .matrix-table{font-size:var(--font-size-sm)}.roles-matrix .matrix-table th{text-align:center;padding:var(--padding-sm);font-size:calc(var(--font-size-sm) * .9)}.roles-matrix .matrix-table td{text-align:center;padding:calc(var(--padding-sm) * .75)}.roles-matrix .permission-checkbox{transform:scale(1.2);accent-color:var(--accent-color);cursor:pointer}.login-container{max-width:400px;margin:50px auto;padding:calc(var(--padding-lg) * 2);background-color:var(--bg-secondary);border-radius:calc(var(--border-radius) * 2);box-shadow:var(--shadow-lg);border:1px solid var(--border-color)}.login-header{text-align:center;margin-bottom:calc(var(--margin-lg) * 1.5)}.login-logo{width:80px;height:80px;margin-bottom:var(--margin-lg)}.employees-page .search-form{background-color:var(--bg-secondary);padding:var(--padding-lg);border-radius:var(--border-radius);margin-bottom:var(--margin-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.employees-page .employee-card{transition:transform .2s,box-shadow .2s;background-color:var(--bg-secondary);border:1px solid var(--border-color)}.employees-page .employee-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stamgegevens-page .category-tabs{background-color:var(--bg-secondary);border-radius:var(--border-radius) var(--border-radius) 0 0;border-bottom:2px solid color-mix(in srgb,var(--accent-color) 35%,var(--border-color))}.stamgegevens-page .tab-content{background-color:var(--bg-secondary);border-radius:0 0 var(--border-radius) var(--border-radius);padding:var(--padding-lg);border:1px solid color-mix(in srgb,var(--accent-color) 25%,var(--border-color));border-top:none}.stamgegevens-page .category-tabs .tab-btn,.stamgegevens-page .category-tabs button,.category-tabs .tab-btn{background:transparent;border:none;padding:var(--padding-sm) var(--padding-md);font-size:var(--font-size-sm);font-weight:500;color:color-mix(in srgb,var(--accent-color) 60%,var(--text-secondary));cursor:pointer;border-bottom:3px solid transparent;transition:color .25s,border-color .25s,background .25s}.stamgegevens-page .category-tabs .tab-btn:hover,.stamgegevens-page .category-tabs button:hover,.category-tabs .tab-btn:hover{color:var(--accent-color);background:color-mix(in srgb,var(--accent-color) 8%,transparent)}.stamgegevens-page .category-tabs .tab-btn.active,.stamgegevens-page .category-tabs button.active,.category-tabs .tab-btn.active{color:var(--accent-color);border-bottom-color:var(--accent-color);background:color-mix(in srgb,var(--accent-color) 12%,transparent)}.dashboard-page .welcome-card{background:var(--sidebar-bg);color:var(--sidebar-text);padding:calc(var(--padding-lg) * 1.5);border-radius:calc(var(--border-radius) * 2);margin-bottom:calc(var(--margin-lg) * 1.5);text-align:center;box-shadow:var(--shadow-md)}.dashboard-page .stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--margin-lg);margin-bottom:calc(var(--margin-lg) * 1.5)}.dashboard-page .stat-card{background-color:var(--bg-secondary);padding:calc(var(--padding-lg) * 1.25);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);text-align:center;border:1px solid var(--border-color);transition:box-shadow .3s ease}.dashboard-page .stat-card:hover{box-shadow:var(--shadow-md)}.dashboard-page .stat-number{font-size:2.5rem;font-weight:700;color:var(--accent-color);margin-bottom:var(--margin-sm)}.dashboard-page .stat-label{color:var(--text-secondary);font-size:var(--font-size-sm)}.settings-page .settings-container{max-width:600px;margin:0 auto;padding:15px}.settings-page .settings-card{background:var(--bg-secondary);border-radius:8px;box-shadow:var(--shadow-sm);padding:20px;border:1px solid var(--border-color)}.settings-page .settings-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.settings-page .setting-group{background:var(--bg-tertiary);border-radius:6px;padding:15px;border:1px solid var(--border-color-light)}.settings-page .setting-group.full-width{grid-column:1 / -1}.settings-page .setting-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.settings-page .setting-header.compact{margin:0}.settings-page .setting-icon{font-size:1.2rem;color:var(--accent-color)}.settings-page .setting-title{font-weight:600;color:var(--text-primary);font-size:1rem;margin:0}.settings-page .setting-description{color:var(--text-secondary);font-size:.85rem;margin-bottom:12px;line-height:1.4}.settings-page .setting-description.compact{margin-top:-4px}.settings-page .options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:8px}.settings-page .option-card{border:1px solid var(--border-color);border-radius:6px;padding:10px;cursor:pointer;transition:all .2s ease;background:var(--bg-secondary);text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px}.settings-page .option-card:hover{border-color:var(--accent-color);background:var(--bg-primary);transform:translateY(-1px)}.settings-page .option-card.active{border-color:var(--accent-color);background:var(--accent-color);color:#fff;box-shadow:var(--shadow-sm)}.settings-page .option-card.active .option-icon,.settings-page .option-card.active .option-title{color:#fff}.settings-page .option-icon{font-size:1.3rem;color:var(--accent-color)}.settings-page .option-title{font-weight:500;color:var(--text-primary);font-size:.8rem}.settings-page .theme-demo,.settings-page .display-demo{margin-top:8px;padding:4px 8px;border-radius:4px;font-size:.7rem;text-align:center;border:1px solid var(--border-color-light);background:var(--bg-primary)}.settings-page .theme-demo.light-demo{background:#fff;color:#333;border-color:#e9ecef}.settings-page .theme-demo.dark-demo{background:#2d2d2d;color:#e2e8f0;border-color:#4a5568}.settings-page .theme-demo.auto-demo{background:linear-gradient(45deg,#fff 50%,#2d2d2d 50%);color:#666;border-color:#999}.settings-page .display-demo.compact-demo{padding:2px 6px;font-size:.65rem}.settings-page .accent-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.settings-page .accent-color-picker{width:54px;height:54px;padding:0;border:1px solid var(--border-color);border-radius:10px;cursor:pointer;background:#fff}.settings-page .accent-inputs{display:flex;flex-direction:column;gap:6px}.settings-page .accent-input-row{display:flex;gap:6px;align-items:center}.settings-page .accent-hex-input{width:110px;padding:6px 8px;font-size:.8rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary)}.settings-page .accent-help{font-size:11px;color:var(--text-secondary)}.settings-page .setting-divider{height:1px;background:var(--border-color-light);margin:18px 0;opacity:.4}.settings-page .gradient-container{margin-top:16px}.settings-page .gradient-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.settings-page .gradient-label{font-size:13px;font-weight:600;color:var(--text-primary)}.settings-page .gradient-value{font-size:12px;font-weight:600;color:var(--accent-color);background:color-mix(in srgb,var(--accent-color) 12%,white);padding:3px 10px;border-radius:6px}.settings-page .gradient-slider{-webkit-appearance:none;appearance:none;width:100%;height:8px;border-radius:4px;outline:none;cursor:pointer;background:linear-gradient(90deg,var(--accent-color) 0%,#000000 100%)}.settings-page .gradient-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--accent-color);cursor:pointer;box-shadow:0 2px 4px #0003;transition:transform .2s,box-shadow .2s}.settings-page .gradient-slider::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 3px 8px #0000004d}.settings-page .gradient-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--accent-color);cursor:pointer;border:none;box-shadow:0 2px 4px #0003;transition:transform .2s,box-shadow .2s}.settings-page .gradient-slider::-moz-range-thumb:hover{transform:scale(1.1);box-shadow:0 3px 8px #0000004d}.settings-page .gradient-scale{display:flex;justify-content:space-between;margin-top:4px;font-size:11px;color:var(--text-secondary)}.settings-page .save-section{display:flex;align-items:center;justify-content:space-between;padding-top:15px;border-top:1px solid var(--border-color-light);margin-top:15px}.settings-page .save-button{background:var(--accent-color);color:#fff;border:none;padding:8px 20px;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s ease;font-size:.9rem;display:inline-flex;align-items:center;gap:6px}.settings-page .save-button:hover{background:var(--accent-hover);transform:translateY(-1px)}.settings-page .save-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.settings-page .status-text{color:var(--text-secondary);font-size:.85rem}.auth-layout{min-height:100vh}.auth-page{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:20px;background:linear-gradient(135deg,#f5f7fa,color-mix(in srgb,var(--accent-color) 22%,#c3cfe2));position:relative;overflow:hidden;font-family:Poppins,Segoe UI,sans-serif}.auth-page:before,.auth-page:after{content:"";position:absolute;width:300px;height:300px;background:color-mix(in srgb,var(--accent-color) 8%,transparent);border-radius:50%;animation:auth-float 25s infinite ease-in-out}.auth-page:before{top:10%;left:5%}.auth-page:after{bottom:15%;right:10%;width:200px;height:200px;animation-delay:5s}@keyframes auth-float{0%,to{transform:translateY(0) translate(0)}33%{transform:translateY(-50px) translate(30px)}66%{transform:translateY(-30px) translate(-30px)}}.auth-card{background:#fff;border-radius:30px;padding:50px 45px;width:100%;max-width:460px;box-shadow:0 25px 80px #0000001a,0 0 0 1px color-mix(in srgb,var(--accent-color) 18%,transparent) inset;border:1px solid color-mix(in srgb,var(--accent-color) 18%,transparent);animation:auth-fade-in .8s cubic-bezier(.16,1,.3,1);position:relative;z-index:2}.auth-card-wide{max-width:500px}@keyframes auth-fade-in{0%{opacity:0;transform:translateY(50px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-header{text-align:center;margin-bottom:40px}.auth-logo{margin:0 auto 28px;display:flex;align-items:center;justify-content:center}.auth-logo-image{max-width:280px;height:auto;animation:auth-logo-float 3s ease-in-out infinite}.auth-logo-image img{width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 6px 15px rgba(0,0,0,.12))}.auth-logo-circle{width:90px;height:90px;border-radius:50%;background:linear-gradient(135deg,var(--accent-color) 0%,var(--accent-hover) 100%);color:#fff;font-size:42px;box-shadow:0 15px 35px color-mix(in srgb,var(--accent-color) 40%,transparent);animation:auth-logo-float 3s ease-in-out infinite}@keyframes auth-logo-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.auth-title{font-size:32px;font-weight:700;color:var(--accent-color);margin-bottom:10px;letter-spacing:-.5px}.auth-subtitle{color:#4a5568;font-size:15px;font-weight:400;line-height:1.6}.auth-form{display:flex;flex-direction:column;gap:22px}.auth-field label{display:block;margin-bottom:10px;color:var(--accent-color);font-weight:500;font-size:14px}.auth-input-wrapper{position:relative}.auth-input-icon{position:absolute;left:18px;top:50%;transform:translateY(-50%);color:color-mix(in srgb,var(--accent-color) 70%,transparent);font-size:18px;z-index:1;transition:color .3s}.auth-input{width:100%;padding:16px 52px;border:2px solid #e2e8f0;border-radius:15px;font-size:15px;transition:all .4s cubic-bezier(.16,1,.3,1);background:#f7fafc;color:#2d3748;font-weight:500;font-family:Poppins,sans-serif}.auth-input:focus{outline:none;border-color:var(--accent-color);background:#fff;box-shadow:0 8px 30px color-mix(in srgb,var(--accent-color) 25%,transparent),0 0 0 4px color-mix(in srgb,var(--accent-color) 15%,transparent);transform:translateY(-2px)}.auth-input:focus~.auth-input-icon{color:var(--accent-color)}.auth-input::placeholder{color:#a0aec0;font-weight:400}.auth-eye{position:absolute;right:18px;top:50%;transform:translateY(-50%);color:color-mix(in srgb,var(--accent-color) 70%,transparent);background:none;border:none;cursor:pointer;font-size:18px;z-index:2;transition:color .3s;padding:0}.auth-eye:hover{color:var(--accent-color)}.auth-note{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:#718096;margin-top:10px;line-height:1.5}.auth-button{width:100%;padding:18px;background:linear-gradient(135deg,var(--accent-color) 0%,var(--accent-hover) 100%);color:#fff;border:none;border-radius:15px;font-size:16px;font-weight:600;cursor:pointer;transition:all .4s cubic-bezier(.16,1,.3,1);margin-top:12px;box-shadow:0 10px 30px color-mix(in srgb,var(--accent-color) 40%,transparent),0 5px 15px #00000026;position:relative;overflow:hidden;letter-spacing:.3px;font-family:Poppins,sans-serif}.auth-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transition:left .6s}.auth-button:hover:before{left:100%}.auth-button:hover{transform:translateY(-3px);box-shadow:0 15px 40px color-mix(in srgb,var(--accent-color) 50%,transparent),0 8px 20px #0003}.auth-button:active{transform:translateY(-1px)}.auth-button:disabled{opacity:.7;cursor:not-allowed;transform:none;box-shadow:none}.auth-button i{margin-left:10px;transition:transform .3s}.auth-button i:first-child{margin-left:0;margin-right:10px}.auth-button:hover i{transform:translate(5px)}.auth-alert{padding:16px 20px;border-radius:15px;font-size:14px;font-weight:500;display:flex;align-items:center;gap:14px;animation:auth-alert-slide .5s cubic-bezier(.16,1,.3,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@keyframes auth-alert-slide{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.auth-alert-error{background:#fecacaf2;color:#991b1b;border-left:4px solid #dc2626;box-shadow:0 4px 15px #dc262633}.auth-alert-success{background:#a7f3d0f2;color:#065f46;border-left:4px solid #10b981;box-shadow:0 4px 15px #10b98133}.auth-footer{margin-top:36px;padding-top:28px;border-top:1px solid #e2e8f0;text-align:center;display:flex;flex-direction:column;gap:6px}.auth-footer a{color:var(--accent-color);text-decoration:none;font-weight:500;font-size:14px;transition:all .3s}.auth-footer a:hover{color:var(--accent-hover);transform:translate(3px)}.profile-page{display:flex;justify-content:center}.profile-card{width:100%;max-width:820px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:14px;box-shadow:var(--shadow-sm);padding:26px;display:flex;flex-direction:column;gap:20px}.profile-card hr{border:none;border-top:1px solid var(--border-color-light);margin:0}.profile-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px}.profile-info .info-group label{font-size:.85rem;color:var(--text-muted);margin-bottom:6px;display:block}.profile-info .info-group p{font-size:1.05rem;margin:0;font-weight:600}.profile-section{background:var(--bg-tertiary);padding:20px;border-radius:12px;border:1px solid var(--border-color-light);display:flex;flex-direction:column;gap:14px}.profile-section h5{margin:0;font-size:1rem;display:flex;align-items:center;gap:8px;color:var(--text-primary)}.profile-section form{display:flex;flex-direction:column;gap:12px}.profile-section .btn{align-self:flex-start}.profile-alert{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:10px;background:color-mix(in srgb,var(--warning-color) 15%,var(--bg-secondary));border:1px solid color-mix(in srgb,var(--warning-color) 40%,var(--border-color));color:var(--warning-color);font-size:.85rem}.profile-toast{position:fixed;top:20px;right:20px;display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:12px;box-shadow:var(--shadow-md);z-index:1200;background:var(--bg-secondary);border:1px solid var(--border-color);font-size:.9rem;color:var(--text-primary)}.profile-toast.success{border-color:color-mix(in srgb,var(--success-color) 60%,var(--border-color));color:var(--success-color)}.profile-toast.error{border-color:color-mix(in srgb,var(--danger-color) 60%,var(--border-color));color:var(--danger-color)}.planning-page{display:flex;flex-direction:column;flex:1;min-height:0}.page-container.planning-page{height:100%;max-height:100%;min-height:0;overflow:hidden;box-sizing:border-box;padding:20px 24px 16px}.planning-page .card{display:flex;flex-direction:column;flex:1;min-height:0}.planning-page .card-body{display:flex;flex-direction:column;gap:16px;flex:1;min-height:0;overflow:hidden;overflow-x:auto}.planning-page .planning-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:16px;max-width:360px}.planning-page .agenda-toolbar{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.planning-page .agenda-toolbar-group{display:flex;flex-direction:column;gap:6px}.planning-page .agenda-toolbar--header{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.planning-page .agenda-toolbar--header .agenda-toolbar-group{gap:4px;min-width:180px}.planning-page .agenda-toolbar--header .form-label{font-size:.75rem;color:var(--text-secondary)}.planning-page .agenda-focus-inputs{display:flex;align-items:center;gap:8px}.planning-page .agenda-focus-sep{font-size:.85rem;color:var(--text-secondary)}.planning-page .agenda-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,1.1fr);gap:16px;align-items:stretch;flex:1;min-height:0;min-width:720px}.planning-page .agenda-layout.is-collapsed{grid-template-columns:minmax(0,1fr)}.planning-page .agenda-layout.is-collapsed .agenda-side{display:none}.page-header-actions .agenda-toolbar{display:flex;align-items:center;gap:14px;justify-content:flex-end;flex-wrap:nowrap}.page-header-actions .agenda-toolbar-group{display:flex;align-items:center;gap:8px;min-width:0}.page-header-actions .agenda-toolbar .form-control{width:170px}.page-header-actions .agenda-focus-inputs{align-items:center;flex-wrap:nowrap;gap:8px}.page-header-actions .agenda-focus-inputs .form-control{width:90px}.page-header-actions .agenda-focus-sep{margin:0 4px}.page-header-actions .agenda-toolbar--header .form-label{margin:0;white-space:nowrap;font-size:.85rem;display:inline-block}@media(max-width:1200px){.page-header-actions .agenda-toolbar{flex-wrap:wrap;gap:12px}.page-header-actions .agenda-toolbar .form-control{width:160px}.page-header-actions .agenda-focus-inputs .form-control{width:110px}}.planning-page .agenda-timeline{display:grid;grid-template-columns:70px minmax(0,1fr);background:linear-gradient(160deg,color-mix(in srgb,var(--accent-color) 8%,transparent),transparent 55%);border-radius:calc(var(--border-radius) * 1.5);border:1px solid var(--border-color);overflow:hidden;height:100%;min-height:0;align-self:stretch}.planning-page .agenda-axis{background:var(--bg-tertiary);border-right:1px solid var(--border-color);overflow:hidden;position:relative}.planning-page .agenda-axis-inner{will-change:transform}.planning-page .agenda-hour{display:flex;align-items:flex-start;justify-content:center;font-size:.75rem;color:var(--text-secondary);padding-top:0;line-height:1}.planning-page .agenda-grid{position:relative;overflow-y:auto;height:100%;background:var(--bg-secondary)}.planning-page .agenda-grid-inner{position:relative;min-height:100%}.planning-page .agenda-hour-line{position:absolute;left:0;right:0;height:1px;background:color-mix(in srgb,var(--border-color) 70%,transparent)}.planning-page .agenda-half-hour-lines{position:absolute;inset:0;pointer-events:none}.planning-page .agenda-half-hour{position:absolute;left:0;right:0;height:1px;background:color-mix(in srgb,var(--border-color) 45%,transparent)}.planning-page .agenda-focus-window{position:absolute;left:0;right:0;background:color-mix(in srgb,var(--accent-color) 12%,transparent);border-left:3px solid color-mix(in srgb,var(--accent-color) 70%,transparent)}.planning-page .agenda-item{position:absolute;border:none;border-radius:14px;padding:10px 12px;text-align:left;background:linear-gradient(135deg,color-mix(in srgb,var(--accent-color) 25%,#ffffff),var(--bg-secondary));box-shadow:0 8px 20px #1118271f;border:1px solid color-mix(in srgb,var(--accent-color) 35%,var(--border-color));color:var(--text-primary);display:grid;grid-template-columns:auto 1fr;grid-auto-rows:min-content;column-gap:12px;row-gap:4px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;overflow:hidden}.planning-page .agenda-item:hover{transform:translateY(-2px);box-shadow:0 12px 26px #1118272e}.planning-page .agenda-item-time{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);font-weight:600;line-height:1;grid-column:1;grid-row:1}.planning-page .agenda-item-title{font-weight:600;font-size:.95rem;line-height:1.2;grid-column:2;grid-row:1}.planning-page .agenda-item-meta{display:flex;align-items:center;gap:8px;font-size:.78rem;color:var(--text-secondary);line-height:1.2;grid-column:2;grid-row:2}.planning-page .agenda-item-dot{width:4px;height:4px;border-radius:999px;background:var(--text-secondary)}.planning-page .agenda-item-locations{display:flex;flex-wrap:wrap;gap:6px;font-size:.78rem;color:var(--text-secondary);line-height:1.2;grid-column:2;grid-row:3}.planning-page .agenda-empty{position:absolute;left:24px;right:24px;padding:16px 20px;background:color-mix(in srgb,var(--accent-color) 12%,var(--bg-secondary));border-radius:12px;border:1px dashed color-mix(in srgb,var(--accent-color) 40%,var(--border-color));color:var(--text-secondary);text-align:center;font-size:.9rem}.planning-page .agenda-side{position:sticky;top:24px;max-height:100%;overflow:auto;height:100%;align-self:stretch}.planning-page .agenda-panel{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:calc(var(--border-radius) * 1.5);padding:16px;box-shadow:var(--shadow-sm);min-width:320px;max-width:100%;height:100%;display:flex;flex-direction:column}.planning-page .agenda-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.planning-page .agenda-panel-header-text{display:flex;flex-direction:column;gap:6px}.planning-page .agenda-panel-body{display:block;flex:1;max-height:none;overflow:auto;padding-right:6px}.planning-page .agenda-panel.is-closed .agenda-panel-body{display:none}.planning-page .agenda-panel.is-closed{padding:10px;display:flex;align-items:center;justify-content:center}.planning-page .agenda-panel.is-closed .agenda-panel-header{margin-bottom:0}.planning-page .agenda-panel.is-closed .agenda-panel-header-text{display:none}.planning-page .card-header.planning-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;min-height:48px}.planning-page .planning-header-focus{display:flex;align-items:center;gap:10px;margin-left:auto}.planning-page .planning-header-focus .form-label{margin-bottom:0;font-size:.85rem;color:var(--text-secondary)}.planning-page .planning-panel-toggle{padding:8px 10px;min-width:36px;display:inline-flex;align-items:center;justify-content:center}.planning-page .agenda-panel-header h3{margin:0;font-size:1rem}.planning-page .agenda-panel-sub{font-size:.85rem;color:var(--text-secondary)}.planning-page .planning-form{display:grid;gap:12px;grid-template-columns:1fr;margin-bottom:20px}.planning-page .planning-form-section{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:14px;padding:12px;display:grid;gap:10px;box-shadow:0 6px 16px #0f172a0f}.planning-page .planning-form-section-title{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);font-weight:700}.planning-page .planning-form-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.planning-page .agenda-panel .form-control,.planning-page .agenda-panel .btn{font-size:.85rem}.planning-page .agenda-panel .form-control{padding:7px 9px}.planning-page .agenda-panel .btn{padding:7px 12px}.planning-page .planning-stack{display:grid;gap:8px}.planning-page .planning-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end}.planning-page .planning-checkbox{display:flex;gap:8px;align-items:center;font-size:.95rem}.planning-page .planning-repeat,.planning-page .planning-repeat-fields{display:grid;gap:10px}.planning-page .planning-weekdays{display:flex;flex-wrap:wrap;gap:8px}.planning-page .weekday-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid var(--border-color);background:var(--bg-tertiary);font-size:.85rem}.planning-page .planning-table td,.planning-page .planning-table th{white-space:nowrap}.planning-page .planning-row-actions{display:flex;gap:8px}@media(max-width:1100px){.planning-page .agenda-side{position:sticky;max-height:100%}}@media(max-width:768px){.planning-page .agenda-timeline{grid-template-columns:58px minmax(0,1fr)}.planning-page .agenda-grid{height:100%}}@media(max-width:768px){.login-container{margin:var(--margin-lg);padding:calc(var(--padding-lg) * 1.5) var(--padding-lg)}.dashboard-page .stats-grid{grid-template-columns:1fr}.accounts-page .role-form{flex-direction:column;align-items:stretch;gap:var(--margin-sm)}.roles-matrix .matrix-table{font-size:calc(var(--font-size-sm) * .85)}.settings-page .settings-container{padding:10px}.settings-page .settings-row{grid-template-columns:1fr;gap:15px}.settings-page .options-grid{grid-template-columns:repeat(auto-fit,minmax(70px,1fr))}.auth-card{padding:35px 25px;margin:15px}.auth-title{font-size:26px}.auth-logo-circle{width:75px;height:75px;font-size:34px}}.metrics-tiles{display:grid;gap:var(--margin-md);margin-bottom:var(--margin-lg)}.metrics-tiles.columns-2{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.metrics-tiles.columns-3{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.metrics-tiles.columns-4{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.metrics-tiles.columns-5{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.metric-tile{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:14px 16px;box-shadow:var(--shadow-sm);position:relative;display:flex;flex-direction:column;gap:6px;min-height:110px}.metric-tile .metric-header{display:flex;align-items:center;gap:8px;font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary)}.metric-tile .metric-icon{color:var(--accent-color)}.metric-tile .metric-value{font-size:clamp(1.4rem,1.1rem + .9vw,2.1rem);font-weight:600;line-height:1.1;color:var(--text-primary)}.metric-tile .metric-sub{font-size:var(--font-size-sm);color:var(--text-muted)}.metric-tile.variant-accent{border-color:color-mix(in srgb,var(--accent-color) 50%,transparent)}.metric-tile.variant-accent:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,color-mix(in srgb,var(--accent-color) 18%,transparent),transparent 65%);opacity:.4;border-radius:inherit;pointer-events:none}.metric-tile.variant-soft{background:color-mix(in srgb,var(--accent-color) 6%,var(--bg-secondary))}.metric-tile.variant-danger{border-color:var(--danger-color)}.action-bar{display:flex;gap:8px;padding:8px 0 4px;flex-wrap:wrap}.action-bar.align-right{justify-content:flex-end}.action-bar.align-left{justify-content:flex-start}.action-bar.align-center{justify-content:center}.widget-tabs{margin-bottom:var(--margin-lg)}.widget-tabs .tab-list{display:flex;gap:4px;border-bottom:1px solid var(--border-color);margin-bottom:10px;flex-wrap:wrap}.widget-tabs .tab-btn{background:var(--bg-tertiary);border:1px solid var(--border-color);border-bottom:none;padding:6px 14px;border-top-left-radius:var(--border-radius);border-top-right-radius:var(--border-radius);cursor:pointer;font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary);transition:background .2s,color .2s,box-shadow .2s;box-shadow:var(--shadow-xs)}.widget-tabs .tab-btn.active{background:var(--bg-secondary);color:var(--text-primary);box-shadow:0 -2px 4px #0000000a}.widget-tabs .tab-btn:hover{background:color-mix(in srgb,var(--accent-color) 10%,var(--bg-tertiary));color:var(--text-primary)}.widget-tabs .tab-panels{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:var(--border-radius);padding:16px 18px;box-shadow:var(--shadow-sm)}.widget-tabs .tab-panel{display:none;animation:fadeIn .25s ease}.widget-tabs .tab-panel.active{display:block}.banner{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--border-radius);border:1px solid;margin-bottom:var(--margin-md);font-size:var(--font-size-sm);position:relative}.banner-info{background:color-mix(in srgb,var(--accent-color) 10%,var(--bg-secondary));border-color:var(--accent-color);color:var(--text-primary)}.banner-warning{background:color-mix(in srgb,var(--warning-color) 18%,var(--bg-secondary));border-color:var(--warning-color)}.banner-danger{background:color-mix(in srgb,var(--danger-color) 18%,var(--bg-secondary));border-color:var(--danger-color)}.banner-success{background:color-mix(in srgb,var(--success-color) 18%,var(--bg-secondary));border-color:var(--success-color)}.banner .banner-close{position:absolute;right:6px;top:4px;background:none;border:none;color:inherit;font-size:16px;cursor:pointer}.widget-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);margin-bottom:var(--margin-lg);display:flex;flex-direction:column}.widget-card-header{padding:10px 16px;font-weight:600;font-size:var(--font-size-base);background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);color:var(--text-primary)}.widget-card-body{padding:16px 18px;font-size:var(--font-size-base);color:var(--text-primary)}.widget-card-footer{padding:10px 16px;border-top:1px solid var(--border-color);background:var(--bg-tertiary);font-size:var(--font-size-sm);color:var(--text-secondary)}.widget-card.variant-accent .widget-card-header{background:linear-gradient(90deg,var(--accent-color),color-mix(in srgb,var(--accent-color) 30%,var(--bg-tertiary)));color:var(--accent-text-color)}.widget-card.hidden{display:none!important}[data-theme=dark] .sidebar,[data-theme=dark] .top-header,[data-theme=auto] .sidebar,[data-theme=auto] .top-header,.theme-dark .sidebar,.theme-dark .top-header{background:#16281d!important;color:#f8fafc!important;border-bottom:1px solid #2d2d2d!important}@media(prefers-color-scheme:dark){[data-theme=auto] .standard-table,[data-theme=auto] .compact-table{background-color:#232a34!important;color:#f8fafc!important;border-color:#353b45!important}[data-theme=auto] .standard-table th,[data-theme=auto] .compact-table th{background:linear-gradient(135deg,#2d323c 80%,#232a34)!important;color:#e0e6ef!important;border-bottom:1.5px solid #353b45!important;font-weight:600}[data-theme=auto] .standard-table td,[data-theme=auto] .compact-table td{color:#f8fafc!important;background-color:#232a34!important;border-color:#353b45!important}[data-theme=auto] .standard-table tbody tr:hover,[data-theme=auto] .compact-table tbody tr:hover{background-color:#313846!important;color:#fff!important}[data-theme=auto] .standard-table tbody tr,[data-theme=auto] .compact-table tbody tr{background-color:#232a34!important}[data-theme=auto] .standard-table tbody td,[data-theme=auto] .compact-table tbody td{color:#f8fafc!important;background-color:#232a34!important}}[data-theme=dark] .standard-table tbody tr,[data-theme=dark] .compact-table tbody tr,.theme-dark .standard-table tbody tr,.theme-dark .compact-table tbody tr{background-color:#232a34!important}[data-theme=dark] .standard-table tbody td,[data-theme=dark] .compact-table tbody td,.theme-dark .standard-table tbody td,.theme-dark .compact-table tbody td{color:#f8fafc!important;background-color:#232a34!important}[data-theme=dark] .standard-table,[data-theme=dark] .compact-table,.theme-dark .standard-table,.theme-dark .compact-table{background-color:#232a34!important;color:#f8fafc!important;border-color:#353b45!important}[data-theme=dark] .standard-table th,[data-theme=dark] .compact-table th,.theme-dark .standard-table th,.theme-dark .compact-table th{background:linear-gradient(135deg,#2d323c 80%,#232a34)!important;color:#e0e6ef!important;border-bottom:1.5px solid #353b45!important;font-weight:600}[data-theme=dark] .standard-table td,[data-theme=dark] .compact-table td,.theme-dark .standard-table td,.theme-dark .compact-table td{color:#f8fafc!important;border-color:#353b45!important}[data-theme=dark] .standard-table tbody tr:hover,[data-theme=dark] .compact-table tbody tr:hover,.theme-dark .standard-table tbody tr:hover,.theme-dark .compact-table tbody tr:hover{background-color:#313846!important;color:#fff!important}[data-theme=dark] .table,.theme-dark .table{background-color:#232a34!important;color:#f8fafc!important;border-color:#353b45!important}[data-theme=dark] .table-striped tbody tr:nth-of-type(odd),.theme-dark .table-striped tbody tr:nth-of-type(odd){background-color:#262b33!important}[data-theme=dark] .table th,[data-theme=dark] .table thead th,.theme-dark .table th,.theme-dark .table thead th{background:linear-gradient(135deg,#2d323c 80%,#232a34)!important;color:#e0e6ef!important;border-bottom:1.5px solid #353b45!important;font-weight:600}[data-theme=dark] .table td,.theme-dark .table td{color:#f8fafc!important;border-color:#353b45!important}[data-theme=dark] .table tbody tr:hover,.theme-dark .table tbody tr:hover{background-color:#313846!important;color:#fff!important}[data-theme=dark] .table .btn,.theme-dark .table .btn{background-color:#2d323c!important;color:#e0e6ef!important;border-color:#3a4150!important}[data-theme=dark] .table .btn:hover,.theme-dark .table .btn:hover{background-color:#374151!important;color:#fff!important;border-color:#4b5563!important}.modal .form-select{min-height:44px!important;padding-top:10px!important;padding-bottom:10px!important;font-size:16px!important;line-height:1.4!important}.btn-info{background:#e3f0fa!important;color:#1976d2!important;border:none!important;border-radius:8px!important;box-shadow:none!important;font-weight:500}.btn-info:hover,.btn-info:focus{background:#cbe3f7!important;color:#125ea7!important}.btn-success{background:#e6f7ec!important;color:#219150!important;border:none!important;border-radius:8px!important;box-shadow:none!important;font-weight:500}.btn-success:hover,.btn-success:focus{background:#c7eed8!important;color:#176c3a!important}.btn-secondary{background:#f3f4f6!important;color:#5a5a5a!important;border:none!important;border-radius:8px!important;box-shadow:none!important;font-weight:500}.btn-secondary:hover,.btn-secondary:focus{background:#e0e1e3!important;color:#333!important}.btn-warning{background:#fff7e0!important;color:#b8860b!important;border:none!important;border-radius:8px!important;box-shadow:none!important;font-weight:500}.btn-warning:hover,.btn-warning:focus{background:#ffe9b3!important;color:#a0760a!important}.btn{padding:.45rem 1.1rem!important;font-size:1rem!important;letter-spacing:.01em;transition:background .2s,color .2s,box-shadow .2s}html{background-color:var(--bg-primary)!important;color-scheme:light dark}body{background-color:var(--bg-primary)!important;color:var(--text-primary)!important}[data-theme=dark] body,.theme-dark body{color-scheme:dark}.sidebar .menu-link{color:var(--sidebar-text-muted)!important}.sidebar .menu-link:hover{color:var(--sidebar-text)!important;background:var(--sidebar-hover)!important}.sidebar .menu-link.active{color:var(--sidebar-text)!important;background:var(--sidebar-active)!important}.sidebar .menu-text{color:inherit!important}.sidebar .user-info{color:var(--sidebar-text-muted)!important}.sidebar .user-info:hover{color:var(--sidebar-text)!important}.sidebar .logout-btn{color:var(--sidebar-text-muted)!important}.sidebar .user-avatar,[data-theme=light] .sidebar .user-avatar,[data-theme=dark] .sidebar .user-avatar{color:#fff!important}.sidebar .logout-btn:hover,.sidebar .logo h3,.sidebar .sidebar-toggle{color:var(--sidebar-text)!important}.sidebar .menu-link i,.sidebar .user-info i,.sidebar .logout-btn i{color:inherit!important}p,span,div,label,small{color:var(--text-primary)}strong,b{color:var(--text-primary);font-weight:600}input,textarea,select{background-color:var(--bg-secondary)!important;border-color:var(--border-color)!important;color:var(--text-primary)!important}input:focus,textarea:focus,select:focus{background-color:var(--bg-secondary)!important;border-color:var(--accent-color)!important;color:var(--text-primary)!important}input::placeholder,textarea::placeholder{color:var(--text-muted)!important}.bg-white,.bg-light{background-color:var(--bg-secondary)!important}.bg-dark{background-color:var(--bg-tertiary)!important}.bg-primary{background-color:var(--accent-color)!important}.text-dark{color:var(--text-primary)!important}.text-light{color:var(--text-secondary)!important}.text-white{color:var(--sidebar-text)!important}.text-primary{color:var(--accent-color)!important}.border{border-color:var(--border-color)!important}.border-light{border-color:var(--border-color-light)!important}.border-primary{border-color:var(--accent-color)!important}.dropdown-menu{background-color:var(--bg-secondary)!important;border-color:var(--border-color)!important}.dropdown-item{color:var(--text-primary)!important}.dropdown-item:hover,.dropdown-item:focus{background-color:var(--bg-tertiary)!important;color:var(--accent-color)!important}.table{background-color:var(--bg-secondary)!important;color:var(--text-primary)!important}.table th{background-color:var(--bg-tertiary)!important;border-color:var(--border-color)!important;color:var(--accent-color)!important}.table td{border-color:var(--border-color-light)!important;background-color:var(--bg-secondary)!important}.table-striped tbody tr:nth-of-type(odd) td{background-color:var(--bg-tertiary)!important}.card{background-color:var(--bg-secondary)!important;border-color:var(--border-color)!important}.card-header{background-color:var(--bg-tertiary)!important;border-color:var(--border-color)!important;color:var(--text-primary)!important}.card-body{background-color:var(--bg-secondary)!important;color:var(--text-primary)!important}.card-footer{background-color:var(--bg-tertiary)!important;border-color:var(--border-color)!important;color:var(--text-secondary)!important}.form-control,.form-select{background-color:var(--bg-secondary)!important;border-color:var(--border-color)!important;color:var(--text-primary)!important;min-height:38px;padding:.575rem .75rem;font-size:.95rem}.form-control:focus,.form-select:focus{background-color:var(--bg-secondary)!important;border-color:var(--accent-color)!important;color:var(--text-primary)!important;box-shadow:0 0 0 .25rem color-mix(in srgb,var(--accent-color) 25%,transparent)!important}select.form-control{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23666' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;padding-right:2.5rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}select.form-control option{color:var(--text-primary);background-color:var(--bg-secondary);padding:.5rem .75rem}[data-theme=dark] select.form-control{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23ccc' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3E%3C/svg%3E")}.modal .form-select{background-color:var(--bg-secondary)!important;color:var(--text-primary)!important}.modal .form-select option{color:var(--text-primary)!important;background-color:var(--bg-secondary)!important}[data-theme=dark] .modal .form-select{background-color:var(--bg-tertiary)!important}.form-label{color:var(--text-primary)!important}.btn{border-radius:var(--border-radius)!important;font-size:var(--font-size-base)!important}.btn-primary{background-color:var(--accent-color)!important;border-color:var(--accent-color)!important;color:#fff!important;font-weight:600!important}.btn-primary:hover{background-color:var(--accent-hover)!important;border-color:var(--accent-hover)!important;color:#fff!important}.btn-secondary{background-color:var(--bg-tertiary)!important;border-color:var(--border-color)!important;color:var(--text-primary)!important}.btn-secondary:hover{background-color:var(--border-color)!important;color:var(--text-primary)!important}.navbar{background-color:var(--bg-secondary)!important;border-color:var(--border-color)!important}.navbar-brand,.navbar-nav .nav-link{color:var(--text-primary)!important}.alert{border-radius:var(--border-radius)!important}.alert-success{background-color:color-mix(in srgb,var(--success-color) 15%,var(--bg-secondary))!important;border-color:var(--success-color)!important;color:color-mix(in srgb,var(--success-color) 80%,black)!important}.alert-danger{background-color:color-mix(in srgb,var(--danger-color) 15%,var(--bg-secondary))!important;border-color:var(--danger-color)!important;color:color-mix(in srgb,var(--danger-color) 80%,black)!important}.alert-warning{background-color:color-mix(in srgb,var(--warning-color) 15%,var(--bg-secondary))!important;border-color:var(--warning-color)!important;color:color-mix(in srgb,var(--warning-color) 80%,black)!important}.alert-info{background-color:color-mix(in srgb,var(--info-color) 15%,var(--bg-secondary))!important;border-color:var(--info-color)!important;color:color-mix(in srgb,var(--info-color) 80%,black)!important}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:var(--border-radius)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--border-radius)}::-webkit-scrollbar-thumb:hover{background:var(--accent-color)}html{scrollbar-width:thin;scrollbar-color:var(--border-color) var(--bg-tertiary)}::selection{background-color:color-mix(in srgb,var(--accent-color) 30%,transparent);color:var(--text-primary)}::-moz-selection{background-color:color-mix(in srgb,var(--accent-color) 30%,transparent);color:var(--text-primary)}*:focus{outline:2px solid color-mix(in srgb,var(--accent-color) 50%,transparent);outline-offset:2px}.spinner-border,.spinner-grow{color:var(--accent-color)!important}.btn:hover,.card:hover,.list-group-item:hover{transition:all .3s ease}*{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease!important}.no-transition,.no-transition *{transition:none!important}@media print{*{background-color:#fff!important;color:#000!important;box-shadow:none!important;border-color:#ccc!important}}.sidebar .menu-link i,.sidebar .user-info i,.sidebar .logout-btn i,.sidebar i.fas,.sidebar i.far,.sidebar i.fab{color:inherit!important}.prefix-selector{position:relative;width:100%}.prefix-header{display:flex;align-items:center;justify-content:space-between;padding:.575rem .75rem;border:1px solid #dee2e6;border-radius:.375rem;background-color:#fff;cursor:pointer;min-height:38px}.prefix-header:hover{border-color:#007bff;background-color:#f8f9fa}.prefix-header i{transition:transform .2s ease;color:#6c757d}.prefix-options{position:absolute;top:100%;left:0;right:0;z-index:1000;background-color:#fff;border:1px solid #dee2e6;border-top:none;border-radius:0 0 .375rem .375rem;max-height:250px;overflow-y:auto;box-shadow:0 2px 4px #0000001a}.prefix-option{display:flex;align-items:center;padding:.5rem .75rem;margin:0;cursor:pointer;border-bottom:1px solid #f1f3f4;transition:background-color .15s ease}.prefix-option:last-child{border-bottom:none}.prefix-option:hover{background-color:#f8f9fa}.prefix-option input[type=checkbox]{margin-right:.5rem}.prefix-code{font-weight:600;font-family:Courier New,monospace;background-color:#e9ecef;padding:.2rem .4rem;border-radius:.25rem;margin-right:.5rem;min-width:3rem;text-align:center;font-size:.85rem}.prefix-name{font-size:.9rem;color:#495057}[data-theme=dark] .prefix-header{background-color:var(--bg-secondary);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .prefix-header:hover{background-color:var(--bg-tertiary);border-color:var(--accent-color)}[data-theme=dark] .prefix-options{background-color:var(--bg-secondary);border-color:var(--border-color)}[data-theme=dark] .prefix-option{border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .prefix-option:hover{background-color:var(--bg-tertiary)}[data-theme=dark] .prefix-code{background-color:var(--bg-tertiary);color:var(--text-primary)}[data-theme=dark] .prefix-name{color:var(--text-secondary)}@media(max-width:768px){.multiselect-option label{padding:.6rem .8rem;flex-direction:column;align-items:flex-start}.prefix-name{margin-left:0;margin-top:.25rem;font-size:.85rem}.prefix-code{margin-right:0;margin-bottom:.25rem}}.roles-matrix .matrix-table{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden;box-shadow:var(--shadow-sm)}.roles-matrix .matrix-table th{background-color:var(--accent-color);color:var(--sidebar-text);text-align:center;padding:var(--padding-md);font-weight:600;font-size:var(--font-size-sm);border:1px solid var(--accent-hover)}.roles-matrix .matrix-table td{background-color:var(--bg-secondary);color:var(--text-primary);text-align:center;padding:var(--padding-sm);border:1px solid var(--border-color);font-size:var(--font-size-sm)}.roles-matrix .matrix-table td:first-child{text-align:left;font-weight:500;background-color:var(--bg-tertiary);color:var(--text-primary)}.roles-matrix .permission-checkbox{width:18px;height:18px;accent-color:var(--accent-color);cursor:pointer;margin:0}.roles-matrix .permission-checkbox:checked{background-color:var(--accent-color);border-color:var(--accent-color)}.roles-matrix .permission-checkbox:hover{transform:scale(1.1);transition:transform .2s ease}.roles-matrix .btn-primary{background-color:var(--accent-color);border-color:var(--accent-color);color:var(--sidebar-text);font-weight:600;box-shadow:var(--shadow-sm)}.roles-matrix .btn-primary:hover{background-color:var(--accent-hover);border-color:var(--accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.roles-matrix .btn-secondary{background-color:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-primary)}.roles-matrix .btn-secondary:hover{background-color:var(--border-color);color:var(--text-primary)}@media(max-width:768px){.roles-matrix .matrix-table{font-size:calc(var(--font-size-sm) * .85)}.roles-matrix .matrix-table th,.roles-matrix .matrix-table td{padding:calc(var(--padding-sm) * .75)}.roles-matrix .permission-checkbox{width:16px;height:16px}}[data-theme=dark] .roles-matrix .matrix-table th,.theme-dark .roles-matrix .matrix-table th{background-color:var(--accent-color);color:var(--sidebar-text)}[data-theme=dark] .roles-matrix .matrix-table td:first-child,.theme-dark .roles-matrix .matrix-table td:first-child{background-color:var(--bg-tertiary);color:var(--text-primary)}.roles-matrix .matrix-table tbody tr:hover,.roles-matrix .matrix-table tbody tr:hover td{background-color:color-mix(in srgb,var(--accent-color) 5%,var(--bg-secondary))}.roles-matrix .matrix-table tbody tr:hover td:first-child{background-color:color-mix(in srgb,var(--accent-color) 8%,var(--bg-tertiary))}.roles-matrix .alert{background-color:color-mix(in srgb,var(--info-color) 10%,var(--bg-secondary));border-left:4px solid var(--info-color);color:var(--text-primary);border-radius:var(--border-radius);padding:var(--padding-md);margin-bottom:var(--margin-lg)}.roles-matrix .alert .fas{color:var(--info-color);margin-right:var(--margin-sm)}.roles-matrix .form-control{background-color:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:var(--border-radius)}.roles-matrix .form-control:focus{border-color:var(--accent-color);box-shadow:0 0 0 .25rem color-mix(in srgb,var(--accent-color) 25%,transparent);background-color:var(--bg-secondary);color:var(--text-primary)}.roles-matrix .form-control::placeholder{color:var(--text-muted)}.table-container{background:var(--bg-secondary);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);overflow:hidden;margin:20px 0;transition:box-shadow .3s ease;border:1px solid var(--border-color)}.table-container:hover{transform:none!important;box-shadow:var(--shadow-md)!important}.table-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary)}.table-title{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.table-controls{display:flex;gap:10px;align-items:center}.table-search{position:relative}.table-search input{padding:8px 12px 8px 36px;border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:.875rem;width:220px;transition:all .2s ease;background:var(--bg-primary);color:var(--text-primary)}.table-search input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px rgba(var(--accent-color-rgb),.15)}.table-search input::placeholder{color:var(--text-muted)}.table-search .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:.875rem;pointer-events:none}.table-rows-selector{display:flex;align-items:center;gap:8px}.table-rows-selector label{margin:0;font-size:.875rem;color:var(--text-secondary);font-weight:500}.custom-select-wrapper{position:relative;width:80px}.custom-select{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border:1px solid var(--border-color);background:var(--bg-primary);border-radius:var(--border-radius);cursor:pointer;font-size:.875rem;transition:all .2s ease;-webkit-user-select:none;user-select:none}.custom-select:hover{border-color:var(--accent-color);background:var(--bg-tertiary)}.custom-select .selected-value{font-weight:500;color:var(--text-primary)}.custom-select i{font-size:.75rem;color:var(--text-muted);transition:transform .2s ease}.custom-select:hover i{color:var(--accent-color)}.custom-select-options{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--shadow-lg);z-index:1000;max-height:250px;overflow-y:auto}.custom-option{padding:8px 12px;cursor:pointer;font-size:.875rem;transition:all .15s ease;color:var(--text-primary)}.custom-option:hover{background:var(--bg-tertiary);color:var(--accent-color)}.custom-option.active{background:var(--accent-color);color:var(--accent-text-color);font-weight:500}.table-export{position:relative}.export-dropdown-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--border-color);background:var(--accent-color);color:var(--accent-text-color);border-radius:var(--border-radius);cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s ease}.export-dropdown-btn i,.export-dropdown-btn svg,.export-dropdown-btn .export-text,.export-dropdown-btn span{color:var(--accent-text-color)!important;fill:var(--accent-text-color)}.export-dropdown-btn:hover{border-color:var(--accent-color);background:var(--accent-hover);color:var(--accent-text-color)}.export-dropdown-btn:hover i,.export-dropdown-btn:hover svg,.export-dropdown-btn:hover .export-text,.export-dropdown-btn:hover span{color:var(--accent-text-color)!important;fill:var(--accent-text-color)}.export-menu{position:absolute;top:calc(100% + 4px);right:0;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--shadow-lg);z-index:1000;min-width:150px}.export-option{display:flex;align-items:center;gap:8px;width:100%;padding:8px 14px;border:none;background:none;cursor:pointer;font-size:.875rem;color:var(--text-primary);text-align:left;transition:all .15s ease}.export-option:hover{background:var(--bg-tertiary);color:var(--accent-color)}.table-responsive{overflow-x:auto}.standard-table{width:100%;border-collapse:collapse;table-layout:fixed}.standard-table thead{background:var(--bg-tertiary);border-bottom:2px solid var(--border-color)}body .standard-table th{padding:10px 16px!important;text-align:left;font-weight:600;font-size:.8125rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;line-height:1.5;vertical-align:middle!important;height:44px;overflow:visible;text-overflow:ellipsis;position:relative}.standard-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s ease}.standard-table th.sortable:hover{background:var(--bg-secondary);color:var(--accent-color)}.standard-table .th-content{display:flex;align-items:center}.standard-table .th-label{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%}.filter-toggle{background:none;border:none;padding:4px;cursor:pointer;color:var(--text-muted);transition:all .2s ease;display:flex;align-items:center;justify-content:center;border-radius:4px;outline:none}.filter-toggle:focus{outline:none}.filter-toggle:hover{color:var(--accent-color);background:rgba(var(--accent-color-rgb),.1)}.filter-toggle i{font-size:.875rem;font-family:"Font Awesome 6 Free";font-weight:900;line-height:1}.filter-toggle i.active{color:var(--accent-color)}.filter-toggle i.active-empty{color:#dc3545}.filter-dropdown{display:none;position:fixed;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--shadow-lg);z-index:2000;width:280px;max-height:400px;overflow:visible}.filter-search-wrapper{padding:8px;border-bottom:1px solid var(--border-color);display:flex;gap:4px;align-items:center}.filter-search{flex:1;padding:6px 10px;border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:.875rem;background:var(--bg-secondary);color:var(--text-primary)}.filter-search:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 2px rgba(var(--accent-color-rgb),.15)}.filter-search::placeholder{color:var(--text-muted)}.filter-search-apply{display:none;padding:6px 10px;border:1px solid var(--accent-color);background:var(--accent-color);color:var(--accent-text-color);border-radius:var(--border-radius);cursor:pointer;font-size:.875rem;transition:all .2s ease;align-items:center;justify-content:center}.filter-search-apply:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.filter-search-apply i{color:var(--accent-text-color)}.filter-options{max-height:300px;overflow-y:auto;padding:4px 0}.filter-actions{padding:8px;border-bottom:1px solid var(--border-color);display:flex;gap:8px;justify-content:space-between}.filter-action-btn{flex:1;padding:6px 10px;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);border-radius:var(--border-radius);font-size:.75rem;cursor:pointer;transition:all .2s ease}.filter-action-btn:hover{background:var(--accent-color);color:var(--accent-text-color);border-color:var(--accent-color)}.filter-option{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;transition:background .15s ease;font-size:.875rem;color:var(--text-primary)}.filter-option:hover{background:var(--bg-tertiary)}.filter-option input[type=checkbox]{cursor:pointer;width:16px;height:16px;margin:0;accent-color:var(--accent-color)}.filter-option span{flex:1;-webkit-user-select:none;user-select:none}.filter-options::-webkit-scrollbar{width:6px}.filter-options::-webkit-scrollbar-track{background:var(--bg-secondary)}.filter-options::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.filter-options::-webkit-scrollbar-thumb:hover{background:var(--accent-color)}.sort-icon{color:var(--text-muted);font-size:.75rem;transition:color .2s ease;cursor:pointer;padding:4px;border-radius:4px}.sort-icon i{font-family:"Font Awesome 6 Free";font-weight:900;line-height:1}.sort-icon:hover{color:var(--accent-color);background:rgba(var(--accent-color-rgb),.1)}.sort-icon i.active{color:var(--accent-color)}body .standard-table tbody tr{border-bottom:1px solid var(--border-color);transition:background-color .15s ease;height:50px!important;max-height:50px!important}body .standard-table tbody tr:hover{background:var(--bg-tertiary)}body .standard-table tbody tr:last-child{border-bottom:none}body .standard-table td{padding:10px 16px!important;font-size:.875rem;color:var(--text-primary);line-height:1.5;vertical-align:middle!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body .standard-table .actions-header{text-align:center;min-width:120px;width:120px;white-space:nowrap}body .standard-table .actions-column{text-align:center;min-width:120px;width:120px;white-space:nowrap;padding:10px 8px!important}.status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:capitalize;letter-spacing:.025em;line-height:1.4;vertical-align:middle}.status-actief,.status-active,.status-inactief,.status-inactive,.status-pending,.status-wachtend,.status-completed,.status-voltooid{background:rgba(var(--accent-color-rgb),.15);color:var(--accent-color)}.table-actions{display:flex;gap:4px;justify-content:center;align-items:center;white-space:nowrap;flex-wrap:nowrap}.table-action-btn{padding:5px 8px;border:1px solid var(--border-color);background:#fff;border-radius:var(--border-radius);cursor:pointer;transition:all .2s ease;font-size:.8125rem;color:var(--accent-color);white-space:nowrap;flex-shrink:0}.table-action-btn i,.table-action-btn svg{color:var(--accent-color);fill:var(--accent-color)}.table-action-btn.icon-only{padding:5px;min-width:28px;height:28px;display:flex;align-items:center;justify-content:center;line-height:1}.table-action-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm);border-color:var(--accent-color);background:#fff}.table-action-btn:hover i,.table-action-btn:hover svg{color:var(--accent-color);fill:var(--accent-color)}.table-action-btn.edit,.table-action-btn.delete,.table-action-btn.view,.table-action-btn.download{color:var(--accent-color);background:#fff}.table-action-btn.edit i,.table-action-btn.delete i,.table-action-btn.view i,.table-action-btn.download i,.table-action-btn.edit svg,.table-action-btn.delete svg,.table-action-btn.view svg,.table-action-btn.download svg{color:var(--accent-color);fill:var(--accent-color)}.table-action-btn.edit:hover,.table-action-btn.delete:hover,.table-action-btn.view:hover,.table-action-btn.download:hover{border-color:var(--accent-color);background:#fff;color:var(--accent-color)}.table-action-btn.edit:hover i,.table-action-btn.delete:hover i,.table-action-btn.view:hover i,.table-action-btn.download:hover i,.table-action-btn.edit:hover svg,.table-action-btn.delete:hover svg,.table-action-btn.view:hover svg,.table-action-btn.download:hover svg{color:var(--accent-color);fill:var(--accent-color)}.table-footer{padding:12px 20px;border-top:1px solid var(--border-color);background:var(--bg-tertiary);display:flex;justify-content:space-between;align-items:center;gap:16px}.table-info{font-size:.875rem;color:var(--text-secondary)}.table-pagination{padding:16px 20px;border-top:1px solid var(--border-color);background:var(--bg-tertiary)}.pagination-controls{display:flex;justify-content:flex-end;gap:6px;align-items:center}.pagination-btn{padding:6px 12px;border:1px solid var(--border-color);background:var(--bg-primary);border-radius:var(--border-radius);cursor:pointer;font-size:.875rem;font-weight:500;color:var(--text-primary);transition:all .2s ease;min-width:32px;display:flex;align-items:center;justify-content:center}.pagination-btn:hover:not(.disabled){border-color:var(--accent-color);background:rgba(var(--accent-color-rgb),.1);color:var(--accent-color)}.pagination-btn.active{background:var(--accent-color);color:var(--accent-text-color);border-color:var(--accent-color)}.pagination-btn.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.pagination-ellipsis{padding:0 8px;color:var(--text-muted);font-size:.875rem}@media(max-width:768px){.table-header{flex-direction:column;gap:12px;align-items:flex-start}.table-controls{width:100%;flex-wrap:wrap}.table-search input{width:100%}.standard-table{font-size:.8rem}.standard-table th,.standard-table td{padding:10px 12px}.pagination-controls{flex-wrap:wrap}}.table-loading{position:relative;opacity:.6;pointer-events:none}.table-loading:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border:4px solid var(--border-color);border-top-color:var(--accent-color);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}.client-table-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999}.client-table-modal.active{display:block}.client-table-modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn .2s ease}.client-table-modal-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--bg-secondary);border-radius:var(--border-radius);box-shadow:var(--shadow-lg);width:90%;max-width:500px;animation:slideDown .3s ease;border:1px solid var(--border-color)}.client-table-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary);border-radius:var(--border-radius) var(--border-radius) 0 0}.client-table-modal-title{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.client-table-modal-close{background:none;border:none;color:var(--text-muted);font-size:1.25rem;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--border-radius);transition:all .2s ease}.client-table-modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.client-table-modal-body{padding:24px;text-align:center}.client-table-modal-icon{width:64px;height:64px;margin:0 auto 20px;background:#ffc1071a;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#ffc107;font-size:28px}.client-table-modal-message{margin:0;font-size:1rem;color:var(--text-secondary);line-height:1.5}.client-table-modal-footer{padding:16px 24px;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:12px;background:var(--bg-tertiary);border-radius:0 0 var(--border-radius) var(--border-radius)}.client-table-btn{padding:10px 20px;border:none;border-radius:var(--border-radius);font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px}.client-table-btn-secondary{background:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border-color)}.client-table-btn-secondary:hover{background:var(--bg-tertiary);border-color:var(--accent-color)}.client-table-btn-danger{background:#dc3545;color:#fff;border:1px solid #dc3545}.client-table-btn-danger:hover{background:#c82333;border-color:#c82333;transform:translateY(-1px);box-shadow:0 4px 8px #dc35454d}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{opacity:0;transform:translate(-50%,-55%)}to{opacity:1;transform:translate(-50%,-50%)}}.draggable-row{cursor:grab;-webkit-user-select:none;user-select:none;position:relative;transition:background-color .2s ease,transform .1s ease;height:50px}.draggable-row:active{cursor:grabbing}.draggable-row:hover{background:rgba(var(--accent-color-rgb),.05)}.draggable-row.dragging{opacity:.5;background:var(--accent-color);color:var(--accent-text-color);transform:scale(1.02);box-shadow:0 4px 12px #00000026}.drag-placeholder{background:rgba(var(--accent-color-rgb),.1);border:2px dashed var(--accent-color);height:50px}.drag-placeholder td{text-align:center;color:var(--accent-color);font-weight:500;vertical-align:middle;font-size:.9rem}.draggable-row td:first-child:before{content:"⋮⋮";position:absolute;left:4px;color:var(--text-muted);font-size:1rem;opacity:0;transition:opacity .2s ease;line-height:1}.draggable-row:hover td:first-child:before{opacity:.6}.draggable-row:hover:before{opacity:1;color:var(--accent-color)}@media print{.table-header,.table-pagination,.table-actions,.table-export,.client-table-modal{display:none!important}.table-container{box-shadow:none;border:1px solid #000}.standard-table{page-break-inside:auto}.standard-table tr{page-break-inside:avoid;page-break-after:auto}.draggable-row:before{display:none}}.app-grid{display:grid;gap:20px}.panel-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.inline-form{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.inline-form .form-control{min-width:180px}.form-grid{display:grid;gap:12px}.form-grid.two-col{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.form-hint{font-size:12px;color:var(--text-secondary);margin-top:4px}.field-group{padding:12px;border-radius:10px;border:1px solid var(--border-color);background:var(--bg-tertiary)}.field-group-title{font-size:13px;font-weight:600;color:var(--accent-color);margin-bottom:8px}.table-actions{display:flex;gap:8px}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--accent-color) 10%,var(--bg-secondary));color:var(--accent-color);font-size:12px;font-weight:600}.modal-backdrop{position:fixed;inset:0;background:radial-gradient(circle at top,#11182759,#11182799);display:grid;place-items:center;z-index:2000;padding:20px}.modal-card{width:min(680px,100%);background:var(--bg-secondary);border-radius:18px;border:1px solid var(--border-color);box-shadow:var(--shadow-lg);padding:20px;max-height:90vh;overflow:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.modal-title{font-size:16px;font-weight:600;color:var(--accent-color)}.modal-card .form-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.modal-card .field-group-title{text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.detail-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:var(--bg-tertiary);border:1px solid var(--border-color);font-size:.85rem;font-weight:600;color:var(--text-primary);width:fit-content}.detail-pill-muted{color:var(--text-secondary);font-weight:500}.detail-pill-accent{background:color-mix(in srgb,var(--accent-color) 10%,var(--bg-tertiary));color:var(--accent-color);border-color:color-mix(in srgb,var(--accent-color) 35%,var(--border-color));text-transform:capitalize}.detail-route{display:grid;gap:6px;padding:8px 10px;border-radius:12px;background:color-mix(in srgb,var(--accent-color) 6%,var(--bg-tertiary));border:1px dashed color-mix(in srgb,var(--accent-color) 30%,var(--border-color))}.detail-route-row{display:grid;grid-template-columns:90px 1fr;gap:10px;align-items:center;font-size:.85rem}.detail-route-label{font-weight:700;color:var(--accent-color)}.detail-route-arrow{text-align:center;color:var(--text-secondary);font-size:.85rem}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.role-matrix-controls{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary)}.role-search{display:flex;align-items:center;gap:8px;min-width:240px}.role-search input{width:100%}.role-pagination{font-size:12px;color:var(--text-secondary)}.tab-row{display:flex;gap:8px;border-bottom:2px solid var(--border-color);margin-bottom:20px}.tab-button{padding:10px 18px;border:none;background:var(--bg-secondary);color:var(--accent-color);border-top-left-radius:8px;border-top-right-radius:8px;cursor:pointer;font-weight:600;transition:transform .2s ease,background .2s ease}.tab-button.active{background:var(--accent-color);color:var(--accent-text-color);box-shadow:var(--shadow-sm)}.ff-tab-bar{display:flex;gap:6px;align-items:flex-end;flex-wrap:wrap;margin-bottom:0}.ff-tab{padding:10px 18px;border:1px solid #ccd9d1;background:linear-gradient(#f8fcfa,#eef6f0);color:#355743;border-radius:10px 10px 0 0;text-decoration:none;font-size:13px;font-weight:600;position:relative;top:1px;transition:.2s;cursor:pointer}.ff-tab.active{background:#fff;border-bottom:1px solid #ffffff;box-shadow:0 -2px 6px #0000000a}.ff-panel{background:#fff;border:1px solid #ccd9d1;padding:24px 26px;border-radius:0 14px 14px;box-shadow:0 2px 8px #0000000d}.ff-tab-panel{animation:fadeIn .18s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.ff-table{width:100%;border-collapse:collapse}.ff-table th{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:#486454;font-weight:600;padding:8px 6px;border-bottom:1px solid #e3ece6;background:#f5faf7}.ff-table td{padding:10px 6px;font-size:13px;border-top:1px solid #eef3ef;vertical-align:middle}.ff-table tbody tr:hover{background:#f7fbf9}.ff-switch{position:relative;display:inline-block;width:44px;height:22px}.ff-switch input{opacity:0;width:0;height:0}.ff-slider{position:absolute;cursor:pointer;inset:0;background:#c9d6ce;border-radius:30px;transition:.25s}.ff-slider:before{position:absolute;content:"";height:18px;width:18px;left:2px;top:2px;background:#fff;border-radius:50%;transition:.25s;box-shadow:0 1px 3px #00000040}.ff-switch input:checked+.ff-slider{background:#2d8f55}.ff-switch input:checked+.ff-slider:before{transform:translate(22px)}.ff-select{width:100%;padding:6px 8px;font-size:13px;border:1px solid #cfdad3;border-radius:6px;background:#fdfefd}.ff-select:focus{outline:2px solid #2d8f55;outline-offset:1px}.ff-input{width:100%;padding:6px 10px;font-size:13px;border:1px solid #d4dfd8;border-radius:6px;background:#fdfefd;color:#2d4d3a}.ff-input:focus{outline:2px solid #2d8f55;outline-offset:1px;border-color:#2d8f55}.ff-input::placeholder{color:#9bb0a3;font-style:italic}.sidebar.variant-accent-solid{background:var(--sidebar-accent-start);color:var(--accent-text-color);--sidebar-text: var(--accent-text-color);--sidebar-text-muted: color-mix(in srgb, var(--accent-text-color) 85%, transparent);--sidebar-hover: color-mix(in srgb, var(--accent-text-color) 12%, transparent);--sidebar-active: color-mix(in srgb, var(--accent-text-color) 20%, transparent)}.sidebar.variant-accent-gradient{background:linear-gradient(180deg,var(--sidebar-accent-start) 0%,var(--sidebar-accent-end) 100%);color:var(--accent-text-color);--sidebar-text: var(--accent-text-color);--sidebar-text-muted: color-mix(in srgb, var(--accent-text-color) 85%, transparent);--sidebar-hover: color-mix(in srgb, var(--accent-text-color) 12%, transparent);--sidebar-active: color-mix(in srgb, var(--accent-text-color) 20%, transparent)}.sidebar.variant-white{background:#fff;color:var(--accent-color);--sidebar-text: var(--accent-color);--sidebar-text-muted: var(--accent-color);--sidebar-hover: var(--accent-tint, #f2f4f7);--sidebar-active: var(--accent-tint, #e9eef2)}
