﻿@import"https://fonts.googleapis.com/css2?family=DSEG7+Classic:wght@400;700&display=swap";:root{--zinc-950: #09090b;--zinc-900: #18181b;--zinc-850: #1f1f23;--zinc-800: #27272a;--zinc-750: #2e2e33;--zinc-700: #3f3f46;--zinc-600: #52525b;--zinc-500: #71717a;--zinc-400: #a1a1aa;--zinc-300: #d4d4d8;--zinc-200: #e4e4e7;--zinc-100: #f4f4f5;--zinc-50: #fafafa;--color-minor: #c9b616;--color-minor-light: #d9ca3d;--color-minor-dark: #a89812;--color-minor-alpha: rgba(201, 182, 22, 0.15);--color-lime: #84cc16;--color-lime-light: #a3e635;--color-lime-dark: #65a30d;--color-red: #ef4444;--color-red-light: #f87171;--color-red-dark: #dc2626;--color-red-alpha: rgba(239, 68, 68, 0.15);--amber-500: #f59e0b;--amber-950: #451a03;--green-500: #22c55e;--green-950: #052e16;--red-500: #ef4444;--red-950: #450a0a;--font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;--font-family-heading: 'DM Sans', sans-serif;--font-size-xs: 0.75rem;--font-size-sm: 0.8125rem;--font-size-base: 0.9375rem;--font-size-lg: 1.0625rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--spacing-1: 0.25rem;--spacing-2: 0.5rem;--spacing-3: 0.75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--radius-sm: 6px;--radius: 8px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-2xl: 1.25rem;--shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.2);--shadow: 0 2px 8px rgba(0, 0, 0, 0.25);--shadow-md: 0 4px 12px rgba(0, 0, 0, 0.3);--shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.4);--shadow-xl: 0 16px 48px rgba(0, 0, 0, 0.5);--transition: 200ms ease;--transition-fast: 100ms ease;--sidebar-width: 240px}*,*::before,*::after{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.5;color:var(--zinc-100);background:var(--zinc-900);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:rgba(0,0,0,0)}::-webkit-scrollbar-thumb{background:var(--zinc-500);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--zinc-400)}*{scrollbar-width:thin;scrollbar-color:var(--zinc-500) rgba(0,0,0,0)}a{color:var(--zinc-700);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4,h5,h6{margin:0 0 var(--spacing-4);font-weight:600;line-height:1.25;color:var(--zinc-100);letter-spacing:-0.01em}h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-lg)}p{margin:0 0 var(--spacing-4)}code{font-family:"SF Mono",Monaco,"Cascadia Code",monospace;font-size:var(--font-size-sm);background:var(--zinc-700);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm)}code.code-sm{font-size:var(--font-size-xs);padding:.125rem .375rem}.text-muted{color:var(--zinc-400)}.hidden{display:none !important}.app-body{overflow:hidden}.app-layout{display:flex;flex-direction:row;height:100vh;overflow:hidden}.app-header{display:flex;align-items:flex-end;background:var(--zinc-800);border-bottom:1px solid var(--zinc-600);flex-shrink:0;z-index:100;gap:8px}.app-header .sidebar-toggle{margin-bottom:16px}.app-header-nav{display:flex;align-items:center;align-self:flex-start;justify-content:flex-start;gap:4px;padding:24px 0 0 0;flex:1}.app-header-actions{display:flex;align-items:center;gap:8px;padding:16px 16px 0 0;margin-left:auto;align-self:flex-end;margin-bottom:16px}.app-header-actions .btn-primary{background:var(--zinc-600);border:1px solid var(--zinc-400);color:var(--zinc-100)}.app-header-actions .btn-primary:hover{background:var(--zinc-500);border-color:var(--zinc-300)}.app-header-actions .btn-secondary{background:var(--zinc-700);border:1px solid var(--zinc-500);color:var(--zinc-200)}.app-header-actions .btn-secondary:hover{background:var(--zinc-600);border-color:var(--zinc-400)}.app-header-search{position:relative;display:flex;align-items:center}.search-input-header{width:180px;padding:6px 12px 6px 32px;background:var(--zinc-700);border:1px solid var(--zinc-600);border-radius:var(--radius);font-family:var(--font-family);font-size:13px;color:var(--zinc-100);transition:all var(--transition-fast)}.search-input-header::placeholder{color:var(--zinc-400)}.search-input-header:focus{outline:none;border-color:var(--zinc-500);background:var(--zinc-600)}.search-icon{position:absolute;left:10px;color:var(--zinc-400);pointer-events:none;width:16px;height:16px}.app-header-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:rgba(0,0,0,0);border:none;border-radius:var(--radius);font-size:13px;font-weight:500;color:var(--zinc-400);cursor:pointer;transition:all var(--transition-fast)}.app-header-btn:hover{background:var(--zinc-700);color:var(--zinc-100)}.app-header-btn svg{flex-shrink:0;width:16px;height:16px}.app-header-tab{position:relative;display:flex;align-items:center;gap:8px;padding:0 16px 20px;margin-bottom:-1px;font-family:var(--font-family-heading);font-size:13px;font-weight:500;color:var(--zinc-300);text-decoration:none;border-radius:var(--radius-md) var(--radius-md) 0 0;border-bottom:1px solid rgba(0,0,0,0);transition:all .2s ease;cursor:pointer}.app-header-tab svg{flex-shrink:0}.app-header-tab:hover{color:var(--zinc-500);text-decoration:none}.app-header-tab.app-header-tab--active{color:#fff;border-bottom-color:var(--color-minor)}.app-header-tab.app-header-tab--active .app-header-tab__number{background:var(--color-minor);color:var(--zinc-900)}.app-header-tab__number{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-right:6px;font-size:11px;font-weight:600;background:var(--zinc-500);color:var(--zinc-200);border-radius:50%;transition:all .2s ease}.app-header-tab--closable{display:flex;align-items:center;gap:8px;padding-right:12px}.app-header-tab--closable .app-header-tab__link{color:inherit;text-decoration:none;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-header-tab--closable .app-header-tab__link:hover{text-decoration:none}.app-header-tab--closable .app-header-tab__close{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:var(--radius-sm);color:var(--zinc-400);transition:all .15s ease}.app-header-tab--closable .app-header-tab__close:hover{background:var(--zinc-600);color:var(--zinc-50)}.app-topbar-right{display:flex;align-items:center;gap:16px}.search-input{width:240px;padding:8px 16px;background:var(--zinc-600);border:1px solid var(--zinc-500);border-radius:var(--radius-md);font-family:var(--font-family);font-size:14px;color:var(--zinc-50);transition:all var(--transition-fast)}.search-input::placeholder{color:var(--zinc-300)}.search-input:focus{outline:none;border-color:var(--zinc-600);box-shadow:0 0 0 3px rgba(82,82,91,.15)}.app-content{display:flex;flex-direction:column;flex:1;height:100%;min-height:0;overflow:hidden}.sidebar{width:var(--sidebar-width);background:var(--zinc-900);display:flex;flex-direction:column;flex-shrink:0;border-right:1px solid var(--zinc-800);transition:width .2s ease}.sidebar-header{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-5) var(--spacing-4)}.sidebar-logo{width:28px;height:28px;flex-shrink:0;border-radius:var(--radius-sm)}.sidebar-title{font-family:var(--font-family-heading);font-size:var(--font-size-lg);font-weight:600;color:var(--zinc-100);letter-spacing:-0.02em}.sidebar-title .text-amber{color:var(--color-minor);font-weight:500}.sidebar-toggle{display:flex;align-items:center;justify-content:center;width:28px;height:28px;margin-left:auto;background:rgba(0,0,0,0);border:none;border-radius:var(--radius-sm);color:var(--zinc-500);cursor:pointer;transition:all var(--transition-fast)}.sidebar-toggle:hover{background:var(--zinc-800);color:var(--zinc-300)}.sidebar-close-mobile{display:none}.sidebar-nav{flex:1;padding:0 var(--spacing-3);overflow:hidden;display:flex;flex-direction:column}.sidebar-section-bottom{padding:var(--spacing-3)}.nav-section{display:flex;flex-direction:column;gap:2px;margin-bottom:var(--spacing-4);padding-bottom:var(--spacing-4);border-bottom:1px solid var(--zinc-800)}.nav-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}#site-shortcuts{flex:1;overflow-y:auto;min-height:0}.nav-section-title{font-family:var(--font-family);font-size:11px;font-weight:500;color:var(--zinc-500);text-transform:uppercase;letter-spacing:.05em;padding:var(--spacing-2) var(--spacing-3);margin-bottom:var(--spacing-1)}.nav-item{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius);color:var(--zinc-400);text-decoration:none;font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:450;transition:all var(--transition-fast)}.nav-item:hover{background:var(--zinc-800);color:var(--zinc-200);text-decoration:none}.nav-item:hover .nav-icon{color:var(--zinc-300)}.nav-item-active{background:var(--zinc-800);color:var(--zinc-50);font-weight:500}.nav-item-active::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:16px;background:var(--color-minor);border-radius:0 2px 2px 0}.nav-item-active{position:relative}.nav-item-active:hover{background:var(--zinc-750);color:var(--zinc-50)}.nav-item-active .nav-icon{color:var(--color-minor)}.nav-item-active:hover .nav-icon{color:var(--color-minor-light)}.nav-icon{width:18px;height:18px;flex-shrink:0;color:var(--zinc-500);transition:color var(--transition-fast)}.nav-item-small{padding:var(--spacing-1) var(--spacing-3);font-size:var(--font-size-xs);color:var(--zinc-500);font-weight:400}.nav-item-small:hover{color:var(--zinc-300)}.nav-item-small.nav-item-active{color:var(--zinc-100);font-weight:500;background:var(--zinc-800)}.nav-item-small.nav-item-active::before{height:12px}.nav-item-small.nav-item-active:hover{background:var(--zinc-750)}.nav-item-small .nav-icon{width:14px;height:14px}.nav-section-header{display:flex;align-items:center;justify-content:space-between;padding-right:var(--spacing-2)}.nav-section-header .nav-section-title{flex:1;margin-bottom:0}.nav-section-add{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:rgba(0,0,0,0);color:var(--zinc-500);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.nav-section-add:hover{background:var(--zinc-800);color:var(--zinc-300)}.nav-item-wrapper{position:relative;display:flex;align-items:center}.nav-item-wrapper .nav-item{flex:1}.nav-item-remove{display:flex;align-items:center;justify-content:center;width:16px;height:16px;border:none;background:rgba(0,0,0,0);color:var(--zinc-600);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);flex-shrink:0;margin-left:var(--spacing-1);opacity:0}.nav-item-wrapper:hover .nav-item-remove{opacity:1}.nav-item-remove:hover{background:var(--zinc-700);color:var(--zinc-300)}.nav-empty-state{padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-xs);color:var(--zinc-600);font-style:italic}.sidebar-footer{padding:var(--spacing-3);background:var(--zinc-900);position:relative}.sidebar-footer-text{display:block;font-size:10px;color:var(--zinc-600);text-align:center;padding:var(--spacing-3) var(--spacing-2) 0;margin-top:var(--spacing-3);border-top:1px solid var(--zinc-800);line-height:1.4}.sidebar-footer-text .text-orange{color:var(--color-minor)}.sidebar-user{width:100%;display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-2) var(--spacing-3);background:none;border:none;border-top:1px solid var(--zinc-800);cursor:pointer;text-align:left}.user-avatar{width:32px;height:32px;border-radius:50%;background:var(--zinc-700);color:var(--zinc-200);display:flex;align-items:center;justify-content:center;font-family:var(--font-family);font-weight:500;font-size:var(--font-size-xs);flex-shrink:0;transition:all var(--transition-fast);position:relative}.user-avatar::after{content:"";position:absolute;bottom:0;right:0;width:8px;height:8px;background:#22c55e;border:2px solid var(--zinc-900);border-radius:50%}.user-info{flex:1;display:flex;flex-direction:column;min-width:0}.user-name{font-size:var(--font-size-sm);font-weight:500;color:var(--zinc-200);transition:color var(--transition-fast)}.user-role{font-size:11px;color:var(--zinc-500)}.user-chevron{width:16px;height:16px;color:var(--zinc-600);flex-shrink:0;transition:color var(--transition-fast)}.sidebar-user:hover .user-chevron{color:var(--zinc-400)}.user-dropdown{position:absolute;bottom:100%;left:var(--spacing-3);right:var(--spacing-3);margin-bottom:var(--spacing-2);background:var(--zinc-800);border:1px solid var(--zinc-700);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden;z-index:100}.user-dropdown.hidden{display:none}.dropdown-section{padding:var(--spacing-2)}.dropdown-section+.dropdown-section{border-top:1px solid var(--zinc-700)}.dropdown-email{display:block;padding:var(--spacing-2) var(--spacing-3) var(--spacing-1);font-size:var(--font-size-sm);font-weight:500;color:var(--zinc-100)}.dropdown-role{display:block;padding:0 var(--spacing-3) var(--spacing-2);font-size:11px;color:var(--zinc-500)}.sidebar-collapsed{width:64px}.sidebar-collapsed .sidebar-header{justify-content:center;padding:var(--spacing-5) var(--spacing-2)}.sidebar-collapsed .sidebar-title,.sidebar-collapsed .sidebar-toggle{display:none}.sidebar-collapsed .sidebar-nav{padding:0 var(--spacing-2)}.sidebar-collapsed .nav-section-title{display:none}.sidebar-collapsed .nav-section{padding-bottom:var(--spacing-2);margin-bottom:var(--spacing-2)}.sidebar-collapsed .nav-item{justify-content:center;padding:var(--spacing-2)}.sidebar-collapsed .nav-item::before{display:none}.sidebar-collapsed .nav-label{display:none}.sidebar-collapsed .nav-icon{margin:0}.sidebar-collapsed .nav-item{position:relative}.sidebar-collapsed .nav-item::after{content:attr(title);position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);background:var(--zinc-800);color:var(--zinc-100);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:500;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--transition-fast);z-index:1000;border:1px solid var(--zinc-700)}.sidebar-collapsed .nav-item:hover::after{opacity:1}.sidebar-collapsed .sidebar-footer{padding:var(--spacing-2)}.sidebar-collapsed .sidebar-user{justify-content:center;padding:var(--spacing-2)}.sidebar-collapsed .user-info,.sidebar-collapsed .user-chevron,.sidebar-collapsed .sidebar-footer-text{display:none}.sidebar-collapsed .user-dropdown{left:64px;right:auto;bottom:var(--spacing-2);min-width:200px}.sidebar-collapsed .nav-section-header form{display:none}.sidebar-collapsed .nav-section-header{justify-content:center}.sidebar-collapsed .nav-empty-state{display:none}.nav-ref{display:none}.sidebar-collapsed .nav-ref{display:block;font-size:9px;font-weight:600;color:var(--zinc-400);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.sidebar-collapsed .nav-item-small{padding:var(--spacing-1);justify-content:center}.sidebar-collapsed .nav-item-wrapper{margin-bottom:2px}.sidebar-collapsed .nav-item-wrapper .nav-item{padding:var(--spacing-1)}.sidebar-collapsed .nav-item-remove{display:none}.sidebar-collapsed #site-shortcuts{padding-bottom:var(--spacing-1);margin-bottom:var(--spacing-1)}.sidebar-admin{background:var(--zinc-950);border-right-color:var(--zinc-800)}.sidebar-admin .sidebar-toggle{color:var(--zinc-600)}.sidebar-admin .sidebar-toggle:hover{background:var(--zinc-800);color:var(--zinc-300)}.sidebar-admin .nav-section-title{color:var(--zinc-600)}.sidebar-admin .nav-item{color:var(--zinc-500)}.sidebar-admin .nav-item:hover{background:var(--zinc-800);color:var(--zinc-200)}.sidebar-admin .nav-item:hover .nav-icon{color:var(--zinc-300)}.sidebar-admin .nav-item-active{background:var(--zinc-800);color:var(--zinc-100)}.sidebar-admin .nav-item-active::before{background:#fbbf24}.sidebar-admin .nav-item-active:hover{background:var(--zinc-750)}.sidebar-admin .nav-item-active .nav-icon{color:#fbbf24}.sidebar-admin .nav-icon{color:var(--zinc-600)}.sidebar-admin .sidebar-footer{background:var(--zinc-950);border-top-color:var(--zinc-800)}.sidebar-admin .sidebar-user:hover{background:var(--zinc-800)}.sidebar-admin .user-avatar-admin{background:#fbbf24;color:var(--zinc-950);font-weight:600}.sidebar-admin .user-avatar-admin::after{background:#22c55e;border-color:var(--zinc-950)}.sidebar-admin .user-name{color:var(--zinc-200)}.sidebar-admin .user-role{color:var(--zinc-500)}.sidebar-admin .user-chevron{color:var(--zinc-600)}.sidebar-admin .user-dropdown{background:var(--zinc-850);border-color:var(--zinc-700)}.sidebar-admin .dropdown-email{color:var(--zinc-100)}.sidebar-admin .dropdown-role{color:var(--zinc-500)}.sidebar-admin .dropdown-section+.dropdown-section{border-top-color:var(--zinc-700)}.main-content{position:relative;flex:1 1 0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.main-header{flex-shrink:0}.main-body{flex:1 1 0;min-height:0;display:flex;flex-direction:column;overflow-y:auto;background:var(--zinc-900);background-image:linear-gradient(to bottom, rgba(77, 77, 77, 0.3098039216) 1px, transparent 1px),linear-gradient(to right, rgba(58, 58, 58, 0.6) 1px, transparent 1px);border:none}.main-body--fixed{flex:1 1 0;min-height:0;display:flex;flex-direction:column;padding:var(--spacing-6);background:var(--zinc-900);overflow-y:auto;gap:var(--spacing-4)}.main-body-footer{flex-shrink:0;margin-top:auto;padding:var(--spacing-3) 0;padding-bottom:calc(var(--spacing-3) + 10px)}.page-content{flex:1 1 0;min-height:0;display:flex;flex-direction:column;background:var(--zinc-900);gap:var(--spacing-4);overflow-y:auto}.page-content .planning-controls{padding-left:0;padding-right:0}.impersonation-banner{flex-shrink:0;background:rgba(82,82,91,.15);border-bottom:1px solid var(--zinc-700);color:var(--zinc-600);padding:var(--spacing-3) var(--spacing-6)}.flash{flex-shrink:0;padding:var(--spacing-3) var(--spacing-6);border-bottom:1px solid var(--zinc-700)}.flash-notice{background:rgba(113,113,122,.15);color:var(--zinc-500)}.flash-alert{background:rgba(39,39,42,.25);color:var(--zinc-800)}c .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-6);flex-wrap:wrap;gap:var(--spacing-4)}.page-header h1{margin:0;font-weight:600}.page-actions{display:flex;gap:var(--spacing-2)}.page-tabs{display:flex;gap:var(--spacing-1);background:var(--zinc-700);padding:4px;border-radius:var(--radius)}.page-tab{padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-sm);font-weight:500;color:var(--zinc-400);text-decoration:none;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.page-tab:hover{color:var(--zinc-100)}.page-tab.active{background:var(--zinc-800);color:var(--zinc-100);box-shadow:0 1px 2px rgba(0,0,0,.05)}.section-header{margin-bottom:var(--spacing-6)}.section-header-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-4)}.section-title{font-size:1.75rem;font-weight:600;margin:0;color:var(--zinc-100)}.section-header-actions{display:flex;align-items:center;gap:var(--spacing-3)}.section-header-actions>.btn{height:36px;padding:0 var(--spacing-4);font-size:var(--font-size-sm)}.section-tabs{display:flex;gap:var(--spacing-1);border-bottom:1px solid var(--zinc-700);margin-bottom:var(--spacing-6)}.section-tab{position:relative;display:inline-flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-sm);font-weight:500;color:var(--zinc-400);text-decoration:none;transition:all var(--transition-fast);background:var(--zinc-700);border:1px solid var(--zinc-600);border-bottom:1px solid var(--zinc-700);border-radius:var(--radius) var(--radius) 0 0;cursor:pointer;font-family:inherit;margin-bottom:-1px}.section-tab:hover{color:var(--zinc-100);background:var(--zinc-600);text-decoration:none}.section-tab.active{color:var(--zinc-100);background:var(--zinc-800);border-color:var(--zinc-700);border-top:2px solid var(--zinc-600);border-bottom:1px solid var(--zinc-800)}.barre-action{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-4);padding:var(--spacing-3) var(--spacing-4)}.barre-action--right-only{justify-content:flex-end}.barre-action__left{display:flex;align-items:center;gap:var(--spacing-3)}.barre-action__actions{display:flex;align-items:center;gap:var(--spacing-3)}.tab-number{font-size:1.5em;line-height:1}.tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;font-size:var(--font-size-xs);font-weight:500;color:var(--zinc-400);background:var(--zinc-700);border-radius:10px}.section-tab.active .tab-count{background:var(--zinc-600);color:var(--zinc-100)}.section-tab__number{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:.75rem;font-weight:700;background:var(--zinc-500);color:var(--zinc-400);border-radius:50%;flex-shrink:0}.section-tab.active .section-tab__number{background:var(--zinc-600);color:var(--zinc-700)}.planning-stepper{display:flex;align-items:flex-start;justify-content:center;padding:var(--spacing-4) 0}.stepper-step{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2);text-decoration:none;color:var(--zinc-400);transition:color .2s}.stepper-step:hover{color:var(--zinc-100);text-decoration:none}.stepper-step.active .stepper-circle{background:var(--zinc-600);color:#fff;border-color:var(--zinc-600)}.stepper-step.active .stepper-label{color:var(--zinc-100);font-weight:600}.stepper-circle{width:32px;height:32px;border-radius:50%;border:2px solid var(--zinc-500);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;background:var(--zinc-800);transition:all .2s}.stepper-label{font-size:13px;font-weight:500}.stepper-line{width:120px;height:2px;background:var(--zinc-500);margin:0 var(--spacing-4);margin-top:15px}.view-tabs{display:flex;gap:var(--spacing-2);margin-bottom:var(--spacing-4);padding:var(--spacing-1);background:var(--zinc-700);border-radius:var(--radius-lg);width:fit-content}.view-tab{display:inline-flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-sm);font-weight:500;color:var(--zinc-400);background:rgba(0,0,0,0);border:none;border-radius:var(--radius);cursor:pointer;transition:all var(--transition-fast)}.view-tab:hover{color:var(--zinc-100)}.view-tab.active{background:var(--zinc-800);color:var(--zinc-100);box-shadow:0 1px 2px rgba(0,0,0,.05)}.view-tab-icon{width:16px;height:16px}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border-radius:var(--radius);background:var(--zinc-700);color:var(--zinc-400);border:none;cursor:pointer;transition:all var(--transition-fast)}.btn-icon:hover{background:var(--zinc-600);color:var(--zinc-100)}.date-nav{display:flex;align-items:center;gap:var(--spacing-2)}.date-label{font-weight:500;min-width:180px;text-align:center;font-size:var(--font-size-sm);color:var(--zinc-400)}.decompte-absence{display:inline-flex;align-items:center;padding:2px 6px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:500;background:var(--zinc-750);color:var(--zinc-300)}.legend-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:500;background:var(--zinc-750);color:var(--zinc-300)}.dynamic-color{background:var(--zinc-900);color:var(--dynamic-text, var(--zinc-100))}.avatar-initials.dynamic-color,.avatar-preview-initials.dynamic-color{background:var(--dynamic-bg);color:var(--dynamic-text)}.site-color-square.dynamic-color{background:var(--dynamic-bg)}.color-display.dynamic-color{background:var(--dynamic-bg)}.badge.dynamic-color{background:var(--dynamic-bg);color:var(--dynamic-text)}.progress-fill.dynamic-width{width:var(--dynamic-width, 0%)}.agenda-item-dot{background:var(--dynamic-bg, var(--zinc-600))}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);height:34px;padding:0 var(--spacing-3);font-size:var(--font-size-xs);font-weight:500;line-height:1;color:var(--zinc-50);background:rgba(0,0,0,0);border:1px solid var(--zinc-600);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);text-decoration:none}.btn:hover{background:var(--zinc-800);border-color:var(--zinc-500);text-decoration:none}.btn:active{background:var(--zinc-700)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn svg{flex-shrink:0}.btn-primary{color:var(--zinc-900);background:var(--color-minor);border:1px solid var(--color-minor)}.btn-primary:hover{background:var(--color-minor-light);border-color:var(--color-minor-light)}.btn-primary:active{background:var(--color-minor-dark)}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-secondary{color:var(--zinc-50);background:var(--zinc-700);border:1px solid var(--zinc-500)}.btn-secondary:hover{background:var(--zinc-600);border-color:var(--zinc-400)}.btn-secondary:active{background:var(--zinc-600)}.btn-ghost{color:var(--zinc-50);background:rgba(0,0,0,0);border:1px solid var(--zinc-600)}.btn-ghost:hover{background:var(--zinc-800);border-color:var(--zinc-500)}.btn-ghost:active{background:var(--zinc-700)}.btn-danger{color:var(--zinc-900);background:var(--zinc-800);border:none}.btn-danger:hover{background:var(--zinc-800);filter:brightness(1.1)}.btn-danger:active{background:var(--zinc-800);filter:brightness(0.9)}.btn-success{color:var(--zinc-900);background:var(--zinc-500);border:none}.btn-success:hover{background:var(--zinc-500);filter:brightness(1.1)}.btn-success:active{background:var(--zinc-500);filter:brightness(0.9)}.btn-link{background:rgba(0,0,0,0);border:none;color:var(--zinc-600);padding:0;text-decoration:underline}.btn-link:hover{color:var(--zinc-500);background:rgba(0,0,0,0);text-decoration:underline}.btn-link-danger{background:rgba(0,0,0,0);border:none;color:var(--zinc-800);padding:0;text-decoration:underline}.btn-link-danger:hover{color:var(--zinc-800);filter:brightness(1.2);background:rgba(0,0,0,0);text-decoration:underline}.btn-accent{color:var(--color-minor);background:rgba(0,0,0,0);border:1px solid var(--color-minor)}.btn-accent:hover{background:var(--color-minor-alpha);border-color:var(--color-minor-light)}.btn-accent:active{background:var(--color-minor-alpha);filter:brightness(0.95)}.btn-accent-solid{color:var(--zinc-900);background:var(--color-minor);border:none}.btn-accent-solid:hover{background:var(--color-minor-light)}.btn-accent-solid:active{background:var(--color-minor-dark)}.btn-sm{height:22px;padding:0 var(--spacing-1);font-size:var(--font-size-xs);border-radius:var(--radius-sm);white-space:nowrap;width:fit-content}.btn-lg{height:42px;padding:0 var(--spacing-4);font-size:var(--font-size-base)}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;min-width:32px;padding:0;color:var(--zinc-300);background:rgba(0,0,0,0);border:none;border-radius:var(--radius);cursor:pointer;transition:all var(--transition-fast);text-decoration:none}.btn-icon:hover{background:var(--zinc-800);color:var(--zinc-50);text-decoration:none}.btn-icon:active{background:var(--zinc-700)}.btn-icon svg{width:16px;height:16px}.btn-icon-sm{width:24px;height:24px;min-width:24px}.btn-icon-sm svg{width:14px;height:14px}.btn-icon-lg{width:40px;height:40px;min-width:40px}.btn-icon-lg svg{width:20px;height:20px}.btn-icon-danger:hover{background:rgba(39,39,42,.25);color:var(--zinc-800)}.btn-icon-danger:active{background:rgba(39,39,42,.25);filter:brightness(0.9)}.btn-icon-primary{background:var(--zinc-500);color:var(--zinc-900)}.btn-icon-primary:hover{background:var(--zinc-400);filter:brightness(1.05)}.btn-icon-success{background:var(--zinc-500);color:var(--zinc-900)}.btn-icon-success:hover{background:var(--zinc-500);filter:brightness(1.1)}.btn-icon-accent{background:rgba(0,0,0,0);color:var(--color-minor);border:1px solid var(--color-minor)}.btn-icon-accent:hover{background:var(--color-minor-alpha);color:var(--color-minor-light);border-color:var(--color-minor-light)}.btn-icon-accent:active{background:var(--color-minor-alpha);filter:brightness(0.95)}.btn-icon-accent .validate-icon,.btn-icon-accent .validate-loader{display:flex;align-items:center;justify-content:center}.btn-icon-accent .validate-loader{display:none}.btn-icon-accent[disabled]{opacity:.7;cursor:wait;pointer-events:none}.btn-icon-accent[disabled] .validate-icon{display:none}.btn-icon-accent[disabled] .validate-loader{display:flex}.btn-icon-accent[disabled] .spinner{animation:btn-spin .8s linear infinite}.btn-icon-circle{border-radius:999px}.btn-dashed{border-style:dashed;border-color:var(--zinc-600)}.btn-dashed:hover{border-color:var(--zinc-600);color:var(--zinc-600);background:rgba(231,144,82,.05)}.btn-primary-outline{background:rgba(0,0,0,0);border:1px solid var(--zinc-600);color:var(--zinc-600)}.btn-primary-outline:hover{background:rgba(82,82,91,.15)}.btn-danger-outline{background:rgba(0,0,0,0);border:1px solid #ef4444;color:#ef4444}.btn-danger-outline:hover{background:rgba(239,68,68,.15);border-color:#dc2626;color:#dc2626}.btn-success-outline{background:rgba(0,0,0,0);border:1px solid var(--zinc-500);color:var(--zinc-500)}.btn-success-outline:hover{background:rgba(113,113,122,.15)}.btn-block{width:100%}.btn-group{display:inline-flex;gap:var(--spacing-1)}.btn-loading{position:relative;pointer-events:none;opacity:.6}.btn-loading::after{content:"";position:absolute;width:14px;height:14px;border:2px solid currentColor;border-right-color:rgba(0,0,0,0);border-radius:50%;animation:btn-spin .6s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn-close{width:28px;height:28px;min-width:28px;padding:0;border:1px solid var(--color-lime);border-radius:50%;font-size:var(--font-size-lg);color:var(--color-lime);background:rgba(0,0,0,0);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.btn-close:hover{color:var(--zinc-900);background:var(--color-lime);border-color:var(--color-lime)}.btn-close svg{width:12px;height:12px}.btn-toggle{padding:4px 12px;font-size:var(--font-size-sm);font-weight:500;color:var(--zinc-400);background:rgba(0,0,0,0);border:none;cursor:pointer;transition:color var(--transition-fast)}.btn-toggle:hover{color:var(--zinc-50)}.btn-toggle.active{color:var(--color-minor)}.btn-toggle-group{display:inline-flex;align-items:center;gap:4px}.btn-dropdown{display:inline-flex;align-items:center;gap:var(--spacing-2)}.btn-dropdown .btn-dropdown-chevron{flex-shrink:0;color:var(--zinc-400);transition:transform var(--transition-fast);width:12px;height:12px}.btn-dropdown[aria-expanded=true] .btn-dropdown-chevron{transform:rotate(180deg)}.btn-icon-text{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;font-size:var(--font-size-sm);font-weight:500;color:var(--zinc-400);background:rgba(0,0,0,0);border:none;cursor:pointer;transition:color var(--transition-fast)}.btn-icon-text:hover{color:var(--zinc-50);background:rgba(0,0,0,0)}.btn-icon-text svg{flex-shrink:0}.btn-tab{height:34px;padding:0 var(--spacing-3);font-size:var(--font-size-xs);font-weight:500;line-height:1;color:var(--zinc-400);background:rgba(0,0,0,0);border:none;border-radius:var(--radius-sm)}.btn-tab:hover{color:var(--zinc-300);background:rgba(0,0,0,0)}.btn-tab.active{background:var(--zinc-700);color:var(--zinc-50)}.btn-add-discrete{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;min-width:20px;padding:0;color:#fff;background:var(--zinc-700);border:none;border-radius:999px;cursor:pointer;transition:all var(--transition-fast);font-size:14px;font-weight:400;line-height:1}.btn-add-discrete:hover{color:#fff;background:var(--zinc-600)}.btn-add-discrete:active{background:var(--color-minor)}.btn-add-discrete svg{width:12px;height:12px}.btn-badge{display:inline-flex;align-items:center;padding:2px var(--spacing-2);font-size:var(--font-size-xs);font-weight:500;border-radius:999px;background:var(--zinc-700);color:var(--zinc-300);border:none;cursor:pointer}.btn-badge:hover{background:var(--zinc-600);color:var(--zinc-50)}.btn-chip{display:inline-flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-2);font-size:var(--font-size-xs);font-weight:500;border-radius:999px;background:var(--zinc-700);color:var(--zinc-300);border:none}.btn-chip:hover{background:var(--zinc-600)}.btn-chip .btn-chip-delete{width:14px;height:14px;padding:0;border:none;background:rgba(0,0,0,0);color:var(--zinc-400)}.btn-chip .btn-chip-delete:hover{color:var(--zinc-800)}.input{width:100%;padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-base);font-family:inherit;font-weight:400;line-height:1.5;color:var(--zinc-100);background:var(--zinc-800);border:1px solid var(--zinc-600);border-radius:var(--radius-sm);transition:border-color .15s,background-color .15s,box-shadow .15s}.input::placeholder{color:var(--zinc-500)}.input:hover{border-color:var(--zinc-500)}.input:focus{outline:none;border-color:var(--zinc-500);background:var(--zinc-750);box-shadow:0 0 0 3px rgba(82,82,91,.15)}.input:disabled{opacity:.5;cursor:not-allowed;background:var(--zinc-850)}.input-sm{height:32px;padding:var(--spacing-1) var(--spacing-2);font-size:var(--font-size-sm)}.input-lg{height:44px;padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-base)}.input-error{border-color:#f87171 !important}.input-error:focus{border-color:#f87171 !important;box-shadow:0 0 0 3px rgba(248,113,113,.15)}.input-success{border-color:var(--zinc-500) !important}.input-success:focus{box-shadow:0 0 0 3px rgba(113,113,122,.15)}.select{width:100%;padding:var(--spacing-2) var(--spacing-3);padding-right:var(--spacing-8);font-size:var(--font-size-base);font-family:inherit;font-weight:400;color:var(--zinc-100);background:var(--zinc-800);border:1px solid var(--zinc-600);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .15s,background-color .15s,box-shadow .15s;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2371717a' d='M3 4.5L6 7.5L9 4.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-3) center}.select:hover{border-color:var(--zinc-500)}.select:focus{outline:none;border-color:var(--zinc-500);background-color:var(--zinc-750);box-shadow:0 0 0 3px rgba(82,82,91,.15)}.select:disabled{opacity:.5;cursor:not-allowed;background-color:var(--zinc-850)}.select-sm{height:32px;padding:var(--spacing-1) var(--spacing-2);padding-right:var(--spacing-6);font-size:var(--font-size-sm)}.select-lg{height:44px;padding:var(--spacing-3) var(--spacing-4);padding-right:var(--spacing-8)}.textarea{width:100%;padding:var(--spacing-3);font-size:var(--font-size-base);font-family:inherit;font-weight:400;line-height:1.5;color:var(--zinc-100);background:var(--zinc-800);border:1px solid var(--zinc-600);border-radius:var(--radius-sm);resize:vertical;min-height:80px;transition:border-color .15s,background-color .15s,box-shadow .15s}.textarea::placeholder{color:var(--zinc-500)}.textarea:hover{border-color:var(--zinc-500)}.textarea:focus{outline:none;border-color:var(--zinc-500);background:var(--zinc-750);box-shadow:0 0 0 3px rgba(82,82,91,.15)}.textarea:disabled{opacity:.5;cursor:not-allowed;background:var(--zinc-850)}.textarea-sm{padding:var(--spacing-2);font-size:var(--font-size-sm);min-height:60px}.textarea-lg{padding:var(--spacing-4);min-height:120px}.label{display:block;font-size:var(--font-size-sm);font-weight:500;color:var(--zinc-300);margin-bottom:var(--spacing-1)}.label .required{color:var(--color-minor);font-weight:700;margin-left:2px}.label-lg{font-size:var(--font-size-sm);font-weight:500;text-transform:none;letter-spacing:normal;color:var(--zinc-300);margin-bottom:var(--spacing-2)}.checkbox{appearance:none;-webkit-appearance:none;width:16px;height:16px;flex-shrink:0;border:1.5px solid var(--zinc-600);border-radius:3px;background:var(--zinc-800);cursor:pointer;transition:all .15s ease}.checkbox:hover{border-color:var(--zinc-500)}.checkbox:checked{background:var(--zinc-500);border-color:var(--zinc-500)}.checkbox:checked::after{content:"";display:block;width:4px;height:8px;border:solid var(--zinc-900);border-width:0 2px 2px 0;transform:rotate(45deg);margin:1px 0 0 5px}.checkbox:checked:hover{background:var(--zinc-400);border-color:var(--zinc-400)}.checkbox:disabled{opacity:.5;cursor:not-allowed}.checkbox-label{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-sm);font-weight:400;color:var(--zinc-200);cursor:pointer}.checkbox-label input[type=checkbox]{appearance:none;-webkit-appearance:none;width:16px;height:16px;flex-shrink:0;border:1.5px solid var(--zinc-600);border-radius:3px;background:var(--zinc-800);cursor:pointer;transition:all .15s ease}.checkbox-label input[type=checkbox]:hover{border-color:var(--zinc-500)}.checkbox-label input[type=checkbox]:checked{background:var(--zinc-500);border-color:var(--zinc-500)}.checkbox-label input[type=checkbox]:checked::after{content:"";display:block;width:4px;height:8px;border:solid var(--zinc-900);border-width:0 2px 2px 0;transform:rotate(45deg);margin:1px 0 0 5px}.checkbox-label input[type=checkbox]:checked:hover{background:var(--zinc-400);border-color:var(--zinc-400)}.checkbox-label input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.checkbox-group{display:flex;flex-direction:column;gap:var(--spacing-2)}.checkbox-group.inline{flex-direction:row;flex-wrap:wrap;gap:var(--spacing-3);align-items:center}.checkbox-inline{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-sm);color:var(--zinc-300);cursor:pointer}.checkbox-inline input[type=checkbox]{appearance:none;-webkit-appearance:none;width:16px;height:16px;flex-shrink:0;border:1.5px solid var(--zinc-600);border-radius:3px;background:var(--zinc-800);cursor:pointer;transition:all .15s ease}.checkbox-inline input[type=checkbox]:hover{border-color:var(--zinc-500)}.checkbox-inline input[type=checkbox]:checked{background:var(--zinc-500);border-color:var(--zinc-500)}.checkbox-inline input[type=checkbox]:checked::after{content:"";display:block;width:4px;height:8px;border:solid var(--zinc-900);border-width:0 2px 2px 0;transform:rotate(45deg);margin:1px 0 0 5px}.checkbox-inline input[type=checkbox]:checked:hover{background:var(--zinc-400);border-color:var(--zinc-400)}.checkbox-inline input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.checkbox-inline span{color:var(--zinc-400)}.checkbox-card{display:flex;align-items:flex-start;gap:var(--spacing-3);padding:var(--spacing-4);background:var(--zinc-800);border:2px solid var(--zinc-700);border-radius:var(--radius);cursor:pointer;transition:all var(--transition-fast)}.checkbox-card:hover{background:var(--zinc-700);border-color:var(--zinc-600)}.checkbox-card:has(input:checked){background:var(--zinc-700);border-color:var(--zinc-500)}.checkbox-card input[type=checkbox]{width:20px;height:20px;margin-top:2px;accent-color:var(--zinc-400);flex-shrink:0}.checkbox-card-content{display:flex;flex-direction:column;gap:4px}.checkbox-card-title{font-size:var(--font-size-sm);font-weight:600;color:var(--zinc-200)}.checkbox-card-desc{font-size:var(--font-size-xs);color:var(--zinc-400);line-height:1.4}.checkbox-tag{display:inline-flex;align-items:center;padding:4px 10px;font-size:var(--font-size-sm);font-weight:500;border-radius:999px;cursor:pointer;background:var(--zinc-700);color:var(--zinc-300);border:1.5px solid rgba(0,0,0,0);transition:all .15s ease;user-select:none}.checkbox-tag:hover{background:var(--zinc-600)}.checkbox-tag input[type=checkbox]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.checkbox-tag:has(input:checked){background:var(--color-minor-alpha);color:var(--zinc-100);border-color:var(--color-minor)}.checkbox-tag:has(input:checked):hover{background:var(--color-minor-alpha)}.checkbox-tag--locked{background:var(--green-900);color:var(--green-300);border-color:var(--green-800);cursor:default}.checkbox-tag--locked:hover{background:var(--green-900)}.checkbox-tag--warning{flex-direction:row;gap:var(--spacing-1);background:rgba(0,0,0,0);border-color:var(--zinc-600)}.checkbox-tag--warning:hover{background:var(--zinc-700)}.checkbox-tag__icon{flex-shrink:0;color:var(--amber-500)}.checkbox-tag__content{display:flex;flex-direction:column;gap:1px;line-height:1.2}.checkbox-tag__name{font-weight:500;color:var(--zinc-300)}.checkbox-tag__warning{font-size:10px;font-weight:400;color:var(--amber-500)}.radio{appearance:none;-webkit-appearance:none;width:16px;height:16px;flex-shrink:0;border:1.5px solid var(--zinc-600);border-radius:50%;background:var(--zinc-800);cursor:pointer;transition:all .15s ease}.radio:hover{border-color:var(--zinc-500)}.radio:checked{border-color:var(--zinc-400);border-width:5px}.radio:checked:hover{border-color:var(--zinc-300)}.radio:disabled{opacity:.5;cursor:not-allowed}.radio-label{display:inline-flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-sm);font-weight:400;color:var(--zinc-200);cursor:pointer}.radio-label input[type=radio]{appearance:none;-webkit-appearance:none;width:16px;height:16px;flex-shrink:0;border:1.5px solid var(--zinc-600);border-radius:50%;background:var(--zinc-800);cursor:pointer;transition:all .15s ease}.radio-label input[type=radio]:hover{border-color:var(--zinc-500)}.radio-label input[type=radio]:checked{border-color:var(--zinc-400);border-width:5px}.radio-label input[type=radio]:checked:hover{border-color:var(--zinc-300)}.radio-label input[type=radio]:disabled{opacity:.5;cursor:not-allowed}.radio-group{display:flex;flex-direction:column;gap:var(--spacing-2)}.radio-group-inline{display:flex;flex-wrap:wrap;gap:var(--spacing-3);align-items:center}.radio-group-compact{display:flex;gap:var(--spacing-3)}.radio-compact{display:inline-flex;align-items:center;gap:var(--spacing-1);cursor:pointer;font-size:var(--font-size-sm);color:var(--zinc-100)}.radio-compact input[type=radio]{width:14px;height:14px;cursor:pointer}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px;cursor:pointer}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;top:0;left:0;right:0;bottom:0;background-color:var(--zinc-700);border-radius:24px;transition:.2s}.toggle-slider::before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}.toggle-switch input:checked+.toggle-slider{background-color:var(--zinc-500)}.toggle-switch input:checked+.toggle-slider::before{transform:translateX(20px)}.toggle-switch-sm{width:36px;height:20px}.toggle-switch-sm .toggle-slider{border-radius:20px}.toggle-switch-sm .toggle-slider::before{width:14px;height:14px;top:3px;left:3px}.toggle-switch-sm input:checked+.toggle-slider::before{transform:translateX(16px)}.form-group{margin-bottom:var(--spacing-3)}.form-group-inline{display:flex;align-items:center;gap:var(--spacing-3)}.form-group-inline label{margin-bottom:0}.form-row{display:grid;grid-template-columns:repeat(2, 1fr);gap:var(--spacing-3)}.form-row-3{grid-template-columns:repeat(3, 1fr)}.form-row-4{grid-template-columns:repeat(4, 1fr)}.form-row-address{grid-template-columns:2fr 80px 1fr}.form-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:var(--spacing-4) var(--spacing-5)}.form-item{display:flex;flex-direction:column;gap:var(--spacing-1)}.form-item-full{grid-column:1/-1}.form-item-wide{grid-column:span 2}.form-separator{grid-column:1/-1;height:1px;background:var(--zinc-700);margin:var(--spacing-2) 0}.form-section{margin-bottom:var(--spacing-5);padding-bottom:var(--spacing-5);border-bottom:1px solid var(--zinc-700)}.form-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.form-section h3{font-size:var(--font-size-xs);color:var(--zinc-400);margin-bottom:var(--spacing-3);font-weight:500;text-transform:uppercase;letter-spacing:.05em}.form-actions{display:flex;gap:var(--spacing-3);margin-top:var(--spacing-6)}.form-actions-right{justify-content:flex-end}.form-actions-between{justify-content:space-between}.form{max-width:600px}.form--full-width{max-width:100%}@media(max-width: 1024px){.form{max-width:100%}.form-row-3{grid-template-columns:repeat(2, 1fr)}.form-row-4{grid-template-columns:repeat(2, 1fr)}}@media(max-width: 768px){.form-grid{grid-template-columns:1fr;gap:var(--spacing-3)}.form-item-wide{grid-column:span 1}.form-section{margin-bottom:var(--spacing-4);padding-bottom:var(--spacing-4)}.form-section h3{font-size:var(--font-size-xs)}.form-actions{flex-direction:column;gap:var(--spacing-2);margin-top:var(--spacing-4)}.form-actions .btn{width:100%;justify-content:center}.form-row,.form-row-3,.form-row-4{grid-template-columns:1fr;gap:var(--spacing-3)}.form-row-address{grid-template-columns:1fr}}.search-input-wrapper{position:relative;flex:1;max-width:400px}.search-input{width:100%;padding:var(--spacing-2) var(--spacing-3);padding-left:40px;padding-right:36px;font-size:var(--font-size-base);font-family:inherit;font-weight:400;line-height:1.5;color:var(--zinc-100);background:var(--zinc-800);border:1px solid var(--zinc-600);border-radius:var(--radius-lg);transition:border-color .15s,background-color .15s,box-shadow .15s}.search-input::placeholder{color:var(--zinc-500)}.search-input:hover{border-color:var(--zinc-500)}.search-input:focus{outline:none;border-color:var(--zinc-500);background:var(--zinc-750);box-shadow:0 0 0 3px rgba(82,82,91,.15)}.search-input:disabled{opacity:.5;cursor:not-allowed;background:var(--zinc-850)}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--zinc-500);pointer-events:none}.search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);color:var(--zinc-500);padding:4px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:color .15s,background .15s;background:none;border:none}.search-clear:hover{color:var(--zinc-200);background:var(--zinc-700)}.search-submit{position:absolute;right:8px;top:50%;transform:translateY(-50%);color:var(--zinc-500);padding:4px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;transition:color .15s,background .15s}.search-submit:hover{color:var(--zinc-300);background:var(--zinc-700)}.search-input-wrapper:has(.search-clear) .search-submit{right:32px}.search-bar{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-4);border-bottom:1px solid var(--zinc-700);background:var(--zinc-800);border-radius:var(--radius-xl) var(--radius-xl) 0 0;margin:calc(-1*var(--spacing-6));margin-bottom:var(--spacing-4)}.search-form{display:flex;align-items:center;gap:var(--spacing-3);width:100%}.search-form-inline{display:flex;align-items:center;gap:var(--spacing-2)}.search-form-inline .search-input-wrapper{width:200px;flex:none}.search-form-inline .search-input{height:36px;padding:0 var(--spacing-3);padding-left:32px;padding-right:28px;font-size:var(--font-size-sm);line-height:36px}.search-form-inline .search-icon{left:10px;width:16px;height:16px}.search-form-inline .btn{height:36px;padding:0 var(--spacing-3);font-size:var(--font-size-sm)}.inline-filter{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);background:var(--zinc-800);border-bottom:1px solid var(--zinc-700);font-size:var(--font-size-sm)}.inline-filter-label{color:var(--zinc-500);font-weight:500;margin-right:var(--spacing-1)}.inline-filter-input{width:auto;min-width:130px;height:32px;padding:var(--spacing-1) var(--spacing-2);font-size:var(--font-size-sm);font-family:inherit;font-weight:400;line-height:1.5;color:var(--zinc-100);background:var(--zinc-800);border:1px solid var(--zinc-600);border-radius:var(--radius-sm);transition:border-color .15s,background-color .15s,box-shadow .15s}.inline-filter-input::placeholder{color:var(--zinc-500)}.inline-filter-input:hover{border-color:var(--zinc-500)}.inline-filter-input:focus{outline:none;border-color:var(--zinc-500);background:var(--zinc-750);box-shadow:0 0 0 3px rgba(82,82,91,.15)}.inline-filter-input:disabled{opacity:.5;cursor:not-allowed;background:var(--zinc-850)}.inline-filter-separator{color:var(--zinc-500);font-size:var(--font-size-xs)}.inline-filter-reset{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;margin-left:var(--spacing-1);border:none;background:rgba(0,0,0,0);color:var(--zinc-500);border-radius:var(--radius);cursor:pointer;transition:all .15s}.inline-filter-reset:hover{background:var(--zinc-700);color:var(--zinc-200)}.input-with-suffix{display:flex;align-items:center}.input-with-suffix input{border-top-right-radius:0;border-bottom-right-radius:0;flex:1}.input-suffix{padding:var(--spacing-2) var(--spacing-3);background:var(--zinc-700);border:1px solid var(--zinc-600);border-left:none;border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:var(--font-size-sm);color:var(--zinc-400)}.form-hint{font-size:var(--font-size-xs);color:var(--zinc-500);margin-top:var(--spacing-1)}.form-error-message{color:#f87171;font-size:var(--font-size-xs);margin-top:var(--spacing-1)}.form-static-value{padding:var(--spacing-2) var(--spacing-3);background:var(--zinc-800);border:1px solid var(--zinc-700);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--zinc-400)}.form-section-danger{background:rgba(248,113,113,.05);margin:var(--spacing-5) calc(-1*var(--spacing-4)) calc(-1*var(--spacing-4));padding:var(--spacing-4);border-radius:0 0 var(--radius-lg) var(--radius-lg);border-bottom:none;border-top:1px solid rgba(248,113,113,.2)}.form-section-danger h3{color:#f87171}.danger-description{color:var(--zinc-400);font-size:var(--font-size-sm);margin-bottom:var(--spacing-4)}.danger-warnings{background:rgba(248,113,113,.1);border:1px solid rgba(248,113,113,.2);border-radius:var(--radius);padding:var(--spacing-3);margin-bottom:var(--spacing-4)}.danger-warning-title{font-size:var(--font-size-sm);font-weight:500;color:#fca5a5;margin-bottom:var(--spacing-2)}.danger-warning-list{margin:0;padding-left:var(--spacing-4);font-size:var(--font-size-sm);color:var(--zinc-400)}.danger-warning-list li{margin-bottom:var(--spacing-1)}.danger-warning-list li:last-child{margin-bottom:0}.gps-manual-link{display:inline-flex;align-items:center;gap:var(--spacing-2);color:var(--zinc-500);font-size:var(--font-size-sm);text-decoration:none;padding:var(--spacing-2) 0;transition:color .15s}.gps-manual-link:hover{color:var(--zinc-300)}.gps-manual-link:hover svg{opacity:1}.gps-manual-link svg{opacity:.6}input:focus,select:focus,textarea:focus{outline:none}.auth-input{width:100%;padding:var(--spacing-3);font-size:var(--font-size-base);font-family:inherit;font-weight:400;line-height:1.5;color:var(--zinc-50);background:var(--zinc-700);border:1px solid var(--zinc-600);border-radius:var(--radius);transition:border-color .15s,background-color .15s,box-shadow .15s}.auth-input::placeholder{color:var(--zinc-500)}.auth-input:hover{border-color:var(--zinc-500)}.auth-input:focus{outline:none;border-color:var(--zinc-500);background:var(--zinc-700);box-shadow:0 0 0 3px rgba(82,82,91,.15)}.auth-input:disabled{opacity:.5;cursor:not-allowed;background:var(--zinc-800)}.auth-input[type=email]{text-transform:lowercase}.auth-input[type=email]::placeholder{text-transform:none}.auth-input.auth-input-error{border-color:rgba(248,113,113,.5);background:rgba(248,113,113,.05)}.auth-input.auth-input-error:focus{border-color:rgba(248,113,113,.5);box-shadow:0 0 0 3px rgba(248,113,113,.1)}.auth-input.auth-input-valid{border-color:rgba(34,197,94,.5)}.auth-input.auth-input-valid:focus{border-color:rgba(34,197,94,.5);box-shadow:0 0 0 3px rgba(34,197,94,.1)}.auth-label{display:block;font-size:var(--font-size-sm);font-weight:500;color:var(--zinc-50);margin-bottom:var(--spacing-1)}.auth-hint{font-size:var(--font-size-xs);color:var(--zinc-500);margin-top:var(--spacing-1)}.auth-error{font-size:var(--font-size-xs);color:#f87171;margin-top:var(--spacing-1);display:flex;align-items:center;gap:var(--spacing-1)}.auth-error svg{width:12px;height:12px;flex-shrink:0}.auth-field{display:flex;flex-direction:column;gap:var(--spacing-1)}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper input{padding-right:2.75rem}.password-toggle{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:.25rem;color:var(--zinc-500);transition:color .15s;display:flex;align-items:center;justify-content:center}.password-toggle:hover{color:var(--zinc-300)}.password-toggle:focus{outline:none;color:var(--zinc-400)}.password-toggle svg{width:1.25rem;height:1.25rem}.password-strength-container{margin-top:var(--spacing-3)}.password-strength-meter-wrapper{display:flex;align-items:center;gap:var(--spacing-3)}.password-strength-meter{flex:1;height:4px;background:var(--zinc-700);border-radius:2px;overflow:hidden}.password-strength-bar{height:100%;width:0;transition:width .3s ease,background-color .3s ease;border-radius:2px}.password-strength-bar.strength-weak{background:#ef4444}.password-strength-bar.strength-fair{background:#f97316}.password-strength-bar.strength-good{background:#eab308}.password-strength-bar.strength-strong{background:#22c55e}.password-strength-bar.password-strength-red{background:#ef4444}.password-strength-bar.password-strength-orange{background:#f97316}.password-strength-bar.password-strength-yellow{background:#eab308}.password-strength-bar.password-strength-green{background:#22c55e}.password-strength-label{font-size:var(--font-size-xs);font-weight:500;min-width:60px;text-align:right}.password-strength-label.strength-weak{color:#ef4444}.password-strength-label.strength-fair{color:#f97316}.password-strength-label.strength-good{color:#eab308}.password-strength-label.strength-strong{color:#22c55e}.password-strength-label.password-strength-text-red{color:#ef4444}.password-strength-label.password-strength-text-orange{color:#f97316}.password-strength-label.password-strength-text-yellow{color:#eab308}.password-strength-label.password-strength-text-green{color:#22c55e}.password-requirements{display:flex;flex-direction:column;gap:var(--spacing-1);margin-top:var(--spacing-2)}.password-requirement{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-xs);color:var(--zinc-400);transition:color .2s ease}.password-requirement.requirement-pending{color:var(--zinc-500)}.password-requirement.requirement-failed{color:#ef4444}.password-requirement.requirement-passed{color:#22c55e}.requirement-icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0}.requirement-icon svg{width:14px;height:14px}.requirement-label{line-height:1.4}.password-match-indicator{font-size:var(--font-size-xs);margin-top:var(--spacing-1);display:flex;align-items:center;gap:var(--spacing-1)}.password-match-indicator.match-pending{color:var(--zinc-500)}.password-match-indicator.match-error{color:#ef4444}.password-match-indicator.match-success{color:#22c55e}.password-match-indicator svg{width:12px;height:12px}.field-error-message{color:#f87171;font-size:var(--font-size-xs);margin-top:var(--spacing-1);display:block;width:100%}.password-input-wrapper+.field-error-message{margin-top:var(--spacing-2)}.card{border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:var(--spacing-6);margin-bottom:var(--spacing-4)}.card h2{color:var(--zinc-200)}.card h3{color:var(--zinc-500);font-size:var(--font-size-xs);font-weight:400;text-transform:uppercase;letter-spacing:.03em;margin-bottom:var(--spacing-3)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-4)}.card-header h2{margin:0}.allowances-icons{display:flex;gap:4px}.allowance-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;font-size:10px;font-weight:600;border-radius:var(--radius-sm);color:var(--zinc-300)}.allowance-icon.active{color:var(--zinc-300)}.card-filters{display:flex;align-items:center;gap:var(--spacing-4);padding:var(--spacing-3) var(--spacing-4);border-bottom:1px solid var(--zinc-700);background:var(--zinc-800)}.filter-group{display:flex;align-items:center;gap:var(--spacing-3)}.filter-label{font-size:var(--font-size-sm);color:var(--zinc-400);font-weight:500}.filter-tabs{display:flex;gap:var(--spacing-1)}.filter-tab{padding:var(--spacing-1) var(--spacing-3);font-size:var(--font-size-sm);color:var(--zinc-400);text-decoration:none;border-radius:var(--radius);transition:var(--transition-fast)}.filter-tab:hover{background:var(--zinc-600);color:var(--zinc-100)}.filter-tab.active{background:var(--zinc-600);color:var(--zinc-900)}.card-inner{background:var(--zinc-800);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--zinc-600);overflow:hidden}.card-inner .table{margin:0}.card-inner .table th,.card-inner .table td{padding:var(--spacing-2) var(--spacing-3)}.card-inner .table tbody tr:last-child td{border-bottom:none}.card-header-inline{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-4)}.card-header-inline h2{margin:0}.card--table{margin-bottom:0;padding:0;border-radius:var(--radius-lg);box-shadow:none}.card--table .table{margin:0}.card--table .table th{position:sticky;top:0;height:44px;padding:var(--spacing-3) var(--spacing-4);color:var(--zinc-400);border-bottom:1px solid var(--zinc-700);font-size:var(--font-size-xs);font-weight:500;text-transform:uppercase;letter-spacing:.03em;z-index:1}.card--table .table td{padding:var(--spacing-3) var(--spacing-4);color:var(--zinc-200);border-bottom:1px solid var(--zinc-800)}.card--table .table tbody tr{transition:background var(--transition-fast)}.card--table .table tbody tr:hover{background:var(--zinc-800)}.card--table .empty-state{padding:var(--spacing-8);text-align:center;color:var(--zinc-500)}.card--scrollable{max-height:calc(100vh - 200px);overflow-y:auto;overflow-x:hidden}.planning-container .card{max-height:calc(100vh - 200px);overflow-y:auto;overflow-x:hidden}.planning-container .card--table{max-height:calc(100vh - 200px);overflow-y:auto}.table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.table th,.table td{padding:var(--spacing-3) var(--spacing-4);text-align:left;border-bottom:1px solid var(--zinc-700)}.table th{font-weight:500;color:var(--zinc-400);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.03em;background:rgba(0,0,0,0)}.table td{font-size:var(--font-size-sm);color:var(--zinc-300)}.th-filter{display:inline}.th-filter-count{font-size:var(--font-size-xs);color:var(--zinc-500);margin-left:var(--spacing-1)}.th-sortable{cursor:pointer;user-select:none;white-space:nowrap;color:var(--zinc-400);text-decoration:none}.th-sortable:hover,.th-sortable:visited,.th-sortable:active{color:var(--zinc-300);text-decoration:none}.th-sortable::after{content:"";display:inline-block;width:12px;height:12px;margin-left:var(--spacing-1);vertical-align:middle;opacity:.4;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2'%3E%3Cpath d='M8 10l4-4 4 4M8 14l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center}.th-sortable:hover::after{opacity:1}.th-sortable.sorted-asc::after,.th-sortable.sorted-desc::after{opacity:1}.th-sortable.sorted-asc::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2'%3E%3Cpath d='M8 14l4-4 4 4'/%3E%3C/svg%3E")}.th-sortable.sorted-desc::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2'%3E%3Cpath d='M8 10l4 4 4-4'/%3E%3C/svg%3E")}.table tbody tr{transition:background var(--transition-fast)}.table tbody tr:hover{background:var(--zinc-800)}.table tfoot td{border-top:2px solid var(--zinc-600);border-bottom:none;background:var(--zinc-800)}.table.table-compact th,.table.table-compact td{padding:var(--spacing-2) var(--spacing-3)}.table.table-compact .badge{font-size:10px;padding:2px 6px}.table.table-mini{font-size:var(--font-size-xs)}.table.table-mini td{padding:var(--spacing-1) var(--spacing-2);border-bottom:1px solid var(--zinc-800)}.table.table-mini td:first-child{font-weight:600;color:var(--zinc-200);width:40px}.table .actions{white-space:nowrap;display:flex;gap:var(--spacing-2);width:120px}.table th:last-child,.table td:last-child{width:120px}.badge{display:inline-flex;align-items:center;padding:2px var(--spacing-2);font-size:var(--font-size-xs);font-weight:500;line-height:1.4;border-radius:999px;background:var(--zinc-700);color:var(--zinc-300);transition:var(--transition-fast);white-space:nowrap}.badge-primary{background:rgba(82,82,91,.15);color:var(--zinc-600)}.badge-secondary,.badge-task-none,.badge-inactive,.badge-archived,.badge-no{background:var(--zinc-700);color:var(--zinc-300)}.badge-success,.badge-available,.badge-validated,.badge-early,.badge-yes{background:rgba(113,113,122,.15);color:var(--zinc-500)}.badge-warning,.badge-completed-late,.badge-pending,.badge-urgent{background:rgba(63,63,70,.2);color:var(--zinc-700)}.badge-danger,.badge-late{background:rgba(39,39,42,.25);color:var(--zinc-800)}.badge-info,.badge-on-time{background:rgba(82,82,91,.15);color:var(--zinc-600)}.badge-sm{padding:1px var(--spacing-1);font-size:10px}.badge-lg{padding:4px var(--spacing-3);font-size:var(--font-size-sm)}.tag{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;font-size:11px;font-weight:500;border-radius:var(--radius-sm);text-decoration:none;background:var(--zinc-700);color:var(--zinc-300);transition:var(--transition-fast);white-space:nowrap}.tag:hover{opacity:.85;transform:translateY(-1px)}.tag svg{flex-shrink:0;width:12px;height:12px}.tag-primary{background:rgba(82,82,91,.15);color:var(--zinc-600)}.tag-secondary{background:var(--zinc-700);color:var(--zinc-300)}.tag-success{background:rgba(113,113,122,.15);color:var(--zinc-500)}.tag-warning{background:rgba(63,63,70,.2);color:var(--zinc-700)}.tag-danger{background:rgba(39,39,42,.25);color:var(--zinc-800)}.tag-info{background:rgba(82,82,91,.15);color:var(--zinc-600)}.tag-gray,.tag-grey{background:var(--zinc-700);color:var(--zinc-400)}.tag-sm{padding:2px 6px;font-size:10px}.tag-lg{padding:4px 12px;font-size:var(--font-size-sm)}.badge-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;font-size:10px;font-weight:600;line-height:1;border-radius:999px;background:var(--zinc-600);color:var(--zinc-100)}.badge-count-sm{min-width:16px;height:16px;font-size:9px}.badge-count-hidden{display:none}.badge-team{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;font-size:11px;font-weight:500;border-radius:999px;background:var(--zinc-750);color:var(--zinc-300)}.badge-team-past{opacity:.6}.employee-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;font-size:10px;font-weight:500;text-transform:uppercase;border-radius:999px;background:var(--zinc-700);color:var(--zinc-300);letter-spacing:.03em}.site-tag{--site-color: var(--zinc-600);display:flex;align-items:center;gap:4px;width:100%;padding:6px 8px;font-size:11px;font-weight:600;background:var(--site-color);color:#fff;border-radius:var(--radius);cursor:context-menu;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:all var(--transition-fast);box-shadow:0 1px 3px rgba(0,0,0,.3);pointer-events:auto;position:relative;z-index:1}.site-tag:hover{transform:translateY(-1px);box-shadow:0 2px 5px rgba(0,0,0,.4)}.site-tag-ref{text-transform:uppercase;letter-spacing:.02em;flex-shrink:0}.site-tag-name{text-transform:none;pointer-events:none;overflow:hidden;text-overflow:ellipsis}.site-tags{display:inline-flex;flex-wrap:wrap;gap:4px;margin-left:8px;vertical-align:middle}.badge-code{display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;padding:4px 8px;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.02em;min-width:36px;text-align:center}.row-inactive{opacity:.6;transition:opacity var(--transition-fast)}.row-inactive:hover{opacity:.8}.badge-link{text-decoration:none;margin-right:var(--spacing-1);margin-bottom:var(--spacing-1);cursor:pointer}.badge-link code{font-size:inherit}.badge-link:hover{opacity:.8;transform:translateY(-1px)}.avatar-sm{width:32px;height:32px;border-radius:50%;background:var(--zinc-600);color:var(--zinc-900);font-family:var(--font-family-heading);font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.avatar-mini{width:24px;height:24px;border-radius:50%;background:var(--bg, var(--zinc-600));color:var(--fg, var(--zinc-900));font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center;border:2px solid var(--zinc-700);margin-left:-4px}.avatar-mini:first-child{margin-left:0}.avatar-more{width:24px;height:24px;border-radius:50%;background:var(--zinc-600);color:var(--zinc-200);font-size:9px;font-weight:600;display:flex;align-items:center;justify-content:center;margin-left:-4px}.avatars-group{display:flex}.avatar-color-picker{display:flex;align-items:center;gap:1.5rem}.avatar-preview{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:600;flex-shrink:0}.avatar-color-controls{display:flex;align-items:flex-end;gap:1rem}.color-input-wrapper{display:flex;flex-direction:column;gap:.25rem}.color-input-wrapper input[type=color]{width:48px;height:32px;padding:0;border:1px solid var(--zinc-500);border-radius:4px;cursor:pointer;background:none}.color-input-wrapper input[type=color]::-webkit-color-swatch-wrapper{padding:2px}.color-input-wrapper input[type=color]::-webkit-color-swatch{border-radius:2px;border:none}.identity-section-layout{display:grid;grid-template-columns:1fr 300px;gap:3rem;align-items:start}.identity-fields{flex:1;min-width:0}.identity-fields .form-grid{grid-template-columns:repeat(auto-fit, minmax(200px, 1fr))}.identity-avatar{flex-shrink:0}.identity-avatar .label{display:block;margin-bottom:1rem;font-size:.875rem;font-weight:500;color:var(--zinc-300)}.identity-avatar-display{display:flex;justify-content:center;align-items:center}.avatar-thumb{width:120px;height:120px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:600;font-family:var(--font-family-heading);flex-shrink:0}.avatar-thumb.avatar-image{padding:0;overflow:hidden}.avatar-thumb.avatar-image img{width:100%;height:100%;object-fit:cover;display:block}.avatar-upload-container{display:flex;flex-direction:column;align-items:center;gap:1.25rem;padding:1.75rem;background:var(--zinc-850);border:2px solid var(--zinc-750);border-radius:12px;width:100%}.avatar-preview-wrapper{display:flex;justify-content:center;margin-bottom:.25rem;position:relative}.avatar-preview-image,.avatar-preview-placeholder{width:140px;height:140px;border-radius:50%;object-fit:cover;display:block;box-shadow:0 4px 12px rgba(0,0,0,.15)}.avatar-preview-placeholder{display:flex;align-items:center;justify-content:center;background:var(--zinc-700);border:3px solid var(--zinc-600)}.avatar-preview-initials{width:100%;height:100%;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:600;font-family:var(--font-family-heading)}.avatar-upload-controls{display:flex;flex-direction:column;gap:.625rem;width:100%;align-items:center}.avatar-file-input-hidden{display:none}.avatar-upload-btn{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;white-space:nowrap;width:100%;justify-content:center}.avatar-upload-btn svg{flex-shrink:0}.avatar-upload-controls .btn{font-size:.875rem;padding:.625rem 1rem;width:100%;justify-content:center}.avatar-upload-hint{font-size:.75rem;color:var(--zinc-400);margin:.25rem 0 0 0;text-align:center}.avatar-image{padding:0;overflow:hidden}.avatar-image img{width:100%;height:100%;object-fit:cover;display:block}@media(max-width: 768px){.identity-section-layout{grid-template-columns:1fr;gap:2rem}.identity-avatar{order:-1}.avatar-upload-container{padding:1.5rem}.avatar-preview-image,.avatar-preview-placeholder{width:120px;height:120px}.avatar-preview-initials{font-size:2.5rem}}.select{width:100%;padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-base);font-family:inherit;font-weight:400;color:var(--zinc-50);background:var(--zinc-800);border:1px solid var(--zinc-700);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23e79052' d='M3 4.5L6 7.5L9 4.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-2) center;padding-right:var(--spacing-6)}.select:hover{border-color:var(--zinc-600)}.select:focus{outline:none;border-color:var(--zinc-600);background:var(--zinc-850);box-shadow:0 0 0 3px rgba(82,82,91,.15)}.select:disabled{background:var(--zinc-800);color:var(--zinc-500);cursor:not-allowed;border-color:var(--zinc-700);opacity:.6}.select option{background:var(--zinc-800);color:var(--zinc-50);padding:var(--spacing-2)}.select-filter{padding:var(--spacing-1) var(--spacing-3);padding-right:var(--spacing-5);background:rgba(0,0,0,0);border:none;color:var(--zinc-400);font-weight:600;text-transform:uppercase;letter-spacing:.05em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%23e79052' stroke='%23e79052' stroke-width='1.5' d='M4 6L8 10L12 6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-2) center;cursor:pointer}.select-filter:hover{color:var(--zinc-50);border:none;background-color:rgba(231,144,82,.05)}.select-filter:focus{border:none;box-shadow:none;background-color:rgba(231,144,82,.08)}.select-quick-add{background:rgba(231,144,82,.08);border:1px dashed rgba(231,144,82,.3);color:var(--zinc-200);font-weight:500;padding:var(--spacing-1) var(--spacing-4) var(--spacing-1) var(--spacing-2)}.select-quick-add:hover{border-color:rgba(231,144,82,.5);color:var(--zinc-50);background:rgba(231,144,82,.12)}.select-quick-add:focus{border-color:var(--color-minor);background:rgba(231,144,82,.15);color:var(--zinc-50);outline:none}.select-quick-add option{background:var(--zinc-800);color:var(--zinc-50);padding:var(--spacing-2)}.select-context{font-weight:500;border-color:var(--zinc-500);background:var(--zinc-850)}.select-context:hover{background:var(--zinc-800)}.select-mapping{padding:6px 32px 6px 12px;border-radius:999px;font-weight:500;background-color:var(--zinc-700)}.select-mapping:hover{background-color:var(--zinc-600);border-color:var(--zinc-500)}.select-mapping:focus{background-color:var(--zinc-600);border-color:var(--zinc-600);box-shadow:0 0 0 2px rgba(82,82,91,.15)}.select-compact{min-width:28px;height:28px;padding:0;text-align:center;text-align-last:center;border:1px dashed var(--zinc-600);background:rgba(0,0,0,0);color:var(--zinc-400)}.select-compact:hover{border-color:var(--zinc-500);color:var(--zinc-300);background:var(--zinc-800)}.btn-absence-trigger{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;background:rgba(0,0,0,0);cursor:pointer;transition:all var(--transition-fast)}.btn-absence-trigger svg{width:14px;height:14px;color:var(--zinc-300)}.btn-absence-trigger:hover svg{color:var(--zinc-100)}.btn-absence-trigger.active svg{color:var(--color-minor)}.select-full-width{width:100%}.select-uppercase{text-transform:uppercase}.select-uppercase option{text-transform:uppercase}.select-sidebar-add{appearance:none;background:rgba(0,0,0,0);border:none;color:var(--zinc-500);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;padding:var(--spacing-1);width:24px;text-align:center}.select-sidebar-add:hover{color:var(--zinc-300)}.select-sidebar-add:focus{outline:none}.select-hidden{display:none}.select-wide{min-width:200px}.dropdown{position:absolute;z-index:100;min-width:140px;max-height:300px;margin-top:2px;padding:4px;background:var(--zinc-800);border:1px solid var(--zinc-700);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);overflow-y:auto}.dropdown.hidden{display:none}.dropdown-item{display:flex;align-items:center;gap:var(--spacing-1);width:100%;padding:6px 8px;margin:0;border:none;border-left:2px solid rgba(0,0,0,0);border-radius:0;font-size:12px;font-family:inherit;text-align:left;cursor:pointer;background:rgba(0,0,0,0);color:var(--zinc-300);transition:all var(--transition-fast);white-space:nowrap}.dropdown-item:hover{background:var(--zinc-750);border-left-color:var(--color-minor);color:var(--zinc-50)}.dropdown-item:disabled{opacity:.5;cursor:not-allowed}.dropdown-danger{color:var(--color-red)}.dropdown-danger:hover{background:var(--color-red-alpha);border-left-color:var(--color-red);color:var(--color-red-light)}.dropdown-item-add{color:var(--zinc-400);font-weight:400}.dropdown-item-add:hover{background:var(--zinc-750);border-left-color:var(--color-minor);color:var(--zinc-50)}.dropdown-contextual{min-width:160px}.dropdown-contextual .dropdown-item{padding:var(--spacing-1) var(--spacing-2)}.dropdown-navigation{min-width:220px}.dropdown-navigation .dropdown-item{padding:var(--spacing-2) var(--spacing-3)}.dropdown-selector{min-width:240px;max-height:min(280px,40vh);overflow-y:auto}.dropdown-selector .dropdown-item{flex-direction:column;align-items:flex-start;padding:var(--spacing-2) var(--spacing-3);white-space:normal}.dropdown-selector .dropdown-item:hover{background:var(--zinc-750);border-left-color:var(--color-minor);color:var(--zinc-50)}.dropdown-selector .dropdown-item:has(.employee-checkbox){flex-direction:row;align-items:center;padding:4px 8px;gap:6px}.dropdown-selector .dropdown-item:has(.employee-checkbox) .dropdown-item-primary{font-size:11px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-selector::-webkit-scrollbar{width:8px}.dropdown-selector::-webkit-scrollbar-track{background:var(--zinc-800);border-radius:var(--radius-sm)}.dropdown-selector::-webkit-scrollbar-thumb{background:var(--zinc-600);border-radius:var(--radius-sm)}.dropdown-selector::-webkit-scrollbar-thumb:hover{background:var(--zinc-500)}.dropdown-multi .dropdown-item{padding-right:var(--spacing-5)}.dropdown-multi .dropdown-checkbox{width:16px;height:16px;margin-right:var(--spacing-2);cursor:pointer}.dropdown-item-primary{font-weight:500;color:var(--zinc-50);text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-item-abbr{font-weight:600}.dropdown-item-secondary{font-size:8px;color:var(--color-minor);margin-top:2px;margin-left:0;font-weight:400;text-transform:uppercase;letter-spacing:.02em;display:block}.dropdown-divider{height:1px;margin:4px 0;background:var(--zinc-700)}.dropdown-header{padding:4px 8px;font-size:10px;font-weight:600;color:var(--zinc-500);text-transform:uppercase;letter-spacing:.05em}.dropdown-header--alert{color:#f59e0b;background:rgba(245,158,11,.1);border-radius:var(--radius-sm);padding:6px 8px;margin:2px 4px}.dropdown-section{padding:4px}.dropdown-form{margin:0;padding:0}.dropdown-form button[type=submit]{width:100%}.dropdown-empty{padding:var(--spacing-3);text-align:center;color:var(--zinc-500);font-style:italic;font-size:12px}.dropdown-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 var(--spacing-1);border-radius:999px;background:var(--zinc-600);color:var(--zinc-900);font-size:var(--font-size-xs);font-weight:600}.dropdown-label{display:block;padding:var(--spacing-1) var(--spacing-2);font-size:var(--font-size-xs);font-weight:500;color:var(--zinc-500);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--zinc-700);margin-bottom:var(--spacing-1)}.dropdown-input{width:100%;padding:4px 8px;border:1px solid var(--zinc-600);border-radius:var(--radius-sm);font-size:12px;background:var(--zinc-850);color:var(--zinc-50);text-align:center}.dropdown-input:focus{outline:none;border-color:var(--zinc-600)}.dropdown-btn{display:block;width:100%;padding:6px 8px;border:none;background:var(--zinc-600);color:var(--zinc-900);font-size:12px;font-weight:600;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.dropdown-btn:hover{background:var(--zinc-600)}.dropdown-btn-secondary{background:rgba(0,0,0,0);color:var(--zinc-50);border:1px solid var(--zinc-700)}.dropdown-btn-secondary:hover{background:var(--zinc-700);border-color:var(--zinc-600)}.dropdown-trigger{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:var(--zinc-800);border:1px solid var(--zinc-700);border-radius:var(--radius-sm);color:var(--zinc-50);font-size:12px;cursor:pointer;transition:all var(--transition-fast)}.dropdown-trigger:hover{border-color:var(--zinc-600);background:var(--zinc-700)}.dropdown-trigger:focus{outline:none;border-color:var(--zinc-600);box-shadow:0 0 0 3px rgba(82,82,91,.15)}.dropdown-trigger svg{width:14px;height:14px;transition:transform var(--transition-fast)}.dropdown-trigger.open svg{transform:rotate(180deg)}.dropdown-trigger-filter{display:inline-flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-2);background:rgba(0,0,0,0);border:none;color:var(--zinc-400);font-size:var(--font-size-base);font-weight:600;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:all var(--transition-fast)}.dropdown-trigger-filter svg{width:12px;height:12px;color:#fff;transition:transform var(--transition-fast);flex-shrink:0;margin-left:2px}.dropdown-trigger-filter:hover{color:var(--zinc-50);background:rgba(0,0,0,0)}.dropdown-trigger-filter:focus{outline:none;background:rgba(0,0,0,0)}.dropdown-trigger-filter.open svg{transform:rotate(180deg)}.dropdown-wrapper{position:relative;display:inline-block}.dropdown-top{bottom:100%;top:auto;margin-bottom:4px;margin-top:0}.dropdown-left{left:0;right:auto}.dropdown-right{right:0;left:auto}.dropdown-center{left:50%;transform:translateX(-50%)}.dropdown-icon{width:16px;height:16px;flex-shrink:0;color:var(--zinc-500);transition:color var(--transition-fast)}.dropdown-item:hover .dropdown-icon{color:var(--zinc-50)}.dropdown-item-logout{width:100%;background:none;border:none;cursor:pointer;text-align:left}.dropdown-item-logout:hover{background:rgba(239,68,68,.1);color:#f87171;border-left-color:var(--color-red)}.dropdown-item-logout:hover .dropdown-icon{color:#f87171}.dropdown-email{display:block;padding:var(--spacing-2) var(--spacing-3) var(--spacing-1);font-size:var(--font-size-sm);font-weight:500;color:var(--zinc-100)}.dropdown-role{display:block;padding:0 var(--spacing-3) var(--spacing-2);font-size:11px;color:var(--zinc-500)}.column-filter-dropdown{position:relative}.column-filter-dropdown .dropdown-menu{position:absolute;top:100%;left:0;margin-top:var(--spacing-1);min-width:180px;z-index:100}.column-filter-dropdown .dropdown-item.active{background:var(--zinc-500);color:var(--zinc-600)}.column-filter-dropdown .dropdown-item.active:hover{background:var(--zinc-500);color:var(--zinc-600)}.column-filter-btn{display:inline-flex;align-items:center;gap:var(--spacing-1);padding:0;background:none;border:none;font-size:inherit;font-weight:inherit;color:inherit;cursor:pointer;transition:opacity var(--transition-fast)}.column-filter-btn:hover{opacity:.7}.column-filter-btn svg{flex-shrink:0;opacity:.6}.sidebar-admin .dropdown-item{color:var(--zinc-400)}.sidebar-admin .dropdown-icon{color:var(--zinc-600)}.sidebar-admin .dropdown-item-logout:hover{background:rgba(248,113,113,.1);color:#f87171}.sidebar-admin .dropdown-item-logout:hover .dropdown-icon{color:#f87171}@media(max-width: 768px){.dropdown-selector{max-height:300px}.dropdown{min-width:160px}.select{font-size:var(--font-size-base)}}.modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:1000;align-items:center;justify-content:center;padding:var(--spacing-4)}.modal.open,.modal.active{display:flex}.modal-content{background:var(--zinc-800);font-size:var(--font-size-sm);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);border:1px solid var(--zinc-700);width:fit-content;min-width:320px;max-width:min(520px,100vw - var(--spacing-8));max-height:calc(100vh - var(--spacing-8));overflow:hidden;display:flex;flex-direction:column}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-4);border-bottom:1px solid var(--zinc-700);flex-shrink:0}.modal-header h3{margin:0;font-size:var(--font-size-base);font-weight:600;color:var(--zinc-100)}.modal-header-text{display:flex;flex-direction:column;gap:2px}.modal-subtitle{margin:0;font-size:var(--font-size-xs);color:var(--zinc-400);font-weight:400}.modal-subtitle:empty{display:none}.modal-body{padding:var(--spacing-4);overflow-y:auto;flex:1;min-height:0}.modal-footer{display:flex;justify-content:flex-end;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-4);border-top:1px solid var(--zinc-700);flex-shrink:0}.modal-info{background:var(--zinc-750, var(--zinc-700));padding:var(--spacing-3);border-radius:var(--radius);margin-bottom:var(--spacing-4);font-size:var(--font-size-sm)}.modal-section{border-top:1px solid var(--zinc-700);padding-top:var(--spacing-4);margin-top:var(--spacing-4)}.modal-form-scrollable{display:flex;flex-direction:column;min-height:0;flex:1;overflow:hidden}.task-modal-loading,.task-modal-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-8);gap:var(--spacing-3);color:var(--zinc-400);font-size:var(--font-size-sm)}.task-modal-loading .spinner{width:24px;height:24px;border:2px solid var(--zinc-600);border-top-color:var(--zinc-400);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.panel-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:1000}.panel-overlay.open{display:block}.panel{position:fixed;top:0;bottom:0;right:0;z-index:1001;transform:translateX(100%);transition:transform .3s ease}.panel.open{transform:translateX(0)}.panel.panel--left{right:auto;left:0;transform:translateX(-100%)}.panel.panel--left.open{transform:translateX(0)}.panel--sm{width:320px;max-width:90vw}.panel--md{width:400px;max-width:90vw}.panel--lg{width:500px;max-width:90vw}.panel--xl{width:600px;max-width:90vw}.panel-content{display:flex;flex-direction:column;height:100%}.panel-segment-info{margin-bottom:var(--spacing-4);padding-bottom:var(--spacing-3);border-bottom:1px solid var(--zinc-700)}.panel-segment-info__site{font-size:var(--font-size-base);font-weight:600;color:var(--zinc-100);margin-bottom:var(--spacing-1)}.panel-segment-info__date{font-size:var(--font-size-sm);color:var(--zinc-400)}.panel-search{margin-bottom:var(--spacing-3)}.panel-filter{margin-bottom:var(--spacing-4)}.panel-list{flex:1;overflow-y:auto;margin:0 calc(-1*var(--spacing-4));padding:0 var(--spacing-4)}.panel-list__group{margin-bottom:var(--spacing-4)}.panel-list__title{font-size:var(--font-size-xs);font-weight:600;color:var(--zinc-400);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-2)}.panel-list__items{display:flex;flex-direction:column;gap:var(--spacing-2)}.panel-list__item{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-2);border-radius:var(--radius);cursor:pointer;transition:background var(--transition-fast)}.panel-list__item:hover{background:var(--zinc-700)}.panel-list__item--disabled{opacity:.5;cursor:not-allowed}.panel-list__item--disabled:hover{background:rgba(0,0,0,0)}.panel-list__item--selected{background:rgba(113,113,122,.15)}.panel-list__item--with-dates{flex-direction:column;align-items:stretch;cursor:default;padding:var(--spacing-3);background:var(--zinc-800)}.panel-list__item--with-dates:hover{background:var(--zinc-800)}.panel-list__item--assigned{opacity:.7}.panel-list__dates{display:flex;flex-wrap:wrap;gap:var(--spacing-2);margin-top:var(--spacing-2)}.panel-list__dates--readonly{gap:var(--spacing-1)}.panel-list__dates-by-day{display:flex;flex-direction:column;gap:var(--spacing-3)}.panel-list__day{background:var(--zinc-800);border-radius:var(--radius);padding:var(--spacing-3)}.panel-list__day-header{font-size:var(--font-size-sm);font-weight:600;color:var(--zinc-200);margin-bottom:var(--spacing-2);text-transform:capitalize}.panel-list__day-employees{display:flex;flex-wrap:wrap;gap:var(--spacing-2)}.panel-list__assigned-employees{display:flex;flex-direction:column;gap:var(--spacing-2)}.panel-list__assigned-employee{display:flex;flex-direction:column;gap:2px;padding:var(--spacing-2) var(--spacing-3);background:var(--zinc-800);border-radius:var(--radius);border-left:3px solid var(--green-600)}.panel-list__assigned-name{font-size:var(--font-size-sm);font-weight:500;color:var(--zinc-200)}.panel-list__assigned-dates{font-size:var(--font-size-xs);color:var(--zinc-400)}.panel-list__absent-employees{display:flex;flex-direction:column;gap:var(--spacing-2)}.panel-list__absent-employee{display:flex;flex-direction:column;gap:4px;padding:var(--spacing-2) var(--spacing-3);background:var(--zinc-800);border-radius:var(--radius);border-left:3px solid var(--red-600)}.panel-list__absent-name{font-size:var(--font-size-sm);font-weight:500;color:var(--zinc-200)}.panel-list__absences{display:flex;flex-direction:column;gap:2px}.panel-list__absence-line{display:flex;align-items:baseline;gap:var(--spacing-2);font-size:var(--font-size-xs)}.panel-list__absence-type{font-weight:500;color:var(--red-400)}.panel-list__absence-dates{color:var(--zinc-400)}.panel-list__date-badge{display:inline-flex;padding:var(--spacing-1) var(--spacing-2);background:var(--green-900);color:var(--green-300);border-radius:var(--radius-sm);font-size:var(--font-size-xs)}.panel-list__item--other{opacity:.6}.panel-list__other-sites{display:flex;flex-direction:column;gap:var(--spacing-1);margin-top:var(--spacing-2)}.panel-list__other-site{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--spacing-2);font-size:var(--font-size-xs)}.panel-list__other-site-name{color:var(--amber-400);font-weight:500}.panel-list__other-site-dates{color:var(--zinc-400)}.panel-list__info{flex:1;min-width:0}.panel-list__name{font-size:var(--font-size-sm);color:var(--zinc-200);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.panel-list__meta{font-size:var(--font-size-xs);color:var(--zinc-400)}.panel-list__meta--warning{color:var(--amber-400)}.panel-list__name-row{display:flex;align-items:center;gap:var(--spacing-2)}.panel-list__checkbox-placeholder{width:16px;flex-shrink:0}.panel-footer{display:flex;gap:var(--spacing-3);padding-top:var(--spacing-4);margin-top:var(--spacing-4);border-top:1px solid var(--zinc-700)}.panel-footer .btn{flex:1}.alert{display:flex;align-items:flex-start;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-sm);font-size:var(--font-size-sm);line-height:1.5;background:var(--zinc-800);border:1px solid var(--zinc-600);border-left:3px solid var(--zinc-500);color:var(--zinc-200)}.alert svg{flex-shrink:0;width:18px;height:18px;margin-top:1px}.alert-content{flex:1;min-width:0}.alert-title{font-weight:600;color:var(--zinc-100);margin-bottom:var(--spacing-1)}.alert-message{color:var(--zinc-300)}.alert-list,.decompte-inconsistencies-list{margin:var(--spacing-2) 0 0 0;padding-left:var(--spacing-4);font-size:var(--font-size-xs);color:var(--zinc-400)}.alert-list li,.decompte-inconsistencies-list li{margin-bottom:var(--spacing-1);line-height:1.5}.alert-list li:last-child,.decompte-inconsistencies-list li:last-child{margin-bottom:0}.alert-bullets{display:flex;flex-direction:column;gap:var(--spacing-2)}.alert-bullets .alert-list,.alert-bullets .decompte-inconsistencies-list{margin:0;padding-left:var(--spacing-5);font-size:var(--font-size-sm);color:var(--zinc-300);list-style-type:disc}.alert-bullets .alert-list li,.alert-bullets .decompte-inconsistencies-list li{margin-bottom:var(--spacing-2);padding-left:var(--spacing-1)}.alert-bullets .alert-list li::marker,.alert-bullets .decompte-inconsistencies-list li::marker{color:var(--zinc-500)}.alert-close{flex-shrink:0;background:none;border:none;padding:var(--spacing-1);margin:calc(-1*var(--spacing-1));cursor:pointer;color:var(--zinc-500);border-radius:var(--radius-sm);transition:all .15s ease}.alert-close:hover{background:var(--zinc-700);color:var(--zinc-300)}.alert-close svg{width:16px;height:16px}.alert-warning{background:rgba(245,158,11,.12);border-left-color:var(--color-minor);border-color:rgba(245,158,11,.25)}.alert-warning svg{color:var(--color-minor)}.alert-warning .alert-title{color:var(--color-minor-light)}.alert-error{background:rgba(239,68,68,.12);border-left-color:var(--color-red);border-color:rgba(239,68,68,.25)}.alert-error svg{color:var(--color-red)}.alert-error .alert-title{color:var(--color-red-light)}.alert-success{border-left-color:#22c55e}.alert-success svg{color:#22c55e}.alert-info{border-left-color:var(--zinc-400)}.alert-info svg{color:var(--zinc-400)}.flash{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-4);padding:var(--spacing-4) var(--spacing-5);margin-bottom:var(--spacing-4);border-radius:var(--radius);font-size:var(--font-size-base);font-weight:500;background:var(--zinc-800);border:1px solid var(--zinc-600);border-left:5px solid var(--zinc-500);color:#fff;box-shadow:0 4px 12px rgba(0,0,0,.3);position:relative}.flash-message{flex:1;line-height:1.4}.flash-close{background:hsla(0,0%,100%,.1);border:none;border-radius:var(--radius-sm);width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:16px;line-height:1;cursor:pointer;color:#fff;transition:all .2s ease;flex-shrink:0}.flash-close:hover{background:hsla(0,0%,100%,.2);transform:scale(1.1)}.flash-notice{border-left-color:var(--color-minor);background:linear-gradient(90deg, var(--color-minor-alpha) 0%, var(--zinc-800) 100%)}.flash-alert{border-left-color:var(--color-red);background:linear-gradient(90deg, var(--color-red-alpha) 0%, var(--zinc-800) 100%)}.toast-container{position:fixed;top:var(--spacing-4);right:var(--spacing-4);z-index:9999;display:flex;flex-direction:column;gap:var(--spacing-2);pointer-events:none}.toast{display:flex;align-items:flex-start;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);background:var(--zinc-800);border:1px solid var(--zinc-600);border-left:3px solid var(--zinc-500);border-radius:var(--radius-sm);font-size:var(--font-size-sm);max-width:380px;pointer-events:auto;animation:toast-slide-in .3s ease-out;color:var(--zinc-200)}.toast.toast-leaving{animation:toast-slide-out .2s ease-in forwards}@keyframes toast-slide-in{from{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes toast-slide-out{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}.toast-icon{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.toast-icon svg{width:18px;height:18px}.toast-content{flex:1;min-width:0}.toast-title{font-weight:600;color:var(--zinc-100);margin-bottom:2px}.toast-message{color:var(--zinc-300);line-height:1.4;word-break:break-word}.toast-close{flex-shrink:0;background:none;border:none;padding:var(--spacing-1);margin:calc(-1*var(--spacing-1));cursor:pointer;color:var(--zinc-500);border-radius:var(--radius-sm);transition:all .15s ease}.toast-close:hover{background:var(--zinc-700);color:var(--zinc-300)}.toast-close svg{width:16px;height:16px}.toast-warning{border-left-color:var(--color-minor)}.toast-warning .toast-icon{color:var(--color-minor)}.toast-warning .toast-title{color:var(--color-minor-light)}.toast-error{border-left-color:var(--color-red)}.toast-error .toast-icon{color:var(--color-red)}.toast-error .toast-title{color:var(--color-red-light)}.toast-success{border-left-color:#22c55e}.toast-success .toast-icon{color:#22c55e}.toast-success .toast-title{color:#4ade80}.toast-info{border-left-color:var(--zinc-400)}.toast-info .toast-icon{color:var(--zinc-400)}.toast-info .toast-title{color:var(--zinc-300)}.inline-warning,.decompte-warning{display:inline-flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);margin-bottom:var(--spacing-3);background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.25);border-left:3px solid var(--color-minor);border-radius:var(--radius-sm);color:var(--zinc-200);font-size:var(--font-size-sm)}.inline-warning svg,.decompte-warning svg{color:var(--color-minor);flex-shrink:0;width:18px;height:18px}.inline-warning-error,.decompte-warning-error{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.25);border-left-color:var(--color-red);display:flex;align-items:flex-start}.inline-warning-error svg,.decompte-warning-error svg{color:var(--color-red);margin-top:2px}.inline-warning-content,.decompte-warning-content{display:flex;flex-direction:column;gap:var(--spacing-1)}.inline-warning-content strong,.decompte-warning-content strong{color:var(--zinc-100);font-weight:600}.impersonation-banner{background:var(--zinc-800);color:var(--zinc-200);border:1px solid var(--zinc-600);border-left:3px solid var(--color-red);border-radius:var(--radius-sm);padding:var(--spacing-3) var(--spacing-4);margin-bottom:var(--spacing-4);font-size:var(--font-size-sm);display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-3)}.impersonation-btn{background:var(--color-red);color:#fff;border:none;padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius-sm);font-size:var(--font-size-xs);cursor:pointer;white-space:nowrap;transition:background-color .2s}.impersonation-btn:hover{background:var(--color-red-dark)}.form-errors{padding:var(--spacing-3) var(--spacing-4);margin-bottom:var(--spacing-4);background:var(--zinc-800);border:1px solid var(--zinc-600);border-left:3px solid var(--color-red);border-radius:var(--radius-sm);color:var(--zinc-200);font-size:var(--font-size-sm)}.form-errors ul{margin:0;padding-left:var(--spacing-4)}.form-errors li{margin-bottom:var(--spacing-1);color:var(--zinc-300)}.form-errors li:last-child{margin-bottom:0}.import-banner,.import-error-banner,.import-success-banner{display:flex;align-items:flex-start;gap:var(--spacing-3);padding:var(--spacing-4);margin-bottom:var(--spacing-4);background:var(--zinc-800);border:1px solid var(--zinc-600);border-left:3px solid var(--zinc-500);border-radius:var(--radius-sm);color:var(--zinc-200)}.import-banner svg,.import-error-banner svg,.import-success-banner svg{flex-shrink:0;width:24px;height:24px}.import-banner h3,.import-error-banner h3,.import-success-banner h3{margin:0 0 var(--spacing-1) 0;font-size:var(--font-size-base);font-weight:600;color:var(--zinc-100)}.import-banner p,.import-error-banner p,.import-success-banner p{margin:0;color:var(--zinc-300)}.import-banner-success,.import-success-banner{border-left-color:#22c55e}.import-banner-success svg,.import-success-banner svg{color:#22c55e}.import-banner-error,.import-error-banner{border-left-color:var(--color-red)}.import-banner-error svg,.import-error-banner svg{color:var(--color-red)}.alert-danger,.card-danger{display:flex;flex-direction:column;gap:var(--spacing-3);padding:var(--spacing-4);background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.25);border-left:3px solid var(--color-red);border-radius:var(--radius-sm)}.danger-zone{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-4)}.danger-zone-content{flex:1;min-width:0}.danger-zone-content h3{margin:0 0 var(--spacing-1);font-size:var(--font-size-base);font-weight:600;color:var(--zinc-100);text-transform:none;letter-spacing:normal}.danger-zone-content p{margin:0;font-size:var(--font-size-sm);line-height:1.5;color:var(--zinc-300)}.danger-zone-content ul{margin:var(--spacing-2) 0 0 0;padding-left:var(--spacing-5);font-size:var(--font-size-sm);color:var(--zinc-400);list-style-type:disc}.danger-zone-content ul li{margin-bottom:var(--spacing-1);line-height:1.5}.danger-zone-content ul li:last-child{margin-bottom:0}.danger-zone-content ul li::marker{color:var(--color-red)}.danger-zone-actions{flex-shrink:0;display:flex;align-items:center;gap:var(--spacing-2)}.link{color:var(--zinc-300);text-decoration:none;transition:color var(--transition-fast)}.link:hover{color:var(--zinc-500);text-decoration:none}.link-bold{color:var(--zinc-200);font-weight:600;font-size:var(--font-size-xs);text-transform:uppercase}.link-bold:hover{color:var(--zinc-500)}.text-lowercase{text-transform:lowercase}.text-capitalize-first{text-transform:lowercase}.text-capitalize-first::first-letter{text-transform:uppercase}.address-cell{line-height:1.4}.address-city{color:var(--zinc-400);font-size:var(--font-size-xs)}.grid{display:grid;gap:var(--spacing-6)}.grid-2{grid-template-columns:repeat(2, 1fr)}.details{display:grid;grid-template-columns:180px 1fr;gap:var(--spacing-3) var(--spacing-4)}.details dt{font-weight:500;color:var(--zinc-400);font-size:var(--font-size-sm)}.details dd{margin:0}.detail-value{font-size:var(--font-size-sm);color:var(--zinc-300)}.site-color-swatch{display:inline-block;width:24px;height:24px;border-radius:var(--radius-sm);border:1px solid var(--zinc-700);vertical-align:middle}.color-picker-wrapper{display:flex;align-items:center;gap:var(--spacing-2)}.color-picker-input{width:60px;height:32px;padding:2px;border:1px solid var(--zinc-700);border-radius:var(--radius-sm);background:var(--zinc-800);cursor:pointer}.color-picker-input::-webkit-color-swatch-wrapper{padding:0}.color-picker-input::-webkit-color-swatch{border:none;border-radius:var(--radius-sm)}.contact-info-centered{text-align:center}.contact-intro{font-size:var(--font-size-base);margin-bottom:var(--spacing-4)}.contact-details{background:var(--zinc-800);border-radius:var(--radius-lg);padding:var(--spacing-4);margin-bottom:var(--spacing-4)}.contact-item{display:flex;align-items:center;justify-content:center;gap:var(--spacing-2);margin-bottom:var(--spacing-2)}.contact-item:last-child{margin-bottom:0}.contact-item a{color:var(--zinc-300);text-decoration:none;font-weight:500}.contact-item a:hover{text-decoration:underline}.contact-item svg{color:var(--zinc-500);flex-shrink:0}.contact-note{font-size:var(--font-size-sm);color:var(--zinc-500);margin:0}.empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-4);text-align:center;padding:var(--spacing-6) var(--spacing-4);color:var(--zinc-300)}.empty-state h3{color:var(--zinc-50);font-size:1.3rem;font-weight:600;margin-bottom:var(--spacing-2);margin-top:var(--spacing-3)}.empty-state>p.text-muted{margin-bottom:var(--spacing-4);font-size:.95rem;color:var(--zinc-400)}.empty-state__tutorial{max-width:900px;margin:0 auto var(--spacing-5);display:grid;grid-template-columns:repeat(4, 1fr);gap:var(--spacing-4)}.empty-state__btn{margin-top:0}.empty-state__btn .btn-chevron{margin-left:var(--spacing-2);transition:transform .2s ease}.empty-state__planning-selector{position:relative;display:inline-block}.empty-state__planning-selector .btn:hover .btn-chevron{transform:translateY(2px)}.empty-state-dropdown-menu{position:absolute;top:calc(100% + var(--spacing-2));left:50%;transform:translateX(-50%);min-width:320px;max-width:400px;background:var(--zinc-800);border:1px solid var(--zinc-600);border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.4);overflow:hidden;z-index:1000;max-height:150px;overflow-y:auto}.empty-state-dropdown-menu.hidden{display:none}.empty-state-dropdown-item{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);cursor:pointer;transition:background-color .2s ease;text-decoration:none;color:var(--zinc-50);border:none;background:none;width:100%;text-align:left}.empty-state-dropdown-item:hover{background-color:var(--zinc-700)}.empty-state-dropdown-item__content{flex:1;min-width:0}.empty-state-dropdown-item__name{font-weight:400;font-size:.9rem;color:var(--zinc-50);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty-state-dropdown-item__client{font-size:.85rem;color:var(--zinc-400);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty-state-dropdown-item svg{flex-shrink:0;color:var(--zinc-400)}.empty-state-dropdown-item--create{color:var(--zinc-600);font-weight:600}.empty-state-dropdown-item--create:hover{background-color:rgba(193,196,88,.15)}.empty-state-dropdown-item--create svg{color:var(--zinc-600)}.empty-state-dropdown-divider{height:1px;background-color:var(--zinc-700);margin:var(--spacing-2) 0}.tutorial-step{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2);padding:var(--spacing-4);background-color:var(--zinc-800);border-radius:12px;border:1px solid var(--zinc-700);transition:transform .2s ease,box-shadow .2s ease}.tutorial-step:hover{transform:translateY(-3px);box-shadow:0 6px 16px rgba(0,0,0,.3);background-color:var(--zinc-700);border-color:var(--zinc-600)}.tutorial-step__number{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--zinc-600);color:var(--zinc-900);border-radius:50%;font-weight:700;font-size:1rem}.tutorial-step__content{text-align:center}.tutorial-step__content h4{color:var(--zinc-50);font-size:.95rem;font-weight:600;margin:0 0 var(--spacing-1) 0}.tutorial-step__content p{color:var(--zinc-300);font-size:.8rem;margin:0;line-height:1.4}.tutorial-step__content p strong{color:var(--zinc-600);font-weight:600}.empty-state-card{text-align:center;padding:var(--spacing-8);color:var(--zinc-300)}.empty-state-card p{margin-bottom:var(--spacing-4);color:var(--zinc-400)}.empty-state-icon{width:48px;height:48px;margin-bottom:var(--spacing-4);color:var(--zinc-500)}.progress-bar{width:40px;height:4px;background:var(--zinc-600);border-radius:2px;overflow:hidden}.progress-bar-inline{width:60px;height:4px;background:var(--zinc-600);border-radius:2px;overflow:hidden;display:inline-block;vertical-align:middle;margin-right:var(--spacing-2)}.progress-bar-lg{width:100%;max-width:200px;height:8px;background:var(--zinc-600);border-radius:4px;overflow:hidden;margin-bottom:var(--spacing-2)}.progress-fill{height:100%;background:var(--zinc-600);border-radius:inherit;transition:width .3s ease}.context-menu{position:fixed;background:var(--zinc-800);border:1px solid var(--zinc-600);border-radius:var(--radius);box-shadow:0 4px 12px rgba(0,0,0,.4),0 0 0 1px rgba(0,0,0,.2);min-width:180px;z-index:1100;padding:var(--spacing-1);animation:contextMenuFadeIn .1s ease-out}@keyframes contextMenuFadeIn{from{opacity:0;transform:scale(0.95)}to{opacity:1;transform:scale(1)}}.context-menu.hidden{display:none}.context-menu-header{padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-xs);font-weight:600;color:var(--zinc-400);border-bottom:1px solid var(--zinc-700)}.context-menu-distance{display:flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-sm);color:var(--zinc-400);border-bottom:1px solid var(--zinc-700);margin-bottom:var(--spacing-1)}.context-menu-distance svg{flex-shrink:0}.context-menu-item{display:flex;align-items:center;gap:var(--spacing-2);width:100%;padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-sm);color:var(--zinc-200);background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:background var(--transition-fast)}.context-menu-item:hover{background:var(--zinc-700)}.context-menu-item svg{flex-shrink:0;color:var(--zinc-400)}.context-menu-item-danger{color:#ef4444}.context-menu-item-danger svg{color:#ef4444}.context-menu-item-danger:hover{background:rgba(239,68,68,.15);color:#f87171}.context-menu-item-danger:hover svg{color:#f87171}.color-picker{display:flex;gap:var(--spacing-2);flex-wrap:wrap}.color-option{cursor:pointer}.color-option input{display:none}.color-option .color-swatch{width:32px;height:32px;border-radius:var(--radius);border:2px solid rgba(0,0,0,0);transition:transform var(--transition),border-color var(--transition)}.color-option input:checked+.color-swatch{border-color:#fff;transform:scale(1.1)}.color-option:hover .color-swatch{transform:scale(1.05)}.color-picker-wrapper{display:flex;align-items:center;gap:var(--spacing-2)}.color-picker-input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.color-picker-preview{width:36px;height:36px;border-radius:var(--radius);border:2px solid var(--zinc-700);cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.color-picker-preview:hover{transform:scale(1.05);box-shadow:0 2px 8px rgba(0,0,0,.15)}.color-palette{display:grid;grid-template-columns:repeat(auto-fill, minmax(48px, 1fr));gap:var(--spacing-2);margin-top:var(--spacing-2)}.color-palette-btn{width:48px;height:48px;border-radius:var(--radius-md);border:2px solid rgba(0,0,0,0);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px rgba(0,0,0,.2);position:relative}.color-palette-btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.3);border-color:var(--zinc-600)}.color-palette-btn.active{border-color:var(--zinc-50);box-shadow:0 0 0 3px hsla(0,0%,100%,.2)}.color-palette-btn svg{color:#1a1a1a;filter:drop-shadow(0 1px 2px rgba(255, 255, 255, 0.3))}.color-palette-large{display:grid;grid-template-columns:repeat(auto-fill, minmax(32px, 1fr));gap:var(--spacing-1);margin-top:var(--spacing-2)}.color-palette-btn-large{position:relative;width:100%;height:32px;border-radius:var(--radius);border:2px solid var(--zinc-700);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;background:var(--zinc-800);overflow:hidden}.color-palette-btn-large .color-display{position:absolute;inset:0;width:100%;height:100%;transition:transform var(--transition-fast)}.color-palette-btn-large .color-checkmark{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transform:scale(0.5);transition:all .2s cubic-bezier(0.34, 1.56, 0.64, 1);z-index:2}.color-palette-btn-large .color-checkmark svg{color:#fff;filter:drop-shadow(0 2px 4px rgba(0, 0, 0, 0.8));width:16px;height:16px}.color-palette-btn-large:hover{transform:translateY(-1px);box-shadow:0 2px 4px rgba(0,0,0,.4);border-color:var(--zinc-600)}.color-palette-btn-large:hover .color-display{transform:scale(1.05)}.color-palette-btn-large.checked{border-color:#fff}.color-palette-btn-large.checked .color-checkmark{opacity:1;visibility:visible;transform:scale(1)}@media(max-width: 1024px){.color-palette-large{grid-template-columns:repeat(auto-fill, minmax(28px, 1fr))}.color-palette-btn-large{height:28px}}@media(max-width: 640px){.color-palette-large{grid-template-columns:repeat(8, 1fr);gap:var(--spacing-1)}.color-palette-btn-large{height:28px}.color-palette-btn-large .color-checkmark svg{width:14px;height:14px}}.form-hint-banner{padding:var(--spacing-2) var(--spacing-3);margin-bottom:var(--spacing-3);background:var(--zinc-700);border-radius:var(--radius);font-size:var(--font-size-sm);color:var(--zinc-400)}.form-hint-banner strong{color:var(--zinc-100)}.sidebar-section-notifications{padding:0;margin-top:var(--spacing-2)}.notifications-trigger{display:flex;align-items:center;gap:var(--spacing-3);width:100%;padding:10px 12px;background:none;border:none;border-radius:var(--radius-md);color:var(--zinc-300);cursor:pointer;transition:all .2s cubic-bezier(0.4, 0, 0.2, 1);position:relative;font-family:var(--font-family-heading);font-size:14px;font-weight:450;text-align:left;margin:0}.notifications-trigger:hover{background:var(--zinc-600);color:var(--zinc-50)}.notifications-trigger:hover .nav-icon{color:var(--zinc-50);opacity:1}.notifications-trigger .nav-icon{width:18px;height:18px;flex-shrink:0;opacity:.7;transition:all .2s cubic-bezier(0.4, 0, 0.2, 1)}.notifications-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:var(--zinc-600);color:var(--zinc-900);font-size:11px;font-weight:600;border-radius:9px;margin-left:auto}.notifications-badge-hidden{display:none}.notifications-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:1000;align-items:flex-start;justify-content:center;padding-top:8vh}.notifications-overlay.open{display:flex}.notifications-modal{background:var(--zinc-800);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:560px;max-height:70vh;display:flex;flex-direction:column;border:1px solid var(--zinc-700);animation:modal-slide-in .15s ease-out;overflow:hidden}@keyframes modal-slide-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.notifications-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-5) var(--spacing-5) var(--spacing-4)}.notifications-modal-title{margin:0;font-size:var(--font-size-lg);font-weight:600;color:var(--zinc-50)}.notifications-header-actions{display:flex;align-items:center;gap:var(--spacing-3)}.notifications-mark-all{background:none;border:none;color:var(--zinc-400);font-size:var(--font-size-xs);cursor:pointer;padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.notifications-mark-all:hover{color:var(--zinc-50);background:var(--zinc-600)}.notifications-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:none;border:none;border-radius:var(--radius);color:var(--zinc-400);cursor:pointer;transition:all var(--transition-fast)}.notifications-close:hover{background:var(--zinc-600);color:var(--zinc-50)}.notifications-tabs{display:flex;gap:var(--spacing-1);padding:0 var(--spacing-5) var(--spacing-3)}.notifications-tab{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);background:none;border:none;font-size:var(--font-size-sm);color:var(--zinc-400);cursor:pointer;border-radius:var(--radius);transition:all var(--transition-fast)}.notifications-tab:hover{color:var(--zinc-50)}.notifications-tab.notifications-tab-active{background:var(--zinc-600);color:var(--zinc-50);font-weight:500}.notifications-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:var(--zinc-600);font-size:11px;font-weight:500;border-radius:9px}.notifications-tab-active .notifications-tab-count{background:var(--zinc-600);color:var(--zinc-900)}.notifications-content{flex:1;overflow-y:auto;border-top:1px solid var(--zinc-700)}.notifications-list{padding:var(--spacing-2) 0}.notifications-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-8) var(--spacing-4);color:var(--zinc-400)}.notifications-empty svg{margin-bottom:var(--spacing-3);opacity:.3}.notifications-empty p{margin:0;font-size:var(--font-size-sm)}.notification-item{padding:var(--spacing-4) var(--spacing-5);transition:background var(--transition-fast)}.notification-item:hover{background:var(--zinc-700)}.notification-item-unread{background:var(--zinc-700)}.notification-item-unread .notification-title{font-weight:600}.notification-item-unread:hover{background:var(--zinc-600)}.notification-item-header{display:flex;align-items:center;gap:var(--spacing-3)}.notification-avatar{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:var(--zinc-600);display:flex;align-items:center;justify-content:center;overflow:hidden}.avatar-initials{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;color:var(--zinc-50)}.avatar-icon{color:var(--zinc-400)}.avatar-icon svg{display:block}.notification-title-row{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.notification-title{font-size:var(--font-size-sm);font-weight:400;color:var(--zinc-50);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-time{font-size:var(--font-size-xs);color:var(--zinc-400)}.notification-actions{display:flex;gap:var(--spacing-1);flex-shrink:0}.notification-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:none;border:none;border-radius:var(--radius-sm);color:var(--zinc-400);cursor:pointer;transition:all var(--transition-fast)}.notification-btn:hover{background:var(--zinc-600);color:var(--zinc-50)}.notification-btn-unfollow{color:var(--zinc-600)}.notification-btn-unfollow:hover{color:var(--zinc-500)}.notification-item-body{margin-top:var(--spacing-2);padding-left:calc(32px + var(--spacing-3))}.notification-body{margin:0;font-size:var(--font-size-sm);color:var(--zinc-400);line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.notification-action{display:inline-block;margin-top:var(--spacing-2);font-size:var(--font-size-sm);color:var(--zinc-400);text-decoration:none}.notification-action:hover{color:var(--zinc-50);text-decoration:underline}.sidebar-collapsed .notifications-trigger{justify-content:center;padding:var(--spacing-2)}.sidebar-collapsed .notifications-trigger:hover{transform:none}.sidebar-collapsed .notifications-trigger .nav-label{display:none}.sidebar-collapsed .notifications-badge{position:absolute;top:2px;right:2px;min-width:14px;height:14px;padding:0 3px;font-size:9px;margin-left:0}@media(max-width: 640px){.notifications-overlay{padding-top:0;align-items:flex-end}.notifications-modal{max-width:100%;max-height:85vh;border-radius:var(--radius-xl) var(--radius-xl) 0 0;border-bottom:none}}.baz-trigger{position:fixed;bottom:var(--spacing-6);right:var(--spacing-6);width:60px;height:60px;background:var(--color-minor);border:none;border-radius:50%;box-shadow:var(--shadow-lg);cursor:pointer;z-index:999;transition:all var(--transition);display:flex;align-items:center;justify-content:center}.baz-trigger:hover{transform:scale(1.05);box-shadow:var(--shadow-xl);background:linear-gradient(135deg, var(--color-minor-dark), var(--color-minor-light))}.baz-trigger:active{transform:scale(0.98)}.baz-avatar{width:36px;height:36px;display:flex;align-items:center;justify-content:center}.baz-character{display:flex;align-items:center;justify-content:center}.baz-emoji{font-size:28px;line-height:1}.baz-robot-icon{width:32px;height:32px}.baz-robot-head{fill:var(--zinc-200)}.baz-robot-accent{fill:var(--zinc-600)}.baz-robot-eyes{fill:var(--zinc-700)}.baz-robot-mouth{fill:var(--zinc-500)}.baz-header .baz-robot-head{fill:var(--zinc-500)}.baz-header .baz-robot-accent{fill:var(--zinc-850)}.baz-header .baz-robot-eyes{fill:var(--zinc-900)}.baz-header .baz-robot-mouth{fill:var(--zinc-850)}.baz-character-text{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.baz-name{font-size:var(--font-size-xs);font-weight:700;color:var(--zinc-900)}.baz-chat-icon{width:36px;height:36px}.baz-bubble-back{fill:#fff}.baz-bubble-front{fill:#fff;stroke:#32322d;stroke-width:2}.baz-badge{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 6px;background:#ef4444;color:#fff;font-size:11px;font-weight:600;border-radius:10px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px rgba(0,0,0,.2)}.baz-badge-hidden{display:none}.baz-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:flex-end;justify-content:flex-end;padding:var(--spacing-6);opacity:0;pointer-events:none;transition:opacity var(--transition)}.baz-overlay.open{opacity:1;pointer-events:auto}.baz-panel{background:var(--zinc-800);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:400px;height:600px;max-height:80vh;display:flex;flex-direction:column;border:1px solid var(--zinc-700);overflow:hidden;transform:translateY(20px) translateX(20px) scale(0.95);transition:transform .2s ease-out}.open .baz-panel{transform:translateY(0) translateX(0) scale(1)}.baz-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-4);background:var(--zinc-700);border-bottom:1px solid var(--zinc-600)}.baz-header-left{display:flex;align-items:center;gap:var(--spacing-3)}.baz-header-avatar{width:32px;height:32px;display:flex;align-items:center;justify-content:center}.baz-header-avatar .baz-emoji{font-size:24px}.baz-title{margin:0;font-size:var(--font-size-lg);font-weight:600;color:var(--zinc-600)}.baz-subtitle{margin:0;font-size:var(--font-size-xs);color:var(--zinc-400)}.baz-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:none;border:none;border-radius:var(--radius);color:var(--zinc-400);cursor:pointer;transition:all var(--transition-fast)}.baz-close:hover{background:var(--zinc-600);color:var(--zinc-50)}.baz-content{flex:1;overflow:hidden;display:flex;flex-direction:column}.baz-view{display:flex;flex-direction:column;height:100%}.baz-view-header{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-4);border-bottom:1px solid var(--zinc-700);background:var(--zinc-800)}.baz-view-header h4{margin:0;font-size:var(--font-size-base);font-weight:600;flex:1;color:var(--zinc-50)}.baz-back-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:none;border:none;border-radius:var(--radius);color:var(--zinc-400);cursor:pointer;transition:all var(--transition-fast)}.baz-back-btn:hover{background:var(--zinc-600);color:var(--zinc-50)}.baz-btn-new{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);background:var(--zinc-600);border:none;border-radius:var(--radius);color:var(--zinc-900);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.baz-btn-new:hover{background:var(--zinc-500);transform:translateY(-1px)}.baz-tickets-list{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--spacing-2) 0;min-height:0;-webkit-overflow-scrolling:touch}.baz-tickets-list::-webkit-scrollbar{width:6px}.baz-tickets-list::-webkit-scrollbar-track{background:rgba(0,0,0,0)}.baz-tickets-list::-webkit-scrollbar-thumb{background:var(--zinc-600);border-radius:3px}.baz-tickets-list::-webkit-scrollbar-thumb:hover{background:var(--zinc-500)}.baz-ticket-item{padding:var(--spacing-4);border-bottom:1px solid var(--zinc-700);cursor:pointer;transition:all var(--transition-fast)}.baz-ticket-item:hover{background:var(--zinc-700)}.baz-ticket-item:last-child{border-bottom:none}.baz-ticket-unread{background:var(--zinc-700)}.baz-ticket-unread .baz-ticket-title{font-weight:700;color:var(--zinc-50)}.baz-ticket-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-2);margin-bottom:var(--spacing-2)}.baz-ticket-header-left{display:flex;align-items:center;gap:var(--spacing-2);flex:1;min-width:0}.baz-ticket-header-right{display:flex;align-items:center;gap:var(--spacing-2);flex-shrink:0}.baz-ticket-type{display:inline-block;padding:2px 8px;background:var(--zinc-600);color:var(--zinc-300);font-size:var(--font-size-xs);font-weight:500;border-radius:var(--radius-sm)}.baz-ticket-status{display:inline-block;padding:2px 8px;font-size:var(--font-size-xs);font-weight:500;border-radius:var(--radius-sm)}.baz-ticket-status.status-open{background:rgba(59,130,246,.1);color:#1e40af}.baz-ticket-status.status-waiting_admin{background:rgba(251,191,36,.1);color:#92400e}.baz-ticket-status.status-waiting_user{background:rgba(168,85,247,.1);color:#6b21a8}.baz-ticket-status.status-pending_closure{background:rgba(249,115,22,.1);color:#9a3412}.baz-ticket-status.status-in_progress{background:rgba(251,191,36,.1);color:#92400e}.baz-ticket-status.status-resolved{background:rgba(34,197,94,.1);color:#16a34a}.baz-ticket-status.status-closed{background:var(--zinc-700);color:var(--zinc-100)}.baz-ticket-status.status-archived{background:var(--zinc-700);color:var(--zinc-100)}.baz-ticket-title{margin:0 0 var(--spacing-2);font-size:var(--font-size-sm);font-weight:600;color:var(--zinc-50);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.baz-ticket-preview{margin:0;font-size:var(--font-size-xs);color:var(--zinc-400);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.baz-ticket-date{font-size:var(--font-size-xs);color:var(--zinc-500);white-space:nowrap}.baz-ticket-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:#ef4444;color:#fff;font-size:10px;font-weight:600;border-radius:9px}.baz-ticket-delete-form{display:inline-flex;opacity:0;transition:opacity var(--transition-fast)}.baz-ticket-item:hover .baz-ticket-delete-form{opacity:1}.baz-ticket-delete{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:rgba(0,0,0,0);border:none;color:var(--zinc-400);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.baz-ticket-delete svg{width:14px;height:14px}.baz-ticket-delete:hover{background:rgba(39,39,42,.25);color:var(--zinc-800)}.baz-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-8) var(--spacing-4);color:var(--zinc-400);text-align:center}.baz-empty svg{margin-bottom:var(--spacing-3);opacity:.3}.baz-empty p{margin:var(--spacing-2) 0 0;font-size:var(--font-size-sm)}.baz-empty-hint{font-size:var(--font-size-xs);color:var(--zinc-500)}.baz-form{flex:1;display:flex;flex-direction:column;overflow:hidden}.baz-form-body{flex:1;overflow-y:auto;padding:var(--spacing-4)}.baz-form-actions{padding:var(--spacing-4);border-top:1px solid var(--zinc-700);background:var(--zinc-800)}.baz-conversation-view{height:100%}.baz-messages{flex:1;overflow-y:auto;padding:var(--spacing-4);display:flex;flex-direction:column;gap:var(--spacing-4)}.baz-message{display:flex;gap:var(--spacing-3);max-width:85%}.baz-message-user{align-self:flex-end;flex-direction:row-reverse}.baz-message-baz{align-self:flex-start}.baz-message-avatar{flex-shrink:0;width:32px;height:32px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center}.baz-message-user .baz-message-avatar{background:var(--zinc-600)}.baz-message-baz .baz-message-avatar{background:var(--zinc-600)}.baz-message-avatar .baz-emoji{font-size:20px}.user-initials{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:600;color:var(--zinc-50)}.baz-message-content{flex:1;min-width:0}.baz-message-header{display:flex;align-items:center;gap:var(--spacing-2);margin-bottom:var(--spacing-1)}.baz-message-sender{font-size:var(--font-size-xs);font-weight:600;color:var(--zinc-50)}.baz-message-time{font-size:var(--font-size-xs);color:var(--zinc-500)}.baz-message-body{padding:var(--spacing-3);background:var(--zinc-700);border-radius:var(--radius);font-size:var(--font-size-sm);line-height:1.5;color:var(--zinc-50);word-wrap:break-word}.baz-message-user .baz-message-body{background:rgba(82,82,91,.15);border:1px solid var(--zinc-600);color:var(--zinc-50)}.baz-message-baz .baz-message-body{background:var(--zinc-700);border:1px solid var(--zinc-600)}.baz-message-body p{margin:0}.baz-message-body p+p{margin-top:var(--spacing-2)}.baz-message-form{padding:var(--spacing-4);background:var(--zinc-800)}.baz-reply-form{display:flex;width:100%}.baz-input-container{position:relative;display:flex;flex-direction:column;gap:var(--spacing-2);width:100%;min-height:auto;padding:var(--spacing-2) var(--spacing-3);background:var(--zinc-700);border:1px solid var(--zinc-600);border-radius:var(--radius);transition:border-color var(--transition-fast)}.baz-input-container:focus-within{border-color:var(--zinc-600)}.baz-textarea{width:100%;min-height:24px;max-height:120px;padding:0;border:none;background:rgba(0,0,0,0);font-size:var(--font-size-sm);font-family:inherit;line-height:1.5;resize:none;overflow-y:auto;overflow-x:hidden;color:var(--zinc-50);word-wrap:break-word;overflow-wrap:break-word;white-space:pre-wrap}.baz-textarea::placeholder{color:var(--zinc-400)}.baz-textarea:focus{outline:none;background:rgba(0,0,0,0)}.baz-textarea::-webkit-scrollbar{width:4px}.baz-textarea::-webkit-scrollbar-thumb{background:var(--zinc-500);border-radius:2px}.baz-input-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-2)}.baz-input-left{display:flex;align-items:center;gap:var(--spacing-1)}.baz-input-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:rgba(0,0,0,0);border:none;color:var(--zinc-400);cursor:pointer;border-radius:50%;transition:all var(--transition-fast)}.baz-input-btn:hover{background:var(--zinc-600);color:var(--zinc-50)}.baz-input-btn .baz-nav-icon{width:16px;height:16px}.baz-send-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:rgba(0,0,0,0);border:none;color:var(--zinc-600);cursor:pointer;border-radius:50%;transition:all var(--transition-fast)}.baz-send-btn:hover{background:var(--zinc-600);color:var(--zinc-500)}.baz-send-btn .baz-nav-icon{width:16px;height:16px}.baz-reply-actions{display:flex;justify-content:flex-end}.baz-conversation-header{flex:1;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-3)}.baz-conversation-header h4{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.baz-tabs{display:flex;flex-direction:column;height:100%}.baz-tabs-nav{display:flex;gap:var(--spacing-1);padding:var(--spacing-3) var(--spacing-4);background:var(--zinc-800);border-bottom:1px solid var(--zinc-700)}.baz-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);background:rgba(0,0,0,0);border:none;border-radius:var(--radius);font-size:var(--font-size-sm);font-weight:500;color:var(--zinc-400);cursor:pointer;transition:all var(--transition-fast)}.baz-tab:hover{background:var(--zinc-700);color:var(--zinc-50)}.baz-tab.baz-tab-active{background:var(--zinc-600);color:var(--zinc-600);box-shadow:var(--shadow-sm);font-weight:600}.baz-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:#ef4444;color:#fff;font-size:10px;font-weight:600;border-radius:9px}.baz-tabs-content{flex:1;overflow:hidden;display:flex;flex-direction:column}.baz-tab-panel{display:none;flex:1;overflow:hidden;min-height:0}.baz-tab-panel.baz-tab-panel-active{display:flex;flex-direction:column}.baz-conversation-starter{display:flex;flex-direction:column;height:100%}.baz-conversation-starter-content{flex:1;padding:var(--spacing-8) var(--spacing-4);display:flex;flex-direction:column;gap:var(--spacing-5);align-items:center;justify-content:center;overflow-y:auto}.baz-hero-icon{width:60px;height:60px;display:flex;align-items:center;justify-content:center;margin-bottom:0}.baz-hero-icon svg{width:36px;height:36px;filter:drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1))}.baz-welcome-text{text-align:center;margin-bottom:var(--spacing-3)}.baz-welcome-text h3{font-size:1.25rem;font-weight:600;color:var(--zinc-50);margin:0 0 var(--spacing-2) 0}.baz-welcome-text p{font-size:var(--font-size-base);color:var(--zinc-400);margin:0}.baz-suggestions{display:flex;flex-direction:column;gap:var(--spacing-2);width:100%;max-width:340px}.baz-suggestion-btn{padding:var(--spacing-3) var(--spacing-4);background:var(--zinc-700);border:1px solid var(--zinc-600);border-radius:24px;font-size:var(--font-size-sm);font-weight:500;color:var(--zinc-50);cursor:pointer;transition:all var(--transition-fast);text-align:left;display:flex;align-items:center;gap:var(--spacing-2)}.baz-suggestion-btn:hover{background:var(--zinc-600);border-color:var(--zinc-600);transform:translateX(4px);box-shadow:0 2px 8px rgba(193,196,88,.15)}.baz-suggestion-btn:active{transform:translateX(2px)}.baz-nav-buttons{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;padding:0;margin-top:auto;background:var(--zinc-800);border-top:1px solid var(--zinc-700);flex-shrink:0;gap:0}.baz-nav-btn{display:flex;align-items:center;justify-content:center;padding:var(--spacing-3);background:rgba(0,0,0,0);border:none;cursor:pointer;transition:all var(--transition-fast);color:var(--zinc-400);border-radius:0}.baz-nav-btn:hover{color:var(--zinc-50);background:var(--zinc-700)}.baz-nav-btn:active{transform:scale(0.95)}.baz-nav-btn.active{background:var(--zinc-600);color:var(--zinc-600);box-shadow:inset 0 1px 2px rgba(0,0,0,.15)}.baz-nav-icon{width:20px;height:20px;stroke-width:1.5}.baz-nav-divider{width:1px;background:var(--zinc-700);margin:var(--spacing-1) 0}.baz-message-bubble{padding:0;background:rgba(0,0,0,0);border:none;font-size:var(--font-size-base);line-height:1.6;text-align:left;max-width:280px}.baz-message-bubble p{margin:0;color:var(--zinc-50)}.baz-message-bubble p+p{margin-top:var(--spacing-3)}.baz-closure-actions{display:flex;gap:var(--spacing-2);margin-top:var(--spacing-2)}.baz-closure-btn{flex:1;padding:var(--spacing-3);border:none;border-radius:var(--radius);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.baz-closure-btn.baz-closure-yes{background:#10b981;color:#fff}.baz-closure-btn.baz-closure-yes:hover{background:#059669;transform:translateY(-1px);box-shadow:0 4px 8px rgba(16,185,129,.3)}.baz-closure-btn.baz-closure-no{background:var(--zinc-600);color:var(--zinc-50)}.baz-closure-btn.baz-closure-no:hover{background:var(--zinc-500)}.baz-archived-notice{padding:var(--spacing-4);background:var(--zinc-700);border:1px solid var(--zinc-600);border-radius:var(--radius);text-align:center;margin:var(--spacing-3)}.baz-archived-notice p{margin:0;font-size:var(--font-size-sm);color:var(--zinc-400)}.baz-archived-notice p:first-child{font-weight:600;color:var(--zinc-50);margin-bottom:var(--spacing-2)}.baz-archived-input{opacity:.5;pointer-events:none}.admin-flex-between{display:flex;align-items:center;justify-content:space-between}@media(max-width: 640px){.baz-trigger{bottom:var(--spacing-4);right:var(--spacing-4);width:56px;height:56px}.baz-overlay{padding:0;align-items:flex-end;justify-content:stretch}.baz-panel{max-width:100%;max-height:90vh;border-radius:var(--radius-xl) var(--radius-xl) 0 0}.baz-type-buttons{max-width:100%}}.baz-file-input{display:none !important}.baz-image-preview-container{margin:var(--spacing-2) 0;border-radius:var(--radius-lg);overflow:hidden}.baz-image-preview{position:relative;display:inline-block;max-width:100%}.baz-image-preview img{max-width:100%;max-height:300px;border-radius:var(--radius-lg);display:block;object-fit:contain;background:var(--zinc-700)}.baz-image-preview .baz-image-remove{position:absolute;top:var(--spacing-2);right:var(--spacing-2);background:rgba(0,0,0,.7);color:#fff;border:none;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition);padding:0}.baz-image-preview .baz-image-remove:hover{background:rgba(255,0,0,.8);transform:scale(1.1)}.baz-image-preview .baz-image-remove svg{width:16px;height:16px;stroke-width:2.5}.baz-image-error{margin:var(--spacing-2) 0;padding:var(--spacing-2) var(--spacing-3);background:rgba(39,39,42,.25);color:var(--zinc-800);border:1px solid var(--zinc-800);border-radius:var(--radius-md);font-size:13px;font-weight:500;animation:slideDown .3s ease-out}.baz-message-image{margin-top:var(--spacing-2);border-radius:var(--radius-lg);overflow:hidden}.baz-message-image .baz-message-img{max-width:100%;max-height:400px;display:block;border-radius:var(--radius-lg);object-fit:contain;cursor:pointer;transition:transform var(--transition)}.baz-message-image .baz-message-img:hover{transform:scale(1.02)}@keyframes slideDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.pagination{display:flex;align-items:center;justify-content:center;margin:0;padding:var(--spacing-3) var(--spacing-6);font-size:var(--font-size-sm);flex-shrink:0;position:relative}.pagination-info{position:absolute;left:var(--spacing-6);color:var(--zinc-400);font-size:var(--font-size-xs)}.pagination-nav{display:flex;align-items:center;gap:var(--spacing-1)}.pagination-link,.pagination-current,.pagination-gap{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 var(--spacing-2);border-radius:var(--radius);font-size:var(--font-size-sm);font-weight:500;text-decoration:none;transition:var(--transition-fast)}.pagination-link{color:var(--zinc-400);background:rgba(0,0,0,0);border:1px solid rgba(0,0,0,0)}.pagination-link:hover{background:var(--zinc-700);color:var(--zinc-100)}.pagination-current{background:var(--zinc-600);color:#1a1a1a;border:1px solid var(--zinc-600)}.pagination-gap{color:var(--zinc-400);cursor:default}.pagination-prev,.pagination-next{padding:0 var(--spacing-3)}.pagination-prev svg,.pagination-next svg{width:16px;height:16px}.pagination-disabled{opacity:.4;pointer-events:none}.calendar-legend{display:flex;align-items:center;gap:var(--spacing-4);font-size:var(--font-size-xs);color:var(--zinc-400)}.calendar-legend__item{display:flex;flex-direction:row-reverse;align-items:center;gap:var(--spacing-2)}.calendar-legend__color{width:12px;height:12px;border-radius:var(--radius-sm);flex-shrink:0;background-color:var(--zinc-700)}.calendar-legend__color--weekend{background:var(--zinc-800)}.calendar-legend__color--today{border-left:3px solid var(--zinc-600)}.calendar-legend__color--holiday{background:repeating-linear-gradient(45deg, var(--zinc-800), var(--zinc-800) 3px, var(--zinc-700) 3px, var(--zinc-700) 6px)}.calendar-legend__color--closure{background:repeating-linear-gradient(45deg, rgba(248, 113, 113, 0.15), rgba(248, 113, 113, 0.15) 3px, rgba(248, 113, 113, 0.25) 3px, rgba(248, 113, 113, 0.25) 6px)}.calendar-legend__color--assignment{background-color:var(--zinc-800);background-image:radial-gradient(circle at 3px 3px, var(--zinc-600) 1.5px, transparent 1.5px),radial-gradient(circle at 9px 9px, var(--zinc-500) 1.5px, transparent 1.5px);background-size:12px 12px}.calendar-legend__color--no-assignment{background:var(--zinc-700)}.calendar-legend__label{white-space:nowrap;font-weight:500;color:var(--zinc-300)}.gantt-fixed-column{flex-shrink:0;width:200px;background:var(--zinc-850);border-right:2px solid var(--zinc-600);z-index:10}.gantt-fixed-header{padding:var(--spacing-3);border-bottom:2px solid var(--zinc-600);background:var(--zinc-850);font-weight:500;color:var(--zinc-300);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.03em;height:60px;display:flex;flex-direction:column;justify-content:center;gap:var(--spacing-1)}.gantt-footer{display:flex;align-items:center;justify-content:center;width:100%;height:36px;min-height:36px;flex-shrink:0;border-top:1px solid var(--zinc-700);background:var(--zinc-850)}.gantt-footer-fixed{width:200px;min-width:200px;flex-shrink:0}.gantt-footer-content{display:flex;align-items:center;gap:var(--spacing-4);padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-xs);color:var(--zinc-400)}.gantt-row,.gantt-fixed-row{display:flex;align-items:center;box-sizing:border-box;flex-shrink:0}.site-name{font-weight:500;color:var(--zinc-300);font-size:var(--font-size-xs);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-name:hover{color:var(--zinc-600)}.assignment{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);padding:2px 4px;font-size:9px;font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,.15);background:var(--tag-bg);color:var(--tag-color)}.text-light.assignment{color:#fff}.text-dark.assignment{color:#1f2937}.gantt-dates{border-bottom:2px solid var(--zinc-600);background:var(--zinc-850);height:60px}.planning-header-compact{display:flex;flex-direction:column;gap:0;flex-shrink:0}.planning-tabs{display:flex;gap:0;border-bottom:1px solid var(--zinc-600);background:var(--zinc-800);padding:var(--spacing-8) var(--spacing-4) 0}.planning-tab{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-sm);font-weight:500;color:var(--zinc-400);text-decoration:none;border-bottom:3px solid rgba(0,0,0,0);transition:var(--transition);white-space:nowrap;position:relative;margin-bottom:-1px}.planning-tab:hover{color:var(--zinc-100);text-decoration:none}.planning-tab.active{color:var(--zinc-900);border-bottom-color:var(--zinc-500);background:var(--zinc-500);font-weight:600}.planning-tab.active .planning-tab__number{background:var(--zinc-900);color:var(--zinc-500)}.planning-tab__number{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;background:var(--zinc-700);color:var(--zinc-400);border-radius:50%;font-size:11px;font-weight:600;flex-shrink:0}.planning-controls{display:flex;align-items:center;gap:var(--spacing-4);padding:var(--spacing-8) var(--spacing-6)}.planning-controls .date-nav,.planning-controls .month-nav{display:flex;align-items:center}.planning-controls .date-nav{gap:0}.planning-controls .month-nav{gap:var(--spacing-2)}.planning-controls .date-label,.planning-controls .month-label{font-size:var(--font-size-sm);font-weight:400;color:var(--zinc-200);padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius);background:rgba(0,0,0,0);border:none;cursor:pointer;transition:var(--transition);display:inline-flex;align-items:center;gap:var(--spacing-1)}.planning-controls .date-label:hover,.planning-controls .month-label:hover{background:var(--zinc-700)}.planning-controls .date-label svg,.planning-controls .month-label svg{color:var(--zinc-400);flex-shrink:0}.planning-controls .view-toggle{display:flex;gap:var(--spacing-1);background:var(--zinc-850);padding:var(--spacing-1);border-radius:var(--radius-sm)}.planning-controls .timesheet-switch-btn{margin-right:0}.view-by-toggle{display:flex;align-items:center;gap:var(--spacing-3)}.view-by-label{font-size:var(--font-size-sm);font-weight:400;color:var(--zinc-400);text-transform:uppercase;letter-spacing:.03em}.view-by-option{display:flex;align-items:center;gap:var(--spacing-1);cursor:pointer;font-size:var(--font-size-sm);color:var(--zinc-100)}.view-by-option input[type=radio]{margin:0;cursor:pointer;accent-color:var(--zinc-600)}.view-by-option span{user-select:none}.planning-controls-left,.planning-controls-right{display:flex;align-items:center;gap:var(--spacing-3)}.planning-controls-right{margin-left:auto}.planning-page{display:flex;flex-direction:column;overflow:hidden;width:100%;box-sizing:border-box;flex:1 1 0;min-height:0}.planning-container{flex:1 1 0;height:100%;max-height:100%;overflow:hidden;display:flex;flex-direction:column;min-height:0}.planning-container>[data-controller=planning],.planning-container>[data-controller=planning-salarie]{flex:1 1 0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.planning-nav{display:flex;gap:var(--spacing-2)}.planning-days-row{display:flex;width:100%}.planning-day-header{flex:1;min-width:60px;padding:var(--spacing-2) var(--spacing-1);text-align:center;font-size:var(--font-size-xs);border-right:1px solid var(--zinc-800);display:flex;flex-direction:column;gap:2px;box-sizing:border-box;background:var(--zinc-850)}.planning-day-header .day-name{color:var(--zinc-400);text-transform:uppercase;font-size:9px;font-weight:500}.planning-day-header .day-num{font-weight:600;color:var(--zinc-50)}.planning-day-header .month-name{font-size:9px;color:#ff9b58;font-weight:600;text-transform:lowercase}.planning-day-header .month-name.month-faded{color:var(--zinc-500);font-weight:500}.planning-day-cell{flex:1;min-width:60px;padding:var(--spacing-1);border-right:1px solid var(--zinc-800);display:flex;align-items:center;justify-content:center;box-sizing:border-box;background:var(--zinc-850)}.planning-day-header.planning-day--weekend,.planning-day-cell.planning-cell--weekend{background:var(--zinc-800);flex:.4;min-width:30px}.planning-day-header.planning-day--weekend .day-name,.planning-day-header.planning-day--weekend .day-num{color:var(--zinc-500)}.planning-day-header.planning-day--today,.planning-day-cell.planning-cell--today{position:relative}.planning-day-header.planning-day--today::before,.planning-day-cell.planning-cell--today::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--color-minor);z-index:1}.planning-day-header.planning-day--today .day-name,.planning-day-header.planning-day--today .day-num{color:var(--zinc-50);font-weight:600}.planning-day-header.planning-day--holiday,.planning-day-cell.planning-cell--holiday{background:repeating-linear-gradient(45deg, var(--zinc-800), var(--zinc-800) 3px, var(--zinc-700) 3px, var(--zinc-700) 6px)}.planning-day-header.planning-day--closure,.planning-day-cell.planning-cell--closure{background:repeating-linear-gradient(45deg, rgba(248, 113, 113, 0.15), rgba(248, 113, 113, 0.15) 3px, rgba(248, 113, 113, 0.25) 3px, rgba(248, 113, 113, 0.25) 6px)}.planning-day-cell.planning-cell--non-working,.gantt-cell.planning-cell--non-working{cursor:default;pointer-events:none}.planning-day-cell.planning-cell--outside-dates,.gantt-cell.planning-cell--outside-dates{position:relative;cursor:not-allowed;pointer-events:none}.planning-day-cell.planning-cell--outside-dates::after,.gantt-cell.planning-cell--outside-dates::after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom right, transparent calc(50% - 0.5px), var(--zinc-600) calc(50% - 0.5px), var(--zinc-600) calc(50% + 0.5px), transparent calc(50% + 0.5px))}.holiday-hidden.planning-day--holiday,.holiday-hidden.planning-cell--holiday,.closure-hidden.planning-day--closure,.closure-hidden.planning-cell--closure{background:rgba(0,0,0,0) !important}.gantt-wrapper{border:1px solid var(--zinc-600);overflow:hidden;flex:0 1 auto;display:grid;grid-template-columns:200px 1fr;grid-template-rows:max-content 36px}.gantt-fixed-column{display:flex;flex-direction:column}.gantt-header-title,.staff-header-title{font-weight:600}.gantt-header-filter,.staff-header-filter{display:flex;align-items:center;gap:var(--spacing-1)}.staff-header-filter{gap:var(--spacing-2);text-transform:none}.gantt-fixed-body{flex:0 1 auto;overflow-y:auto}.gantt-fixed-row{padding:var(--spacing-2) var(--spacing-3);min-height:36px;transition:background var(--transition-fast);border-bottom:1px solid var(--zinc-800)}.gantt-fixed-row:last-child{border-bottom:none}.gantt-fixed-row:hover{background:var(--zinc-800)}.gantt-row-locate,.gantt-row-locate-nav{display:flex;align-items:center;justify-content:center;padding:4px;border:none;background:rgba(0,0,0,0);cursor:pointer;color:var(--zinc-400);transition:color var(--transition-fast);flex-shrink:0;text-decoration:none}.gantt-row-locate:hover,.gantt-row-locate-nav:hover{color:var(--zinc-50)}.gantt-scrollable{flex:0 1 auto;overflow:hidden;display:flex;flex-direction:column}.gantt{display:flex;flex-direction:column;width:100%;flex:1;min-height:0}.gantt-header{display:flex;border-bottom:2px solid var(--zinc-600);background:var(--zinc-850);height:60px}.gantt-body{flex:0 1 auto;overflow-y:auto}.gantt-row{align-items:stretch}.gantt-row .planning-days-row{align-items:stretch}.gantt-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-6) var(--spacing-4);text-align:center;min-height:144px}.gantt-empty-message{color:var(--zinc-50);font-size:1.1rem;font-weight:600;margin-bottom:var(--spacing-3);max-width:700px}.gantt-empty-hint{color:var(--zinc-400);font-size:.95rem;max-width:700px;line-height:1.6}.site-name{text-transform:uppercase}.site-ref{font-size:var(--font-size-xs);color:var(--zinc-300);background:var(--zinc-700);padding:2px 4px;border-radius:var(--radius-sm)}.site-color-square{display:inline-block;width:14px;height:14px;border-radius:var(--radius-sm);margin-right:var(--spacing-2);flex-shrink:0;box-shadow:0 1px 2px rgba(0,0,0,.3)}.gantt-cell{min-height:36px;cursor:pointer;flex-wrap:nowrap;align-content:center;align-items:center;justify-content:flex-start;gap:0;transition:background var(--transition-fast);border-bottom:1px solid var(--zinc-800)}.gantt-cell>[data-assignment-id]{margin-left:-8px}.gantt-cell>[data-assignment-id]:first-child{margin-left:0}.gantt-row:last-child .gantt-cell{border-bottom:none}.gantt-cell:hover{background:var(--zinc-800)}.gantt-cell.planning-cell--non-working:hover{background:inherit}.gantt-footer{grid-column:1/-1}.gantt-footer-content .legend-color{width:12px;height:12px;margin-right:var(--spacing-1)}.assignment{justify-content:space-between}.assignment-initials{text-transform:uppercase}.status-indicator{width:10px;height:10px;border-radius:50%;flex-shrink:0}.status-indicator.status-available{border:2px solid var(--zinc-500);background:rgba(0,0,0,0)}.status-indicator.status-assigned{background:var(--zinc-400);border:none}.status-indicator.status-unavailable{width:auto;height:auto;border-radius:0;font-size:16px;font-weight:400;color:var(--zinc-500);line-height:1}.planning-legend{background:var(--zinc-800);border-radius:var(--radius-xl);box-shadow:var(--shadow);padding:var(--spacing-4) var(--spacing-6);margin-bottom:var(--spacing-6);border:1px solid rgba(0,0,0,.04)}.planning-legend h3{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.03em;color:var(--zinc-400);margin-bottom:var(--spacing-3)}.legend-items{display:flex;gap:var(--spacing-8);flex-wrap:wrap}.legend-section{display:flex;flex-direction:column;gap:var(--spacing-2)}.legend-title{font-size:var(--font-size-xs);font-weight:600;color:var(--zinc-400);text-transform:uppercase;letter-spacing:.03em}.legend-item{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-sm)}.employee-availability-grid{display:grid;gap:var(--spacing-2)}.employee-row{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-2) var(--spacing-3);background:var(--zinc-800);border-radius:var(--radius);transition:background var(--transition-fast)}.employee-row:hover{background:var(--zinc-700)}.employee-name{font-weight:500;font-size:var(--font-size-sm)}.gantt-container{overflow-x:auto;padding:var(--spacing-4);min-height:300px}.gantt-controls{display:flex;gap:var(--spacing-4);align-items:center;margin-bottom:var(--spacing-4);padding:var(--spacing-3) var(--spacing-4);border-bottom:1px solid var(--zinc-700)}.gantt-controls label{font-size:var(--font-size-sm);color:var(--zinc-400)}.gantt-controls select{padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--zinc-700);border-radius:var(--radius);background:var(--zinc-800);font-size:var(--font-size-base)}.gantt .bar,.gantt .bar-progress{border-radius:var(--radius)}.gantt-bar-todo .bar{fill:var(--zinc-400)}.gantt-bar-in_progress .bar{fill:var(--zinc-600)}.gantt-bar-done .bar{fill:var(--zinc-500)}.gantt-popup{padding:var(--spacing-3);background:var(--zinc-800);border-radius:var(--radius);box-shadow:var(--shadow-lg);border:1px solid var(--zinc-700)}.gantt-popup h4{margin:0 0 var(--spacing-2);font-size:var(--font-size-base);font-weight:600}.gantt-popup p{margin:0;font-size:var(--font-size-sm);color:var(--zinc-400)}.gantt-popup-dates{margin-bottom:var(--spacing-1)}:has(.sidebar-collapsed) .gantt-fixed-column{width:80px}:has(.sidebar-collapsed) .gantt-fixed-header{padding:var(--spacing-2)}:has(.sidebar-collapsed) .gantt-header-title{font-size:9px}:has(.sidebar-collapsed) .gantt-header-filter{flex-direction:column;align-items:flex-start;gap:2px}:has(.sidebar-collapsed) .gantt-header-filter .select-filter{width:100%;font-size:var(--font-size-base);padding:var(--spacing-1)}:has(.sidebar-collapsed) .gantt-header-filter .th-filter-count{font-size:9px}:has(.sidebar-collapsed) .gantt-fixed-row{padding:var(--spacing-2)}:has(.sidebar-collapsed) .gantt-fixed-row .site-name{display:none}:has(.sidebar-collapsed) .gantt-fixed-row .site-ref{font-weight:600;color:var(--zinc-100);font-size:var(--font-size-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%}:has(.sidebar-collapsed) .gantt-footer-fixed{width:80px}.date-label--clickable{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-1) var(--spacing-3);background:rgba(0,0,0,0);border:none;font-size:var(--font-size-sm);font-weight:600;color:var(--zinc-100);cursor:pointer;border-radius:var(--radius);transition:var(--transition)}.date-label--clickable:hover{background:var(--zinc-700)}.date-label--clickable svg{color:var(--zinc-400)}.date-picker-input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}#assign-modal .modal-content,#assign-salarie-modal .modal-content{overflow:visible}#assign-modal .modal-body,#assign-salarie-modal .modal-body{overflow:visible;min-height:200px}.selected-count{font-weight:400;color:var(--zinc-400);font-size:var(--font-size-xs)}.dropdown-item--assigned{opacity:.6}.dropdown-item--assigned:hover{opacity:.85}.dropdown-item--disabled,.dropdown-item--already-assigned{opacity:.4;cursor:not-allowed;pointer-events:none}.employee-checkbox{appearance:none;-webkit-appearance:none;width:14px;height:14px;flex-shrink:0;cursor:pointer;margin:0;margin-right:6px;align-self:center;vertical-align:middle;border:1.5px solid var(--zinc-500);border-radius:2px;background:rgba(0,0,0,0);position:relative}.employee-checkbox:checked{background:rgba(0,0,0,0);border-color:var(--zinc-500)}.employee-checkbox:checked:hover{background:rgba(0,0,0,0);border-color:var(--zinc-400)}.employee-checkbox:checked::after{content:"";position:absolute;left:2px;top:0px;width:4px;height:7px;border:solid var(--zinc-300);border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}.employee-checkbox:disabled{cursor:not-allowed;opacity:.5}.dropdown-item:has(.employee-checkbox:checked) .dropdown-item-primary{color:#fff}.gantt-cell-help{font-size:9px;color:var(--zinc-400);font-style:italic;pointer-events:none;text-align:center;width:100%;line-height:1.2;display:flex;align-items:center;justify-content:center;height:100%}.gantt-header--with-weather{height:120px;min-height:120px;border-bottom:2px solid var(--zinc-600)}.gantt-header--with-weather .gantt-dates{height:120px;min-height:120px}.gantt-header--with-weather .planning-day-header{height:120px;min-height:120px;padding:var(--spacing-2) var(--spacing-1);gap:2px;justify-content:flex-start;border-right:1px solid var(--zinc-800);border-bottom:2px solid var(--zinc-600)}.planning-day--warning{background:rgba(245,158,11,.15) !important}.planning-day--alert{background:rgba(220,38,38,.15) !important}.planning-weather{display:flex;flex-direction:column;align-items:center;gap:2px;margin-top:auto}.planning-weather-icon{display:flex;align-items:center;justify-content:center}.planning-weather-icon svg{width:18px;height:18px}.planning-weather-details{display:flex;flex-direction:column;align-items:center;gap:0}.planning-weather-temps{display:flex;align-items:center;gap:2px;font-size:9px;color:var(--zinc-300)}.planning-weather-temp{font-weight:500}.planning-weather-temp--pm{color:var(--zinc-400)}.planning-weather-temp-separator{color:var(--zinc-500);font-size:8px}.planning-weather-precip{display:flex;align-items:center;gap:2px;font-size:9px;color:var(--zinc-400)}.planning-weather-precip-icon{color:#60a5fa;flex-shrink:0}.gantt-wrapper:has(.gantt-header--with-weather) .gantt-fixed-header{height:120px;min-height:120px;justify-content:flex-start;padding-top:var(--spacing-3);border-bottom:2px solid var(--zinc-600)}.gantt-wrapper--salarie{grid-template-columns:220px 1fr}.gantt-wrapper--salarie .gantt-fixed-column{width:220px}.gantt-wrapper--salarie .gantt-fixed-row{padding:var(--spacing-2) var(--spacing-3);min-height:36px}.gantt-wrapper--salarie .gantt-cell{justify-content:flex-start;align-items:center;align-content:center}.gantt-wrapper--salarie .planning-day-cell.gantt-cell{min-width:0;overflow:hidden}.gantt-wrapper--salarie .gantt-footer-fixed{width:220px;min-width:220px}.gantt-wrapper--salarie .gantt-footer{border-top:none}.employee-name-link{display:flex;align-items:center;gap:var(--spacing-2);text-decoration:none;color:var(--zinc-300);transition:color var(--transition-fast)}.employee-name-link:hover{color:var(--zinc-600)}.employee-fullname{font-weight:500;font-size:var(--font-size-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.planning-cell--not-employed{background:var(--zinc-800);cursor:default;pointer-events:none}.planning-cell--absence{cursor:default;pointer-events:none;position:relative}.planning-cell--absence::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom right, transparent calc(50% - 0.5px), var(--zinc-500) calc(50% - 0.5px), var(--zinc-500) calc(50% + 0.5px), transparent calc(50% + 0.5px))}.planning-cell--absence .status-unavailable{display:none}.site-assignment-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;background:var(--zinc-600);color:var(--zinc-900);font-size:10px;font-weight:700;border-radius:var(--radius-sm)}.site-name-compact{display:flex;align-items:center;gap:var(--spacing-2);text-decoration:none;color:var(--zinc-300);font-size:var(--font-size-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-name-compact:hover{color:var(--zinc-600)}.site-name-compact .site-ref{flex-shrink:0}.site-name-compact .site-name-text{text-transform:uppercase;overflow:hidden;text-overflow:ellipsis}.gcm-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-3) var(--spacing-4);background:var(--zinc-800);border-bottom:1px solid var(--zinc-700);flex-shrink:0}.gcm-header__left{display:flex;align-items:center;gap:var(--spacing-3);flex-shrink:0}.gcm-header__right{display:flex;align-items:center;gap:var(--spacing-2);flex-shrink:1;min-width:0;overflow:hidden}.gantt-wrapper--taches{grid-template-columns:240px 1fr;grid-template-rows:auto auto;flex:0 0 auto}.gantt-wrapper--taches .gantt-fixed-column{width:240px}.gantt-wrapper--taches .gantt-fixed-body{flex:0 0 auto;overflow:visible}.gantt-wrapper--taches .gantt-scrollable{overflow:visible}.gantt-wrapper--taches .gantt{flex:0 0 auto}.gantt-wrapper--taches .gantt-body{flex:0 0 auto;overflow:visible}.gantt-wrapper--taches .gantt-fixed-header{display:flex;flex-direction:column;gap:var(--spacing-2);padding:var(--spacing-3);height:auto;min-height:60px}.gantt-wrapper--taches .gantt-header-filter{flex:1;min-width:0}.gantt-wrapper--taches .gantt-footer-fixed{width:240px;min-width:240px}.gantt-wrapper--taches .gantt-fixed-row{min-height:32px;padding:var(--spacing-2) var(--spacing-3)}.gantt-wrapper--taches .gantt-row{position:relative}.gantt-wrapper--taches .gantt-cell{min-height:32px}.taches-site-select{width:100%;padding:var(--spacing-2) var(--spacing-3);padding-right:var(--spacing-6);background:var(--zinc-800);border:1px solid var(--zinc-600);border-radius:var(--radius);color:var(--zinc-50);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:var(--transition);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.taches-site-select:hover{border-color:var(--zinc-500)}.taches-site-select:focus{outline:none;border-color:var(--zinc-600);box-shadow:0 0 0 2px color-mix(in srgb, var(--zinc-600) 20%, transparent)}.taches-site-select option{background:var(--zinc-800);color:var(--zinc-50);padding:var(--spacing-2)}.taches-site-link{display:inline-flex;align-items:center;gap:var(--spacing-1);font-size:var(--font-size-xs);color:var(--zinc-400);text-decoration:none;transition:color var(--transition-fast)}.taches-site-link:hover{color:var(--zinc-600)}.taches-site-link svg{flex-shrink:0}.taches-task-name{display:flex;align-items:center;gap:var(--spacing-2);flex:1;min-width:0;font-size:var(--font-size-xs);font-weight:500;color:var(--zinc-300);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.taches-task-name svg{flex-shrink:0;color:var(--zinc-500)}.taches-task-name.taches-task-name--done{color:var(--zinc-500);text-decoration:line-through}.taches-task-name.taches-task-name--done svg{color:var(--zinc-500)}.taches-task-name.taches-task-name--late svg{color:var(--zinc-800)}.gantt-fixed-row--task{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-2)}.gantt-fixed-row--empty{justify-content:center}.taches-empty-text{font-size:var(--font-size-xs);color:var(--zinc-500);font-style:italic}.gantt-row--empty{min-height:100px;display:flex;align-items:center;justify-content:center}.taches-empty-message{font-size:var(--font-size-sm);color:var(--zinc-500);text-align:center;padding:var(--spacing-4)}.taches-bar{position:absolute;top:50%;transform:translateY(-50%);height:20px;border-radius:var(--radius-sm);display:flex;align-items:center;padding:0 var(--spacing-2);overflow:hidden;cursor:pointer;transition:filter var(--transition-fast);z-index:5}.taches-bar:hover{filter:brightness(1.1)}.taches-bar.taches-bar--todo{background:var(--zinc-700);border:1px solid var(--zinc-600)}.taches-bar.taches-bar--todo .taches-bar__label{color:var(--zinc-300)}.taches-bar.taches-bar--in_progress{background:var(--zinc-600);border:1px solid var(--zinc-600)}.taches-bar.taches-bar--in_progress .taches-bar__label{color:var(--zinc-900)}.taches-bar.taches-bar--done{background:var(--zinc-500);border:1px solid color-mix(in srgb, var(--zinc-500) 80%, black);opacity:.8}.taches-bar.taches-bar--done .taches-bar__label{color:var(--zinc-900)}.taches-bar.taches-bar--late{background:var(--zinc-800);border:1px solid color-mix(in srgb, var(--zinc-800) 80%, black)}.taches-bar.taches-bar--late .taches-bar__label{color:#fff}.taches-bar__label{font-size:10px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;z-index:1}.taches-bar__progress{position:absolute;left:0;top:0;bottom:0;background:rgba(0,0,0,.15);border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.taches-cell--in-range{background:color-mix(in srgb, var(--zinc-600) 8%, transparent)}.gantt-wrapper--taches .planning-days-row{display:grid;grid-template-columns:repeat(5, 1fr) .5fr .5fr}.gantt-wrapper--taches .gantt-header--with-weather .planning-day-header{min-height:90px;flex-direction:column;justify-content:flex-start;padding:var(--spacing-2);gap:var(--spacing-1)}.gantt-wrapper--taches .planning-day-header{display:flex;flex-direction:column;align-items:center}.gantt-wrapper--taches .gantt-cell{min-height:32px}.gc-weather-icon{font-size:16px;line-height:1;color:var(--zinc-400)}.gc-weather-icon .weather-sun,.gc-weather-icon .weather-cloud,.gc-weather-icon .weather-cloud-light,.gc-weather-icon .weather-rain,.gc-weather-icon .weather-snow,.gc-weather-icon .weather-lightning{color:inherit}.gc-weather-icon svg{color:inherit}.gc-weather-details{display:flex;flex-direction:column;align-items:center;gap:1px}.gc-weather-temps{display:flex;align-items:center;gap:2px;font-size:10px;color:var(--zinc-300)}.gc-weather-temp{font-weight:600}.gc-weather-temp--pm{color:var(--zinc-400)}.gc-weather-temp-separator{color:var(--zinc-500)}.gc-weather-precip{display:flex;align-items:center;gap:2px;font-size:9px;color:var(--zinc-400)}.gc-weather-precip-icon{width:10px;height:10px;color:var(--zinc-500)}.gc-day--warning,.gc-day--alert{position:relative}.gc-day--warning::after,.gc-day--alert::after{content:"⚠";position:absolute;top:2px;right:2px;width:14px;height:14px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:8px;line-height:1;z-index:5}.gc-day--warning::after{background:rgba(245,158,11,.15);color:#f59e0b}.gc-day--warning .gc-weather-precip{color:var(--zinc-400)}.gc-day--alert::after{background:rgba(239,68,68,.15);color:#ef4444}.gc-day--alert .gc-weather-precip{color:var(--zinc-400)}.gantt-fixed-row--affectations{background:var(--zinc-850);border-bottom:1px solid var(--zinc-700)}.taches-affectations-label{font-size:var(--font-size-xs);font-weight:600;color:var(--zinc-400);text-transform:uppercase;letter-spacing:.5px}.gantt-row--affectations{background:var(--zinc-850);border-bottom:1px solid var(--zinc-700)}.gantt-cell--affectations{display:flex;flex-wrap:wrap;gap:2px;padding:var(--spacing-1);align-items:center;justify-content:center;min-height:32px}.taches-assignment{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--tag-bg, var(--zinc-600));color:var(--tag-color, var(--zinc-50));font-size:9px;font-weight:600;cursor:default;flex-shrink:0}.taches-assignment-initials{text-transform:uppercase}.taches-kanban{display:none;grid-template-columns:repeat(3, 1fr);gap:var(--spacing-4);margin-top:var(--spacing-4);flex:1;min-height:0;height:calc(100vh - 120px)}.taches-view--kanban .taches-kanban{display:grid}.taches-view--kanban .taches-chantier-container{display:none}.taches-kanban__column{background:var(--zinc-850);border:1px solid var(--zinc-700);border-radius:var(--radius-lg);display:flex;flex-direction:column;height:100%;overflow:hidden}.taches-kanban__header{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3);border-bottom:1px solid var(--zinc-700)}.taches-kanban__icon{width:18px;height:18px;flex-shrink:0;color:var(--zinc-400)}.taches-kanban__title{font-size:var(--font-size-sm);font-weight:600;color:var(--zinc-50);flex:1}.taches-kanban__count{font-size:var(--font-size-xs);font-weight:600;color:var(--zinc-400);background:var(--zinc-800);padding:2px 8px;border-radius:var(--radius-full)}.taches-kanban__add{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:50%;background:var(--zinc-600);color:var(--zinc-900);cursor:pointer;transition:all var(--transition-fast);margin-left:var(--spacing-1)}.taches-kanban__add svg{width:14px;height:14px}.taches-kanban__add:hover{background:var(--zinc-500);transform:scale(1.1)}.taches-kanban__add:active{transform:scale(0.95)}.taches-kanban__cards{flex:1 1 0;min-height:0;padding:var(--spacing-3);display:flex;flex-direction:column;gap:var(--spacing-2);overflow-y:auto;transition:background-color .2s ease}.taches-kanban__cards--drag-over{background:color-mix(in srgb, var(--zinc-600) 10%, var(--zinc-850));border-radius:var(--radius);outline:2px dashed var(--zinc-600);outline-offset:-2px}.taches-card{background:var(--zinc-800);border:1px solid var(--zinc-700);border-radius:var(--radius);padding:var(--spacing-3);cursor:pointer;transition:all var(--transition-fast)}.taches-card:hover{border-color:var(--zinc-600);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.3)}.taches-card.taches-card--late{border-left:3px solid var(--zinc-800)}.taches-card.taches-card--dragging{opacity:.5;transform:rotate(2deg);box-shadow:0 8px 24px rgba(0,0,0,.4)}.taches-card__badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px;margin-bottom:var(--spacing-2)}.taches-card__badges:empty{display:none}.taches-card__badge{font-size:8px;font-weight:600;padding:1px 4px;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.2px}.taches-card__badge.taches-card__badge--urgent{background:var(--zinc-800);color:#fff}.taches-card__badge.taches-card__badge--late{background:color-mix(in srgb, var(--zinc-800) 20%, transparent);color:var(--zinc-800);border:1px solid var(--zinc-800)}.taches-card__badge.taches-card__badge--no-dates{background:color-mix(in srgb, var(--zinc-600) 20%, transparent);color:var(--zinc-600);border:1px solid var(--zinc-600)}.taches-card__badge.taches-card__badge--no-assign{background:color-mix(in srgb, var(--zinc-600) 20%, transparent);color:var(--zinc-600);border:1px solid var(--zinc-600)}.taches-card__title{font-size:var(--font-size-sm);font-weight:500;color:var(--zinc-50);margin-bottom:var(--spacing-2);line-height:1.4}.taches-card__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-2);margin-top:var(--spacing-2)}.taches-card__dates{display:flex;align-items:center;gap:4px;font-size:var(--font-size-xs);color:var(--zinc-400)}.taches-card__dates svg{flex-shrink:0}.taches-card__dates.taches-card__dates--empty{color:var(--zinc-500);font-style:italic}.taches-card__assignees{display:flex;align-items:center;gap:-4px}.taches-card__assignees.taches-card__assignees--empty{gap:4px;font-size:var(--font-size-xs);color:var(--zinc-500);font-style:italic}.taches-card__assignees.taches-card__assignees--empty svg{flex-shrink:0}.taches-card__assignee{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--tag-bg, var(--zinc-600));color:var(--tag-color, var(--zinc-50));font-size:9px;font-weight:600;text-transform:uppercase;border:2px solid var(--zinc-800);margin-left:-6px}.taches-card__assignee:first-child{margin-left:0}.taches-card__assignee.taches-card__assignee--more{background:var(--zinc-700);color:var(--zinc-300);font-size:8px}.taches-card__progress{display:flex;align-items:center;gap:var(--spacing-2);margin-top:var(--spacing-2);padding-top:var(--spacing-2);border-top:1px solid var(--zinc-700)}.taches-card__progress-track{flex:1;height:4px;background:var(--zinc-700);border-radius:var(--radius-full);overflow:hidden}.taches-card__progress-bar{height:100%;background:var(--zinc-600);border-radius:var(--radius-full)}.taches-card__progress-text{font-size:10px;font-weight:600;color:var(--zinc-400);min-width:30px;text-align:right}.taches-card__completed{display:flex;align-items:center;gap:4px;font-size:var(--font-size-xs);color:var(--zinc-500);margin-top:var(--spacing-2);padding-top:var(--spacing-2);border-top:1px solid var(--zinc-700)}.taches-card__completed svg{flex-shrink:0}.taches-chantier-container{display:flex;flex-direction:column;gap:var(--spacing-4)}.taches-chantier-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-3) var(--spacing-4);background:var(--zinc-800);border:1px solid var(--zinc-600);border-radius:var(--radius-lg)}.taches-chantier-nav{display:flex;align-items:center;gap:var(--spacing-3)}.taches-chantier-nav-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius);color:var(--zinc-400);transition:all var(--transition-fast)}.taches-chantier-nav-btn:hover{background:var(--zinc-700);color:var(--zinc-100)}.taches-chantier-date{font-size:var(--font-size-base);font-weight:600;color:var(--zinc-100);min-width:200px;text-align:center}.taches-chantier-task-name{font-weight:500;color:var(--zinc-100)}.taches-chantier-active{background:#fffbeb}.taches-chantier-cell{display:flex;align-items:center;justify-content:center;min-height:28px}.taches-chantier-avatars{display:flex;flex-wrap:wrap;gap:2px;justify-content:center}.taches-chantier-empty{color:var(--zinc-400);font-size:var(--font-size-xs)}.employee-checkboxes{display:flex;flex-wrap:wrap;gap:var(--spacing-2)}.employee-checkbox{display:inline-flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-1) var(--spacing-2);border:1px solid var(--zinc-600);border-radius:var(--radius);cursor:pointer;transition:var(--transition-fast)}.employee-checkbox:hover{border-color:var(--zinc-500);background:var(--zinc-800)}.employee-checkbox:has(input:checked),.employee-checkbox--assigned{border-color:#dadd52;background:#f5f7d0}.employee-checkbox input[type=checkbox]{width:14px;height:14px;cursor:pointer;accent-color:#b5b842}.employee-checkbox__avatar{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;font-size:8px;font-weight:600;background:var(--bg, var(--zinc-600));color:var(--fg, var(--zinc-100));flex-shrink:0}.employee-checkbox__name{font-size:var(--font-size-xs);color:var(--zinc-100);white-space:nowrap}.employee-checkbox__remove{background:none;border:none;padding:2px;cursor:pointer;color:var(--zinc-400);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:var(--transition-fast);margin-left:auto}.employee-checkbox__remove:hover{background:rgba(39,39,42,.25);color:var(--zinc-800)}.employee-checkbox-item{display:inline-flex;align-items:center;gap:var(--spacing-1);cursor:pointer}.employee-checkbox-item input[type=checkbox]{width:14px;height:14px;cursor:pointer}.employee-checkbox-name{font-size:var(--font-size-xs);color:var(--zinc-100)}.form-static-value{padding:0;margin:var(--spacing-1) 0;font-size:var(--font-size-sm);color:var(--zinc-100)}.link-dotted{color:inherit;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px}.link-dotted:hover{text-decoration-style:solid}.progress-input-group{display:flex;align-items:center;gap:var(--spacing-3)}.progress-slider{flex:1;height:6px;-webkit-appearance:none;appearance:none;background:var(--zinc-600);border-radius:3px;cursor:pointer}.progress-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--zinc-600);cursor:pointer;border:2px solid var(--zinc-800);box-shadow:var(--shadow-sm)}.progress-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--zinc-600);cursor:pointer;border:2px solid var(--zinc-800);box-shadow:var(--shadow-sm)}.progress-value{font-size:var(--font-size-sm);font-weight:600;color:var(--zinc-100);min-width:40px;text-align:right}.modal-section{padding:var(--spacing-4) var(--spacing-5);border-top:1px solid var(--zinc-700)}.btn-link--danger{color:var(--zinc-400)}.btn-link--danger:hover{color:var(--zinc-800)}.assign-dropdown{background-color:var(--zinc-850);border:1px solid var(--zinc-600);border-radius:var(--radius);overflow:hidden;max-height:200px;overflow-y:auto}.assign-dropdown__group{border-bottom:1px solid var(--zinc-700)}.assign-dropdown__group:last-child{border-bottom:none}.assign-dropdown__group[open] .assign-dropdown__chevron{transform:rotate(180deg)}.assign-dropdown__header{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);background:var(--zinc-800);cursor:pointer;user-select:none;list-style:none}.assign-dropdown__header::-webkit-details-marker{display:none}.assign-dropdown__header:hover{background:var(--zinc-700)}.assign-dropdown__date{font-size:11px;font-weight:600;color:var(--zinc-400);text-transform:capitalize;flex:1}.assign-dropdown__badge{font-size:10px;font-weight:600;background:#a5a2a0;color:#3d3e14;padding:1px 6px;border-radius:10px}.assign-dropdown__chevron{color:var(--zinc-400);transition:transform .15s ease;flex-shrink:0}.assign-dropdown__list{padding:var(--spacing-1) 0}.assign-dropdown__item,.assign-dropdown label.assign-dropdown__item,.form-group .assign-dropdown__item,.assign-dropdown .form-group label.assign-dropdown__item{display:flex !important;flex-direction:row !important;flex-wrap:nowrap !important;align-items:center !important;gap:8px !important;padding:8px 12px !important;margin-bottom:0 !important;cursor:pointer;transition:var(--transition-fast)}.assign-dropdown__item:hover,.assign-dropdown label.assign-dropdown__item:hover,.form-group .assign-dropdown__item:hover,.assign-dropdown .form-group label.assign-dropdown__item:hover{background:var(--zinc-800)}.assign-dropdown__item input[type=checkbox],.assign-dropdown label.assign-dropdown__item input[type=checkbox],.form-group .assign-dropdown__item input[type=checkbox],.assign-dropdown .form-group label.assign-dropdown__item input[type=checkbox]{width:16px !important;height:16px !important;margin:0 !important;padding:0 !important;accent-color:#b5b842;cursor:pointer;flex:0 0 16px !important}.assign-dropdown__avatar{display:inline-flex !important;align-items:center;justify-content:center;width:24px !important;height:24px !important;border-radius:50%;font-size:10px;font-weight:600;background:var(--bg, var(--zinc-600));color:var(--fg, var(--zinc-100));flex:0 0 24px !important}.assign-dropdown__name{font-size:13px;color:var(--zinc-100);flex:1 1 auto !important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.assign-dropdown__empty{padding:var(--spacing-3);font-size:11px;color:var(--zinc-400);text-align:center}.assign-dropdown__empty p{margin:0}.todo-task--readonly{opacity:.85}.todo-task--readonly .todo-task-checkbox input[type=checkbox]:disabled{cursor:not-allowed}.task-period-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;background:var(--zinc-700);border-radius:var(--radius-sm);font-size:10px;color:var(--zinc-400);margin-left:var(--spacing-2)}.task-period-badge svg{flex-shrink:0}.period-employees-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-2)}.period-employees-summary{font-size:var(--font-size-xs);color:var(--zinc-400);font-weight:500}.period-employees-grid{display:flex;flex-direction:column;gap:var(--spacing-2);max-height:250px;overflow-y:auto;padding-right:var(--spacing-1)}.period-date-row{display:flex;flex-direction:column;gap:var(--spacing-1);padding:var(--spacing-2);background:var(--zinc-800);border-radius:var(--radius);border:1px solid var(--zinc-600);transition:opacity var(--transition-fast),background var(--transition-fast)}.period-date-label{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-2)}.period-date-text{font-size:var(--font-size-xs);font-weight:600;color:var(--zinc-100);text-transform:capitalize}.period-select-all{font-size:10px;color:#b45309;background:none;border:none;padding:2px 6px;cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.period-select-all:hover{background:#fef3c7}.period-date-employees{display:flex;flex-wrap:wrap;gap:var(--spacing-2)}.planning-gantt{width:100%;flex:1 1 0;min-height:0;overflow:hidden;display:flex;flex-direction:column;background:var(--zinc-850);scrollbar-width:auto;scrollbar-color:var(--zinc-600) var(--zinc-850)}.planning-gantt a{text-decoration:none}.planning-gantt a:hover{text-decoration:none}.planning-gantt:has(>.empty-state){background:none;border:none}.planning-gantt .gcm-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-2) var(--spacing-4);flex-shrink:0}.planning-gantt .gcm-header__left{display:flex;align-items:center;gap:var(--spacing-3);flex:1}.planning-gantt .gcm-header__title{font-size:var(--font-size-sm);font-weight:600;color:var(--zinc-100);margin:0;text-transform:uppercase;letter-spacing:.02em}.planning-gantt .gcm-header__count{font-size:var(--font-size-xs);font-weight:600;color:var(--zinc-400);padding:2px 8px;border-radius:var(--radius)}.planning-gantt .gcm-header__center{display:flex;align-items:center;justify-content:center;flex:1}.planning-gantt .gcm-header__right{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-2);flex:1}.planning-gantt .date-nav{display:flex;align-items:center;gap:4px}.planning-gantt .date-nav-today{padding:4px 12px;font-size:var(--font-size-sm);font-weight:500;color:var(--zinc-300);background:rgba(0,0,0,0);border:none;cursor:pointer;transition:color var(--transition-fast)}.planning-gantt .date-nav-today:hover{color:var(--zinc-50)}.planning-gantt .date-nav-label{display:flex;align-items:center;gap:6px;padding:4px 12px;font-size:var(--font-size-sm);font-weight:500;color:var(--zinc-50);background:rgba(0,0,0,0);border:none;cursor:pointer;transition:color var(--transition-fast)}.planning-gantt .date-nav-label:hover{color:var(--zinc-50)}.planning-gantt .date-nav-label svg{color:var(--zinc-500)}.planning-gantt .gcm-body__header-row{display:flex;flex-shrink:0;z-index:20;background:var(--zinc-800);overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none}.planning-gantt .gcm-body__header-row::-webkit-scrollbar{display:none}.planning-gantt .gcm-body__content-row{display:flex;flex:1 1 0;min-height:0;overflow-x:auto;overflow-y:auto;position:relative;scrollbar-width:auto;scrollbar-color:var(--zinc-600) var(--zinc-850)}.planning-gantt .gcm-sidebar__header{width:220px;min-width:220px;flex-shrink:0;display:flex;align-items:center;padding:var(--spacing-2) var(--spacing-3);font-size:10px;font-weight:600;color:var(--zinc-400);text-transform:uppercase;letter-spacing:.03em;gap:var(--spacing-2);background-color:var(--zinc-850);border:none !important;border-right:2px solid var(--zinc-600) !important;outline:none !important;box-shadow:none !important;position:sticky;left:0;z-index:10}.planning-gantt .gcm-sidebar__header .gcm-col{justify-content:flex-start}.planning-gantt .gcm-sidebar__toggle{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:rgba(0,0,0,0);color:var(--zinc-400);cursor:pointer;transition:var(--transition-fast);flex-shrink:0;margin-left:auto}.planning-gantt .gcm-sidebar__toggle:hover{color:var(--zinc-50)}.planning-gantt .gcm-sidebar__toggle .gcm-toggle-expand{display:none}.planning-gantt .gcm-col{font-size:10px;font-weight:600;color:var(--zinc-300);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.planning-gantt .gcm-col--task{flex:1;min-width:100px;font-size:var(--font-size-xs);font-weight:600;color:var(--zinc-400)}.planning-gantt .gcm-col--status{width:70px;min-width:70px}.planning-gantt .gcm-col--date{width:65px;min-width:65px}.planning-gantt .gcm-col--client{width:90px;min-width:90px}.planning-gantt .gcm-col--city{width:80px;min-width:80px}.planning-gantt .gcm-collapsible-col{display:none}.planning-gantt .gcm-site-status,.planning-gantt .gcm-site-date,.planning-gantt .gcm-site-client,.planning-gantt .gcm-site-city{font-size:11px;color:var(--zinc-400);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.planning-gantt .gcm-site-status{width:70px;min-width:70px;font-weight:500}.planning-gantt .gcm-site-date{width:65px;min-width:65px;font-family:var(--font-mono, monospace);font-size:10px}.planning-gantt .gcm-site-client{width:90px;min-width:90px}.planning-gantt .gcm-site-city{width:80px;min-width:80px}.planning-gantt .gcm-sidebar__content{width:220px;min-width:220px;flex-shrink:0;border-right:2px solid var(--zinc-600);background:repeating-linear-gradient(to bottom, var(--zinc-850) 0, var(--zinc-850) calc(36px - 1px), var(--zinc-800) calc(36px - 1px), var(--zinc-800) 36px);position:sticky;left:0;z-index:10}.planning-gantt .gcm-site-row{position:relative;display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);height:36px;min-height:36px;width:100%;box-sizing:border-box;transition:background var(--transition-fast);border-bottom:1px solid var(--zinc-700);flex-shrink:0}.planning-gantt .gcm-site-row:hover{background:var(--zinc-800)}.planning-gantt .gcm-site-row:hover .gcm-site-row__delete{opacity:1}.planning-gantt .gcm-site-row[data-has-assignments=false] .gcm-site-row__delete{opacity:1}.planning-gantt .gcm-site-row.deleting{opacity:.3;pointer-events:none;transition:opacity .15s ease-out}.planning-gantt .gcm-site-row__expand{display:flex;align-items:center;justify-content:center;padding:4px;border:none;background:rgba(0,0,0,0);cursor:pointer;color:var(--zinc-400);transition:color var(--transition-fast);flex-shrink:0}.planning-gantt .gcm-site-row__expand:hover{color:var(--zinc-50)}.planning-gantt .gcm-site-row__expand .gcm-expand-icon{transition:transform var(--transition-fast)}.planning-gantt .gcm-site-row--expanded{background:var(--zinc-800)}.planning-gantt .gcm-site-row--expanded .gcm-site-row__expand .gcm-expand-icon{transform:rotate(180deg)}.planning-gantt .gcm-site-row__delete{display:flex;align-items:center;justify-content:center;padding:4px;border:none;background:rgba(0,0,0,0);cursor:pointer;opacity:0;color:var(--zinc-400);transition:opacity var(--transition-fast),color var(--transition-fast);flex-shrink:0}.planning-gantt .gcm-site-row__delete:hover{color:#ef4444}.planning-gantt .gcm-site-row__error{position:absolute;left:0;top:100%;z-index:10;width:100%;padding:var(--spacing-2) var(--spacing-3);font-size:11px;font-weight:500;color:#fff;background:var(--zinc-800);box-shadow:var(--shadow-md)}.planning-gantt .gcm-site-row__error.hidden{display:none}.planning-gantt .gcm-employee-row{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-1) var(--spacing-3) var(--spacing-1) var(--spacing-6);height:28px;min-height:28px;width:100%;box-sizing:border-box;background:var(--zinc-850);border-bottom:1px solid var(--zinc-700);border-left:3px solid var(--site-color, var(--zinc-500));flex-shrink:0}.planning-gantt .gcm-employee-row.hidden{display:none}.planning-gantt .gcm-employee-name{font-size:11px;font-weight:400;color:var(--zinc-300);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.planning-gantt .gcm-assignment-bar{position:absolute;top:6px;bottom:6px;background:repeating-linear-gradient(-45deg, transparent, transparent 2px, rgba(255, 255, 255, 0.08) 2px, rgba(255, 255, 255, 0.08) 4px),color-mix(in srgb, var(--site-color, var(--zinc-500)) 40%, transparent);cursor:pointer;z-index:5;left:var(--segment-left, 0);width:var(--segment-width, 40px);border-radius:3px;transition:background var(--transition-fast),opacity var(--transition-fast)}.planning-gantt .gcm-assignment-bar:hover{background:color-mix(in srgb, var(--site-color, var(--zinc-500)) 60%, transparent)}.planning-gantt .gcm-assignment-bar::before,.planning-gantt .gcm-assignment-bar::after{content:"";position:absolute;top:0;bottom:0;width:8px;cursor:ew-resize;background:rgba(0,0,0,0);transition:background var(--transition-fast)}.planning-gantt .gcm-assignment-bar::before{left:0;border-left:2px solid rgba(0,0,0,0)}.planning-gantt .gcm-assignment-bar::after{right:0;border-right:2px solid rgba(0,0,0,0)}.planning-gantt .gcm-assignment-bar:hover::before{border-left-color:var(--site-color, var(--zinc-500))}.planning-gantt .gcm-assignment-bar:hover::after{border-right-color:var(--site-color, var(--zinc-500))}.planning-gantt .gcm-assignment-bar--resizing{background:color-mix(in srgb, var(--site-color, var(--zinc-500)) 50%, transparent)}.planning-gantt .gcm-assignment-bar.deleting{opacity:.3;pointer-events:none}.planning-gantt .gcm-site-name{flex:1;min-width:0;font-size:var(--font-size-xs);font-weight:500;color:var(--zinc-300);text-decoration:none;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color var(--transition-fast)}.planning-gantt .gcm-site-name:hover{color:var(--zinc-600)}.planning-gantt .gcm-site-client{font-size:11px;color:var(--zinc-300);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px;transition:width var(--transition),opacity var(--transition)}.planning-gantt .gcm-collapsible{transition:width var(--transition),opacity var(--transition),margin var(--transition);overflow:hidden}.planning-gantt .gcm-timeline__header-wrapper{width:var(--gantt-timeline-width);flex:0 0 auto;min-width:0;z-index:3;overflow:visible;background:none !important}.planning-gantt .gcm-timeline__super-header{display:flex;height:28px;border-bottom:1px solid var(--zinc-600);background:none !important}.planning-gantt .gcm-timeline__super-header--years{display:none}.planning-gantt .gcm-timeline__super-header--quarters{display:none}.planning-gantt .gcm-super-cell{display:flex;align-items:center;justify-content:flex-start;font-size:11px;font-weight:500;color:var(--zinc-400);border-right:1px solid var(--zinc-600);border-bottom:1px solid var(--zinc-500);flex-shrink:0;white-space:nowrap}.planning-gantt .gcm-super-cell--month{text-transform:capitalize;font-size:12px;font-weight:600;color:var(--zinc-100);letter-spacing:.01em}.planning-gantt .gcm-super-cell--month span{position:sticky;left:8px;padding:0 var(--spacing-1)}.planning-gantt .gcm-super-cell--month .gcm-month-label--full{display:inline;font-size:11px;font-weight:500;color:var(--zinc-200)}.planning-gantt .gcm-super-cell--month .gcm-month-label--short{display:none}.planning-gantt .gcm-super-cell--year{font-size:12px;font-weight:500;color:var(--zinc-200);letter-spacing:.01em}.planning-gantt .gcm-super-cell--year span{position:sticky;left:8px;padding:0 var(--spacing-1)}.planning-gantt .gcm-super-cell--quarter{font-size:11px;font-weight:500;color:var(--zinc-200);justify-content:center}.planning-gantt .gcm-timeline__header--with-weather{display:flex;position:relative;height:72px}.planning-gantt .gcm-timeline__header--with-weather .gcm-day{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;padding:0;border-right:1px solid var(--zinc-700);flex-shrink:0;position:relative}.planning-gantt .gcm-timeline__header--with-weather .gcm-day--today{border-left:3px solid var(--color-minor)}.planning-gantt .gcm-timeline__header--with-weather .gcm-day--today .gcm-day__number{color:var(--color-minor);font-weight:700}.planning-gantt .gcm-timeline__header--with-weather .gcm-day--weekend{background:var(--zinc-700) !important}.planning-gantt .gcm-timeline__header--with-weather .gcm-day--weekend .gcm-weather-icon,.planning-gantt .gcm-timeline__header--with-weather .gcm-day--weekend .gcm-weather-details{display:none !important}.planning-gantt .gcm-timeline__header--with-weather .gcm-day--past{background:var(--zinc-700) !important}.planning-gantt .gcm-timeline__header--with-weather .gcm-day--past .gcm-weather-icon,.planning-gantt .gcm-timeline__header--with-weather .gcm-day--past .gcm-weather-details{opacity:.4}.planning-gantt .gcm-timeline__header--with-weather .gcm-day--past .gcm-weather-precip{color:var(--zinc-400) !important}.planning-gantt .gcm-timeline__header--with-weather .gcm-day--past .gcm-weather-precip-icon{color:var(--zinc-400) !important}.planning-gantt .gcm-timeline__header--with-weather .gcm-day--past.gcm-day--holiday{background:repeating-linear-gradient(45deg, var(--zinc-700), var(--zinc-700) 3px, var(--zinc-600) 3px, var(--zinc-600) 6px) !important}.planning-gantt .gcm-timeline__header--with-weather .gcm-day--past.gcm-day--closure{background:repeating-linear-gradient(45deg, rgba(248, 113, 113, 0.15), rgba(248, 113, 113, 0.15) 3px, rgba(248, 113, 113, 0.25) 3px, rgba(248, 113, 113, 0.25) 6px) !important}.planning-gantt .gcm-timeline__header--with-weather .gcm-day--holiday{background:repeating-linear-gradient(45deg, var(--zinc-700), var(--zinc-700) 3px, var(--zinc-600) 3px, var(--zinc-600) 6px) !important}.planning-gantt .gcm-timeline__header--with-weather .gcm-day--closure{background:repeating-linear-gradient(45deg, rgba(248, 113, 113, 0.15), rgba(248, 113, 113, 0.15) 3px, rgba(248, 113, 113, 0.25) 3px, rgba(248, 113, 113, 0.25) 6px) !important}.planning-gantt .gcm-timeline__header--with-weather .gcm-day__name{font-size:9px;font-weight:500;color:var(--zinc-400);text-transform:uppercase;letter-spacing:.02em;line-height:1;height:12px;display:flex;align-items:center;justify-content:center}.planning-gantt .gcm-timeline__header--with-weather .gcm-day__number{font-size:var(--font-size-sm);font-weight:700;color:var(--zinc-200);line-height:1;height:24px;min-height:24px;display:flex;align-items:center;justify-content:center}.planning-gantt .gcm-timeline__header--with-weather .gcm-day__month{display:none;font-size:9px;font-weight:600;color:#ff9b58;text-transform:lowercase;line-height:1;height:12px;display:flex;align-items:center;justify-content:center}.planning-gantt .gcm-timeline__header--with-weather .gcm-day__month--faded{color:var(--zinc-500);font-weight:500}.planning-gantt .gcm-timeline__header--with-weather .gcm-day__info{display:contents}.planning-gantt .gcm-timeline__header--with-weather .gcm-day__weather{display:contents}.planning-gantt .gcm-timeline__header--with-weather .gcm-day__week,.planning-gantt .gcm-timeline__header--with-weather .gcm-day__quarter{display:none;font-size:10px;font-weight:600;color:var(--zinc-100)}.planning-gantt .gcm-weather-icon{margin-top:2px;line-height:1;height:24px;display:flex;align-items:center;justify-content:center;color:var(--zinc-400)}.planning-gantt .gcm-weather-icon .weather-icon{width:24px;height:24px}.planning-gantt .gcm-weather-icon .weather-sun,.planning-gantt .gcm-weather-icon .weather-cloud,.planning-gantt .gcm-weather-icon .weather-cloud-light,.planning-gantt .gcm-weather-icon .weather-rain,.planning-gantt .gcm-weather-icon .weather-snow,.planning-gantt .gcm-weather-icon .weather-lightning{color:inherit}.planning-gantt .gcm-weather-details{display:none;flex-direction:column;align-items:center;gap:1px;height:36px}.planning-gantt .gcm-weather-temps{display:flex;align-items:center;justify-content:center;gap:2px;height:16px}.planning-gantt .gcm-weather-temp{font-size:11px;font-weight:500;color:var(--zinc-400)}.planning-gantt .gcm-weather-temp--pm{color:var(--zinc-200);font-weight:600}.planning-gantt .gcm-weather-temp-separator{font-size:10px;color:var(--zinc-500);font-weight:400}.planning-gantt .gcm-weather-precip{display:flex;align-items:center;justify-content:center;gap:2px;font-size:10px;font-weight:500;color:var(--zinc-400);height:14px}.planning-gantt .gcm-weather-precip-icon{color:var(--zinc-500)}.planning-gantt .gcm-day--no-weather:not(.gcm-day--weekend):not(.gcm-day--holiday):not(.gcm-day--closure):not(.gcm-day--month-even){background:var(--zinc-850)}.planning-gantt .gcm-day--no-weather:not(.gcm-day--weekend):not(.gcm-day--holiday):not(.gcm-day--closure):not(.gcm-day--month-even) .gcm-day__name,.planning-gantt .gcm-day--no-weather:not(.gcm-day--weekend):not(.gcm-day--holiday):not(.gcm-day--closure):not(.gcm-day--month-even) .gcm-day__number{color:var(--zinc-500);opacity:.7}.planning-gantt .gcm-day--warning,.planning-gantt .gcm-day--alert{position:relative}.planning-gantt .gcm-day--warning::after,.planning-gantt .gcm-day--alert::after{content:"⚠";position:absolute;top:2px;right:2px;width:14px;height:14px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:8px;line-height:1;z-index:5}.planning-gantt .gcm-day--warning::after{background:rgba(245,158,11,.15);color:#f59e0b}.planning-gantt .gcm-day--warning .gcm-weather-icon{color:var(--zinc-400)}.planning-gantt .gcm-day--warning .gcm-day__name,.planning-gantt .gcm-day--warning .gcm-day__number{color:var(--zinc-200)}.planning-gantt .gcm-day--warning .gcm-weather-precip{color:var(--zinc-400)}.planning-gantt .gcm-day--warning .gcm-weather-precip-icon{color:var(--zinc-500)}.planning-gantt .gcm-day--alert::after{background:rgba(239,68,68,.15);color:#ef4444}.planning-gantt .gcm-day--alert .gcm-weather-icon{color:var(--zinc-400)}.planning-gantt .gcm-day--alert .gcm-day__name,.planning-gantt .gcm-day--alert .gcm-day__number{color:var(--zinc-200)}.planning-gantt .gcm-day--alert .gcm-weather-precip{color:var(--zinc-400)}.planning-gantt .gcm-day--alert .gcm-weather-precip-icon{color:var(--zinc-500)}.planning-gantt .gcm-day--month-even{background:var(--zinc-750)}.planning-gantt .gcm-day--month-even.gcm-day--no-weather:not(.gcm-day--weekend):not(.gcm-day--holiday):not(.gcm-day--closure){background:var(--zinc-800)}.planning-gantt .gcm-timeline__header-wrapper.gcm-timeline--fortnight .gcm-timeline__header--with-weather{height:130px}.planning-gantt .gcm-timeline__header-wrapper.gcm-timeline--fortnight .gcm-timeline__header--with-weather .gcm-day{padding-top:var(--spacing-2)}.planning-gantt .gcm-timeline__header-wrapper.gcm-timeline--fortnight .gcm-timeline__header--with-weather .gcm-day__name,.planning-gantt .gcm-timeline__header-wrapper.gcm-timeline--fortnight .gcm-timeline__header--with-weather .gcm-day__number{display:flex}.planning-gantt .gcm-timeline__header-wrapper.gcm-timeline--fortnight .gcm-timeline__header--with-weather .gcm-day__week,.planning-gantt .gcm-timeline__header-wrapper.gcm-timeline--fortnight .gcm-timeline__header--with-weather .gcm-day__quarter{display:none}.planning-gantt .gcm-timeline__header-wrapper.gcm-timeline--fortnight .gcm-timeline__header--with-weather .gcm-weather-details{display:flex}.planning-gantt:has(.gcm-timeline--fortnight) .gcm-sidebar__header{height:158px}.planning-gantt:has(.gcm-timeline--fortnight) .gcm-timeline__content{border-top:2px solid rgba(113,113,122,.902)}.planning-gantt:has(.gcm-timeline--month) .gcm-sidebar__header{height:100px}.planning-gantt:has(.gcm-timeline--quarter) .gcm-sidebar__header{height:64px}.planning-gantt:has(.gcm-timeline--year) .gcm-sidebar__header{height:56px}.planning-gantt .gcm-timeline__header-wrapper.gcm-timeline--month .gcm-timeline__header--with-weather .gcm-day__name,.planning-gantt .gcm-timeline__header-wrapper.gcm-timeline--month .gcm-timeline__header--with-weather .gcm-day__number{display:flex}.planning-gantt .gcm-timeline__header-wrapper.gcm-timeline--month .gcm-timeline__header--with-weather .gcm-day__week,.planning-gantt .gcm-timeline__header-wrapper.gcm-timeline--month .gcm-timeline__header--with-weather .gcm-day__quarter{display:none}.planning-gantt .gcm-timeline__header-wrapper.gcm-timeline--month .gcm-timeline__header--with-weather .gcm-weather-icon,.planning-gantt .gcm-timeline__header-wrapper.gcm-timeline--month .gcm-timeline__header--with-weather .gcm-weather-details{display:none !important}.planning-gantt .gcm-timeline__header--weeks{display:none}.planning-gantt .gcm-week-cell{min-width:calc(var(--span, 1)*var(--day-width));width:calc(var(--span, 1)*var(--day-width));display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:500;color:var(--zinc-400);border-right:1px solid var(--zinc-600)}.planning-gantt .gcm-week-cell:nth-child(odd){background:var(--zinc-800)}.planning-gantt .gcm-timeline__header-wrapper.gcm-timeline--quarter .gcm-timeline__super-header--months{display:none}.planning-gantt .gcm-timeline__header-wrapper.gcm-timeline--quarter .gcm-timeline__super-header--years{display:none}.planning-gantt .gcm-timeline__header-wrapper.gcm-timeline--quarter .gcm-timeline__super-header--quarters{display:flex;height:36px;border-bottom:1px solid var(--zinc-600)}.planning-gantt .gcm-timeline__header-wrapper.gcm-timeline--quarter .gcm-timeline__header--weeks{display:flex;height:28px}.planning-gantt .gcm-timeline__header-wrapper.gcm-timeline--quarter .gcm-timeline__header--with-weather{display:none}.planning-gantt:has(.gcm-timeline--quarter) .gcm-load-history,.planning-gantt:has(.gcm-timeline--quarter) .gcm-history-limit{display:none !important}.planning-gantt:has(.gcm-timeline--quarter) .gcm-timeline__content{background:repeating-linear-gradient(to bottom, transparent 0, transparent calc(36px - 1px), var(--zinc-600) calc(36px - 1px), var(--zinc-600) 36px)}.planning-gantt:has(.gcm-timeline--quarter) .gcm-timeline__content .gcm-cell{display:none}.planning-gantt:has(.gcm-timeline--quarter) .gcm-timeline__content .gcm-timeline__bg-columns{display:none}.planning-gantt:has(.gcm-timeline--quarter) .gcm-timeline__content .gcm-marker--weekend{display:none}.planning-gantt:has(.gcm-timeline--quarter) .gcm-timeline__content .gcm-marker--day-border{display:none}.planning-gantt:has(.gcm-timeline--quarter) .gcm-timeline__content .gcm-segment--detailed{display:none}.planning-gantt:has(.gcm-timeline--quarter) .gcm-timeline__content .gcm-segment--merged{display:block;position:absolute;background:rgba(0,0,0,0);border:1px dashed var(--site-color, #f59e0b);opacity:.6;overflow:visible}.planning-gantt:has(.gcm-timeline--quarter) .gcm-timeline__content .gcm-segment--merged .gcm-segment__label{color:var(--zinc-400);position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);white-space:nowrap;z-index:10;font-size:11px;font-weight:500}.planning-gantt:has(.gcm-timeline--quarter) .gcm-timeline__content .gcm-segment--merged .gcm-segment__fill{position:absolute;top:2px;bottom:2px;background:color-mix(in srgb, var(--site-color, #f59e0b) 80%, transparent);border-radius:2px;left:var(--fill-left, 0);width:var(--fill-width, 0);z-index:1}.planning-gantt:has(.gcm-timeline--quarter) .gcm-timeline__content .gcm-segment--merged.gcm-segment--has-assignments{background:color-mix(in srgb, var(--site-color, #f59e0b) 30%, transparent);border:1px solid var(--site-color, #f59e0b);opacity:1}.planning-gantt:has(.gcm-timeline--quarter) .gcm-timeline__content .gcm-segment--merged.gcm-segment--has-assignments .gcm-segment__label{color:var(--zinc-100)}.planning-gantt:has(.gcm-timeline--quarter) .gcm-timeline__content .gcm-timeline__row{width:calc(var(--total-days, 730)*var(--day-width));border-bottom:1px solid rgba(113,113,122,.2)}.planning-gantt .gcm-timeline__header-wrapper.gcm-timeline--year{display:flex;flex-direction:column}.planning-gantt .gcm-timeline__header-wrapper.gcm-timeline--year .gcm-timeline__super-header--years{display:flex;height:28px;order:1;border-bottom:1px solid var(--zinc-600)}.planning-gantt .gcm-timeline__header-wrapper.gcm-timeline--year .gcm-timeline__super-header--months{display:flex;height:28px;order:2}.planning-gantt .gcm-timeline__header-wrapper.gcm-timeline--year .gcm-timeline__super-header--months .gcm-super-cell--month{justify-content:center}.planning-gantt .gcm-timeline__header-wrapper.gcm-timeline--year .gcm-timeline__super-header--months .gcm-super-cell--month .gcm-month-label--full{display:none}.planning-gantt .gcm-timeline__header-wrapper.gcm-timeline--year .gcm-timeline__super-header--months .gcm-super-cell--month .gcm-month-label--short{display:inline;font-size:10px;font-weight:500;color:var(--zinc-400)}.planning-gantt .gcm-timeline__header-wrapper.gcm-timeline--year .gcm-timeline__super-header--quarters{display:none;order:3}.planning-gantt .gcm-timeline__header-wrapper.gcm-timeline--year .gcm-timeline__header--weeks{display:none;order:4}.planning-gantt .gcm-timeline__header-wrapper.gcm-timeline--year .gcm-timeline__header--with-weather{display:none;order:5}.planning-gantt:has(.gcm-timeline--year) .gcm-load-history,.planning-gantt:has(.gcm-timeline--year) .gcm-history-limit{display:none !important}.planning-gantt:has(.gcm-timeline--year) .gcm-timeline__content{background:repeating-linear-gradient(to bottom, transparent 0, transparent calc(36px - 1px), var(--zinc-600) calc(36px - 1px), var(--zinc-600) 36px)}.planning-gantt:has(.gcm-timeline--year) .gcm-timeline__content .gcm-cell{display:none}.planning-gantt:has(.gcm-timeline--year) .gcm-timeline__content .gcm-timeline__bg-columns{display:none}.planning-gantt:has(.gcm-timeline--year) .gcm-timeline__content .gcm-marker--weekend{display:none}.planning-gantt:has(.gcm-timeline--year) .gcm-timeline__content .gcm-marker--day-border{display:none}.planning-gantt:has(.gcm-timeline--year) .gcm-timeline__content .gcm-segment--detailed{display:none}.planning-gantt:has(.gcm-timeline--year) .gcm-timeline__content .gcm-segment--merged{display:block;position:absolute;background:rgba(0,0,0,0);border:1px dashed var(--site-color, #f59e0b);opacity:.6;overflow:visible}.planning-gantt:has(.gcm-timeline--year) .gcm-timeline__content .gcm-segment--merged .gcm-segment__label{color:var(--zinc-400);position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);white-space:nowrap;z-index:10;font-size:11px;font-weight:500}.planning-gantt:has(.gcm-timeline--year) .gcm-timeline__content .gcm-segment--merged .gcm-segment__fill{position:absolute;top:2px;bottom:2px;background:color-mix(in srgb, var(--site-color, #f59e0b) 80%, transparent);border-radius:2px;left:var(--fill-left, 0);width:var(--fill-width, 0);z-index:1}.planning-gantt:has(.gcm-timeline--year) .gcm-timeline__content .gcm-segment--merged.gcm-segment--has-assignments{background:color-mix(in srgb, var(--site-color, #f59e0b) 30%, transparent);border:1px solid var(--site-color, #f59e0b);opacity:1}.planning-gantt:has(.gcm-timeline--year) .gcm-timeline__content .gcm-segment--merged.gcm-segment--has-assignments .gcm-segment__label{color:var(--zinc-100)}.planning-gantt:has(.gcm-timeline--year) .gcm-timeline__content .gcm-timeline__row{width:calc(var(--total-days, 730)*var(--day-width));border-bottom:1px solid rgba(113,113,122,.2)}.planning-gantt .gcm-timeline__content{--day-width: 56px;--weekend-width: 32px;width:var(--gantt-timeline-width);flex:0 0 auto;min-width:0;position:relative;overflow:visible;display:flex;flex-direction:column}.planning-gantt .gcm-timeline__content .gcm-timeline__inner{position:relative;flex:1;display:flex;flex-direction:column}.planning-gantt .gcm-timeline__content .gcm-timeline__bg-columns{position:absolute;top:0;left:0;bottom:0;display:flex;z-index:0;pointer-events:none}.planning-gantt .gcm-timeline__content .gcm-bg-col{min-width:var(--day-width);width:var(--day-width);height:100%;flex-shrink:0;background:rgba(0,0,0,0);border-right:1px solid var(--zinc-600)}.planning-gantt .gcm-timeline__content .gcm-bg-col.gcm-cell--today{border-left:3px solid var(--color-minor)}.planning-gantt .gcm-timeline__content .gcm-bg-col.gcm-cell--weekend{min-width:var(--weekend-width);width:var(--weekend-width);background:var(--zinc-700)}.planning-gantt .gcm-timeline__content .gcm-bg-col.gcm-cell--holiday{background:repeating-linear-gradient(45deg, var(--zinc-700), var(--zinc-700) 3px, var(--zinc-600) 3px, var(--zinc-600) 6px)}.planning-gantt .gcm-timeline__content .gcm-bg-col.gcm-cell--closure{background:repeating-linear-gradient(45deg, rgba(248, 113, 113, 0.15), rgba(248, 113, 113, 0.15) 3px, rgba(248, 113, 113, 0.25) 3px, rgba(248, 113, 113, 0.25) 6px)}.planning-gantt .gcm-timeline__content .gcm-bg-col.gcm-cell--month-even{background:var(--zinc-750)}.planning-gantt .gcm-timeline__content .gcm-timeline__markers{position:absolute;top:0;left:0;height:100%;min-height:100%;z-index:5;pointer-events:none}.planning-gantt .gcm-timeline__content .gcm-marker{position:absolute;top:0;bottom:0;pointer-events:none}.planning-gantt .gcm-timeline__content .gcm-marker--weekend{background:var(--zinc-800)}.planning-gantt .gcm-timeline__content .gcm-marker--today{border-left:3px solid var(--color-minor);background:rgba(0,0,0,0);z-index:10}.planning-gantt .gcm-timeline__content .gcm-marker--holiday{background:repeating-linear-gradient(45deg, var(--zinc-700), var(--zinc-700) 3px, var(--zinc-600) 3px, var(--zinc-600) 6px)}.planning-gantt .gcm-timeline__content .gcm-marker--closure{background:repeating-linear-gradient(45deg, rgba(248, 113, 113, 0.15), rgba(248, 113, 113, 0.15) 3px, rgba(248, 113, 113, 0.25) 3px, rgba(248, 113, 113, 0.25) 6px)}.planning-gantt .gcm-timeline__content .gcm-marker--day-border{width:1px !important;background:rgba(113,113,122,.2)}.planning-gantt .gcm-timeline__content .gcm-timeline__row{position:relative;z-index:1}.planning-gantt .gcm-timeline__content{scrollbar-width:auto;scrollbar-color:var(--zinc-600) var(--zinc-800)}.planning-gantt .gcm-timeline__content::-webkit-scrollbar{width:12px;height:12px}.planning-gantt .gcm-timeline__content::-webkit-scrollbar-track{border-radius:6px;background:var(--zinc-800)}.planning-gantt .gcm-timeline__content::-webkit-scrollbar-thumb{background:var(--zinc-600);border-radius:6px;border:2px solid var(--zinc-800)}.planning-gantt .gcm-timeline__content::-webkit-scrollbar-thumb:hover{background:var(--zinc-600)}.planning-gantt .gcm-load-history{position:absolute;top:8px;left:228px;z-index:10;display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--zinc-700);border:1px solid var(--zinc-600);border-radius:6px;color:var(--zinc-300);font-size:var(--font-size-xs);text-decoration:none;cursor:pointer;transition:all var(--transition-fast)}.planning-gantt .gcm-load-history:hover{background:var(--zinc-600);border-color:var(--color-minor);color:var(--zinc-50)}.planning-gantt .gcm-load-history svg{flex-shrink:0}.planning-gantt .gcm-history-limit{position:absolute;top:8px;left:228px;z-index:10;display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--zinc-800);border:1px solid var(--zinc-700);border-radius:6px;font-size:var(--font-size-xs);color:var(--zinc-400)}.planning-gantt .gcm-history-limit .gcm-history-link{color:var(--color-minor);text-decoration:none}.planning-gantt .gcm-history-limit .gcm-history-link:hover{text-decoration:underline}.planning-gantt .gcm-scroll-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:10;display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--zinc-700);border:1px solid var(--zinc-600);border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.5);color:var(--zinc-50);cursor:pointer;transition:all var(--transition-fast);opacity:.9}.planning-gantt .gcm-scroll-btn:hover{opacity:1;background:var(--zinc-600);color:var(--zinc-900);border-color:var(--zinc-500);box-shadow:0 4px 12px rgba(212,165,116,.4)}.planning-gantt .gcm-scroll-btn:active{transform:translateY(-50%) scale(0.95)}.planning-gantt .gcm-scroll-btn--left{left:228px}.planning-gantt .gcm-scroll-btn--right{right:8px}.planning-gantt .gcm-scroll-btn svg{flex-shrink:0}.planning-gantt .gcm-timeline__row{display:flex;height:36px;min-height:36px;position:relative;flex-shrink:0;box-sizing:border-box;border-bottom:1px solid rgba(113,113,122,.15)}.planning-gantt .gcm-timeline__row--expanded{background:var(--zinc-800)}.planning-gantt .gcm-timeline__row--employee{height:28px;min-height:28px;z-index:3;background:var(--zinc-850)}.planning-gantt .gcm-timeline__row--employee.hidden{display:none}.planning-gantt .gcm-timeline__row--employee .gcm-cell{height:28px;min-height:28px;padding:4px 0;box-sizing:border-box}.planning-gantt .gcm-cell{min-width:var(--day-width);width:var(--day-width);height:100%;flex-shrink:0;box-sizing:border-box;border-right:1px solid var(--zinc-700)}.planning-gantt .gcm-cell:last-child{border-right:none}.planning-gantt .gcm-cell--today{border-left:3px solid var(--color-minor)}.planning-gantt .gcm-cell--weekend{min-width:var(--weekend-width);width:var(--weekend-width);background:var(--zinc-700);border-right:1px solid var(--zinc-600)}.planning-gantt .gcm-cell--has-assignment{background:rgba(82,82,91,.15)}.planning-gantt .gcm-segment{position:absolute;top:50%;transform:translateY(-50%);height:24px;left:var(--segment-left, 0);width:var(--segment-width, var(--day-width));box-sizing:border-box;z-index:2;cursor:grab;border-radius:4px;border:1px solid var(--site-color, #f59e0b);background:rgba(0,0,0,0);transition:filter var(--transition-fast);overflow:hidden}.planning-gantt .gcm-segment:hover{filter:brightness(0.95);z-index:10}.planning-gantt .gcm-segment:active{cursor:grabbing}.planning-gantt .gcm-segment--assigned{background:color-mix(in srgb, var(--site-color, #f59e0b) 70%, transparent)}.planning-gantt .gcm-segment--assigned:hover{background:var(--site-color, #f59e0b)}.planning-gantt .gcm-segment[data-has-next]{border-top-right-radius:0;border-bottom-right-radius:0}.planning-gantt .gcm-segment[data-has-prev]{border-top-left-radius:0;border-bottom-left-radius:0}.planning-gantt .gcm-segment[data-has-prev] .gcm-segment__label{display:none}.planning-gantt .gcm-segment--dragging{opacity:.8;z-index:20;cursor:grabbing;box-shadow:0 4px 12px rgba(0,0,0,.2)}.planning-gantt .gcm-segment--resizing{opacity:.8;z-index:20}.planning-gantt .gcm-segment.deleting{opacity:.3;pointer-events:none;transition:opacity .15s ease-out}.planning-gantt .gcm-segment .gcm-segment__handle{position:absolute;top:0;bottom:0;width:10px;cursor:ew-resize;opacity:0;transition:opacity var(--transition-fast);z-index:5}.planning-gantt .gcm-segment .gcm-segment__handle::before{content:"";position:absolute;top:50%;transform:translateY(-50%);width:2px;height:10px;background:rgba(0,0,0,.4);border-radius:1px}.planning-gantt .gcm-segment .gcm-segment__handle--left{left:-2px;cursor:w-resize;border-radius:4px 0 0 4px}.planning-gantt .gcm-segment .gcm-segment__handle--left::before{left:3px}.planning-gantt .gcm-segment .gcm-segment__handle--right{right:-2px;cursor:e-resize;border-radius:0 4px 4px 0}.planning-gantt .gcm-segment .gcm-segment__handle--right::before{right:3px}.planning-gantt .gcm-segment:hover .gcm-segment__handle,.planning-gantt .gcm-segment--resizing .gcm-segment__handle{opacity:1}.planning-gantt .gcm-segment .gcm-segment__delete{position:absolute;top:-6px;right:-6px;width:14px;height:14px;border-radius:50%;background:var(--red-500, #ef4444);border:1px solid var(--zinc-800);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity var(--transition-fast),transform var(--transition-fast);z-index:10}.planning-gantt .gcm-segment .gcm-segment__delete::before,.planning-gantt .gcm-segment .gcm-segment__delete::after{content:"";position:absolute;width:6px;height:1.5px;background:#fff;border-radius:1px}.planning-gantt .gcm-segment .gcm-segment__delete::before{transform:rotate(45deg)}.planning-gantt .gcm-segment .gcm-segment__delete::after{transform:rotate(-45deg)}.planning-gantt .gcm-segment .gcm-segment__delete:hover{transform:scale(1.2);background:var(--red-600, #dc2626)}.planning-gantt .gcm-segment:hover .gcm-segment__delete{opacity:1}.planning-gantt .gcm-segment--no-dates{left:var(--segment-left, 0);width:var(--segment-width, 100%);background:repeating-linear-gradient(90deg, var(--site-color, #f59e0b) 0, var(--site-color, #f59e0b) 4px, transparent 4px, transparent 8px);opacity:.6;border:1px dashed var(--site-color, #f59e0b)}.planning-gantt .gcm-segment--no-dates:hover{opacity:.8}.planning-gantt .gcm-segment__label{display:block;padding:0 var(--spacing-2);font-size:11px;font-weight:600;line-height:22px;color:var(--zinc-900);text-decoration:none;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.planning-gantt .gcm-segment:not(.gcm-segment--assigned) .gcm-segment__label{color:var(--zinc-100)}.planning-gantt .gcm-segment--merged{display:none}.planning-gantt .gcm-segment--selected{outline:2px solid var(--color-minor, #f59e0b);outline-offset:2px;box-shadow:0 0 0 4px rgba(245,158,11,.3);z-index:15}.planning-gantt .gcm-segment__fill{position:absolute;top:2px;bottom:2px;background:color-mix(in srgb, var(--site-color, #f59e0b) 80%, transparent);border-radius:2px;left:var(--fill-left, 0);width:var(--fill-width, 0)}.planning-gantt .gcm-sidebar__actions{display:flex;flex-direction:column;gap:var(--spacing-2);padding:var(--spacing-3);width:220px;min-width:220px;flex-shrink:0;border-right:1px solid var(--zinc-600)}.planning-gantt.gcm-sidebar-expanded .gcm-collapsible-col{display:block}.planning-gantt.gcm-sidebar-expanded .gcm-timeline__header-wrapper,.planning-gantt.gcm-sidebar-expanded .gcm-timeline__content{display:none}.planning-gantt.gcm-sidebar-expanded .gcm-sidebar__header{width:100%;min-width:100%;flex:1}.planning-gantt.gcm-sidebar-expanded .gcm-sidebar__content{width:100%;min-width:100%;flex:1}.planning-gantt.gcm-sidebar-expanded .gcm-sidebar__actions{width:100%;min-width:100%;flex:1}.planning-gantt.gcm-sidebar-expanded .gcm-view-selector{display:none}.planning-gantt.gcm-sidebar-expanded .gcm-sidebar__toggle{background:var(--zinc-600);color:var(--zinc-900)}.planning-gantt.gcm-sidebar-expanded .gcm-sidebar__toggle:hover{background:var(--zinc-600);color:#fff}.planning-gantt.gcm-sidebar-expanded .gcm-sidebar__toggle .gcm-toggle-collapse{display:none}.planning-gantt.gcm-sidebar-expanded .gcm-sidebar__toggle .gcm-toggle-expand{display:block}.planning-gantt.gcm-sidebar-expanded{--col-task-width: 22%;--col-client-width: 25%;--col-status-width: 100px;--col-date-width: $col-city-width;--col-city-width: 12%}.planning-gantt.gcm-sidebar-expanded .gcm-site-row{gap:var(--spacing-2)}.planning-gantt.gcm-sidebar-expanded .gcm-site-name{width:var(--col-task-width);min-width:150px;flex:none}.planning-gantt.gcm-sidebar-expanded .gcm-site-status{width:var(--col-status-width);min-width:var(--col-status-width);flex:none}.planning-gantt.gcm-sidebar-expanded .gcm-site-date{width:var(--col-date-width);min-width:var(--col-date-width);flex:none;text-align:center}.planning-gantt.gcm-sidebar-expanded .gcm-site-client{width:var(--col-client-width);min-width:100px;flex:none}.planning-gantt.gcm-sidebar-expanded .gcm-site-city{width:var(--col-city-width);min-width:80px;flex:none}.planning-gantt.gcm-sidebar-expanded .gcm-col--task{width:var(--col-task-width);min-width:150px;flex:none}.planning-gantt.gcm-sidebar-expanded .gcm-col--status{width:var(--col-status-width);min-width:var(--col-status-width);flex:none}.planning-gantt.gcm-sidebar-expanded .gcm-col--date{width:var(--col-date-width);min-width:var(--col-date-width);flex:none;text-align:center}.planning-gantt.gcm-sidebar-expanded .gcm-col--client{width:var(--col-client-width);min-width:100px;flex:none}.planning-gantt.gcm-sidebar-expanded .gcm-col--city{width:var(--col-city-width);min-width:80px;flex:none}.empty-state__icon{color:var(--zinc-500);margin-bottom:var(--spacing-4)}.empty-state__actions{display:flex;gap:var(--spacing-3);margin-top:var(--spacing-4);flex-wrap:wrap;justify-content:center;align-items:center}.empty-state__actions .empty-state__btn{margin-top:0}.empty-state__separator{color:var(--zinc-400);font-size:var(--font-size-sm);font-weight:500;align-self:center}.empty-state__btn{margin-top:var(--spacing-4)}.modal-content--md{max-width:600px}.detail-section-title{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;font-weight:600;color:var(--zinc-100);margin-bottom:var(--spacing-2)}.new-client-form__grid{margin-top:var(--spacing-3);padding:var(--spacing-3);background:var(--zinc-800);border-radius:var(--radius);border:1px solid var(--zinc-700)}.color-field{width:100%;height:38px;padding:4px;border:1px solid var(--zinc-700);border-radius:var(--radius);cursor:pointer}.planning-gantt .gcm-row-hidden{display:none !important}.planning-gantt .gcm-row-dimmed.gcm-site-row{background:var(--zinc-850)}.planning-gantt .gcm-row-dimmed .gcm-site-name,.planning-gantt .gcm-row-dimmed .gcm-site-client,.planning-gantt .gcm-row-dimmed .gcm-site-status,.planning-gantt .gcm-row-dimmed .gcm-site-date,.planning-gantt .gcm-row-dimmed .gcm-site-city,.planning-gantt .gcm-row-dimmed .gcm-site-link,.planning-gantt .gcm-row-dimmed .gcm-bar,.planning-gantt .gcm-row-dimmed .gcm-bar--segment{opacity:.5}.planning-gantt .gcm-row-dimmed.gcm-site-row,.planning-gantt .gcm-row-dimmed.gcm-timeline__row{border-bottom:1px solid var(--zinc-700)}.planning-gantt .gcm-row-collapsed{display:none !important}.gcm-other-sites-separator{display:flex;align-items:center;padding:0;background:var(--zinc-800);border-top:1px solid var(--zinc-600);height:36px}.gcm-other-sites-separator.gcm-collapsed .gcm-other-sites-chevron{transform:rotate(-90deg)}.gcm-other-sites-toggle{display:flex;align-items:center;gap:var(--spacing-2);width:100%;padding:0 var(--spacing-3);height:100%;background:rgba(0,0,0,0);border:none;cursor:pointer;color:var(--zinc-400);font-size:var(--font-size-xs);font-weight:500;text-transform:uppercase;letter-spacing:.05em;transition:color var(--transition-fast)}.gcm-other-sites-toggle:hover{color:var(--zinc-200)}.gcm-other-sites-chevron{transition:transform var(--transition-fast);color:var(--zinc-500)}.gcm-other-sites-label{flex:1;text-align:left}.gcm-other-sites-count{padding:2px 6px;background:var(--zinc-700);border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:var(--zinc-400)}.gcm-other-sites-separator-timeline{height:36px;background:var(--zinc-800);border-top:1px solid var(--zinc-600)}.gcm-encours-sites-separator{display:flex;align-items:center;padding:0;background:var(--zinc-800);border-top:1px solid var(--zinc-600);height:36px}.gcm-encours-sites-separator.gcm-collapsed .gcm-encours-sites-chevron{transform:rotate(-90deg)}.gcm-encours-sites-toggle{display:flex;align-items:center;gap:var(--spacing-2);width:100%;padding:0 var(--spacing-3);height:100%;background:rgba(0,0,0,0);border:none;cursor:pointer;color:var(--zinc-400);font-size:var(--font-size-xs);font-weight:500;text-transform:uppercase;letter-spacing:.05em;transition:color var(--transition-fast)}.gcm-encours-sites-toggle:hover{color:var(--zinc-200)}.gcm-encours-sites-chevron{transition:transform var(--transition-fast);color:var(--zinc-500)}.gcm-encours-sites-label{flex:1;text-align:left}.gcm-encours-sites-count{padding:2px 6px;background:var(--zinc-700);border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:var(--zinc-400)}.gcm-encours-sites-separator-timeline{height:36px;background:var(--zinc-800);border-top:1px solid var(--zinc-600)}.gcm-filter-toggle{display:inline-flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-2);background:rgba(0,0,0,0);border:1px solid var(--zinc-600);border-radius:var(--radius);cursor:pointer;color:var(--zinc-400);font-size:var(--font-size-sm);transition:all var(--transition-fast)}.gcm-filter-toggle:hover{background:var(--zinc-700);border-color:var(--zinc-500);color:var(--zinc-200)}.gcm-filter-toggle.active{background:var(--primary-500);border-color:var(--primary-500);color:#fff}.gcm-filter-toggle.active:hover{background:var(--primary-600);border-color:var(--primary-600)}.gcm-filter-toggle svg{width:14px;height:14px}.agenda-container{margin-bottom:var(--spacing-6)}.agenda-grid{display:grid;grid-template-columns:repeat(5, 1fr);gap:var(--spacing-4);min-height:calc(100vh - 220px)}.agenda-day{background:var(--zinc-800);border-radius:var(--radius-xl);box-shadow:var(--shadow);border:1px solid rgba(0,0,0,.04);display:flex;flex-direction:column;min-height:450px;overflow:hidden;transition:box-shadow var(--transition-fast),transform var(--transition-fast)}.agenda-day:hover{box-shadow:var(--shadow-lg)}.agenda-day--weekend{background:var(--zinc-800);border-color:var(--zinc-600);opacity:.7}.agenda-day--holiday{background:repeating-linear-gradient(45deg, var(--zinc-800), var(--zinc-800) 4px, var(--zinc-700) 4px, var(--zinc-700) 8px)}.agenda-day--closure{background:repeating-linear-gradient(45deg, rgba(254, 226, 226, 0.3), rgba(254, 226, 226, 0.3) 4px, rgba(254, 202, 202, 0.3) 4px, rgba(254, 202, 202, 0.3) 8px)}.agenda-day-header{padding:var(--spacing-3) var(--spacing-4);border-bottom:1px solid var(--zinc-600);background:var(--zinc-800);display:flex;align-items:center;gap:var(--spacing-3);flex-wrap:wrap}.agenda-day-name{font-size:var(--font-size-xs);font-weight:500;color:var(--zinc-400);text-transform:uppercase;letter-spacing:.03em}.agenda-day-date{font-size:var(--font-size-base);font-weight:700;color:var(--zinc-100);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:var(--transition)}.agenda-day-date--today{background:var(--zinc-200);color:#fff;box-shadow:0 2px 4px rgba(0,0,0,.15)}.agenda-day-badge{font-size:10px;font-weight:600;padding:3px 8px;border-radius:var(--radius);margin-left:auto;text-transform:uppercase;letter-spacing:.02em}.agenda-day-badge--holiday{background:var(--zinc-600);color:var(--zinc-100)}.agenda-day-badge--closure{background:rgba(239,68,68,.15);color:#b91c1c}.agenda-day-content{flex:1;padding:var(--spacing-3);display:flex;flex-direction:column;gap:var(--spacing-3);overflow-y:auto}.agenda-section{background:var(--zinc-800);border-radius:var(--radius-lg);padding:var(--spacing-3);border:1px solid var(--zinc-700);transition:border-color var(--transition-fast)}.agenda-section:hover{border-color:var(--zinc-600)}.agenda-sections-main{flex:1;display:flex;flex-direction:column;gap:var(--spacing-3);min-height:0}.agenda-sections-main .agenda-section{flex:1;display:flex;flex-direction:column;min-height:0}.agenda-sections-main .agenda-section-items{flex:1;overflow-y:auto;max-height:120px}.agenda-section--absences{flex:none !important;background:rgba(254,226,226,.15);border-color:rgba(254,202,202,.3)}.agenda-section--absences .agenda-section-title{color:#b91c1c}.agenda-absences-list{display:flex !important;flex-direction:row !important;flex-wrap:wrap;gap:4px;align-items:center}.agenda-absences-list .avatar-mini{margin-left:0}.agenda-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-2);padding-bottom:var(--spacing-2);border-bottom:1px solid var(--zinc-600)}.agenda-section-title{font-size:10px;font-weight:600;color:var(--zinc-400);text-transform:uppercase;letter-spacing:.05em}.agenda-section-items{display:flex;flex-direction:column;gap:2px}.agenda-empty{font-size:var(--font-size-xs);color:var(--zinc-400);text-align:center;padding:var(--spacing-2) 0;font-style:italic}.agenda-item{display:flex;align-items:flex-start;gap:8px;padding:6px 8px;font-size:var(--font-size-xs)}.agenda-item:hover{box-shadow:0 1px 3px rgba(0,0,0,.08)}.agenda-item-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;margin-top:5px;background:var(--zinc-400)}.agenda-badge{font-size:9px;padding:2px 5px;border-radius:var(--radius-sm);font-weight:600;flex-shrink:0;text-transform:uppercase;letter-spacing:.02em;background:var(--zinc-600);color:var(--zinc-100)}.agenda-item-text{color:var(--zinc-100);line-height:1.4;word-break:break-word}.agenda-item-sub{display:block;font-size:10px;color:var(--zinc-400);margin-top:2px}.agenda-item--site{padding:2px 0}.agenda-item--site:hover{box-shadow:none}.agenda-item--site .agenda-item-text{font-weight:600;text-transform:uppercase;font-size:10px;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agenda-item--absence{background:rgba(254,226,226,.3);border-color:rgba(254,202,202,.5)}.agenda-item--absence .agenda-item-text{color:var(--zinc-100)}.agenda-item--absence:hover{background:rgba(254,226,226,.5)}.agenda-item--task{padding:1px 0;align-items:center}.agenda-item--task:hover{box-shadow:none}.agenda-item--task .agenda-item-dot{margin-top:0}.agenda-item--task .agenda-item-text{font-weight:500;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agenda-avatars{display:flex;align-items:center;flex-shrink:0;margin-left:auto;gap:2px;cursor:default}.agenda-avatars .avatar-mini{width:24px;height:24px;font-size:10px;margin-left:-6px;cursor:default}.agenda-avatars .avatar-mini:first-child{margin-left:0}.agenda-avatars .avatar-mini:hover{transform:none}.agenda-avatars .avatar-more{width:24px;height:24px;font-size:10px;margin-left:-6px;cursor:default}.agenda-item--event{padding:1px 0;align-items:center}.agenda-item--event:hover{box-shadow:none}.agenda-item--event .agenda-item-dot{margin-top:0}.agenda-item--event .agenda-item-text{font-weight:500;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agenda-time{font-size:9px;font-weight:600;color:var(--zinc-400);flex-shrink:0;min-width:32px}.avatar-mini{width:18px;height:18px;border-radius:var(--radius-sm);font-size:8px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;text-transform:uppercase;box-shadow:0 1px 2px rgba(0,0,0,.15);margin-left:-4px;border:1px solid var(--zinc-800);background:var(--bg, var(--zinc-400));color:var(--fg, var(--zinc-100))}.avatar-mini:first-child{margin-left:0}.avatar-more{width:18px;height:18px;border-radius:var(--radius-sm);font-size:8px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;background:var(--zinc-600);color:var(--zinc-200);margin-left:-4px;border:1px solid var(--zinc-800)}.agenda-day-view{min-height:calc(100vh - 220px);display:flex;flex-direction:column}.agenda-day-view--holiday .agenda-day-layout-v2,.agenda-day-view--closure .agenda-day-layout-v2{opacity:.6}.agenda-day-view--weekend .agenda-day-layout-v2{opacity:.5}.agenda-day-view-notice{padding:var(--spacing-3) var(--spacing-4);text-align:center;font-weight:600;font-size:var(--font-size-sm);border-radius:var(--radius-lg);margin-bottom:var(--spacing-4)}.agenda-day-view-notice--holiday{background:var(--zinc-700);color:var(--zinc-100);border:1px solid var(--zinc-600)}.agenda-day-view-notice--closure{background:rgba(239,68,68,.1);color:#b91c1c;border:1px solid rgba(239,68,68,.2)}.agenda-day-view-notice--weekend{background:var(--zinc-800);color:var(--zinc-200);border:1px solid var(--zinc-600)}.agenda-day-layout-v2{display:flex;flex-direction:column;gap:var(--spacing-4);flex:1}.agenda-day-columns{display:grid;grid-template-columns:repeat(3, 1fr);gap:var(--spacing-4);flex:1;min-height:320px}.agenda-day-secondary{display:grid;grid-template-columns:repeat(2, 1fr);gap:var(--spacing-4)}.agenda-day-card{background:var(--zinc-800);border:1px solid var(--zinc-600);border-radius:var(--radius-lg);display:flex;flex-direction:column;min-height:280px;transition:box-shadow var(--transition-fast),border-color var(--transition-fast)}.agenda-day-card:hover{border-color:var(--zinc-500);box-shadow:var(--shadow)}.agenda-day-card__header{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-4);border-bottom:1px solid var(--zinc-700);background:var(--zinc-800);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.agenda-day-card__icon{width:32px;height:32px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;flex-shrink:0}.agenda-day-card__icon svg{width:16px;height:16px}.agenda-day-card__icon--projects{background:var(--zinc-700);color:var(--zinc-200)}.agenda-day-card__icon--tasks{background:var(--zinc-700);color:var(--zinc-200)}.agenda-day-card__icon--events{background:var(--zinc-700);color:var(--zinc-200)}.agenda-day-card__icon--notes{background:var(--zinc-600);color:var(--zinc-200)}.agenda-day-card__icon--absences{background:var(--zinc-700);color:var(--zinc-200)}.agenda-day-card__title{font-size:var(--font-size-sm);font-weight:600;color:var(--zinc-100);margin:0;flex:1}.agenda-day-card__count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;background:var(--zinc-700);color:var(--zinc-200);font-size:11px;font-weight:700;border-radius:11px}.agenda-day-card__content{flex:1;padding:var(--spacing-3);display:flex;flex-direction:column;gap:2px;overflow-y:auto}.agenda-day-card__item{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-2);border-radius:var(--radius);text-decoration:none;color:var(--zinc-100);transition:background var(--transition-fast)}.agenda-day-card__item:hover{background:var(--zinc-800)}.agenda-day-card__item-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--zinc-400)}.agenda-day-card__item-time{font-size:11px;font-weight:700;color:var(--zinc-300);background:var(--zinc-700);padding:2px 6px;border-radius:var(--radius-sm);flex-shrink:0;min-width:42px;text-align:center}.agenda-day-card__item-text{flex:1;font-size:var(--font-size-sm);font-weight:500;color:var(--zinc-100);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agenda-day-card__empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-6);color:var(--zinc-400);font-size:var(--font-size-sm);text-align:center}.agenda-day-card__empty-inline{color:var(--zinc-400);font-size:var(--font-size-sm);font-style:italic;padding:var(--spacing-2)}.agenda-day-card__count--danger{background:#fecaca;color:#991b1b}.agenda-day-card--notes{background:var(--zinc-800);border-color:var(--zinc-600)}.agenda-day-card--notes .agenda-day-card__header{background:var(--zinc-800);border-bottom-color:var(--zinc-600)}.agenda-day-card--notes .agenda-day-card__content--notes{padding:0;flex:1;background:repeating-linear-gradient(transparent, transparent 23px, var(--zinc-600) 23px, var(--zinc-600) 24px);background-position:0 8px}.agenda-day-card--notes .agenda-notes-textarea{background:rgba(0,0,0,0);line-height:24px;padding-top:8px}.agenda-day-card--notes .agenda-notes-textarea:focus{background:rgba(0,0,0,0)}.agenda-day-card--secondary{min-height:auto}.agenda-day-card--secondary .agenda-day-card__content{padding:var(--spacing-2) var(--spacing-3)}.agenda-day-card__content--horizontal{flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--spacing-2)}.agenda-day-card__content--avatars{flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px}.agenda-day-card__content--avatars .avatar-mini{margin-left:0;width:28px;height:28px;font-size:10px}.agenda-day-card__item--with-sub{flex-direction:column;align-items:flex-start;gap:2px;padding:var(--spacing-2)}.agenda-day-card__item--with-sub .agenda-day-card__item-main{display:flex;align-items:center;gap:var(--spacing-2);width:100%}.agenda-day-card__item-sub{font-size:10px;font-weight:600;color:var(--zinc-300);text-transform:uppercase;letter-spacing:.02em;padding-left:16px}.agenda-notes-textarea{flex:1;width:100%;border:none;background:rgba(0,0,0,0);resize:none;padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-sm);font-family:inherit;color:var(--zinc-100);line-height:1.6}.agenda-notes-textarea::placeholder{color:var(--zinc-400)}.agenda-notes-textarea:focus{outline:none}.agenda-notes-textarea.saved{border-left:3px solid #10b981}@media(max-width: 1024px){.agenda-day-columns{grid-template-columns:1fr 1fr;min-height:auto}.agenda-day-columns .agenda-day-card:last-child{grid-column:span 2}}@media(max-width: 768px){.agenda-day-columns{grid-template-columns:1fr}.agenda-day-columns .agenda-day-card:last-child{grid-column:span 1}.agenda-day-secondary{grid-template-columns:1fr}}.view-toggle{display:flex;background:var(--zinc-700);border-radius:var(--radius);padding:2px}.view-toggle-btn{padding:var(--spacing-1) var(--spacing-3);font-size:var(--font-size-sm);font-weight:500;color:var(--zinc-400);text-decoration:none;border-radius:var(--radius-sm);transition:var(--transition)}.view-toggle-btn:hover{color:var(--zinc-100)}.view-toggle-btn.active{background:var(--zinc-800);color:var(--zinc-100);box-shadow:var(--shadow-sm)}.agenda-week-grid{display:grid;grid-template-columns:repeat(5, 1fr);gap:var(--spacing-3);min-height:calc(100vh - 220px)}.agenda-week-day{background:var(--zinc-800);border:1px solid var(--zinc-600);border-radius:var(--radius-lg);display:flex;flex-direction:column;overflow:hidden;transition:box-shadow var(--transition-fast),border-color var(--transition-fast)}.agenda-week-day:hover{border-color:var(--zinc-500);box-shadow:var(--shadow)}.agenda-week-day--today{border-color:var(--zinc-400);box-shadow:var(--shadow)}.agenda-week-day--holiday,.agenda-week-day--closure{opacity:.7}.agenda-week-day--holiday .agenda-week-day__content,.agenda-week-day--closure .agenda-week-day__content{opacity:.5}.agenda-week-day__header{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);background:var(--zinc-800);border-bottom:1px solid var(--zinc-700);text-decoration:none;color:inherit;transition:background var(--transition-fast)}.agenda-week-day__header:hover{background:var(--zinc-700)}.agenda-week-day__date-info{display:flex;align-items:center;gap:var(--spacing-2);flex:1;min-width:0}.agenda-week-day__name{font-size:10px;font-weight:600;color:var(--zinc-400);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agenda-week-day__number{font-size:var(--font-size-sm);font-weight:700;color:var(--zinc-100);width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0}.agenda-week-day__number--today{background:var(--zinc-200);color:#fff}.agenda-week-day__badge{font-size:9px;font-weight:600;padding:2px 6px;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:80px}.agenda-week-day__badge--holiday{background:var(--zinc-600);color:var(--zinc-100)}.agenda-week-day__badge--closure{background:rgba(239,68,68,.15);color:#b91c1c}.agenda-week-day__absence-indicator{width:18px;height:18px;border-radius:50%;background:#fecaca;color:#991b1b;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.agenda-week-day__content{flex:1;padding:var(--spacing-2);display:flex;flex-direction:column;gap:var(--spacing-2);overflow:hidden;min-height:0}.agenda-week-section{background:var(--zinc-800);border-radius:var(--radius);border:1px solid var(--zinc-700);overflow:hidden;flex:1;display:flex;flex-direction:column;min-height:0}.agenda-week-section__header{display:flex;align-items:center;gap:var(--spacing-1);padding:6px 8px;border-bottom:1px solid var(--zinc-700);background:rgba(0,0,0,0)}.agenda-week-section__title{font-size:9px;font-weight:700;color:var(--zinc-400);text-transform:uppercase;letter-spacing:.05em;flex:1}.agenda-week-section__count{font-size:10px;font-weight:700;color:var(--zinc-300);background:var(--zinc-700);padding:1px 5px;border-radius:8px;min-width:16px;text-align:center}.agenda-week-section__items{padding:4px;display:flex;flex-direction:column;gap:2px;flex:1;overflow-y:auto;min-height:0}.agenda-week-item{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:var(--radius-sm);text-decoration:none;color:var(--zinc-100);font-size:11px;transition:background var(--transition-fast)}.agenda-week-item:hover{background:var(--zinc-700)}.agenda-week-item__dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;background:var(--zinc-400)}.agenda-week-item__text{flex:1;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agenda-week-item__time{font-size:9px;font-weight:700;color:var(--zinc-200);background:var(--zinc-700);padding:1px 4px;border-radius:var(--radius-sm);flex-shrink:0}.agenda-week-day__footer{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);border-top:1px solid var(--zinc-700);background:var(--zinc-800);min-height:36px}.agenda-week-absences{display:flex;align-items:center;flex:1;gap:2px}.agenda-week-absences .avatar-mini{width:20px;height:20px;font-size:8px;margin-left:-3px}.agenda-week-absences .avatar-mini:first-child{margin-left:0}.agenda-add-btn--small{width:18px;height:18px;margin-left:auto}.agenda-add-btn--small svg{width:10px;height:10px}@media(max-width: 1200px){.agenda-week-grid{grid-template-columns:repeat(3, 1fr)}}@media(max-width: 768px){.agenda-week-grid{grid-template-columns:repeat(2, 1fr)}}@media(max-width: 480px){.agenda-week-grid{grid-template-columns:1fr}}.priority-indicator{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:var(--spacing-2)}.priority-indicator.priority-low{background:var(--zinc-400)}.priority-indicator.priority-medium{background:var(--zinc-700)}.priority-indicator.priority-high{background:var(--zinc-800)}.badge-todo{background:var(--zinc-700);color:var(--zinc-200)}.badge-in_progress{background:#fef9c3;color:#854d0e}.badge-done{background:var(--zinc-500);color:var(--zinc-700)}.badge-archived{background:var(--zinc-600);color:var(--zinc-300)}.badge-late{background:#fef2f2;color:#dc2626;font-weight:500}.badge-early{background:#f0fdf4;color:#854d0e;font-weight:500}.badge-on-time{background:#eff6ff;color:#92400e;font-weight:500}.badge-completed-late{background:#fef3c7;color:#b45309;font-weight:500}.tasks-table{border-collapse:separate;border-spacing:0}.tasks-table tbody tr{transition:all .15s ease}.tasks-table tbody tr:hover{background:var(--zinc-800)}.table-link{color:var(--zinc-200);text-decoration:none;transition:color .15s ease}.table-link:hover{color:#fff;text-decoration:none}.table-link-primary{color:#fff;font-weight:500;text-decoration:none;transition:color .15s ease}.table-link-primary:hover{color:var(--zinc-100);text-decoration:none}.badge-subtle{background:var(--zinc-700);color:var(--zinc-300);font-size:10px;font-weight:500;padding:2px 6px;border-radius:var(--radius-sm);margin-left:var(--spacing-2)}.priority-badge{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-size-sm);color:var(--zinc-100)}.priority-badge .priority-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.priority-badge.priority-low .priority-dot{background:var(--zinc-400)}.priority-badge.priority-medium .priority-dot{background:var(--zinc-700);box-shadow:0 0 6px rgba(255,210,70,.4)}.priority-badge.priority-high .priority-dot{background:var(--zinc-800);box-shadow:0 0 6px rgba(239,68,68,.4)}.progress-cell{display:flex;align-items:center;gap:var(--spacing-2)}.progress-bar-modern{width:80px;height:6px;background:var(--zinc-600);border-radius:3px;overflow:hidden}.progress-fill-modern{height:100%;background:linear-gradient(90deg, var(--zinc-600) 0%, var(--zinc-700) 100%);border-radius:3px;transition:width .3s cubic-bezier(0.4, 0, 0.2, 1)}.progress-text{font-size:var(--font-size-xs);color:var(--zinc-300);font-weight:500;min-width:32px}.tasks-table .avatars-group{display:flex;align-items:center}.tasks-table .avatar-mini{width:26px;height:26px;font-size:10px;background:var(--zinc-600);color:var(--zinc-100);border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.1);transition:transform .15s ease}.tasks-table .avatar-mini:hover{transform:scale(1.1);z-index:10}.tasks-table .avatar-more{width:26px;height:26px;font-size:9px;background:var(--zinc-700);color:var(--zinc-200);border:2px solid #fff}.tasks-table .actions-cell{text-align:right}.task-parent-indicator{color:var(--zinc-400);font-size:11px;margin-right:4px;cursor:help}.task-row-subtask{background:var(--zinc-800)}.task-row-subtask td{font-size:var(--font-size-sm)}.subtask-indent{color:var(--zinc-400);margin-right:var(--spacing-2)}.priority-dot-only{display:inline-block;width:10px;height:10px;border-radius:50%}.priority-dot-only.priority-low{background:var(--zinc-400)}.priority-dot-only.priority-medium{background:var(--zinc-700);box-shadow:0 0 6px rgba(255,210,70,.4)}.priority-dot-only.priority-high{background:var(--zinc-800);box-shadow:0 0 6px rgba(239,68,68,.4)}.progress-cell-compact{display:flex;align-items:center;gap:6px}.progress-bar-mini{width:40px;height:4px;background:var(--zinc-600);border-radius:2px;overflow:hidden}.progress-text-mini{font-size:11px;color:var(--zinc-300);font-weight:500;min-width:20px}.text-nowrap{white-space:nowrap}.tag-tasks{background:var(--zinc-700);color:var(--zinc-200)}.tag-gantt{background:#fef3c7;color:#78350f}.tag-kanban{background:#fef9c3;color:#92400e}.breadcrumb{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-sm);margin-bottom:var(--spacing-3)}.breadcrumb-item{color:var(--zinc-400);text-decoration:none}.breadcrumb-item:hover{color:var(--zinc-100)}.breadcrumb-current{color:var(--zinc-100);font-weight:500}.breadcrumb-separator{color:var(--zinc-400)}.badge-subtask{font-size:var(--font-size-xs);font-weight:500;padding:var(--spacing-1) var(--spacing-2);background:var(--zinc-700);color:var(--zinc-400);border-radius:var(--radius);vertical-align:middle;margin-left:var(--spacing-2)}.task-page .card{max-width:none}.task-general-row,.site-general-row{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-4)}.task-general-right{display:flex;gap:var(--spacing-6)}.task-page .form-grid{gap:var(--spacing-4) var(--spacing-6)}.task-page .form-grid-wide{grid-template-columns:minmax(250px, 2fr) repeat(2, minmax(120px, 1fr))}.task-page .form-item-wide{min-width:250px}.inline-editable{cursor:pointer;padding:var(--spacing-1) var(--spacing-2);margin:calc(-1*var(--spacing-1)) calc(-1*var(--spacing-2));border-radius:var(--radius-sm);transition:background .15s}.inline-editable:hover{background:var(--zinc-700)}.inline-form{display:flex;align-items:center;gap:var(--spacing-2)}.inline-form.hidden{display:none}.inline-form-actions{display:flex;gap:var(--spacing-2);margin-top:var(--spacing-2)}.inline-form-block{flex-direction:column;align-items:stretch}.inline-form-block .form-input{width:100%}.form-input-sm,.form-select-sm{padding:var(--spacing-1) var(--spacing-2);font-size:var(--font-size-base);border:1px solid var(--zinc-700);border-radius:var(--radius-sm)}.form-input-sm:focus,.form-select-sm:focus{outline:none;border-color:#e4b119;box-shadow:0 0 0 2px rgba(59,130,246,.2)}.task-page .detail-value a,.task-page .label a,.task-page .employee-cell a{color:var(--zinc-100)}.task-page .detail-value a:hover,.task-page .label a:hover,.task-page .employee-cell a:hover{color:#92400e}.task-description-text{font-size:var(--font-size-sm);color:var(--zinc-100);line-height:1.5}.task-description-text p{margin:0}.inline-form-block textarea.form-input{font-size:var(--font-size-sm);line-height:1.5;border:1px solid var(--zinc-700);border-radius:var(--radius-sm);padding:var(--spacing-2);resize:vertical;background:var(--zinc-800)}.inline-form-block textarea.form-input:focus{outline:none;border-color:#e4b119;box-shadow:0 0 0 1px rgba(59,130,246,.15)}.employee-cell{display:flex;align-items:center;gap:var(--spacing-2)}.assignable-employees-list{display:flex;flex-wrap:wrap;gap:var(--spacing-2)}.assignable-employees-list .btn{display:flex;align-items:center;gap:var(--spacing-2)}.avatar-mini-sm{width:20px;height:20px;font-size:9px}.task-team-inline{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-2)}.task-team-badge{display:inline-flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-2);background:var(--zinc-700);border-radius:var(--radius);font-size:var(--font-size-sm)}.task-team-badge a{color:var(--zinc-100)}.task-team-badge a:hover{color:#92400e}.team-badges{display:flex;flex-direction:column;gap:var(--spacing-1)}.team-badge{display:inline-flex;align-items:center;gap:var(--spacing-1);font-size:var(--font-size-sm);color:var(--zinc-100)}.team-badge a{color:var(--zinc-100)}.team-badge a:hover{color:#92400e}.team-badge-past{color:var(--zinc-400)}.team-badge-past a{color:var(--zinc-400)}.team-badge-past a:hover{color:var(--zinc-100)}.team-colleagues-list{display:flex;flex-direction:column;gap:var(--spacing-4)}.team-colleague-card{padding:var(--spacing-3);background:var(--zinc-800);border-radius:var(--radius-md)}.team-colleague-header{display:flex;align-items:center;gap:var(--spacing-2);margin-bottom:var(--spacing-2)}.team-colleague-header .badge-sm{font-size:var(--font-size-xs);padding:2px 6px}.team-colleague-card .team-badges{flex-direction:row;flex-wrap:wrap;gap:var(--spacing-2)}.dependencies-list{display:flex;flex-wrap:wrap;gap:var(--spacing-2)}.dependency-item{display:inline-flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-sm)}.dependency-item a{color:var(--zinc-100)}.dependency-item a:hover{color:#92400e}.subtasks-header{display:flex;align-items:center;justify-content:space-between;margin-top:var(--spacing-6);margin-bottom:var(--spacing-3)}.subtasks-header h3{margin:0}.subtasks-summary{margin-bottom:var(--spacing-4)}.subtasks-progress{display:flex;align-items:center;gap:var(--spacing-3);margin-bottom:var(--spacing-2)}.subtasks-stats{display:flex;gap:var(--spacing-4)}.subtask-stat{font-size:var(--font-size-sm)}.subtasks-list{display:flex;flex-direction:column;gap:var(--spacing-2)}.subtask-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-2) var(--spacing-3);background:var(--zinc-800);border-radius:var(--radius)}.subtask-item-left{display:flex;align-items:center;gap:var(--spacing-2)}.subtask-item-left a{color:var(--zinc-100);font-size:var(--font-size-sm)}.subtask-item-left a:hover{color:#92400e}.subtask-item-right{display:flex;align-items:center;gap:var(--spacing-3)}.subtask-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.subtask-status-todo{background:var(--zinc-400)}.subtask-status-in_progress{background:var(--zinc-600)}.subtask-status-done{background:var(--zinc-500)}.badge-parent{background:var(--zinc-600);color:#fff}.badge-sm{font-size:var(--font-size-xs);padding:2px 6px}.task-add-assignee-inline{position:relative;display:inline-block}.task-add-dropdown{position:absolute;top:100%;left:0;margin-top:var(--spacing-1);padding:var(--spacing-1);background:#fff;border:1px solid var(--zinc-700);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:100;min-width:200px}.task-add-option{display:flex;align-items:center;gap:var(--spacing-2);width:100%;padding:var(--spacing-2);background:none;border:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--zinc-100);cursor:pointer;text-align:left}.task-add-option:hover{background:var(--zinc-700)}.task-add-empty{padding:var(--spacing-3);font-size:var(--font-size-sm);color:var(--zinc-400);text-align:center;white-space:nowrap}.task-add-select-form{display:inline-block}.task-add-select{min-width:180px}.task-add-select:disabled{opacity:.6;cursor:not-allowed}.kanban-board{display:grid;grid-template-columns:repeat(3, 1fr);gap:var(--spacing-4);padding:var(--spacing-4);flex:1;min-height:0;height:100%}.planning-container .kanban-board{height:calc(100vh - 120px)}.kanban-column{background:var(--zinc-800);border-radius:var(--radius-lg);padding:var(--spacing-3);display:flex;flex-direction:column;overflow:hidden}.kanban-column-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-2) var(--spacing-3);margin-bottom:var(--spacing-3);flex-shrink:0}.kanban-column-header h3{margin:0;font-size:var(--font-size-base);font-weight:600}.kanban-count{background:var(--zinc-600);color:var(--zinc-200);font-size:var(--font-size-xs);padding:2px 8px;border-radius:999px}.kanban-cards{display:flex;flex-direction:column;gap:var(--spacing-2);min-height:200px;flex:1;overflow-y:auto}.kanban-empty-state{color:var(--zinc-500);font-size:var(--font-size-sm);text-align:center;padding:var(--spacing-4) 0}.kanban-card{background:var(--zinc-800);border-radius:var(--radius);padding:var(--spacing-3);cursor:grab;transition:background var(--transition);position:relative}.kanban-card:hover{background:var(--zinc-800)}.kanban-card:active{cursor:grabbing}.kanban-card-flag{display:inline-flex;align-items:center;gap:.25rem;font-size:.7rem;font-weight:500;padding:.125rem .375rem;border-radius:3px;margin-right:.5rem}.kanban-card-flag-low{background:var(--zinc-700);color:var(--zinc-200)}.kanban-card-flag-medium{background:#fef3c7;color:#92400e}.kanban-card-flag-high{background:#fee2e2;color:#dc2626}.kanban-card-late .kanban-card-flag{background:#fee2e2;color:#dc2626}.kanban-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-2);margin-bottom:var(--spacing-2)}.kanban-card-title{font-weight:500;color:var(--zinc-100);text-decoration:none;font-size:var(--font-size-sm)}.kanban-card-title:hover{color:var(--zinc-700)}.kanban-card-description{font-size:var(--font-size-xs);color:var(--zinc-400);margin:0 0 var(--spacing-2);line-height:1.4}.kanban-card-footer{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-xs);color:var(--zinc-400)}.kanban-card-dates{font-size:var(--font-size-xs)}.kanban-card-progress{display:flex;align-items:center;gap:var(--spacing-2)}.kanban-card-assignees{display:flex;margin-top:var(--spacing-2)}.kanban-card-dependencies{display:flex;align-items:center;gap:var(--spacing-1);margin-top:var(--spacing-2);font-size:var(--font-size-xs);color:var(--zinc-400)}.kanban-card-dependencies .icon-sm{width:14px;height:14px}.absence-card{background:var(--zinc-700);border:1px solid var(--zinc-600)}.absence-card:hover{background:var(--zinc-650);border-color:var(--zinc-500)}.absence-card__employee{display:flex;align-items:center;gap:var(--spacing-2)}.absence-card__employee-info{display:flex;flex-direction:column;gap:2px}.absence-card__type{font-size:.65rem;padding:1px 6px}.absence-card__dates{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-xs);color:var(--zinc-300);margin:var(--spacing-2) 0}.absence-card__dates svg{flex-shrink:0;color:var(--zinc-400)}.absence-card__duration{color:var(--zinc-400)}.absence-card__actions{display:flex;gap:var(--spacing-2);margin-top:var(--spacing-3);padding-top:var(--spacing-3);border-top:1px solid var(--zinc-600)}.absence-card__actions .btn{flex:1}.absence-card--dragging{opacity:.5;transform:rotate(2deg)}.kanban-cards--drag-over{background:var(--zinc-700);border-radius:var(--radius);outline:2px dashed var(--zinc-500);outline-offset:-2px}.kanban-column--pending{border-top:3px solid var(--zinc-500)}.kanban-column--approved{border-top:3px solid var(--color-minor)}.kanban-column--rejected{border-top:3px solid #d88676}.planning-container [data-controller=tabs]{display:flex;flex-direction:column;flex:1;min-height:0}.absences-view{flex:1;min-height:0;display:flex;flex-direction:column}.absences-view.hidden{display:none}.absences-view--kanban .kanban-board{height:100%}.view-toggle{display:flex;gap:2px;background:var(--zinc-800);padding:2px;border-radius:var(--radius)}.view-toggle__btn{display:flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-2);border:none;background:rgba(0,0,0,0);color:var(--zinc-400);font-size:var(--font-size-sm);border-radius:calc(var(--radius) - 2px);cursor:pointer;transition:all var(--transition)}.view-toggle__btn:hover{color:var(--zinc-200)}.view-toggle__btn--active{background:var(--zinc-700);color:var(--zinc-100)}.absences-calendar-wrapper{flex:1;min-height:0;display:flex;flex-direction:column;gap:var(--spacing-4)}.absences-calendar-container{flex:1;min-height:0;overflow:hidden;background:var(--zinc-800)}.absences-calendar-scroll{height:100%;overflow:auto}.absences-calendar-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.absences-calendar-table thead{position:sticky;top:0;z-index:2;background:var(--zinc-800)}.absences-calendar-header-row th{padding:var(--spacing-2);text-align:center;font-weight:500;color:var(--zinc-300);border-bottom:1px solid var(--zinc-700)}.absences-col-fixed{position:sticky;left:0;z-index:1;background:var(--zinc-800)}.absences-col-salarie{min-width:200px;text-align:left;padding-left:var(--spacing-3)}.absences-col-day{min-width:44px;width:44px}.absences-col-day.non-working{background:var(--zinc-750)}.absences-col-day .day-name{display:block;font-size:.65rem;text-transform:uppercase;color:var(--zinc-500)}.absences-col-day .day-number{display:block;font-size:var(--font-size-sm);font-weight:600}.absences-calendar-row td{padding:var(--spacing-2);text-align:center;border-bottom:1px solid var(--zinc-700);vertical-align:middle}.absences-calendar-row .absences-col-salarie{text-align:left}.absences-calendar-row .salarie-info{display:flex;align-items:center;gap:var(--spacing-2)}.absences-calendar-row .salarie-name-col{display:flex;flex-direction:column}.absences-calendar-row .salarie-name{color:var(--zinc-100);text-decoration:none;font-weight:500}.absences-calendar-row .salarie-name:hover{color:var(--lime)}.absences-empty{color:var(--zinc-600)}.absences-empty-state{text-align:center;padding:var(--spacing-6);color:var(--zinc-500)}.absence-cell{display:inline-block;padding:2px 6px;border-radius:3px;font-size:.7rem;font-weight:600;text-transform:uppercase}.absence-cell--pending{background:rgba(113,113,122,.25);color:var(--zinc-300)}.absence-cell--approved{background:var(--color-minor-alpha);color:var(--color-minor-light)}.absence-cell--rejected{background:rgba(216,134,118,.2);color:#d88676;text-decoration:line-through}.absences-legend{padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-xs);color:var(--zinc-400)}.absences-legend .legend-items{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-3)}.legend-status{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px}.legend-status--pending{background:var(--zinc-500)}.legend-status--approved{background:var(--color-minor)}.legend-status--rejected{background:#d88676}.legend-separator{width:1px;height:12px;background:var(--zinc-600)}.legend-type{color:var(--zinc-500)}.todo-page{min-height:calc(100vh - 100px)}.todo-welcome{display:flex;align-items:center;gap:var(--spacing-4);padding:var(--spacing-5) var(--spacing-6);background:linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);border-radius:var(--radius-xl);margin-bottom:var(--spacing-4);box-shadow:var(--shadow);border:1px solid rgba(251,191,36,.3)}.todo-welcome-avatar{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xl);font-weight:700;flex-shrink:0;box-shadow:0 2px 8px rgba(0,0,0,.15);border:3px solid hsla(0,0%,100%,.8)}.todo-welcome-content{flex:1;min-width:0}.todo-welcome-title{font-size:var(--font-size-xl);font-weight:700;color:#92400e;margin:0 0 var(--spacing-1) 0;line-height:1.3}.todo-welcome-subtitle{font-size:var(--font-size-sm);color:#b45309;margin:0;line-height:1.4}.todo-welcome-subtitle strong{font-weight:600;color:#92400e}.todo-welcome-actions{flex-shrink:0}.section-header--compact{padding-bottom:var(--spacing-2)}.section-header--compact .section-header-top{display:none}.todo-list{display:flex;flex-direction:column;gap:var(--spacing-3);padding-top:var(--spacing-6);padding-bottom:var(--spacing-6)}.todo-section{background:var(--zinc-800);border-radius:var(--radius-lg);border:1px solid var(--zinc-600);overflow:hidden}.todo-section-header{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);background:var(--zinc-800);border-bottom:1px solid var(--zinc-600);cursor:pointer;user-select:none;transition:background var(--transition-fast)}.todo-section-header:hover{background:var(--zinc-700)}.todo-section-toggle{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:none;color:var(--zinc-300);cursor:pointer;transition:transform var(--transition-fast);flex-shrink:0}.todo-section-toggle svg{width:14px;height:14px}.todo-section-toggle.rotated{transform:rotate(-90deg)}.todo-section-title{font-size:var(--font-size-xs);font-weight:600;color:var(--zinc-100);flex:1}.todo-section-edit-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius);background:none;border:none;color:var(--zinc-400);cursor:pointer;opacity:0;transition:var(--transition-fast);flex-shrink:0}.todo-section-edit-btn:hover{background:var(--zinc-600);color:var(--zinc-200)}.todo-section-header:hover .todo-section-edit-btn{opacity:1}.todo-section-badge{font-size:10px;font-weight:600;padding:3px 8px;border-radius:var(--radius);text-transform:uppercase;letter-spacing:.02em}.todo-section-count{font-size:var(--font-size-xs);font-weight:600;color:var(--zinc-400);padding:2px 8px;background:var(--zinc-600);border-radius:var(--radius)}.todo-section-progress{width:60px;height:4px;background:var(--zinc-600);border-radius:2px;overflow:hidden}.todo-section-progress-fill{height:100%;background:var(--zinc-700);border-radius:2px;transition:width var(--transition)}.todo-section-content{padding:0}.todo-section-content.hidden{display:none}.todo-task{border-bottom:1px solid var(--zinc-700)}.todo-task:last-child{border-bottom:none}.todo-task-row{display:flex;align-items:center;padding:var(--spacing-2) var(--spacing-3);padding-left:calc(var(--spacing-3) + 20px + var(--spacing-2));transition:background var(--transition-fast)}.todo-task-row:hover{background:var(--zinc-800)}.todo-task-header{display:flex;align-items:center;padding:var(--spacing-2) var(--spacing-3);padding-left:calc(var(--spacing-3) + 20px + var(--spacing-2));background:var(--zinc-800);border-bottom:1px solid var(--zinc-600);font-size:10px;font-weight:600;color:var(--zinc-400);text-transform:uppercase;letter-spacing:.03em}.todo-col{display:flex;align-items:center;gap:var(--spacing-2)}.todo-col--title{flex:1;min-width:0}.todo-col--status{width:100px;justify-content:flex-start}.todo-col--priority{width:100px;justify-content:flex-start;gap:var(--spacing-1)}.todo-col--date{width:80px;justify-content:center}.todo-col--assigned{width:80px;justify-content:center}.todo-col--actions{width:40px;justify-content:flex-end;opacity:0;transition:opacity var(--transition-fast)}.todo-task-row:hover .todo-col--actions{opacity:1}.todo-late-flag{flex-shrink:0}.todo-task-checkbox{position:relative;width:16px;height:16px;flex-shrink:0}.todo-task-checkbox input{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer;z-index:1}.todo-task-checkbox .todo-task-checkmark{position:absolute;top:0;left:0;width:16px;height:16px;border:1.5px solid var(--zinc-500);border-radius:var(--radius-sm);background:var(--zinc-800);transition:var(--transition)}.todo-task-checkbox input:checked+.todo-task-checkmark{background:var(--zinc-700);border-color:var(--zinc-700)}.todo-task-checkbox input:checked+.todo-task-checkmark::after{content:"";position:absolute;left:4px;top:1px;width:4px;height:7px;border:solid #fff;border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}.todo-task-checkbox:hover .todo-task-checkmark{border-color:var(--zinc-400)}.todo-task-content{flex:1;display:flex;align-items:center;gap:var(--spacing-2);min-width:0}.todo-task-name{font-size:var(--font-size-xs);font-weight:500;color:var(--zinc-100);text-decoration:none;display:inline-flex;align-items:center;gap:4px;transition:color var(--transition-fast)}.todo-task-name:hover{color:var(--zinc-700)}.todo-task-name .todo-task-link-icon{opacity:0;transition:opacity var(--transition-fast)}.todo-task-name:hover .todo-task-link-icon{opacity:.6}.todo-task-name--done{color:var(--zinc-400);text-decoration:line-through}.todo-task-meta{display:flex;align-items:center;gap:var(--spacing-3);flex-shrink:0}.todo-task-priority{font-size:10px;font-weight:600;padding:2px 8px;border-radius:var(--radius);text-transform:capitalize}.todo-task-priority--low{background:var(--zinc-700);color:var(--zinc-200)}.todo-task-priority--medium{background:rgba(245,158,11,.15);color:#b45309}.todo-task-priority--high{background:rgba(239,68,68,.15);color:#dc2626}.todo-task-badge{font-size:10px;font-weight:600;padding:2px 8px;border-radius:var(--radius)}.todo-task-badge--late{background:rgba(239,68,68,.1);color:#dc2626}.todo-task-dates{font-size:var(--font-size-xs);color:var(--zinc-400);white-space:nowrap}.todo-task-avatars{display:flex;align-items:center}.todo-task-actions{display:flex;align-items:center;gap:var(--spacing-1);opacity:0;transition:opacity var(--transition-fast)}.todo-task-row:hover .todo-task-actions{opacity:1}.todo-task-action{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius);color:var(--zinc-300);transition:var(--transition)}.todo-task-action:hover{background:var(--zinc-700);color:var(--zinc-100)}.todo-subsection{width:100%}.todo-subsection-header{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-1) var(--spacing-3);padding-left:calc(var(--spacing-3) + 20px + var(--spacing-2));border-bottom:1px solid var(--zinc-700)}.todo-subsection-title{font-size:var(--font-size-xs);font-weight:600;color:var(--zinc-400);text-transform:uppercase;letter-spacing:.02em;flex:1}.todo-subsection-count{font-size:10px;font-weight:600;color:var(--zinc-400);padding:1px 6px;background:var(--zinc-600);border-radius:var(--radius-sm)}.todo-subsection-meta{display:flex;align-items:center;gap:var(--spacing-2)}.todo-subsection-meta .todo-task-dates{font-size:10px}.todo-subsection-meta .todo-task-action{opacity:0;transition:opacity var(--transition-fast)}.todo-subsection-meta:hover .todo-task-action{opacity:1}.todo-subsection-content .todo-task{border-bottom:1px solid var(--zinc-700)}.todo-subsection-content .todo-task:last-of-type{border-bottom:none}.todo-done-section{border-top:1px solid var(--zinc-700);margin-top:var(--spacing-2);background:var(--zinc-800)}.todo-done-header{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);padding-left:calc(var(--spacing-3) + 20px + var(--spacing-2));width:100%;background:none;border:none;cursor:pointer;transition:background var(--transition-fast)}.todo-done-header:hover{background:var(--zinc-700)}.todo-done-toggle{color:var(--zinc-400);transition:transform var(--transition-fast);flex-shrink:0}.todo-done-title{font-size:var(--font-size-xs);font-weight:500;color:var(--zinc-300)}.todo-done-count{font-size:10px;font-weight:600;color:var(--zinc-400);background:var(--zinc-700);padding:1px 6px;border-radius:var(--radius-sm)}.todo-subtask-indicator{font-size:12px;color:var(--zinc-400);margin-right:4px}.todo-done-content .todo-task{opacity:.6}.todo-done-content.hidden{display:none}.todo-add-task,.todo-add-subtask{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-sm);font-weight:500;color:var(--zinc-300);background:none;border:none;cursor:pointer;transition:var(--transition);width:100%}.todo-add-task:hover,.todo-add-subtask:hover{color:var(--zinc-700);background:var(--zinc-800)}.todo-add-section{display:flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-sm);font-weight:500;color:var(--zinc-300);background:var(--zinc-800);border:2px dashed var(--zinc-500);border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition);width:100%}.todo-add-section:hover{color:var(--zinc-700);border-color:var(--zinc-600);background:var(--zinc-800)}.btn-archive,.btn-unarchive{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius);color:var(--zinc-400);background:none;border:none;cursor:pointer;transition:var(--transition-fast)}.btn-archive:hover,.btn-unarchive:hover{background:var(--zinc-700);color:var(--zinc-200)}.btn-archive:hover{color:var(--zinc-700)}.btn-unarchive:hover{color:#22c55e}.btn-delete{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius);color:var(--zinc-400);background:none;border:none;cursor:pointer;transition:var(--transition-fast)}.btn-delete:hover{background:#fef2f2;color:#dc2626}.todo-section--new{border:2px dashed var(--zinc-600);background:#fffbeb}.todo-section--new .todo-section-header{background:rgba(0,0,0,0);border-bottom:none}.inline-section-name-input{flex:1;padding:var(--spacing-1) var(--spacing-2);font-size:var(--font-size-xs);font-weight:600;color:var(--zinc-100);text-transform:uppercase;letter-spacing:.02em;border:1px solid var(--zinc-500);border-radius:var(--radius);background:var(--zinc-800);outline:none}.inline-section-name-input:focus{border-color:var(--zinc-600);box-shadow:0 0 0 2px rgba(251,191,36,.2)}.inline-section-name-input::placeholder{color:var(--zinc-400);font-weight:500}.inline-section-save,.inline-section-cancel{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius);background:none;border:none;cursor:pointer;transition:var(--transition-fast)}.inline-section-save{color:#22c55e}.inline-section-save:hover{background:rgba(34,197,94,.1)}.inline-section-cancel{color:var(--zinc-400)}.inline-section-cancel:hover{background:var(--zinc-700);color:var(--zinc-200)}.todo-add-subtask{padding:var(--spacing-1) var(--spacing-3);padding-left:calc(var(--spacing-3) + 20px + var(--spacing-2));font-size:11px}.todo-add-subtask:hover{background:var(--zinc-800)}.todo-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-8);text-align:center}.todo-empty-state .todo-empty-icon{width:48px;height:48px;color:var(--zinc-500);margin-bottom:var(--spacing-4)}.todo-empty-state h3{font-size:var(--font-size-lg);font-weight:600;color:var(--zinc-100);margin-bottom:var(--spacing-2)}.todo-empty-state p{font-size:var(--font-size-sm);color:var(--zinc-400);margin-bottom:var(--spacing-4)}.todo-columns{display:grid;grid-template-columns:repeat(3, 1fr);gap:var(--spacing-4);min-height:calc(100vh - 280px)}.todo-column{background:var(--zinc-800);border-radius:var(--radius-xl);box-shadow:var(--shadow);border:1px solid rgba(0,0,0,.04);display:flex;flex-direction:column;min-height:400px;overflow:hidden;transition:box-shadow var(--transition-fast)}.todo-column:hover{box-shadow:var(--shadow-lg)}.todo-column--in-progress .todo-column-header{background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.15)}.todo-column--in-progress .todo-column-title{color:#1d4ed8}.todo-column--in-progress .todo-column-count{background:rgba(59,130,246,.15);color:#1d4ed8}.todo-column--done .todo-column-header{background:rgba(34,197,94,.08);border-color:rgba(34,197,94,.15)}.todo-column--done .todo-column-title{color:#15803d}.todo-column--done .todo-column-count{background:rgba(34,197,94,.15);color:#15803d}.todo-column-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-3) var(--spacing-4);background:var(--zinc-800);border-bottom:1px solid var(--zinc-600)}.todo-column-title{font-size:11px;font-weight:600;color:var(--zinc-400);text-transform:uppercase;letter-spacing:.05em}.todo-column-count{font-size:11px;font-weight:700;padding:2px 8px;border-radius:var(--radius);background:var(--zinc-600);color:var(--zinc-100)}.todo-column-content{flex:1;padding:var(--spacing-3);display:flex;flex-direction:column;gap:var(--spacing-2);overflow-y:auto}.todo-empty{display:flex;align-items:center;justify-content:center;flex:1;min-height:100px}.todo-empty span{font-size:var(--font-size-sm);color:var(--zinc-400);font-style:italic}.todo-card{background:var(--zinc-800);border:1px solid var(--zinc-700);border-radius:var(--radius-lg);padding:var(--spacing-3);display:flex;flex-direction:column;gap:var(--spacing-2);text-decoration:none;color:var(--zinc-100);transition:var(--transition);cursor:pointer}.todo-card:hover{border-color:var(--zinc-500);box-shadow:0 2px 8px rgba(0,0,0,.06);transform:translateY(-1px)}.todo-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-2)}.todo-card-title{font-size:var(--font-size-sm);font-weight:600;color:var(--zinc-100);line-height:1.4;flex:1}.todo-priority{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:4px}.todo-priority--low{background:var(--zinc-400)}.todo-priority--medium{background:#f59e0b}.todo-priority--high{background:#ef4444}.todo-card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--spacing-2)}.todo-card-site{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:600;color:var(--zinc-400);text-transform:uppercase;letter-spacing:.02em}.todo-card-site svg{opacity:.6}.todo-card-dates{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:var(--zinc-400)}.todo-card-dates svg{opacity:.6}.todo-card-category{display:inline-flex;align-items:center;font-size:9px;font-weight:600;padding:2px 6px;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.02em}.todo-card-badge{display:inline-flex;align-items:center;font-size:9px;font-weight:600;padding:2px 6px;border-radius:var(--radius-sm);width:fit-content}.todo-card-badge--late{background:rgba(239,68,68,.1);color:#dc2626}.todo-card-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-2);margin-top:var(--spacing-1)}.todo-card-progress{display:flex;align-items:center;gap:var(--spacing-2);flex:1}.todo-progress-bar{flex:1;height:4px;background:var(--zinc-600);border-radius:2px;overflow:hidden}.todo-progress-fill{height:100%;background:var(--zinc-700);border-radius:2px;transition:width var(--transition)}.todo-progress-text{font-size:10px;font-weight:600;color:var(--zinc-400);min-width:28px;text-align:right}.todo-card-avatars{display:flex;align-items:center;flex-shrink:0}.avatar-mini{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:9px;font-weight:600;background:var(--bg, var(--zinc-600));color:var(--fg, var(--zinc-100));flex-shrink:0;border:2px solid var(--zinc-800)}.btn-create-task{display:inline-flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-3);font-size:var(--font-size-xs);font-weight:500;color:#3b82f6;background:rgba(59,130,246,.08);border:1px solid rgba(59,130,246,.2);border-radius:var(--radius);cursor:pointer;transition:var(--transition-fast);white-space:nowrap;flex-shrink:0}.btn-create-task:hover{background:rgba(59,130,246,.15);border-color:rgba(59,130,246,.3);color:#2563eb}.btn-create-task svg{flex-shrink:0}.taches-chantier-container .todo-list{padding-top:0}.gc-container{width:100%;border-radius:var(--radius-lg);border:1px solid var(--zinc-600);overflow:hidden;display:flex;flex-direction:column}.gc-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-3) var(--spacing-4);background:var(--zinc-800);border-bottom:1px solid var(--zinc-600)}.gc-header__left{display:flex;align-items:center;gap:var(--spacing-3)}.taches-site-selector__select{height:34px;padding:0 36px 0 var(--spacing-4);font-size:var(--font-size-base);font-weight:500;color:var(--zinc-100);background:var(--zinc-850);border-width:1px;border-style:solid;border-color:var(--zinc-500);border-radius:var(--radius-sm);cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239CA3AF' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;width:180px;flex-shrink:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.taches-site-selector__select:hover{background-color:var(--zinc-800)}.taches-site-selector__select:focus{outline:none;border-color:var(--zinc-300)}.taches-site-selector__select option{background:var(--zinc-850);color:var(--zinc-100)}.gc-header__reference{font-size:var(--font-size-xs);color:var(--zinc-400)}.gc-header__title{font-size:var(--font-size-sm);font-weight:600;color:var(--zinc-100);margin:0;text-transform:uppercase;letter-spacing:.02em}.gc-header__count{font-size:var(--font-size-xs);font-weight:600;color:var(--zinc-400);padding:2px 8px;background:var(--zinc-600);border-radius:var(--radius)}.gc-header__progress{width:60px;height:4px;background:var(--zinc-600);border-radius:2px;overflow:hidden}.gc-header__progress-fill{height:100%;background:var(--zinc-700);border-radius:2px;transition:width var(--transition)}.gc-header__right{display:flex;align-items:center;gap:var(--spacing-2)}.gc-site-selector{padding:var(--spacing-1) var(--spacing-3);font-size:var(--font-size-sm);font-weight:500;color:var(--zinc-100);background:var(--zinc-800);border:1px solid var(--zinc-500);border-radius:var(--radius);cursor:pointer;transition:var(--transition-fast);min-width:200px;max-width:300px}.gc-site-selector:hover{background:var(--zinc-800);border-color:var(--zinc-400)}.gc-site-selector:focus{outline:none;border-color:var(--zinc-600);box-shadow:0 0 0 2px var(--zinc-500)}.gc-view-selector{padding:var(--spacing-1) var(--spacing-3);font-size:var(--font-size-xs);font-weight:500;color:var(--zinc-100);background:var(--zinc-800);border:1px solid var(--zinc-500);border-radius:var(--radius);cursor:pointer;outline:none}.gc-view-selector:hover{border-color:var(--zinc-400)}.gc-view-selector:focus{border-color:var(--zinc-600);box-shadow:0 0 0 2px rgba(251,191,36,.2)}.gc-body{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:stretch;width:100%;min-height:300px;max-height:calc(100vh - 280px);overflow:hidden;border-bottom:1px solid var(--zinc-700)}.gc-sidebar{width:var(--gc-sidebar-width, 500px);min-width:var(--gc-sidebar-width, 500px);flex-shrink:0;border-right:1px solid var(--zinc-600);display:flex;flex-direction:column;transition:width var(--transition),min-width var(--transition)}.gc-sidebar--collapsed{--gc-sidebar-width: 350px;width:var(--gc-sidebar-width);min-width:var(--gc-sidebar-width)}.gc-sidebar--collapsed .gc-collapsible{width:0 !important;opacity:0;margin:0;padding:0;overflow:hidden}.gc-sidebar--collapsed .gc-sidebar__toggle .gc-toggle-collapse{display:none}.gc-sidebar--collapsed .gc-sidebar__toggle .gc-toggle-expand{display:block}.gc-sidebar--collapsed .gc-col--task{flex:1}.gc-sidebar__header{display:flex;align-items:center;padding:var(--spacing-3) var(--spacing-4);background:var(--zinc-850);border-bottom:1px solid var(--zinc-700);font-size:11px;font-weight:600;color:var(--zinc-300);text-transform:uppercase;letter-spacing:.05em;height:138px;gap:var(--spacing-3);flex-shrink:0}.gc-sidebar__header--simple{height:80px}.gc-sidebar__header .gc-col{justify-content:flex-start}.gc-sidebar__header .gc-col--task{color:var(--zinc-100);font-size:12px;font-weight:700}.gc-sidebar__header .gc-col--sort{width:24px;justify-content:center;flex-shrink:0}.gc-sidebar__header .gc-col--date{width:60px;justify-content:center;text-align:center;flex-shrink:0}.gc-sidebar__header .gc-col--status{width:50px;justify-content:center;text-align:center;flex-shrink:0}.gc-sidebar__header .gc-col--assigned{justify-content:center;text-align:center;flex-shrink:0}.gc-sidebar__header .gc-header__right{display:flex;align-items:center;gap:var(--spacing-2);margin-left:auto;padding:var(--spacing-2) var(--spacing-3);background:var(--zinc-800);border-radius:var(--radius-sm)}.gc-sidebar__header .gc-header__count{font-size:12px;font-weight:600;color:var(--zinc-600)}.gc-sidebar__header .gc-header__progress{width:60px;height:4px;background:var(--zinc-700);border-radius:2px;overflow:hidden}.gc-sidebar__header .gc-header__progress-fill{height:100%;background:var(--zinc-600);border-radius:2px;transition:width var(--transition)}.gc-sidebar__toggle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--zinc-600);background:var(--zinc-800);border-radius:var(--radius-sm);color:var(--zinc-400);cursor:pointer;transition:var(--transition-fast);flex-shrink:0}.gc-sidebar__toggle:hover{background:var(--zinc-700);color:var(--zinc-200);border-color:var(--zinc-500)}.gc-sidebar__toggle .gc-toggle-expand{display:none}.gc-collapsible{transition:width var(--transition),opacity var(--transition),margin var(--transition);overflow:hidden}.gc-sidebar__content{flex:1;overflow-y:auto;border-bottom:1px solid var(--zinc-700)}.gc-sidebar__row{display:flex;align-items:center;padding:var(--spacing-2) var(--spacing-3);padding-right:calc(var(--spacing-3) + 28px);border-bottom:1px solid var(--zinc-700);height:44px;transition:background var(--transition-fast)}.gc-sidebar__row:hover{background:var(--zinc-800)}.gc-col{display:flex;align-items:center;gap:var(--spacing-2)}.gc-col--task{flex:1;min-width:0;justify-content:flex-start}.gc-col--sort{width:24px;justify-content:center;flex-shrink:0}.gc-col--date{width:60px;justify-content:center;font-size:11px;color:var(--zinc-300)}.gc-col--status{width:50px;justify-content:center}.gc-col--assigned{width:56px;justify-content:flex-end}.gc-col--actions{width:40px;justify-content:flex-end}.gc-checkbox{position:relative;width:16px;height:16px;flex-shrink:0}.gc-checkbox input{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer;z-index:1}.gc-checkmark{position:absolute;top:0;left:0;width:16px;height:16px;border:1.5px solid var(--zinc-500);border-radius:var(--radius-sm);background:var(--zinc-800);transition:var(--transition)}.gc-checkbox input:checked+.gc-checkmark{background:var(--zinc-700);border-color:var(--zinc-700)}.gc-checkbox input:checked+.gc-checkmark::after{content:"";position:absolute;left:4px;top:1px;width:4px;height:7px;border:solid #fff;border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}.gc-checkbox:hover .gc-checkmark{border-color:var(--zinc-400)}.gc-task-name{flex:1;min-width:0;font-size:var(--font-size-xs);font-weight:500;color:var(--zinc-100);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color var(--transition-fast);cursor:pointer}.gc-task-name:hover{color:var(--zinc-600)}.gc-task-name--done{color:var(--zinc-400)}.gc-status-badge{font-size:10px;font-weight:600;padding:2px 8px;border-radius:var(--radius);text-transform:capitalize}.gc-status-badge--todo{background:var(--zinc-700);color:var(--zinc-200)}.gc-status-badge--in_progress{background:rgba(82,82,91,.15);color:var(--zinc-600)}.gc-status-badge--done{background:rgba(113,113,122,.15);color:var(--zinc-500)}.gc-status-badge--archived{background:var(--zinc-700);color:var(--zinc-300)}.gc-priority-badge{font-size:10px;font-weight:600;padding:2px 8px;border-radius:var(--radius);text-transform:capitalize}.gc-priority-badge--low{background:var(--zinc-700);color:var(--zinc-200)}.gc-priority-badge--medium{background:rgba(63,63,70,.2);color:var(--zinc-700)}.gc-priority-badge--high{background:rgba(39,39,42,.25);color:var(--zinc-800)}.gc-late-flag{flex-shrink:0;color:var(--zinc-800)}.gc-avatars{display:flex;align-items:center}.gc-avatar{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:9px;font-weight:600;background:var(--bg, var(--zinc-600));color:var(--fg, var(--zinc-100));flex-shrink:0;border:2px solid var(--zinc-800);margin-left:-6px}.gc-avatar:first-child{margin-left:0}.gc-avatar-more{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:9px;font-weight:600;background:var(--zinc-600);color:var(--zinc-200);flex-shrink:0;border:2px solid var(--zinc-800);margin-left:-6px}.gc-no-assignee{font-size:var(--font-size-xs);color:var(--zinc-400)}.gc-sidebar__actions{display:flex;flex-direction:row;align-items:center;gap:var(--spacing-2);padding-left:var(--spacing-3);height:32px;box-sizing:border-box}.gc-add-section{display:flex;align-items:center;justify-content:flex-start;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-2);font-size:11px;font-weight:400;font-style:italic;color:var(--zinc-300);background:none;border:none;box-shadow:none;text-decoration:none;cursor:pointer;transition:var(--transition-fast)}.gc-add-section:hover{color:var(--zinc-700)}.gc-sidebar__actions .gc-add-section{border-top:none}.gc-add-section--primary{border-left:none;color:#fff;background:var(--zinc-600);font-weight:600;padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius);margin-top:var(--spacing-2)}.gc-add-section--primary:hover{background:var(--zinc-500);box-shadow:0 0 0 2px var(--zinc-600)}.gc-add-task--section{display:flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-3);padding-left:calc(var(--spacing-3) + 16px + var(--spacing-2));font-size:11px;font-weight:400;font-style:italic;color:var(--zinc-400);background:none;border:none;text-decoration:none;cursor:pointer;transition:var(--transition-fast);height:28px}.gc-add-task--section:hover{color:var(--zinc-700)}.gc-add-task--section svg{width:12px;height:12px}.gc-section-header{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);border-bottom:1px solid var(--zinc-600);height:32px;box-sizing:border-box;cursor:pointer;transition:background var(--transition-fast)}.gc-section-header:hover{background:var(--zinc-800)}.gc-section-header.gc-section-header--collapsed .gc-section-toggle__minus{display:none}.gc-section-header.gc-section-header--collapsed .gc-section-toggle__plus{display:block}.gc-section-header.gc-section-header--dragging{opacity:.5;background:var(--zinc-600)}.gc-section-header.gc-section-header--drag-over{border-top:2px solid var(--zinc-600);background:#eef6ff}.gc-section-drag-handle{display:flex;align-items:center;justify-content:center;width:16px;height:16px;color:var(--zinc-400);cursor:grab;flex-shrink:0;opacity:0;transition:opacity var(--transition-fast),color var(--transition-fast)}.gc-section-header:hover .gc-section-drag-handle{opacity:1}.gc-section-drag-handle:hover{color:var(--zinc-200)}.gc-section-drag-handle:active{cursor:grabbing}.gc-section-toggle{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:var(--zinc-600);border:none;border-radius:var(--radius-sm);color:var(--zinc-200);cursor:pointer;flex-shrink:0;transition:background var(--transition-fast),color var(--transition-fast)}.gc-section-toggle:hover{background:var(--zinc-500);color:var(--zinc-100)}.gc-section-toggle svg{width:12px;height:12px}.gc-section-toggle .gc-section-toggle__plus{display:none}.gc-section-name{font-size:var(--font-size-sm);font-weight:600;color:var(--zinc-100);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gc-section-info{display:flex;align-items:center;gap:var(--spacing-3);margin-left:auto;margin-right:var(--spacing-2)}.gc-section-dates{font-size:11px;color:var(--zinc-300)}.gc-section-progress{font-size:11px;font-weight:600;color:var(--zinc-300);padding:2px 8px;border:1px solid var(--zinc-500);border-radius:var(--radius-sm)}.gc-section-progress.gc-section-progress--complete{color:var(--zinc-700);border-color:var(--zinc-700)}.gc-section-tasks{display:flex;flex-direction:column}.gc-section-tasks.gc-section-tasks--collapsed{display:none}.gc-section-tasks .gc-section-actions{order:999}.gc-section-actions{display:flex;flex-direction:row;align-items:center;gap:var(--spacing-3);padding-left:calc(var(--spacing-3) + 16px + var(--spacing-2));height:32px;box-sizing:border-box}.gc-section-actions .gc-add-task--section{padding-left:0;padding-right:0;height:auto}.gc-task-row{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-1) var(--spacing-3);border-bottom:1px solid var(--zinc-700);height:32px;box-sizing:border-box;transition:background var(--transition-fast);cursor:grab}.gc-task-row:hover{background:var(--zinc-800)}.gc-task-row:hover .gc-drag-handle{opacity:1}.gc-task-row:active{cursor:grabbing}.gc-task-row .gc-col--sort{width:24px;justify-content:center;flex-shrink:0}.gc-task-row .gc-col--date{width:60px;justify-content:center;text-align:center;flex-shrink:0}.gc-task-row .gc-col--status{width:50px;justify-content:center;text-align:center;flex-shrink:0}.gc-task-row .gc-col--assigned{justify-content:center;text-align:center;flex-shrink:0}.gc-task-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-1);width:56px;flex-shrink:0}.gc-drag-handle{display:flex;align-items:center;justify-content:center;width:16px;height:16px;color:var(--zinc-400);opacity:0;transition:opacity var(--transition-fast);flex-shrink:0;cursor:grab}.gc-drag-handle:active{cursor:grabbing}.gc-task-row--dragging{opacity:.5;background:var(--zinc-700)}.gc-task-row--drag-over{border-bottom:2px solid var(--zinc-600)}.gc-section-tasks--drag-over{min-height:40px}.gc-task-number{font-size:11px;font-weight:500;color:var(--zinc-400);width:20px;text-align:center;flex-shrink:0}.gc-task-assign{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:rgba(0,0,0,0);border:none;border-radius:var(--radius-sm);color:var(--zinc-400);cursor:pointer;transition:var(--transition-fast);opacity:1;flex-shrink:0;position:relative}.gc-task-assign:hover{background:var(--zinc-700);color:var(--zinc-200)}.gc-task-assign:active{background:var(--zinc-600)}.gc-task-assign--assigned{color:#ffb27d}.gc-task-assign--assigned:hover{background:#f5f7d0;color:#b5b842}.gc-assign-menu{position:relative;z-index:9999;min-width:200px;max-height:250px;overflow-y:auto;background:var(--zinc-800);border:1px solid var(--zinc-600);border-radius:var(--radius-md);box-shadow:0 4px 12px rgba(0,0,0,.15);padding:var(--spacing-2) 0}.gc-assign-menu__header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-2) var(--spacing-3);font-size:10px;font-weight:600;color:var(--zinc-400);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--zinc-700)}.gc-assign-menu__close{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;background:rgba(0,0,0,0);color:var(--zinc-400);cursor:pointer;border-radius:var(--radius-sm);transition:var(--transition-fast)}.gc-assign-menu__close:hover{background:var(--zinc-700);color:var(--zinc-100)}.gc-assign-menu__item{display:flex;align-items:center;justify-content:flex-start;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);min-height:36px;cursor:pointer;transition:var(--transition-fast);border-left:3px solid rgba(0,0,0,0)}.gc-assign-menu__item:hover{background:var(--zinc-800)}.gc-assign-menu__item:focus-within{outline:2px solid rgba(218,221,82,.5);outline-offset:-2px}.gc-assign-menu__item input[type=checkbox]{width:16px;height:16px;accent-color:#c1c458;cursor:pointer;flex-shrink:0;transition:transform .15s ease}.gc-assign-menu__item input[type=checkbox]:focus-visible{outline:2px solid #dadd52;outline-offset:2px}.gc-assign-menu__item--selected{background:#f5f7d0;border-left:3px solid #dadd52}.gc-assign-menu__item--selected .gc-assign-menu__name{font-weight:600;color:#5c5e1f}.gc-assign-menu__item--selected .gc-assign-menu__avatar{box-shadow:0 0 0 2px #dadd52}.gc-assign-menu__item--selected input[type=checkbox]{accent-color:#b5b842;transform:scale(1.1)}.gc-assign-menu__item--selected:hover{background:#eef0b8}.gc-assign-menu__label{display:flex;align-items:center;gap:var(--spacing-2);width:100%;cursor:pointer}.gc-assign-menu__avatar{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:9px;font-weight:600;background:var(--bg, var(--zinc-600));color:var(--fg, var(--zinc-100));flex-shrink:0}.gc-assign-menu__name{font-size:var(--font-size-sm);font-weight:500;color:var(--zinc-100);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4;transition:color .15s ease,font-weight .15s ease}.gc-assign-menu__check{width:16px;height:16px;color:#d97706;flex-shrink:0}.gc-assign-menu__empty{padding:var(--spacing-3);font-size:var(--font-size-xs);color:var(--zinc-400);text-align:center}.gc-assign-menu--by-date{min-width:220px;max-height:300px}.gc-assign-menu--inline{position:static;box-shadow:none;border:1px solid var(--zinc-600);border-radius:var(--radius);max-height:180px;overflow-y:auto}.gc-assign-menu--inline .gc-assign-menu__item{min-height:28px;padding:var(--spacing-1) var(--spacing-2)}.gc-assign-menu--inline .gc-assign-menu__avatar{width:18px;height:18px;font-size:7px}.gc-assign-menu--inline .gc-assign-menu__name{font-size:var(--font-size-xs)}.gc-assign-menu--inline .gc-assign-menu__date-label{font-size:10px}.gc-assign-menu--inline .gc-assign-menu__date-header{padding:var(--spacing-1) var(--spacing-2)}.gc-assign-menu--inline input[type=checkbox]{width:14px;height:14px}.gc-assign-menu__date-group:not(:first-child){border-top:1px solid var(--zinc-700)}.gc-assign-menu__date-header{display:flex;align-items:center;padding:var(--spacing-2) var(--spacing-3);background:var(--zinc-800)}.gc-assign-menu__date-label{font-size:11px;font-weight:600;color:var(--zinc-400);text-transform:capitalize}.gc-assign-menu__no-resource{padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-xs);color:var(--zinc-400);font-style:italic}.gc-task-menu{position:relative}.gc-task-dropdown{position:absolute;top:100%;right:0;margin-top:var(--spacing-1);min-width:140px;background:var(--zinc-800);border:1px solid var(--zinc-600);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:100;padding:var(--spacing-1) 0;display:none}.gc-task-dropdown.gc-task-dropdown--open{display:block}.gc-task-dropdown-item{display:flex;align-items:center;gap:var(--spacing-2);width:100%;padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-sm);color:var(--zinc-100);background:none;border:none;cursor:pointer;text-align:left;transition:background var(--transition-fast)}.gc-task-dropdown-item:hover{background:var(--zinc-800)}.gc-task-dropdown-item svg{flex-shrink:0;color:var(--zinc-300)}.gc-task-dropdown-item--danger{color:var(--zinc-800)}.gc-task-dropdown-item--danger svg{color:var(--zinc-800)}.gc-task-dropdown-item--danger:hover{background:#fef2f2}.gc-task-name-input{flex:1;min-width:0;font-size:var(--font-size-xs);font-weight:500;color:var(--zinc-100);background:var(--zinc-800);border:1px solid var(--zinc-600);border-radius:var(--radius-sm);padding:var(--spacing-1) var(--spacing-2);outline:none}.gc-task-name-input:focus{box-shadow:0 0 0 2px var(--zinc-500)}.gc-task-name-input::placeholder{font-weight:400;color:var(--zinc-400)}.gc-task-name-input:disabled{opacity:.7;cursor:not-allowed}.gc-task-row--new{background:#fffbeb;border:1px dashed var(--zinc-600);border-bottom:1px dashed var(--zinc-600)}.gc-task-meta{display:flex;align-items:center;margin-left:auto}.gc-task-date{font-size:11px;color:var(--zinc-300);width:55px;text-align:center}.gc-task-status{font-size:11px;font-weight:600;color:var(--zinc-300);padding:2px 8px;border:1px solid var(--zinc-500);border-radius:var(--radius-sm)}.gc-task-status.gc-task-status--done{color:var(--zinc-700);border-color:var(--zinc-700)}.gc-task-avatars{display:flex;align-items:center;flex-direction:row-reverse}.gc-task-avatar{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:9px;font-weight:600;background:var(--bg, var(--zinc-600));color:var(--fg, var(--zinc-100));flex-shrink:0;border:2px solid var(--zinc-800);margin-left:-8px}.gc-task-avatar:last-child{margin-left:0}.gc-task-avatar.gc-task-avatar--empty{width:24px;height:24px;background:var(--zinc-700);color:var(--zinc-400);border:none;margin-left:0}.gc-task-avatar.gc-task-avatar--more{background:var(--zinc-600);color:var(--zinc-200);font-size:8px}.gc-section-icon{color:var(--zinc-300);flex-shrink:0}.gc-section-name-input{flex:1;font-size:var(--font-size-sm);font-weight:600;color:var(--zinc-100);background:var(--zinc-800);border:1px solid var(--zinc-500);border-radius:var(--radius-sm);padding:var(--spacing-1) var(--spacing-2);outline:none;min-width:0}.gc-section-name-input:focus{border-color:var(--zinc-600);box-shadow:0 0 0 2px var(--zinc-500)}.gc-section-name-input::placeholder{font-weight:400;color:var(--zinc-400)}.gc-section-header--new{background:var(--zinc-800);border:1px solid var(--zinc-600);border-bottom:1px solid var(--zinc-600)}.gc-section-menu{position:relative;display:flex;align-items:center;justify-content:flex-end;width:56px;flex-shrink:0}.gc-section-dropdown{position:absolute;top:100%;right:0;margin-top:var(--spacing-1);min-width:140px;background:var(--zinc-800);border:1px solid var(--zinc-600);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:100;padding:var(--spacing-1) 0;display:none}.gc-section-dropdown.gc-section-dropdown--open{display:block}.gc-section-dropdown-item{display:flex;align-items:center;gap:var(--spacing-2);width:100%;padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-sm);color:var(--zinc-100);background:none;border:none;cursor:pointer;text-align:left;transition:background var(--transition-fast)}.gc-section-dropdown-item:hover{background:var(--zinc-800)}.gc-section-dropdown-item svg{flex-shrink:0;color:var(--zinc-300)}.gc-section-dropdown-item--danger{color:var(--zinc-800)}.gc-section-dropdown-item--danger svg{color:var(--zinc-800)}.gc-section-dropdown-item--danger:hover{background:#fef2f2}.gc-section-actions{display:flex;border-top:1px solid var(--zinc-700);height:32px;box-sizing:border-box}.gc-empty-sections{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-8) var(--spacing-6);gap:var(--spacing-2);text-align:center}.gc-empty-icon{color:var(--zinc-400);margin-bottom:var(--spacing-2)}.gc-empty-title{font-size:var(--font-size-sm);font-weight:600;color:var(--zinc-100);margin:0}.gc-empty-message{font-size:var(--font-size-xs);color:var(--zinc-300);margin:0;max-width:280px;line-height:1.5}.gc-empty-actions{display:flex;gap:var(--spacing-2);margin-top:var(--spacing-3)}.gc-section-form{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);background:var(--zinc-800);border-bottom:1px solid var(--zinc-600)}.gc-section-input{flex:1;padding:var(--spacing-1) var(--spacing-2);font-size:var(--font-size-sm);border:1px solid var(--zinc-500);border-radius:var(--radius);outline:none}.gc-section-input:focus{border-color:var(--zinc-600);box-shadow:0 0 0 2px var(--zinc-500)}.gc-section-save,.gc-section-cancel{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:var(--radius);cursor:pointer;transition:var(--transition-fast)}.gc-section-save{background:var(--zinc-500);color:#fff}.gc-section-save:hover{background:#16a34a}.gc-section-cancel{background:var(--zinc-600);color:var(--zinc-200)}.gc-section-cancel:hover{background:var(--zinc-500)}.gc-timeline{flex:1 1 0%;min-width:0;overflow:hidden;display:flex;flex-direction:column;--day-width: 80px}.gc-timeline.gc-timeline--fortnight{overflow-x:scroll;overflow-y:hidden}.gc-timeline.gc-timeline--fortnight::-webkit-scrollbar{height:8px}.gc-timeline.gc-timeline--fortnight::-webkit-scrollbar-track{background:var(--zinc-850)}.gc-timeline.gc-timeline--fortnight::-webkit-scrollbar-thumb{background:var(--zinc-600);border-radius:4px}.gc-timeline.gc-timeline--fortnight::-webkit-scrollbar-thumb:hover{background:var(--zinc-500)}.gc-timeline__super-header{display:flex;border-top:1px solid var(--zinc-600);border-bottom:1px solid var(--zinc-600);height:28px}.gc-super-cell{min-width:calc(var(--span, 1)*var(--day-width));width:calc(var(--span, 1)*var(--day-width));display:flex;align-items:center;justify-content:flex-start;font-size:11px;font-weight:500;color:var(--zinc-400);border-right:1px solid var(--zinc-600);border-bottom:1px solid var(--zinc-600);flex-shrink:0;white-space:nowrap}.gc-super-cell:last-child{border-right:none}.gc-super-cell--month{text-transform:capitalize;font-size:12px;font-weight:600;color:var(--zinc-100);letter-spacing:.01em;border-right:1px solid var(--zinc-500)}.gc-super-cell--month span{position:sticky;left:8px;padding:0 var(--spacing-1)}.gc-super-cell--year{font-weight:700;font-size:13px;color:var(--zinc-100);letter-spacing:.02em;background:var(--zinc-700)}.gc-timeline__header-wrapper{flex-shrink:0;z-index:3;border-bottom:1px solid var(--zinc-600);overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none}.gc-timeline__header-wrapper::-webkit-scrollbar{display:none}.gc-timeline__header{display:flex;position:relative;background:var(--zinc-800);border-bottom:1px solid var(--zinc-600);height:52px}.gc-day{min-width:var(--day-width);width:var(--day-width);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-1);border-right:1px solid var(--zinc-700);gap:2px;flex-shrink:0}.gc-day:last-child{border-right:none}.gc-day--today{border-left:3px solid var(--zinc-600)}.gc-day--today .gc-day__number{background:var(--zinc-600);color:var(--zinc-900);border-radius:50%;width:24px;height:24px;min-height:24px;display:flex;align-items:center;justify-content:center}.gc-day--weekend{background:var(--zinc-700)}.gc-day--holiday{background:var(--zinc-600)}.gc-day--closure{background:rgba(147,197,253,.5)}.gc-day--has-assignment{background:radial-gradient(circle, var(--zinc-600) 1.5px, transparent 1.5px);background-size:8px 8px}.gc-day__name{font-size:9px;font-weight:500;color:var(--zinc-400);text-transform:uppercase}.gc-day__number{font-weight:700;color:#fff;font-size:13px}.gc-day__week,.gc-day__quarter{display:none;font-size:10px;font-weight:600;color:var(--zinc-100)}.gc-timeline__header--with-weather{height:110px}.gc-weather-icon{margin-top:2px;line-height:1;height:24px;display:flex;align-items:center;justify-content:center;color:var(--zinc-400)}.gc-weather-icon .weather-icon{width:24px;height:24px}.gc-weather-icon .weather-sun,.gc-weather-icon .weather-cloud,.gc-weather-icon .weather-cloud-light,.gc-weather-icon .weather-rain,.gc-weather-icon .weather-snow,.gc-weather-icon .weather-lightning{color:inherit}.gc-weather-icon svg{color:inherit}.gc-weather-details{display:flex;flex-direction:column;align-items:center;gap:1px}.gc-weather-temps{display:flex;align-items:center;justify-content:center;gap:2px;height:14px}.gc-weather-temp{font-size:10px;font-weight:500;color:var(--zinc-100)}.gc-weather-temp--pm{color:var(--zinc-400)}.gc-weather-temp-separator{font-size:9px;color:var(--zinc-400)}.gc-weather-precip{display:flex;align-items:center;gap:2px;font-size:9px;color:var(--zinc-400)}.gc-weather-precip-icon{width:10px;height:10px;color:var(--zinc-500)}.gc-day--warning{position:relative}.gc-day--warning::after{content:"⚠";position:absolute;top:2px;right:2px;width:14px;height:14px;border-radius:50%;background:rgba(245,158,11,.15);color:#f59e0b;display:flex;align-items:center;justify-content:center;font-size:8px;line-height:1;z-index:5}.gc-day--warning .gc-weather-precip{color:var(--zinc-400)}.gc-day--warning .gc-weather-precip-icon{color:var(--zinc-500)}.gc-day--alert{position:relative}.gc-day--alert::after{content:"⚠";position:absolute;top:2px;right:2px;width:14px;height:14px;border-radius:50%;background:rgba(239,68,68,.15);color:#ef4444;display:flex;align-items:center;justify-content:center;font-size:8px;line-height:1;z-index:5}.gc-day--alert .gc-weather-precip{color:var(--zinc-400)}.gc-day--alert .gc-weather-precip-icon{color:var(--zinc-500)}.gc-day--no-weather .gc-weather-icon,.gc-day--no-weather .gc-weather-details{display:none}.gc-day--past .gc-weather-icon,.gc-day--past .gc-weather-details{opacity:.4}.gc-day--past .gc-weather-precip,.gc-day--past .gc-weather-precip-icon{color:var(--zinc-400) !important}.gc-timeline--week .gc-day__name,.gc-timeline--week .gc-day__number,.gc-timeline--fortnight .gc-day__name,.gc-timeline--fortnight .gc-day__number,.gc-timeline--month .gc-day__name,.gc-timeline--month .gc-day__number{display:flex}.gc-timeline--week .gc-day__week,.gc-timeline--week .gc-day__quarter,.gc-timeline--fortnight .gc-day__week,.gc-timeline--fortnight .gc-day__quarter,.gc-timeline--month .gc-day__week,.gc-timeline--month .gc-day__quarter{display:none}.gc-timeline--quarter .gc-day__name,.gc-timeline--quarter .gc-day__number{display:none}.gc-timeline--quarter .gc-day__week{display:none}.gc-timeline--quarter .gc-day__quarter{display:none}.gc-timeline--quarter .gc-day--first-of-week .gc-day__week{display:flex}.gc-timeline--quarter .gc-day{justify-content:center;border-right-color:rgba(0,0,0,0)}.gc-timeline--quarter .gc-day--first-of-week{border-left:1px solid var(--zinc-600)}.gc-timeline--semester .gc-day__name,.gc-timeline--semester .gc-day__number,.gc-timeline--semester .gc-day__week,.gc-timeline--year .gc-day__name,.gc-timeline--year .gc-day__number,.gc-timeline--year .gc-day__week{display:none}.gc-timeline--semester .gc-day__quarter,.gc-timeline--year .gc-day__quarter{display:none}.gc-timeline--semester .gc-day--first-of-quarter .gc-day__quarter,.gc-timeline--year .gc-day--first-of-quarter .gc-day__quarter{display:flex}.gc-timeline--semester .gc-day,.gc-timeline--year .gc-day{justify-content:center;border-right-color:rgba(0,0,0,0)}.gc-timeline--semester .gc-day--first-of-quarter,.gc-timeline--year .gc-day--first-of-quarter{border-left:1px solid var(--zinc-600)}.gc-timeline__content{flex:1;position:relative;overflow-x:auto;overflow-y:scroll}.gc-timeline__content::-webkit-scrollbar{height:8px;width:0}.gc-timeline__content::-webkit-scrollbar-track{background:var(--zinc-800)}.gc-timeline__content::-webkit-scrollbar-thumb{background:var(--zinc-600);border-radius:4px}.gc-timeline__content::-webkit-scrollbar-thumb:hover{background:var(--zinc-500)}.gc-timeline__content{scrollbar-width:thin;scrollbar-color:var(--zinc-600) var(--zinc-800)}.gc-timeline__row{display:flex;height:32px;min-height:32px;position:relative;flex-shrink:0}.gc-timeline__row--section{height:32px;min-height:32px;background:var(--zinc-700)}.gc-timeline__row--actions{background:var(--zinc-800)}.gc-timeline__row--collapsed{display:none}.gc-cell{min-width:var(--day-width);width:var(--day-width);height:100%;border-right:1px solid var(--zinc-700);flex-shrink:0;box-sizing:border-box}.gc-cell:last-child{border-right:none}.gc-cell--today{border-left:3px solid var(--zinc-600)}.gc-cell--weekend{background:var(--zinc-800)}.gc-cell--has-assignment{background:radial-gradient(circle, rgba(254, 254, 254, 0.28) 1.5px, transparent 1.5px);background-size:8px 8px}.gc-cell--holiday{background:var(--zinc-700)}.gc-cell--closure{background:rgba(147,197,253,.5)}.gc-bar{position:absolute;top:50%;transform:translateY(-50%);height:18px;border-radius:var(--radius-sm);display:flex;align-items:center;padding:0 var(--spacing-1);overflow:visible;cursor:grab;transition:filter var(--transition-fast),transform var(--transition-fast);z-index:2;left:calc(var(--bar-start)*var(--day-width) + 2px);width:calc(var(--bar-duration)*var(--day-width) - 4px);min-width:24px}.gc-bar:hover{filter:brightness(0.95);transform:translateY(calc(-50% - 1px))}.gc-bar:active{cursor:grabbing}.gc-bar__segments{position:absolute;inset:0;display:flex;border-radius:inherit;overflow:hidden;border:1px solid #c8c5c1;pointer-events:none}.gc-bar__segment{flex:1;height:100%;background:var(--zinc-800)}.gc-bar__segment--assigned{background:#d98043}.gc-bar--todo{background:var(--zinc-800);color:var(--zinc-100)}.gc-bar--done{background:linear-gradient(135deg, #86efac 0%, #22c55e 100%);border:1px solid #16a34a;color:#14532d}.gc-bar--done .gc-bar__segments{border:1px solid var(--zinc-300)}.gc-bar--done .gc-bar__segment--assigned{background:var(--zinc-300)}.gc-bar--in_progress .gc-bar__segments{border:1px solid var(--zinc-300)}.gc-bar--in_progress .gc-bar__segment--assigned{background:var(--zinc-300)}.gc-bar--section{background:#b8b9ad;border:none;color:var(--zinc-900);height:6px;border-radius:0;cursor:default;top:40%}.gc-bar--section:hover{filter:none;transform:translateY(-50%)}.gc-bar--section::before{content:"";position:absolute;left:0;top:100%;width:0;height:0;border-left:4px solid #b8b9ad;border-right:4px solid #b8b9ad;border-top:5px solid #b8b9ad;border-bottom:none}.gc-bar--section::after{content:"";position:absolute;right:0;top:100%;width:0;height:0;border-right:4px solid #b8b9ad;border-left:4px solid #b8b9ad;border-top:5px solid #b8b9ad;border-bottom:none}.gc-bar--section .gc-bar__label{font-weight:700;color:var(--zinc-100);text-transform:uppercase}.gc-bar--event{width:12px !important;min-width:12px !important;height:12px;border-radius:0;transform:translateY(-50%) rotate(45deg);padding:0;left:calc(var(--bar-start)*var(--day-width) + var(--day-width)/2 - 6px);background:#1f2937;border:1px solid #111827}.gc-bar--event:hover{transform:translateY(calc(-50% - 1px)) rotate(45deg)}.gc-bar--event .gc-bar__label{transform:rotate(-45deg);position:absolute;top:-10px;left:16px;white-space:nowrap}.gc-bar--event .gc-bar__handle{display:none}.gc-bar--event .gc-bar__segments{display:none}.gc-bar--event .gc-bar__anchor{transform:translateY(-50%) rotate(-45deg)}.gc-bar__label{position:absolute;left:100%;top:50%;transform:translateY(-50%);margin-left:var(--spacing-2);font-size:10px;font-weight:600;white-space:nowrap;color:var(--zinc-100)}.gc-bar__anchor{position:absolute;left:-4px;top:50%;transform:translateY(-50%);width:8px;height:8px;border-radius:50%;background:#d77d3f;border:2px solid #fff;box-shadow:0 1px 2px rgba(0,0,0,.2);opacity:0;transition:opacity var(--transition-fast),transform var(--transition-fast),background var(--transition-fast);z-index:10;cursor:pointer;padding:0}.gc-bar__anchor:hover{opacity:1 !important;transform:translateY(-50%) scale(1.3);background:var(--zinc-600)}.gc-bar__anchor:focus{outline:none}.gc-bar:hover .gc-bar__anchor{opacity:1}.gc-bar--linking{box-shadow:0 0 0 2px var(--zinc-600)}.gc-bar__anchor--selected{opacity:1 !important;background:var(--zinc-600) !important;transform:translateY(-50%) scale(1.3) !important;box-shadow:0 0 0 3px rgba(79,70,229,.3)}.gc-bar__anchor--target{opacity:1 !important;background:var(--zinc-500) !important;animation:pulse-anchor 1s ease-in-out infinite}@keyframes pulse-anchor{0%,100%{transform:translateY(-50%) scale(1)}50%{transform:translateY(-50%) scale(1.2)}}.gc-dependencies-svg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:3;overflow:visible}.gc-dependency-line{fill:none;stroke:var(--zinc-100);stroke-width:1;marker-end:url(#arrowhead);pointer-events:none}.gc-dependency-hitbox{fill:none;stroke:#dadd52;stroke-width:1;pointer-events:stroke;cursor:pointer}.gc-dependency-hitbox:hover+.gc-dependency-line{stroke:var(--zinc-600);stroke-width:2}.gc-dependency-delete{position:fixed;width:14px;height:14px;border-radius:50%;background:#fbbf24;border:1px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.2);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:100;padding:0;transition:transform var(--transition-fast),background var(--transition-fast)}.gc-dependency-delete:hover{transform:scale(1.15);background:#f59e0b}.gc-dependency-delete svg{width:8px;height:8px}.gc-dependency-line--temp{stroke:var(--zinc-600);stroke-dasharray:5,3;opacity:.7}.gc-dependency-line--invalid{stroke:var(--zinc-800);stroke-dasharray:5,3}.gc-bar__handle{position:absolute;top:0;bottom:0;width:8px;cursor:ew-resize;opacity:0;transition:opacity var(--transition-fast)}.gc-bar__handle::before{content:"";position:absolute;top:50%;transform:translateY(-50%);width:2px;height:12px;background:rgba(0,0,0,.3);border-radius:1px}.gc-bar:hover .gc-bar__handle,.gc-bar--resizing .gc-bar__handle{opacity:1}.gc-bar__handle--left{left:0;cursor:w-resize}.gc-bar__handle--left::before{left:2px}.gc-bar__handle--right{right:0;cursor:e-resize}.gc-bar__handle--right::before{right:2px}.gc-bar--resizing{opacity:.8;z-index:10}.gc-bar--dragging{opacity:.9;z-index:10;cursor:grabbing;box-shadow:0 4px 12px rgba(0,0,0,.15)}.gc-bar--has-assignments{cursor:default}.gc-bar--has-assignments .gc-bar__handle--left{cursor:w-resize}.gc-bar--has-assignments .gc-bar__handle--right{cursor:e-resize}.gc-bar--error{animation:gc-bar-error-shake .3s ease-in-out;box-shadow:0 0 0 2px #ef4444}@keyframes gc-bar-error-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}.gc-archived{border-top:1px solid var(--zinc-600);background:var(--zinc-800)}.gc-archived__header{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);width:100%;background:none;border:none;cursor:pointer;transition:background var(--transition-fast)}.gc-archived__header:hover{background:var(--zinc-700)}.gc-archived__toggle{color:var(--zinc-400);transition:transform var(--transition-fast);flex-shrink:0}.gc-archived__toggle.gc-archived__toggle--expanded{transform:rotate(90deg)}.gc-archived__title{font-size:var(--font-size-xs);font-weight:500;color:var(--zinc-300)}.gc-archived__count{font-size:10px;font-weight:600;color:var(--zinc-400);background:var(--zinc-600);padding:1px 6px;border-radius:var(--radius-sm)}.gc-archived__content{padding:0 var(--spacing-4) var(--spacing-3)}.gc-archived__content.gc-archived__content--hidden{display:none}.gc-archived__row{display:flex;align-items:center;padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius);opacity:.6}.gc-archived__row:hover{background:var(--zinc-700)}.gc-footer{display:flex;justify-content:flex-start;padding:var(--spacing-2) var(--spacing-4);border-top:1px solid var(--zinc-600);margin-left:500px}.gc-container:has(.gc-sidebar--collapsed) .gc-footer{margin-left:350px}.gc-workload{width:100%;background:var(--zinc-800);border-radius:var(--radius-lg);border:1px solid var(--zinc-600);overflow:hidden;display:flex;flex-direction:column;margin-top:var(--spacing-4)}.gc-workload__header{display:flex;align-items:center;padding:var(--spacing-3) var(--spacing-4);background:var(--zinc-800);border-bottom:1px solid var(--zinc-600)}.gc-workload__title{font-size:var(--font-size-sm);font-weight:600;color:var(--zinc-100);margin:0;text-transform:uppercase;letter-spacing:.02em}.gc-workload__body{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:stretch;width:100%;max-height:300px;overflow:hidden}.gc-workload__sidebar{width:280px;min-width:280px;flex-shrink:0;border-right:1px solid var(--zinc-600);display:flex;flex-direction:column;transition:width var(--transition),min-width var(--transition)}.gc-container:not(:has(.gc-sidebar--collapsed))~.gc-workload .gc-workload__sidebar{width:500px;min-width:500px}.gc-workload__sidebar-header{display:flex;align-items:center;padding:var(--spacing-2) var(--spacing-3);background:var(--zinc-800);border-bottom:1px solid var(--zinc-600);font-size:10px;font-weight:600;color:var(--zinc-400);text-transform:uppercase;letter-spacing:.03em;height:80px;flex-shrink:0}.gc-workload__sidebar-content{flex:1;overflow-y:auto}.gc-workload__resource{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);border-bottom:1px solid var(--zinc-700);height:32px}.gc-workload__avatar{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:9px;font-weight:600;background:var(--bg, var(--zinc-600));color:var(--fg, var(--zinc-100));flex-shrink:0}.gc-workload__name{font-size:var(--font-size-xs);font-weight:500;color:var(--zinc-100);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gc-workload__timeline{flex:1 1 0%;min-width:0;overflow:auto;display:flex;flex-direction:column;--day-width: 80px}.gc-workload__timeline-header-wrapper{flex-shrink:0;position:sticky;top:0;z-index:3;background:var(--zinc-800)}.gc-workload__super-header{display:flex;background:var(--zinc-800);border-bottom:1px solid var(--zinc-600);height:28px}.gc-workload__super-cell{min-width:calc(var(--span, 1)*var(--day-width));width:calc(var(--span, 1)*var(--day-width));display:flex;align-items:center;justify-content:flex-start;font-size:11px;font-weight:600;color:var(--zinc-100);border-right:1px solid var(--zinc-500);flex-shrink:0;white-space:nowrap;text-transform:capitalize}.gc-workload__super-cell span{position:sticky;left:8px;background:var(--zinc-800);padding:0 var(--spacing-1)}.gc-workload__super-cell:last-child{border-right:none}.gc-workload__day-header{display:flex;background:var(--zinc-800);border-bottom:1px solid var(--zinc-600);height:52px}.gc-workload__day{min-width:var(--day-width);width:var(--day-width);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-1);border-right:1px solid var(--zinc-700);gap:2px;flex-shrink:0;background:var(--zinc-800)}.gc-workload__day:last-child{border-right:none}.gc-workload__day-name{font-size:9px;font-weight:600;color:var(--zinc-400);text-transform:uppercase;letter-spacing:.02em}.gc-workload__day-number{font-size:var(--font-size-xs);font-weight:600;color:var(--zinc-100)}.gc-workload__timeline-content{flex:1;position:relative}.gc-workload__row{display:flex;height:32px;min-height:32px;position:relative;flex-shrink:0}.gc-workload__cell{min-width:var(--day-width);width:var(--day-width);height:100%;border-right:1px solid var(--zinc-700);flex-shrink:0;box-sizing:border-box;background:var(--zinc-800)}.gc-workload__cell:last-child{border-right:none}.gc-workload-cell--today{border-left:3px solid var(--zinc-600)}.gc-workload-cell--weekend{background:var(--zinc-800)}.gc-workload-cell--holiday{background:var(--zinc-700)}.gc-workload-cell--closure{background:rgba(147,197,253,.5)}.gc-workload__cell--assigned{background:#fff3cf !important;box-shadow:inset 0 0 0 3px var(--zinc-800);border:1px dashed var(--zinc-400)}.gc-workload-day--today{border-left:3px solid var(--zinc-600)}.gc-workload-day--today .gc-workload__day-number{background:var(--zinc-200);color:#fff;border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center}.gc-workload-day--weekend{background:var(--zinc-700)}.gc-workload-day--holiday{background:var(--zinc-600)}.gc-body{position:relative}.gc-body .gcm-scroll-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:10;display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--zinc-700);border:1px solid var(--zinc-500);border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.15);color:var(--zinc-200);cursor:pointer;transition:all var(--transition-fast);opacity:.9}.gc-body .gcm-scroll-btn:hover{opacity:1;background:var(--zinc-600);color:var(--zinc-900);border-color:var(--zinc-500);box-shadow:0 4px 12px rgba(212,165,116,.4)}.gc-body .gcm-scroll-btn:active{transform:translateY(-50%) scale(0.95)}.gc-body .gcm-scroll-btn--left{left:358px}.gc-body .gcm-scroll-btn--right{right:8px}.gc-body .gcm-scroll-btn svg{flex-shrink:0}.gc-container:has(.gc-sidebar:not(.gc-sidebar--collapsed)) .gc-body .gcm-scroll-btn--left{left:508px}.timesheet-container{width:100%;overflow-x:auto;display:flex;flex-direction:column}.timesheet-header{display:grid;grid-template-columns:minmax(120px, 1fr) repeat(var(--timesheet-days, 5), 60px) 80px 120px;background:var(--zinc-800);border-bottom:1px solid var(--zinc-700);min-width:max-content}.timesheet-header .timesheet-col-employee{font-weight:600;font-size:var(--font-size-xs);color:var(--zinc-300);text-transform:uppercase;letter-spacing:.05em;overflow:visible;position:relative}.timesheet-header .timesheet-col-day{font-weight:500;font-size:var(--font-size-xs);color:var(--zinc-400);letter-spacing:.03em;line-height:1.4}.timesheet-header .timesheet-col-day .day-name{color:var(--zinc-400);font-weight:600;text-transform:uppercase;font-size:10px;letter-spacing:.05em}.timesheet-header .timesheet-col-day .day-number{color:var(--zinc-100);font-weight:600;font-size:var(--font-size-sm)}.timesheet-header .timesheet-col-total{font-weight:600;font-size:10px;color:var(--zinc-300);text-transform:uppercase;letter-spacing:.05em}.timesheet-col-employee{flex:1;min-width:0;padding:var(--spacing-3) var(--spacing-2);overflow:visible;text-overflow:ellipsis;display:flex;align-items:center}.timesheet-col-day{width:60px;min-width:60px;padding:var(--spacing-2) var(--spacing-1);text-align:center;border-right:1px solid var(--zinc-800);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;position:relative;overflow:visible}.timesheet-col-day turbo-frame{display:flex;flex-direction:column;align-items:center;gap:2px}.timesheet-col-day.non-working{background:var(--zinc-850);color:var(--zinc-600)}.timesheet-col-total{width:80px;min-width:80px;padding:var(--spacing-3) var(--spacing-3);text-align:center;border-left:1px solid var(--zinc-700);display:flex;align-items:center;justify-content:center}.timesheet-body{min-width:max-content}.timesheet-employee-section{border-bottom:1px solid var(--zinc-800)}.timesheet-employee-section:last-child{border-bottom:none}.timesheet-employee-row{display:grid;grid-template-columns:minmax(120px, 1fr) repeat(var(--timesheet-days, 5), 60px) 80px 120px;background:var(--zinc-800);cursor:pointer;user-select:none}.timesheet-employee-row:hover{background:var(--zinc-750)}.timesheet-employee-row .timesheet-col-employee{display:flex;align-items:center;gap:var(--spacing-2);position:relative;overflow:visible}.timesheet-employee-row .timesheet-col-employee a{color:var(--zinc-100);text-decoration:none;font-weight:600;font-size:var(--font-size-sm)}.timesheet-employee-row .timesheet-col-employee a:hover{color:var(--zinc-500)}.timesheet-employee-row .timesheet-col-total{font-weight:600;color:var(--zinc-50)}.timesheet-toggle-icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px;color:var(--zinc-500);transition:transform var(--transition-fast)}.timesheet-employee-section.expanded .timesheet-toggle-icon{transform:rotate(90deg)}.timesheet-sites-container{display:none}.timesheet-employee-section.expanded .timesheet-sites-container{display:block}.timesheet-switch-btn{display:inline-flex;align-items:center;padding:0;background:none;border:none;cursor:pointer}.timesheet-switch-track{display:flex;align-items:center;width:44px;height:24px;background:var(--zinc-700);border:1px solid var(--zinc-600);border-radius:12px;padding:2px;transition:all var(--transition-fast)}.timesheet-switch-btn.all-expanded .timesheet-switch-track{background:var(--zinc-600);border-color:var(--zinc-600)}.timesheet-switch-thumb{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:#fff;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform var(--transition-fast)}.timesheet-switch-btn.all-expanded .timesheet-switch-thumb{transform:translateX(20px)}.timesheet-switch-thumb .icon-expand,.timesheet-switch-thumb .icon-collapse{color:#000}.timesheet-switch-btn.all-expanded .timesheet-switch-thumb .icon-expand{display:none}.timesheet-switch-btn.all-expanded .timesheet-switch-thumb .icon-collapse{display:block}.timesheet-switch-btn:not(.all-expanded) .timesheet-switch-thumb .icon-expand{display:block}.timesheet-switch-btn:not(.all-expanded) .timesheet-switch-thumb .icon-collapse{display:none}.timesheet-site-row{display:grid;grid-template-columns:minmax(120px, 1fr) repeat(var(--timesheet-days, 5), 60px) 80px 120px;border-top:1px solid var(--zinc-800)}.timesheet-site-row .timesheet-col-employee{padding-left:var(--spacing-6)}.timesheet-site-name{color:var(--zinc-300);text-decoration:none;font-size:var(--font-size-sm)}.timesheet-site-name:hover{color:var(--zinc-500)}.timesheet-site-total{color:var(--zinc-400);font-weight:500;font-size:var(--font-size-sm)}.timesheet-site-row .timesheet-col-day{align-items:center;justify-content:center}.timesheet-site-row .timesheet-col-day>.btn{width:28px;height:28px;min-width:28px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:500;line-height:1}.timesheet-cell-placeholder{width:100%;flex-shrink:0;height:28px;min-height:28px}.timesheet-cell-placeholder:first-child{height:20px;min-height:20px}.timesheet-cell-placeholder:last-child{height:16px;min-height:16px}.timesheet-site-row .timesheet-col-day{min-height:72px;padding-top:var(--spacing-2);padding-bottom:var(--spacing-2)}.timesheet-site-row .timesheet-col-day turbo-frame{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:68px;width:100%}.timesheet-site-row .timesheet-col-day .btn-icon-sm,.timesheet-site-row .timesheet-col-day .btn-danger-outline.btn-icon-sm{height:20px;min-height:20px;width:20px;min-width:20px;padding:0;font-size:12px;line-height:1;flex-shrink:0}.timesheet-site-row .timesheet-col-day .btn-danger-outline{color:#ef4444;border-color:#ef4444}.timesheet-site-row .timesheet-col-day .btn-danger-outline:hover{color:#dc2626;border-color:#dc2626;background:rgba(239,68,68,.15)}.timesheet-site-row .timesheet-col-day .timesheet-input,.timesheet-site-row .timesheet-col-day .btn-primary-outline.validated,.timesheet-site-row .timesheet-col-day .btn-ghost.btn-dashed{width:44px;min-width:44px;height:28px;min-height:28px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;padding:0}.timesheet-site-row .timesheet-col-day .btn-ghost.btn-dashed{border-color:var(--zinc-600);color:var(--zinc-500)}.timesheet-site-row .timesheet-col-day .btn-ghost.btn-dashed svg{width:14px;height:14px}.timesheet-site-row .timesheet-col-day .btn-ghost.btn-dashed:hover{border-color:var(--zinc-500);color:var(--zinc-400);background:var(--zinc-800)}.timesheet-site-row .timesheet-col-day .timesheet-empty{width:44px;min-width:44px;height:28px;min-height:28px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.timesheet-site-row .timesheet-col-day .timesheet-distance{height:16px;min-height:16px;flex-shrink:0}.timesheet-site-row .timesheet-col-day form{display:contents}.timesheet-site-row .timesheet-col-day .btn-add-assignment{border-color:var(--zinc-300);color:var(--zinc-100);font-size:var(--font-size-base);font-weight:700}.timesheet-site-row .timesheet-col-day .btn-add-assignment:hover{border-color:var(--zinc-100);color:#fff;background:var(--zinc-700)}.timesheet-input{width:44px;height:28px;padding:0 var(--spacing-1);text-align:center;border:1px solid var(--zinc-600);border-radius:var(--radius);font-size:var(--font-size-sm);font-weight:500;background:var(--zinc-800);color:var(--zinc-100);transition:all var(--transition-fast)}.timesheet-input:hover{border-color:var(--zinc-500);background:var(--zinc-700)}.timesheet-input:focus{outline:none;border-color:var(--zinc-600);background:var(--zinc-700);box-shadow:0 0 0 1px rgba(82,82,91,.15)}.timesheet-input:disabled{background:var(--zinc-850);color:var(--zinc-500);border-color:rgba(0,0,0,0);cursor:default}.timesheet-input.validated{background:hsla(0,0%,100%,.08);border-color:var(--zinc-400);color:var(--zinc-100);font-weight:600}.timesheet-site-row .btn-primary-outline.validated{width:44px;height:28px;min-width:44px;min-height:28px;padding:0;text-align:center;border:1px solid var(--zinc-400);border-radius:var(--radius);font-size:var(--font-size-sm);font-weight:600;background:hsla(0,0%,100%,.08);color:var(--zinc-100);display:inline-flex;align-items:center;justify-content:center}.timesheet-site-row .btn-primary-outline.validated:hover{border-color:var(--zinc-300);background:hsla(0,0%,100%,.12)}.timesheet-site-row .timesheet-col-day turbo-frame:has(.btn-primary-outline.validated) .btn-danger-outline,.timesheet-site-row .timesheet-col-day turbo-frame:has(.timesheet-input.validated) .btn-danger-outline{visibility:hidden}.timesheet-input.saving{background:rgba(82,82,91,.15);border-color:var(--zinc-600);animation:pulse-saving 1s ease-in-out infinite}@keyframes pulse-saving{0%,100%{opacity:1}50%{opacity:.6}}.timesheet-input.saved{background:rgba(82,82,91,.15);border-color:var(--zinc-600)}.timesheet-input.error{border-color:var(--zinc-800);background:rgba(239,68,68,.1);color:var(--zinc-800)}.timesheet-input.forced{color:#ef4444;border-color:rgba(239,68,68,.3)}.timesheet-input.forced:focus{border-color:rgba(239,68,68,.5)}.btn-primary-outline.validated.forced,.timesheet-input.validated.forced{color:var(--zinc-100);border-color:#ef4444;background:rgba(239,68,68,.15)}.btn-primary-outline.validated.forced:hover,.timesheet-input.validated.forced:hover{border-color:#dc2626;background:rgba(239,68,68,.2)}.timesheet-distance.forced{color:#ef4444}.timesheet-table{width:100%;border-collapse:collapse}.timesheet-table th,.timesheet-table td{padding:var(--spacing-2) var(--spacing-3);text-align:center;border-bottom:1px solid var(--zinc-700)}.timesheet-table th{font-size:var(--font-size-xs);font-weight:500;color:var(--zinc-400);text-transform:uppercase;background:var(--zinc-800)}.timesheet-employee-col{text-align:left;min-width:200px}.timesheet-day-col{width:60px}.timesheet-day-col.holiday{background:#fef3c7}.timesheet-day-col.closure{background:#fee2e2}.timesheet-hours-cell{position:relative}.timesheet-hours-cell.holiday{background:#fef3c7}.timesheet-hours-cell.closure{background:#fee2e2}.timesheet-hours-cell.validated{background:#fefce8;cursor:pointer}.timesheet-hours-cell.validated:hover{background:#fef3c7}.timesheet-employee-cell{text-align:left}.timesheet-employee-name a{font-weight:500;color:var(--zinc-100);text-decoration:none}.timesheet-employee-name a:hover{color:var(--zinc-600)}.timesheet-sites{margin-top:var(--spacing-1);display:flex;flex-wrap:wrap;gap:var(--spacing-1)}.timesheet-site-badge{font-size:var(--font-size-xs);padding:2px 6px;background:var(--zinc-700);border-radius:var(--radius-sm);color:var(--zinc-400)}.timesheet-total-cell,.timesheet-km-cell{font-weight:500}.timesheet-status-cell{text-align:center}.timesheet-legend{margin-top:var(--spacing-4);display:flex;align-items:center;gap:var(--spacing-4);font-size:var(--font-size-sm);color:var(--zinc-400)}.legend-color{display:inline-block;width:16px;height:16px;border-radius:var(--radius-sm);vertical-align:middle;margin-right:var(--spacing-1)}.legend-color.holiday{background:#fef3c7}.legend-color.closure{background:#fee2e2}.timesheet-empty{color:var(--zinc-600);font-size:var(--font-size-sm)}.timesheet-absence,.timesheet-absence-dynamic{font-size:9px;font-weight:600;cursor:help;padding:2px 4px;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.02em}.timesheet-absence-conges_payes{background:var(--zinc-500);color:#854d0e}.timesheet-absence-sans_solde{background:#fef3c7;color:#b45309}.timesheet-absence-ferie{background:#fef9c3;color:#92400e}.timesheet-absence-formation{background:#fef3c7;color:#78350f}.timesheet-absence-ecole{background:#f5f0e6;color:#57534e}.timesheet-absence-maladie{background:#fef2f2;color:#dc2626}.timesheet-col-day.has-absence{background:rgba(0,0,0,0)}.timesheet-check{color:#22c55e;font-size:var(--font-size-base);font-weight:600}.timesheet-distance,button.timesheet-distance{display:inline-flex;align-items:center;gap:2px;font-size:9px;color:var(--zinc-400);cursor:pointer;white-space:nowrap;background:none;border:none;padding:0;font-family:inherit}.timesheet-distance svg{flex-shrink:0}.timesheet-distance:hover{color:var(--zinc-300)}.timesheet-distance.validated,button.timesheet-distance.validated{color:#e1a577;cursor:pointer}.timesheet-distance.validated:hover,button.timesheet-distance.validated:hover{color:#d08a5a;opacity:.8}.timesheet-distance.geocoding-failed,button.timesheet-distance.geocoding-failed{color:var(--zinc-800) !important;cursor:pointer}.timesheet-distance.geocoding-failed:hover,button.timesheet-distance.geocoding-failed:hover{color:#dc2626 !important;opacity:.8}.timesheet-distance-error,button.timesheet-distance-error{display:inline-flex;align-items:center;gap:2px;font-size:10px;font-weight:600;color:var(--zinc-700);cursor:pointer;background:none;border:none;padding:0;font-family:inherit}.timesheet-distance-error svg{flex-shrink:0}.timesheet-distance-error:hover{opacity:.7}.timesheet-distance-success{display:inline-flex;align-items:center;gap:2px;font-size:9px;color:#dceb4b;white-space:nowrap}.timesheet-distance-success svg{flex-shrink:0}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.timesheet-col-day form{display:inline}.timesheet-col-day turbo-frame{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;width:100%}.timesheet-col-day turbo-frame .timesheet-input{position:relative;z-index:1}.timesheet-col-action{width:120px;min-width:120px;flex-shrink:0;padding:var(--spacing-2) var(--spacing-1);text-align:center;display:flex;align-items:center;justify-content:center}.timesheet-check-muted{color:var(--zinc-400);font-size:var(--font-size-xs)}.timesheet-empty-state{text-align:center;padding:var(--spacing-8);color:var(--zinc-300)}.timesheet-empty-state__title{font-size:var(--font-size-lg);font-weight:700;color:var(--color-minor);margin:0 0 var(--spacing-3) 0;letter-spacing:-0.01em}.timesheet-empty-state__steps{font-size:var(--font-size-sm);line-height:1.8;margin:0;color:var(--zinc-200)}.timesheet-empty-state__steps a{color:var(--color-minor);text-decoration:underline;font-weight:600}.timesheet-empty-state__steps a:hover{color:var(--color-minor-light);text-decoration-thickness:2px}.timesheet-empty-state__steps .step-number{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--color-minor);color:var(--zinc-900);font-weight:700;font-size:var(--font-size-xs);margin-right:var(--spacing-2);flex-shrink:0}.week-nav{display:flex;align-items:center;gap:var(--spacing-2)}.week-label{font-weight:500;min-width:200px;text-align:center;font-size:var(--font-size-sm);color:var(--zinc-400)}.timesheet-cell-wrapper{position:relative;display:inline-block}.timesheet-absence-badge{min-width:40px;padding:2px 6px;border-radius:var(--radius-sm);font-size:var(--font-size-base);font-weight:500}.timesheet-absence-trigger{width:20px;height:20px;padding:0;border:none;border-radius:3px;background:var(--zinc-600);color:var(--zinc-300);cursor:pointer;opacity:.5;transition:opacity var(--transition-fast);display:flex;align-items:center;justify-content:center;margin-bottom:4px}.timesheet-col-day .timesheet-cell-wrapper{position:relative;display:flex;flex-direction:column;align-items:center;width:100%}.timesheet-col-day:hover .timesheet-absence-trigger,.timesheet-cell-wrapper:hover .timesheet-absence-trigger{opacity:1}.timesheet-absence-trigger:hover{background:var(--zinc-500);color:var(--zinc-100)}.timesheet-col-day .timesheet-dropdown{position:absolute;top:100%;left:50%;transform:translateX(-50%);z-index:100;min-width:160px;margin-top:4px;padding:var(--spacing-1);background:#fff;border:1px solid var(--zinc-600);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.timesheet-delete-btn{position:absolute;top:2px;right:2px;width:16px;height:16px;padding:0;border:none;border-radius:50%;background:var(--zinc-600);color:var(--zinc-300);font-size:var(--font-size-base);line-height:1;cursor:pointer;opacity:0;transition:all .15s ease;z-index:10}.timesheet-col-day:hover .timesheet-delete-btn{opacity:1}.timesheet-delete-btn:hover{background:#ef4444;color:#fff}.timesheet-add-site-row{display:flex;align-items:center;min-height:36px;border-bottom:1px solid var(--zinc-700);transition:background-color .15s ease}.timesheet-add-site-row:hover{background-color:var(--zinc-800)}.timesheet-site-dropdown{position:absolute;top:100%;left:0;z-index:100;min-width:200px;max-height:300px;overflow-y:auto;margin-top:4px;padding:var(--spacing-1);background:#fff;border:1px solid var(--zinc-600);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.timesheet-toolbar{display:flex;justify-content:flex-end;align-items:center;position:relative;margin-bottom:var(--spacing-3);background:rgba(0,0,0,0);gap:var(--spacing-3)}.timesheet-filter{display:flex;align-items:center;gap:var(--spacing-2)}.timesheet-filter .th-filter-label{font-size:var(--font-size-base);color:var(--zinc-400)}.timesheet-add-employee{display:flex;align-items:center;gap:var(--spacing-2)}.timesheet-add-employee-row{display:flex;align-items:center;min-height:40px}.timesheet-add-resource{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-4) var(--spacing-3);margin-top:var(--spacing-3);background:var(--zinc-850);border-radius:var(--radius-sm);border:1px dashed var(--zinc-700)}.timesheet-add-resource-label{font-size:var(--font-size-sm);font-weight:500;color:var(--zinc-400);white-space:nowrap}.timesheet-employee-select{font-size:var(--font-size-base);font-weight:500;color:var(--zinc-300);background:rgba(0,0,0,0);border:1px dashed var(--zinc-500);border-radius:var(--radius-sm);cursor:pointer;padding:var(--spacing-1) var(--spacing-4) var(--spacing-1) var(--spacing-2);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;transition:all .15s ease}.timesheet-employee-select:hover{border-color:var(--zinc-600);color:var(--zinc-600)}.timesheet-employee-select:focus{outline:none;border-color:var(--zinc-600);color:var(--zinc-600)}.timesheet-header-employee-select{font-size:var(--font-size-base);font-weight:600;color:var(--zinc-400);background:rgba(0,0,0,0);border:none;cursor:pointer;padding:var(--spacing-1) var(--spacing-4) var(--spacing-1) 0;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0 center;text-transform:uppercase;letter-spacing:.03em}.timesheet-header-employee-select:hover,.timesheet-header-employee-select:focus{outline:none;color:var(--zinc-600)}.timesheet-employee-dropdown{position:absolute;top:100%;left:0;z-index:100;min-width:220px;max-height:300px;overflow-y:auto;margin-top:4px;padding:var(--spacing-1);background:#fff;border:1px solid var(--zinc-600);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.timesheet-add-site-row .timesheet-col-employee,.timesheet-add-employee-row .timesheet-col-employee{position:relative}.timesheet-dropdown-label{padding:var(--spacing-1) var(--spacing-2);font-size:var(--font-size-base);font-weight:500;color:var(--zinc-300);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--zinc-700);margin-bottom:var(--spacing-1)}.timesheet-dropdown-back{display:block;width:100%;padding:var(--spacing-1) var(--spacing-2);border:none;background:rgba(0,0,0,0);color:var(--zinc-300);font-size:var(--font-size-base);text-align:left;cursor:pointer;transition:all .15s ease}.timesheet-dropdown-back:hover{color:var(--zinc-600);background:var(--zinc-800)}.decompte-wrapper{display:flex;flex-direction:column;gap:var(--spacing-4)}.decompte-container{background:var(--zinc-800);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}.decompte-scroll{overflow-x:auto;max-width:100%;padding-bottom:var(--spacing-4)}.decompte-table{width:100%;border-collapse:collapse;font-size:var(--font-size-xs);white-space:nowrap}.decompte-table thead{position:sticky;top:0;z-index:10;background:var(--zinc-800)}.decompte-header-row th{padding:var(--spacing-2) var(--spacing-1);text-align:center;font-weight:600;color:var(--zinc-100);border-bottom:1px solid var(--zinc-700)}.decompte-zones-row{display:table-row}.decompte-zones-row th{padding:var(--spacing-1);font-weight:500;font-size:.625rem;color:var(--zinc-400);border-bottom:2px solid var(--zinc-700);background:#2a2a2a}.decompte-col-fixed{position:sticky;background:var(--zinc-800);z-index:5}.decompte-col-salarie{left:0;min-width:150px;max-width:150px;text-align:left !important;padding-left:var(--spacing-3) !important;border-right:1px solid var(--zinc-700)}.decompte-warning{display:inline-flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);margin-bottom:var(--spacing-3);background:var(--zinc-800);border:1px solid var(--zinc-600);border-left:3px solid var(--color-minor);border-radius:var(--radius-sm);color:var(--zinc-200);font-size:var(--font-size-sm);position:relative;z-index:10}.decompte-warning svg{color:var(--color-minor);flex-shrink:0;width:18px;height:18px}.decompte-warning-error{border-left-color:#ef4444;display:flex;align-items:flex-start}.decompte-warning-error svg{color:#ef4444;margin-top:2px}.decompte-warning-content{display:flex;flex-direction:column;gap:var(--spacing-1)}.decompte-warning-content strong{color:var(--zinc-100);font-weight:600}.decompte-inconsistencies-list{margin:0;padding-left:var(--spacing-4);font-size:var(--font-size-xs);color:var(--zinc-400)}.decompte-inconsistencies-list li{margin-bottom:var(--spacing-1)}.decompte-col-coef{left:150px;min-width:45px;text-align:center !important}.decompte-col-contract{left:195px;min-width:70px;text-align:center !important;border-right:1px solid var(--zinc-700)}.decompte-col-day{min-width:32px;max-width:32px;text-align:center;padding:var(--spacing-1) !important}.decompte-col-day.non-working{background:var(--zinc-700)}.decompte-col-day .day-name{display:block;font-size:.5625rem;color:var(--zinc-400);text-transform:capitalize}.decompte-col-day .day-number{display:block;font-weight:600}.decompte-col-zone-group{background:var(--zinc-800) !important;border-left:2px solid var(--zinc-700);border-right:2px solid var(--zinc-700)}.decompte-col-zone-group-transport{background:#3a3a3a !important}.decompte-col-zone{min-width:24px;max-width:24px;text-align:center;padding:var(--spacing-1) !important}.decompte-col-zone-trajet{background:var(--zinc-800)}.decompte-col-zone-transport{background:#3a3a3a}th.decompte-col-zone-transport{background:#3a3a3a !important}.decompte-col-meals{min-width:45px;text-align:center !important;border-left:2px solid var(--zinc-700);background:var(--zinc-800) !important;border-right:1px solid var(--zinc-700)}.decompte-col-total{min-width:70px;text-align:center !important;border-left:2px solid var(--zinc-700);background:var(--zinc-800) !important}.decompte-row{border-bottom:1px solid var(--zinc-700)}.decompte-row:hover{background:var(--zinc-800)}.decompte-row:hover .decompte-col-fixed{background:var(--zinc-800)}.decompte-row td{padding:var(--spacing-2) var(--spacing-1);vertical-align:middle}.salarie-info{display:flex;flex-direction:column;gap:2px}.salarie-name{font-weight:500;color:var(--zinc-100);text-decoration:none}.salarie-name:hover{color:var(--zinc-700)}.salarie-name-row{display:flex;align-items:center;gap:6px}.office-worker-icon{display:inline-flex;align-items:center;color:var(--zinc-400)}.office-worker-icon svg{stroke:var(--zinc-500)}.salarie-regime{font-size:.5625rem;color:var(--zinc-400)}.decompte-hours{font-weight:500;color:var(--zinc-100)}.decompte-absence{display:inline-block;padding:2px 4px;border-radius:var(--radius-sm);font-size:.5625rem;font-weight:600}.decompte-empty{color:var(--zinc-500)}.zone-disabled{color:var(--zinc-500);font-size:.5rem}.decompte-legend{margin-top:var(--spacing-4);padding:var(--spacing-4);background:var(--zinc-800);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.decompte-legend .legend-section{margin-bottom:var(--spacing-3)}.decompte-legend .legend-section:last-child{margin-bottom:0}.decompte-legend h4{margin:0 0 var(--spacing-2) 0;font-size:var(--font-size-sm);font-weight:600;color:var(--zinc-100)}.decompte-legend .legend-items{display:flex;flex-wrap:wrap;gap:var(--spacing-2)}.decompte-legend .legend-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-sm);font-size:var(--font-size-xs)}.decompte-legend .legend-text{font-size:var(--font-size-xs);color:var(--zinc-400)}.decompte-col-acb-group{background:rgba(82,82,91,.15) !important;border-left:2px solid var(--zinc-600);border-right:2px solid var(--zinc-600);color:var(--zinc-600)}.decompte-col-acb{min-width:50px;max-width:50px;text-align:center !important;padding:var(--spacing-1) !important;background:#3a3a3a !important;border-right:1px solid var(--zinc-700);color:#c6c1c1}th.decompte-col-acb{font-size:10px;line-height:1.2;white-space:normal;word-wrap:break-word;background:#3a3a3a !important;color:#c6c1c1}.decompte-row td.decompte-col-acb{font-weight:500;background:#3a3a3a !important}.acb-info-box{display:flex;align-items:flex-start;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);margin-top:var(--spacing-4);background:rgba(82,82,91,.15);border:1px solid rgba(106,159,212,.3);border-radius:var(--radius-md);color:var(--zinc-600);font-size:var(--font-size-sm)}.acb-info-box svg{flex-shrink:0;margin-top:2px;stroke:var(--zinc-600)}.acb-info-box-content{display:flex;flex-direction:column;gap:var(--spacing-2)}.acb-info-box-title{font-weight:600;margin-bottom:var(--spacing-1)}.acb-info-box ul{margin:0;padding-left:var(--spacing-4)}.acb-info-box li{margin-bottom:var(--spacing-1)}.acb-info-box li:last-child{margin-bottom:0}.acb-info-box strong{color:var(--zinc-600)}.card-header-with-action{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-4)}.card-header-with-action h2{margin:0 0 var(--spacing-1) 0}.card-header-with-action .settings-description{margin:0}.team-members-list{display:flex;flex-direction:column;gap:var(--spacing-2)}.team-member-card{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);background:var(--zinc-800);border:1px solid var(--zinc-700);border-radius:var(--radius);transition:all var(--transition-fast)}.team-member-card:hover{background:var(--zinc-700);border-color:var(--zinc-600)}.team-member-card-owner{background:var(--zinc-800);border-color:var(--zinc-600)}.team-member-card-owner:hover{background:var(--zinc-700);border-color:var(--zinc-500)}.team-member-card-avatar{width:40px;height:40px;border-radius:50%;background:var(--zinc-600);color:var(--zinc-200);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--font-size-sm);flex-shrink:0}.team-member-card-owner .team-member-card-avatar{background:var(--zinc-600);color:var(--zinc-200)}.team-member-card-pending{background:var(--zinc-850);border:1px dashed var(--zinc-600)}.team-member-card-pending:hover{background:var(--zinc-800);border-color:var(--zinc-500)}.team-member-card-avatar-pending{background:var(--zinc-700);border-color:var(--zinc-600);color:var(--zinc-400)}.team-member-card-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.team-member-card-name{font-weight:600;font-size:var(--font-size-sm);color:var(--zinc-200);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color var(--transition-fast)}.team-member-card:hover .team-member-card-name{color:var(--zinc-100)}.team-member-card-owner .team-member-card-name{color:var(--zinc-200)}.team-member-card-owner:hover .team-member-card-name{color:var(--zinc-100)}.team-member-card-email{font-size:var(--font-size-xs);color:var(--zinc-300);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-member-card-meta{font-size:var(--font-size-xs);color:var(--zinc-400)}.team-member-card-actions{display:flex;gap:var(--spacing-2);opacity:0;transition:opacity var(--transition-fast)}.team-member-card:hover .team-member-card-actions{opacity:1}.team-member-card-actions .btn-icon{color:var(--zinc-400);transition:all var(--transition-fast)}.team-member-card-actions .btn-icon:hover{color:var(--zinc-50);background:var(--zinc-600)}.team-member-card-actions .btn-icon-danger:hover{color:var(--zinc-800);background:rgba(39,39,42,.25)}.team-limit-notice{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);background:var(--zinc-800);border:1px solid var(--zinc-700);border-radius:var(--radius);color:var(--zinc-300);font-size:var(--font-size-sm)}.team-limit-notice svg{flex-shrink:0;color:var(--zinc-400)}.info-cards-vertical{flex-direction:column}.info-cards-vertical .info-card{flex:none}.team-list{display:flex;flex-direction:column;gap:var(--spacing-3)}.team-member{display:flex;align-items:center;gap:var(--spacing-4);padding:var(--spacing-4);background:var(--zinc-800);border:1px solid var(--zinc-700);border-radius:var(--radius-lg)}.team-member-owner{background:var(--zinc-800)}.team-member-pending{background:var(--zinc-850);border:1px dashed var(--zinc-600)}.team-member-avatar{width:40px;height:40px;border-radius:50%;background:var(--zinc-600);color:var(--zinc-200);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--font-size-base);flex-shrink:0;border:2px solid var(--zinc-500)}.team-member-avatar-pending{background:var(--zinc-700);border-color:var(--zinc-600)}.team-member-info{flex:1;min-width:0}.team-member-email{display:block;font-weight:600;color:var(--zinc-200);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-member-role{display:block;font-size:var(--font-size-sm);color:var(--zinc-300)}.team-member-date{display:block;font-size:var(--font-size-xs);color:var(--zinc-400)}.team-member-actions{display:flex;gap:var(--spacing-2)}.team-empty{padding:var(--spacing-8);text-align:center;color:var(--zinc-400)}.role-card{background:var(--zinc-800);border:1px solid var(--zinc-700);border-radius:var(--radius);padding:var(--spacing-4)}.role-card-header{display:flex;align-items:center;gap:var(--spacing-3);margin-bottom:var(--spacing-3)}.role-card-icon{width:40px;height:40px;border-radius:var(--radius);background:var(--zinc-700);color:var(--zinc-300);display:flex;align-items:center;justify-content:center;flex-shrink:0}.role-card-header h4{margin:0;font-size:var(--font-size-base);font-weight:600;color:var(--zinc-200)}.role-card-header p{margin:var(--spacing-1) 0 0 0;font-size:var(--font-size-sm);color:var(--zinc-400)}.role-permissions{display:flex;flex-direction:column;gap:var(--spacing-2);padding-left:var(--spacing-2)}.permission-item{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-sm);color:var(--zinc-300)}.permission-item svg{flex-shrink:0;width:16px;height:16px}.permission-granted svg{color:var(--zinc-300)}.permission-granted span{color:var(--zinc-200)}.permission-denied svg{color:var(--zinc-600)}.permission-denied span{color:var(--zinc-500)}.permissions-table-wrapper{overflow-x:auto}.permissions-table{width:100%;border-collapse:collapse}.permissions-table th,.permissions-table td{padding:var(--spacing-2) var(--spacing-3);text-align:left;border-bottom:1px solid var(--zinc-700)}.permissions-table th{font-size:var(--font-size-xs);font-weight:600;color:var(--zinc-400);text-transform:uppercase;letter-spacing:.05em}.permissions-table td{font-size:var(--font-size-sm);color:var(--zinc-300)}.permissions-table td:first-child{color:var(--zinc-200)}.permissions-table tbody tr:last-child td{border-bottom:none}.text-center{text-align:center}.permission-badge{display:inline-block;font-size:var(--font-size-xs);font-weight:500}.permission-badge-yes{color:var(--zinc-200)}.permission-badge-no{color:var(--zinc-500)}.settings-container{display:flex;flex-direction:column;gap:var(--spacing-4);flex:1 1 0;min-height:0;overflow-y:auto;padding-bottom:var(--spacing-6)}.settings-tabs{display:flex;gap:var(--spacing-2);border-bottom:1px solid var(--zinc-700);padding-bottom:var(--spacing-2)}.settings-panel{display:none}.settings-panel.active{display:block}.settings-panel .card .form{max-width:none}.settings-description{color:var(--zinc-400);font-size:var(--font-size-xs);margin-bottom:var(--spacing-3)}.card-header-with-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-4)}.card-header-with-nav h2{margin:0}.year-nav{display:flex;gap:var(--spacing-2)}.holidays-grid{display:flex;flex-wrap:wrap;gap:var(--spacing-2)}.holidays-grid.holidays-disabled{opacity:.6}.holiday-chip{display:flex;align-items:center;background:var(--zinc-800);border:1px solid var(--zinc-700);border-radius:var(--radius);overflow:hidden}.holiday-chip.disabled{background:var(--zinc-850);border-color:var(--zinc-800)}.holiday-chip-date{font-weight:600;color:var(--zinc-200)}.holiday-chip-name{color:var(--zinc-400)}.holiday-chip-custom{color:var(--zinc-300)}.holiday-chip-delete{background:none;border:none;color:var(--zinc-500);cursor:pointer;padding:var(--spacing-1) var(--spacing-2);font-size:var(--font-size-sm)}.holiday-chip-delete:hover{color:var(--zinc-800);background:var(--zinc-700)}.holiday-toggle-form{display:inline}.closures-list{display:flex;flex-direction:column;gap:var(--spacing-2);margin-bottom:var(--spacing-4)}.closure-card{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);background:var(--zinc-800);border-radius:var(--radius);border:1px solid var(--zinc-700);transition:all var(--transition-fast)}.closure-card:hover{background:var(--zinc-700);border-color:var(--zinc-600)}.closure-card-content{display:flex;align-items:center;gap:var(--spacing-4);flex:1}.closure-card-name{font-weight:500;font-size:var(--font-size-sm);color:var(--zinc-200);min-width:150px}.closure-card-dates{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-sm);color:var(--zinc-400)}.closure-card-recurring{display:inline-flex;align-items:center;padding:2px var(--spacing-2);background:var(--zinc-700);color:var(--zinc-300);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:500;white-space:nowrap}.inline-form-compact{display:flex;align-items:center;gap:var(--spacing-2);flex-wrap:wrap}.inline-form-compact input[type=text],.inline-form-compact input[type=date]{padding:var(--spacing-2);font-size:var(--font-size-sm);border:1px solid var(--zinc-600);border-radius:var(--radius);background:var(--zinc-800);color:var(--zinc-200)}.inline-form-compact input[type=text]{width:150px}.inline-form-compact input[type=date]{width:130px}.form-separator{color:var(--zinc-500)}.closure-dates{color:var(--zinc-400);font-size:var(--font-size-sm)}.input-with-suffix{display:flex;align-items:center;gap:var(--spacing-2)}.input-with-suffix input{width:120px}.input-suffix{color:var(--zinc-400);font-size:var(--font-size-sm)}.inline-save-group{max-width:320px}.inline-save-group label{display:block;font-size:var(--font-size-sm);font-weight:500;margin-bottom:var(--spacing-2);color:var(--zinc-200)}.inline-save-input{display:flex;align-items:center;gap:var(--spacing-2)}.inline-save-input input{width:70px;padding:var(--spacing-2);font-size:var(--font-size-sm);font-family:inherit;font-weight:500;color:var(--zinc-200);background:var(--zinc-800);border:1px solid var(--zinc-600);border-radius:var(--radius);transition:all var(--transition-fast);text-align:center}.inline-save-input input:focus{outline:none;border-color:var(--zinc-600);background:var(--zinc-800)}.inline-save-input .input-suffix{color:var(--zinc-400);font-size:var(--font-size-sm);white-space:nowrap}.inline-save-group.saved .inline-save-input input{background-color:var(--zinc-800)}.inline-save-group.modified .inline-save-input input{border-color:var(--zinc-600)}.custom-allowances-section{margin-top:var(--spacing-4);padding:var(--spacing-4);background:var(--zinc-800);border-radius:var(--radius);border:1px solid var(--zinc-700)}.custom-allowances-section h4{font-size:var(--font-size-sm);font-weight:600;margin:0 0 var(--spacing-1) 0;color:var(--zinc-200)}.custom-allowances-section .form-hint{margin-top:0;margin-bottom:var(--spacing-3)}.custom-allowances-grid{display:flex;flex-direction:column;gap:var(--spacing-2)}.custom-allowance-item{display:flex;align-items:flex-start;gap:var(--spacing-3);padding:var(--spacing-3);background:var(--zinc-850);border:1px solid var(--zinc-700);border-radius:var(--radius);cursor:pointer;transition:all var(--transition-fast)}.custom-allowance-item:hover{border-color:var(--zinc-600)}.custom-allowance-item:has(.custom-allowance-checkbox:checked){border-color:var(--zinc-500);background:var(--zinc-800)}.custom-allowance-checkbox{margin-top:2px;width:18px;height:18px;accent-color:var(--zinc-400)}.custom-allowance-content{flex:1}.custom-allowance-title{display:block;font-size:var(--font-size-sm);font-weight:500;color:var(--zinc-200)}.custom-allowance-desc{display:block;font-size:var(--font-size-xs);color:var(--zinc-400);margin-top:2px}.info-cards{display:flex;gap:var(--spacing-3);margin-top:var(--spacing-2)}.info-card{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);background:var(--zinc-800);border-radius:var(--radius);border:1px solid var(--zinc-700);flex:1}.info-card-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--zinc-700);border-radius:var(--radius);color:var(--zinc-300);flex-shrink:0}.info-card-icon svg{width:20px;height:20px}.info-card h4{margin:0;font-size:var(--font-size-sm);font-weight:600;color:var(--zinc-200)}.info-card p{margin:0;font-size:var(--font-size-xs);color:var(--zinc-400)}.table-rules-wrapper{background:var(--zinc-800);border-radius:var(--radius);padding:var(--spacing-4);border:1px solid var(--zinc-700)}.table-rules-wrapper .table{background:var(--zinc-850);border-radius:var(--radius-sm);overflow:hidden}.table-rules-wrapper .table th{background:var(--zinc-800);white-space:nowrap}.table-rules-wrapper .table td:first-child{font-weight:500}.rules-table{max-width:600px}.rules-table th:not(:first-child),.rules-table td:not(:first-child){text-align:center;width:90px}.rules-table th:first-child,.rules-table td:first-child{width:auto}.badge-yes{background:var(--zinc-700);color:var(--zinc-200)}.badge-no{background:var(--zinc-800);color:var(--zinc-500)}.zones-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:var(--spacing-4);margin-top:var(--spacing-2)}.zone-column h4{font-size:var(--font-size-xs);font-weight:600;margin-bottom:var(--spacing-2);color:var(--zinc-400);text-transform:uppercase;letter-spacing:.05em}.zones-table{max-width:100%}.zones-table td:last-child{width:auto}.vehicle-types-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:var(--spacing-3)}.vehicle-type-card{background:var(--zinc-800);border:1px solid var(--zinc-700);border-radius:var(--radius);padding:var(--spacing-3)}.vehicle-type-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-2)}.vehicle-type-card-header h4{font-size:var(--font-size-xs);font-weight:600;margin:0;color:var(--zinc-200)}.employee-count{background:var(--zinc-700);color:var(--zinc-300);font-size:var(--font-size-xs);font-weight:600;padding:2px 6px;border-radius:var(--radius);min-width:18px;text-align:center}.vehicle-type-badges{display:flex;flex-wrap:wrap;gap:var(--spacing-1);margin-bottom:var(--spacing-2);padding-bottom:var(--spacing-2);border-bottom:1px solid var(--zinc-700)}.vehicle-type-badges .badge{font-size:10px;padding:2px 6px}.vehicle-type-employees{display:flex;flex-wrap:wrap;gap:var(--spacing-1)}.employee-chip{background:var(--zinc-850);padding:2px var(--spacing-2);border-radius:var(--radius);font-size:var(--font-size-xs);color:var(--zinc-300);text-decoration:none;transition:all .15s ease;border:1px solid var(--zinc-700)}.employee-chip:hover{background:var(--zinc-700);color:var(--zinc-100);border-color:var(--zinc-600)}.empty-hint{font-size:var(--font-size-xs);color:var(--zinc-500);font-style:italic;margin:0}.weekend-days-grid{display:flex;gap:var(--spacing-3);flex-wrap:wrap}.weekend-day-checkbox{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);background:var(--zinc-800);border-radius:var(--radius);cursor:pointer;transition:background var(--transition-fast)}.closure-dates{display:flex;align-items:center;gap:var(--spacing-1)}.weekend-days-grid{display:grid;grid-template-columns:repeat(7, 1fr);gap:var(--spacing-2)}.weekend-day-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-3) var(--spacing-2);background:var(--zinc-800);border:2px solid rgba(0,0,0,0);border-radius:var(--radius);cursor:pointer;transition:all var(--transition-fast);text-align:center}.weekend-day-card:hover{background:var(--zinc-700);border-color:var(--zinc-600)}.weekend-day-card.active{background:var(--zinc-700);border-color:var(--zinc-500)}.weekend-day-name{font-size:var(--font-size-sm);font-weight:500;color:var(--zinc-300);margin-bottom:var(--spacing-1)}.weekend-day-card.active .weekend-day-name{color:var(--zinc-100)}.weekend-day-status{font-size:var(--font-size-xs);color:var(--zinc-500)}.weekend-day-card.active .weekend-day-status{color:var(--zinc-300);font-weight:500}.weekend-day-input{position:absolute;opacity:0;pointer-events:none}.empty-state-inline{padding:var(--spacing-4);text-align:center;color:var(--zinc-400);font-size:var(--font-size-sm);background:var(--zinc-800);border-radius:var(--radius);margin-bottom:var(--spacing-4)}.form-actions-inline{margin-top:var(--spacing-4);padding-top:var(--spacing-4);border-top:1px solid var(--zinc-700)}.weekend-days-row{display:flex;align-items:center;gap:var(--spacing-2);flex-wrap:wrap}.weekend-day-item{display:flex;align-items:center;justify-content:center;padding:var(--spacing-2);background:var(--zinc-800);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.weekend-day-item:hover{background:var(--zinc-700)}.weekend-day-item.active{background:var(--zinc-700);color:var(--zinc-200)}.weekend-day-abbrev{font-size:var(--font-size-xs);font-weight:500;text-transform:capitalize}.btn-block{width:100%}.absence-types-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(200px, 1fr));gap:var(--spacing-3)}.absence-type-card{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3);background:var(--zinc-800);border:1px solid var(--zinc-700);border-radius:var(--radius)}.absence-type-info{display:flex;flex-direction:column;gap:2px}.absence-type-name{font-weight:500;font-size:var(--font-size-sm);color:var(--zinc-200)}.absence-type-key{font-size:var(--font-size-xs);color:var(--zinc-500);font-family:monospace}.absence-legend{display:flex;flex-direction:column;gap:var(--spacing-2)}.absence-legend-item{display:flex;align-items:center;gap:var(--spacing-3);font-size:var(--font-size-sm);color:var(--zinc-400)}.absence-legend-item .timesheet-absence{flex-shrink:0;width:32px;text-align:center}.absence-types-list{display:flex;flex-direction:column;gap:var(--spacing-2)}.absence-type-row{background:var(--zinc-800);border:1px solid var(--zinc-700);border-radius:var(--radius);padding:var(--spacing-3)}.absence-type-row:hover{background:var(--zinc-700)}.absence-type-preview{display:flex;align-items:center;gap:var(--spacing-3)}.absence-type-desc{font-size:var(--font-size-xs);color:var(--zinc-400)}.absence-type-actions{display:flex;gap:var(--spacing-1);margin-left:auto}.absence-type-row{display:flex;align-items:center;flex-wrap:wrap}.absence-type-edit{width:100%;margin-top:var(--spacing-3);padding-top:var(--spacing-3);border-top:1px solid var(--zinc-700)}.absence-type-edit-form{display:flex;flex-direction:column;gap:var(--spacing-3)}.absence-type-edit-fields{display:flex;gap:var(--spacing-2);flex-wrap:wrap;align-items:center}.absence-type-edit-actions{display:flex;gap:var(--spacing-2)}.absence-type-add-form{max-width:none}.absence-type-add-fields{display:flex;gap:var(--spacing-2);flex-wrap:wrap;align-items:stretch}.absence-type-add-fields .btn{align-self:stretch}.form-input-sm{padding:var(--spacing-2);font-size:var(--font-size-sm);border:1px solid var(--zinc-600);border-radius:var(--radius-sm);background:var(--zinc-800);color:var(--zinc-200)}.form-input-sm:focus{outline:none;border-color:var(--zinc-500);background:var(--zinc-700)}.form-input-abbrev{width:100px;text-transform:uppercase}.form-input-desc{flex:1;min-width:200px}.form-select-sm{padding:var(--spacing-2);font-size:var(--font-size-base);border:1px solid var(--zinc-600);border-radius:var(--radius-sm);background:var(--zinc-800);color:var(--zinc-200);cursor:pointer}.form-select-sm:focus{outline:none;border-color:var(--zinc-500);background:var(--zinc-700)}.color-palette{display:flex;gap:var(--spacing-2);flex-wrap:wrap}.color-swatch{padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:500}.weather-status-card{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-4);padding:var(--spacing-4);background:var(--zinc-800);border-radius:var(--radius);border:1px solid var(--zinc-700)}.weather-status-info{display:flex;flex-direction:column;gap:var(--spacing-2);flex:1}.weather-status-row{display:flex;align-items:center;gap:var(--spacing-3)}.weather-status-label{font-size:var(--font-size-xs);color:var(--zinc-400);min-width:150px}.weather-status-value{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-sm);color:var(--zinc-200)}.weather-api-counter{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;background:var(--zinc-700);color:var(--zinc-200);border-radius:var(--radius-sm);font-weight:600;font-size:var(--font-size-sm)}.weather-api-counter--empty{background:var(--zinc-800);color:var(--zinc-500)}.weather-api-hint{font-size:var(--font-size-xs);color:var(--zinc-500)}.weather-status-actions{flex-shrink:0}.weather-disclaimer{margin-top:var(--spacing-3);font-style:italic;color:var(--zinc-500)}.acb-section-content{display:flex;flex-direction:column;gap:var(--spacing-4)}.acb-communes-section{margin-top:0}.acb-communes-section h4{font-size:var(--font-size-xs);font-weight:600;margin-bottom:var(--spacing-2);color:var(--zinc-400);text-transform:uppercase;letter-spacing:.05em}.communes-list{display:flex;flex-wrap:wrap;gap:var(--spacing-2);padding:var(--spacing-3);background:var(--zinc-800);border-radius:var(--radius);border:1px solid var(--zinc-700)}.commune-chip{display:inline-flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-1) var(--spacing-2);background:var(--zinc-850);border:1px solid var(--zinc-700);border-radius:var(--radius-sm);font-size:var(--font-size-xs)}.commune-name{font-weight:500;color:var(--zinc-200)}.commune-postal{color:var(--zinc-500);font-family:var(--font-mono)}.commune-delete{display:inline-flex;align-items:center;justify-content:center;padding:2px;background:rgba(0,0,0,0);border:none;color:var(--zinc-500);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);margin-left:var(--spacing-1)}.commune-delete:hover{background:rgba(39,39,42,.25);color:var(--zinc-800)}.communes-list-footer{width:100%;margin-top:var(--spacing-2);padding-top:var(--spacing-3);border-top:1px solid var(--zinc-700)}.communes-list-footer .inline-form-compact{display:flex;gap:var(--spacing-2);align-items:center}.communes-list-footer input[type=text]{padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--zinc-600);border-radius:var(--radius-sm);font-size:var(--font-size-xs);background:var(--zinc-850);color:var(--zinc-200)}.communes-list-footer input[name="arcachon_basin_commune[name]"]{width:150px}.communes-list-footer input[name="arcachon_basin_commune[postal_code]"]{width:100px}.table-mini{font-size:var(--font-size-xs)}.table-mini td{padding:var(--spacing-1) var(--spacing-2);color:var(--zinc-300)}.table-mini td:first-child{font-weight:600;color:var(--zinc-200);width:50px}.vehicle-type-card-muted{background:var(--zinc-850);border:1px dashed var(--zinc-700);margin-top:var(--spacing-4)}.vehicle-type-card-muted .vehicle-type-card-header h4{color:var(--zinc-400)}.vehicle-type-card-muted .employee-count{background:var(--zinc-800);color:var(--zinc-500)}.acb-info-box{display:flex;gap:var(--spacing-3);padding:var(--spacing-4);background:var(--zinc-800);border:1px solid var(--zinc-700);border-radius:var(--radius);margin-top:var(--spacing-4)}.acb-info-box>svg{flex-shrink:0;color:var(--zinc-400)}.acb-info-box-content{flex:1}.acb-info-box-title{font-weight:600;font-size:var(--font-size-sm);color:var(--zinc-200);margin-bottom:var(--spacing-2)}.acb-info-box p{font-size:var(--font-size-sm);color:var(--zinc-400);margin:0 0 var(--spacing-2) 0}.acb-info-box ul{margin:0;padding-left:var(--spacing-4);font-size:var(--font-size-sm);color:var(--zinc-400)}.acb-info-box li{margin-bottom:var(--spacing-1)}.acb-info-box li:last-child{margin-bottom:0}.acb-info-box strong{color:var(--zinc-200)}.table-compact{width:100%;border-collapse:collapse}.table-compact th,.table-compact td{padding:var(--spacing-2) var(--spacing-3);text-align:left;border-bottom:1px solid var(--zinc-700)}.table-compact th{font-size:var(--font-size-xs);font-weight:600;color:var(--zinc-400);text-transform:uppercase;letter-spacing:.05em;background:var(--zinc-800)}.table-compact td{font-size:var(--font-size-sm);color:var(--zinc-300)}.table-compact td:first-child{color:var(--zinc-200);font-weight:500}.table-compact tbody tr:last-child td{border-bottom:none}.table-compact tbody tr:hover{background:var(--zinc-800)}@media(max-width: 1024px){.vehicle-types-grid{grid-template-columns:repeat(2, 1fr)}}@media(max-width: 768px){.info-cards{flex-direction:column}.info-card{flex:none}.zones-grid{grid-template-columns:1fr;gap:var(--spacing-3)}.vehicle-types-grid{grid-template-columns:1fr}.weekend-days-grid{grid-template-columns:repeat(auto-fit, minmax(90px, 1fr))}.closure-card-content{flex-direction:column;align-items:flex-start;gap:var(--spacing-2)}.closure-card-name{min-width:auto}.table-rules-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-rules-wrapper .table{min-width:400px}.inline-save-group{max-width:100%}.communes-list-footer .inline-form-compact{flex-wrap:wrap}.communes-list-footer input[name="arcachon_basin_commune[name]"]{flex:1;min-width:120px}.checkbox-card{max-width:100%}.absence-type-add-fields,.absence-type-edit-fields{flex-direction:column;align-items:stretch}.absence-type-add-fields>*,.absence-type-edit-fields>*{width:100%}.form-input-abbrev{width:100%}.form-input-desc{min-width:auto}}@media(max-width: 480px){.card-header-with-nav{flex-direction:column;align-items:flex-start;gap:var(--spacing-2)}.year-nav{width:100%;justify-content:space-between}.holiday-chip-btn{padding:var(--spacing-1) var(--spacing-2);flex-direction:column;align-items:flex-start;gap:var(--spacing-1)}.weather-status-card{flex-direction:column;gap:var(--spacing-3)}.weather-status-actions{width:100%}.weather-status-actions .btn{width:100%;justify-content:center}.weather-status-row{flex-direction:column;align-items:flex-start;gap:var(--spacing-1)}.weather-status-label{min-width:auto}.inline-form-compact{flex-direction:column;align-items:stretch}.inline-form-compact input[type=text],.inline-form-compact input[type=date]{width:100%}.acb-info-box{flex-direction:column}.acb-info-box>svg{align-self:flex-start}}.allowance-stats{display:grid;grid-template-columns:repeat(3, 1fr);gap:var(--spacing-4);margin-bottom:var(--spacing-5)}.allowance-stat-card{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-4);background:var(--zinc-800);border:1px solid var(--zinc-700);border-radius:var(--radius-lg);transition:all var(--transition-fast);position:relative}.allowance-stat-card:hover{border-color:var(--zinc-600);background:var(--zinc-750)}.allowance-stat-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:rgba(82,82,91,.15);border-radius:var(--radius);color:var(--zinc-600);flex-shrink:0}.allowance-stat-icon svg{width:24px;height:24px}.allowance-stat-content{display:flex;flex-direction:column;gap:var(--spacing-1);flex:1}.allowance-stat-label{font-size:var(--font-size-xs);font-weight:500;color:var(--zinc-400);text-transform:uppercase;letter-spacing:.05em}.allowance-stat-value{font-size:var(--font-size-lg);font-weight:600;color:var(--zinc-100)}.regime-cards-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:var(--spacing-3)}.regime-card{background:var(--zinc-800);border:1px solid var(--zinc-700);border-radius:var(--radius);padding:var(--spacing-4);text-align:center;transition:all var(--transition-fast)}.regime-card:hover{border-color:var(--zinc-600)}.regime-card--muted{background:var(--zinc-850);border-style:dashed;opacity:.7}.regime-card-icon{width:40px;height:40px;margin:0 auto var(--spacing-3);display:flex;align-items:center;justify-content:center;background:var(--zinc-700);border-radius:var(--radius);color:var(--zinc-300)}.regime-card-icon svg{width:20px;height:20px}.regime-card-title{font-size:var(--font-size-xs);font-weight:600;color:var(--zinc-200);margin:0 0 var(--spacing-3) 0}.regime-card-allowances{display:flex;justify-content:center;gap:var(--spacing-2)}.regime-allowance{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:var(--zinc-850);color:var(--zinc-600);transition:all var(--transition-fast)}.regime-allowance svg{width:14px;height:14px}.regime-allowance--active{background:var(--zinc-700);color:var(--zinc-200)}.disclosure-section{margin-bottom:var(--spacing-4)}.disclosure-header{display:flex;align-items:center;gap:var(--spacing-3);width:100%;padding:var(--spacing-3) var(--spacing-4);background:var(--zinc-800);border:1px solid var(--zinc-700);border-radius:var(--radius);cursor:pointer;user-select:none;transition:all var(--transition-fast);text-align:left}.disclosure-header:hover{background:var(--zinc-750);border-color:var(--zinc-600)}.disclosure-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:var(--zinc-400);transition:transform var(--transition-fast);flex-shrink:0}.disclosure-icon svg{width:14px;height:14px}.disclosure-icon.rotated{transform:rotate(90deg)}.disclosure-title{flex:1;font-size:var(--font-size-sm);font-weight:600;color:var(--zinc-200);margin:0}.disclosure-summary{font-size:var(--font-size-xs);color:var(--zinc-400)}.disclosure-content{padding:var(--spacing-4);background:var(--zinc-800);border:1px solid var(--zinc-700);border-top:none;border-radius:0 0 var(--radius) var(--radius)}.disclosure-section.expanded .disclosure-header{border-radius:var(--radius) var(--radius) 0 0}.zone-visual-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-6)}.zone-visual-column h4{font-size:var(--font-size-xs);font-weight:600;color:var(--zinc-400);text-transform:uppercase;letter-spacing:.05em;margin:0 0 var(--spacing-3) 0}.zone-list-compact{display:flex;flex-wrap:wrap;gap:var(--spacing-2)}.zone-item{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-1) var(--spacing-2);background:var(--zinc-850);border-radius:var(--radius-sm);font-size:var(--font-size-xs)}.zone-label{font-weight:600;color:var(--zinc-200);min-width:24px}.zone-distance{color:var(--zinc-500)}.zone-hint{font-size:var(--font-size-xs);color:var(--zinc-500);margin:var(--spacing-3) 0 0 0;font-style:italic}.employee-avatar-chip{display:inline-flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-1) var(--spacing-2) var(--spacing-1) var(--spacing-1);background:var(--zinc-850);border:1px solid var(--zinc-700);border-radius:999px;text-decoration:none;transition:all var(--transition-fast)}.employee-avatar-chip:hover{background:var(--zinc-700);border-color:var(--zinc-600)}.avatar-mini{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:9px;font-weight:600;color:var(--zinc-850);flex-shrink:0}.employee-avatar-chip .employee-name{font-size:var(--font-size-xs);color:var(--zinc-300);max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.employee-count-badge{display:flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 var(--spacing-2);background:rgba(82,82,91,.15);color:var(--zinc-600);font-size:var(--font-size-xs);font-weight:600;border-radius:999px}.card-collapsible .card-header-collapsible{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-4) var(--spacing-6);cursor:pointer;user-select:none;border-bottom:1px solid rgba(0,0,0,0);transition:all var(--transition-fast);margin:calc(-1*var(--spacing-6));margin-bottom:0}.card-collapsible .card-header-collapsible:hover{background:var(--zinc-800)}.card-header-left{display:flex;align-items:center;gap:var(--spacing-3)}.card-header-left h2{margin:0}.card-collapse-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--zinc-400);transition:transform var(--transition-fast)}.card-collapse-icon svg{width:16px;height:16px}.card-header-right{display:flex;align-items:center;gap:var(--spacing-3)}.card-content-collapsible{padding-top:var(--spacing-6);border-top:1px solid var(--zinc-700);margin-top:var(--spacing-4)}.card-collapsible.expanded .card-collapse-icon{transform:rotate(90deg)}.card-collapsible.collapsed .card-content-collapsible{display:none}.card-collapsible.collapsed .card-header-collapsible{margin-bottom:calc(-1*var(--spacing-6))}.badge-success{background:rgba(106,172,126,.2);color:#6aac7e}.badge-secondary{background:var(--zinc-700);color:var(--zinc-400)}.vehicle-type-card-enhanced{background:var(--zinc-800);border:1px solid var(--zinc-700);border-radius:var(--radius);padding:var(--spacing-4)}.vehicle-type-card-enhanced .vehicle-type-card-header{display:flex;align-items:center;gap:var(--spacing-3);margin-bottom:var(--spacing-3);padding-bottom:var(--spacing-3);border-bottom:1px solid var(--zinc-700)}.vehicle-type-card-enhanced .vehicle-type-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--zinc-700);border-radius:var(--radius-sm);color:var(--zinc-300);flex-shrink:0}.vehicle-type-card-enhanced .vehicle-type-icon svg{width:18px;height:18px}.vehicle-type-card-enhanced .vehicle-type-info{flex:1}.vehicle-type-card-enhanced .vehicle-type-info h4{font-size:var(--font-size-sm);font-weight:600;color:var(--zinc-200);margin:0 0 var(--spacing-1) 0}.vehicle-type-card-enhanced .vehicle-type-badges{display:flex;gap:var(--spacing-1);padding:0;border:none;margin:0}@media(max-width: 1024px){.regime-cards-grid{grid-template-columns:repeat(2, 1fr)}.allowance-stats{grid-template-columns:repeat(2, 1fr)}}@media(max-width: 768px){.regime-cards-grid,.allowance-stats{grid-template-columns:1fr}.zone-visual-grid{grid-template-columns:1fr;gap:var(--spacing-4)}.disclosure-header{flex-wrap:wrap}.disclosure-summary{width:100%;margin-left:32px;margin-top:var(--spacing-1)}.card-collapsible .card-header-collapsible{flex-wrap:wrap;gap:var(--spacing-2)}.card-header-right{width:100%;justify-content:space-between;margin-left:36px}}.auth-body{min-height:100vh;background:var(--bg-page);display:flex;align-items:center;justify-content:center;padding:var(--spacing-4)}.auth-container{width:100%;max-width:400px}.auth-card{background:var(--zinc-800);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);border:1px solid var(--zinc-700);padding:var(--spacing-8)}.auth-header{text-align:center;margin-bottom:var(--spacing-6)}.auth-header h1{font-size:1.75rem;font-weight:700;color:var(--zinc-50);margin:0 0 var(--spacing-2) 0;letter-spacing:-0.02em}.auth-header p{color:var(--zinc-400);font-size:var(--font-size-sm);margin:0}.auth-logo{display:block;width:120px;height:auto;margin:0 auto var(--spacing-4)}.auth-form{display:flex;flex-direction:column;gap:var(--spacing-4)}.auth-form .form-item{margin-bottom:0}.auth-form .form-actions{margin-top:var(--spacing-2)}.btn-block{width:100%;display:block;text-align:center}.auth-footer{margin-top:var(--spacing-6);text-align:center;padding-top:var(--spacing-4);border-top:1px solid var(--zinc-700)}.auth-link{color:var(--zinc-400);font-size:var(--font-size-sm);text-decoration:none;transition:color .15s}.auth-link:hover{color:var(--zinc-300)}.auth-separator{display:flex;align-items:center;gap:var(--spacing-3);margin:var(--spacing-4) 0;color:var(--zinc-500);font-size:var(--font-size-xs)}.auth-separator::before,.auth-separator::after{content:"";flex:1;height:1px;background:var(--zinc-700)}.auth-info{text-align:center;margin-bottom:var(--spacing-4);padding:var(--spacing-3);background:var(--zinc-700);border-radius:var(--radius)}.auth-info p{margin:0;color:var(--zinc-300);font-size:var(--font-size-sm)}.auth-info .auth-email{color:var(--zinc-100);font-weight:500;margin-top:var(--spacing-1)}.auth-card .alert{margin-bottom:var(--spacing-4)}@media(max-width: 480px){.auth-body{padding:var(--spacing-3)}.auth-card{padding:var(--spacing-6)}.auth-header h1{font-size:1.5rem}.auth-logo{width:100px}}.main-body:has(.dashboard){background-image:none}.import-container{padding:var(--spacing-6);max-width:1200px;margin:0 auto}.import-header{margin-bottom:var(--spacing-8);text-align:center;padding:var(--spacing-6) var(--spacing-4);background:linear-gradient(135deg, var(--zinc-800) 0%, var(--zinc-850) 100%);border-radius:var(--radius-xl);border:1px solid var(--zinc-700);position:relative;overflow:hidden}.import-header::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg, var(--zinc-600), var(--zinc-500), var(--zinc-600))}.import-header h2{font-size:var(--font-size-2xl);font-weight:700;color:var(--zinc-100);margin:0 0 var(--spacing-2);display:flex;align-items:center;justify-content:center;gap:var(--spacing-3)}.import-header h2 svg{color:var(--zinc-600)}.import-description{color:var(--zinc-400);font-size:var(--font-size-base);margin:0;max-width:600px;margin-left:auto;margin-right:auto}.import-warning{color:var(--zinc-500);font-size:var(--font-size-xs);margin:0;font-style:italic;text-align:center;padding:var(--spacing-2) var(--spacing-3);background:var(--zinc-800);border-radius:var(--radius);display:inline-block}.import-form{margin-bottom:var(--spacing-6)}.import-files-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:var(--spacing-5);margin-bottom:var(--spacing-6)}.dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:220px;background:var(--zinc-800);border:2px dashed var(--zinc-600);border-radius:var(--radius-xl);cursor:pointer;transition:all .25s ease;position:relative}.dropzone:hover{border-color:var(--zinc-600);background:var(--zinc-750);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.2)}.dropzone-dragover{border-color:var(--zinc-600);background:var(--zinc-750);border-style:solid;transform:scale(1.02);box-shadow:0 0 0 4px rgba(82,82,91,.15),0 12px 32px rgba(0,0,0,.3)}.dropzone-has-file{border-color:var(--zinc-600);border-style:solid;background:rgba(82,82,91,.15)}.dropzone-input{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer}.dropzone-content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-4);padding:var(--spacing-6);text-align:center;pointer-events:none}.dropzone-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:var(--zinc-700);border-radius:var(--radius-lg);color:var(--zinc-400);transition:all .25s ease}.dropzone-icon svg{width:32px;height:32px}.dropzone:hover .dropzone-icon{background:rgba(82,82,91,.15);color:var(--zinc-600)}.dropzone-text{display:flex;flex-direction:column;gap:var(--spacing-2)}.dropzone-title{font-size:var(--font-size-lg);font-weight:600;color:var(--zinc-100)}.dropzone-hint{font-size:var(--font-size-sm);color:var(--zinc-400)}.dropzone-formats{font-size:var(--font-size-xs);font-weight:500;color:var(--zinc-600);margin-top:var(--spacing-1);padding:var(--spacing-1) var(--spacing-3);background:rgba(82,82,91,.15);border-radius:999px;letter-spacing:.05em}.dropzone-selected{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-4) var(--spacing-6);pointer-events:none}.dropzone-selected svg{color:var(--zinc-600);flex-shrink:0}.dropzone-filename{font-size:var(--font-size-sm);font-weight:500;color:var(--zinc-100);word-break:break-all}.dropzone-remove{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:var(--zinc-700);border:none;border-radius:50%;cursor:pointer;transition:all .2s ease;pointer-events:auto;flex-shrink:0}.dropzone-remove:hover{background:var(--zinc-800);color:#fff}.dropzone-remove svg{color:var(--zinc-400)}.dropzone-remove:hover svg{color:#fff}.import-actions{text-align:center;margin-top:var(--spacing-5)}.import-actions .btn-primary{padding:var(--spacing-3) var(--spacing-8);font-size:var(--font-size-base);font-weight:600}.import-results-container{background:var(--zinc-800);border:1px solid var(--zinc-700);border-radius:var(--radius-lg);padding:var(--spacing-6);margin-top:var(--spacing-6)}.import-results-container h3{font-size:var(--font-size-lg);font-weight:600;color:var(--zinc-100);margin:0 0 var(--spacing-4);display:flex;align-items:center;gap:var(--spacing-2)}.import-results-container h3::before{content:"";width:4px;height:20px;background:var(--zinc-600);border-radius:2px}.import-success-banner,.import-error-banner{display:flex;align-items:flex-start;gap:var(--spacing-3);padding:var(--spacing-4);border-radius:var(--radius);margin-bottom:var(--spacing-4)}.import-success-banner{background:rgba(106,172,126,.15);border:1px solid var(--zinc-500);color:var(--zinc-500)}.import-success-banner svg{flex-shrink:0;color:var(--zinc-500)}.import-error-banner{background:rgba(239,68,68,.15);border:1px solid var(--zinc-800);color:#fca5a5}.import-error-banner svg{flex-shrink:0;color:var(--zinc-800)}.import-success-banner p,.import-error-banner p{margin:var(--spacing-1) 0 0;font-size:var(--font-size-sm);opacity:.9}.import-results-summary{margin-bottom:var(--spacing-4)}.import-result-item{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius);margin-bottom:var(--spacing-2);background:var(--zinc-850);border:1px solid var(--zinc-700)}.import-result-item.success{background:rgba(82,82,91,.15);border-color:rgba(231,144,82,.3);color:var(--zinc-500)}.import-result-item.success svg{color:var(--zinc-600)}.import-result-item svg{flex-shrink:0}.import-loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:99999;backdrop-filter:blur(4px)}.import-loading-overlay.hidden{display:none}.import-loading-content{position:relative;background:var(--zinc-800);border:1px solid var(--zinc-700);padding:var(--spacing-8);border-radius:var(--radius-xl);text-align:center;box-shadow:0 25px 50px -12px rgba(0,0,0,.5);max-width:420px}.import-loading-close{position:absolute;top:var(--spacing-3);right:var(--spacing-3);background:none;border:none;padding:var(--spacing-1);cursor:pointer;color:var(--zinc-500);border-radius:var(--radius);transition:all .2s ease}.import-loading-close:hover{background:var(--zinc-700);color:var(--zinc-300)}.import-loading-cancel{margin-top:var(--spacing-4)}.import-loading-spinner{width:56px;height:56px;border:4px solid var(--zinc-700);border-top-color:var(--zinc-600);border-radius:50%;animation:import-spin 1s linear infinite;margin:0 auto var(--spacing-5)}@keyframes import-spin{to{transform:rotate(360deg)}}.import-loading-title{font-size:var(--font-size-lg);font-weight:600;color:var(--zinc-100);margin:0 0 var(--spacing-5)}.import-loading-steps{display:flex;flex-direction:column;gap:var(--spacing-2);margin-bottom:var(--spacing-4);text-align:left}.import-step{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius);font-size:var(--font-size-sm);color:var(--zinc-500);background:var(--zinc-850);border:1px solid var(--zinc-800);transition:all .3s ease}.import-step svg{flex-shrink:0}.import-step.active{color:var(--zinc-500);background:rgba(82,82,91,.15);border-color:rgba(231,144,82,.3);font-weight:500}.import-step.active svg{color:var(--zinc-600);animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}.import-step.completed{color:var(--zinc-500);background:rgba(106,172,126,.1);border-color:rgba(106,172,126,.2)}.import-step.completed svg{stroke:var(--zinc-500)}.import-loading-message,.import-loading-info{font-size:var(--font-size-sm);color:var(--zinc-400);margin:0}.import-loading-info{margin-top:var(--spacing-2)}.import-missing-fields{background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.4);border-radius:var(--radius-lg);padding:var(--spacing-5);margin-bottom:var(--spacing-4)}.import-missing-fields h4{font-size:var(--font-size-base);font-weight:600;color:var(--zinc-700);margin:0 0 var(--spacing-3);display:flex;align-items:center;gap:var(--spacing-2)}.import-missing-fields h4 svg{color:var(--zinc-700)}.missing-fields-description{font-size:var(--font-size-sm);color:var(--zinc-300);margin:0 0 var(--spacing-3)}.missing-fields-list{font-size:var(--font-size-sm)}.missing-fields-category{margin-bottom:var(--spacing-3);padding:var(--spacing-3);background:var(--zinc-800);border-radius:var(--radius)}.missing-fields-category h5{font-size:var(--font-size-sm);font-weight:600;color:var(--zinc-500);margin:0 0 var(--spacing-2)}.missing-fields-category ul{margin:0;padding-left:var(--spacing-4);color:var(--zinc-300)}.missing-fields-category li{margin-bottom:var(--spacing-1)}.import-errors{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.4);border-radius:var(--radius-lg);padding:var(--spacing-5);margin-bottom:var(--spacing-4)}.import-errors h4{font-size:var(--font-size-base);font-weight:600;color:var(--zinc-800);margin:0 0 var(--spacing-3);display:flex;align-items:center;gap:var(--spacing-2)}.import-errors h4 svg{color:var(--zinc-800)}.import-errors ul{margin:0;padding-left:var(--spacing-4)}.import-error-item{color:#fca5a5;font-size:var(--font-size-sm);margin-bottom:var(--spacing-2)}.import-preview-container{background:var(--zinc-800);border:1px solid var(--zinc-700);border-radius:var(--radius-lg);padding:var(--spacing-6);margin-top:var(--spacing-6)}.import-preview-container h3{font-size:var(--font-size-lg);font-weight:600;color:var(--zinc-100);margin:0 0 var(--spacing-5);display:flex;align-items:center;gap:var(--spacing-2)}.import-preview-container h3::before{content:"";width:4px;height:20px;background:var(--zinc-600);border-radius:2px}.import-preview-section{margin-bottom:var(--spacing-5);padding-bottom:var(--spacing-5);border-bottom:1px solid var(--zinc-700)}.import-preview-section:last-of-type{border-bottom:none;padding-bottom:0;margin-bottom:0}.import-preview-section h4{font-size:var(--font-size-base);font-weight:600;color:var(--zinc-200);margin:0 0 var(--spacing-3)}.preview-note{font-size:var(--font-size-sm);color:var(--zinc-400);margin:0 0 var(--spacing-3)}.preview-list{margin:0;padding-left:var(--spacing-4);font-size:var(--font-size-sm);color:var(--zinc-300)}.preview-list li{margin-bottom:var(--spacing-2)}.preview-more{color:var(--zinc-500);font-style:italic}.import-entity-card{background:var(--zinc-850);border:1px solid var(--zinc-700);border-radius:var(--radius);padding:var(--spacing-4);margin-bottom:var(--spacing-3);transition:all var(--transition-fast)}.import-entity-card:last-child{margin-bottom:0}.import-entity-card:hover{border-color:var(--zinc-600)}.entity-card-header{display:flex;align-items:center;gap:var(--spacing-3);margin-bottom:var(--spacing-3)}.entity-card-header strong a{color:var(--zinc-100);text-decoration:none;font-size:var(--font-size-sm)}.entity-card-header strong a:hover{color:var(--zinc-500)}.entity-ref{font-size:var(--font-size-xs);color:var(--zinc-400);background:var(--zinc-700);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm)}.entity-changes{margin-top:var(--spacing-3)}.changes-table{width:100%;font-size:var(--font-size-xs);border-collapse:collapse;background:var(--zinc-800);border-radius:var(--radius);overflow:hidden;border:1px solid var(--zinc-700)}.changes-table th,.changes-table td{padding:var(--spacing-3);text-align:left;border-bottom:1px solid var(--zinc-700)}.changes-table th{background:var(--zinc-750);font-weight:600;color:var(--zinc-300);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em}.changes-table tbody tr:last-child td{border-bottom:none}.changes-table tbody tr{transition:background .15s ease}.changes-table tbody tr:hover{background:var(--zinc-750)}.changes-table .old-value{color:#fca5a5;background:rgba(239,68,68,.15);font-family:var(--font-mono);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm)}.changes-table .new-value{color:var(--zinc-500);background:rgba(82,82,91,.15);font-family:var(--font-mono);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm)}.changes-table .change-action{text-align:center}.change-completion{background:rgba(82,82,91,.15)}.change-overwrite{background:rgba(82,82,91,.15)}.badge{display:inline-block;padding:4px 8px;font-size:var(--font-size-xs);font-weight:500;border-radius:var(--radius-sm)}.badge-success{background:rgba(82,82,91,.15);color:var(--zinc-500)}.badge-warning{background:rgba(245,158,11,.2);color:var(--zinc-700)}.entity-missing-fields{margin-top:var(--spacing-3);padding:var(--spacing-3);background:rgba(245,158,11,.1);border-radius:var(--radius-sm);border-left:3px solid var(--zinc-700)}.missing-label{font-size:var(--font-size-xs);font-weight:600;color:var(--zinc-700)}.missing-values{font-size:var(--font-size-xs);color:var(--zinc-300);margin-left:var(--spacing-2)}.entity-missing-blocking{background:rgba(239,68,68,.1);border-left-color:var(--zinc-800)}.entity-missing-blocking .missing-label{color:var(--zinc-800);display:flex;align-items:center;gap:var(--spacing-1)}.entity-missing-blocking .missing-label svg{stroke:var(--zinc-800)}.entity-missing-blocking .missing-values{color:#fca5a5}.entity-compensated-fields{margin-top:var(--spacing-3);padding:var(--spacing-3);background:rgba(106,172,126,.1);border-radius:var(--radius-sm);border-left:3px solid var(--zinc-500)}.compensated-label{font-size:var(--font-size-xs);font-weight:600;color:var(--zinc-500);display:flex;align-items:center;gap:var(--spacing-1)}.compensated-label svg{stroke:var(--zinc-500)}.compensated-values{font-size:var(--font-size-xs);color:var(--zinc-300);margin-left:var(--spacing-2)}.blocking-errors-section{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-lg);padding:var(--spacing-5)}.blocking-title{display:flex;align-items:center;gap:var(--spacing-2);color:var(--zinc-800);font-weight:600}.blocking-title svg{stroke:var(--zinc-800)}.preview-error{color:#fca5a5}.blocking-errors-list{display:flex;flex-direction:column;gap:var(--spacing-2);margin-top:var(--spacing-4)}.blocking-error-item{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3);background:var(--zinc-800);border-radius:var(--radius);border:1px solid rgba(239,68,68,.2)}.error-entity-type{font-size:var(--font-size-xs);color:var(--zinc-400);background:var(--zinc-700);padding:4px 8px;border-radius:var(--radius-sm)}.error-fields{font-size:var(--font-size-sm);color:#fca5a5;margin-left:auto}.missing-address-section{background:var(--zinc-850);border:1px solid var(--zinc-700);border-radius:var(--radius-lg);padding:var(--spacing-5)}.missing-address-section .entity-changes{padding:0;margin-top:var(--spacing-4)}.missing-address-section .changes-table{margin:0;background:var(--zinc-800);border-radius:var(--radius);overflow:hidden}.missing-address-section .warning-title{color:var(--zinc-200)}.missing-address-section .warning-title svg{stroke:var(--zinc-400)}.missing-address-list{display:flex;flex-direction:column;gap:var(--spacing-2)}.missing-address-item{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);background:var(--zinc-800);border-radius:var(--radius);border:1px solid var(--zinc-700)}.missing-address-item .employee-link{color:var(--zinc-500);text-decoration:none;font-weight:500}.missing-address-item .employee-link:hover{text-decoration:underline}.address-status{margin-left:auto;font-size:var(--font-size-xs);padding:4px 10px;border-radius:var(--radius-sm)}.address-missing{background:rgba(239,68,68,.15);color:#fca5a5}.address-partial{background:rgba(245,158,11,.15);color:var(--zinc-700)}.badge-neutral{background:var(--zinc-700);color:var(--zinc-300)}.badge-info{background:rgba(82,82,91,.15);color:var(--zinc-500)}.geocode-status{display:inline-flex;align-items:center;gap:var(--spacing-1);padding:2px 8px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);cursor:help}.geocode-ok{background:rgba(113,113,122,.15);color:var(--zinc-500)}.geocode-ok svg{stroke:var(--zinc-500)}.geocode-pending{background:rgba(63,63,70,.2);color:var(--zinc-700)}.geocode-pending svg{stroke:var(--zinc-700)}.geocode-missing{background:var(--zinc-700);color:var(--zinc-400)}.geocode-missing svg{stroke:var(--zinc-400)}.employee-name-cell{display:flex;align-items:center;gap:var(--spacing-2)}.employee-name-with-avatar{display:flex;align-items:center;gap:var(--spacing-3)}.employee-name-info{display:flex;align-items:center;gap:var(--spacing-2)}.geocode-warning-icon{display:inline-flex;align-items:center;justify-content:center;cursor:help}.geocode-warning-icon svg{stroke:#f59e0b;fill:#fef3c7}.geocode-warning{display:inline-flex;align-items:center;justify-content:center;margin-left:var(--spacing-1);cursor:help}.geocode-warning svg{stroke:#ef4444}.no-site-section{background:var(--zinc-850);border:1px solid var(--zinc-700);border-radius:var(--radius-lg);padding:var(--spacing-5)}.no-site-section .entity-changes{padding:0;margin-top:var(--spacing-4)}.no-site-section .changes-table{margin:0;background:var(--zinc-800);border-radius:var(--radius);overflow:hidden}.no-site-resolution-cell{display:flex;flex-direction:column;gap:var(--spacing-2)}.warning-title{display:flex;align-items:center;gap:var(--spacing-2);color:var(--zinc-200);font-size:var(--font-size-lg);margin:0;font-weight:600}.warning-title svg{stroke:var(--zinc-400)}.no-site-assignments{display:flex;flex-direction:column;gap:var(--spacing-3)}.no-site-card{background:var(--zinc-800);border:1px solid var(--zinc-600);border-radius:var(--radius)}.no-site-dates{display:flex;flex-wrap:wrap;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-4);background:rgba(82,82,91,.15);font-size:var(--font-size-sm);border-radius:var(--radius) var(--radius) 0 0}.dates-label{color:var(--zinc-400)}.dates-list{color:var(--zinc-200)}.no-site-resolution{display:flex;flex-direction:column;gap:var(--spacing-3);padding:var(--spacing-4);border-top:1px solid var(--zinc-700)}.no-site-option{display:flex;align-items:center;gap:var(--spacing-3);cursor:pointer;color:var(--zinc-300)}.no-site-option input[type=radio]{width:18px;height:18px;accent-color:var(--zinc-600)}.change-select-col{width:80px;text-align:center}.change-checkbox{width:18px;height:18px;cursor:pointer;accent-color:var(--zinc-600)}.new-sites-list{display:flex;flex-direction:column;gap:var(--spacing-2)}.new-site-checkbox{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);background:var(--zinc-800);border:1px solid var(--zinc-700);border-radius:var(--radius);cursor:pointer;transition:all .15s}.new-site-checkbox:hover{border-color:var(--zinc-600);background:var(--zinc-750)}.new-site-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--zinc-600)}.site-info{display:flex;flex-direction:column;gap:var(--spacing-1)}.site-info strong{color:var(--zinc-100)}.site-detail{font-size:var(--font-size-xs);color:var(--zinc-400)}.partial-matches-section{background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.3);border-radius:var(--radius-lg);padding:var(--spacing-5);margin-bottom:var(--spacing-4)}.partial-matches-section h4{color:var(--zinc-700)}.preview-warning{color:var(--zinc-200);background:var(--zinc-800);padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius);margin-bottom:var(--spacing-4);border:1px solid var(--zinc-700)}.partial-match-card{background:var(--zinc-800);border:1px solid var(--zinc-600);border-radius:var(--radius);padding:var(--spacing-4)}.partial-match-comparison{display:flex;align-items:center;gap:var(--spacing-4);flex-wrap:wrap}.partial-match-side{flex:1;min-width:200px;display:flex;flex-direction:column;gap:var(--spacing-1)}.partial-match-label{font-size:var(--font-size-xs);color:var(--zinc-400);text-transform:uppercase;letter-spacing:.5px}.partial-match-side strong{font-size:var(--font-size-sm);color:var(--zinc-100)}.partial-match-side strong a{color:var(--zinc-500)}.partial-match-arrow{color:var(--zinc-700);flex-shrink:0}.partial-match-hint{font-size:var(--font-size-xs);color:var(--zinc-500);font-style:italic;margin:var(--spacing-3) 0 0 0;padding-top:var(--spacing-3);border-top:1px dashed var(--zinc-700)}.partial-match-actions{display:flex;gap:var(--spacing-3);margin-top:var(--spacing-4);padding-top:var(--spacing-4);border-top:1px dashed var(--zinc-700)}.partial-match-option{flex:1;cursor:pointer}.partial-match-option input[type=radio]{position:absolute;opacity:0;pointer-events:none}.partial-match-option .option-content{display:flex;align-items:flex-start;gap:var(--spacing-3);padding:var(--spacing-4);border:2px solid var(--zinc-600);border-radius:var(--radius);transition:all .2s ease;background:var(--zinc-850)}.partial-match-option:hover .option-content{border-color:var(--zinc-500);background:var(--zinc-800)}.partial-match-option input[type=radio]:checked+.option-content{border-color:var(--zinc-600);background:rgba(82,82,91,.15)}.partial-match-option-link input[type=radio]:checked+.option-content{border-color:var(--zinc-600);background:rgba(82,82,91,.15)}.partial-match-option-ignore input[type=radio]:checked+.option-content{border-color:var(--zinc-500);background:var(--zinc-800)}.option-icon{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--zinc-700)}.option-icon-success{background:rgba(82,82,91,.15);color:var(--zinc-600)}.option-icon-neutral{background:var(--zinc-700);color:var(--zinc-400)}.option-text{display:flex;flex-direction:column;gap:var(--spacing-1)}.option-text strong{font-size:var(--font-size-sm);color:var(--zinc-100)}.option-text span:last-child{font-size:var(--font-size-xs);color:var(--zinc-400)}.new-employees-list{display:flex;flex-direction:column;gap:var(--spacing-2)}.new-employee-checkbox{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);background:var(--zinc-800);border:1px solid var(--zinc-700);border-radius:var(--radius);cursor:pointer;transition:all .15s ease}.new-employee-checkbox:hover{background:var(--zinc-750);border-color:var(--zinc-600)}.new-employee-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:var(--zinc-600)}.employee-info{display:flex;flex-direction:column;gap:var(--spacing-1)}.employee-info strong{font-size:var(--font-size-sm);color:var(--zinc-100)}.employee-detail{font-size:var(--font-size-xs);color:var(--zinc-400)}.import-confirm-actions{display:flex;gap:var(--spacing-4);justify-content:center;margin-top:var(--spacing-6);padding-top:var(--spacing-5);border-top:1px solid var(--zinc-700)}.btn-lg{padding:var(--spacing-3) var(--spacing-8);font-size:var(--font-size-base);font-weight:600}.required-star{color:var(--zinc-800);font-weight:bold}.missing-data-indicator{display:inline-flex;align-items:center;color:var(--zinc-700);margin-left:var(--spacing-1);cursor:help}.missing-data-indicator svg{stroke:var(--zinc-700)}.pending-changes-container{background:var(--zinc-800);border-radius:var(--radius-lg);padding:var(--spacing-6);margin-bottom:var(--spacing-6);border:1px solid rgba(245,158,11,.4)}.pending-changes-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-5);padding-bottom:var(--spacing-4);border-bottom:1px solid var(--zinc-700)}.pending-changes-header h3{margin:0;color:var(--zinc-700);font-size:var(--font-size-lg);font-weight:600;display:flex;align-items:center;gap:var(--spacing-2)}.pending-changes-header h3::before{content:"";width:4px;height:20px;background:var(--zinc-700);border-radius:2px}.pending-changes-actions{display:flex;gap:var(--spacing-3)}.pending-changes-table{margin-bottom:0;border-collapse:collapse;width:100%;background:var(--zinc-850);border-radius:var(--radius);overflow:hidden;border:1px solid var(--zinc-700)}.pending-changes-table th,.pending-changes-table td{padding:var(--spacing-3) var(--spacing-4);text-align:left;border-bottom:1px solid var(--zinc-700)}.pending-changes-table th{background:var(--zinc-800);font-weight:600;color:var(--zinc-300);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em}.pending-changes-table tbody tr{transition:background .15s ease}.pending-changes-table tbody tr:hover{background:var(--zinc-800)}.pending-changes-table tbody tr:last-child td{border-bottom:none}.pending-changes-table code{font-size:var(--font-size-xs);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm);font-family:var(--font-mono)}.pending-changes-table code.old-value{background:rgba(239,68,68,.15);color:#fca5a5}.pending-changes-table code.new-value{background:rgba(82,82,91,.15);color:var(--zinc-500)}.btn-icon-success{color:var(--zinc-500)}.btn-icon-success:hover{color:#fff;background:var(--zinc-500)}.btn-sm{padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-sm)}.btn-success{background:var(--zinc-500);color:#fff;border:none}.btn-success:hover{background:#4d8b5f}@media(max-width: 1024px){.import-files-grid{grid-template-columns:repeat(2, 1fr)}}@media(max-width: 768px){.import-files-grid{grid-template-columns:1fr}.import-header{padding:var(--spacing-4)}.import-header h2{font-size:var(--font-size-xl)}.pending-changes-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-3)}.pending-changes-actions{width:100%}.pending-changes-actions .btn{flex:1;justify-content:center}.dropzone{min-height:180px}.partial-match-actions{flex-direction:column}.import-confirm-actions{flex-direction:column}.import-confirm-actions .btn{width:100%;justify-content:center}}.import-results-container h3 svg,.import-missing-fields h4 svg,.import-errors h4 svg,.pending-changes-header h3 svg{flex-shrink:0}.import-results-container h3{display:flex;align-items:center;gap:var(--spacing-3)}.import-missing-fields h4,.import-errors h4{display:flex;align-items:center;gap:var(--spacing-2)}.pending-changes-header h3{display:flex;align-items:center;gap:var(--spacing-3)}.pending-changes-header h3::before{display:none}.pending-changes-header h3 svg{color:var(--zinc-700)}.pending-changes-actions .btn{display:inline-flex;align-items:center;gap:var(--spacing-2)}.pending-changes-actions .btn svg{flex-shrink:0}.pending-changes-table td{color:var(--zinc-300);font-size:var(--font-size-sm)}.pending-changes-table td strong{color:var(--zinc-100)}.import-preview-section h4{display:flex;align-items:center;gap:var(--spacing-2);color:var(--zinc-200)}.import-preview-section h4 svg{color:var(--zinc-600);flex-shrink:0}.partial-matches-section h4 svg{color:var(--zinc-700)}.blocking-errors-section h4 svg{color:var(--zinc-800)}.preview-list li strong{color:var(--zinc-500)}@font-face{font-family:"DSEG7-Classic";src:url("/assets/DSEG7Classic-Regular-076fa10f.woff2") format("woff2"),url("/assets/DSEG7Classic-Regular-f78ae035.woff") format("woff");font-weight:normal;font-style:normal;font-display:swap}.dashboard-home{padding:var(--spacing-3) var(--spacing-4);height:calc(100vh - 60px);display:flex;flex-direction:column;gap:var(--spacing-3);overflow:hidden}.dashboard-home a{text-decoration:none}.dashboard-home a:hover{text-decoration:none}.dashboard-header{display:flex;justify-content:space-between;align-items:center}.dashboard-header-left{display:flex;align-items:baseline;gap:var(--spacing-3)}.dashboard-header h1{font-size:var(--font-size-xl);font-weight:600;color:var(--zinc-200);margin:0}.dashboard-date{font-size:var(--font-size-xs);color:var(--zinc-400)}.dashboard-company{font-size:var(--font-size-xs);font-weight:500;color:var(--zinc-300);background:var(--zinc-700);padding:2px var(--spacing-2);border-radius:var(--radius)}.quick-actions-left{display:flex;gap:var(--spacing-3);min-width:0}.quick-actions-left .quick-action{flex:1 1 0;min-width:0}.lcd-clock{display:flex;align-items:center;justify-content:center;padding:var(--spacing-2) var(--spacing-3);background:var(--zinc-800);border:1px solid var(--zinc-700);border-radius:var(--radius-lg)}.lcd-clock-display{display:flex;align-items:baseline;gap:0}.lcd-clock-time{font-family:"DSEG7-Classic",monospace;font-size:2.2rem;font-weight:normal;letter-spacing:.02em;color:var(--zinc-600);line-height:1}.lcd-clock-seconds{font-family:"DSEG7-Classic",monospace;font-size:1.1rem;font-weight:normal;letter-spacing:.02em;color:rgba(195,108,49,.3411764706);line-height:1;margin-left:4px}.quick-action{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);background:var(--zinc-800);border:1px solid var(--zinc-700);border-radius:var(--radius-lg);text-decoration:none;transition:var(--transition)}.quick-action:hover{border-color:var(--zinc-600);background:var(--zinc-750);transform:translateY(-1px);text-decoration:none}.quick-action-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);background:var(--zinc-700);color:var(--zinc-300);flex-shrink:0}.quick-action-icon svg{width:20px;height:20px}.quick-action-icon--primary{background:var(--zinc-500);color:#fff}.quick-action-icon--acb{background:linear-gradient(135deg, #dc6e24, #b48c71);color:#fff}.quick-action--acb{border-color:#855a3c}.quick-action--acb:hover{border-color:#a06e4b;background:rgba(133,90,60,.15)}.quick-action-content{display:flex;flex-direction:column;gap:2px}.quick-action-label{font-size:var(--font-size-base);font-weight:600;color:var(--zinc-200);line-height:1.2}.quick-action-desc{font-size:var(--font-size-xs);color:var(--zinc-400)}.dashboard-layout{display:grid;grid-template-columns:1fr 320px;grid-template-rows:auto auto 1fr;gap:var(--spacing-3);flex:1;min-height:0;overflow:hidden}.quick-actions-left{grid-column:1;grid-row:1}.lcd-clock{grid-column:2;grid-row:1}.dashboard-main{display:contents}.dashboard-sidebar{display:contents}.dashboard-main .dashboard-section:first-child{grid-column:1;grid-row:2}.dashboard-main .dashboard-section:last-child{grid-column:1;grid-row:3;display:flex;flex-direction:column;min-height:0;overflow:hidden}.dashboard-section{background:var(--zinc-800);border:1px solid var(--zinc-700);border-radius:var(--radius-lg);overflow:hidden;padding-bottom:var(--spacing-3)}.dashboard-section-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-3) var(--spacing-5);margin-bottom:var(--spacing-2)}.dashboard-section-header h2{margin:0;font-size:var(--font-size-sm);font-weight:600;color:var(--zinc-300);display:flex;align-items:center;gap:var(--spacing-2)}.dashboard-section-header h2 svg{color:var(--zinc-400);flex-shrink:0;width:16px;height:16px}.section-link{display:flex;align-items:center;gap:2px;font-size:11px;color:var(--zinc-400);text-decoration:none;transition:var(--transition)}.section-link:hover{color:var(--zinc-600)}.section-link svg{width:12px;height:12px}.chantier-cards{display:grid;grid-template-columns:repeat(3, 1fr);gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-5)}.chantier-card{display:flex;flex-direction:column;padding:var(--spacing-3);background:var(--zinc-750);border:1px solid var(--zinc-700);border-radius:var(--radius-lg);text-decoration:none;transition:var(--transition)}.chantier-card:hover{border-color:var(--zinc-600);box-shadow:0 4px 12px rgba(0,0,0,.3);transform:translateY(-1px);text-decoration:none}.chantier-card-header{display:flex;align-items:center;gap:var(--spacing-2);margin-bottom:var(--spacing-2)}.chantier-status{width:8px;height:8px;border-radius:50%;flex-shrink:0}.chantier-ref{font-size:var(--font-size-xs);font-weight:600;color:var(--zinc-200)}.chantier-status-name{font-size:10px;color:var(--zinc-400);margin-left:auto;padding:2px 6px;background:var(--zinc-700);border-radius:var(--radius-sm)}.chantier-name{font-size:var(--font-size-base);font-weight:600;color:var(--zinc-200);margin:0 0 4px;line-height:1.4}.chantier-client{font-size:var(--font-size-xs);color:var(--zinc-400);margin-bottom:var(--spacing-2)}.chantier-meta{display:flex;align-items:center;gap:var(--spacing-3);margin-top:auto;padding-top:var(--spacing-2);border-top:1px solid var(--zinc-700)}.chantier-dates,.chantier-employees{display:flex;align-items:center;gap:4px;font-size:var(--font-size-xs);color:var(--zinc-400)}.chantier-dates svg,.chantier-employees svg{width:12px;height:12px;color:var(--zinc-500)}.month-stats{padding:var(--spacing-3) var(--spacing-5);flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.month-stats-header{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-4);margin-bottom:var(--spacing-3);padding-bottom:var(--spacing-3);border-bottom:1px solid var(--zinc-700)}.month-stats-summary{display:flex;gap:var(--spacing-4)}.month-stat-item{display:flex;flex-direction:column;align-items:center;text-align:center}.month-stat-value{font-size:var(--font-size-xl);font-weight:700;color:var(--zinc-200);line-height:1}.month-stat-value--success{color:#10b981}.month-stat-label{font-size:var(--font-size-xs);color:var(--zinc-400);margin-top:4px}.month-top-employees h4{font-size:var(--font-size-xs);font-weight:600;color:var(--zinc-400);text-transform:uppercase;letter-spacing:.03em;margin:0 0 var(--spacing-2)}.top-employee-item{display:flex;align-items:center;gap:var(--spacing-2);padding:4px 0}.top-employee-rank{width:18px;height:18px;border-radius:50%;background:var(--zinc-700);font-size:10px;font-weight:600;color:var(--zinc-400);display:flex;align-items:center;justify-content:center;flex-shrink:0}.top-employee-item:first-child .top-employee-rank{background:var(--zinc-500);color:#fff}.top-employee-name{font-size:var(--font-size-sm);color:var(--zinc-200);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-employee-hours{font-size:var(--font-size-sm);font-weight:600;color:var(--zinc-200)}.month-sites-list{display:flex;flex-direction:column;gap:var(--spacing-2);flex:1;min-height:0;overflow-y:auto}.month-site-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-2) var(--spacing-3);background:var(--zinc-750);border-radius:var(--radius);text-decoration:none;transition:var(--transition)}.month-site-item:hover{background:var(--zinc-700);text-decoration:none}.month-site-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.month-site-name{font-size:var(--font-size-sm);font-weight:500;color:var(--zinc-200);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.month-site-meta{display:flex;align-items:center;gap:4px;font-size:var(--font-size-xs);color:var(--zinc-400)}.month-site-meta svg{width:10px;height:10px;color:var(--zinc-600)}.month-site-hours{display:flex;align-items:center;gap:var(--spacing-2);flex-shrink:0}.month-site-hours-value{font-size:var(--font-size-sm);font-weight:600;color:var(--zinc-200);min-width:40px;text-align:right}.month-site-progress{width:50px;height:4px;background:var(--zinc-700);border-radius:2px;overflow:hidden}.month-site-progress-fill{height:100%;background:#10b981;border-radius:2px}.month-site-validation{font-size:var(--font-size-xs);color:var(--zinc-400);min-width:55px;text-align:right}.dashboard-sidebar .dashboard-section{grid-column:2;grid-row:3;display:flex;flex-direction:column;min-height:0;overflow:hidden}.dashboard-sidebar .dashboard-section-header{padding:var(--spacing-3) var(--spacing-3)}.planning-notice{padding:4px var(--spacing-3);background:var(--zinc-750);color:var(--zinc-400);font-size:11px;text-align:center;border-bottom:1px solid var(--zinc-700)}.planning-compact{padding:var(--spacing-2) var(--spacing-3);display:flex;flex-direction:column;gap:var(--spacing-2);flex:1;min-height:0;overflow-y:auto}.planning-group{background:var(--zinc-750);border-radius:var(--radius);overflow:hidden}.planning-group-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-2) var(--spacing-3);background:var(--zinc-800);border-bottom:1px solid var(--zinc-700)}.planning-group-title{font-size:var(--font-size-xs);font-weight:600;color:var(--zinc-400);text-transform:uppercase;letter-spacing:.03em}.planning-group-count{font-size:var(--font-size-xs);font-weight:600;color:var(--zinc-200);background:var(--zinc-700);padding:2px 8px;border-radius:var(--radius-sm);min-width:22px;text-align:center}.planning-group-list{padding:var(--spacing-1) var(--spacing-2)}.planning-item{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-1) var(--spacing-2);font-size:var(--font-size-sm);color:var(--zinc-200);text-decoration:none;border-radius:var(--radius-sm);transition:var(--transition)}.planning-item:hover{background:var(--zinc-700);text-decoration:none}.planning-item-dot{width:6px;height:6px;border-radius:50%;background:var(--zinc-500);flex-shrink:0}.planning-item-checkbox{width:12px;height:12px;border:1.5px solid var(--zinc-500);border-radius:3px;flex-shrink:0}.planning-item-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.planning-item-count{font-size:var(--font-size-xs);color:var(--zinc-400);background:var(--zinc-700);padding:1px 6px;border-radius:var(--radius-sm)}.planning-item-time{font-size:var(--font-size-xs);color:var(--zinc-400);font-weight:500;min-width:35px}.planning-more{display:block;padding:var(--spacing-1) var(--spacing-2);font-size:var(--font-size-xs);color:var(--zinc-400);text-decoration:none}.planning-more:hover{color:var(--zinc-600)}.planning-empty{display:block;padding:var(--spacing-2);font-size:var(--font-size-sm);color:var(--zinc-500);text-align:center}.planning-group--absences .planning-group-header{border-bottom:none}.planning-absences{display:flex;flex-wrap:wrap;gap:6px;padding:var(--spacing-2) var(--spacing-3);padding-top:0}.absence-avatar{width:26px;height:26px;border-radius:var(--radius-sm);font-size:10px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;text-transform:uppercase;background:var(--bg, var(--zinc-600));color:var(--fg, var(--zinc-200));text-decoration:none;transition:var(--transition)}.absence-avatar:hover{transform:scale(1.1);z-index:10}.absence-more{width:26px;height:26px;border-radius:var(--radius-sm);font-size:10px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;background:var(--zinc-700);color:var(--zinc-400)}.empty-state{grid-column:1/-1;text-align:center;padding:var(--spacing-4)}.empty-state p{margin:0 0 var(--spacing-2);color:var(--zinc-400);font-size:var(--font-size-sm)}.dashboard-kpis{display:none}.weather-widget{grid-column:2;grid-row:2;background:var(--zinc-800);border:1px solid var(--zinc-700);border-radius:var(--radius-lg);padding:var(--spacing-3);display:flex;flex-direction:column}.weather-widget-header{margin-bottom:var(--spacing-3);flex-shrink:0}.weather-widget-header h2{margin:0;font-size:var(--font-size-sm);font-weight:600;color:var(--zinc-300);display:flex;align-items:center;gap:var(--spacing-2)}.weather-widget-header h2 svg{color:var(--zinc-400);flex-shrink:0}.weather-days{display:flex;gap:var(--spacing-2);flex:1}.weather-day{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-2);background:var(--zinc-750);border-radius:var(--radius);border:1px solid rgba(0,0,0,0);position:relative}.weather-day-name{font-size:11px;font-weight:600;color:var(--zinc-400);text-transform:uppercase;letter-spacing:.02em}.weather-day-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--zinc-400)}.weather-day-icon svg{width:28px;height:28px}.weather-day-icon .weather-sun,.weather-day-icon .weather-cloud,.weather-day-icon .weather-cloud-light,.weather-day-icon .weather-rain,.weather-day-icon .weather-snow,.weather-day-icon .weather-lightning{color:inherit}.weather-day-temps{display:flex;align-items:baseline;gap:var(--spacing-1)}.weather-temp-max{font-size:var(--font-size-base);font-weight:600;color:var(--zinc-200)}.weather-temp-min{font-size:var(--font-size-xs);color:var(--zinc-400)}.weather-precipitation{display:flex;align-items:center;gap:3px;font-size:10px;color:var(--zinc-500);min-height:14px}.weather-precipitation svg{flex-shrink:0}.weather-risk-badge{position:absolute;top:4px;right:4px;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center}.weather-risk-badge svg{width:12px;height:12px}.weather-risk-badge--warning{background:rgba(245,158,11,.15);color:#f59e0b}.weather-risk-badge--alert{background:rgba(239,68,68,.15);color:#ef4444}@media(max-width: 1400px){.dashboard-layout{grid-template-columns:1fr 300px}.lcd-clock{min-width:0}.chantier-cards{grid-template-columns:repeat(3, 1fr)}}@media(max-width: 1200px){.dashboard-layout{grid-template-columns:1fr}.quick-actions-left,.lcd-clock{grid-column:1/-1}.dashboard-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-3)}.dashboard-section:first-child{grid-column:1/-1}}@media(max-width: 900px){.quick-actions-left{flex-wrap:wrap;grid-column:1/-1}.lcd-clock{width:100%;grid-column:1/-1}.chantier-cards{grid-template-columns:repeat(2, 1fr)}.month-stats-header{grid-template-columns:1fr;gap:var(--spacing-2)}.month-stats-summary{justify-content:center}}@media(max-width: 768px){.dashboard-home{padding:var(--spacing-2)}.dashboard-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-1)}.dashboard-header-left{flex-direction:column;align-items:flex-start;gap:0}.quick-actions-left{flex-direction:column;gap:var(--spacing-2)}.lcd-clock-time{font-size:2rem}.lcd-clock-seconds{font-size:.85rem}.quick-action{padding:var(--spacing-2)}.chantier-cards{grid-template-columns:1fr}.dashboard-sidebar{grid-template-columns:1fr}}.app-layout:has(.sidebar-admin) .main-content{background:#303030}.app-layout:has(.sidebar-admin) .main-header{flex-shrink:0;padding:0 1.5rem}.app-layout:has(.sidebar-admin) .main-body{flex:1 1 0;min-height:0;overflow-y:auto;padding:1.5rem}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));gap:1rem;margin-bottom:1.5rem}.admin-stat{background:#3a3a3a;border-radius:12px;padding:1.25rem 1.5rem;border:none}.admin-stat-value{font-size:1.75rem;font-weight:600;color:#fff;line-height:1.2}.admin-stat-label{font-size:.8125rem;color:#999;margin-top:.25rem}.admin-card{background:#3a3a3a;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;border:none}.admin-card h2{font-size:1rem;font-weight:600;margin:0 0 1rem 0;color:#fff}.admin-table{width:100%;border-collapse:collapse;background:#303030;border-radius:8px;overflow:hidden}.admin-table th{text-align:left;padding:.75rem 1rem;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.03em;color:#999;border-bottom:1px solid #454545;background:rgba(0,0,0,0)}.admin-table td{padding:.875rem 1rem;border-bottom:1px solid #454545;font-size:.875rem;color:#d0d0d0}.admin-table tbody tr:hover{background:#424242}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table a{color:#d4a84b;text-decoration:none;font-weight:500}.admin-table a:hover{color:#e5bc6a}.admin-action-icon{display:inline-flex;align-items:center;justify-content:center;padding:.5rem;border-radius:6px;background:rgba(0,0,0,0);color:#d4a84b;text-decoration:none;transition:all .15s ease;cursor:pointer}.admin-action-icon:hover{background:rgba(212,168,75,.1);color:#e5bc6a}.admin-action-icon svg{display:block}.admin-actions-cell{display:flex;gap:.25rem;align-items:center}.admin-action-archive{opacity:0;transition:opacity .15s ease;border:none}.admin-table tbody tr:hover .admin-action-archive{opacity:1}.admin-action-delete{opacity:0;transition:opacity .15s ease,color .15s ease,background .15s ease;border:none}.admin-table tbody tr:hover .admin-action-delete{opacity:1}.admin-action-delete:hover{color:#f87171;background:rgba(248,113,113,.1)}.admin-badge{display:inline-flex;align-items:center;padding:.25rem .625rem;border-radius:6px;font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.02em}.admin-badge-green{background:rgba(74,222,128,.15);color:#4ade80}.admin-badge-yellow{background:rgba(212,168,75,.15);color:#d4a84b}.admin-badge-red{background:rgba(248,113,113,.15);color:#f87171}.admin-badge-gray{background:rgba(156,163,175,.15);color:#999}.admin-badge-purple{background:rgba(139,92,246,.15);color:#a78bfa}.admin-inline-input{padding:.375rem .75rem;font-size:.8125rem;height:36px;box-sizing:border-box;border:1px solid #555;border-radius:8px;background:#484848;color:#fff}.admin-inline-input:focus{outline:none;border-color:#d4a84b;background:#505050}.admin-inline-input-lg{padding:.5rem 1rem;font-size:.875rem;height:40px;box-sizing:border-box;border:1px solid #555;border-radius:8px;background:#484848;color:#fff}.admin-inline-input-lg:focus{outline:none;border-color:#d4a84b;background:#505050}.admin-actions{display:flex;gap:.5rem}.admin-detail-row{display:flex;padding:.75rem 0;border-bottom:1px solid #454545}.admin-detail-row:last-child{border-bottom:none}.admin-detail-label{width:180px;flex-shrink:0;font-weight:500;color:#999;font-size:.875rem}.admin-detail-value{flex:1;font-size:.875rem;color:#d0d0d0}.admin-page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.admin-page-header h1{font-size:1.25rem;font-weight:600;color:#fff;margin:0}.admin-empty{text-align:center;color:#666;padding:3rem}.app-layout:has(.sidebar-admin) .flash{border-radius:.5rem;padding:.75rem 1rem;margin-bottom:1rem;font-size:.875rem;display:flex;align-items:center;gap:.5rem}.app-layout:has(.sidebar-admin) .flash-notice{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.app-layout:has(.sidebar-admin) .flash-alert{background:#fcd5cf;border:1px solid #f5b6ae;color:#721c24}.admin-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.admin-card-header h2{margin:0}.admin-action-cards{display:grid;grid-template-columns:repeat(2, 1fr);gap:1rem;margin-top:1.5rem}.admin-action-card{background:#262626;border-radius:12px;padding:1.25rem;border:1px solid #3a3a3a;transition:border-color .2s ease,box-shadow .2s ease}.admin-action-card:hover{border-color:#454545;box-shadow:0 4px 12px rgba(0,0,0,.15)}.admin-action-card-header{display:flex;align-items:center;gap:.625rem;margin-bottom:1rem}.admin-action-card-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#3a3a3a;border-radius:8px;font-size:1rem}.admin-action-card-title{font-size:.875rem;font-weight:600;color:#fff}.admin-action-card-body{display:flex;align-items:center;gap:.75rem}.admin-input-group{display:flex;align-items:center;gap:.5rem;flex:1}.admin-input-suffix{font-size:.8125rem;color:#999}.admin-action-card-wide{grid-column:span 2}.admin-subscription-form{display:flex;flex-direction:column;gap:1.25rem}.admin-subsection{background:#323232;border-radius:8px;padding:1rem 1.25rem}.admin-subsection-disabled{opacity:.5;pointer-events:none;position:relative}.admin-subsection-disabled::after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(50,50,50,.3);border-radius:8px}.admin-subsection-disabled .admin-subsection-title,.admin-subsection-disabled .admin-badge,.admin-subsection-disabled .admin-text-muted{position:relative;z-index:1;pointer-events:auto}.admin-subsection-title{font-size:.8125rem;font-weight:600;color:#d0d0d0;margin:0 0 .75rem 0;text-transform:uppercase;letter-spacing:.03em}.admin-form-row{display:flex;gap:1rem;flex-wrap:wrap}.admin-form-field{display:flex;flex-direction:column;gap:.375rem;flex:1;min-width:120px}.admin-form-field label{font-size:.75rem;color:#b0b0b0;text-transform:uppercase;letter-spacing:.02em}.admin-form-field select.admin-inline-input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2rem}.admin-form-field input[type=date].admin-inline-input{color-scheme:dark}.admin-form-field input[type=date].admin-inline-input::-webkit-calendar-picker-indicator{filter:invert(1);cursor:pointer}.admin-form-field-checkbox{justify-content:flex-end}.admin-form-field-checkbox label{display:flex;align-items:center;gap:.625rem;font-size:.8125rem;color:#d0d0d0;text-transform:none;cursor:pointer}.admin-form-field-checkbox input[type=checkbox]{appearance:none;-webkit-appearance:none;width:20px;height:20px;border:2px solid #999;border-radius:50%;background:#5a5a5a;cursor:pointer;transition:all .15s ease;position:relative;flex-shrink:0}.admin-form-field-checkbox input[type=checkbox]:hover{border-color:#bbb;background:#6a6a6a}.admin-form-field-checkbox input[type=checkbox]:checked{background:#f0c674;border-color:#f0c674}.admin-form-field-checkbox input[type=checkbox]:checked::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:8px;height:8px;background:#1a1a1a;border-radius:50%}.admin-form-field-checkbox input[type=checkbox]:focus{outline:none;box-shadow:0 0 0 3px rgba(212,168,75,.3)}.admin-card-danger{border:1px solid rgba(248,113,113,.3);background:linear-gradient(135deg, #3a3a3a 0%, rgba(248, 113, 113, 0.05) 100%)}.admin-card-danger h2{color:#f87171;margin-bottom:1.5rem}.admin-danger-actions{display:flex;flex-direction:column;gap:1.5rem}.admin-danger-action-item{display:grid;grid-template-columns:auto 1fr auto;gap:1.25rem;align-items:start;padding:1.25rem;background:rgba(42,42,42,.5);border-radius:10px;border:1px solid rgba(248,113,113,.15);transition:border-color .2s ease}.admin-danger-action-item:hover{border-color:rgba(248,113,113,.3)}.admin-danger-action-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:.125rem}.admin-danger-icon-warning{background:rgba(251,191,36,.15);color:#fbbf24}.admin-danger-icon-critical{background:rgba(248,113,113,.15);color:#f87171}.admin-danger-action-content{min-width:0}.admin-danger-action-title{font-size:1rem;font-weight:600;color:#fff;margin:0 0 .5rem 0}.admin-danger-action-desc{font-size:.875rem;color:#b0b0b0;line-height:1.5;margin:0 0 .75rem 0}.admin-danger-action-list{list-style:none;margin:0 0 .75rem 0;padding:0;display:flex;flex-direction:column;gap:.375rem}.admin-danger-action-list li{position:relative;padding-left:1.25rem;font-size:.8125rem;color:#999;line-height:1.4}.admin-danger-action-list li::before{content:"×";position:absolute;left:0;color:#f87171;font-weight:600;font-size:1rem}.admin-danger-action-keep{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:#22c55e;margin:0}.admin-danger-action-keep svg{flex-shrink:0}.admin-danger-action-warning{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:#f87171;margin:0;font-weight:500}.admin-danger-action-warning svg{flex-shrink:0}.admin-danger-separator{height:1px;background:rgba(248,113,113,.2);margin:0}.admin-impersonation-banner{background:#fcd5cf;border:1px solid #f5b6ae;border-radius:.5rem;padding:.75rem 1rem;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center}.admin-flex{display:flex;gap:1rem}.admin-flex-between{display:flex;justify-content:space-between;align-items:center}.admin-mt-1{margin-top:1rem}.admin-mt-1-5{margin-top:1.5rem}.admin-mb-1{margin-bottom:1rem}.admin-mb-1-5{margin-bottom:1.5rem}.admin-ml-0-5{margin-left:.5rem}.admin-page-title{font-size:1.5rem;font-weight:600;color:#d6d3d1;margin-bottom:1.5rem}.admin-text-muted{color:#888}.admin-text-sm{font-size:.875rem}.admin-text-xs{font-size:.8125rem}.admin-hint{color:#888;font-size:.875rem;margin-top:.5rem}.admin-form-actions{display:flex;gap:1rem;margin-top:1.5rem}.admin-checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;color:#d0d0d0}.admin-code{background:#454545;padding:.25rem .5rem;border-radius:4px;font-family:monospace;font-size:.875rem}.admin-table td.no-border,.admin-table tr.no-border td{border-bottom:none}.admin-table td.no-padding-top{padding-top:0}.admin-table-empty{text-align:center;color:#64748b;padding:2rem}.admin-card-flush .admin-detail-row:last-child{border-bottom:none;padding-bottom:0}.admin-detail-row-first{padding-top:0}.admin-detail-row-last{border-bottom:none}.admin-subsection+.admin-subsection{margin-top:1rem}.admin-mb-0{margin-bottom:0}.admin-danger-text{color:var(--zinc-400);margin-bottom:1rem}.admin-form-field-auto{min-width:auto}.admin-modal{display:none;position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;align-items:center;justify-content:center;background:rgba(0,0,0,.6);backdrop-filter:blur(4px)}.admin-modal.active{display:flex}.admin-modal-content{background:#3a3a3a;border-radius:12px;padding:1.5rem;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px rgba(0,0,0,.4)}.admin-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.admin-modal-header h3{font-size:1.125rem;font-weight:600;color:#fff;margin:0}.admin-modal-close{background:none;border:none;color:#999;font-size:1.5rem;cursor:pointer;padding:0;line-height:1;transition:color .15s ease}.admin-modal-close:hover{color:#fff}.admin-modal-body .form-item{margin-bottom:1rem}.admin-modal-body input:focus,.admin-modal-body select:focus,.admin-modal-body textarea:focus{outline:none;border-color:#d4a84b !important;background:rgba(212,168,75,.1) !important}.admin-modal-footer{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #454545}.admin-table-container{background:#3a3a3a;border-radius:12px;overflow:hidden}.admin-table-container .admin-table th:first-child,.admin-table-container .admin-table td:first-child{padding-left:1.5rem}.admin-table-container .admin-table th:last-child,.admin-table-container .admin-table td:last-child{padding-right:1.5rem}.admin-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.admin-section-header h2{font-size:1rem;font-weight:600;color:#fff;margin:0}.admin-search-wrapper{display:flex;justify-content:flex-end;margin-top:1.5rem;margin-bottom:1.5rem}.admin-search-form{position:relative;width:100%;max-width:400px}.admin-search-input{width:100%;padding:.625rem 2.5rem .625rem 1rem;border:1px solid #555;border-radius:8px;background:#3a3a3a;color:#fff;font-size:.875rem;transition:all .15s ease}.admin-search-input::placeholder{color:#888}.admin-search-input:focus{outline:none;border-color:#d4a84b;background:#424242}.admin-search-clear{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);color:#999;font-size:1.25rem;text-decoration:none;cursor:pointer;transition:color .15s ease;line-height:1}.admin-search-clear:hover{color:#fff}.admin-tabs{border-radius:12px;overflow:hidden}.admin-tabs-nav{display:flex;flex-wrap:nowrap;gap:0;border-bottom:1px solid #454545;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#555 rgba(0,0,0,0)}.admin-tabs-nav::-webkit-scrollbar{height:4px}.admin-tabs-nav::-webkit-scrollbar-track{background:rgba(0,0,0,0)}.admin-tabs-nav::-webkit-scrollbar-thumb{background:#555;border-radius:2px}.admin-tab{display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;background:none;border:none;color:#999;font-size:.875rem;font-weight:500;cursor:pointer;position:relative;transition:color .2s;white-space:nowrap;flex-shrink:0}.admin-tab:hover{color:#d0d0d0}.admin-tab-active{color:#d4a84b}.admin-tab-active::after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:#d4a84b}.admin-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .375rem;margin-left:.5rem;font-size:.75rem;font-weight:500;background:hsla(0,0%,100%,.1);border-radius:10px}.admin-tab-active .admin-tab-count{background:rgba(212,168,75,.2);color:#d4a84b}.admin-tabs-content{padding:1.5rem;background:hsla(0,0%,100%,.1)}.admin-tab-panel{display:none}.admin-tab-panel-active{display:block}.admin-tab-panel .admin-table-container{background:#323232}.admin-tab-panel .admin-empty{background:#454545;border-radius:12px}.admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));gap:1rem;margin-bottom:1.5rem}.admin-stat-card{background:#3a3a3a;border-radius:12px;padding:1.25rem;display:flex;align-items:center;gap:1rem}.admin-stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.admin-stat-icon svg{width:24px;height:24px}.admin-stat-icon-blue{background:rgba(59,130,246,.15);color:#60a5fa}.admin-stat-icon-green{background:rgba(74,222,128,.15);color:#4ade80}.admin-stat-icon-purple{background:rgba(139,92,246,.15);color:#a78bfa}.admin-stat-icon-yellow{background:rgba(212,168,75,.15);color:#d4a84b}.admin-stat-icon-orange{background:rgba(251,146,60,.15);color:#fb923c}.admin-stat-icon-red{background:rgba(248,113,113,.15);color:#f87171}.admin-stat-content{flex:1;min-width:0}.admin-stat-card .admin-stat-value{font-size:1.5rem;font-weight:600;color:#fff;line-height:1.2}.admin-stat-card .admin-stat-label{font-size:.8125rem;color:#999;margin-top:.125rem}.admin-dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem}.admin-dashboard-card{background:#3a3a3a;border-radius:12px;overflow:hidden}.admin-dashboard-card-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #454545}.admin-dashboard-card-header h2{font-size:1rem;font-weight:600;color:#fff;margin:0}.admin-dashboard-card-body{padding:0}.admin-dashboard-card-body .admin-table td{padding:.75rem 1.5rem}.admin-dashboard-card-body .admin-table td:first-child{padding-left:1.5rem}.admin-dashboard-card-body .admin-table td:last-child{padding-right:1.5rem}.admin-quick-actions{display:flex;flex-direction:column;gap:.5rem;padding:1rem}.admin-quick-action{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#454545;border-radius:8px;color:#d0d0d0;text-decoration:none;transition:background .15s ease,color .15s ease}.admin-quick-action:hover{background:#505050;color:#fff}.admin-quick-action-icon{width:32px;height:32px;background:#3a3a3a;border-radius:8px;display:flex;align-items:center;justify-content:center}.admin-quick-action-icon svg{width:18px;height:18px;color:#d4a84b}.admin-badge-orange{background:rgba(251,146,60,.15);color:#fb923c}.admin-badge-sm{padding:.125rem .5rem;font-size:.625rem}.admin-options-list{display:flex;flex-direction:column;gap:.375rem;margin-top:.5rem}.admin-plan-display{padding:.5rem .75rem;background:#3a3a3a;border-radius:6px;font-size:.875rem;color:#e0e0e0}.admin-checkbox-option{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#454545;border-radius:8px;cursor:pointer;transition:background .15s ease}.admin-checkbox-option:hover{background:#505050}.admin-checkbox-option:has(input:checked){background:rgba(212,168,75,.1);border:1px solid #d4a84b}.admin-checkbox-option input[type=checkbox]{appearance:none;-webkit-appearance:none;width:18px;height:18px;min-width:18px;border:2px solid #777;border-radius:4px;background:#3a3a3a;cursor:pointer;transition:all .15s ease;position:relative}.admin-checkbox-option input[type=checkbox]:checked{background:#d4a84b;border-color:#d4a84b}.admin-checkbox-option input[type=checkbox]:checked::after{content:"";position:absolute;top:1px;left:5px;width:4px;height:8px;border:solid #1a1a1a;border-width:0 2px 2px 0;transform:rotate(45deg)}.admin-checkbox-label-content{display:flex;justify-content:space-between;align-items:center;flex:1}.admin-option-name{font-size:.875rem;color:#fff}.admin-option-price{font-size:.8125rem;color:#d4a84b;font-weight:500}.admin-subscription-total{background:#2a2a2a;border-radius:8px;padding:1rem 1.25rem;margin-top:1rem}.admin-total-row{display:flex;justify-content:space-between;align-items:center}.admin-total-row span:first-child{font-size:.875rem;color:#999;text-transform:uppercase;letter-spacing:.03em}.admin-total-amount{font-size:1.5rem;font-weight:600;color:#d4a84b}.admin-label-lg{display:block;font-size:.875rem;font-weight:600;color:#e0e0e0;margin-bottom:.75rem}.admin-state-selector{display:grid;grid-template-columns:repeat(3, 1fr);gap:.75rem}.admin-state-option{cursor:pointer;display:flex}.admin-state-option input[type=radio]{position:absolute;opacity:0;pointer-events:none}.admin-state-card{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.5rem;padding:1rem .75rem;background:#2a2a2a;border:2px solid #454545;border-radius:10px;transition:all .15s ease;width:100%;min-height:100px}.admin-state-option:hover .admin-state-card{background:#323232;border-color:#555}.admin-state-option input[type=radio]:checked+.admin-state-card{border-color:#d4a84b;background:rgba(212,168,75,.1)}.admin-state-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px;flex-shrink:0}.admin-state-icon svg{width:24px;height:24px}.admin-state-trial .admin-state-icon{background:rgba(251,191,36,.15);color:#fbbf24}.admin-state-trial input[type=radio]:checked+.admin-state-card{border-color:#fbbf24;background:rgba(251,191,36,.1)}.admin-state-subscribed .admin-state-icon{background:rgba(34,197,94,.15);color:#22c55e}.admin-state-subscribed input[type=radio]:checked+.admin-state-card{border-color:#22c55e;background:rgba(34,197,94,.1)}.admin-state-expired .admin-state-icon{background:rgba(239,68,68,.15);color:#ef4444}.admin-state-expired input[type=radio]:checked+.admin-state-card{border-color:#ef4444;background:rgba(239,68,68,.1)}.admin-state-info{display:flex;flex-direction:column;align-items:center;gap:.125rem}.admin-state-title{font-size:.8125rem;font-weight:600;color:#e0e0e0}.admin-state-desc{font-size:.6875rem;color:#888}.admin-info-box{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.8125rem;line-height:1.4}.admin-info-box svg{flex-shrink:0;margin-top:.125rem}.admin-info-box-warning{background:rgba(251,191,36,.1);border:1px solid rgba(251,191,36,.3);color:#fbbf24}.admin-info-box-info{background:rgba(59,130,246,.1);border:1px solid rgba(59,130,246,.3);color:#60a5fa}.admin-info-box-danger{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);color:#f87171}.admin-expired-summary{display:grid;grid-template-columns:repeat(2, 1fr);gap:1rem;padding:1rem;background:#2a2a2a;border-radius:8px}.admin-expired-item{display:flex;flex-direction:column;gap:.25rem}.admin-expired-label{font-size:.75rem;color:#888;text-transform:uppercase;letter-spacing:.03em}.admin-expired-value{font-size:.875rem;color:#e0e0e0}.admin-options-subscribed{display:flex;flex-wrap:wrap;gap:.75rem}.admin-option-tag{display:flex;align-items:center;gap:.5rem;background:rgba(212,168,75,.15);border:1px solid rgba(212,168,75,.4);border-radius:8px;padding:.5rem .75rem}.admin-option-name{font-size:.875rem;font-weight:500;color:#e0e0e0}.admin-option-date{font-size:.75rem;color:#888;font-style:italic}.admin-badge-sm{font-size:.625rem;padding:.125rem .375rem}.admin-subscription-card{background:#3a3a3a;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.admin-subscription-status{background:#323232;border-radius:10px;padding:1.25rem;margin-bottom:1.25rem}.admin-subscription-status-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.admin-subscription-status-title{font-size:1.125rem;font-weight:600;color:#fff}.admin-trial-progress{margin-bottom:1.25rem}.admin-trial-progress-bar{height:8px;background:#454545;border-radius:4px;overflow:hidden;margin-bottom:.5rem}.admin-trial-progress-fill{height:100%;background:linear-gradient(90deg, #fbbf24 0%, #f59e0b 100%);border-radius:4px;transition:width .3s ease}.admin-trial-progress-text{display:flex;justify-content:space-between;font-size:.8125rem;color:#d0d0d0}.admin-trial-progress-text strong{color:#fbbf24}.admin-subscription-dates{display:grid;grid-template-columns:repeat(auto-fit, minmax(150px, 1fr));gap:1rem;background:#2a2a2a;border-radius:8px;padding:1rem 1.25rem}.admin-subscription-date-item{display:flex;flex-direction:column;gap:.25rem}.admin-subscription-date-label{font-size:.6875rem;color:#888;text-transform:uppercase;letter-spacing:.03em}.admin-subscription-date-value{font-size:.875rem;font-weight:500;color:#e0e0e0}.admin-subscription-plan{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg, rgba(250, 204, 21, 0.08) 0%, rgba(250, 204, 21, 0.15) 100%);border:1px solid rgba(250,204,21,.4);border-radius:10px;padding:1rem 1.25rem;margin-bottom:1.25rem}.admin-subscription-plan-info{display:flex;align-items:center;gap:.75rem}.admin-subscription-plan-info h3{font-size:1.125rem;font-weight:600;color:#fff;margin:0}.admin-subscription-plan-price{text-align:right}.admin-subscription-price-amount{font-size:1.5rem;font-weight:700;color:#facc15}.admin-subscription-price-period{font-size:.8125rem;color:#888}.admin-subscription-section{background:#323232;border-radius:10px;padding:1.25rem;margin-bottom:1rem}.admin-subscription-section:last-child{margin-bottom:0}.admin-subscription-section-title{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.04em;margin:0 0 1rem 0}.admin-subscription-features{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill, minmax(200px, 1fr));gap:.5rem}.admin-subscription-features li{position:relative;padding-left:1.5rem;font-size:.875rem;color:#d0d0d0;line-height:1.5}.admin-subscription-features li::before{content:"✓";position:absolute;left:0;color:#22c55e;font-weight:600}.admin-subscription-options-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(260px, 1fr));gap:1rem}.admin-subscription-option-card{background:rgba(212,168,75,.1);border:1px solid rgba(212,168,75,.3);border-radius:10px;padding:1rem}.admin-subscription-option-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.75rem}.admin-subscription-option-name{font-size:.9375rem;font-weight:600;color:#e0e0e0}.admin-subscription-option-details{list-style:none;margin:0;padding:0}.admin-subscription-option-details li{position:relative;padding-left:1.25rem;font-size:.8125rem;color:#999;line-height:1.4;margin-bottom:.25rem}.admin-subscription-option-details li::before{content:"";position:absolute;left:0;top:.5em;width:6px;height:6px;background:#d4a84b;border-radius:50%}.admin-subscription-option-date{font-size:.75rem;color:#888;font-style:italic;margin-top:.5rem}.admin-subscription-expired{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3)}.admin-subscription-expired-info{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1rem 0}.admin-subscription-expired-icon{color:#f87171;margin-bottom:.75rem}.admin-subscription-expired-text{font-size:.9375rem;color:#f87171;font-weight:500;margin:0 0 .25rem 0}.admin-badge-outline{background:rgba(0,0,0,0);border:1px solid #666;color:#999}.admin-security-nav{display:flex;flex-wrap:wrap;gap:.5rem;padding:1rem;background:#353535;border-radius:12px;margin-bottom:1.5rem}.admin-security-nav-item{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:#404040;border-radius:8px;color:#d0d0d0;text-decoration:none;font-size:.875rem;font-weight:500;transition:all .2s ease}.admin-security-nav-item:hover{background:#4a4a4a;color:#fff}.admin-security-nav-item svg{width:20px;height:20px;flex-shrink:0}.admin-security-nav-item-active{background:#d4a84b;color:#1a1a1a}.admin-security-nav-item-active:hover{background:#e5bc6a;color:#1a1a1a}.admin-security-nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:#f87171;color:#fff;font-size:.75rem;font-weight:600;border-radius:10px}.admin-security-score-card{background:#3a3a3a;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.admin-security-score-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.admin-security-score-header h2{font-size:1.125rem;font-weight:600;color:#fff;margin:0}.admin-security-score-value{font-size:2rem;font-weight:700}.admin-security-score-good{color:#4ade80}.admin-security-score-medium{color:#d4a84b}.admin-security-score-bad{color:#f87171}.admin-security-score-bar{height:8px;background:#454545;border-radius:4px;overflow:hidden;margin-bottom:1rem}.admin-security-score-bar-fill{height:100%;background:linear-gradient(90deg, #f87171 0%, #d4a84b 50%, #4ade80 100%);border-radius:4px;transition:width .5s ease}.admin-security-score-legend{display:flex;gap:1.5rem;flex-wrap:wrap}.admin-security-legend-item{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:#999}.admin-security-legend-dot{width:10px;height:10px;border-radius:50%}.admin-security-legend-dot-green{background:#4ade80}.admin-security-legend-dot-yellow{background:#d4a84b}.admin-security-legend-dot-red{background:#f87171}.admin-security-categories-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));gap:1rem;margin-bottom:1.5rem}.admin-security-category-card{display:block;background:#3a3a3a;border-radius:12px;padding:1.25rem;text-decoration:none;transition:all .2s ease;border:1px solid rgba(0,0,0,0)}.admin-security-category-card:hover{background:#424242;border-color:#d4a84b;transform:translateY(-2px)}.admin-security-category-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.admin-security-category-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#454545;border-radius:10px;color:#d4a84b}.admin-security-category-icon svg{width:24px;height:24px}.admin-security-category-score-value{font-size:1.25rem;font-weight:700;color:#d0d0d0}.admin-security-category-title{font-size:1rem;font-weight:600;color:#fff;margin:0 0 .5rem 0}.admin-security-category-desc{font-size:.8125rem;color:#999;margin:0 0 1rem 0;line-height:1.4}.admin-security-category-stats{display:flex;gap:.75rem;flex-wrap:wrap}.admin-security-stat{font-size:.75rem;font-weight:500;padding:.25rem .5rem;border-radius:4px}.admin-security-stat-green{background:rgba(74,222,128,.15);color:#4ade80}.admin-security-stat-yellow{background:rgba(212,168,75,.15);color:#d4a84b}.admin-security-stat-red{background:rgba(248,113,113,.15);color:#f87171}.admin-security-category-header-section{display:flex;justify-content:space-between;align-items:center;background:#3a3a3a;border-radius:12px;padding:1.5rem;margin-bottom:1rem}.admin-security-category-info h2{font-size:1.25rem;font-weight:600;color:#fff;margin:0 0 .5rem 0}.admin-security-category-info p{font-size:.875rem;color:#999;margin:0}.admin-security-score-circle{display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;font-size:1.25rem;font-weight:700;background:#454545}.admin-security-category-score-badge-sm .admin-security-score-circle{width:40px;height:40px;font-size:.875rem}.admin-security-items-tabs{display:flex;flex-wrap:wrap;gap:.5rem;padding:1rem;background:#353535;border-radius:12px 12px 0 0;border-bottom:1px solid #454545}.admin-security-item-tab{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#404040;border-radius:6px;color:#d0d0d0;text-decoration:none;font-size:.8125rem;font-weight:500;transition:all .2s ease;border-left:3px solid rgba(0,0,0,0)}.admin-security-item-tab:hover{background:#4a4a4a}.admin-security-item-tab-active{background:#454545;color:#fff}.admin-security-item-tab-green{border-left-color:#4ade80}.admin-security-item-tab-yellow{border-left-color:#d4a84b}.admin-security-item-tab-red{border-left-color:#f87171}.admin-security-item-tab-gray{border-left-color:#666}.admin-security-item-tab-status{font-size:.875rem}.admin-security-item-content{background:#3a3a3a;border-radius:0 0 12px 12px;padding:1.5rem}.admin-security-item-header{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #454545}.admin-security-item-header h3{font-size:1.25rem;font-weight:600;color:#fff;margin:0 0 .75rem 0}.admin-security-item-title-section{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1rem}.admin-security-item-badges{display:flex;gap:.5rem}.admin-security-item-section{margin-bottom:1.5rem}.admin-security-item-section h4{font-size:.875rem;font-weight:600;color:#d4a84b;text-transform:uppercase;letter-spacing:.5px;margin:0 0 .75rem 0}.admin-security-item-section p{color:#d0d0d0;line-height:1.6;margin:0}.admin-security-section-danger{background:rgba(248,113,113,.1);border:1px solid rgba(248,113,113,.2);border-radius:8px;padding:1rem}.admin-security-section-danger h4{color:#f87171}.admin-security-section-info{background:rgba(96,165,250,.1);border:1px solid rgba(96,165,250,.2);border-radius:8px;padding:1rem}.admin-security-section-info h4{color:#60a5fa}.admin-security-file-path{display:inline-block;background:#2a2a2a;padding:.5rem 1rem;border-radius:6px;font-family:monospace;font-size:.875rem;color:#d4a84b}.admin-security-code-block{background:#2a2a2a;border-radius:8px;padding:1rem;font-family:monospace;font-size:.8125rem;color:#d0d0d0;overflow-x:auto}.admin-security-code-block p{margin:0 0 .5rem 0}.admin-security-code-block p:last-child{margin-bottom:0}.admin-security-risks p,.admin-security-recommendations p,.admin-security-references p{margin:0 0 .5rem 0}.admin-security-risks p:last-child,.admin-security-recommendations p:last-child,.admin-security-references p:last-child{margin-bottom:0}.admin-security-item-actions{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #454545}.admin-security-item-actions h4{font-size:.875rem;font-weight:600;color:#fff;margin:0 0 1rem 0}.admin-security-status-form{display:grid;gap:1rem;max-width:500px}.admin-card-danger{border:1px solid rgba(248,113,113,.3)}.admin-card-danger .admin-card-header{background:rgba(248,113,113,.1)}.admin-badge-blue{background:rgba(96,165,250,.15);color:#60a5fa}.nav-item-group{display:flex;flex-direction:column}.nav-item-expandable{display:flex;align-items:center;width:100%;border:none;background:rgba(0,0,0,0);cursor:pointer;text-align:left}.nav-chevron{width:16px;height:16px;margin-left:auto;transition:transform .2s ease;opacity:.6}.nav-chevron-open{transform:rotate(180deg)}.nav-submenu{display:none;flex-direction:column;padding-left:.5rem;margin-top:.25rem;margin-bottom:.5rem}.nav-submenu-open{display:flex}.nav-subitem{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem .5rem 1.5rem;color:#a0a0a0;text-decoration:none;font-size:.8125rem;border-radius:6px;transition:all .15s ease}.nav-subitem:hover{color:#fff;background:hsla(0,0%,100%,.05)}.nav-subitem-active{color:#d4a84b;background:rgba(212,168,75,.1)}.nav-subitem-active .nav-subitem-dot{background:#d4a84b}.nav-subitem-dot{width:6px;height:6px;border-radius:50%;background:#666;flex-shrink:0}.nav-subitem-badge{margin-left:auto;min-width:18px;height:18px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;background:#f87171;color:#fff;font-size:.6875rem;font-weight:600;border-radius:9px}.sidebar.collapsed .nav-submenu{display:none !important}.sidebar.collapsed .nav-chevron{display:none}.admin-tab-status{margin-right:.25rem}.admin-tab-status-green{color:#4ade80}.admin-tab-status-yellow{color:#d4a84b}.admin-tab-status-red{color:#f87171}.admin-tab-status-gray{color:#666}.nav-subitem-group{display:flex;flex-direction:column}.nav-subitem-expandable{cursor:pointer;user-select:none}.nav-subitem-chevron{width:14px;height:14px;margin-left:auto;transition:transform .2s ease;opacity:.5;flex-shrink:0}.nav-chevron-open,.nav-subitem-group[data-submenu-open-value=true] .nav-subitem-chevron{transform:rotate(180deg)}.nav-submenu-level3{padding-left:1rem;margin-top:.25rem;margin-left:.5rem;border-left:1px solid #454545}.nav-subitem-level3{padding:.375rem .75rem .375rem 1rem;font-size:.75rem}.nav-subitem-level3 .nav-subitem-dot{width:5px;height:5px}.nav-subitem-level3.nav-subitem-active{background:rgba(0,0,0,0);color:#d4a84b}.nav-subitem-badge-sm{min-width:16px;height:16px;padding:0 4px;font-size:.625rem}.admin-security-checker{background:#2a2a2a;border:1px solid #454545;border-radius:8px;padding:1.25rem;margin:1.5rem 0}.admin-security-checker-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #454545}.admin-security-checker-header h4{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:#fff;margin:0}.admin-security-checker-header h4 .admin-icon{width:18px;height:18px;color:#d4a84b}.admin-security-checker-list{display:flex;flex-direction:column;gap:.5rem}.admin-security-checker-item{display:grid;grid-template-columns:24px 1fr auto;gap:.75rem;align-items:center;padding:.625rem .75rem;background:#353535;border-radius:6px;border-left:3px solid rgba(0,0,0,0)}.admin-security-checker-item.admin-security-checker-item-green{border-left-color:#4ade80}.admin-security-checker-item.admin-security-checker-item-yellow{border-left-color:#d4a84b}.admin-security-checker-item.admin-security-checker-item-red{border-left-color:#f87171}.admin-security-checker-item-status{display:flex;align-items:center;justify-content:center}.admin-security-checker-item-status .admin-icon{width:20px;height:20px}.admin-security-checker-item-status .admin-icon.admin-icon-green{color:#4ade80}.admin-security-checker-item-status .admin-icon.admin-icon-yellow{color:#d4a84b}.admin-security-checker-item-status .admin-icon.admin-icon-red{color:#f87171}.admin-security-checker-item-content{display:flex;flex-direction:column;gap:.125rem;min-width:0}.admin-security-checker-item-name{font-size:.8125rem;font-weight:500;color:#fff}.admin-security-checker-item-message{font-size:.75rem;color:#999}.admin-security-checker-item-file code{font-size:.6875rem;color:#60a5fa;background:rgba(96,165,250,.1);padding:.25rem .5rem;border-radius:4px;white-space:nowrap}.admin-security-checker-summary{display:flex;align-items:center;gap:1rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid #454545}.admin-security-checker-score .admin-security-checker-score-value{font-size:1.25rem;font-weight:700}.admin-security-checker-score .admin-security-checker-score-value.good{color:#4ade80}.admin-security-checker-score .admin-security-checker-score-value.medium{color:#d4a84b}.admin-security-checker-score .admin-security-checker-score-value.bad{color:#f87171}.admin-security-checker-stats{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:#999}.admin-security-checker-stats strong{color:#fff}.admin-security-checker-stats .admin-text-yellow{color:#d4a84b}.admin-security-checker-stat{display:inline-flex;align-items:center}.admin-conversation-container{display:flex;flex-direction:column;gap:1.5rem;padding:1rem 0;border-bottom:1px solid #454545;margin-bottom:1.5rem}.admin-message-wrapper{display:flex;gap:1rem}.admin-message-wrapper-user{flex-direction:row-reverse;align-items:flex-start}.admin-message-avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg, #fce088 0%, #f5c842 100%)}.admin-message-avatar-emoji{font-size:24px}.admin-message-avatar-text{font-weight:600;font-size:.875rem;color:#1a1a1a}.admin-message-content{flex:1;max-width:70%}.admin-message-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.admin-message-header-user{flex-direction:row-reverse;justify-content:flex-end}.admin-message-sender{font-size:.875rem;color:#e0e0e0;font-weight:600}.admin-message-sender-detail{font-size:.75rem;color:#888;font-weight:400}.admin-message-auto-badge{font-size:.625rem}.admin-message-time{font-size:.75rem;color:#888}.admin-message-bubble{padding:.875rem 1rem;background:#454545;border-radius:10px;font-size:.875rem;line-height:1.6;color:#e0e0e0}.admin-message-bubble-user{background:rgba(252,224,136,.2);border:1px solid rgba(252,224,136,.4)}.admin-message-image-container{margin-top:.75rem}.admin-message-image-container-no-body{margin-top:0}.admin-message-image{max-width:100%;height:auto;border-radius:8px;display:block}.admin-actions-row{display:flex;gap:.75rem}.admin-form-label-inline{display:block;margin-bottom:.5rem;font-size:.875rem;color:#e0e0e0}.admin-form-file-field{width:100%;padding:.5rem;border:1px solid #555;border-radius:8px;font-size:.875rem;background:#484848;color:#fff}.admin-form-file-field:focus{outline:none;border-color:#d4a84b;background:#505050}.admin-form-hint-text{display:block;margin-top:.25rem;font-size:.75rem;color:#888}.admin-opacity-60{opacity:.6}.admin-hidden{display:none !important}.admin-mt-1-5-r{margin-top:1.5rem}.admin-mb-1-r{margin-bottom:1rem}.admin-mb-1-5-r{margin-bottom:1.5rem}.admin-justify-between{justify-content:space-between}.admin-mt-1-5{margin-top:1.5rem}.admin-pt-1-r{padding-top:1rem}.admin-border-top{border-top:1px solid #454545}.settings-page .section-tabs{display:flex;gap:var(--spacing-1);margin-bottom:var(--spacing-6);padding:var(--spacing-1);background:var(--zinc-800);border:1px solid var(--zinc-700);border-radius:var(--radius-lg)}.settings-page .section-tab{flex:1;padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-sm);font-weight:500;color:var(--zinc-400);text-align:center;text-decoration:none;background:rgba(0,0,0,0);border-radius:var(--radius);transition:all var(--transition-fast)}.settings-page .section-tab:hover{color:var(--zinc-200);background:var(--zinc-750)}.settings-page .section-tab.active{color:var(--zinc-100);background:var(--zinc-700);font-weight:600;border-bottom:2px solid var(--zinc-600)}.settings-page .settings-container{background:rgba(0,0,0,0)}.settings-page .card{background:var(--zinc-800);border:1px solid var(--zinc-700);border-radius:var(--radius-xl);padding:var(--spacing-6);margin-bottom:var(--spacing-6);position:relative}.settings-page .card h2{display:flex;align-items:center;gap:var(--spacing-3);font-size:var(--font-size-xl);font-weight:600;color:var(--zinc-100);margin:0 0 var(--spacing-2) 0}.settings-page .card h2 svg{width:24px;height:24px;color:var(--zinc-600)}.settings-page .card-description{margin:0 0 var(--spacing-5) 0;color:var(--zinc-400);font-size:var(--font-size-sm)}.settings-page .card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-5)}.settings-page .card-header h2{margin:0}.subscription-status-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-6);padding-bottom:var(--spacing-4);border-bottom:1px solid var(--zinc-700)}.subscription-status-header h2{margin:0 !important}.subscription-trial-info{margin-bottom:var(--spacing-6)}.trial-progress{margin-bottom:var(--spacing-5)}.trial-progress-bar{height:10px;background:var(--zinc-700);border-radius:var(--radius-full);overflow:hidden;margin-bottom:var(--spacing-3);border:1px solid var(--zinc-600)}.trial-progress-fill{height:100%;background:var(--zinc-600);border-radius:var(--radius-full);transition:width .5s ease}.trial-progress-text{display:flex;justify-content:space-between;font-size:var(--font-size-sm);color:var(--zinc-300)}.trial-progress-text strong{color:var(--zinc-100)}.trial-dates{display:grid;grid-template-columns:repeat(2, 1fr);gap:var(--spacing-4);padding:var(--spacing-4);background:var(--zinc-750);border:1px solid var(--zinc-600);border-radius:var(--radius-lg)}.trial-date-item{display:flex;flex-direction:column;gap:var(--spacing-1)}.trial-date-label{font-size:var(--font-size-xs);color:var(--zinc-400);text-transform:uppercase;letter-spacing:.05em}.trial-date-value{font-size:var(--font-size-sm);font-weight:500;color:var(--zinc-200)}.subscription-dates{display:grid;grid-template-columns:repeat(3, 1fr);gap:var(--spacing-4);padding:var(--spacing-4);background:var(--zinc-750);border:1px solid var(--zinc-600);border-radius:var(--radius-lg);margin-bottom:var(--spacing-6)}.subscription-date-item{display:flex;flex-direction:column;gap:var(--spacing-1)}.subscription-date-label{font-size:var(--font-size-xs);color:var(--zinc-400);text-transform:uppercase;letter-spacing:.05em}.subscription-date-value{font-size:var(--font-size-sm);font-weight:500;color:var(--zinc-200)}.subscription-plan{border:1px solid var(--zinc-600);border-radius:var(--radius-lg);overflow:hidden;background:var(--zinc-750)}.subscription-plan-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-5);background:linear-gradient(135deg, var(--zinc-750) 0%, var(--zinc-800) 100%);border-bottom:1px solid var(--zinc-600)}.subscription-plan-name{display:flex;align-items:center;gap:var(--spacing-3)}.subscription-plan-name h3{margin:0;font-size:var(--font-size-lg);font-weight:600;color:var(--zinc-100)}.subscription-plan-price{text-align:right}.price-amount{font-size:var(--font-size-2xl);font-weight:700;color:var(--zinc-100)}.price-period{font-size:var(--font-size-sm);color:var(--zinc-400)}.subscription-section{margin-bottom:var(--spacing-6)}.subscription-section:last-child{margin-bottom:0}.subscription-section-title{font-size:var(--font-size-sm);font-weight:600;color:var(--zinc-300);text-transform:uppercase;letter-spacing:.05em;margin:0 0 var(--spacing-4) 0}.subscription-features-section{background:var(--zinc-750);border:1px solid var(--zinc-600);border-radius:var(--radius-lg);padding:var(--spacing-5)}.subscription-features-section .subscription-section-title{color:var(--zinc-200);margin-bottom:var(--spacing-4)}.subscription-features-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(200px, 1fr));gap:var(--spacing-4)}.subscription-feature-card{background:var(--zinc-800);border:1px solid var(--zinc-600);border-radius:var(--radius);padding:var(--spacing-4);transition:all var(--transition-fast)}.subscription-feature-card:hover{border-color:var(--zinc-500)}.subscription-feature-card-title{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-sm);font-weight:600;color:var(--zinc-100);margin:0 0 var(--spacing-3) 0}.subscription-feature-card-title svg{width:18px;height:18px;color:var(--zinc-600);flex-shrink:0}.subscription-feature-card-list{list-style:none;padding:0;margin:0}.subscription-feature-card-list li{position:relative;padding-left:var(--spacing-4);font-size:var(--font-size-sm);color:var(--zinc-400);margin-bottom:var(--spacing-2);line-height:1.4}.subscription-feature-card-list li:last-child{margin-bottom:0}.subscription-feature-card-list li::before{content:"";position:absolute;left:0;top:.5em;width:6px;height:6px;background:var(--zinc-500);border-radius:50%}.subscription-users-info{margin:var(--spacing-4) 0 0 0;font-size:var(--font-size-sm);color:var(--zinc-400);font-weight:500;text-align:center}.subscription-options-section{margin-top:var(--spacing-6);padding-top:var(--spacing-6);border-top:1px solid var(--zinc-700)}.subscription-options-section .subscription-section-title{display:flex;align-items:center;gap:var(--spacing-2);margin-bottom:var(--spacing-4)}.subscription-options-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));gap:var(--spacing-4)}.subscription-option-card{background:var(--zinc-750);border:1px solid var(--zinc-600);border-radius:var(--radius-lg);padding:var(--spacing-4);transition:all var(--transition-fast)}.subscription-option-card:hover{border-color:var(--zinc-500);transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.2)}.subscription-option-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-2);margin-bottom:var(--spacing-3)}.subscription-option-name{font-size:var(--font-size-base);font-weight:600;color:var(--zinc-100)}.subscription-option-details{list-style:none;padding:0;margin:0 0 var(--spacing-3) 0}.subscription-option-details li{position:relative;padding-left:var(--spacing-5);font-size:var(--font-size-sm);color:var(--zinc-400);margin-bottom:var(--spacing-1);line-height:1.4}.subscription-option-details li::before{content:"";position:absolute;left:0;top:.5em;width:6px;height:6px;background:var(--zinc-500);border-radius:50%}.subscription-option-date{font-size:var(--font-size-xs);color:var(--zinc-500);font-style:italic}.subscription-cta{margin-top:var(--spacing-6);padding-top:var(--spacing-5);border-top:1px solid var(--zinc-700);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-4)}.subscription-cta p{margin:0;flex:1;color:var(--zinc-400)}.subscription-expired-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-8) var(--spacing-4);text-align:center}.subscription-expired-icon{width:64px;height:64px;color:var(--zinc-800);margin-bottom:var(--spacing-4)}.subscription-expired-state h3{margin:0 0 var(--spacing-2) 0;color:var(--zinc-100);font-size:var(--font-size-xl)}.subscription-expired-state .text-muted{color:var(--zinc-400)}.subscription-expired-warning{color:var(--zinc-800);font-weight:500;margin:var(--spacing-4) 0}.badge-warning{background:var(--zinc-700);color:var(--zinc-300);font-weight:600;border:1px solid var(--zinc-600)}.badge-success{background:rgba(34,197,94,.2);color:#22c55e;font-weight:600}.badge-outline{background:rgba(0,0,0,0);border:1px solid var(--zinc-500);color:var(--zinc-400)}.badge-premium{display:inline-flex;align-items:center;padding:.25rem .75rem;font-size:var(--font-size-xs);font-weight:600;color:var(--zinc-300);background:var(--zinc-700);border-radius:var(--radius-full);margin-left:var(--spacing-2)}.badge-success-outline{background:rgba(0,0,0,0);border:1px solid #22c55e;color:#22c55e;padding:.125rem .5rem;font-size:var(--font-size-xs);border-radius:var(--radius)}.badge-coming-soon{display:inline-flex;align-items:center;padding:.25rem .75rem;font-size:var(--font-size-xs);font-weight:600;color:var(--zinc-400);background:var(--zinc-700);border-radius:var(--radius)}.pricing-benefits{display:grid;grid-template-columns:repeat(3, 1fr);gap:var(--spacing-4);margin-bottom:var(--spacing-8)}.pricing-benefit-card{background:var(--zinc-800);border:1px solid var(--zinc-700);border-radius:var(--radius-xl);padding:var(--spacing-6);text-align:center;transition:all var(--transition-fast);position:relative;overflow:hidden}.pricing-benefit-card:hover{border-color:var(--zinc-500);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.2)}.pricing-benefit-icon{width:64px;height:64px;margin:0 auto var(--spacing-4);display:flex;align-items:center;justify-content:center;background:var(--zinc-700);border:1px solid var(--zinc-600);border-radius:var(--radius-lg)}.pricing-benefit-icon svg{width:32px;height:32px;color:var(--zinc-600)}.pricing-benefit-card h3{font-size:var(--font-size-lg);font-weight:600;color:var(--zinc-100);margin:0 0 var(--spacing-2) 0}.pricing-benefit-card p{font-size:var(--font-size-sm);color:var(--zinc-400);margin:0;line-height:1.5}.pricing-included-section{margin-bottom:var(--spacing-8);padding:var(--spacing-6);background:var(--zinc-800);border:1px solid var(--zinc-700);border-radius:var(--radius-xl);position:relative}.pricing-included-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-6);flex-wrap:wrap;gap:var(--spacing-4)}.pricing-included-title{display:flex;align-items:center;gap:var(--spacing-3)}.pricing-included-title svg{color:var(--zinc-600);flex-shrink:0}.pricing-included-title h2{margin:0;font-size:var(--font-size-2xl);font-weight:700;color:var(--zinc-100)}.pricing-included-prices{text-align:right}.pricing-included-price-annual{display:flex;align-items:baseline;gap:var(--spacing-1);justify-content:flex-end}.pricing-included-amount{font-size:var(--font-size-2xl);font-weight:700;color:var(--zinc-100)}.pricing-included-period{font-size:var(--font-size-base);color:var(--zinc-400)}.pricing-included-price-monthly{font-size:var(--font-size-sm);color:var(--zinc-500);font-style:italic;margin-top:var(--spacing-1)}.pricing-features-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:var(--spacing-4)}.pricing-feature-section{background:var(--zinc-750);border:1px solid var(--zinc-600);border-radius:var(--radius-lg);padding:var(--spacing-5);transition:all var(--transition-fast)}.pricing-feature-section:hover{border-color:var(--zinc-500)}.pricing-feature-section-title{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-base);font-weight:600;color:var(--zinc-100);margin:0 0 var(--spacing-4) 0}.pricing-feature-section-title svg{width:20px;height:20px;color:var(--zinc-600);flex-shrink:0}.pricing-feature-list-new{list-style:none;padding:0;margin:0}.pricing-feature-list-new li{position:relative;padding-left:var(--spacing-5);font-size:var(--font-size-sm);color:var(--zinc-400);margin-bottom:var(--spacing-2);line-height:1.5}.pricing-feature-list-new li:last-child{margin-bottom:0}.pricing-feature-list-new li::before{content:"";position:absolute;left:0;top:.5em;width:6px;height:6px;background:var(--zinc-500);border-radius:50%}.pricing-feature-included{border-color:var(--zinc-600);background:var(--zinc-750)}.pricing-feature-included:hover{border-color:var(--zinc-500)}.pricing-feature-option{position:relative;border-color:var(--zinc-600);background:var(--zinc-750)}.pricing-feature-option:hover{border-color:var(--zinc-500)}.pricing-feature-option .pricing-option-footer{margin-top:var(--spacing-4);padding-top:var(--spacing-3);border-top:1px solid var(--zinc-600)}.pricing-feature-option .pricing-option-badge{position:absolute;top:var(--spacing-3);right:var(--spacing-3)}.pricing-feature-disabled{background:var(--zinc-800);border:1px dashed var(--zinc-600);opacity:.7}.pricing-feature-disabled:hover{transform:none;border-color:var(--zinc-600)}.pricing-feature-disabled .pricing-feature-section-title{color:var(--zinc-500)}.pricing-feature-disabled .pricing-feature-section-title svg{color:var(--zinc-500);opacity:.5}.pricing-feature-disabled .pricing-feature-list-new li{color:var(--zinc-500)}.pricing-feature-disabled .pricing-feature-list-new li::before{background:var(--zinc-500);opacity:.5}.pricing-options-section{padding:var(--spacing-6);background:var(--zinc-800);border:1px solid var(--zinc-700);border-radius:var(--radius-xl);position:relative}.pricing-options-header{text-align:center;margin-bottom:var(--spacing-6)}.pricing-options-title{display:flex;align-items:center;justify-content:center;gap:var(--spacing-3);margin-bottom:var(--spacing-2)}.pricing-options-title svg{color:var(--zinc-600);flex-shrink:0}.pricing-options-title h2{margin:0;font-size:var(--font-size-2xl);font-weight:700;color:var(--zinc-100)}.pricing-options-subtitle{margin:0;font-size:var(--font-size-base);color:var(--zinc-400)}.pricing-option-footer{margin-top:var(--spacing-4);padding-top:var(--spacing-4);border-top:1px solid var(--zinc-600)}.pricing-option-price{display:flex;align-items:baseline;gap:var(--spacing-1)}.pricing-option-amount{font-size:var(--font-size-xl);font-weight:700;color:var(--zinc-100)}.pricing-option-period{font-size:var(--font-size-sm);color:var(--zinc-400)}.pricing-option-note{margin:var(--spacing-2) 0 0 0;font-size:var(--font-size-xs);color:var(--zinc-500);font-style:italic}.pricing-option-contact{font-size:var(--font-size-sm);color:var(--zinc-500);font-style:italic}.pricing-option-badge{position:absolute;top:var(--spacing-3);right:var(--spacing-3)}.invoices-empty,.payment-method-empty,.subscription-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-8) var(--spacing-4);text-align:center;background:var(--zinc-750);border:1px dashed var(--zinc-600);border-radius:var(--radius-lg)}.invoices-empty svg,.payment-method-empty svg,.subscription-empty-state svg{width:48px;height:48px;color:var(--zinc-500);margin-bottom:var(--spacing-4)}.invoices-empty p,.payment-method-empty p{margin:0;color:var(--zinc-400);font-size:var(--font-size-sm)}.invoices-empty p+p,.payment-method-empty p+p{margin-top:var(--spacing-2)}.payment-method-empty .btn{margin-top:var(--spacing-4)}.settings-page .form-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:var(--spacing-4)}.settings-page .form-item{display:flex;flex-direction:column;gap:var(--spacing-1);padding:var(--spacing-3);background:var(--zinc-750);border:1px solid var(--zinc-600);border-radius:var(--radius)}.settings-page .label{font-size:var(--font-size-xs);color:var(--zinc-500);text-transform:uppercase;letter-spacing:.05em}.settings-page .detail-value{font-size:var(--font-size-sm);color:var(--zinc-200);font-weight:500}.billing-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-4)}.billing-form .form-group{margin-bottom:var(--spacing-4)}.billing-form label{display:block;font-size:var(--font-size-sm);font-weight:500;color:var(--zinc-300);margin-bottom:var(--spacing-2)}.billing-form input[type=text]{width:100%;padding:var(--spacing-3);font-size:var(--font-size-sm);color:var(--zinc-100);background:var(--zinc-800);border:1px solid var(--zinc-600);border-radius:var(--radius);transition:all var(--transition-fast)}.billing-form input[type=text]:focus{outline:none;border-color:var(--zinc-600);box-shadow:0 0 0 3px rgba(82,82,91,.15)}.billing-form input[type=text]::placeholder{color:var(--zinc-500)}.billing-form .form-actions{display:flex;gap:var(--spacing-3);margin-top:var(--spacing-4);padding-top:var(--spacing-4);border-top:1px solid var(--zinc-700)}.settings-page .modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:none;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-4)}.settings-page .modal.open{display:flex}.settings-page .modal-content{background:var(--zinc-800);border:1px solid var(--zinc-700);border-radius:var(--radius-xl);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;position:relative}.settings-page .modal-content-lg{max-width:600px}.settings-page .modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-5);border-bottom:1px solid var(--zinc-700)}.settings-page .modal-header h3{display:flex;align-items:center;gap:var(--spacing-2);margin:0;font-size:var(--font-size-lg);font-weight:600;color:var(--zinc-100)}.settings-page .modal-header h3 svg{color:var(--zinc-600);flex-shrink:0}.settings-page .modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--zinc-750);border:1px solid var(--zinc-600);border-radius:var(--radius);color:var(--zinc-400);font-size:var(--font-size-xl);cursor:pointer;transition:all var(--transition-fast)}.settings-page .modal-close:hover{background:var(--zinc-700);color:var(--zinc-200)}.settings-page .modal-body{padding:var(--spacing-5)}.settings-page .modal-footer{display:flex;justify-content:flex-end;gap:var(--spacing-3);padding:var(--spacing-4) var(--spacing-5);border-top:1px solid var(--zinc-700);background:var(--zinc-750);border-radius:0 0 var(--radius-xl) var(--radius-xl)}.contact-info-centered{text-align:center}.contact-intro{color:var(--zinc-300);margin-bottom:var(--spacing-4)}.contact-details{display:flex;flex-direction:column;gap:var(--spacing-2);margin-bottom:var(--spacing-4)}.contact-item{display:flex;align-items:center;justify-content:center;gap:var(--spacing-2);color:var(--zinc-200)}.contact-item svg{color:var(--zinc-600)}.contact-item a{color:var(--zinc-600);text-decoration:none}.contact-item a:hover{text-decoration:underline}.contact-note{font-size:var(--font-size-sm);color:var(--zinc-500)}@media(max-width: 1024px){.pricing-features-grid{grid-template-columns:repeat(2, 1fr)}}@media(max-width: 768px){.settings-page .section-tabs{flex-wrap:wrap}.settings-page .section-tab{flex:1 1 45%;min-width:0}.pricing-benefits{grid-template-columns:1fr}.pricing-features-grid{grid-template-columns:1fr}.trial-dates,.subscription-dates{grid-template-columns:1fr}.subscription-cta{flex-direction:column;text-align:center}.pricing-included-header{flex-direction:column;text-align:center}.pricing-included-prices{text-align:center}.pricing-included-price-annual{justify-content:center}.form-grid{grid-template-columns:1fr}.billing-form .form-row{grid-template-columns:1fr}}@media(max-width: 640px){.settings-page .section-tab{flex:1 1 100%;padding:var(--spacing-2) var(--spacing-3)}.settings-page .card{padding:var(--spacing-4)}.pricing-benefit-card{padding:var(--spacing-4)}.pricing-included-section,.pricing-options-section{padding:var(--spacing-4)}.subscription-features-grid,.subscription-options-grid{grid-template-columns:1fr}}.settings-page .form-section{margin-bottom:var(--spacing-6);padding-bottom:var(--spacing-6);border-bottom:1px solid var(--zinc-700)}.settings-page .form-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.settings-page .form-section h3{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-base);font-weight:600;color:var(--zinc-200);margin:0 0 var(--spacing-4) 0}.settings-page .form-section h3 svg{width:18px;height:18px;color:var(--zinc-600);flex-shrink:0}.settings-page .form-hint{font-size:var(--font-size-sm);color:var(--zinc-400);margin:0 0 var(--spacing-4) 0}.settings-page .avatar-color-picker{display:flex;align-items:center;gap:var(--spacing-6);padding:var(--spacing-4);background:var(--zinc-750);border:1px solid var(--zinc-600);border-radius:var(--radius-lg)}.settings-page .avatar-preview{width:80px;height:80px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-2xl);font-weight:600;color:#fff;flex-shrink:0;box-shadow:0 4px 12px rgba(0,0,0,.3)}.settings-page .avatar-color-controls{display:flex;align-items:flex-end;gap:var(--spacing-4)}.settings-page .color-input-wrapper{display:flex;flex-direction:column;gap:var(--spacing-2)}.settings-page .color-input-wrapper input[type=color]{width:60px;height:40px;padding:0;border:1px solid var(--zinc-600);border-radius:var(--radius);background:var(--zinc-800);cursor:pointer}.settings-page .color-input-wrapper input[type=color]::-webkit-color-swatch-wrapper{padding:4px}.settings-page .color-input-wrapper input[type=color]::-webkit-color-swatch{border-radius:var(--radius-sm);border:none}.settings-page .form-item-editable .detail-value-clickable{cursor:pointer;padding:var(--spacing-2) var(--spacing-3);margin:calc(-1*var(--spacing-2)) calc(-1*var(--spacing-3));border-radius:var(--radius);transition:all var(--transition-fast)}.settings-page .form-item-editable .detail-value-clickable:hover{background:var(--zinc-700)}.settings-page .form-item-editable input{width:100%;padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-sm);color:var(--zinc-100);background:var(--zinc-800);border:1px solid var(--zinc-500);border-radius:var(--radius);transition:all var(--transition-fast)}.settings-page .form-item-editable input:focus{outline:none;border-color:var(--zinc-600);box-shadow:0 0 0 3px rgba(82,82,91,.15)}.settings-page .form-item-editable input::placeholder{color:var(--zinc-500)}.settings-page .form-item-wide{grid-column:span 2}.settings-page .form-actions-floating{position:fixed;bottom:var(--spacing-6);right:var(--spacing-6);z-index:100;animation:slideUp .3s ease}.settings-page .form-actions-floating .btn{box-shadow:0 4px 16px rgba(0,0,0,.3)}@keyframes slideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.settings-page .hidden{display:none !important}@media(max-width: 768px){.settings-page .avatar-color-picker{flex-direction:column;text-align:center}.settings-page .avatar-color-controls{flex-direction:column;align-items:center;width:100%}.settings-page .form-item-wide{grid-column:span 1}.settings-page .form-actions-floating{left:var(--spacing-4);right:var(--spacing-4);bottom:var(--spacing-4)}.settings-page .form-actions-floating .btn{width:100%}}.trial-banner{display:flex;align-items:center;gap:var(--spacing-4);padding:var(--spacing-4) var(--spacing-5);border-radius:var(--radius-lg);margin-bottom:var(--spacing-4)}.trial-banner-icon{flex-shrink:0}.trial-banner-icon svg{width:32px;height:32px}.trial-banner-content{flex:1}.trial-banner-content h3{margin:0;font-size:var(--font-size-base);font-weight:600}.trial-banner-content p{margin:var(--spacing-1) 0 0;font-size:var(--font-size-sm)}.trial-banner-content .trial-dates{font-size:var(--font-size-xs);color:var(--zinc-400);margin-top:var(--spacing-2)}.trial-banner-active{background:rgba(59,130,246,.1);border:1px solid rgba(59,130,246,.2)}.trial-banner-active .trial-banner-icon{color:var(--zinc-600)}.trial-banner-active .trial-banner-content h3{color:var(--zinc-600)}.trial-banner-expired{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.2)}.trial-banner-expired .trial-banner-icon{color:var(--zinc-800)}.trial-banner-expired .trial-banner-content h3{color:var(--zinc-800)}.trial-banner-subscribed{background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.2)}.trial-banner-subscribed .trial-banner-icon{color:var(--zinc-500)}.trial-banner-subscribed .trial-banner-content h3{color:var(--zinc-500)}.invoices-empty,.payment-method-empty{padding:var(--spacing-6);text-align:center;color:var(--zinc-400)}.invoices-empty svg,.payment-method-empty svg{width:48px;height:48px;margin:0 auto var(--spacing-3);opacity:.5}.invoices-empty p,.payment-method-empty p{margin:0}.form-group-grow{flex:1}.form-group-action{align-self:flex-end}.card-description{margin:0 0 var(--spacing-4) 0;color:var(--zinc-400);font-size:var(--font-size-sm)}.card-muted{background:var(--zinc-800);border:1px dashed var(--zinc-500)}.section-description{margin:0;color:var(--zinc-400);font-size:var(--font-size-sm)}.input-readonly{background:var(--zinc-700);color:var(--zinc-400);cursor:not-allowed}.planning-container:has(.employee-edit-card) .card{overflow-y:auto;max-height:calc(100vh - 120px)}.employee-dashboard-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:var(--spacing-5)}.employee-form-section{background:var(--zinc-850);border:1px solid var(--zinc-750);border-radius:var(--radius-md);padding:var(--spacing-5)}.employee-form-section h3{font-size:var(--font-size-xs);color:var(--zinc-400);margin-bottom:var(--spacing-4);font-weight:600;text-transform:uppercase;letter-spacing:.08em}.identity-avatar-section{display:flex;flex-direction:column;gap:var(--spacing-4)}.avatar-upload-container{width:96px;height:96px;position:relative;border-radius:50%;overflow:hidden;border:3px solid var(--zinc-700);transition:all var(--transition);background:var(--zinc-800);flex-shrink:0}.avatar-upload-container:hover{border-color:var(--zinc-600)}.avatar-preview-wrapper{width:100%;height:100%;position:relative}.avatar-preview-image,.avatar-preview-placeholder{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}.avatar-preview-placeholder{display:flex;align-items:center;justify-content:center;background:var(--zinc-700)}.avatar-preview-initials{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2.25rem;font-weight:600;font-family:var(--font-family-heading)}.avatar-upload-controls{position:absolute;inset:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;gap:var(--spacing-2);opacity:0;transition:opacity var(--transition)}.avatar-upload-container:hover .avatar-upload-controls{opacity:1}.avatar-file-input-hidden{display:none}.avatar-upload-hint{display:none}.identity-fields-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:var(--spacing-3)}.identity-fields-grid .form-item:first-child{grid-column:1}.identity-fields-grid .form-item:nth-child(2){grid-column:2}.identity-fields-grid .form-item:nth-child(3){grid-column:1/-1}.coordonnees-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:var(--spacing-3)}.coordonnees-grid .form-item.full-width{grid-column:1/-1}.contrat-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:var(--spacing-3)}.contrat-grid .form-item.full-width{grid-column:1/-1}.regime-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-3)}.geocode-status-compact{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-xs);color:var(--zinc-400);padding:var(--spacing-2);background:var(--zinc-800);border-radius:var(--radius-sm);border:1px solid var(--zinc-700)}.geocode-status-compact svg{flex-shrink:0}.geocode-status-compact.geocode-ok{color:var(--zinc-500);border-color:rgba(113,113,122,.15);background:rgba(106,172,126,.05)}.geocode-status-compact.geocode-missing{color:var(--zinc-800);border-color:rgba(39,39,42,.25);background:rgba(217,112,112,.05)}.toggle-compact{display:flex;align-items:center;gap:var(--spacing-2)}.allowances-grid-compact{display:grid;grid-template-columns:repeat(2, 1fr);gap:var(--spacing-2);margin-top:var(--spacing-2)}.allowance-item-compact{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2);background:var(--zinc-800);border:1px solid var(--zinc-700);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);font-size:var(--font-size-xs)}.allowance-item-compact:hover{border-color:rgba(82,82,91,.15);background:var(--zinc-850)}.allowance-item-compact input:checked~*{color:var(--zinc-600)}.employee-form-actions{display:flex;gap:var(--spacing-3);margin-top:var(--spacing-5);padding-top:var(--spacing-5);border-top:1px solid var(--zinc-700)}.hidden-conditional{display:none !important}@media(max-width: 1024px){.employee-dashboard-grid{grid-template-columns:1fr}.identity-fields-grid,.coordonnees-grid,.contrat-grid{grid-template-columns:1fr}.allowances-grid-compact{grid-template-columns:1fr}}@media(max-width: 768px){.employee-edit-card{padding:var(--spacing-4)}.employee-dashboard-grid{gap:var(--spacing-4)}.employee-form-section{padding:var(--spacing-4)}.avatar-upload-container{width:80px;height:80px}.avatar-preview-initials{font-size:1.875rem}.employee-form-actions{flex-direction:column}.employee-form-actions .btn{width:100%;justify-content:center}}.m-0{margin:0}.m-1{margin:var(--spacing-1)}.m-2{margin:var(--spacing-2)}.m-3{margin:var(--spacing-3)}.m-4{margin:var(--spacing-4)}.m-5{margin:var(--spacing-5)}.m-6{margin:var(--spacing-6)}.m-auto{margin:auto}.mt-0{margin-top:0}.mt-1{margin-top:var(--spacing-1)}.mt-2{margin-top:var(--spacing-2)}.mt-3{margin-top:var(--spacing-3)}.mt-4{margin-top:var(--spacing-4)}.mt-5{margin-top:var(--spacing-5)}.mt-6{margin-top:var(--spacing-6)}.mr-0{margin-right:0}.mr-1{margin-right:var(--spacing-1)}.mr-2{margin-right:var(--spacing-2)}.mr-3{margin-right:var(--spacing-3)}.mr-4{margin-right:var(--spacing-4)}.mr-5{margin-right:var(--spacing-5)}.mr-6{margin-right:var(--spacing-6)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing-1)}.mb-2{margin-bottom:var(--spacing-2)}.mb-3{margin-bottom:var(--spacing-3)}.mb-4{margin-bottom:var(--spacing-4)}.mb-5{margin-bottom:var(--spacing-5)}.mb-6{margin-bottom:var(--spacing-6)}.ml-0{margin-left:0}.ml-1{margin-left:var(--spacing-1)}.ml-2{margin-left:var(--spacing-2)}.ml-3{margin-left:var(--spacing-3)}.ml-4{margin-left:var(--spacing-4)}.ml-5{margin-left:var(--spacing-5)}.ml-6{margin-left:var(--spacing-6)}.mx-0{margin-left:0;margin-right:0}.mx-1{margin-left:var(--spacing-1);margin-right:var(--spacing-1)}.mx-2{margin-left:var(--spacing-2);margin-right:var(--spacing-2)}.mx-3{margin-left:var(--spacing-3);margin-right:var(--spacing-3)}.mx-4{margin-left:var(--spacing-4);margin-right:var(--spacing-4)}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-1{margin-top:var(--spacing-1);margin-bottom:var(--spacing-1)}.my-2{margin-top:var(--spacing-2);margin-bottom:var(--spacing-2)}.my-3{margin-top:var(--spacing-3);margin-bottom:var(--spacing-3)}.my-4{margin-top:var(--spacing-4);margin-bottom:var(--spacing-4)}.p-0{padding:0}.p-1{padding:var(--spacing-1)}.p-2{padding:var(--spacing-2)}.p-3{padding:var(--spacing-3)}.p-4{padding:var(--spacing-4)}.p-5{padding:var(--spacing-5)}.p-6{padding:var(--spacing-6)}.pt-0{padding-top:0}.pt-1{padding-top:var(--spacing-1)}.pt-2{padding-top:var(--spacing-2)}.pt-3{padding-top:var(--spacing-3)}.pt-4{padding-top:var(--spacing-4)}.pt-5{padding-top:var(--spacing-5)}.pt-6{padding-top:var(--spacing-6)}.pr-0{padding-right:0}.pr-1{padding-right:var(--spacing-1)}.pr-2{padding-right:var(--spacing-2)}.pr-3{padding-right:var(--spacing-3)}.pr-4{padding-right:var(--spacing-4)}.pr-5{padding-right:var(--spacing-5)}.pr-6{padding-right:var(--spacing-6)}.pb-0{padding-bottom:0}.pb-1{padding-bottom:var(--spacing-1)}.pb-2{padding-bottom:var(--spacing-2)}.pb-3{padding-bottom:var(--spacing-3)}.pb-4{padding-bottom:var(--spacing-4)}.pb-5{padding-bottom:var(--spacing-5)}.pb-6{padding-bottom:var(--spacing-6)}.pl-0{padding-left:0}.pl-1{padding-left:var(--spacing-1)}.pl-2{padding-left:var(--spacing-2)}.pl-3{padding-left:var(--spacing-3)}.pl-4{padding-left:var(--spacing-4)}.pl-5{padding-left:var(--spacing-5)}.pl-6{padding-left:var(--spacing-6)}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:var(--spacing-1);padding-right:var(--spacing-1)}.px-2{padding-left:var(--spacing-2);padding-right:var(--spacing-2)}.px-3{padding-left:var(--spacing-3);padding-right:var(--spacing-3)}.px-4{padding-left:var(--spacing-4);padding-right:var(--spacing-4)}.py-0{padding-top:0;padding-bottom:0}.py-1{padding-top:var(--spacing-1);padding-bottom:var(--spacing-1)}.py-2{padding-top:var(--spacing-2);padding-bottom:var(--spacing-2)}.py-3{padding-top:var(--spacing-3);padding-bottom:var(--spacing-3)}.py-4{padding-top:var(--spacing-4);padding-bottom:var(--spacing-4)}.gap-0{gap:0}.gap-1{gap:var(--spacing-1)}.gap-2{gap:var(--spacing-2)}.gap-3{gap:var(--spacing-3)}.gap-4{gap:var(--spacing-4)}.gap-5{gap:var(--spacing-5)}.gap-6{gap:var(--spacing-6)}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.inline-grid{display:inline-grid}.hidden{display:none}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-initial{flex:0 1 auto}.flex-none{flex:none}.flex-grow{flex-grow:1}.flex-grow-0{flex-grow:0}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.self-auto{align-self:auto}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-stretch{align-self:stretch}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.w-auto{width:auto}.w-full{width:100%}.w-screen{width:100vw}.w-fit{width:fit-content}.min-w-0{min-width:0}.min-w-full{min-width:100%}.max-w-full{max-width:100%}.max-w-screen{max-width:100vw}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.h-fit{height:fit-content}.min-h-0{min-height:0}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.max-h-full{max-height:100%}.max-h-screen{max-height:100vh}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.underline{text-decoration:underline}.line-through{text-decoration:line-through}.no-underline{text-decoration:none}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-light{color:var(--zinc-200)}.text-white{color:var(--zinc-50)}.border-0{border-width:0}.border{border-width:1px}.border-2{border-width:2px}.border-t{border-top-width:1px}.border-r{border-right-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-none{border-style:none}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded{border-radius:var(--radius)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-full{border-radius:9999px}.border-grey{border-color:var(--zinc-700)}.border-light{border-color:var(--zinc-600)}.border-dark{border-color:var(--zinc-800)}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.cursor-auto{cursor:auto}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.cursor-move{cursor:move}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.select-none{user-select:none}.select-text{user-select:text}.select-all{user-select:all}.select-auto{user-select:auto}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-auto{z-index:auto}.transition{transition:var(--transition-fast)}.transition-none{transition:none}.visible{visibility:visible}.invisible{visibility:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.text-orange{color:var(--color-minor) !important}.text-orange-light{color:var(--color-minor-light) !important}.text-orange-dark{color:var(--color-minor-dark) !important}.bg-orange{background-color:var(--color-minor)}.bg-orange-light{background-color:var(--color-minor-light)}.bg-orange-dark{background-color:var(--color-minor-dark)}.bg-orange-alpha{background-color:var(--color-minor-alpha)}.border-orange{border-color:var(--color-minor)}.border-orange-light{border-color:var(--color-minor-light)}.border-orange-dark{border-color:var(--color-minor-dark)}.text-lime{color:var(--color-lime) !important}.text-lime-light{color:var(--color-lime-light) !important}.text-lime-dark{color:var(--color-lime-dark) !important}.bg-lime{background-color:var(--color-lime)}.bg-lime-light{background-color:var(--color-lime-light)}.bg-lime-dark{background-color:var(--color-lime-dark)}.border-lime{border-color:var(--color-lime)}.border-lime-light{border-color:var(--color-lime-light)}.border-lime-dark{border-color:var(--color-lime-dark)}.bg-transparent{background-color:rgba(0,0,0,0) !important}.bg-zinc-950{background-color:var(--zinc-950)}.bg-zinc-900{background-color:var(--zinc-900)}.bg-zinc-850{background-color:var(--zinc-850)}.bg-zinc-800{background-color:var(--zinc-800)}.bg-zinc-750{background-color:var(--zinc-750)}.bg-zinc-700{background-color:var(--zinc-700)}.bg-zinc-600{background-color:var(--zinc-600)}.bg-zinc-500{background-color:var(--zinc-500)}.bg-zinc-400{background-color:var(--zinc-400)}.bg-zinc-300{background-color:var(--zinc-300)}.bg-zinc-200{background-color:var(--zinc-200)}.bg-zinc-100{background-color:var(--zinc-100)}.bg-zinc-50{background-color:var(--zinc-50)}.text-zinc-950{color:var(--zinc-950)}.text-zinc-900{color:var(--zinc-900)}.text-zinc-850{color:var(--zinc-850)}.text-zinc-800{color:var(--zinc-800)}.text-zinc-750{color:var(--zinc-750)}.text-zinc-700{color:var(--zinc-700)}.text-zinc-600{color:var(--zinc-600)}.text-zinc-500{color:var(--zinc-500)}.text-zinc-400{color:var(--zinc-400)}.text-zinc-300{color:var(--zinc-300)}.text-zinc-200{color:var(--zinc-200)}.text-zinc-100{color:var(--zinc-100)}.text-zinc-50{color:var(--zinc-50)}.border-zinc-950{border-color:var(--zinc-950)}.border-zinc-900{border-color:var(--zinc-900)}.border-zinc-850{border-color:var(--zinc-850)}.border-zinc-800{border-color:var(--zinc-800)}.border-zinc-750{border-color:var(--zinc-750)}.border-zinc-700{border-color:var(--zinc-700)}.border-zinc-600{border-color:var(--zinc-600)}.border-zinc-500{border-color:var(--zinc-500)}.border-zinc-400{border-color:var(--zinc-400)}.border-zinc-300{border-color:var(--zinc-300)}.border-zinc-200{border-color:var(--zinc-200)}.border-zinc-100{border-color:var(--zinc-100)}.border-zinc-50{border-color:var(--zinc-50)}.calendar-controls{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-4);border-bottom:1px solid var(--zinc-700)}.calendar-nav-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--zinc-700);border-radius:var(--radius);background:var(--zinc-800);color:var(--zinc-100);cursor:pointer;transition:all var(--transition)}.calendar-nav-btn:hover{background:var(--zinc-700);border-color:var(--zinc-400)}.calendar-nav-btn svg{flex-shrink:0}.calendar-month-label{font-size:var(--font-size-lg);font-weight:600;min-width:180px;text-align:center}.calendar-header{display:grid;grid-template-columns:repeat(7, 1fr);background:var(--zinc-800);border-bottom:1px solid var(--zinc-700)}.calendar-header-day{padding:var(--spacing-2) var(--spacing-3);text-align:center;font-size:var(--font-size-sm);font-weight:500;color:var(--zinc-400)}.calendar-header-day.calendar-weekend{color:var(--zinc-400)}.calendar-grid{display:flex;flex-direction:column}.calendar-week{display:grid;grid-template-columns:repeat(7, 1fr);border-bottom:1px solid var(--zinc-700)}.calendar-week:last-child{border-bottom:none}.calendar-day{height:120px;padding:var(--spacing-1);border-right:1px solid var(--zinc-700);background:var(--zinc-800);overflow-y:auto}.calendar-day::-webkit-scrollbar{width:4px}.calendar-day::-webkit-scrollbar-track{background:rgba(0,0,0,0)}.calendar-day::-webkit-scrollbar-thumb{background:var(--zinc-500);border-radius:2px}.calendar-day:last-child{border-right:none}.calendar-day-empty{background:var(--zinc-800)}.calendar-day-weekend{background:var(--zinc-800)}.calendar-day-today{background:#eff6ff}.calendar-day-today .calendar-day-header{color:var(--zinc-600);font-weight:600}.calendar-day-header{font-size:var(--font-size-sm);font-weight:500;color:var(--zinc-400);padding:var(--spacing-1);text-align:right}.calendar-day-tasks{display:flex;flex-direction:column;gap:2px;padding:0 var(--spacing-1)}.calendar-task{display:block;padding:2px 6px;font-size:11px;border-radius:3px;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:opacity var(--transition)}.calendar-task:hover{opacity:.8}.calendar-task-todo,.calendar-task-in_progress,.calendar-task-done{background:var(--zinc-700);color:var(--zinc-100)}.calendar-task-site{font-weight:600;opacity:.7}.calendar-task-name{font-weight:500}.calendar-day-assignments{display:flex;flex-wrap:wrap;gap:2px;padding:0 var(--spacing-1);margin-bottom:4px}.calendar-assignment-tag{display:inline-block;padding:1px 5px;font-size:9px;font-weight:600;background:rgba(34,197,94,.15);color:var(--zinc-200);border-radius:3px;text-decoration:none;text-transform:uppercase;letter-spacing:.3px;transition:background var(--transition)}.calendar-assignment-tag:hover{background:rgba(34,197,94,.25)}.calendar-day-events{display:flex;flex-direction:column;gap:2px;padding:0 var(--spacing-1);margin-bottom:4px}.calendar-event-tag{display:flex;align-items:center;gap:4px;padding:2px 4px;font-size:10px;color:var(--zinc-100);text-decoration:none;transition:background var(--transition)}.calendar-event-tag:hover{background:var(--zinc-700);border-radius:3px}.calendar-event-diamond{font-size:8px;line-height:1;color:#fff}.calendar-event-ref{font-weight:600;color:var(--zinc-200)}.calendar-event-title{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-form-inline{display:flex;flex-direction:column;gap:var(--spacing-3)}.event-form-row{display:flex;align-items:center;gap:var(--spacing-3);flex-wrap:wrap}.event-form-row-secondary{display:flex}.event-form-field{display:flex;flex-direction:column}.event-form-field-grow{flex:1;min-width:200px}.event-input{height:38px;padding:0 var(--spacing-3);border:1px solid var(--zinc-700);border-radius:var(--radius);font-size:var(--font-size-sm);background:var(--zinc-800);color:var(--zinc-200);transition:border-color var(--transition),box-shadow var(--transition)}.event-input:focus{outline:none;border-color:var(--zinc-600);box-shadow:0 0 0 2px rgba(82,82,91,.15);background:var(--zinc-700)}.event-input::placeholder{color:var(--zinc-500)}.event-input-description{width:100%}.table-section-header td{background:var(--zinc-800);font-weight:500;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.03em;color:var(--zinc-300);padding:var(--spacing-2) var(--spacing-4)}.table-section-muted td{background:var(--zinc-850);color:var(--zinc-500)}.row-muted{opacity:.5}.event-title-inline{font-weight:500;color:var(--zinc-100)}.event-desc-inline{display:block;font-size:var(--font-size-xs);color:var(--zinc-500);margin-top:2px}.btn-icon-sm{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:var(--radius);background:rgba(0,0,0,0);color:var(--zinc-500);cursor:pointer;transition:all var(--transition)}.btn-icon-sm:hover{background:var(--zinc-700);color:var(--zinc-300)}.btn-icon-sm.btn-icon-danger:hover{background:rgba(39,39,42,.25);color:var(--zinc-800)}.empty-state-inline{padding:var(--spacing-6);text-align:center;color:var(--zinc-500)}.empty-state-inline p{margin:0}
