@import url(https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Inter:wght@400;500;600;700&display=swap);@import url(https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=swap);:root{--surface-bright:#fbf9f5;--surface:#fbf9f5;--surface-dim:#dbdad6;--surface-container-lowest:#fff;--surface-container-low:#f5f3ef;--surface-container:#f0eeea;--surface-container-high:#eae8e4;--surface-container-highest:#e4e2de;--surface-variant:#e4e2de;--primary:#003664;--primary-container:#1e4d80;--primary-fixed:#d3e3ff;--primary-fixed-dim:#a3c9ff;--on-primary:#fff;--on-primary-container:#95bff9;--on-primary-fixed:#001c39;--secondary:#785a00;--secondary-container:#fece5c;--secondary-fixed:#ffdf9c;--secondary-fixed-dim:#efc050;--on-secondary:#fff;--on-secondary-container:#745700;--on-secondary-fixed:#251a00;--tertiary:#502c00;--tertiary-container:#704000;--tertiary-fixed:#ffdcbe;--on-tertiary:#fff;--on-tertiary-container:#f2ae68;--error:#ba1a1a;--error-container:#ffdad6;--on-error:#fff;--on-error-container:#93000a;--status-success:#27976a;--status-success-bg:#e8f4ee;--status-success-text:#165a3d;--status-warning:#c26b1e;--status-warning-bg:linen;--status-warning-text:#773f11;--status-danger:#b53535;--status-danger-bg:#faecec;--status-danger-text:#6e1e1e;--status-info:#1e4d80;--status-info-bg:#eef2f8;--status-info-text:#163c66;--primary-50:#eef2f8;--primary-100:#d3e3ff;--primary-200:#a3c9ff;--primary-300:#7d9ec9;--primary-400:#527db4;--primary-500:#356094;--primary-600:#1e4d80;--primary-700:#163c66;--primary-800:#0f2b4d;--primary-900:#081a33;--secondary-50:#fbf5e7;--secondary-100:#ffdf9c;--secondary-200:#efc050;--secondary-300:#deba63;--secondary-400:#cca030;--secondary-500:#b08718;--secondary-600:#8f6d12;--secondary-700:#6e540d;--secondary-800:#4d3b09;--secondary-900:#2c2204;--success-50:#e8f4ee;--success-100:#c3e3d2;--success-200:#9acfb4;--success-300:#6fbb94;--success-400:#48aa79;--success-500:#27976a;--success-600:#1e7853;--success-700:#165a3d;--success-800:#0e3c29;--success-900:#071e15;--warning-50:linen;--warning-100:#f3d9be;--warning-200:#eabe93;--warning-300:#e0a367;--warning-400:#d4873f;--warning-500:#c26b1e;--warning-600:#9c5517;--warning-700:#773f11;--warning-800:#522b0b;--warning-900:#2c1606;--danger-50:#faecec;--danger-100:#f2cece;--danger-200:#e8aaaa;--danger-300:#dc8282;--danger-400:#cc5a5a;--danger-500:#b53535;--danger-600:#922929;--danger-700:#6e1e1e;--danger-800:#4a1414;--danger-900:#270a0a;--gray-50:#fbf9f5;--gray-100:#f5f3ef;--gray-200:#e4e2de;--gray-300:#c2c6d0;--gray-400:#9e9e9e;--gray-500:#737780;--gray-600:#42474f;--gray-700:#30312e;--gray-800:#1b1c1a;--gray-900:#1b1c1a;--on-surface:#1b1c1a;--on-surface-variant:#42474f;--on-background:#1b1c1a;--outline:#737780;--outline-variant:#c2c6d0;--inverse-surface:#30312e;--inverse-on-surface:#f2f0ec;--inverse-primary:#a3c9ff;--surface-tint:#356094;--brass-gradient:linear-gradient(135deg,#785a00,#745700);--gradient-primary:linear-gradient(135deg,#003664,#1e4d80);--gradient-primary-hover:linear-gradient(135deg,#001c39,#003664);--gradient-success:linear-gradient(135deg,#165a3d,#27976a);--gradient-warning:linear-gradient(135deg,#773f11,#c26b1e);--gradient-danger:linear-gradient(135deg,#6e1e1e,#b53535);--gradient-secondary:linear-gradient(135deg,#785a00,#745700);--gradient-dark:linear-gradient(135deg,#30312e,#1b1c1a);--gradient-light:linear-gradient(135deg,#f5f3ef,#fbf9f5);--shadow-xs:0 1px 2px #0036640a;--shadow-sm:0 2px 8px #0036640f;--shadow-md:0 4px 16px #00366414;--shadow-lg:0 8px 24px #00366414,0 2px 8px #0000000a;--shadow-xl:0 16px 48px #0036641a,0 4px 12px #0000000a;--shadow-2xl:0 24px 64px #0036641f;--shadow-inner:inset 0 2px 4px #0036640a;--shadow-card:0 2px 8px #0036640f;--shadow-card-hover:0 8px 24px #0036641a;--shadow-button:0 2px 8px #00366414;--shadow-button-hover:0 4px 12px #0036641f;--shadow-sidebar:4px 0 24px #0036640d;--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-4xl:6rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:24px;--radius-full:9999px;--font-headline:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-label:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"Monaco","Courier New",monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--font-light:300;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--font-extrabold:800;--leading-none:1;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--leading-loose:2;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:300ms cubic-bezier(0.4,0,0.2,1);--transition-slow:500ms cubic-bezier(0.4,0,0.2,1);--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--sidebar-width:240px;--header-height:72px;--max-width-sm:640px;--max-width-md:768px;--max-width-lg:1024px;--max-width-xl:1280px;--max-width-2xl:1536px;--bg-page:var(--surface);--bg-card:var(--surface-container-lowest);--bg-elevated:var(--surface-container-lowest);--bg-overlay:#0006;--bg-hover:var(--surface-container);--bg-active:var(--surface-container-high);--border-color:var(--outline-variant);--border-color-light:#c2c6d026;--border-color-dark:var(--outline);--ghost-border:1px solid #c2c6d026;--border-width:1px;--border-width-thick:2px;--text-primary:var(--on-surface);--text-secondary:var(--on-surface-variant);--text-tertiary:var(--outline);--text-disabled:var(--outline-variant);--text-on-primary:var(--on-primary);--text-on-dark:var(--inverse-on-surface)}.material-symbols-outlined{font-size:20px;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;vertical-align:middle}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;scroll-behavior:smooth}body{background-color:#fbf9f5;background-color:var(--surface);color:#1b1c1a;color:var(--on-surface);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-body);font-size:1rem;font-size:var(--text-base);line-height:1.5;line-height:var(--leading-normal)}::selection{background-color:#fece5c;background-color:var(--secondary-container);color:#745700;color:var(--on-secondary-container)}h1,h2,h3,h4,h5,h6{color:#003664;color:var(--primary);font-family:Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-headline);letter-spacing:-.02em}.text-xs{font-size:.75rem;font-size:var(--text-xs)}.text-sm{font-size:.875rem;font-size:var(--text-sm)}.text-base{font-size:1rem;font-size:var(--text-base)}.text-lg{font-size:1.125rem;font-size:var(--text-lg)}.text-xl{font-size:1.25rem;font-size:var(--text-xl)}.text-2xl{font-size:1.5rem;font-size:var(--text-2xl)}.text-3xl{font-size:1.875rem;font-size:var(--text-3xl)}.font-light{font-weight:300;font-weight:var(--font-light)}.font-normal{font-weight:400;font-weight:var(--font-normal)}.font-medium{font-weight:500;font-weight:var(--font-medium)}.font-semibold{font-weight:600;font-weight:var(--font-semibold)}.font-bold{font-weight:700;font-weight:var(--font-bold)}.text-primary{color:#003664;color:var(--primary)}.text-success{color:#27976a;color:var(--status-success)}.text-warning{color:#c26b1e;color:var(--status-warning)}.text-danger{color:#b53535;color:var(--status-danger)}.text-gray{color:#737780;color:var(--outline)}.m-0{margin:0}.mt-1{margin-top:.5rem;margin-top:var(--space-sm)}.mt-2{margin-top:1rem;margin-top:var(--space-md)}.mt-3{margin-top:1.5rem;margin-top:var(--space-lg)}.mb-1{margin-bottom:.5rem;margin-bottom:var(--space-sm)}.mb-2{margin-bottom:1rem;margin-bottom:var(--space-md)}.mb-3{margin-bottom:1.5rem;margin-bottom:var(--space-lg)}.p-0{padding:0}.p-1{padding:.5rem;padding:var(--space-sm)}.p-2{padding:1rem;padding:var(--space-md)}.p-3{padding:1.5rem;padding:var(--space-lg)}.p-4{padding:2rem;padding:var(--space-xl)}.card{background:#fff;background:var(--surface-container-lowest);border:none;border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 2px 8px #0036640f;box-shadow:var(--shadow-card);padding:1.5rem;padding:var(--space-lg);transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--transition-base)}.card:hover{box-shadow:0 8px 24px #0036641a;box-shadow:var(--shadow-card-hover)}.card-header{background:#f5f3ef;background:var(--surface-container-low);border-radius:12px 12px 0 0;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.card-body,.card-footer,.card-header{padding:1.5rem;padding:var(--space-lg)}.card-footer{background:#f5f3ef;background:var(--surface-container-low);border-radius:0 0 12px 12px;border-radius:0 0 var(--radius-lg) var(--radius-lg)}.btn{align-items:center;border:none;border-radius:8px;border-radius:var(--radius-md);box-shadow:0 2px 8px #00366414;box-shadow:var(--shadow-button);cursor:pointer;display:inline-flex;font-family:Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-headline);font-size:.875rem;font-size:var(--text-sm);font-weight:600;font-weight:var(--font-semibold);gap:.5rem;gap:var(--space-sm);justify-content:center;padding:.5rem 1.5rem;padding:var(--space-sm) var(--space-lg);text-decoration:none;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.btn:hover{box-shadow:0 4px 12px #0036641f;box-shadow:var(--shadow-button-hover)}.btn:active{transform:scale(.97)}.btn-primary{background:linear-gradient(135deg,#785a00,#745700);background:var(--brass-gradient);color:#fff;color:var(--on-secondary)}.btn-primary:hover{opacity:.92}.btn-secondary{background:#1e4d80;background:var(--primary-container);color:#fff;color:var(--on-primary)}.btn-secondary:hover{background:#003664;background:var(--primary)}.btn-success{background:linear-gradient(135deg,#165a3d,#27976a);background:var(--gradient-success)}.btn-success,.btn-warning{color:#fff;color:var(--on-primary)}.btn-warning{background:linear-gradient(135deg,#773f11,#c26b1e);background:var(--gradient-warning)}.btn-danger{background:linear-gradient(135deg,#6e1e1e,#b53535);background:var(--gradient-danger);color:#fff;color:var(--on-primary)}.btn-outline{background:#0000;border:1.5px solid #c2c6d0;border:1.5px solid var(--outline-variant);box-shadow:none;color:#1b1c1a;color:var(--on-surface)}.btn-outline:hover{background:#f5f3ef;background:var(--surface-container-low);border-color:#785a00;border-color:var(--secondary);color:#785a00;color:var(--secondary)}.btn-ghost{background:#0000;box-shadow:none;color:#1b1c1a;color:var(--on-surface)}.btn-ghost:hover{background:#e4e2de;background:var(--surface-variant)}.btn-sm{font-size:.75rem;font-size:var(--text-xs);padding:.25rem 1rem;padding:var(--space-xs) var(--space-md)}.btn-lg{border-radius:12px;border-radius:var(--radius-lg);font-size:1.125rem;font-size:var(--text-lg);padding:1rem 2rem;padding:var(--space-md) var(--space-xl)}.badge{align-items:center;border-radius:9999px;border-radius:var(--radius-full);display:inline-flex;font-size:.75rem;font-size:var(--text-xs);font-weight:700;font-weight:var(--font-bold);letter-spacing:.3px;padding:3px 10px;text-transform:uppercase}.badge-primary{background:#d3e3ff;background:var(--primary-100);color:#003664;color:var(--primary)}.badge-success{background:#e8f4ee;background:var(--status-success-bg);color:#165a3d;color:var(--status-success-text)}.badge-warning{background:linen;background:var(--status-warning-bg);color:#773f11;color:var(--status-warning-text)}.badge-danger{background:#faecec;background:var(--status-danger-bg);color:#6e1e1e;color:var(--status-danger-text)}.badge-gray{background:#eae8e4;background:var(--surface-container-high);color:#42474f;color:var(--on-surface-variant)}.form-group{margin-bottom:1.5rem;margin-bottom:var(--space-lg)}.form-label{color:#003664;display:block;font-weight:700;margin-bottom:.5rem;margin-bottom:var(--space-sm)}.form-input,.form-label,.form-select,.form-textarea{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.875rem}.form-input,.form-select,.form-textarea{background:#eae8e4;border-bottom:2px solid #c2c6d0;border-radius:8px 8px 0 0;color:#1b1c1a;padding:1rem;padding:var(--space-md);transition:all .15s cubic-bezier(.4,0,.2,1)}.form-input:hover,.form-select:hover,.form-textarea:hover{background:#f0eeea}.form-input:focus,.form-select:focus,.form-textarea:focus{background:#eae8e4;background:var(--surface-container-high);border-bottom-color:#785a00;box-shadow:0 2px 0 0 #785a00}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background:#f0eeea}.form-textarea{border:1.5px solid #c2c6d0;border:solid var(--outline-variant);border-radius:8px;border-width:1.5px 1.5px 2px}.form-textarea:focus{border-color:#785a00}.alert{border-left:4px solid;border-radius:8px;border-radius:var(--radius-md);margin-bottom:1rem;margin-bottom:var(--space-md);padding:1rem 1.5rem;padding:var(--space-md) var(--space-lg)}.alert-success{background:#e8f4ee;background:var(--status-success-bg);border-color:#27976a;border-color:var(--status-success);color:#165a3d;color:var(--status-success-text)}.alert-warning{background:linen;background:var(--status-warning-bg);border-color:#c26b1e;border-color:var(--status-warning);color:#773f11;color:var(--status-warning-text)}.alert-danger{background:#faecec;background:var(--status-danger-bg);border-color:#b53535;border-color:var(--status-danger);color:#6e1e1e;color:var(--status-danger-text)}.alert-info{background:#eef2f8;background:var(--status-info-bg);border-color:#1e4d80;border-color:var(--status-info);color:#163c66;color:var(--status-info-text)}.stat-card{background:#fff;background:var(--surface-container-lowest);border-left:4px solid;border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 2px 8px #0036640f;box-shadow:var(--shadow-card);overflow:hidden;padding:2rem;padding:var(--space-xl);position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--transition-base)}.stat-card:before{border-radius:50%;content:"";height:100px;opacity:.06;position:absolute;right:0;top:0;transform:translate(30%,-30%);width:100px}.stat-card:hover{box-shadow:0 8px 24px #0036641a;box-shadow:var(--shadow-card-hover)}.stat-card-primary{border-left-color:#003664;border-left-color:var(--primary)}.stat-card-primary:before{background:#003664;background:var(--primary)}.stat-card-success{border-left-color:#27976a;border-left-color:var(--status-success)}.stat-card-success:before{background:#27976a;background:var(--status-success)}.stat-card-warning{border-left-color:#c26b1e;border-left-color:var(--status-warning)}.stat-card-warning:before{background:#c26b1e;background:var(--status-warning)}.stat-card-danger{border-left-color:#b53535;border-left-color:var(--status-danger)}.stat-card-danger:before{background:#b53535;background:var(--status-danger)}.stat-label{color:#737780;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-label);font-size:.75rem;font-weight:700;font-weight:var(--font-bold);letter-spacing:.8px;margin-bottom:.5rem;margin-bottom:var(--space-sm)}.stat-value{color:#003664;color:var(--primary);font-family:Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-headline);font-size:2.25rem;font-size:var(--text-4xl);font-weight:800;font-weight:var(--font-extrabold);line-height:1.25;line-height:var(--leading-tight)}.skeleton{animation:loading 1.5s ease-in-out infinite;background:linear-gradient(90deg,#f0eeea 25%,#f5f3ef 50%,#f0eeea 75%);background:linear-gradient(90deg,var(--surface-container) 25%,var(--surface-container-low) 50%,var(--surface-container) 75%);background-size:200% 100%;border-radius:8px;border-radius:var(--radius-md)}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:#f5f3ef;background:var(--surface-container-low)}::-webkit-scrollbar-thumb{background:#d3e3ff;background:var(--primary-fixed);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#a3c9ff;background:var(--primary-fixed-dim)}:focus-visible{outline:2px solid #785a00;outline:2px solid var(--secondary);outline-offset:2px}.brass-gradient{background:linear-gradient(135deg,#785a00,#745700);background:var(--brass-gradient)}:root{--app-zoom:0.8}html{zoom:.8;zoom:var(--app-zoom)}#root{background-color:var(--surface);min-height:125vh;min-height:calc(100vh/var(--app-zoom))}code{background-color:var(--surface-container-high);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-sm);padding:2px 6px}.data-list-container{background:var(--surface-container-lowest);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin:0;padding:var(--space-xl)}.data-list-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-xl);padding-bottom:var(--space-md)}.data-list-title{align-items:center;color:var(--primary);display:flex;font-family:var(--font-headline);font-size:var(--text-2xl);font-weight:700;gap:var(--space-md);letter-spacing:-.02em;margin:0}.data-list-actions{align-items:center;display:flex;gap:var(--space-sm)}.search-bar{position:relative;width:280px}.search-input{background:var(--surface-container-low);border-bottom:2px solid #0000;border-radius:var(--radius-full);color:var(--on-surface);font-family:var(--font-body);padding:10px 14px 10px 40px;transition:all var(--transition-fast)}.search-input:focus{background:var(--surface-container-lowest);border-bottom-color:var(--secondary);box-shadow:var(--shadow-sm)}.search-icon{color:var(--outline);font-size:18px;left:14px;position:absolute;top:50%;transform:translateY(-50%)}.filter-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--space-md)}.filter-chip{background:var(--surface-container-low);border:none;border-radius:var(--radius-md);color:var(--on-surface-variant);cursor:pointer;font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.3px;padding:6px 14px;text-transform:uppercase;transition:all var(--transition-fast)}.filter-chip:hover{background:var(--surface-container);color:var(--primary)}.filter-chip.active{background:var(--primary-container);box-shadow:var(--shadow-xs);color:var(--on-primary)}.data-card{background:var(--surface-container-lowest);border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);cursor:pointer;margin-bottom:var(--space-md);overflow:hidden;padding:var(--space-lg);position:relative;transition:all var(--transition-fast)}.data-card:before{background:var(--brass-gradient);content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity var(--transition-fast);width:3px}.data-card:hover:before{opacity:1}.data-card:hover{box-shadow:var(--shadow-md);transform:translateX(2px)}.data-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:var(--space-md)}.data-card-title{color:var(--primary);font-family:var(--font-headline);font-size:var(--text-lg);font-weight:700;margin:0 0 4px}.data-card-subtitle{color:var(--on-surface-variant);font-size:var(--text-sm);margin:0}.data-card-actions{display:flex;gap:4px}.data-card-body{grid-gap:var(--space-md);display:grid;gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:var(--space-md)}.data-field{display:flex;flex-direction:column;gap:2px}.data-field-label{color:var(--secondary);font-family:var(--font-label);font-size:10px;font-weight:var(--font-bold);letter-spacing:.8px;text-transform:uppercase}.data-field-value{color:var(--on-surface);font-size:var(--text-sm);font-weight:var(--font-medium)}.data-card-footer{align-items:center;color:var(--outline);display:flex;font-size:var(--text-xs);justify-content:space-between;padding-top:var(--space-md)}.icon-btn{align-items:center;background:none;border:none;border-radius:var(--radius-md);color:var(--on-surface-variant);cursor:pointer;display:inline-flex;font-size:var(--text-lg);justify-content:center;padding:8px;transition:all var(--transition-fast)}.icon-btn:hover{background:var(--surface-container)}.icon-btn:active{transform:scale(.92)}.icon-btn-primary:hover{background:var(--primary-50);color:var(--primary)}.icon-btn-success:hover{background:var(--status-success-bg);color:var(--status-success)}.icon-btn-warning:hover{background:var(--status-warning-bg);color:var(--status-warning)}.icon-btn-danger:hover{background:var(--status-danger-bg);color:var(--status-danger)}.form-container{background:var(--surface-container-lowest);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin:0;max-width:800px;padding:var(--space-xl)}.form-header{margin-bottom:var(--space-xl);padding-bottom:var(--space-md)}.form-title{color:var(--primary);font-family:var(--font-headline);font-size:var(--text-2xl);font-weight:700;letter-spacing:-.02em;margin:0 0 6px}.form-description{color:var(--outline);font-size:var(--text-sm);margin:0}.form-body{display:flex;flex-direction:column;gap:var(--space-lg)}.form-row{grid-gap:var(--space-lg);gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{color:var(--primary);font-family:var(--font-label);font-size:var(--text-sm);font-weight:var(--font-bold)}.form-label-required:after{color:var(--error);content:"*";margin-left:3px}.form-input,.form-select,.form-textarea{background:var(--surface-container-high);border:none;border-bottom:2px solid var(--outline-variant);border-radius:var(--radius-md) var(--radius-md) 0 0;color:var(--on-surface);font-family:var(--font-body);font-size:var(--text-sm);padding:12px 14px;transition:all var(--transition-fast);width:100%}.form-input:hover,.form-select:hover,.form-textarea:hover{background:var(--surface-container)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-bottom-color:var(--secondary);box-shadow:0 2px 0 0 var(--secondary);outline:none}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background:var(--surface-container);cursor:not-allowed;opacity:.5}.form-textarea{border:1.5px solid var(--outline-variant);border-radius:var(--radius-md);min-height:100px;resize:vertical}.form-textarea:focus{border-color:var(--secondary);box-shadow:none}.form-helper-text{color:var(--outline)}.form-error,.form-helper-text{font-size:var(--text-xs);margin-top:2px}.form-error{align-items:center;color:var(--error);display:flex;gap:4px}.form-error:before{content:"⚠"}.file-input-wrapper{display:inline-block;position:relative;width:100%}.file-input{display:none}.file-input-label{align-items:center;background:var(--surface-container-low);border:2px dashed var(--outline-variant);border-radius:var(--radius-lg);color:var(--on-surface-variant);cursor:pointer;display:flex;font-size:var(--text-sm);font-weight:var(--font-medium);gap:var(--space-md);justify-content:center;padding:var(--space-lg);transition:all var(--transition-fast)}.file-input-label:hover{background:var(--surface-container-lowest);border-color:var(--secondary);color:var(--secondary)}.file-input-label:before{content:"📎";font-size:var(--text-xl)}.file-preview{align-items:center;background:var(--surface-container-low);display:flex;gap:var(--space-md);margin-top:var(--space-md);padding:var(--space-md)}.file-preview-image{border-radius:var(--radius-md);height:72px;object-fit:cover;width:72px}.form-actions{margin-top:var(--space-lg)}.modal-overlay{animation:fadeIn var(--transition-base);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#00000059;z-index:var(--z-modal-backdrop)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{animation:slideUp var(--transition-base);background:var(--surface-container-lowest);border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);max-height:90vh;max-width:600px;overflow-y:auto;position:relative;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.modal-header{background:var(--surface-container-lowest);padding:var(--space-xl);position:-webkit-sticky;position:sticky;top:0;z-index:1}.modal-title{color:var(--primary);font-family:var(--font-headline);font-size:var(--text-xl);font-weight:700;margin:0}.modal-close{background:none;border:none;border-radius:var(--radius-md);color:var(--on-surface-variant);cursor:pointer;font-size:var(--text-xl);line-height:1;padding:6px;transition:all var(--transition-fast)}.modal-close:hover{background:var(--surface-container)}.modal-body{padding:0 var(--space-xl) var(--space-xl)}.modal-footer{background:var(--surface-container-low);border-radius:0 0 var(--radius-xl) var(--radius-xl);bottom:0;display:flex;gap:var(--space-md);justify-content:flex-end;padding:var(--space-lg) var(--space-xl);position:-webkit-sticky;position:sticky}.status-badge{font-size:10px;font-weight:var(--font-bold);gap:4px;letter-spacing:.4px;padding:4px 12px;text-transform:uppercase}.status-badge:before{background:currentColor;border-radius:50%;content:"";height:6px;opacity:.6;width:6px}.status-in-progress,.status-in_progress{background:var(--status-info-bg);color:var(--status-info-text)}.status-approved{background:var(--status-success-bg);color:var(--status-success-text)}.status-rejected{background:var(--status-danger-bg);color:var(--status-danger-text)}.status-canceled,.status-cancelled{background:var(--surface-container-high);color:var(--on-surface-variant)}.status-active{background:var(--status-success-bg);color:var(--status-success-text)}.status-signed{background:var(--status-info-bg);color:var(--status-info-text)}.empty-state{color:var(--outline);padding:var(--space-4xl) var(--space-2xl);text-align:center}.empty-state-icon{font-size:3rem;margin-bottom:var(--space-lg);opacity:.4}.empty-state-title{color:var(--on-surface-variant);font-family:var(--font-headline);font-size:var(--text-xl);font-weight:700;margin:0 0 var(--space-sm) 0}.empty-state-description{color:var(--outline);font-size:var(--text-sm);margin:0 0 var(--space-lg) 0}.loading-container{align-items:center;display:flex;flex-direction:column;gap:var(--space-md);justify-content:center;padding:var(--space-4xl)}.spinner{animation:rotate .8s linear infinite}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-text{color:var(--outline);font-size:var(--text-sm);font-weight:var(--font-medium)}.pagination{gap:4px;margin-top:var(--space-xl);padding:var(--space-md)}.pagination,.pagination-btn{align-items:center;display:flex;justify-content:center}.pagination-btn{background:var(--surface-container-lowest);border:none;border-radius:var(--radius-md);color:var(--on-surface-variant);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-semibold);min-width:36px;padding:8px 12px;transition:all var(--transition-fast)}.pagination-btn:hover:not(.pagination-btn-active):not(:disabled){background:var(--surface-container);color:var(--primary)}.pagination-btn-active{background:var(--primary-container);color:var(--on-primary)}.pagination-btn:disabled{cursor:not-allowed;opacity:.3}.table-container{overflow-x:auto}.data-table{background:var(--surface-container-lowest);border-collapse:collapse;width:100%}.data-table thead{background:var(--surface-container-low)}.data-table th{color:var(--secondary);font-family:var(--font-label);font-size:10px;font-weight:var(--font-bold);letter-spacing:.8px;padding:12px 16px;text-align:left;text-transform:uppercase}.data-table td{color:var(--on-surface);font-size:var(--text-sm);overflow-wrap:anywhere;padding:12px 16px}.data-table tbody tr{transition:background var(--transition-fast)}.data-table tbody tr:nth-child(2n){background:var(--surface-container-low)}.data-table tbody tr:hover{background:var(--surface-container)}@media (max-width:768px){.data-list-header{align-items:flex-start;flex-direction:column;gap:var(--space-md)}.data-list-actions{flex-direction:column;width:100%}.search-bar{width:100%}.data-card-body,.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}.modal{width:95%}}.App{background-color:var(--surface);min-height:calc(100vh/var(--app-zoom))}.landing-page{background:var(--surface);color:var(--on-surface);font-family:var(--font-body);overflow-x:hidden}.landing-navbar{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#fbf9f5d9;left:0;padding:14px 0;position:fixed;right:0;top:0;z-index:1000}.navbar-container{justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 24px}.logo,.navbar-container{align-items:center;display:flex}.logo{gap:8px}.logo-icon{font-size:28px}.logo-text{font-size:1.4rem}.nav-links{align-items:center;display:flex;gap:28px}.nav-links a{color:var(--on-surface-variant);font-size:var(--text-sm);font-weight:500;text-decoration:none;transition:color var(--transition-fast)}.nav-links a:hover{color:var(--primary)}.btn-login-nav{background:var(--brass-gradient);border:none;border-radius:var(--radius-full);box-shadow:0 4px 12px #785a0040;color:#fff;cursor:pointer;font-family:var(--font-headline);font-size:var(--text-sm);font-weight:700;padding:10px 24px;transition:all var(--transition-fast)}.btn-login-nav:hover{opacity:.9;transform:translateY(-1px)}.hero-section{align-items:center;background:var(--primary);color:var(--on-primary);display:flex;min-height:calc(100vh/var(--app-zoom));overflow:hidden;padding-top:80px;position:relative}.hero-section:before{background:#ffffff0a;border-radius:50%;content:"";height:700px;position:absolute;right:-10%;top:-20%;width:700px}.hero-container{grid-gap:60px;align-items:center;display:grid;gap:60px;grid-template-columns:1fr 1fr;margin:0 auto;max-width:1200px;padding:0 24px}.hero-title{display:flex;flex-direction:column;font-family:var(--font-headline);font-size:52px;font-weight:800;letter-spacing:-.03em;line-height:1.1;margin-bottom:20px}.hero-subtitle{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fece5c,#efc050);-webkit-background-clip:text;background-clip:text}.hero-description{font-size:var(--text-lg);line-height:1.7;margin-bottom:36px;max-width:520px;opacity:.85}.hero-buttons{display:flex;gap:16px}.landing-page .btn-primary,.landing-page .btn-secondary{border:none;border-radius:var(--radius-full);cursor:pointer;font-family:var(--font-headline);font-size:var(--text-base);font-weight:700;padding:14px 32px;transition:all var(--transition-fast)}.landing-page .btn-primary{background:var(--brass-gradient);box-shadow:0 4px 16px #785a004d;color:#fff}.landing-page .btn-primary:hover{opacity:.9;transform:translateY(-2px)}.landing-page .btn-secondary{background:#0000;border:1.5px solid #ffffff4d;color:#fff}.landing-page .btn-secondary:hover{background:#ffffff1a;border-color:#ffffff80}.hero-illustration{height:400px;margin:0 auto;position:relative;width:400px}.illustration-circle{animation:float 6s ease-in-out infinite;border-radius:50%;position:absolute}.circle-1{background:#ffffff0f;height:400px;left:0;top:0;width:400px}.circle-2{animation-delay:1s;background:#ffffff14;height:300px;left:50px;top:50px;width:300px}.circle-3{animation-delay:2s;background:#ffffff1a;height:200px;left:100px;top:100px;width:200px}.illustration-icon{animation:floatIcon 8s ease-in-out infinite;font-size:100px;left:50%;opacity:.7;position:absolute;top:50%;transform:translate(-50%,-50%)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-16px)}}@keyframes floatIcon{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.05) translateY(-8px)}}.features-section{background:var(--surface-container-low);padding:100px 24px}.section-container{margin:0 auto;max-width:1200px}.landing-page .section-title{color:var(--primary);font-family:var(--font-headline);font-size:2.5rem;font-weight:800;letter-spacing:-.02em;margin-bottom:12px;text-align:center}.section-description{color:var(--outline);font-size:var(--text-lg);margin-bottom:56px;text-align:center}.features-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(3,1fr)}.feature-card{background:var(--surface-container-lowest);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:36px 28px;text-align:center;transition:all var(--transition-base)}.feature-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.feature-icon{align-items:center;background:var(--primary-fixed);border-radius:var(--radius-lg);color:var(--primary);display:flex;font-size:28px;height:56px;justify-content:center;margin:0 auto 20px;width:56px}.feature-card h3{color:var(--primary);font-family:var(--font-headline);font-size:var(--text-lg);margin-bottom:12px}.feature-card p{color:var(--on-surface-variant);font-size:var(--text-sm);line-height:1.6}.stats-section{background:var(--primary);color:var(--on-primary);padding:72px 24px}.stats-grid{grid-gap:32px;gap:32px;grid-template-columns:repeat(4,1fr);margin:0 auto;max-width:1200px}.stat-item{text-align:center}.stat-number{font-size:3rem;margin-bottom:8px}.landing-page .stat-label{color:inherit;font-size:var(--text-sm);font-weight:500;letter-spacing:0;margin:0;opacity:.8;text-transform:none}.about-section{background:var(--surface);padding:100px 24px}.about-content{grid-gap:60px;align-items:center;display:grid;gap:60px;grid-template-columns:1fr 1fr}.about-text h2{margin-bottom:24px;text-align:left}.about-text p{color:var(--on-surface-variant);font-size:var(--text-base);line-height:1.8;margin-bottom:16px}.about-features{margin-top:28px}.about-feature-item{align-items:center;color:var(--on-surface);display:flex;font-size:var(--text-sm);font-weight:500;gap:12px;margin-bottom:12px}.check-icon{background:var(--brass-gradient);color:#fff;flex-shrink:0;font-size:14px;font-weight:700;height:28px;width:28px}.about-illustration,.check-icon{align-items:center;border-radius:50%;display:flex;justify-content:center}.about-illustration{background:var(--primary);height:360px;margin:0 auto;overflow:hidden;position:relative;width:360px}.about-illustration:before{background:#ffffff0f;border-radius:50%;content:"";height:200px;position:absolute;right:-20px;top:-20px;width:200px}.about-icon{animation:float 6s ease-in-out infinite;font-size:120px;opacity:.8}.roles-section{background:var(--surface-container-low);padding:100px 24px}.roles-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(3,1fr)}.role-card{background:var(--surface-container-lowest);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:36px 28px;position:relative;transition:all var(--transition-base)}.role-card.featured{border:2px solid var(--secondary);box-shadow:var(--shadow-md);transform:scale(1.03)}.role-badge{background:var(--brass-gradient);border-radius:var(--radius-full);color:#fff;font-family:var(--font-headline);font-size:11px;font-weight:700;padding:5px 14px;position:absolute;right:20px;top:-12px}.role-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.role-card.featured:hover{transform:translateY(-4px) scale(1.03)}.role-icon{align-items:center;border-radius:var(--radius-lg);display:flex;font-size:28px;height:64px;justify-content:center;margin:0 auto 16px;width:64px}.role-icon.employer{background:var(--primary-fixed);color:var(--primary)}.role-icon.rh{background:var(--status-success-bg);color:var(--status-success)}.role-icon.admin{background:var(--status-danger-bg);color:var(--status-danger)}.role-card h3{color:var(--primary);font-family:var(--font-headline);font-size:var(--text-xl);margin-bottom:16px;text-align:center}.role-features{list-style:none;padding:0}.role-features li{align-items:center;color:var(--on-surface-variant);display:flex;font-size:var(--text-sm);gap:8px;padding:8px 0}.role-features li:before{color:var(--status-success);content:"✓";font-size:14px;font-weight:700}.cta-section{background:var(--primary);color:var(--on-primary);padding:80px 24px;text-align:center}.cta-container h2{color:#fff;font-family:var(--font-headline);font-size:2.5rem;font-weight:800;letter-spacing:-.02em;margin-bottom:16px}.cta-container p{font-size:var(--text-lg);margin-bottom:36px;opacity:.8}.btn-cta{background:var(--brass-gradient);border:none;border-radius:var(--radius-full);box-shadow:0 4px 20px #785a004d;color:#fff;cursor:pointer;font-family:var(--font-headline);font-size:var(--text-lg);font-weight:700;padding:16px 40px;transition:all var(--transition-fast)}.btn-cta:hover{opacity:.9;transform:translateY(-2px)}.footer{background:var(--inverse-surface);color:var(--inverse-on-surface);padding:56px 24px 20px}.footer-container{grid-gap:36px;display:grid;gap:36px;grid-template-columns:repeat(4,1fr);margin:0 auto 36px;max-width:1200px}.footer-section h3,.footer-section h4{color:var(--inverse-on-surface);font-family:var(--font-headline);font-size:var(--text-base);margin-bottom:16px}.footer-section a,.footer-section p{color:var(--outline);cursor:pointer;display:block;font-size:var(--text-sm);line-height:2;text-decoration:none;transition:color var(--transition-fast)}.footer-section a:hover{color:var(--inverse-on-surface)}.footer-bottom{border-top:1px solid #ffffff14;color:var(--outline);font-size:var(--text-xs);padding-top:24px;text-align:center}@media (max-width:968px){.about-content,.hero-container{grid-template-columns:1fr;text-align:center}.hero-description{margin-left:auto;margin-right:auto}.hero-buttons{justify-content:center}.about-illustration,.hero-illustration{height:280px;width:280px}.features-grid,.roles-grid{grid-template-columns:1fr;margin:0 auto;max-width:480px}.footer-container,.stats-grid{grid-template-columns:repeat(2,1fr)}.nav-links{display:none}}@media (max-width:640px){.hero-title{font-size:2rem}.landing-page .section-title{font-size:1.75rem}.footer-container,.stats-grid{grid-template-columns:1fr}.landing-page .btn-primary,.landing-page .btn-secondary{text-align:center;width:100%}.hero-buttons{flex-direction:column}}.login-container{align-items:center;background:var(--surface);display:flex;justify-content:center;min-height:calc(100vh/var(--app-zoom));padding:20px;position:relative}.login-container:before{background:var(--primary-fixed);height:600px;opacity:.08;right:-20%;top:-40%;width:600px}.login-container:after,.login-container:before{border-radius:50%;content:"";pointer-events:none;position:absolute}.login-container:after{background:var(--secondary-container);bottom:-30%;height:400px;left:-10%;opacity:.06;width:400px}.login-box{background:var(--surface-container-lowest);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-width:420px;overflow:hidden;position:relative;width:100%;z-index:1}.login-header{background:var(--surface-container-low);color:var(--primary);padding:40px 30px 32px;text-align:center}.login-logo{display:block;height:auto;margin:0 auto;max-width:220px}.login-header h1{color:var(--primary);font-family:var(--font-headline);font-size:1.75rem;font-weight:800;letter-spacing:-.02em;margin:0 0 8px}.login-header p{color:var(--secondary);font-size:var(--text-xs);font-weight:600;letter-spacing:.12em;margin:0;text-transform:uppercase}.login-form{padding:36px 32px}.login-form h2{color:var(--primary);font-family:var(--font-headline);font-size:var(--text-xl);font-weight:700;margin:0 0 28px;text-align:center}.login-form .form-group{margin-bottom:20px}.login-form .form-group label{color:var(--primary);display:block;font-family:var(--font-label);font-size:var(--text-sm);font-weight:700;margin-bottom:6px}.login-form .form-group input{background:var(--surface-container-high);border:none;border-bottom:2px solid var(--outline-variant);border-radius:var(--radius-md) var(--radius-md) 0 0;box-sizing:border-box;color:var(--on-surface);font-family:var(--font-body);font-size:var(--text-sm);padding:12px 14px;transition:all var(--transition-fast);width:100%}.login-form .form-group input:focus{border-bottom-color:var(--secondary);box-shadow:0 2px 0 0 var(--secondary);outline:none}.error-message{border-left:3px solid var(--status-danger);text-align:center}.login-button{background:var(--brass-gradient);border:none;border-radius:var(--radius-lg);box-shadow:0 4px 12px #785a0040;color:var(--on-secondary);cursor:pointer;font-family:var(--font-headline);font-size:var(--text-base);font-weight:700;padding:14px;transition:all var(--transition-fast);width:100%}.login-button:hover{box-shadow:0 6px 16px #785a004d;opacity:.92;transform:translateY(-1px)}.login-button:active{transform:scale(.98)}.login-button:disabled{background:var(--surface-container-high);box-shadow:none;color:var(--outline);cursor:not-allowed}.login-footer{background:var(--surface-container-low);color:var(--outline);font-size:11px;font-weight:500;letter-spacing:.3px;padding:16px;text-align:center}.back-to-home{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:var(--radius-full);color:var(--primary);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;left:24px;padding:10px 20px;position:absolute;top:24px;transition:all var(--transition-fast);z-index:2}.back-to-home:hover{background:var(--primary);border-color:var(--primary);color:#fff}.sidebar{background:var(--surface-container-low);box-shadow:var(--shadow-sidebar);display:flex;flex-direction:column;height:calc(100vh/var(--app-zoom));left:0;padding:var(--space-lg) var(--space-md);position:fixed;top:0;width:var(--sidebar-width);z-index:1000}.sidebar-header{padding:var(--space-sm) var(--space-sm) var(--space-xl) var(--space-sm)}.sidebar-logo{align-items:center;display:flex;gap:var(--space-sm);margin-bottom:4px}.sidebar-logo-img{display:block;height:auto;max-width:160px}.logo-text{color:var(--primary);font-family:var(--font-headline);font-size:1.25rem;font-weight:800;letter-spacing:-.02em}.sidebar-brand{color:var(--secondary);font-size:.65rem;font-weight:600;letter-spacing:.12em;padding-left:2px;text-transform:uppercase}.sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:2px;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:#0000}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--outline-variant);border-radius:10px}.nav-item{align-items:center;background:none;border:none;border-radius:var(--radius-md);color:var(--on-surface-variant);cursor:pointer;display:flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;gap:var(--space-md);padding:10px 16px;text-align:left;transition:all var(--transition-fast);width:100%}.nav-item:hover{background:var(--surface-container);color:var(--on-surface);transform:translateX(2px)}.nav-item.active{background:var(--brass-gradient);box-shadow:0 2px 8px #785a0033;color:#fff;font-weight:600}.nav-item.active .nav-icon{color:#fff;opacity:1}.nav-icon{align-items:center;display:flex;font-size:20px;justify-content:center;min-width:24px;opacity:.7}.nav-item:hover .nav-icon{opacity:1}.nav-label{flex:1 1;text-align:left}.nav-arrow{display:none}.sidebar-footer{display:flex;flex-direction:column;gap:2px;padding-top:var(--space-md)}.sidebar-cta{align-items:center;background:var(--brass-gradient);border:none;border-radius:var(--radius-lg);box-shadow:0 4px 12px #785a0040;color:#fff;cursor:pointer;display:flex;font-family:var(--font-headline);font-size:var(--text-sm);font-weight:700;gap:var(--space-sm);justify-content:center;margin-bottom:var(--space-md);padding:12px 16px;transition:all var(--transition-fast);width:100%}.sidebar-cta:hover{box-shadow:0 6px 16px #785a004d;opacity:.9;transform:translateY(-1px)}.sidebar-cta:active{transform:scale(.97)}.sidebar-cta .material-symbols-outlined{font-size:18px}.footer-link{color:var(--on-surface-variant)!important}.footer-link:hover{color:var(--error)!important}.logout-button{display:none}@media (max-width:1024px){.sidebar{padding:var(--space-md) var(--space-sm);width:72px}.logo-text,.nav-label,.sidebar-brand{display:none}.sidebar-header{padding-bottom:var(--space-md)}.nav-item{justify-content:center}.nav-item,.sidebar-cta{padding:10px}.sidebar-cta span:not(.material-symbols-outlined){display:none}}@media (max-width:768px){.sidebar{width:64px}}.modal-overlay,.planning-form-modal .modal-overlay{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#00000059;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{border-radius:var(--radius-xl)}.modal-content.large,.planning-modal-large{max-width:900px}.modal-content .modal-header{align-items:center;background:var(--surface-container-low);color:var(--primary);display:flex;justify-content:space-between;padding:var(--space-lg) var(--space-xl)}.modal-content .modal-header h2{color:var(--primary);font-family:var(--font-headline);font-size:var(--text-xl);font-weight:700;letter-spacing:-.02em;margin:0}.close-btn{border-radius:var(--radius-md);font-size:20px;height:36px;transition:all var(--transition-fast);width:36px}.close-btn:hover{color:var(--on-surface)}.planning-form{max-height:calc(90vh - 80px);overflow-y:auto;padding:var(--space-xl)}.planning-form::-webkit-scrollbar{width:6px}.planning-form::-webkit-scrollbar-track{background:var(--surface-container-low)}.planning-form::-webkit-scrollbar-thumb{background:var(--primary-fixed);border-radius:10px}.form-section{border-left:3px solid var(--secondary);border-radius:var(--radius-lg);margin-bottom:var(--space-xl);padding:var(--space-lg)}.form-section h3{color:var(--primary);font-family:var(--font-headline);font-size:var(--text-base);font-weight:700;margin:0 0 var(--space-lg) 0}.planning-form .form-group{margin-bottom:var(--space-lg)}.planning-form .form-group label{color:var(--primary);display:block;font-family:var(--font-label);font-size:var(--text-sm);font-weight:700;margin-bottom:6px}.planning-form .form-group input,.planning-form .form-group select,.planning-form .form-group textarea{background:var(--surface-container-high);border:none;border-bottom:2px solid var(--outline-variant);border-radius:var(--radius-md) var(--radius-md) 0 0;box-sizing:border-box;color:var(--on-surface);font-family:var(--font-body);font-size:var(--text-sm);padding:12px;transition:all var(--transition-fast);width:100%}.planning-form .form-group input:focus,.planning-form .form-group select:focus,.planning-form .form-group textarea:focus{border-bottom-color:var(--secondary);box-shadow:0 2px 0 0 var(--secondary);outline:none}.planning-form .form-group textarea{min-height:80px;resize:vertical}.planning-form .form-row{grid-gap:var(--space-md);display:grid;gap:var(--space-md);grid-template-columns:1fr 1fr}.selection-summary{background:var(--status-success-bg);border:1.5px solid var(--status-success);border-radius:var(--radius-md);margin-top:var(--space-md);padding:var(--space-md)}.summary-item{color:var(--status-success-text);font-size:var(--text-sm);padding:4px 0}.summary-item strong{color:var(--status-success-text);margin-right:8px}.warning-message{border:1.5px solid var(--status-warning);border-radius:var(--radius-md);margin:var(--space-sm) 0}.error-message,.warning-message{font-size:var(--text-sm);gap:8px;padding:10px 14px}.error-message{border:1.5px solid var(--status-danger);color:var(--status-danger-text);margin-bottom:var(--space-lg)}.error-message,.workers-grid{border-radius:var(--radius-md)}.workers-grid{grid-gap:var(--space-sm);background:var(--surface-container-lowest);display:grid;gap:var(--space-sm);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));max-height:300px;overflow-y:auto;padding:var(--space-sm)}.workers-grid::-webkit-scrollbar{width:6px}.workers-grid::-webkit-scrollbar-thumb{background:var(--primary-fixed);border-radius:10px}.worker-card{align-items:center;background:var(--surface-container-low);border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;justify-content:space-between;padding:10px 12px;transition:all var(--transition-fast)}.worker-card:hover{background:var(--surface-container);box-shadow:var(--shadow-xs)}.worker-card.selected{background:var(--primary-fixed);box-shadow:var(--shadow-sm)}.worker-info{display:flex;flex-direction:column;gap:2px}.worker-name{color:var(--on-surface);font-size:var(--text-sm)}.worker-cin{color:var(--outline);font-size:var(--text-xs)}.worker-checkbox{align-items:center;border:2px solid var(--outline-variant);border-radius:var(--radius-sm);color:#0000;display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:24px;justify-content:center;transition:all var(--transition-fast);width:24px}.worker-card.selected .worker-checkbox{background:var(--primary-container);border-color:var(--primary-container);color:#fff}.no-data{color:var(--outline);font-size:var(--text-sm);grid-column:1/-1;margin:0;padding:var(--space-2xl) var(--space-lg);text-align:center}.form-actions{gap:var(--space-md);margin-top:var(--space-xl);padding-top:var(--space-lg)}.btn-cancel,.btn-submit{border-radius:var(--radius-md);font-family:var(--font-headline);font-size:var(--text-sm);font-weight:700;padding:12px 28px;transition:all var(--transition-fast)}.btn-cancel{background:var(--surface-container);color:var(--on-surface-variant)}.btn-submit{background:var(--brass-gradient);box-shadow:0 2px 8px #785a0033}.btn-submit:hover{opacity:.9;transform:translateY(-1px)}.btn-submit:active{transform:scale(.97)}.btn-submit:disabled{background:var(--surface-container-high);color:var(--outline)}@media (max-width:768px){.planning-form{padding:var(--space-lg)}.planning-form .form-row,.workers-grid{grid-template-columns:1fr}.modal-content.large,.planning-modal-large{max-width:100%}.form-section{padding:var(--space-md)}.form-actions{flex-direction:column}.btn-cancel,.btn-submit{width:100%}}.planning-list{background:var(--surface);display:flex;flex-direction:column;gap:var(--space-md);padding:0}.planning-list .list-header{align-items:center;background:var(--surface-container-lowest);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;padding:var(--space-lg)}.planning-list .list-header h2{align-items:center;color:var(--primary);display:flex;font-family:var(--font-headline);font-size:var(--text-xl);font-weight:700;letter-spacing:-.02em;margin:0}.planning-list .subtitle{color:var(--outline);font-size:var(--text-sm);margin:2px 0 0}.planning-list .btn-new{align-items:center;background:var(--brass-gradient);border:none;border-radius:var(--radius-md);box-shadow:0 2px 8px #785a0033;color:#fff;cursor:pointer;display:flex;font-family:var(--font-headline);font-size:var(--text-sm);font-weight:700;gap:6px;padding:10px 20px;transition:all var(--transition-fast)}.planning-list .btn-new:hover{opacity:.9;transform:translateY(-1px)}.planning-list .table-container{background:var(--surface-container-lowest);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow-x:auto}.planning-table{border-collapse:collapse;min-width:900px;width:100%}.planning-table thead{background:var(--surface-container-low);position:-webkit-sticky;position:sticky;top:0;z-index:10}.planning-table th{color:var(--secondary);font-family:var(--font-label);font-size:10px;font-weight:700;letter-spacing:.8px;padding:12px 10px;text-align:left;text-transform:uppercase;white-space:nowrap}.planning-table th:last-child{text-align:center}.planning-table tbody tr{transition:background var(--transition-fast)}.planning-table tbody tr:nth-child(2n){background:var(--surface-container-low)}.planning-table tbody tr:hover{background:var(--surface-container)}.planning-table td{color:var(--on-surface);font-size:var(--text-sm);padding:10px;vertical-align:middle}.cell-unit-number{color:var(--primary);font-size:var(--text-xs);font-weight:700;margin-top:2px}.cell-sous-titre{align-items:center;background:var(--status-success-bg);border-radius:var(--radius-sm);color:var(--status-success);display:inline-flex;font-size:11px;font-weight:600;gap:2px;margin-top:4px;padding:2px 6px}.cell-description{color:var(--on-surface-variant);font-size:var(--text-sm);line-height:1.4;max-width:180px}.cell-materials{color:var(--outline);font-size:var(--text-xs);max-width:130px;overflow-wrap:anywhere;word-break:break-word}.cell-quantity strong{color:var(--primary);font-family:var(--font-headline)}.cell-date{color:var(--on-surface-variant);font-size:var(--text-sm);white-space:nowrap}.creator-badge{align-items:center;background:var(--primary-fixed);border-radius:var(--radius-md);color:var(--primary);display:inline-flex;font-weight:600;gap:4px;padding:4px 8px}.cell-datetime,.creator-badge{font-size:var(--text-xs);white-space:nowrap}.cell-datetime{color:var(--outline);font-family:monospace;font-family:var(--font-mono,monospace)}.status-pill{border-radius:var(--radius-full);font-size:10px;font-weight:700;letter-spacing:.3px;padding:4px 10px;text-transform:uppercase;white-space:nowrap}.status-pending{background:var(--status-warning-bg);color:var(--status-warning-text)}.status-progress{background:var(--status-info-bg);color:var(--status-info-text)}.status-completed{background:var(--status-success-bg);color:var(--status-success-text)}.status-cancelled{background:var(--status-danger-bg);color:var(--status-danger-text)}.workers-info{align-items:center;display:flex;gap:4px}.workers-count{align-items:center;background:var(--primary-fixed);border-radius:50%;color:var(--primary);display:inline-flex;font-weight:700;height:24px;justify-content:center;width:24px}.workers-label{color:var(--outline);font-size:var(--text-xs)}.planning-list .action-buttons{display:flex;gap:4px;justify-content:center}.planning-list .btn-action{align-items:center;background:none;border:none;border-radius:var(--radius-md);color:var(--outline);cursor:pointer;display:flex;justify-content:center;padding:6px;transition:all var(--transition-fast)}.planning-list .btn-action .material-symbols-outlined{font-size:18px}.planning-list .btn-action.btn-edit:hover{background:var(--primary-fixed);color:var(--primary)}.planning-list .btn-action.btn-delete:hover{background:var(--status-danger-bg);color:var(--status-danger)}.planning-list .no-data-card{background:var(--surface-container-lowest);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-4xl) var(--space-2xl);text-align:center}.planning-list .no-data-card p{color:var(--outline);font-size:var(--text-lg);margin:0 0 var(--space-lg) 0}.planning-list .btn-create-first{background:var(--brass-gradient);border:none;border-radius:var(--radius-lg);color:#fff;cursor:pointer;font-family:var(--font-headline);font-size:var(--text-base);font-weight:700;padding:12px 28px}.planning-list .table-container::-webkit-scrollbar{height:6px;width:6px}.planning-list .table-container::-webkit-scrollbar-track{background:var(--surface-container-low)}.planning-list .table-container::-webkit-scrollbar-thumb{background:var(--primary-fixed);border-radius:10px}@media (max-width:768px){.planning-list .list-header{align-items:stretch;flex-direction:column;gap:var(--space-md)}.planning-list .btn-new{justify-content:center;width:100%}}.planning-calendar{background:var(--surface);display:flex;flex-direction:column;gap:var(--space-md)}.calendar-header{align-items:center;background:var(--surface-container-lowest);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-wrap:wrap;gap:var(--space-md);justify-content:space-between;padding:var(--space-lg)}.calendar-header h2{align-items:center;color:var(--primary);display:flex;font-family:var(--font-headline);font-size:var(--text-xl);font-weight:700;margin:0}.calendar-header .subtitle{color:var(--outline);font-size:var(--text-sm);margin:2px 0 0}.calendar-controls-row{align-items:center;display:flex;gap:var(--space-sm)}.week-nav{gap:4px}.week-btn,.week-nav{align-items:center;display:flex}.week-btn{background:var(--surface-container);border:none;border-radius:var(--radius-md);color:var(--on-surface-variant);cursor:pointer;height:36px;justify-content:center;transition:all var(--transition-fast);width:36px}.week-btn:hover{background:var(--primary-fixed);color:var(--primary)}.week-btn .material-symbols-outlined{font-size:20px}.clear-btn:hover{background:var(--status-danger-bg);color:var(--status-danger)}.week-current{background:var(--primary-fixed);border:none;border-radius:var(--radius-md);color:var(--primary);cursor:pointer;font-family:var(--font-headline);font-size:var(--text-sm);font-weight:700;padding:8px 16px;transition:all var(--transition-fast);white-space:nowrap}.week-current:hover{background:var(--primary-container);color:var(--on-primary)}.calendar-filters{align-items:flex-end;background:var(--surface-container-lowest);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);display:flex;flex-wrap:wrap;gap:var(--space-lg);padding:var(--space-md) var(--space-lg)}.filter-group{display:flex;flex-direction:column;gap:4px}.filter-label{color:var(--secondary);font-family:var(--font-label);font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase}.filter-input{background:var(--surface-container-low);border:1px solid var(--surface-container-high);border-radius:var(--radius-md);color:var(--on-surface);font-family:var(--font-body);font-size:var(--text-sm);min-width:150px;padding:7px 12px;transition:all var(--transition-fast)}.filter-input:focus{border-color:var(--primary-fixed-dim);box-shadow:0 0 0 3px #1e4d8014;outline:none}.view-toggle{background:var(--surface-container-low);border-radius:var(--radius-md);display:flex;overflow:hidden}.toggle-btn{background:none;border:none;color:var(--outline);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;padding:7px 14px;transition:all var(--transition-fast)}.toggle-btn.active{background:var(--primary);color:#fff}.toggle-btn:hover:not(.active){background:var(--surface-container)}.calendar-legend{background:var(--surface-container-lowest);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);display:flex;gap:var(--space-lg);padding:8px var(--space-lg)}.legend-item{align-items:center;color:var(--on-surface-variant);display:flex;font-size:var(--text-xs);font-weight:600;gap:6px}.legend-dot{border-radius:var(--radius-sm);height:10px;width:10px}.dot-pending{background:var(--status-warning)}.dot-progress{background:var(--status-info)}.dot-completed{background:var(--status-success)}.dot-cancelled{background:var(--status-danger)}.calendar-grid-wrapper{background:var(--surface-container-lowest);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);max-height:70vh;overflow-x:auto;overflow-y:auto}.calendar-grid{border-collapse:collapse;min-width:500px;width:100%}.calendar-grid thead{position:-webkit-sticky;position:sticky;top:0;z-index:10}.calendar-grid th{background:var(--surface-container-low);padding:12px 6px;text-align:center;vertical-align:middle}.calendar-grid th.col-day{color:var(--secondary);font-family:var(--font-label);font-size:10px;font-weight:700;letter-spacing:.8px;padding-left:14px;text-align:left;text-transform:uppercase;width:90px}.calendar-grid th.col-employee{min-width:100px}.emp-header{flex-direction:column;gap:3px}.emp-avatar,.emp-header{align-items:center;display:flex}.emp-avatar{background:var(--brass-gradient);border-radius:var(--radius-md);color:#fff;font-family:var(--font-headline);font-size:var(--text-xs);font-weight:800;height:30px;justify-content:center;width:30px}.emp-name{color:var(--primary);font-size:10px;font-weight:700;max-width:80px;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.emp-role-tag{background:var(--surface-container-high);border-radius:var(--radius-sm);color:var(--outline);font-size:8px;font-weight:700;letter-spacing:.5px;padding:1px 5px;text-transform:uppercase}.calendar-grid td.col-day{background:var(--surface-container-lowest);padding:8px 14px}.day-label{display:flex;flex-direction:column;gap:1px}.day-name{color:var(--on-surface);font-size:var(--text-sm);font-weight:700}.day-date{color:var(--outline);font-size:var(--text-xs)}.day-label.today{background:var(--primary-container);border-radius:var(--radius-md);padding:4px 8px}.day-label.today .day-name{color:var(--on-primary)}.day-label.today .day-date{color:var(--on-primary);opacity:.8}.row-today td{background:#1e4d8008}.row-weekend td{background:var(--surface-container-low);opacity:.7}.cal-cell{border-left:1px solid var(--surface-container-low);cursor:default;padding:6px 4px;position:relative;text-align:center;transition:all var(--transition-fast)}.cal-cell:last-child{border-right:none}.cal-cell.has-work{cursor:pointer}.cal-cell.cell-pending{background:#c26b1e14}.cal-cell.cell-progress{background:#1e4d8014}.cal-cell.cell-completed{background:#27976a14}.cal-cell.cell-cancelled{background:#b535350d}.cal-cell.has-work:hover{box-shadow:inset 0 0 0 2px var(--primary-fixed-dim);filter:brightness(.95)}.cell-content{align-items:center;display:flex;flex-direction:column;gap:1px}.cell-count{font-family:var(--font-headline);font-size:var(--text-base);font-weight:800;line-height:1}.cell-pending .cell-count{color:var(--status-warning)}.cell-progress .cell-count{color:var(--primary)}.cell-completed .cell-count{color:var(--status-success)}.cell-cancelled .cell-count{color:var(--status-danger)}.cell-label{color:var(--outline);font-size:8px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.calendar-tooltip{animation:tooltipFadeIn .15s ease-out;background:var(--surface-container-lowest);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:360px;min-width:280px;overflow:hidden;padding:0;pointer-events:none;position:fixed;transform:translate(-50%,-100%);z-index:1000}.tooltip-header{align-items:center;background:var(--surface-container-low);color:var(--primary);display:flex;font-family:var(--font-headline);font-size:var(--text-sm);font-weight:700;gap:6px;padding:10px 14px}.tooltip-task{border-top:1px solid var(--surface-container-low);padding:10px 14px}.tooltip-task:first-of-type{border-top:none}.tooltip-task-title{align-items:center;color:var(--on-surface);display:flex;font-size:var(--text-sm);font-weight:700;gap:6px;margin-bottom:2px}.tooltip-status{border-radius:50%;flex-shrink:0;height:8px;width:8px}.tooltip-status.cell-pending{background:var(--status-warning)}.tooltip-status.cell-progress{background:var(--primary)}.tooltip-status.cell-completed{background:var(--status-success)}.tooltip-status.cell-cancelled{background:var(--status-danger)}.tooltip-task-desc{color:var(--outline);font-size:var(--text-xs);line-height:1.3;margin-bottom:4px}.tooltip-coworkers{align-items:center;background:var(--primary-fixed);border-radius:var(--radius-sm);color:var(--secondary);display:flex;font-size:var(--text-xs);font-weight:600;gap:4px;margin-top:4px;padding:3px 8px}.planning-calendar .no-data-card{background:var(--surface-container-lowest);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-4xl) var(--space-2xl);text-align:center}.planning-calendar .no-data-card p{color:var(--outline);font-size:var(--text-lg);margin:0}@media (max-width:768px){.calendar-header{align-items:stretch;flex-direction:column}.week-nav{justify-content:center}.calendar-filters{flex-direction:column;gap:var(--space-md)}.calendar-legend{flex-wrap:wrap;gap:var(--space-md)}}.calendar-grid-wrapper::-webkit-scrollbar{height:6px;width:6px}.calendar-grid-wrapper::-webkit-scrollbar-track{background:var(--surface-container-low)}.calendar-grid-wrapper::-webkit-scrollbar-thumb{background:var(--primary-fixed);border-radius:10px}.expense-list{background:var(--surface);flex-direction:column;padding:0}.expense-list,.list-header h2{display:flex;gap:var(--space-md)}.list-header h2{align-items:center;color:var(--primary);font-family:var(--font-headline);font-weight:700;letter-spacing:-.02em}.subtitle{margin:4px 0 0}.btn-new{box-shadow:0 2px 8px #785a0033;font-family:var(--font-headline);font-weight:700;padding:10px 20px;transition:all var(--transition-fast)}.btn-new:hover{opacity:.9;transform:translateY(-1px)}.btn-new:active{transform:scale(.97)}.expense-stats{grid-gap:var(--space-md);display:grid;flex-shrink:0;gap:var(--space-md);grid-template-columns:repeat(4,1fr)}.stat-item{border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);gap:4px;transition:box-shadow var(--transition-fast)}.stat-item:hover{box-shadow:var(--shadow-sm)}.stat-total{border-left-color:var(--primary)}.stat-pending{border-left-color:var(--status-warning)}.stat-approved{border-left-color:var(--status-success)}.stat-rejected{border-left-color:var(--status-danger)}.expense-list .stat-value{color:var(--primary);font-family:var(--font-headline);font-size:var(--text-2xl);font-weight:800}.expense-list .stat-label{color:var(--outline);font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase}.filters-bar{align-items:center;background:var(--surface-container-lowest);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);display:flex;flex-shrink:0;flex-wrap:wrap;gap:var(--space-md);padding:var(--space-md) var(--space-lg)}.status-filters{display:flex;flex-wrap:wrap;gap:6px}.expense-list .filter-chip{background:var(--surface-container-low);border:none;border-radius:var(--radius-md);color:var(--on-surface-variant);cursor:pointer;font-size:var(--text-xs);font-weight:600;padding:6px 14px;transition:all var(--transition-fast)}.expense-list .filter-chip:hover{background:var(--surface-container);color:var(--primary)}.expense-list .filter-chip.active{background:var(--primary-container);color:var(--on-primary)}.date-filter-group{align-items:center;display:flex;gap:var(--space-sm);margin-left:auto}.date-filter-select{background:var(--surface-container-high);border:none;border-bottom:2px solid var(--outline-variant);border-radius:var(--radius-md) var(--radius-md) 0 0;color:var(--on-surface);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);min-width:160px;padding:8px 12px;transition:all var(--transition-fast)}.date-filter-select:focus{border-bottom-color:var(--secondary);outline:none}.custom-date-range{align-items:center;display:flex;gap:6px}.date-input{background:var(--surface-container-high);border:none;border-bottom:2px solid var(--outline-variant);border-radius:var(--radius-md) var(--radius-md) 0 0;color:var(--on-surface);font-size:var(--text-sm);padding:8px 12px;transition:all var(--transition-fast)}.date-input:focus{border-bottom-color:var(--secondary);outline:none}.date-separator{color:var(--secondary);font-size:var(--text-lg);font-weight:700}.loading{flex-direction:column;gap:var(--space-md)}.no-data-card p{margin:0 0 var(--space-lg) 0}.btn-create-first{border-radius:var(--radius-lg);box-shadow:0 2px 8px #785a0033;font-family:var(--font-headline);font-size:var(--text-base);font-weight:700;padding:12px 32px;transition:all var(--transition-fast)}.btn-create-first:hover{opacity:.9}.expense-list .table-container{background:var(--surface-container-lowest);border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow-x:auto;width:100%}.expense-table{border-collapse:collapse;min-width:800px;width:100%}.expense-table thead{background:var(--surface-container-low);position:-webkit-sticky;position:sticky;top:0;z-index:10}.expense-table th{color:var(--secondary);font-family:var(--font-label);font-size:10px;font-weight:700;letter-spacing:.8px;padding:12px 10px;text-align:left;text-transform:uppercase;white-space:nowrap}.expense-table th:last-child{text-align:center}.expense-table tbody tr{transition:background var(--transition-fast)}.expense-table tbody tr:nth-child(2n){background:var(--surface-container-low)}.expense-table tbody tr:hover{background:var(--surface-container)}.expense-table td{color:var(--on-surface);font-size:var(--text-sm);padding:10px;vertical-align:middle}.amount-value{background:var(--primary-50);border-radius:var(--radius-md);color:var(--primary);font-family:var(--font-headline);font-size:var(--text-base);font-weight:700;padding:4px 10px;white-space:nowrap}.category-badge{background:var(--surface-container-high);border-radius:var(--radius-full);color:var(--on-surface-variant);font-size:var(--text-xs);font-weight:600;padding:4px 10px}.text-muted{font-size:var(--text-sm)}.expense-list .status-badge{align-items:center;border-radius:var(--radius-full);box-shadow:none;display:inline-flex;font-size:10px;font-weight:700;gap:4px;letter-spacing:.4px;padding:4px 12px;text-transform:uppercase;white-space:nowrap}.expense-list .status-badge:before{background:currentColor;border-radius:50%;content:"";height:6px;opacity:.6;width:6px}.btn-action{color:var(--on-surface-variant);font-size:var(--text-lg);height:32px;padding:6px;width:32px}.btn-action:active{transform:scale(.9)}.btn-action.btn-view:hover{background:var(--status-info-bg);color:var(--status-info)}.btn-action.btn-approve:hover{background:var(--status-success-bg);color:var(--status-success)}.btn-action.btn-delete:hover,.btn-action.btn-reject:hover{background:var(--status-danger-bg);color:var(--status-danger)}.expense-list .table-container::-webkit-scrollbar{height:6px;width:6px}.expense-list .table-container::-webkit-scrollbar-track{background:var(--surface-container-low)}.expense-list .table-container::-webkit-scrollbar-thumb{background:var(--primary-fixed);border-radius:10px}@media (max-width:1200px){.expense-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.list-header{align-items:stretch;flex-direction:column;gap:var(--space-md)}.btn-new{justify-content:center;width:100%}.filters-bar{align-items:stretch;flex-direction:column}.date-filter-group{margin-left:0}.expense-stats{grid-template-columns:repeat(2,1fr)}}.modal-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:slideDown .3s ease-out;background:var(--surface-container-lowest);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-height:90vh;max-width:600px;overflow:hidden;width:100%}@keyframes slideDown{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;background:linear-gradient(135deg,#2d5f9a 0,var(--surface-container-low) 100%);color:var(--primary);display:flex;flex-shrink:0;justify-content:space-between;padding:20px 30px}.modal-header h2{font-size:24px;font-weight:600;margin:0}.close-btn{align-items:center;background:var(--surface-container);border:none;border-radius:50%;color:var(--on-surface-variant);cursor:pointer;display:flex;font-size:28px;height:40px;justify-content:center;line-height:1;transition:all .3s;width:40px}.close-btn:hover{background:var(--surface-container-high);transform:rotate(90deg)}.client-form{flex:1 1;overflow-y:auto;padding:30px}.client-form::-webkit-scrollbar{width:8px}.client-form::-webkit-scrollbar-track{background:var(--surface-container-low)}.client-form::-webkit-scrollbar-thumb{background:#2d5f9a;border-radius:4px}.client-form::-webkit-scrollbar-thumb:hover{background:#5568d3}.form-section{margin-bottom:25px}.form-section h3{font-size:16px;font-weight:600;margin:0 0 15px}.file-input{padding:12px;transition:all .3s}.existing-files,.files-preview{margin-top:10px}.file-item{align-items:center;background:var(--surface-container-lowest);border:2px solid var(--outline-variant);border-radius:8px;color:var(--on-surface-variant);display:flex;font-size:13px;gap:8px;margin-bottom:8px;padding:10px 14px;transition:all .3s}.file-item:hover{background:var(--primary-fixed);border-color:#2d5f9a}.existing-files h4{color:var(--on-surface-variant);font-size:14px;font-weight:600;margin:10px 0 8px}.warning-message{background:var(--status-warning-bg);border:2px solid var(--status-warning);border-radius:8px;color:var(--status-warning-text)}.selected-info,.warning-message{align-items:center;display:flex;gap:10px;margin:10px 0;padding:12px 15px}.selected-info{background:#d4edda;border:2px solid #c3e6cb;border-radius:8px;color:#155724}.error-message{align-items:center;display:flex;gap:10px}.form-actions{flex-shrink:0}@media (max-width:768px){.modal-overlay{padding:10px}.modal-content{max-height:95vh;max-width:100%}.client-form{padding:20px}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn-cancel,.btn-submit{width:100%}}.unite-modal-content{max-height:70vh;overflow-y:auto;padding:30px}.client-info-box{background:var(--primary-fixed);border:2px solid #2d5f9a;border-radius:8px;margin-bottom:20px;padding:15px}.info-item{color:var(--on-surface);padding:5px 0}.info-item strong{color:#2d5f9a}.add-unite-form{background:var(--surface-container-low);border-radius:8px;margin-bottom:20px;padding:20px}.add-unite-form h3{color:var(--on-surface);font-size:16px;margin:0 0 15px}.help-text{color:#2d5f9a;display:block;font-size:12px;font-weight:600;margin-top:5px}.btn-add-unite{background:#2d5f9a;border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px;transition:background .3s;width:100%}.btn-add-unite:hover{background:#5568d3}.btn-add-unite:disabled{background:var(--outline-variant);cursor:not-allowed}.existing-unites{margin-top:20px}.existing-unites h3{color:var(--on-surface);font-size:16px;margin:0 0 15px}.unites-table{display:flex;flex-direction:column;gap:10px}.unite-row{align-items:center;background:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:8px;display:flex;justify-content:space-between;padding:15px;transition:all .3s}.unite-row:hover{border-color:#2d5f9a;box-shadow:0 2px 8px #667eea1a}.unite-info{align-items:center;display:flex;flex:1 1;gap:15px}.unite-number-large{background:#2d5f9a;border-radius:var(--radius-md);color:#fff;font-size:14px;font-weight:700;padding:8px 12px}.unite-details{display:flex;flex-direction:column;gap:3px}.unite-details strong{color:var(--on-surface);font-size:15px}.unite-details small{color:var(--outline);font-size:12px}.btn-delete-unite{background:var(--status-danger-bg);border:1px solid #fcc;border-radius:var(--radius-md);color:#c33;cursor:pointer;font-size:16px;padding:8px 12px;transition:all .3s}.btn-delete-unite:hover{background:#b53535;border-color:#b53535;color:#fff}.modal-actions{border-top:1px solid var(--surface-container-high);display:flex;justify-content:center;margin-top:20px;padding-top:20px}.btn-close-modal{background:var(--surface-container-low);border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:600;padding:10px 30px;transition:background .3s}.btn-close-modal:hover{background:var(--surface-container-high)}.toggle-buttons{display:flex;gap:10px;margin-bottom:20px}.toggle-active,.toggle-btn{background:var(--surface-container-lowest);border:2px solid var(--outline-variant);border-radius:8px;cursor:pointer;flex:1 1;font-weight:600;padding:12px;transition:all .3s}.toggle-active,.toggle-btn:hover{border-color:#2d5f9a}.toggle-active{background:#2d5f9a;color:#fff}.unites-tree{display:flex;flex-direction:column;gap:20px}.unite-tree-item{background:#fafafa;border:2px solid var(--surface-container-high);border-radius:8px;padding:15px}.sous-titres-list{border-left:3px solid #2d5f9a;margin-left:30px;margin-top:15px;padding-left:20px}.sous-titre-row{align-items:center;background:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:var(--radius-md);display:flex;justify-content:space-between;margin-bottom:8px;padding:10px}.sous-titre-info{align-items:center;display:flex;gap:15px}.sous-titre-ref{background:#27976a;border-radius:4px;color:#fff;font-size:12px;font-weight:700;padding:5px 10px}.sous-titre-name{color:var(--on-surface);font-weight:500}.btn-delete-sous-titre{background:none;border:none;cursor:pointer;font-size:16px;transition:transform .2s}.btn-delete-sous-titre:hover{transform:scale(1.2)}.modal-content.large{max-width:900px}@media (max-width:768px){.form-row{grid-template-columns:1fr}.toggle-buttons{flex-direction:column}}.client-list{background:var(--surface);display:flex;flex-direction:column;gap:var(--space-md);padding:0}.client-list .list-header{align-items:center;background:var(--surface-container-lowest);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;padding:var(--space-lg)}.client-list .list-header h2{color:var(--primary);font-family:var(--font-headline);font-size:var(--text-xl);font-weight:700;letter-spacing:-.02em;margin:0}.client-list .subtitle{color:var(--outline);font-size:var(--text-sm);margin:2px 0 0}.client-list .btn-new{align-items:center;background:var(--brass-gradient);border:none;border-radius:var(--radius-md);box-shadow:0 2px 8px #785a0033;color:#fff;cursor:pointer;display:flex;font-family:var(--font-headline);font-size:var(--text-sm);font-weight:700;gap:6px;padding:10px 20px;transition:all var(--transition-fast)}.client-list .btn-new:hover{opacity:.9;transform:translateY(-1px)}.client-list .search-bar{position:relative}.client-list .search-icon{color:var(--outline);font-size:18px;left:14px;position:absolute;top:50%;transform:translateY(-50%)}.client-list .search-input{background:var(--surface-container-lowest);border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);color:var(--on-surface);font-family:var(--font-body);font-size:var(--text-sm);padding:12px 14px 12px 42px;transition:all var(--transition-fast);width:100%}.client-list .search-input:focus{outline:none}.client-list .no-data-card,.client-list .search-input:focus{background:var(--surface-container-lowest);box-shadow:var(--shadow-sm)}.client-list .no-data-card{border-radius:var(--radius-lg);padding:var(--space-4xl) var(--space-2xl);text-align:center}.client-list .no-data-card p{color:var(--outline);font-size:var(--text-lg);margin:0 0 var(--space-lg) 0}.client-list .btn-create-first{background:var(--brass-gradient);border:none;border-radius:var(--radius-lg);box-shadow:0 2px 8px #785a0033;color:#fff;cursor:pointer;font-family:var(--font-headline);font-size:var(--text-base);font-weight:700;padding:12px 28px;transition:all var(--transition-fast)}.client-cards-grid{grid-gap:var(--space-md);display:grid;gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.client-card{background:var(--surface-container-lowest);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;overflow:hidden;position:relative;transition:all var(--transition-fast)}.client-card:before{background:var(--brass-gradient);content:"";height:3px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:left;transition:transform var(--transition-base)}.client-card:hover:before{transform:scaleX(1)}.client-card:hover{box-shadow:var(--shadow-md)}.client-card-header{align-items:flex-start;display:flex;justify-content:space-between;padding:var(--space-lg) var(--space-lg) var(--space-sm)}.client-card-identity{align-items:center;display:flex;gap:var(--space-md);min-width:0}.client-card .client-avatar{align-items:center;background:var(--brass-gradient);border-radius:var(--radius-lg);color:#fff;display:flex;flex-shrink:0;font-family:var(--font-headline);font-size:var(--text-lg);font-weight:800;height:42px;justify-content:center;width:42px}.client-card-name{color:var(--primary);font-family:var(--font-headline);font-size:var(--text-base);font-weight:700;line-height:1.2;margin:0 0 4px}.client-card .client-number-badge{background:var(--primary-fixed);border-radius:var(--radius-sm);color:var(--primary);font-family:var(--font-mono);font-size:11px;font-weight:700;padding:2px 8px}.client-card-actions{display:flex;flex-shrink:0;gap:2px}.btn-icon{align-items:center;background:none;border:none;border-radius:var(--radius-md);color:var(--outline);cursor:pointer;display:flex;justify-content:center;padding:6px;transition:all var(--transition-fast)}.btn-icon:hover{background:var(--surface-container);color:var(--primary)}.btn-icon:active{transform:scale(.9)}.btn-icon-danger:hover{background:var(--status-danger-bg);color:var(--status-danger)}.btn-icon .material-symbols-outlined{font-size:18px}.client-card-body{display:flex;flex:1 1;flex-direction:column;gap:6px;padding:var(--space-sm) var(--space-lg)}.client-detail-row{align-items:center;display:flex;gap:8px}.detail-icon{color:var(--outline);flex-shrink:0;font-size:16px!important;opacity:.6}.detail-text{color:var(--on-surface-variant);font-size:var(--text-sm);line-height:1.3}.detail-truncate{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-card-footer{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:space-between;padding:var(--space-sm) var(--space-lg) var(--space-lg)}.client-tags{display:flex;flex-wrap:wrap;gap:4px}.tag{border-radius:var(--radius-sm);font-size:10px;font-weight:700;letter-spacing:.3px;padding:3px 8px;text-transform:uppercase}.tag-primary{background:var(--status-success-bg);color:var(--status-success-text)}.tag-outline{background:var(--surface-container-high);color:var(--on-surface-variant)}.tag-muted{background:var(--surface-container-low);color:var(--outline)}.client-footer-meta{align-items:center;display:flex;gap:8px}.units-badge{align-items:center;background:var(--primary-fixed);border-radius:var(--radius-sm);color:var(--primary);cursor:pointer;display:flex;font-size:11px;font-weight:600;gap:4px;padding:3px 8px;transition:all var(--transition-fast)}.units-badge:hover{background:var(--primary-fixed-dim)}.docs-badge{display:flex;gap:2px}.doc-link{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--outline);cursor:pointer;display:flex;padding:4px;transition:all var(--transition-fast)}.doc-link:hover{background:var(--status-success-bg);color:var(--status-success)}.client-list .loading{align-items:center;color:var(--outline);display:flex;font-size:var(--text-base);justify-content:center;padding:var(--space-4xl)}@media (max-width:768px){.client-list .list-header{align-items:stretch;flex-direction:column;gap:var(--space-md)}.client-list .btn-new{justify-content:center;width:100%}.client-cards-grid{grid-template-columns:1fr}}.access-request-list{background:var(--surface);display:flex;flex-direction:column;gap:var(--space-lg);height:100%;padding:0}.request-stats{grid-gap:var(--space-md);display:grid;flex-shrink:0;gap:var(--space-md);grid-template-columns:repeat(3,1fr)}.stat-pending{border-left-color:#c26b1e}.stat-approved{border-left-color:#27976a}.request-table{border-collapse:collapse;min-width:800px;width:100%}.request-table thead{background:var(--surface-container-low);position:-webkit-sticky;position:sticky;top:0;z-index:10}.request-table th{color:var(--secondary);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.8px;padding:var(--space-md);text-align:left;text-transform:uppercase;white-space:nowrap}.request-table th:last-child{border-right:none;text-align:center}.request-table tbody tr{transition:background var(--transition-fast)}.request-table tbody tr:hover{background:var(--surface-container)}.request-table tbody tr:last-child{border-bottom:none}.request-table td{color:var(--on-surface);font-size:var(--text-sm);padding:var(--space-md);vertical-align:middle}.request-table td:last-child{border-right:none}.cell-truncate{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.duration-badge{background:var(--gray-100);border-radius:var(--radius-sm);color:var(--gray-700);font-size:var(--text-xs);font-weight:var(--font-medium);padding:2px var(--space-sm);white-space:nowrap}.workers-cell{display:flex;flex-direction:column;gap:var(--space-xs)}.workers-count{color:var(--on-surface-variant);font-size:var(--text-xs);font-weight:var(--font-semibold)}.workers-preview{display:flex;flex-direction:column;gap:2px}.worker-chip{background:var(--primary-50);border-radius:var(--radius-sm);color:var(--primary-700);font-size:11px;padding:2px 6px;white-space:nowrap}.worker-more{color:var(--outline);font-size:11px}@media (max-width:768px){.list-header{align-items:stretch;flex-direction:column;gap:var(--space-md)}.btn-new{justify-content:center;width:100%}.request-stats{grid-template-columns:1fr}}.conge-list{padding:0}.conge-list .list-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:var(--space-lg)}.conge-list .list-header h2{color:var(--primary);font-family:var(--font-headline);font-size:var(--text-xl);font-weight:700;margin:0 0 4px}.conge-list .subtitle{color:var(--outline);font-size:var(--text-sm);margin:0}.conge-stats-full{grid-gap:var(--space-md);display:grid;gap:var(--space-md);grid-template-columns:repeat(4,1fr);margin-bottom:var(--space-lg)}.conge-stat-card{align-items:center;background:var(--surface-container-lowest);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;gap:var(--space-md);padding:var(--space-lg) var(--space-xl);transition:all var(--transition-fast)}.conge-stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-icon{align-items:center;border-radius:var(--radius-md);display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.stat-icon .material-symbols-outlined{color:#fff;font-size:22px}.stat-icon.total{background:var(--primary)}.stat-icon.pending{background:var(--status-warning)}.stat-icon.approved{background:var(--status-success)}.stat-icon.rejected{background:var(--status-danger)}.stat-info{display:flex;flex-direction:column;gap:1px}.stat-number{color:var(--primary);font-family:var(--font-headline);font-size:var(--text-2xl);font-weight:800;line-height:1}.stat-number.pending{color:var(--status-warning)}.stat-number.approved{color:var(--status-success)}.stat-number.rejected{color:var(--status-danger)}.stat-name{color:var(--outline);font-family:var(--font-label);font-size:var(--text-xs);font-weight:700;letter-spacing:.5px;text-transform:uppercase}.conge-calendar-section{background:var(--surface-container-lowest);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--space-lg);padding:var(--space-lg);position:relative}.calendar-nav{gap:6px;margin-bottom:var(--space-lg)}.cal-nav-btn,.calendar-nav{align-items:center;display:flex;justify-content:center}.cal-nav-btn{background:var(--surface-container);border:none;border-radius:var(--radius-md);color:var(--on-surface-variant);cursor:pointer;height:36px;transition:all var(--transition-fast);width:36px}.cal-nav-btn:hover{background:var(--primary-fixed);color:var(--primary)}.cal-nav-btn .material-symbols-outlined{font-size:20px}.cal-nav-current{background:var(--primary-fixed);border:none;border-radius:var(--radius-md);color:var(--primary);cursor:pointer;font-family:var(--font-headline);font-size:var(--text-sm);font-weight:700;padding:8px 20px;text-transform:capitalize;transition:all var(--transition-fast)}.cal-nav-current:hover{background:var(--primary-container);color:var(--on-primary)}.conge-calendar-grid{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(7,1fr)}.cal-day-header{color:var(--secondary);font-family:var(--font-label);font-size:10px;font-weight:700;letter-spacing:.8px;padding:8px 0;text-align:center;text-transform:uppercase}.cal-day{align-items:center;aspect-ratio:1;border-radius:var(--radius-md);cursor:default;display:flex;flex-direction:column;gap:3px;justify-content:center;min-height:50px;position:relative;transition:all var(--transition-fast)}.cal-day.blank{background:none}.cal-day:not(.blank){background:var(--surface-container-low)}.cal-day:not(.blank):hover{background:var(--surface-container)}.cal-day.today{background:var(--primary-container)}.cal-day.today .cal-day-num{color:var(--on-primary);font-weight:800}.cal-day.has-conge{background:#27976a1a;cursor:pointer}.cal-day.has-conge:hover{background:#27976a33;box-shadow:inset 0 0 0 2px var(--status-success)}.cal-day-num{color:var(--on-surface);font-size:var(--text-sm);font-weight:600}.cal-day-dots{align-items:center;display:flex;gap:2px}.conge-dot{background:var(--status-success);border-radius:50%;height:6px;width:6px}.conge-more{color:var(--status-success);font-size:8px;font-weight:700}.conge-cal-tooltip{animation:tooltipFadeIn .15s ease-out;background:var(--surface-container-lowest);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:180px;padding:10px 14px;pointer-events:none;position:fixed;transform:translate(-50%,-100%);z-index:1000}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%,calc(-100% + 8px))}to{opacity:1;transform:translate(-50%,-100%)}}.tooltip-date{color:var(--primary);font-family:var(--font-headline);font-size:var(--text-sm);font-weight:700;margin-bottom:6px;text-transform:capitalize}.tooltip-employee{align-items:center;color:var(--on-surface);display:flex;font-size:var(--text-sm);gap:4px;padding:2px 0}.tooltip-hint{color:var(--outline);font-size:var(--text-xs);font-style:italic;margin-top:4px}.conge-detail-card{background:var(--surface-container-lowest);border-left:4px solid var(--status-success);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--space-lg);overflow:hidden}.detail-header{align-items:center;background:var(--surface-container-low);display:flex;justify-content:space-between;padding:var(--space-md) var(--space-lg)}.detail-header h3{align-items:center;color:var(--primary);display:flex;font-family:var(--font-headline);font-size:var(--text-base);font-weight:700;margin:0}.detail-close{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--outline);cursor:pointer;display:flex;padding:4px;transition:all var(--transition-fast)}.detail-close:hover{background:var(--surface-container-high);color:var(--status-danger)}.detail-grid{grid-gap:var(--space-md);display:grid;gap:var(--space-md);grid-template-columns:repeat(2,1fr);padding:var(--space-lg)}.detail-item{display:flex;flex-direction:column;gap:2px}.detail-label{font-family:var(--font-label);letter-spacing:.6px}.detail-value{font-size:var(--text-sm)}.detail-actions{display:flex;gap:var(--space-sm);padding:0 var(--space-lg) var(--space-lg)}.conge-list .search-bar{margin-bottom:var(--space-md)}.conge-list .search-input{background:var(--surface-container-lowest);border:1px solid var(--surface-container-high);border-radius:var(--radius-md);box-sizing:border-box;color:var(--on-surface);font-family:var(--font-body);font-size:var(--text-sm);outline:none;padding:10px 16px;transition:all var(--transition-fast);width:100%}.conge-list .search-input:focus{border-color:var(--primary-fixed-dim);box-shadow:0 0 0 3px #1e4d8014}.conge-list .table-container{background:var(--surface-container-lowest);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow-x:auto}.conge-table{border-collapse:collapse;font-size:var(--text-sm);min-width:800px;width:100%}.conge-table th{background:var(--surface-container-low);color:var(--secondary);font-family:var(--font-label);font-size:10px;font-weight:700;letter-spacing:.6px;padding:10px 12px;text-align:left;text-transform:uppercase}.conge-table td{border-bottom:1px solid var(--surface-container-low);padding:10px 12px;vertical-align:middle}.conge-table tbody tr:hover{background:var(--surface-container-low)}.conge-table tbody tr.row-selected{background:var(--primary-fixed)}.status-badge{display:inline-block;font-weight:700;padding:3px 10px}.status-pending{background:#c26b1e1f;color:var(--status-warning)}.status-approved{background:#27976a1f;color:var(--status-success)}.status-rejected{background:#b535351f;color:var(--status-danger)}.action-buttons{gap:4px}.btn-action{border:none;border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:600;gap:3px;padding:5px 10px;transition:all var(--transition-fast)}.btn-action:hover{opacity:.82}.btn-approve{background:#27976a1f;color:var(--status-success)}.btn-reject{background:#b535351f;color:var(--status-danger)}.btn-delete{background:var(--surface-container);color:var(--outline)}.btn-delete:hover{background:#b535351f;color:var(--status-danger)}.no-data-card{color:var(--outline);font-size:var(--text-base);padding:var(--space-4xl) var(--space-xl)}.rh-comment-input{background:var(--surface-container-low);border:1px solid var(--surface-container-high);border-radius:var(--radius-md);color:var(--on-surface);font-size:var(--text-xs);outline:none;padding:6px 10px;transition:all var(--transition-fast);width:130px}.rh-comment-input:focus{border-color:var(--primary-fixed-dim)}.cell-primary{font-weight:600}.text-muted{color:var(--surface-container-high)}.loading{padding:40px;text-align:center}.piece-jointe-link{color:var(--primary);font-size:var(--text-xs);font-weight:600;text-decoration:none}.piece-jointe-link:hover{text-decoration:underline}@media (max-width:768px){.conge-stats-full{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:1fr}.conge-calendar-grid{gap:1px}.cal-day{min-height:36px}}.profile-page{grid-gap:var(--space-lg);align-items:start;display:grid;gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(380px,1fr));max-width:none;width:100%}.profile-page .profile-card{flex-direction:column;text-align:center}.profile-page .profile-info{width:100%}@media (max-width:900px){.profile-page{grid-template-columns:1fr}.profile-page .profile-card{flex-direction:row;text-align:left}}.profile-card{align-items:center;background:var(--surface-container-lowest);border-left:3px solid var(--secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;gap:var(--space-xl);padding:var(--space-xl)}.profile-avatar-large{align-items:center;background:var(--primary-container);border-radius:50%;color:var(--on-primary);display:flex;flex-shrink:0;font-family:var(--font-headline);font-size:28px;font-weight:800;height:72px;justify-content:center;width:72px}.profile-info{flex:1 1}.profile-name{font-family:var(--font-headline);font-size:var(--text-xl);margin:0 0 4px}.profile-name,.profile-role-badge{color:var(--primary);font-weight:700}.profile-role-badge{background:var(--primary-fixed);border-radius:var(--radius-full);display:inline-block;font-size:var(--text-xs);letter-spacing:.3px;margin-bottom:var(--space-md);padding:3px 12px;text-transform:uppercase}.profile-details{display:flex;flex-direction:column;gap:4px}.profile-detail-row{display:flex;font-size:var(--text-sm);gap:var(--space-md)}.detail-label{color:var(--secondary);flex-shrink:0;font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;width:60px}.detail-value{color:var(--on-surface);font-weight:500}.password-card{background:var(--surface-container-lowest);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-xl)}.password-card-header{margin-bottom:var(--space-lg)}.password-card-header h3{color:var(--primary);font-family:var(--font-headline);font-size:var(--text-lg);font-weight:700;margin:0 0 4px}.password-card-header p{color:var(--outline);font-size:var(--text-sm);margin:0}.profile-page .alert{border-left:3px solid;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;margin-bottom:var(--space-lg);padding:10px var(--space-lg)}.profile-page .alert-success{background:var(--status-success-bg);border-color:var(--status-success);color:var(--status-success-text)}.profile-page .alert-error{background:var(--status-danger-bg);border-color:var(--status-danger);color:var(--status-danger-text)}.password-form{display:flex;flex-direction:column;gap:var(--space-lg)}.profile-page .form-group{display:flex;flex-direction:column;gap:6px}.profile-page .form-group label{color:var(--primary);font-family:var(--font-label);font-size:var(--text-sm);font-weight:700}.profile-page .form-group input{background:var(--surface-container-high);border:none;border-bottom:2px solid var(--outline-variant);border-radius:var(--radius-md) var(--radius-md) 0 0;color:var(--on-surface);font-family:var(--font-body);font-size:var(--text-sm);padding:10px 14px;transition:all var(--transition-fast)}.profile-page .form-group input:focus{border-bottom-color:var(--secondary);box-shadow:0 2px 0 0 var(--secondary);outline:none}.btn-save{align-self:flex-start;background:var(--brass-gradient);border:none;border-radius:var(--radius-md);box-shadow:0 2px 8px #785a0033;color:#fff;cursor:pointer;font-family:var(--font-headline);font-size:var(--text-sm);font-weight:700;padding:10px 24px;transition:all var(--transition-fast)}.btn-save:hover:not(:disabled){opacity:.9}.btn-save:disabled{background:var(--surface-container-high);box-shadow:none;color:var(--outline);cursor:not-allowed}.dashboard{background:var(--surface);display:flex;flex-direction:column;min-height:calc(100vh/var(--app-zoom))}.navbar{align-items:center;background:var(--primary);color:var(--on-primary);display:flex;justify-content:space-between;padding:var(--space-md) var(--space-2xl);position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-sticky)}.navbar-brand h2{font-family:var(--font-headline);font-size:var(--text-2xl);font-weight:800;letter-spacing:-.02em;margin:0}.navbar-user{align-items:center;display:flex;font-size:var(--text-sm);font-weight:var(--font-medium);gap:var(--space-lg)}.navbar-user span{background:#ffffff1f;border-radius:var(--radius-full);padding:6px 12px}.logout-btn{background:var(--gradient-danger);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-semibold);padding:8px 18px;transition:all var(--transition-fast)}.logout-btn:hover{opacity:.9}.dashboard-sidebar{background:var(--surface-container-lowest);display:flex;gap:4px;overflow-x:auto;padding:var(--space-sm) var(--space-lg);position:-webkit-sticky;position:sticky;top:70px;z-index:var(--z-sticky)}.tab,.tab-active{align-items:center;background:none;border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--font-medium);gap:6px;padding:10px 16px;transition:all var(--transition-fast);white-space:nowrap}.tab{color:var(--on-surface-variant)}.tab:hover{background:var(--surface-container);color:var(--primary)}.tab-active{background:var(--primary-container);color:var(--on-primary);font-weight:var(--font-semibold)}.dashboard-main{background:var(--surface);flex:1 1;overflow-y:auto;padding:var(--space-xl)}.dashboard-content{margin:0 auto;max-width:var(--max-width-2xl)}.welcome-card{background:var(--primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);color:var(--on-primary);margin-bottom:var(--space-xl);overflow:hidden;padding:var(--space-2xl);position:relative}.welcome-card:before{background:#ffffff0f;border-radius:50%;content:"";height:400px;position:absolute;right:-10%;top:-50%;width:400px}.welcome-card h1{color:#fff;font-family:var(--font-headline);font-size:var(--text-4xl);font-weight:var(--font-extrabold);letter-spacing:-.02em;margin:0 0 var(--space-sm) 0;position:relative;z-index:1}.welcome-card p{font-size:var(--text-lg);margin:0;opacity:.85;position:relative;z-index:1}.stats-grid{grid-gap:var(--space-md);display:grid;gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:var(--space-xl)}.stats-grid .stat-card{background:var(--surface-container-lowest);border-left:4px solid;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:default;overflow:hidden;padding:var(--space-xl);position:relative;transition:all var(--transition-fast)}.stats-grid .stat-card:before{border-radius:50%;content:"";height:80px;opacity:.05;position:absolute;right:0;top:0;transform:translate(30%,-30%);width:80px}.stats-grid .stat-card:hover{box-shadow:var(--shadow-md)}.stats-grid .stat-card:first-child{border-left-color:var(--primary)}.stats-grid .stat-card:first-child:before{background:var(--primary)}.stats-grid .stat-card:nth-child(2){border-left-color:var(--secondary)}.stats-grid .stat-card:nth-child(2):before{background:var(--secondary)}.stats-grid .stat-card:nth-child(3){border-left-color:var(--status-success)}.stats-grid .stat-card:nth-child(3):before{background:var(--status-success)}.stats-grid .stat-card:nth-child(4){border-left-color:var(--status-warning)}.stats-grid .stat-card:nth-child(4):before{background:var(--status-warning)}.stats-grid .stat-card:nth-child(5){border-left-color:var(--status-success)}.stats-grid .stat-card:nth-child(5):before{background:var(--status-success)}.stats-grid .stat-card:nth-child(6){border-left-color:var(--primary)}.stats-grid .stat-card:nth-child(6):before{background:var(--primary)}.stats-grid .stat-card h3{color:var(--primary);font-family:var(--font-headline);font-size:var(--text-4xl);font-weight:var(--font-extrabold);line-height:1;margin:0 0 6px}.stats-grid .stat-card p{color:var(--outline);font-size:10px;font-weight:var(--font-bold);letter-spacing:.8px;margin:0;text-transform:uppercase}.dashboard-grid{grid-gap:var(--space-lg);display:grid;gap:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-bottom:var(--space-xl)}.dashboard-card{background:var(--surface-container-lowest);border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:pointer;overflow:hidden;padding:var(--space-xl);position:relative;transition:all var(--transition-fast)}.dashboard-card:before{background:var(--brass-gradient);content:"";height:3px;left:0;position:absolute;top:0;transform:scaleX(0);transform-origin:left;transition:transform var(--transition-base);width:100%}.dashboard-card:hover:before{transform:scaleX(1)}.dashboard-card:hover{box-shadow:var(--shadow-md)}.dashboard-card:active{transform:scale(.99)}.dashboard-card h3{color:var(--primary);font-family:var(--font-headline);font-size:var(--text-xl);font-weight:var(--font-bold);margin:0 0 var(--space-md) 0}.dashboard-card p{color:var(--on-surface-variant);font-size:var(--text-sm);line-height:var(--leading-relaxed);margin:0 0 var(--space-lg) 0}.card-button{background:var(--brass-gradient);border:none;border-radius:var(--radius-md);box-shadow:0 2px 8px #785a0033;color:#fff;cursor:pointer;font-family:var(--font-headline);font-size:var(--text-sm);font-weight:var(--font-bold);padding:10px 18px;transition:all var(--transition-fast);width:100%}.card-button:hover{box-shadow:0 4px 12px #785a0040;opacity:.92}.card-button:active{transform:scale(.98)}.loading-spinner{align-items:center;color:var(--outline);display:flex;justify-content:center;padding:var(--space-4xl)}.coming-soon{background:var(--surface-container-lowest);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin:var(--space-xl);padding:var(--space-4xl) var(--space-2xl);text-align:center}.coming-soon h2{color:var(--primary);font-family:var(--font-headline);margin:0 0 var(--space-md) 0}.coming-soon p{color:var(--outline);margin:0}@media (max-width:768px){.navbar{padding:var(--space-md)}.navbar-brand h2{font-size:var(--text-lg)}.dashboard-main{padding:var(--space-md)}.welcome-card{padding:var(--space-xl)}.welcome-card h1{font-size:var(--text-2xl)}.stats-grid{gap:var(--space-sm);grid-template-columns:1fr 1fr}.stats-grid .stat-card{padding:var(--space-lg)}.stats-grid .stat-card h3{font-size:var(--text-3xl)}.dashboard-grid{grid-template-columns:1fr}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr}.welcome-card h1{font-size:var(--text-xl)}}.dashboard-with-sidebar{background:var(--surface)}.dashboard-with-sidebar,.main-content{display:flex;height:calc(100vh/var(--app-zoom));overflow:hidden}.main-content{flex:1 1;flex-direction:column;margin-left:var(--sidebar-width);min-width:0}.content-header{align-items:center;background:var(--surface);display:flex;justify-content:space-between;min-height:var(--header-height);padding:var(--space-md) var(--space-xl);position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-left{flex:1 1}.page-title{color:var(--primary);font-family:var(--font-headline);font-size:var(--text-2xl);font-weight:700;letter-spacing:-.02em;margin:0 0 2px}.page-subtitle{color:var(--outline);font-size:var(--text-sm);font-weight:400;margin:0}.header-right,.user-info{align-items:center;display:flex;gap:var(--space-md)}.user-info{background:var(--surface-container-low);border-radius:var(--radius-full);padding:6px 12px}.user-avatar{align-items:center;background:var(--primary-container);border:2px solid var(--surface-container-lowest);border-radius:50%;box-shadow:var(--shadow-xs);color:#fff;display:flex;font-family:var(--font-headline);font-size:var(--text-sm);font-weight:var(--font-bold);height:36px;justify-content:center;width:36px}.user-details{display:flex;flex-direction:column}.user-name{color:var(--on-surface);font-size:var(--text-sm);font-weight:var(--font-semibold)}.user-role{color:var(--secondary);font-size:10px;font-weight:var(--font-bold);letter-spacing:.6px;text-transform:uppercase}.content-body{flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:var(--space-xl)}.overview-content{gap:var(--space-xl);margin:0 auto;max-width:1400px}.loading-state,.overview-content{display:flex;flex-direction:column}.loading-state{align-items:center;gap:var(--space-lg);justify-content:center;padding:var(--space-4xl)}.spinner{animation:spin .8s linear infinite;border:3px solid var(--primary-fixed);border-radius:50%;border-top-color:var(--primary);height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.stats-grid-modern{grid-gap:var(--space-md);display:grid;gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-card-modern{background:var(--surface-container-lowest);border-left:3px solid;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-xl);transition:all var(--transition-fast)}.stat-card-modern:hover{box-shadow:var(--shadow-md)}.stat-card-modern.stat-primary{border-left-color:var(--primary)}.stat-card-modern.stat-secondary{border-left-color:var(--secondary)}.stat-card-modern.stat-success{border-left-color:var(--status-success)}.stat-card-modern.stat-warning{border-left-color:var(--status-warning)}.stat-info{flex:1 1}.stat-card-modern .stat-label{color:var(--outline);font-family:var(--font-label);font-size:10px;font-weight:var(--font-bold);letter-spacing:.8px;margin-bottom:6px;text-transform:uppercase}.stat-card-modern .stat-value{color:var(--primary);font-family:var(--font-headline);font-size:var(--text-3xl);font-weight:var(--font-extrabold);line-height:1}.quick-actions-section{background:var(--surface-container-lowest);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-xl)}.section-title{border-bottom:none;color:var(--primary);font-family:var(--font-headline);font-size:var(--text-lg);font-weight:var(--font-bold);margin:0 0 var(--space-lg) 0;padding-bottom:0}.quick-actions-grid{display:flex;flex-wrap:wrap;gap:var(--space-md)}.quick-actions-grid>.quick-action-card{flex:1 1 240px;min-width:240px}.quick-action-card{align-items:center;background:var(--surface-container-low);border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;gap:var(--space-md);padding:var(--space-lg);text-align:left;transition:all var(--transition-fast)}.quick-action-card:hover{background:var(--surface-container-lowest);box-shadow:var(--shadow-sm);transform:translateX(2px)}.quick-action-card:active{transform:scale(.98)}.action-content{flex:1 1}.action-content h3{color:var(--primary);font-family:var(--font-headline);font-size:var(--text-sm);font-weight:var(--font-bold);margin:0 0 2px}.action-content p{color:var(--outline);font-size:var(--text-xs);margin:0}.action-arrow{color:var(--outline-variant);font-size:var(--text-lg);font-weight:var(--font-normal);transition:color var(--transition-fast)}.quick-action-card:hover .action-arrow{color:var(--secondary)}@media (max-width:1024px){.main-content{margin-left:72px}.user-details{display:none}}@media (max-width:768px){.main-content{margin-left:64px}.content-header{align-items:flex-start;flex-direction:column;gap:var(--space-sm);padding:var(--space-md)}.header-right{justify-content:flex-end;width:100%}.stats-grid-modern{grid-template-columns:1fr 1fr}.quick-actions-grid>.quick-action-card{flex-basis:100%;min-width:0}.content-body{padding:var(--space-md)}}@media (max-width:480px){.stats-grid-modern{grid-template-columns:1fr}}.employee-modal-large{max-height:90vh;max-width:900px}.employee-form{max-height:calc(90vh - 80px);overflow-y:auto;padding:30px}.employee-form::-webkit-scrollbar{width:8px}.employee-form::-webkit-scrollbar-track{background:var(--surface-container-low)}.employee-form::-webkit-scrollbar-thumb{background:#2d5f9a;border-radius:4px}.form-section{background:var(--surface-container-low);border-left:4px solid #2d5f9a;border-radius:8px;margin-bottom:30px;padding:20px}.form-section h3{align-items:center;color:var(--on-surface);display:flex;font-size:18px;gap:8px;margin:0 0 20px}.form-group{margin-bottom:20px}.form-group label{color:var(--on-surface);display:block;font-size:14px;font-weight:600;margin-bottom:8px}.form-group input,.form-group select{border:2px solid var(--outline-variant);border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:14px;padding:12px;transition:all .3s;width:100%}.form-group input:focus,.form-group select:focus{border-color:#2d5f9a;box-shadow:0 2px 0 0 var(--secondary);outline:none}.form-group input:disabled{background:var(--surface-container-low);cursor:not-allowed}.form-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr}.file-input{background:var(--surface-container-lowest);border:2px dashed var(--outline-variant);border-radius:8px;cursor:pointer;padding:10px}.file-input:hover{background:var(--primary-fixed);border-color:#2d5f9a}.file-preview{background:var(--status-success-bg);border:1px solid #27976a;border-radius:var(--radius-md);color:var(--status-success-text)}.existing-file,.file-preview{font-size:13px;margin-top:10px;padding:10px}.existing-file{background:var(--primary-fixed);border:1px solid #2d5f9a;border-radius:var(--radius-md);color:#2d5f9a}.error-message{background:var(--status-danger-bg);border:2px solid #b53535;border-radius:8px;color:var(--status-danger);margin-bottom:20px;padding:12px 15px}.form-actions{border-top:2px solid var(--surface-container-high);display:flex;gap:12px;justify-content:flex-end;margin-top:30px;padding-top:20px}.btn-cancel,.btn-submit{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:12px 30px;transition:all .3s}.btn-cancel{background:var(--surface-container-low);border:2px solid var(--outline-variant);color:var(--on-surface)}.btn-cancel:hover{background:var(--surface-container-high);border-color:var(--outline-variant)}.btn-submit{background:linear-gradient(135deg,#2d5f9a 0,var(--surface-container-low) 100%);box-shadow:var(--shadow-md);color:#fff}.btn-submit:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn-submit:disabled{background:var(--outline-variant);box-shadow:none;cursor:not-allowed;transform:none}@media (max-width:768px){.employee-modal-large{max-width:95%}.employee-form{padding:20px}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn-cancel,.btn-submit{width:100%}}.employee-list{background:var(--surface);display:flex;flex-direction:column;gap:var(--space-md);min-width:0;padding:0;width:100%}.btn-new{align-items:center;background:var(--brass-gradient);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;display:flex;font-size:var(--text-sm);font-weight:var(--font-medium);gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);transition:background var(--transition-fast)}.btn-new:hover{background:var(--primary-800)}.employee-stats{grid-gap:var(--space-md);display:grid;flex-shrink:0;gap:var(--space-md);grid-template-columns:repeat(3,1fr)}.stat-available{border-left-color:#27976a}.stat-unavailable{border-left-color:#b53535}.no-data-card p{margin:0 0 var(--space-xl) 0}.btn-create-first{background:var(--brass-gradient);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-sm) var(--space-xl);transition:background var(--transition-fast)}.btn-create-first:hover{background:var(--primary-800)}.employee-table{border-collapse:collapse;width:100%}.employee-table thead{background:var(--surface-container-low);position:-webkit-sticky;position:sticky;top:0;z-index:10}.employee-table th{color:var(--secondary);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.8px;padding:8px 10px;text-align:left;text-transform:uppercase;white-space:nowrap}.employee-table th:last-child{border-right:none;text-align:center}.employee-table tbody tr{transition:background var(--transition-fast)}.employee-table tbody tr:hover{background:var(--surface-container)}.employee-table tbody tr:last-child{border-bottom:none}.employee-table td{color:var(--on-surface);font-size:var(--text-sm);padding:8px 10px;vertical-align:middle}.employee-table td:last-child{border-right:none}.employee-cell{align-items:center;display:flex;gap:var(--space-sm)}.employee-avatar{border:2px solid var(--gray-200);border-radius:50%;flex-shrink:0;height:28px;overflow:hidden;position:relative;width:28px}.employee-avatar img{display:block;height:100%;inset:0;object-fit:cover;position:absolute;width:100%;z-index:1}.avatar-placeholder{align-items:center;background:var(--brass-gradient);color:#fff;display:flex;font-size:var(--text-sm);font-weight:var(--font-semibold);height:100%;justify-content:center;width:100%}.cell-secondary{color:var(--outline);font-size:var(--text-xs);margin-top:2px}.cell-email{color:var(--primary-600);display:block;font-size:var(--text-sm);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge-stack,.id-stack{display:flex;flex-direction:column;gap:3px}.id-secondary{font-size:.7rem;opacity:.7}.mono-text{background:var(--gray-100);border-radius:var(--radius-sm);color:var(--on-surface-variant);font-family:Courier New,monospace;font-size:var(--text-sm);padding:2px 6px}.salary-value{color:#059669;font-weight:var(--font-semibold);white-space:nowrap}.civil-status{color:var(--on-surface-variant);font-size:var(--text-sm)}.role-badge{border-radius:var(--radius-sm);color:#fff!important;display:inline-block;font-weight:var(--font-semibold)}.availability-toggle,.role-badge{font-size:var(--text-xs);padding:2px var(--space-sm);white-space:nowrap}.availability-toggle{border:none;border-radius:var(--radius-sm);cursor:pointer;font-weight:var(--font-medium);transition:opacity var(--transition-fast)}.availability-toggle.available{background:var(--status-danger-bg);color:var(--status-danger)}.availability-toggle.unavailable{background:#e8f4ee;color:#065f46}.availability-toggle:hover{opacity:.85}.availability-badge{border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-medium);padding:2px var(--space-sm);white-space:nowrap}.availability-badge.available{background:#e8f4ee;color:#065f46}.availability-badge.unavailable{background:var(--status-danger-bg);color:var(--status-danger)}.btn-action.btn-edit:hover{background:var(--primary-50);border-color:var(--primary-200)}.btn-action.btn-reset:hover{background:#fff7ed;border-color:#fed7aa}.btn-action.btn-doc:hover{background:var(--primary-50);border-color:var(--primary-200)}@media (max-width:768px){.list-header{align-items:stretch;flex-direction:column;gap:var(--space-md)}.btn-new{justify-content:center;width:100%}.employee-stats{grid-template-columns:1fr}}.access-modal-large{max-height:85vh;max-width:700px;overflow-y:auto;width:95%}.access-form{display:flex;flex-direction:column;gap:var(--space-lg);padding:var(--space-lg)}.access-form .error-message{background:var(--status-danger-bg);border-radius:var(--radius-md);color:var(--status-danger);font-size:var(--text-sm);font-weight:600;padding:10px 14px}.access-form .form-section{background:var(--surface-container-low);border-radius:var(--radius-lg);padding:var(--space-lg)}.access-form .form-section h3{color:var(--primary);font-family:var(--font-headline);font-size:var(--text-base);font-weight:700;margin:0 0 var(--space-md) 0}.access-form .form-row{grid-gap:var(--space-md);display:grid;gap:var(--space-md);grid-template-columns:1fr 1fr}.access-form .form-group{margin-bottom:var(--space-md)}.access-form .form-group label{color:var(--secondary);display:block;font-family:var(--font-label);font-size:var(--text-xs);font-weight:700;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.access-form .form-group input,.access-form .form-group select,.access-form .form-group textarea{background:var(--surface-container-lowest);border:1px solid var(--surface-container-high);border-radius:var(--radius-md);box-sizing:border-box;color:var(--on-surface);font-family:var(--font-body);font-size:var(--text-sm);padding:9px 12px;transition:all var(--transition-fast);width:100%}.access-form .form-group input:focus,.access-form .form-group select:focus,.access-form .form-group textarea:focus{border-color:var(--primary-fixed-dim);box-shadow:0 0 0 3px #1e4d8014;outline:none}.access-form .form-group textarea{resize:vertical}.materiels-history{display:flex;flex-direction:column;gap:6px;margin-top:8px}.history-label{color:var(--outline);font-size:var(--text-xs);font-weight:700}.history-chips{display:flex;flex-wrap:wrap;gap:6px}.materiel-chip{background:var(--primary-fixed);border:none;border-radius:var(--radius-full);color:var(--primary);cursor:pointer;font-size:var(--text-xs);font-weight:600;padding:4px 10px;transition:all var(--transition-fast);white-space:nowrap}.materiel-chip:hover{background:var(--primary-fixed-dim)}.vehicle-row,.worker-row{align-items:flex-start;background:var(--surface-container-lowest);border-radius:var(--radius-md);display:flex;gap:var(--space-md);margin-bottom:var(--space-sm);padding:var(--space-md);position:relative}.vehicle-number,.worker-number{align-items:center;background:var(--brass-gradient);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:var(--text-xs);font-weight:800;height:28px;justify-content:center;margin-top:4px;width:28px}.vehicle-fields,.worker-fields{flex:1 1;min-width:0}.employee-select{background:var(--surface-container-low);border:1px solid var(--surface-container-high);border-radius:var(--radius-md);color:var(--on-surface);font-size:var(--text-sm);padding:8px 12px;width:100%}.btn-remove-worker{align-items:center;background:none;border:none;border-radius:var(--radius-md);color:var(--outline);cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:6px;transition:all var(--transition-fast)}.btn-remove-worker:hover{background:var(--status-danger-bg);color:var(--status-danger)}.btn-add-worker{background:none;border:2px dashed var(--surface-container-high);border-radius:var(--radius-md);color:var(--primary);font-size:var(--text-sm);font-weight:700;padding:10px;transition:all var(--transition-fast);width:100%}.btn-add-worker:hover{background:var(--primary-fixed);border-color:var(--primary)}.access-form .form-actions{display:flex;gap:var(--space-md);justify-content:flex-end;padding-top:var(--space-md)}.access-form .btn-cancel{background:var(--surface-container);border:none;border-radius:var(--radius-md);color:var(--on-surface-variant);cursor:pointer;font-size:var(--text-sm);font-weight:700;padding:10px 24px;transition:all var(--transition-fast)}.access-form .btn-cancel:hover{background:var(--surface-container-high)}.access-form .btn-submit{background:var(--brass-gradient);border:none;border-radius:var(--radius-md);box-shadow:0 2px 8px #785a0033;color:#fff;cursor:pointer;font-family:var(--font-headline);font-size:var(--text-sm);font-weight:700;padding:10px 24px;transition:all var(--transition-fast)}.access-form .btn-submit:hover{opacity:.9;transform:translateY(-1px)}.access-form .btn-submit:disabled{cursor:not-allowed;opacity:.5;transform:none}@media (max-width:768px){.access-form .form-row{grid-template-columns:1fr}.access-modal-large{max-height:95vh;max-width:100%}}.fact-meta-form{background:var(--surface-container-lowest);border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);margin-bottom:var(--space-lg);padding:var(--space-lg)}.fact-meta-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:var(--space-md)}.fact-meta-group{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:150px}.fact-meta-group label{color:var(--secondary);font-family:var(--font-label);font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase}.fact-meta-group.required label:after{color:var(--error);content:" *"}.fact-meta-group input{background:var(--surface-container-high);border:none;border-bottom:2px solid var(--outline-variant);border-radius:var(--radius-md) var(--radius-md) 0 0;color:var(--on-surface);font-family:var(--font-body);font-size:var(--text-sm);outline:none;padding:10px 12px;transition:all var(--transition-fast)}.fact-meta-group input:focus{border-bottom-color:var(--secondary);box-shadow:0 2px 0 0 var(--secondary)}.fact-meta-group.required input{border-bottom-color:var(--primary-fixed-dim)}.fact-meta-group.required input:focus{border-bottom-color:var(--secondary)}.fact-words-preview{align-items:baseline;background:var(--status-info-bg);border-left:3px solid var(--primary);border-radius:0 var(--radius-md) var(--radius-md) 0;display:flex;flex-wrap:wrap;font-size:var(--text-sm);gap:8px;margin-top:var(--space-md);padding:10px 16px}.fact-words-label{color:var(--on-surface);font-weight:700;white-space:nowrap}.fact-words-value{color:var(--primary);font-style:italic;font-weight:700}.facturation-page{padding:4px 0 40px}.fact-section-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--space-lg);justify-content:space-between;margin-bottom:var(--space-lg)}.fact-section-header h3{color:var(--primary);font-family:var(--font-headline);font-size:var(--text-lg);font-weight:700;margin:0 0 4px}.fact-hint{color:var(--outline);font-size:var(--text-sm);margin:0}.fact-step1-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.btn-fact-primary{background:var(--brass-gradient);border:none;border-radius:var(--radius-md);box-shadow:0 2px 8px #785a0033;color:#fff;cursor:pointer;font-family:var(--font-headline);font-size:var(--text-sm);font-weight:700;padding:10px 20px;transition:all var(--transition-fast);white-space:nowrap}.btn-fact-primary:hover:not(:disabled){opacity:.9}.btn-fact-primary:disabled{background:var(--surface-container-high);box-shadow:none;color:var(--outline);cursor:not-allowed}.btn-fact-secondary{background:var(--surface-container-lowest);border:1.5px solid var(--outline-variant);border-radius:var(--radius-md);color:var(--on-surface-variant);cursor:pointer;font-size:var(--text-sm);font-weight:600;padding:10px 16px;transition:all var(--transition-fast);white-space:nowrap}.btn-fact-secondary:hover{background:var(--surface-container-low);border-color:var(--secondary);color:var(--secondary)}.btn-fact-download{background:var(--gradient-success);color:#fff}.btn-fact-download:hover:not(:disabled){opacity:.9}.fact-search-bar{margin-bottom:var(--space-lg)}.fact-search-bar .search-input{background:var(--surface-container-low);border:none;border-bottom:2px solid var(--outline-variant);border-radius:var(--radius-full);box-sizing:border-box;color:var(--on-surface);font-family:var(--font-body);font-size:var(--text-sm);max-width:400px;outline:none;padding:10px 14px;transition:all var(--transition-fast);width:100%}.fact-search-bar .search-input:focus{background:var(--surface-container-lowest);border-bottom-color:var(--secondary);box-shadow:var(--shadow-sm)}.fact-bon-grid{grid-gap:var(--space-sm);display:grid;gap:var(--space-sm);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-bottom:var(--space-xl)}.fact-bon-card{align-items:flex-start;background:var(--surface-container-low);border:none;border-radius:var(--radius-lg);cursor:pointer;display:flex;gap:var(--space-md);padding:14px 16px;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none}.fact-bon-card:hover{background:var(--surface-container);box-shadow:var(--shadow-xs)}.fact-bon-card.selected{background:var(--primary-fixed);box-shadow:var(--shadow-sm)}.fact-checkbox{align-items:center;border:2px solid var(--outline-variant);border-radius:var(--radius-sm);color:#0000;display:flex;font-size:12px;font-weight:700;height:20px;justify-content:center;margin-top:2px;min-width:20px;transition:all var(--transition-fast);width:20px}.fact-checkbox.checked{background:var(--primary-container);border-color:var(--primary-container);color:#fff}.fact-bon-info{flex:1 1;min-width:0}.fact-bon-number{color:var(--primary);font-family:var(--font-headline);font-size:var(--text-base);font-weight:700;margin-bottom:2px}.fact-bon-client{color:var(--on-surface-variant);font-size:var(--text-sm);margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fact-bon-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.fact-bon-unite{background:var(--primary-fixed);border-radius:var(--radius-full);color:var(--primary);font-size:var(--text-xs);font-weight:600;padding:2px 8px}.fact-bon-taches{color:var(--outline);font-size:var(--text-xs)}.fact-bon-status{font-size:var(--text-xs);font-weight:700}.fact-sticky-bar{align-items:center;background:var(--primary);border-radius:var(--radius-lg);bottom:0;box-shadow:var(--shadow-lg);color:var(--on-primary);display:flex;font-size:var(--text-sm);font-weight:600;justify-content:space-between;margin-top:var(--space-lg);padding:12px 20px;position:-webkit-sticky;position:sticky;z-index:10}.fact-sticky-bar .btn-fact-primary{background:var(--brass-gradient);color:#fff}.fact-sticky-bar .btn-fact-primary:hover{opacity:.9}.fact-table-wrapper{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow-x:auto}.fact-table{background:var(--surface-container-lowest);border-collapse:collapse;min-width:820px;width:100%}.fact-table thead th{background:var(--surface-container-low);color:var(--secondary);font-family:var(--font-label);font-size:10px;font-weight:700;letter-spacing:.8px;padding:12px 14px;text-align:left;text-transform:uppercase;white-space:nowrap}.fact-table thead th.col-num,.fact-table thead th.col-price{text-align:center}.fact-table tbody tr{transition:background var(--transition-fast)}.fact-table tbody tr:nth-child(2n){background:var(--surface-container-low)}.fact-table tbody tr:hover{background:var(--surface-container)}.fact-table tbody tr.row-priced,.fact-table tbody tr.row-priced:hover{background:var(--status-success-bg)}.fact-table td{color:var(--on-surface);font-size:var(--text-sm);padding:11px 14px;vertical-align:middle}.fact-table td.cell-center{text-align:center}.fact-table td.cell-muted{color:var(--outline);font-size:var(--text-xs)}.fact-table td.col-num{color:var(--primary);font-weight:700;text-align:center}.fact-table td.col-price{text-align:center}.fact-bon-num-badge{background:var(--primary-fixed);border-radius:var(--radius-md);color:var(--primary);display:inline-block;font-size:var(--text-xs);font-weight:700;padding:3px 8px;white-space:nowrap}.fact-desc-primary{color:var(--on-surface);font-size:var(--text-sm);font-weight:600}.fact-desc-mat,.fact-desc-secondary{color:var(--outline);font-size:var(--text-xs);margin-top:2px}.fact-desc-mat{font-style:italic}.fact-price-input{background:var(--surface-container-high);border:none;border-bottom:2px solid var(--outline-variant);border-radius:var(--radius-md) var(--radius-md) 0 0;color:var(--on-surface);font-size:var(--text-sm);font-weight:600;outline:none;padding:8px 10px;text-align:right;transition:all var(--transition-fast);width:110px}.fact-price-input:focus{border-bottom-color:var(--secondary);box-shadow:0 2px 0 0 var(--secondary)}.fact-prix-t{color:var(--outline);display:inline-block;font-size:var(--text-sm);font-weight:500;min-width:80px;text-align:right}.fact-prix-t.has-value{color:var(--status-success);font-weight:700}.fact-total-row{background:var(--primary)!important}.fact-total-row td{color:#fff!important;font-size:var(--text-base);font-weight:700;padding:14px 16px}.fact-total-label{letter-spacing:.02em;text-align:right}.fact-total-value{font-size:var(--text-lg);letter-spacing:.01em;text-align:center}.bon-view-modal{max-height:90vh;max-width:1000px}.bon-view-content{max-height:calc(90vh - 140px);overflow-y:auto;padding:30px}.bon-info-section,.signature-section,.taches-section{background:var(--surface-container-low);border-radius:8px;margin-bottom:30px;padding:20px}.bon-info-section h3,.taches-section h3{border-bottom:2px solid #2d5f9a;color:var(--on-surface);font-size:18px;margin:0 0 15px;padding-bottom:10px}.info-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(2,1fr)}.info-item{align-items:center;display:flex;gap:8px}.taches-table{overflow-x:auto}.taches-table table{border-collapse:collapse;width:100%}.taches-table td,.taches-table th{border-bottom:1px solid var(--outline-variant);padding:12px;text-align:left}.taches-table th{background:#2d5f9a;color:#fff;font-weight:600}.signature-section{background:var(--status-success-bg);border-left:4px solid #27976a}.bon-list{background:var(--surface);display:flex;flex-direction:column;gap:var(--space-lg);height:100%;padding:0}.list-header{align-items:center;background:var(--surface-container-lowest);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-shrink:0;justify-content:space-between;padding:var(--space-lg) var(--space-xl)}.list-header h2{color:var(--on-surface);font-size:var(--text-xl);font-weight:var(--font-semibold);margin:0}.subtitle{color:var(--outline);font-size:var(--text-sm);margin:var(--space-xs) 0 0 0}.bon-stats{grid-gap:var(--space-md);display:grid;flex-shrink:0;gap:var(--space-md);grid-template-columns:repeat(3,1fr)}.stat-item{background:var(--surface-container-lowest);border-left:3px solid;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-lg)}.stat-total{border-left-color:var(--primary-500)}.stat-active{border-left-color:#c26b1e}.stat-signed{border-left-color:#27976a}.stat-value{color:var(--on-surface);font-size:var(--text-2xl);font-weight:var(--font-bold)}.stat-label{color:var(--outline);font-size:var(--text-xs);font-weight:var(--font-medium);letter-spacing:.5px;text-transform:uppercase}.search-bar{flex-shrink:0}.search-input{background:var(--surface-container-lowest);border:none;border-radius:var(--radius-md);box-sizing:border-box;font-size:var(--text-sm);padding:var(--space-sm) var(--space-lg);transition:border-color var(--transition-fast);width:100%}.search-input:focus{border-color:var(--primary-400);box-shadow:0 0 0 3px var(--primary-100);outline:none}.loading{align-items:center;color:var(--outline);display:flex;font-size:var(--text-base);justify-content:center;padding:var(--space-4xl)}.no-data-card{background:var(--surface-container-lowest);border:1px dashed var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-4xl) var(--space-2xl);text-align:center}.no-data-card p{color:var(--outline);font-size:var(--text-lg);margin:0}.table-container{background:var(--surface-container-lowest);border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex:1 1;overflow:auto}.bon-table{border-collapse:collapse;min-width:800px;width:100%}.bon-table thead{background:var(--surface-container-low);position:-webkit-sticky;position:sticky;top:0;z-index:10}.bon-table th{color:var(--secondary);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.8px;padding:var(--space-md);text-align:left;text-transform:uppercase;white-space:nowrap}.bon-table th:last-child{border-right:none;text-align:center}.bon-table tbody tr{transition:background var(--transition-fast)}.bon-table tbody tr:hover{background:var(--surface-container)}.bon-table tbody tr:last-child{border-bottom:none}.bon-table td{color:var(--on-surface);font-size:var(--text-sm);padding:var(--space-md);vertical-align:middle}.bon-table td:last-child{border-right:none}.bon-number{background:var(--primary-50);border-radius:var(--radius-sm);color:var(--primary-700);font-family:Courier New,monospace;font-size:var(--text-sm);font-weight:var(--font-semibold);padding:2px var(--space-sm);white-space:nowrap}.cell-primary{color:var(--on-surface);font-weight:var(--font-medium)}.unite-number-badge{background:var(--gray-100);color:var(--gray-700)}.task-count,.unite-number-badge{border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-medium);padding:2px var(--space-sm);white-space:nowrap}.task-count{background:var(--success-100);color:var(--success-800)}.date-value{color:var(--on-surface-variant);font-size:var(--text-sm);white-space:nowrap}.text-muted{color:var(--outline)}.status-badge{align-items:center;border-radius:var(--radius-full);color:#fff;display:inline-flex;font-size:var(--text-xs);font-weight:var(--font-semibold);padding:2px var(--space-md);white-space:nowrap}.action-buttons{gap:var(--space-sm)}.action-buttons,.btn-action{align-items:center;display:flex;justify-content:center}.btn-action{background:none;border:1px solid #0000;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-base);height:30px;padding:var(--space-xs);transition:background var(--transition-fast),border-color var(--transition-fast);width:30px}.btn-action:disabled{cursor:not-allowed;opacity:.4}.btn-action.btn-view:hover{background:var(--primary-50);border-color:var(--primary-200)}.btn-action.btn-sign:hover:not(:disabled){background:var(--success-50);border-color:var(--success-200)}.btn-action.btn-download:hover{background:var(--primary-50);border-color:var(--primary-200)}.btn-action.btn-delete:hover{background:var(--danger-50);border-color:var(--danger-200)}.table-container::-webkit-scrollbar{height:6px;width:6px}.table-container::-webkit-scrollbar-track{background:var(--gray-100)}.table-container::-webkit-scrollbar-thumb{background:var(--gray-400);border-radius:var(--radius-full)}.table-container::-webkit-scrollbar-thumb:hover{background:var(--gray-500)}@media (max-width:768px){.bon-stats{grid-template-columns:1fr}.list-header{align-items:stretch;flex-direction:column;gap:var(--space-md)}}.monthly-summary{display:flex;flex-direction:column;gap:var(--space-lg)}.report-controls{align-items:center;background:var(--surface-container-lowest);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-wrap:wrap;gap:var(--space-md);padding:var(--space-lg) var(--space-xl)}.report-controls label{font-weight:var(--font-semibold)}.month-input,.report-controls label{color:var(--on-surface);font-size:var(--text-sm)}.month-input{background:var(--surface);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md)}.month-input:focus{border-color:var(--primary-400);box-shadow:0 0 0 3px var(--primary-100);outline:none}.btn-generate{align-items:center;background:var(--brass-gradient);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:flex;font-size:var(--text-sm);font-weight:var(--font-medium);gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);transition:opacity var(--transition-fast)}.btn-generate:hover{opacity:.9}.btn-generate:disabled{cursor:not-allowed;opacity:.5}.btn-export{align-items:center;background:#059669;border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:flex;font-size:var(--text-sm);font-weight:var(--font-medium);gap:var(--space-sm);margin-left:auto;padding:var(--space-sm) var(--space-lg);transition:opacity var(--transition-fast)}.btn-export:hover{opacity:.9}.financial-cards{grid-gap:var(--space-md);display:grid;gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.fin-card{background:var(--surface-container-lowest);border-left:3px solid;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-lg)}.fin-card.revenue{border-left-color:#059669}.fin-card.salary{border-left-color:var(--primary-500)}.fin-card.primes{border-left-color:#7c3aed}.fin-card.expenses{border-left-color:#d97706}.fin-card.spent{border-left-color:#b53535}.fin-card.net-positive{border-left-color:#059669}.fin-card.net-negative{border-left-color:#b53535}.fin-card-label{color:var(--outline);font-size:10px;font-weight:var(--font-bold);letter-spacing:.8px;margin-bottom:6px;text-transform:uppercase}.fin-card-value{color:var(--on-surface);font-family:var(--font-headline);font-size:var(--text-2xl);font-weight:var(--font-extrabold);line-height:1}.fin-card-value.positive{color:#059669}.fin-card-value.negative{color:#b53535}.report-section{background:var(--surface-container-lowest);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.report-section-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:var(--space-md) var(--space-lg);transition:background var(--transition-fast);-webkit-user-select:none;user-select:none}.report-section-header:hover{background:var(--surface-container-low)}.section-header-left{align-items:center;display:flex;gap:var(--space-sm)}.section-header-left h3{color:var(--primary);font-family:var(--font-headline);font-size:var(--text-base);font-weight:var(--font-semibold);margin:0}.section-badge{background:#e0e7ff;background:var(--primary-100,#e0e7ff);border-radius:var(--radius-full);color:#003664;color:var(--primary-700,#003664);font-size:var(--text-xs);font-weight:var(--font-bold);padding:2px 8px}.section-toggle{color:var(--outline);font-size:var(--text-lg);transition:transform .2s}.section-toggle.open{transform:rotate(180deg)}.report-section-body{padding:0 var(--space-lg) var(--space-lg)}.report-table{border-collapse:collapse;font-size:var(--text-sm);width:100%}.report-table thead{background:var(--surface-container-low)}.report-table th{color:var(--secondary);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.5px;padding:8px 10px;text-align:left;text-transform:uppercase;white-space:nowrap}.report-table td{border-bottom:1px solid var(--surface-container-low);color:var(--on-surface);padding:8px 10px}.report-table tbody tr:hover{background:var(--surface-container)}.report-table tbody tr:last-child td{border-bottom:none}.report-status{border-radius:var(--radius-sm);display:inline-block;font-size:var(--text-xs);font-weight:var(--font-semibold);padding:2px 8px;white-space:nowrap}.report-status.approved,.report-status.completed,.report-status.signed{background:#e8f4ee;color:#065f46}.report-status.active,.report-status.in_progress,.report-status.pending{background:#fff3e0;color:#c26b1e}.report-status.cancelled,.report-status.rejected{background:#fde8e8;color:#b53535}.summary-chips{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-md)}.summary-chip{background:var(--surface-container-low);border-radius:var(--radius-full);color:var(--on-surface);font-size:var(--text-xs);padding:4px 10px}.amount-val,.summary-chip{font-weight:var(--font-semibold)}.amount-val{white-space:nowrap}.amount-val.green{color:#059669}.amount-val.red{color:#b53535}.days-tags{display:flex;flex-wrap:wrap;gap:3px}.day-tag{background:#e0e7ff;background:var(--primary-100,#e0e7ff);border-radius:var(--radius-sm);color:#003664;color:var(--primary-700,#003664);display:inline-block;font-size:.65rem;padding:1px 5px;white-space:nowrap}.report-empty{color:var(--outline);font-size:var(--text-sm);padding:var(--space-xl);text-align:center}.report-loading{align-items:center;color:var(--outline);display:flex;gap:var(--space-md);justify-content:center;padding:var(--space-4xl)}@media (max-width:768px){.report-controls{align-items:stretch;flex-direction:column}.btn-export{margin-left:0}.financial-cards{grid-template-columns:1fr 1fr}}.pointage-form{max-width:100%}.pointage-controls{align-items:flex-end;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000f;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px;padding:16px}.pointage-date-picker label{color:#4a5568;display:block;font-size:13px;font-weight:600;margin-bottom:6px}.pointage-date-picker input{border:1px solid #e2e8f0;border-radius:8px;color:#1a2435;font-size:14px;padding:8px 12px}.pointage-actions{display:flex;flex-wrap:wrap;gap:10px}.btn-duplicate{background:#eef2f8;border:1px solid #d3e3ff;border-radius:8px;color:#1e4d80;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .2s}.btn-duplicate:hover{background:#d3e3ff}.btn-duplicate:disabled{cursor:not-allowed;opacity:.5}.btn-add-worker{background:#1e4d80;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .2s}.btn-add-worker:hover{background:#163c66}.pointage-message{border-radius:8px;font-size:14px;font-weight:500;margin-bottom:16px;padding:10px 16px}.pointage-message-success{background:#e8f4ee;border:1px solid #b7e4c7;color:#165a3d}.pointage-message-error{background:#ffdad6;border:1px solid #f5b7b1;color:#6e1e1e}.pointage-message-warning{background:linen;border:1px solid #f0d9b5;color:#773f11}.pointage-message-info{background:#eef2f8;border:1px solid #d3e3ff;color:#163c66}.pointage-stats{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.pointage-stat{align-items:center;background:#fff;border-radius:10px;box-shadow:0 1px 3px #0000000f;display:flex;gap:8px;padding:10px 16px}.stat-number{font-size:20px;font-weight:700}.stat-label{color:#4a5568;font-size:13px;font-weight:500}.stat-total .stat-number{color:#1e4d80}.stat-present .stat-number{color:#27976a}.stat-late .stat-number{color:#c26b1e}.stat-absent .stat-number{color:#b53535}.add-worker-dropdown{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:16px;padding:16px}.add-worker-dropdown h4{color:#1a2435;font-size:14px;margin:0 0 12px}.employee-options{display:flex;flex-wrap:wrap;gap:8px;max-height:200px;overflow-y:auto}.employee-option{align-items:center;background:#f7f8fa;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;display:flex;gap:8px;padding:8px 14px;transition:all .15s}.employee-option:hover{background:#eef2f8;border-color:#1e4d80}.emp-name{color:#1a2435;font-size:13px;font-weight:600}.emp-type{background:#f0f0f0;border-radius:4px;color:#6b7280;font-size:11px;padding:2px 6px}.no-employees{color:#6b7280;font-size:13px;margin:0}.pointage-empty,.pointage-loading{color:#6b7280;padding:40px 20px;text-align:center}.pointage-empty p{font-size:14px;margin:4px 0}.pointage-table-wrap{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000f;overflow-x:auto}.pointage-table{border-collapse:collapse;font-size:13px;width:100%}.pointage-table th{border-bottom:2px solid #eee;color:#4a5568;font-size:12px;font-weight:600;letter-spacing:.5px;padding:12px 10px;text-align:left;text-transform:uppercase;white-space:nowrap}.pointage-table td{border-bottom:1px solid #f0f0f0;padding:10px;vertical-align:middle}.entry-row.entry-absent{background:#fff5f5}.entry-row.entry-late{background:#fffbeb}.entry-worker{min-width:120px}.worker-name{color:#1a2435;font-weight:600}.status-buttons{display:flex;gap:4px}.status-btn{background:#fff;border:2px solid #e2e8f0;border-radius:6px;color:#6b7280;cursor:pointer;font-size:13px;font-weight:700;height:32px;transition:all .15s;width:32px}.status-btn.status-present.active{background:#27976a;border-color:#27976a;color:#fff}.status-btn.status-late.active{background:#c26b1e;border-color:#c26b1e;color:#fff}.status-btn.status-absent.active{background:#b53535;border-color:#b53535;color:#fff}.status-btn:hover{border-color:#999}.absent-reason{font-size:12px;margin-top:6px;padding:4px 8px}.absent-reason,.entry-input{border:1px solid #e2e8f0;border-radius:6px;max-width:160px;width:100%}.entry-input{font-size:13px;min-width:80px;padding:6px 8px}.absent-reason:focus,.entry-input:focus{border-color:#1e4d80;box-shadow:0 0 0 2px #1e4d801a;outline:none}.btn-remove-entry{align-items:center;background:#fee;border:none;border-radius:6px;color:#b53535;cursor:pointer;display:flex;font-size:18px;height:28px;justify-content:center;transition:all .15s;width:28px}.btn-remove-entry:hover{background:#fdd}.pointage-save-section{margin-top:16px;text-align:right}.btn-save-pointage{background:#1e4d80;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:12px 32px;transition:all .2s}.btn-save-pointage:hover{background:#163c66}.btn-save-pointage:disabled{cursor:not-allowed;opacity:.6}.btn-save-pointage.saved{background:#27976a}
/*# sourceMappingURL=main.b76bb1e6.css.map*/