:root{--primary-color: #2563eb;--primary-hover: #1d4ed8;--secondary-color: #64748b;--accent-color: #f59e0b;--success-color: #10b981;--danger-color: #ef4444;--warning-color: #f59e0b;--white: #ffffff;--gray-50: #f8fafc;--gray-100: #f1f5f9;--gray-200: #e2e8f0;--gray-300: #cbd5e1;--gray-400: #94a3b8;--gray-500: #64748b;--gray-600: #475569;--gray-700: #334155;--gray-800: #1e293b;--gray-900: #0f172a;--opening-color: #3b82f6;--closing-color: #8b5cf6;--standard-color: #10b981;--constraint-color: #f59e0b;--rest-color: #ef4444;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--border-radius-sm: .375rem;--border-radius-md: .5rem;--border-radius-lg: .75rem;--border-radius-xl: 1rem;--transition-fast: .15s ease-in-out;--transition-normal: .25s ease-in-out;--transition-slow: .35s ease-in-out}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.6;color:var(--gray-900);background-color:var(--gray-50);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25;margin-bottom:var(--spacing-4);color:var(--gray-900)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}h5{font-size:var(--font-size-base)}h6{font-size:var(--font-size-sm)}p{margin-bottom:var(--spacing-4);color:var(--gray-700)}a{color:var(--primary-color);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-hover)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-sm);font-weight:500;line-height:1;border:none;border-radius:var(--border-radius-md);cursor:pointer;transition:all var(--transition-fast);text-decoration:none;gap:var(--spacing-2)}.btn-primary{background-color:var(--primary-color);color:var(--white)}.btn-primary:hover:not(:disabled){background-color:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background-color:var(--gray-200);color:var(--gray-700)}.btn-secondary:hover:not(:disabled){background-color:var(--gray-300);transform:translateY(-1px)}.btn-success{background-color:var(--success-color);color:var(--white)}.btn-success:hover:not(:disabled){background-color:#059669;transform:translateY(-1px)}.btn-purple{background:linear-gradient(135deg,#667eea,#764ba2);color:var(--white)}.btn-purple:hover:not(:disabled){background:linear-gradient(135deg,#5568d3,#63408a);transform:translateY(-1px)}.btn-pink{background:linear-gradient(135deg,#f093fb,#f5576c);color:var(--white)}.btn-pink:hover:not(:disabled){background:linear-gradient(135deg,#da7de3,#d94859);transform:translateY(-1px)}.btn-danger{background-color:var(--danger-color);color:var(--white)}.btn-danger:hover:not(:disabled){background-color:#dc2626;transform:translateY(-1px)}.btn-sm{padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-xs)}.btn-lg{padding:var(--spacing-4) var(--spacing-6);font-size:var(--font-size-base)}.form-label{display:block;margin-bottom:var(--spacing-2);font-weight:500;color:var(--gray-700);font-size:var(--font-size-sm)}.form-control{width:100%;padding:var(--spacing-3);font-size:var(--font-size-base);border:1px solid var(--gray-300);border-radius:var(--border-radius-md);background-color:var(--white);transition:all var(--transition-fast)}.form-control:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.form-control:disabled{background-color:var(--gray-100);cursor:not-allowed}.card{background-color:var(--white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);overflow:hidden;transition:all var(--transition-normal)}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-header{padding:var(--spacing-6);border-bottom:1px solid var(--gray-200);background-color:var(--gray-50)}.card-body{padding:var(--spacing-6)}.card-footer{padding:var(--spacing-6);border-top:1px solid var(--gray-200);background-color:var(--gray-50)}.table{width:100%;border-collapse:collapse;background-color:var(--white);border-radius:var(--border-radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.table th,.table td{padding:var(--spacing-4);text-align:left;border-bottom:1px solid var(--gray-200)}.table th{background-color:var(--gray-50);font-weight:600;color:var(--gray-700);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.05em}.table tbody tr:hover{background-color:var(--gray-50)}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:all var(--transition-normal)}.modal.show{opacity:1;visibility:visible}.modal-content{background-color:var(--white);border-radius:var(--border-radius-xl);box-shadow:var(--shadow-xl);max-width:90vw;max-height:90vh;overflow:auto;transform:scale(.9);transition:transform var(--transition-normal)}.modal.show .modal-content{transform:scale(1)}.modal-header{padding:var(--spacing-6);border-bottom:1px solid var(--gray-200);display:flex;align-items:center;justify-content:space-between}.modal-title{font-size:var(--font-size-xl);font-weight:600;color:var(--gray-900);margin:0}.modal-close{background:none;border:none;font-size:var(--font-size-xl);cursor:pointer;color:var(--gray-400);padding:var(--spacing-2);border-radius:var(--border-radius-md);transition:all var(--transition-fast)}.modal-close:hover{color:var(--gray-600);background-color:var(--gray-100)}.modal-footer{padding:var(--spacing-6);border-top:1px solid var(--gray-200);display:flex;gap:var(--spacing-3);justify-content:flex-end}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:var(--primary-color)}.text-secondary{color:var(--secondary-color)}.text-success{color:var(--success-color)}.text-danger{color:var(--danger-color)}.text-warning{color:var(--warning-color)}.bg-primary{background-color:var(--primary-color)}.bg-secondary{background-color:var(--secondary-color)}.bg-success{background-color:var(--success-color)}.bg-danger{background-color:var(--danger-color)}.bg-warning{background-color:var(--warning-color)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing-1)}.mb-2{margin-bottom:var(--spacing-2)}.mb-3{margin-bottom:var(--spacing-3)}.mb-4{margin-bottom:var(--spacing-4)}.mb-5{margin-bottom:var(--spacing-5)}.mb-6{margin-bottom:var(--spacing-6)}.mt-0{margin-top:0}.mt-1{margin-top:var(--spacing-1)}.mt-2{margin-top:var(--spacing-2)}.mt-3{margin-top:var(--spacing-3)}.mt-4{margin-top:var(--spacing-4)}.mt-5{margin-top:var(--spacing-5)}.mt-6{margin-top:var(--spacing-6)}.p-0{padding:0}.p-1{padding:var(--spacing-1)}.p-2{padding:var(--spacing-2)}.p-3{padding:var(--spacing-3)}.p-4{padding:var(--spacing-4)}.p-5{padding:var(--spacing-5)}.p-6{padding:var(--spacing-6)}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.fade-in{animation:fadeIn .3s ease-out}.slide-in{animation:slideIn .3s ease-out}.pulse{animation:pulse 2s infinite}@media (max-width: 768px){.card-header,.card-body,.card-footer{padding:var(--spacing-4)}.modal-content{margin:var(--spacing-4);max-width:calc(100vw - 2rem)}.table{font-size:var(--font-size-sm)}.table th,.table td{padding:var(--spacing-2)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--gray-100);border-radius:var(--border-radius-md)}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--border-radius-md)}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.App{min-height:100vh;background-color:#f5f5f5}.app-container{display:flex;margin-top:80px}.app-main{flex:1;margin-left:60px;padding:20px;transition:margin-left .3s ease}.sidebar.expanded+.app-main{margin-left:280px}@media (max-width: 768px){.app-main{margin-left:60px}.sidebar.expanded+.app-main{margin-left:250px}}.App-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px 0;box-shadow:0 2px 4px #0000001a}.App-header h1{margin:0 0 20px;text-align:center;font-size:2.5rem;font-weight:300}.nav-tabs{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.nav-tab{color:#fff;text-decoration:none;padding:12px 20px;border-radius:25px;transition:all .3s ease;font-weight:500;background-color:#ffffff1a;border:1px solid rgba(255,255,255,.2)}.nav-tab:hover{background-color:#fff3;transform:translateY(-2px);text-decoration:none;color:#fff}.nav-tab.active{background-color:#ffffff4d;border-color:#fff6;box-shadow:0 4px 8px #0003}.App-main{padding:20px;max-width:1200px;margin:0 auto}@media (max-width: 768px){.App-header h1{font-size:2rem}.nav-tabs{flex-direction:column;align-items:center}.nav-tab{width:200px;text-align:center}}.header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:0;box-shadow:0 2px 10px #0000001a;position:sticky;top:0;z-index:1000}.header-content{display:flex;justify-content:space-between;align-items:center;padding:15px 30px;max-width:1200px;margin:0 auto;position:relative}.header-left{flex:1;text-align:left;margin-left:55px;padding-left:5px}.header-title{margin:0;font-size:1.8rem;font-weight:600;text-shadow:0 2px 4px rgba(0,0,0,.2)}.header-right{display:flex;align-items:center;flex-shrink:0}.user-info{display:flex;align-items:center;gap:20px}.user-details{display:flex;align-items:center;gap:4px;background:#ffffff1a;padding:4px 8px;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:.8rem}.user-icon{font-size:1.2rem}.user-name{font-weight:500;font-size:.9rem}.user-role{font-size:.85rem;opacity:.8;font-style:italic}.logout-btn{display:flex;align-items:center;gap:6px;background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2);padding:6px 12px;border-radius:16px;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.logout-btn:hover{background:#fff3;border-color:#ffffff4d;transform:translateY(-1px)}.logout-icon{font-size:1rem}.logout-text{font-size:.9rem}@media (max-width: 768px){.header-content{padding:12px 20px}.header-title{font-size:1.5rem}.user-info{gap:10px}.user-details{padding:6px 12px}.user-name{font-size:.9rem}.user-role{display:none}.logout-btn{padding:6px 12px}.logout-text{display:none}}@media (max-width: 480px){.header-content{padding:10px 15px}.header-title{font-size:1.3rem}.user-details{padding:5px 10px}.user-name{font-size:.85rem}}.sidebar{background:var(--white);box-shadow:var(--shadow-lg);height:100vh;position:fixed;left:0;top:0;z-index:1000;transition:all .3s ease;overflow:hidden;display:flex;flex-direction:column}.sidebar.collapsed{width:60px}.sidebar.expanded{width:280px}.sidebar-header{padding:var(--spacing-4);border-bottom:1px solid var(--border-color);text-align:center}.logo-container{margin-bottom:var(--spacing-3)}.filmara-logo-sidebar{display:flex;flex-direction:column;align-items:center;gap:4px}.logo-symbol{position:relative;width:32px;height:24px;display:flex;align-items:center;justify-content:center}.orca-element{position:absolute;left:0;width:16px;height:20px;background:linear-gradient(135deg,#8b4513,sienna);border-radius:8px 8px 4px 4px;transform:rotate(-15deg)}.orca-element:before{content:"";position:absolute;top:4px;left:4px;width:6px;height:6px;background:#fff;border-radius:50%}.fox-element{position:absolute;right:0;width:16px;height:20px;background:linear-gradient(135deg,#d2691e,peru);border-radius:8px 8px 4px 4px;transform:rotate(15deg)}.fox-element:before{content:"";position:absolute;top:4px;right:4px;width:6px;height:6px;background:#fff;border-radius:50%}.logo-text{font-size:10px;font-weight:700;color:#8b4513;text-align:center;margin:0;letter-spacing:.5px;line-height:1}.sidebar-title{font-size:12px;color:var(--text-muted);font-weight:500;opacity:0;transition:opacity .3s ease}.sidebar.expanded .sidebar-title{opacity:1}.sidebar-nav{padding:var(--spacing-4) 0;flex:1;overflow-y:auto;overflow-x:hidden;min-height:0}.nav-item{display:flex;align-items:center;padding:var(--spacing-3) var(--spacing-4);color:var(--text-color);text-decoration:none;transition:all .2s ease;border-left:3px solid transparent}.nav-item:hover{background:var(--background-hover);color:var(--primary-color)}.nav-item.active{background:var(--primary-color);color:var(--white);border-left-color:var(--accent-color)}.nav-icon{font-size:20px;min-width:24px;text-align:center;margin-right:var(--spacing-3)}.nav-label{font-size:14px;font-weight:500;white-space:nowrap;opacity:0;transition:opacity .3s ease;overflow:hidden;text-overflow:ellipsis}.sidebar.expanded .nav-label{opacity:1}.sidebar-footer{padding:var(--spacing-4);border-top:1px solid var(--border-color);text-align:center}.user-info{margin-bottom:10px}.user-role{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;background:#f5f5f5;border-radius:8px;font-size:.9rem;font-weight:500;opacity:0;transition:opacity .3s ease}.sidebar.expanded .user-role{opacity:1}.user-icon{font-size:1rem}.user-name{color:#333}.version-info{font-size:12px;color:var(--text-muted);opacity:0;transition:opacity .3s ease}.sidebar.expanded .version-info{opacity:1}.nav-group.admin-submenu,.nav-group.social-menu{margin-top:4px;border-top:1px solid var(--border-color)}.nav-group-toggle{width:100%;background:none;border:none;cursor:pointer;text-align:left;display:flex;align-items:center;font-family:inherit}.nav-chevron{margin-left:auto;font-size:10px;opacity:.7;transition:transform .2s ease}.nav-submenu{padding-left:12px;border-left:2px solid var(--primary-color);margin-left:24px;margin-bottom:4px}.nav-subitem{padding:var(--spacing-2) var(--spacing-4)!important;font-size:13px}.nav-subitem .nav-icon{font-size:16px}@media (max-width: 768px){.sidebar{width:60px}.sidebar.expanded{width:250px}}.login-container{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;padding:20px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.login-card{background:#fff;border-radius:20px;box-shadow:0 20px 40px #0000001a;overflow:hidden;max-width:500px;width:100%;display:flex;flex-direction:column}.logo-section{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);padding:40px 30px;text-align:center;border-bottom:1px solid #e0e0e0}.logo{display:flex;flex-direction:column;align-items:center}.logo-animals{position:relative;width:120px;height:120px;margin-bottom:20px}.orca{position:absolute;left:0;bottom:0;width:60px;height:60px;background:#2c1810;border-radius:50%/60% 60% 40% 40%;transform:rotate(-30deg)}.orca:before{content:"";position:absolute;top:12px;left:18px;width:10px;height:10px;background:#fff;border-radius:50%}.orca:after{content:"";position:absolute;top:20px;left:12px;width:15px;height:8px;background:#fff;border-radius:50%}.fox{position:absolute;right:0;top:0;width:60px;height:60px;background:#d2691e;border-radius:50%/60% 60% 40% 40%;transform:rotate(30deg)}.fox:before{content:"";position:absolute;top:8px;right:12px;width:8px;height:8px;background:#2c1810;border-radius:50%}.fox:after{content:"";position:absolute;top:6px;right:6px;width:10px;height:10px;background:#2c1810;border-radius:50%;transform:rotate(-30deg)}.logo-text{font-size:2.5rem;font-weight:700;color:#2c1810;margin:0 0 10px;letter-spacing:2px}.logo-subtitle{font-size:.9rem;color:#666;margin:0;font-weight:500}.login-section{padding:40px 30px}.login-section h2{text-align:center;color:#333;margin-bottom:30px;font-size:1.5rem;font-weight:600}.password-input{margin-bottom:20px}.password-field{width:100%;padding:15px;border:2px solid #e0e0e0;border-radius:10px;font-size:1rem;transition:border-color .3s ease;box-sizing:border-box}.password-field:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.error-message{background:#fee;color:#c33;padding:10px;border-radius:8px;margin-bottom:20px;text-align:center;font-size:.9rem}.login-buttons{display:flex;gap:15px;margin-bottom:30px}.login-btn{flex:1;padding:15px 20px;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px}.login-btn:disabled{opacity:.6;cursor:not-allowed}.admin-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.admin-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #667eea4d}.employee-btn{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.employee-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #f5576c4d}.btn-icon{font-size:1.2rem}.login-info{background:#f8f9fa;padding:20px;border-radius:10px;font-size:.9rem;color:#666}.login-info p{margin:5px 0}.login-info strong{color:#333}.maintenance-message{padding:40px 30px;text-align:center}.maintenance-message h2{color:#f59e0b;margin-bottom:20px;font-size:1.5rem}.maintenance-message p{margin:10px 0;color:#555;font-size:1.1rem}.maintenance-sub{margin-top:20px!important;color:#888!important;font-size:.95rem!important}.admin-access-link{display:inline-block;margin-top:25px;padding:10px 20px;background:transparent;border:2px solid #667eea;color:#667eea;border-radius:8px;font-size:.95rem;cursor:pointer;transition:all .3s ease}.admin-access-link:hover{background:#667eea;color:#fff}.loading-maintenance{padding:60px 30px;text-align:center;color:#666}@media (max-width: 600px){.login-card{margin:10px}.logo-section,.login-section{padding:30px 20px}.login-buttons{flex-direction:column}.logo-text{font-size:2rem}}.declaration-form{display:flex;flex-direction:column;gap:var(--spacing-4)}.type-selector{display:flex;gap:var(--spacing-3);margin-top:var(--spacing-2)}.type-option{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-4);border:2px solid var(--gray-200);border-radius:var(--border-radius-lg);background-color:var(--white);color:var(--gray-600);font-weight:500;cursor:pointer;transition:all var(--transition-fast);position:relative;overflow:hidden}.type-option:hover{border-color:var(--primary-color);color:var(--primary-color);transform:translateY(-2px);box-shadow:var(--shadow-md)}.type-option.active{border-color:var(--primary-color);background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%);color:var(--white);box-shadow:var(--shadow-lg)}.type-option.active:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.1) 50%,transparent 70%);animation:shimmer 2s infinite}.type-icon{width:20px;height:20px;transition:transform var(--transition-fast)}.type-option:hover .type-icon,.type-option.active .type-icon{transform:scale(1.1)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-4)}.info-box{display:flex;gap:var(--spacing-3);padding:var(--spacing-4);background:linear-gradient(135deg,var(--gray-50) 0%,var(--white) 100%);border:1px solid var(--gray-200);border-radius:var(--border-radius-lg);margin-top:var(--spacing-4)}.info-icon{width:24px;height:24px;color:var(--success-color);flex-shrink:0;margin-top:var(--spacing-1)}.info-content h4{margin:0 0 var(--spacing-2) 0;color:var(--gray-800);font-size:var(--font-size-sm);font-weight:600}.info-content ul{margin:0;padding-left:var(--spacing-4);color:var(--gray-600);font-size:var(--font-size-sm)}.info-content li{margin-bottom:var(--spacing-1)}.close-icon{width:24px;height:24px}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (max-width: 768px){.form-row{grid-template-columns:1fr;gap:var(--spacing-3)}.type-selector{flex-direction:column}.info-box{flex-direction:column;text-align:center}.info-icon{align-self:center}}.modal-content{animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 40px #00000026;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 0;border-bottom:1px solid #e5e7eb;margin-bottom:24px}.modal-title{font-size:1.5rem;font-weight:600;color:#1f2937;margin:0;display:flex;align-items:center;gap:8px}.modal-close{background:none;border:none;cursor:pointer;padding:8px;border-radius:6px;color:#6b7280;transition:all .2s ease}.modal-close:hover{background-color:#f3f4f6;color:#374151}.close-icon{width:20px;height:20px}.modal-body{padding:0 24px}.delay-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-label{font-weight:500;color:#374151;font-size:.875rem}.form-control{padding:12px 16px;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;transition:all .2s ease;background-color:#fff}.form-control:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-control:invalid{border-color:#ef4444}.duration-input{display:flex;align-items:center;gap:8px}.duration-input .form-control{flex:1}.duration-unit{color:#6b7280;font-size:.875rem;font-weight:500;white-space:nowrap}.duration-help{margin-top:4px}.duration-help small{color:#6b7280;font-size:.75rem}textarea.form-control{resize:vertical;min-height:80px}.info-box{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:8px;padding:16px;display:flex;gap:12px;margin-top:8px}.info-icon{flex-shrink:0;width:20px;height:20px;color:#0284c7;margin-top:2px}.info-content h4{margin:0 0 8px;font-size:.875rem;font-weight:600;color:#0c4a6e}.info-content ul{margin:0;padding-left:16px;color:#0c4a6e}.info-content li{font-size:.75rem;line-height:1.4;margin-bottom:4px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:24px;border-top:1px solid #e5e7eb;margin-top:24px}.btn{padding:12px 24px;border-radius:8px;font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s ease;border:none;display:flex;align-items:center;gap:8px;min-width:120px;justify-content:center}.btn-secondary{background-color:#f3f4f6;color:#374151;border:1px solid #d1d5db}.btn-secondary:hover:not(:disabled){background-color:#e5e7eb}.btn-primary{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;box-shadow:0 4px 6px #3b82f633}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1e40af);box-shadow:0 6px 8px #3b82f64d;transform:translateY(-1px)}.loading-spinner{width:16px;height:16px;animation:spin 1s linear infinite}@media (max-width: 640px){.modal-content{width:95%;margin:20px}.modal-header{padding:20px 20px 0}.modal-body{padding:0 20px}.modal-footer{padding:20px;flex-direction:column}.btn{width:100%}}.onboarding-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}.onboarding-modal{background:#fff;border-radius:12px;width:90%;max-width:900px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #0000004d;animation:slideUp .3s ease}.onboarding-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:2px solid #e9ecef;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:12px 12px 0 0}.onboarding-modal-header h2{margin:0;font-size:1.5rem;font-weight:600}.onboarding-modal-body{padding:1.5rem;overflow-y:auto;flex:1}.form-control:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-control-sm{padding:.5rem;font-size:.9rem}.tab:hover{color:#495057;background:#667eea0d}.tab.active{color:#667eea;border-bottom-color:#667eea}.onboarding-form,.offboarding-form{display:flex;flex-direction:column;gap:1rem}.onboarding-form h3,.offboarding-form h3{margin:0 0 1rem;color:#495057;font-size:1.25rem;border-bottom:2px solid #e9ecef;padding-bottom:.5rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#495057}.task-item{padding:1rem;border:2px solid #e9ecef;border-radius:8px;background:#fff;transition:all .2s}.task-item:hover{border-color:#667eea;box-shadow:0 2px 8px #667eea1a}.task-header{display:flex;align-items:center;gap:.5rem}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-size:1rem;color:#495057;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#667eea}.checkbox-label span{transition:all .2s}.task-done{text-decoration:line-through;color:#28a745;font-weight:600}.mutuelle-refusal{margin-top:.75rem;padding:.75rem;background:#fff3cd;border-left:3px solid #ffc107;border-radius:4px;display:flex;flex-direction:column;gap:.5rem}.task-details{margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem;padding-left:2rem}.loading{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite}.onboarding-modal-footer{padding:1.5rem;border-top:2px solid #e9ecef;display:flex;justify-content:flex-end;gap:1rem;background:#f8f9fa;border-radius:0 0 12px 12px}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}@media (max-width: 768px){.onboarding-modal{width:95%;max-height:90vh}.onboarding-modal-header h2{font-size:1.25rem}.task-details{padding-left:1rem}.tabs{overflow-x:auto}.tab{font-size:.9rem;padding:.5rem 1rem}}.uniform-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}.uniform-modal{background:#fff;border-radius:12px;width:90%;max-width:1000px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #0000004d;animation:slideUp .3s ease}.uniform-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:2px solid #e9ecef;background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;border-radius:12px 12px 0 0}.uniform-modal-header h2{margin:0;font-size:1.5rem;font-weight:600}.close-btn{background:#fff3;border:none;color:#fff;font-size:1.5rem;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.close-btn:hover{background:#ffffff4d;transform:scale(1.1)}.uniform-modal-body{padding:1.5rem;overflow-y:auto;flex:1}.employee-selector{margin-bottom:1.5rem;padding:1rem;background:#f8f9fa;border-radius:8px}.employee-selector label{display:block;margin-bottom:.5rem;font-weight:600;color:#495057}.form-control{width:100%;padding:.75rem;border:2px solid #dee2e6;border-radius:8px;font-size:1rem;transition:all .2s}.form-control:focus{outline:none;border-color:#f5576c;box-shadow:0 0 0 3px #f5576c1a}.tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid #e9ecef}.tab{padding:.75rem 1.5rem;background:transparent;border:none;border-bottom:3px solid transparent;color:#6c757d;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.tab:hover{color:#495057;background:#f5576c0d}.tab.active{color:#f5576c;border-bottom-color:#f5576c}.tab-content{animation:fadeIn .3s ease}.uniform-entry-form h3,.uniform-exit-form h3{margin:0 0 1rem;color:#495057;font-size:1.25rem;border-bottom:2px solid #e9ecef;padding-bottom:.5rem}.form-row{display:grid;grid-template-columns:2fr 1fr .5fr;gap:1rem;margin-bottom:1rem}.form-group label{margin-bottom:.5rem;font-weight:600;color:#495057;font-size:.9rem}.uniform-list{display:flex;flex-direction:column;gap:1rem}.uniform-item{border:2px solid #e9ecef;border-radius:8px;padding:1rem;background:#fff;transition:all .2s}.uniform-item:hover{border-color:#f5576c;box-shadow:0 2px 8px #f5576c1a}.uniform-item.returned{background:#f8f9fa;opacity:.7}.item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid #e9ecef}.item-type{font-weight:600;font-size:1.1rem;color:#495057}.item-status{padding:.25rem .75rem;border-radius:20px;font-size:.85rem;font-weight:600}.status-active{background:#d1ecf1;color:#0c5460}.status-returned{background:#d4edda;color:#155724}.item-details{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.detail-row{display:flex;gap:.5rem;color:#6c757d;font-size:.9rem}.detail-row strong{color:#495057;min-width:150px}.item-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.75rem;padding-top:.75rem;border-top:1px solid #e9ecef}.no-data,.no-pending{text-align:center;padding:2rem;color:#6c757d;background:#f8f9fa;border-radius:8px;margin:1rem 0}.info-message{padding:.75rem;background:#fff3cd;color:#856404;border-radius:8px;margin-bottom:1rem;font-weight:500}.pending-returns{margin-top:1rem}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem}.loading{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #f5576c;border-radius:50%;animation:spin 1s linear infinite}.uniform-modal-footer{padding:1.5rem;border-top:2px solid #e9ecef;display:flex;justify-content:flex-end;gap:1rem;background:#f8f9fa;border-radius:0 0 12px 12px}.btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #f5576c66}.btn-secondary:hover{background:#5a6268}.btn-sm{padding:.5rem 1rem;font-size:.875rem}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 768px){.uniform-modal{width:95%;max-height:95vh}.uniform-modal-header h2{font-size:1.25rem}.form-row{grid-template-columns:1fr}.tabs{overflow-x:auto}.tab{font-size:.9rem;padding:.5rem 1rem}.item-actions{flex-direction:column}}.employees{padding:var(--spacing-6);margin-left:280px;min-height:100vh;background-color:var(--gray-50)}.btn-icon{width:18px;height:18px;margin-right:var(--spacing-2)}.table{margin-top:var(--spacing-4)}.table th{background:linear-gradient(135deg,var(--gray-50) 0%,var(--white) 100%);font-weight:600;color:var(--gray-700);border-bottom:2px solid var(--gray-200)}.table tbody tr{transition:all var(--transition-fast)}.table tbody tr:hover{background-color:var(--gray-50);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.status-badge{display:inline-flex;align-items:center;padding:var(--spacing-1) var(--spacing-2);border-radius:var(--border-radius-md);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.status-active{background-color:var(--success-color);color:var(--white)}.status-inactive{background-color:var(--danger-color);color:var(--white)}.status-minor{background-color:var(--warning-color);color:var(--white);font-size:var(--font-size-xs)}.table .btn{font-size:var(--font-size-xs);padding:var(--spacing-2) var(--spacing-3);margin:var(--spacing-1)}@media (max-width: 1024px){.employees{margin-left:0;padding:var(--spacing-4)}.page-header{flex-direction:column;gap:var(--spacing-4);text-align:center}.header-actions{flex-direction:column;width:100%}.table{font-size:var(--font-size-sm)}.table th,.table td{padding:var(--spacing-2)}}@media (max-width: 768px){.employees{padding:var(--spacing-3)}.page-header{padding:var(--spacing-4)}.page-header h2{font-size:var(--font-size-xl)}.table{font-size:var(--font-size-xs)}.btn-icon{width:16px;height:16px}}.fade-in{animation:fadeIn .6s ease-out}.loading{width:40px;height:40px;border:4px solid var(--gray-200);border-top:4px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto var(--spacing-4)}.advance-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-4);margin-bottom:var(--spacing-6)}.stat-card{background:var(--white);padding:var(--spacing-4);border-radius:var(--border-radius-lg);text-align:center;box-shadow:var(--shadow-sm);border:1px solid var(--gray-200)}.stat-number{font-size:var(--font-size-2xl);font-weight:700;color:var(--primary-color);margin-bottom:var(--spacing-1)}.stat-label{font-size:var(--font-size-sm);color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px}.advance-requests-list{margin-bottom:var(--spacing-6)}.advance-requests-list h4{color:var(--gray-800);margin-bottom:var(--spacing-4);font-size:var(--font-size-lg)}.advance-request-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--border-radius-lg);padding:var(--spacing-4);margin-bottom:var(--spacing-3);box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;align-items:flex-start;transition:all .3s ease}.advance-request-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.request-info{flex:1}.employee-name{font-weight:600;color:var(--gray-900);font-size:var(--font-size-lg);margin-bottom:var(--spacing-1)}.request-amount{font-size:var(--font-size-xl);font-weight:700;color:var(--primary-color);margin-bottom:var(--spacing-1)}.request-month{color:var(--gray-600);font-size:var(--font-size-sm);margin-bottom:var(--spacing-1)}.request-date{color:var(--gray-500);font-size:var(--font-size-xs);margin-bottom:var(--spacing-2)}.request-comment{background:var(--gray-50);padding:var(--spacing-2);border-radius:var(--border-radius);font-size:var(--font-size-sm);color:var(--gray-700);border-left:3px solid var(--primary-color)}.request-actions{display:flex;flex-direction:column;gap:var(--spacing-2);margin-left:var(--spacing-4)}.btn-sm{padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-sm);min-width:100px}.no-requests{text-align:center;padding:var(--spacing-8);color:var(--gray-500);background:var(--gray-50);border-radius:var(--border-radius-lg);border:2px dashed var(--gray-300)}.advance-history{margin-top:var(--spacing-6)}.advance-history h4{color:var(--gray-800);margin-bottom:var(--spacing-4);font-size:var(--font-size-lg)}.advance-history-item{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--border-radius);padding:var(--spacing-3);margin-bottom:var(--spacing-2);box-shadow:var(--shadow-sm)}.history-info{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-2)}.history-info .employee-name{font-weight:600;color:var(--gray-900)}.history-info .amount{font-weight:600;color:var(--primary-color)}.status-approved{color:var(--success-color);font-weight:600}.status-rejected{color:var(--danger-color);font-weight:600}.history-info .date{color:var(--gray-500);font-size:var(--font-size-sm)}@media (max-width: 768px){.advance-request-card{flex-direction:column}.request-actions{margin-left:0;margin-top:var(--spacing-3);flex-direction:row;justify-content:space-between}.history-info{flex-direction:column;align-items:flex-start}.modal-actions{flex-direction:column}}.planning-print-header{display:none}.planning-print-toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-bottom:1rem}@media print{.planning-print-toolbar,.planning .card:first-of-type,.planning .btn,.planning input[type=time],.planning .loading{display:none!important}.planning-print-header{display:block;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid #333}.planning-print-header h1{margin:0;font-size:1.35rem}.planning-print-header .sub{margin:.35rem 0 0;font-size:.9rem;color:#444}.planning .card{box-shadow:none!important;border:none!important}.planning table{font-size:11px}.planning .planning-shift small{font-size:9px}}.sales-stats-container{padding:20px;max-width:1400px;margin:0 auto}.sales-stats-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding:20px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:15px;color:#fff;box-shadow:0 8px 32px #0000001a}.sales-stats-header h1{margin:0;font-size:2.5rem;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.period-selector{display:flex;gap:15px;align-items:center}.month-select,.year-select{padding:12px 20px;border:none;border-radius:10px;background:#ffffffe6;color:#333;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0000001a}.month-select:hover,.year-select:hover{background:#fff;transform:translateY(-2px);box-shadow:0 6px 20px #00000026}.refresh-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 20px;border-radius:10px;cursor:pointer;font-weight:600;transition:all .3s ease;box-shadow:0 4px 15px #667eea4d;font-size:1rem}.refresh-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66;background:linear-gradient(135deg,#5a6fd8,#6a4190)}.refresh-button:active{transform:translateY(0)}.sales-stats-content{display:flex;flex-direction:column;gap:30px}.sales-form-section{background:#fff;border-radius:15px;padding:25px;box-shadow:0 8px 32px #0000001a;border:1px solid rgba(255,255,255,.2)}.week-info-bar{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;margin-bottom:15px}.week-info-text{font-weight:600;color:#333;font-size:1rem}.weekly-objective-summary{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.weekly-performance-quick-summary{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:10px}.performance-pill{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;font-weight:600;font-size:.9rem;box-shadow:0 2px 8px #00000014;border:1px solid transparent}.performance-pill.success{background:#28a7451f;color:#276749;border-color:#28a7454d}.performance-pill.danger{background:#dc35451f;color:#c53030;border-color:#dc35454d}.performance-pill.info{background:#4299e11f;color:#2b6cb0;border-color:#4299e14d}.week-selector-block{min-width:260px}.week-selector-controls{display:flex;align-items:center;gap:8px}.week-nav-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:8px 12px;border-radius:8px;cursor:pointer;font-weight:600;font-size:.9rem;box-shadow:0 4px 12px #667eea40;transition:transform .2s ease,box-shadow .2s ease}.week-nav-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea59}.week-nav-button:active{transform:translateY(0)}.week-date-input{padding:8px 12px;border:2px solid #667eea;border-radius:8px;background:#f8f9ff;color:#2d3748;font-weight:600;font-size:.95rem;min-width:150px;box-shadow:0 3px 10px #667eea26;transition:border-color .2s ease,box-shadow .2s ease}.week-date-input:focus{outline:none;border-color:#5a67d8;box-shadow:0 0 0 3px #667eea33}.objective-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-weight:600;font-size:.85rem;letter-spacing:.3px;box-shadow:0 2px 6px #0000000f}.objective-pill-fid{background:#667eea1f;color:#4c51bf;border:1px solid rgba(102,126,234,.3)}.objective-pill-promo{background:#ff98001f;color:#b45309;border:1px solid rgba(255,152,0,.3)}.objective-pill-count{background:#28a7451f;color:#2f855a;border:1px solid rgba(40,167,69,.3)}.objective-pill-total-fid{background:#667eea33;color:#3c366b;border:1px solid rgba(102,126,234,.35)}.objective-pill-total-promo{background:#ff98002e;color:#7b341e;border:1px solid rgba(255,152,0,.35)}.presence-table{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 4px 15px #0000001a}.presence-table th{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:14px 10px;text-align:center;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.4px}.presence-header-name{text-align:left;padding-left:18px;min-width:220px}.presence-master-header{width:90px}.presence-day-header{min-width:90px}.presence-table td{padding:12px 10px;text-align:center;border-bottom:1px solid #f0f2f5;background:#fff}.presence-table tr:nth-child(2n) td{background:#fafaff}.presence-name-cell{text-align:left;font-weight:600;color:#333;padding-left:18px}.presence-employee-name{font-size:1rem;margin-bottom:6px}.employee-weekly-targets{display:flex;flex-wrap:wrap;gap:8px}.target-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:.75rem;font-weight:600;letter-spacing:.2px}.target-fid{background:#667eea1a;color:#4c51bf}.target-promo{background:#ff98001f;color:#c05621}.target-days{background:#28a7451f;color:#2f855a}.target-result{background:#4299e11f;color:#2b6cb0}.target-result.success{background:#38a1692e;color:#22543d}.target-result.danger{background:#dc35452e;color:#822727}.presence-master-cell input,.day-checkbox input{width:20px;height:20px;cursor:pointer;accent-color:#667eea}.presence-day-wrapper{display:flex;flex-direction:column;align-items:center;gap:4px}.day-checkbox input{width:22px;height:22px}.day-metrics{font-size:.7rem;font-weight:600;padding:2px 6px;border-radius:6px;background:#7180961f;color:#4a5568;min-width:46px}.day-metrics.success{background:#48bb7833;color:#22543d}.day-metrics.danger{background:#e53e3e33;color:#822727}.day-metrics.info{background:#4299e133;color:#1d4f91}.day-metrics.neutral{background:#a0aec026;color:#4a5568}.presence-table tr:hover td{background:#eef2ff}.sales-form-section h2{color:#333;margin-bottom:20px;font-size:1.8rem;font-weight:600;border-bottom:3px solid #667eea;padding-bottom:10px}.message-form{display:flex;flex-direction:column;gap:20px}.message-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.message-form .form-group{display:flex;flex-direction:column;gap:8px}.message-form .form-group label{font-weight:600;color:#2d3748}.message-form input[type=text],.message-form input[type=date],.message-form textarea{padding:10px 12px;border-radius:8px;border:2px solid #e1e5e9;font-size:.95rem;background:#f9fafc;transition:border-color .3s ease,box-shadow .3s ease}.message-form textarea{resize:vertical;min-height:120px}.message-form input:focus,.message-form textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1f;background:#fff}.recipient-options{display:flex;flex-direction:column;gap:8px;font-size:.95rem}.recipient-options label{display:flex;align-items:center;gap:8px;font-weight:500}.recipient-select{max-height:180px;overflow-y:auto;border:1px solid #e2e8f0;border-radius:10px;padding:12px;background:#f8fafc;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.recipient-item{display:flex;align-items:center;gap:8px;font-size:.9rem;color:#2d3748}.inline-checkbox{display:flex;align-items:center;gap:8px;margin-top:6px;font-size:.9rem;color:#4a5568}.message-form-actions{display:flex;gap:12px;flex-wrap:wrap}.btn-primary,.btn-secondary{padding:10px 18px;border-radius:8px;font-weight:600;cursor:pointer;border:none;transition:transform .2s ease,box-shadow .2s ease}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d}.btn-secondary{background:#667eea1f;color:#4c51bf;border:1px solid rgba(102,126,234,.25)}.btn-primary:hover,.btn-secondary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea40}.message-list{display:flex;flex-direction:column;gap:15px;margin-top:15px}.message-empty{padding:18px;border:2px dashed #cbd5f5;border-radius:12px;color:#4c51bf;background:#667eea14;text-align:center;font-weight:500}.message-card{border:1px solid rgba(102,126,234,.2);border-radius:12px;padding:16px;background:#f8f9ff;box-shadow:0 6px 20px #667eea1f;display:flex;flex-direction:column;gap:10px}.message-card h3{margin:0;font-size:1.1rem;color:#2d3748}.message-card-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.message-meta{display:flex;flex-wrap:wrap;gap:10px;color:#4a5568;font-size:.85rem}.message-content{margin:0;color:#2d3748;line-height:1.5;white-space:pre-wrap}.message-note{font-size:.8rem;color:#2b6cb0;background:#4299e126;padding:6px 10px;border-radius:8px;align-self:flex-start}.message-delete{background:none;border:none;font-size:1.1rem;cursor:pointer;color:#dc3545;transition:transform .2s ease}.message-delete:hover{transform:scale(1.1)}.sales-form-table{width:100%;border-collapse:collapse;margin-bottom:20px;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 4px 15px #0000001a}.sales-form-table th{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:15px 10px;text-align:center;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.sales-form-table td{padding:12px 8px;text-align:center;border-bottom:1px solid #eee;vertical-align:middle}.sales-form-table tr:hover{background-color:#f8f9ff}.employee-name{font-weight:600;color:#333;text-align:left;padding-left:15px}.sales-form-table input{width:80px;padding:8px 10px;border:2px solid #e1e5e9;border-radius:8px;text-align:center;font-size:.9rem;transition:all .3s ease;background:#f8f9fa}.sales-form-table input:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 3px #667eea1a}.sales-form-table input:hover{border-color:#667eea;background:#fff}.score-cell{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;font-weight:700;border-radius:8px;padding:8px 12px;margin:2px}.form-actions{text-align:center;margin-top:20px;display:flex;gap:15px;justify-content:center;flex-wrap:wrap}.save-button{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;border:none;padding:15px 40px;border-radius:25px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 6px 20px #28a7454d;text-transform:uppercase;letter-spacing:1px}.save-button:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 25px #28a74566}.save-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.delete-button{background:linear-gradient(135deg,#dc3545,#c82333);color:#fff;border:none;padding:15px 40px;border-radius:25px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 6px 20px #dc35454d;text-transform:uppercase;letter-spacing:1px}.delete-button:hover{transform:translateY(-3px);box-shadow:0 8px 25px #dc354566;background:linear-gradient(135deg,#c82333,#bd2130)}.delete-button:active{transform:translateY(0)}.actions-cell{text-align:center;padding:8px 4px}.delete-employee-button{background:linear-gradient(135deg,#dc3545,#c82333);color:#fff;border:none;padding:6px 10px;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .3s ease;box-shadow:0 2px 8px #dc35454d;min-width:40px}.delete-employee-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #dc354566;background:linear-gradient(135deg,#c82333,#bd2130)}.delete-employee-button:active{transform:translateY(0)}.ranking-section{background:#fff;border-radius:15px;padding:25px;box-shadow:0 8px 32px #0000001a;border:1px solid rgba(255,255,255,.2)}.ranking-section h2{color:#333;margin-bottom:20px;font-size:1.8rem;font-weight:600;border-bottom:3px solid #ffc107;padding-bottom:10px}.ranking-header{margin-bottom:20px}.ranking-selectors{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.selector-group{display:flex;align-items:center;gap:10px}.selector-group label{font-weight:600;color:#333;font-size:.9rem}.month-select-ranking,.year-select-ranking{padding:8px 15px;border:2px solid #e1e5e9;border-radius:8px;background:#f8f9fa;color:#333;font-size:.9rem;cursor:pointer;transition:all .3s ease}.month-select-ranking:hover,.year-select-ranking:hover{border-color:#ffc107;background:#fff}.month-select-ranking:focus,.year-select-ranking:focus{outline:none;border-color:#ffc107;box-shadow:0 0 0 3px #ffc1071a}.ranking-table table{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 4px 15px #0000001a}.ranking-table th{background:linear-gradient(135deg,#ffc107,#ff8c00);color:#fff;padding:15px 10px;text-align:center;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.ranking-table td{padding:12px 8px;text-align:center;border-bottom:1px solid #eee;vertical-align:middle}.ranking-table tr:hover{background-color:#fff8e1}.ranking-table tr.top-three{background:linear-gradient(135deg,#fff8e1,#fff3cd)}.ranking-table tr.top-three:hover{background:linear-gradient(135deg,#fff3cd,#ffeaa7)}.rank{font-weight:700;color:#ffc107;font-size:1.1rem}.score{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;border-radius:8px;padding:8px 12px;margin:2px}.positive{color:#28a745;font-weight:600}.negative{color:#dc3545;font-weight:600}.annual-total{margin-top:25px;padding:20px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:12px;border:2px solid #ffc107}.annual-total h3{color:#333;margin:0 0 15px;font-size:1.3rem;font-weight:600;text-align:center;border-bottom:2px solid #ffc107;padding-bottom:10px}.total-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px}.total-item{display:flex;justify-content:space-between;align-items:center;padding:10px 15px;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.total-label{font-weight:600;color:#333;font-size:.9rem}.total-value{font-weight:700;font-size:1.1rem;color:#28a745}.total-value.positive{color:#28a745}.total-value.negative{color:#dc3545}.monthly-comparison-section{background:#fff;border-radius:15px;padding:25px;box-shadow:0 8px 32px #0000001a;border:1px solid rgba(255,255,255,.2)}.monthly-comparison-section h2{color:#333;margin-bottom:20px;font-size:1.8rem;font-weight:600;border-bottom:3px solid #17a2b8;padding-bottom:10px}.monthly-comparison-header{margin-bottom:20px;display:flex;justify-content:flex-end}.year-selector{display:flex;align-items:center;gap:10px}.year-selector label{font-weight:600;color:#333;font-size:.9rem}.year-select-compare{padding:8px 15px;border:2px solid #e1e5e9;border-radius:8px;background:#f8f9fa;color:#333;font-size:.9rem;cursor:pointer;transition:all .3s ease}.year-select-compare:hover{border-color:#17a2b8;background:#fff}.year-select-compare:focus{outline:none;border-color:#17a2b8;box-shadow:0 0 0 3px #17a2b81a}.monthly-stats table{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 4px 15px #0000001a}.monthly-stats th{background:linear-gradient(135deg,#17a2b8,#138496);color:#fff;padding:15px 10px;text-align:center;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.monthly-stats td{padding:12px 8px;text-align:center;border-bottom:1px solid #eee;vertical-align:middle}.monthly-stats tr:hover{background-color:#e3f2fd}.monthly-stats tr.current-month{background:linear-gradient(135deg,#e3f2fd,#bbdefb);font-weight:600}.monthly-stats tr.current-month:hover{background:linear-gradient(135deg,#bbdefb,#90caf9)}@media (max-width: 1200px){.sales-stats-header{flex-direction:column;gap:20px;text-align:center}.sales-stats-header h1{font-size:2rem}.period-selector{justify-content:center}}@media (max-width: 768px){.sales-stats-container{padding:10px}.sales-form-table{font-size:.8rem}.sales-form-table input{width:60px;padding:6px 8px;font-size:.8rem}.sales-stats-header h1{font-size:1.5rem}.period-selector{flex-direction:column;gap:10px}.month-select,.year-select{width:100%;max-width:200px}}@media (max-width: 480px){.sales-form-table{font-size:.7rem}.sales-form-table input{width:50px;padding:4px 6px;font-size:.7rem}.sales-stats-header h1{font-size:1.3rem}}.absence-status{padding:var(--spacing-6);background-color:var(--gray-50);min-height:100vh}.status-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-6);padding:var(--spacing-6);background:var(--white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200)}.status-header h2{margin:0;color:var(--gray-900);font-size:var(--font-size-2xl);font-weight:700}.period-selector{display:flex;gap:var(--spacing-2);background-color:var(--gray-100);border-radius:var(--border-radius-lg);padding:var(--spacing-1)}.period-btn{padding:var(--spacing-2) var(--spacing-4);border:none;background:none;border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-weight:500;color:var(--gray-600);cursor:pointer;transition:all var(--transition-fast)}.period-btn:hover{color:var(--gray-900);background-color:var(--white)}.period-btn.active{background-color:var(--primary-color);color:var(--white);box-shadow:var(--shadow-sm)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-4);margin-bottom:var(--spacing-8)}.stat-card{background:var(--white);border-radius:var(--border-radius-lg);padding:var(--spacing-6);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);transition:all var(--transition-normal);position:relative;overflow:hidden}.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary-color),var(--primary-hover))}.stat-card.total:before{background:linear-gradient(90deg,var(--primary-color),var(--primary-hover))}.stat-card.maladie:before{background:linear-gradient(90deg,var(--danger-color),#dc2626)}.stat-card.absence:before{background:linear-gradient(90deg,var(--warning-color),#d97706)}.stat-card.retard:before{background:linear-gradient(90deg,var(--secondary-color),#475569)}.stat-icon{width:48px;height:48px;border-radius:var(--border-radius-lg);display:flex;align-items:center;justify-content:center;margin-bottom:var(--spacing-4);color:var(--white)}.stat-card.total .stat-icon{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover))}.stat-card.maladie .stat-icon{background:linear-gradient(135deg,var(--danger-color),#dc2626)}.stat-card.absence .stat-icon{background:linear-gradient(135deg,var(--warning-color),#d97706)}.stat-card.retard .stat-icon{background:linear-gradient(135deg,var(--secondary-color),#475569)}.stat-icon svg{width:24px;height:24px}.stat-content{text-align:center}.stat-value{font-size:var(--font-size-3xl);font-weight:700;color:var(--gray-900);margin:0 0 var(--spacing-2) 0}.stat-label{font-size:var(--font-size-base);font-weight:600;color:var(--gray-700);margin:0 0 var(--spacing-1) 0}.stat-period{font-size:var(--font-size-sm);color:var(--gray-500);margin:0}.employee-details{background:var(--white);border-radius:var(--border-radius-lg);padding:var(--spacing-6);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200)}.employee-details h3{margin:0 0 var(--spacing-6) 0;color:var(--gray-900);font-size:var(--font-size-xl);font-weight:600}.employee-stats{display:grid;gap:var(--spacing-4)}.employee-stat-card{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-4);background-color:var(--gray-50);border-radius:var(--border-radius-lg);border:1px solid var(--gray-200);transition:all var(--transition-fast)}.employee-stat-card:hover{background-color:var(--white);box-shadow:var(--shadow-sm);transform:translate(4px)}.employee-info{display:flex;flex-direction:column;gap:var(--spacing-1)}.employee-name{margin:0;font-size:var(--font-size-lg);font-weight:600;color:var(--gray-900)}.employee-role{font-size:var(--font-size-sm);color:var(--gray-600);font-weight:500}.employee-stats-grid{display:flex;gap:var(--spacing-4)}.mini-stat{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-1);padding:var(--spacing-2);border-radius:var(--border-radius-md);background-color:var(--white);border:1px solid var(--gray-200);min-width:60px}.mini-stat-value{font-size:var(--font-size-lg);font-weight:700;color:var(--gray-900)}.mini-stat-label{font-size:var(--font-size-xs);color:var(--gray-600);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.mini-stat.maladie{border-color:var(--danger-color);background-color:#ef44441a}.mini-stat.absence{border-color:var(--warning-color);background-color:#f59e0b1a}.mini-stat.retard{border-color:var(--secondary-color);background-color:#64748b1a}.no-data{text-align:center;padding:var(--spacing-12);color:var(--gray-500)}.no-data-icon{width:64px;height:64px;margin-bottom:var(--spacing-4);opacity:.5}.no-data p{font-size:var(--font-size-lg);margin:0}@media (max-width: 1024px){.absence-status{padding:var(--spacing-4)}.status-header{flex-direction:column;gap:var(--spacing-4);text-align:center}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-3)}.employee-stat-card{flex-direction:column;gap:var(--spacing-4);text-align:center}.employee-stats-grid{justify-content:center}}@media (max-width: 768px){.stats-grid{grid-template-columns:1fr}.stat-card{padding:var(--spacing-4)}.stat-value{font-size:var(--font-size-2xl)}.employee-stats-grid{flex-wrap:wrap;justify-content:center}.mini-stat{min-width:50px}}.stat-card{animation:fadeInUp .6s ease-out}.stat-card:nth-child(1){animation-delay:.1s}.stat-card:nth-child(2){animation-delay:.2s}.stat-card:nth-child(3){animation-delay:.3s}.stat-card:nth-child(4){animation-delay:.4s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.absence-status-page{margin-left:280px;min-height:100vh;background-color:var(--gray-50)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:var(--spacing-6)}.loading-spinner{width:48px;height:48px;border:4px solid var(--gray-200);border-top:4px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--spacing-4)}.loading-container p{color:var(--gray-600);font-size:var(--font-size-lg);margin:0}.tabs-container{background:#fff;border-bottom:1px solid #e5e7eb;padding:0 24px;margin-bottom:24px}.tabs-header{display:flex;gap:8px;overflow-x:auto;padding:8px 0}.tab-button{background:none;border:none;padding:12px 20px;border-radius:8px 8px 0 0;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s ease;white-space:nowrap;display:flex;align-items:center;gap:8px;font-size:.875rem;border-bottom:2px solid transparent}.tab-button:hover{background-color:#f3f4f6;color:#374151}.tab-button.active{background-color:#3b82f6;color:#fff;border-bottom-color:#3b82f6}.tab-button.active:hover{background-color:#2563eb}.tab-content{padding:0 24px 24px}.declaration-section{background:#fff;border-radius:12px;padding:32px;box-shadow:0 1px 3px #0000001a;text-align:center}.declaration-header h2{font-size:1.5rem;font-weight:600;color:#1f2937;margin:0 0 8px}.declaration-header p{color:#6b7280;margin:0 0 24px;font-size:1rem}.declaration-btn{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;padding:16px 32px;border-radius:8px;font-weight:500;font-size:1rem;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:12px;box-shadow:0 4px 6px #3b82f633}.declaration-btn:hover{background:linear-gradient(135deg,#2563eb,#1e40af);box-shadow:0 6px 8px #3b82f64d;transform:translateY(-1px)}.btn-icon{width:20px;height:20px}@media (max-width: 1024px){.absence-status-page{margin-left:0}.tabs-container{padding:0 16px}.tab-content{padding:0 16px 16px}.declaration-section{padding:24px}}@media (max-width: 640px){.tabs-header{flex-direction:column;gap:4px}.tab-button{border-radius:8px;border-bottom:none;border-right:2px solid transparent}.tab-button.active{border-right-color:#3b82f6;border-bottom-color:transparent}.declaration-btn{width:100%;justify-content:center}}.meal-expenses{padding:1.5rem}.meal-expenses .page-header{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:1.5rem;gap:.75rem}.meal-expenses .header-left{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.meal-expenses .page-header h2{margin:0;color:#2c3e50;font-size:1.8rem}.meal-expenses .header-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.meal-expenses .date-selector{display:flex;gap:.75rem;align-items:center}.meal-expenses .date-selector select{padding:.5rem;border:1px solid #ddd;border-radius:4px;background:#fff;font-size:.9rem;min-width:120px;width:auto}.meal-expenses-table{width:100%;border-collapse:collapse;background:#fff;min-width:800px}.meal-expenses-table th{background:#f8f9fa;padding:.75rem .5rem;text-align:center;font-weight:600;color:#495057;border-bottom:2px solid #dee2e6;position:sticky;top:0;z-index:10}.meal-expenses-table td{padding:.5rem;text-align:center;border-bottom:1px solid #e9ecef;vertical-align:middle}.employee-column{min-width:150px;text-align:left!important;position:sticky;left:0;background:#f8f9fa;z-index:5}.employee-cell{text-align:left!important;background:#fff;position:sticky;left:0;z-index:1;border-right:2px solid #dee2e6;position:relative;min-width:200px;padding:.75rem .5rem!important;display:flex;align-items:center;justify-content:space-between}.employee-cell .employee-name{flex:1;margin-right:15px;word-wrap:break-word;overflow-wrap:break-word}.employee-cell .employee-total{flex-shrink:0;font-weight:700;color:#28a745;font-size:.9rem;white-space:nowrap}.day-column{min-width:60px;font-size:.85rem}.day-cell{padding:.25rem!important}.total-column{min-width:80px;background:#e3f2fd;font-weight:600}.expense-input{width:100%;padding:.25rem;border:1px solid #ddd;border-radius:3px;text-align:center;font-size:.85rem;background:#fff;transition:border-color .2s,box-shadow .2s;cursor:text;pointer-events:auto}.expense-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.expense-input:hover{border-color:#007bff}@media (max-width: 768px){.meal-expenses{padding:1rem}.meal-expenses .page-header h2{font-size:1.6rem}.meal-expenses .header-left{flex-direction:column;align-items:flex-start}.meal-expenses .header-actions{width:100%}.meal-expenses .date-selector{flex-direction:column;gap:.5rem;width:100%}.meal-expenses .date-selector select{width:100%}.meal-expenses-table{font-size:.8rem}.day-column{min-width:50px}.expense-input{font-size:.75rem;padding:.2rem}}.expense-input:not(:focus){transition:background-color .3s}.expense-input:not(:focus):not([value="0"]):not([value=""]){background-color:#e8f5e8}.total-cell strong{color:#1976d2;font-size:1rem}.day-column{background:linear-gradient(135deg,#f8f9fa,#e9ecef)}.meal-expenses-table tbody tr:hover,.meal-expenses-table tbody tr:hover .employee-cell{background-color:#f8f9fa}.meal-expenses .btn{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s;display:inline-flex;align-items:center;gap:.5rem}.meal-expenses .btn-success{background:#28a745;color:#fff}.meal-expenses .btn-success:hover:not(:disabled){background:#218838;transform:translateY(-1px)}.meal-expenses .btn-success:disabled{background:#6c757d;cursor:not-allowed;transform:none}.km-expenses{padding:1.5rem}.km-expenses .page-header{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:1.5rem;gap:.75rem}.km-expenses .header-left{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.km-expenses .page-header h2{margin:0;color:#2c3e50;font-size:1.8rem}.km-expenses .header-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:flex-start}.km-expenses .date-selector{display:flex;gap:.75rem;align-items:center}.km-expenses .date-selector select{padding:.5rem;border:1px solid #ddd;border-radius:4px;background:#fff;font-size:.9rem}.km-expenses-table{width:100%;border-collapse:collapse;background:#fff;min-width:1000px}.km-expenses-table th{background:#f8f9fa;padding:.75rem .5rem;text-align:center;font-weight:600;color:#495057;border-bottom:2px solid #dee2e6;position:sticky;top:0;z-index:10}.km-expenses-table td{padding:.5rem;text-align:center;border-bottom:1px solid #e9ecef;vertical-align:middle}.employee-column{min-width:150px;max-width:250px;width:auto;text-align:left!important;position:sticky;left:0;background:#f8f9fa;z-index:5}.employee-cell{text-align:left!important;background:#fff;position:sticky;left:0;z-index:1;border-right:2px solid #dee2e6;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;padding:.75rem .5rem!important;line-height:1.4;max-width:250px;min-width:150px;white-space:normal;overflow:visible}.param-column{min-width:100px;font-size:.8rem}.param-header{display:flex;flex-direction:column;gap:2px}.param-name{font-weight:600;color:#495057;font-size:.8rem}.param-km{font-size:.7rem;color:#6c757d;font-weight:400}.param-cell{padding:.25rem!important;vertical-align:top;white-space:nowrap;overflow:visible;min-width:100px}.count-input{width:100%;padding:.25rem;border:1px solid #ddd;border-radius:3px;text-align:center;font-size:.85rem;background:#fff;transition:border-color .2s,box-shadow .2s;margin-bottom:.25rem;cursor:text;pointer-events:auto}.count-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.count-input:hover{border-color:#007bff}.param-total{font-size:.7rem;color:#28a745;font-weight:600;background:#f8f9fa;padding:.1rem .25rem;border-radius:3px}.total-column{min-width:100px;background:#e3f2fd;font-weight:600}.total-cell{background:#e3f2fd;font-weight:600;color:#1976d2;border-left:2px solid #1976d2}@media (max-width: 768px){.km-expenses{padding:1rem}.km-expenses .page-header h2{font-size:1.5rem}.km-expenses .header-left{flex-direction:column;align-items:flex-start;gap:.75rem}.km-expenses .header-actions{width:100%}.km-expenses .date-selector{width:100%;flex-direction:column;gap:.5rem;align-items:stretch}.km-expenses .date-selector select{width:100%}.km-expenses-table{font-size:.8rem}.param-column{min-width:80px}.count-input{font-size:.75rem;padding:.2rem}}@media (min-width: 992px){.km-expenses .page-header{flex-direction:row;align-items:center;justify-content:flex-start}.km-expenses .header-left{flex-direction:row;align-items:center}}.count-input:not(:focus){transition:background-color .3s}.count-input:not(:focus):not([value="0"]):not([value=""]){background-color:#e8f5e8}.km-expenses .btn{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s;display:inline-flex;align-items:center;gap:.5rem}.km-expenses .btn-success{background:#28a745;color:#fff}.km-expenses .btn-success:hover:not(:disabled){background:#218838;transform:translateY(-1px)}.km-expenses .btn-success:disabled{background:#6c757d;cursor:not-allowed;transform:none}.km-expenses .btn-warning{background:#ffc107;color:#212529}.km-expenses .btn-warning:hover:not(:disabled){background:#e0a800;transform:translateY(-1px)}.km-expenses .btn-warning:disabled{background:#6c757d;cursor:not-allowed;transform:none}.parameters{padding:1.5rem}.parameters-info{background:#f8f9fa;padding:1rem;border-radius:8px;margin-bottom:1.5rem;border-left:4px solid #007bff}.parameters-info p{margin:.5rem 0;color:#495057}.table-container{overflow-x:auto;border-radius:8px;border:1px solid #e0e0e0}.parameters-table{width:100%;border-collapse:collapse;background:#fff;min-width:800px}.parameters-table th{background:#f8f9fa;padding:.75rem .5rem;text-align:center;font-weight:600;color:#495057;border-bottom:2px solid #dee2e6}.parameters-table td{padding:.5rem;text-align:center;border-bottom:1px solid #e9ecef;vertical-align:middle}.row-header{background:#e3f2fd!important;font-weight:600;color:#1976d2;min-width:100px;text-align:left!important;position:sticky;left:0;z-index:10}.param-header{min-width:80px;font-size:.9rem;background:linear-gradient(135deg,#f8f9fa,#e9ecef)}.param-numbers-row{background:#f8f9fa}.param-numbers-row td{background:#f8f9fa;font-weight:600;color:#495057}.param-display-row{background:#fff}.param-values-row,.param-values-row td{background:#f0f8ff}.row-label{background:#e3f2fd!important;font-weight:600;color:#1976d2;text-align:left!important;position:sticky;left:0;z-index:5;border-right:2px solid #1976d2}.param-input{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:4px;text-align:center;font-size:.9rem;background:#fff;transition:border-color .2s,box-shadow .2s;cursor:text;pointer-events:auto}.param-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.password-section{max-width:600px;margin:0 auto}.password-item{margin-bottom:1.5rem}.password-item label{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-weight:600;color:#333}.password-icon{font-size:1.2rem}.password-input{width:100%;padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .3s ease;cursor:text;pointer-events:auto}.password-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.password-actions{text-align:center;margin-top:2rem}.password-actions .btn{padding:12px 24px;font-size:1rem;font-weight:600}.permissions-section{max-width:800px;margin:0 auto}.permissions-table{border:1px solid #e0e0e0;border-radius:8px;overflow:hidden;margin-bottom:1.5rem}.permissions-header{display:grid;grid-template-columns:2fr 1fr 1fr;background-color:#f8f9fa;font-weight:600;color:#333;border-bottom:1px solid #e0e0e0}.permission-row{display:grid;grid-template-columns:2fr 1fr 1fr;border-bottom:1px solid #e0e0e0;transition:background-color .2s ease}.permission-row:hover{background-color:#f8f9fa}.permission-row:last-child{border-bottom:none}.permission-menu,.permission-admin,.permission-employee{padding:12px 16px;display:flex;align-items:center;gap:.5rem}.permission-menu{font-weight:500}.permission-icon{font-size:1.1rem}.permission-admin,.permission-employee{justify-content:center}.permission-admin input[type=checkbox],.permission-employee input[type=checkbox]{width:18px;height:18px;cursor:pointer}.permission-admin input[type=checkbox]:disabled{cursor:not-allowed;opacity:.6}.permissions-actions{text-align:center}.permissions-actions .btn{padding:12px 24px;font-size:1rem;font-weight:600}.parameters-actions{text-align:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e0e0e0}.parameters-actions .btn{padding:12px 24px;font-size:1rem;font-weight:600}.site-section{max-width:600px;margin:0 auto}.site-item{margin-bottom:1.5rem}.site-item label{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-weight:600;color:#333}.site-icon{font-size:1.2rem}.site-input{width:100%;padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .3s ease;cursor:text;pointer-events:auto}.site-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.site-actions{text-align:center;margin-top:2rem}.site-actions .btn{padding:12px 24px;font-size:1rem;font-weight:600}.param-input:hover{border-color:#007bff}.param-number{font-weight:600;color:#495057;background:#f8f9fa}.param-display{background:#fff}.param-value{background:#f0f8ff}.parameters-list{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.parameter-item{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:#f8f9fa;border-radius:8px;border-left:4px solid #007bff;transition:all .2s ease}.parameter-item:hover{background:#e9ecef;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.parameter-info{display:flex;align-items:center;gap:1rem;flex:1}.parameter-number{font-weight:600;color:#007bff;min-width:30px;font-size:1.1rem}.parameter-name-input{flex:1;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem;background:#fff;transition:border-color .2s,box-shadow .2s}.parameter-name-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.parameter-value{display:flex;align-items:center;gap:.5rem}.parameter-km-input{width:80px;padding:.5rem;border:1px solid #ddd;border-radius:4px;text-align:center;font-size:.9rem;background:#fff;transition:border-color .2s,box-shadow .2s}.parameter-km-input:focus{outline:none;border-color:#28a745;box-shadow:0 0 0 2px #28a74540}.km-unit{font-weight:600;color:#28a745;font-size:.9rem}@media (max-width: 768px){.parameters{padding:1rem}.page-header{flex-direction:column;align-items:stretch}.page-header h2{font-size:1.5rem;margin-bottom:1rem}.header-actions{justify-content:center}.parameters-table{font-size:.8rem}.param-header{min-width:60px}.param-input{font-size:.8rem;padding:.4rem}.parameters-preview{grid-template-columns:1fr}}.param-input:not(:focus){transition:background-color .3s}.param-input:not(:focus):not([value="0"]):not([value=""]){background-color:#e8f5e8}.btn-success:disabled{background:#6c757d;cursor:not-allowed;transform:none}.database-stats{margin-bottom:2rem}.database-stats h4{color:#2c3e50;margin-bottom:1rem;font-size:1.2rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.stat-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f8f9fa;border-radius:6px;border-left:4px solid #007bff}.stat-label{font-weight:500;color:#495057;text-transform:capitalize}.stat-value{font-weight:700;color:#007bff;font-size:1.1rem}.database-actions h4{color:#2c3e50;margin-bottom:1rem;font-size:1.2rem}.action-buttons{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.import-section{position:relative}.import-section label{cursor:pointer;display:inline-block;padding:.75rem 1.5rem;background:#ffc107;color:#212529;border:none;border-radius:6px;font-weight:500;transition:all .2s ease;text-decoration:none}.import-section label:hover:not(.disabled){background:#e0a800;transform:translateY(-1px)}.import-section label.disabled{background:#6c757d;cursor:not-allowed;transform:none}.database-warning{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;padding:1.5rem;margin-top:1rem}.database-warning h5{color:#856404;margin-bottom:1rem;font-size:1.1rem}.database-warning ul{margin:0;padding-left:1.5rem;color:#856404}.database-warning li{margin-bottom:.5rem;line-height:1.4}.database-warning li:last-child{margin-bottom:0}.accountant-email-section{padding:20px 0}.email-config{display:flex;flex-direction:column;gap:20px}.email-input-group{display:flex;flex-direction:column;gap:8px}.email-input-group label{font-weight:600;color:#495057;font-size:1rem}.email-input{padding:12px 16px;border:2px solid #e0e6ed;border-radius:8px;font-size:1rem;transition:border-color .2s ease;background:#fff}.email-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.email-info{background:#f8f9fa;padding:15px;border-radius:8px;border-left:4px solid #667eea}.email-info p{margin:0 0 10px;color:#495057;line-height:1.5}.email-info p:last-child{margin-bottom:0}.email-info code{background:#e9ecef;padding:2px 6px;border-radius:4px;font-family:Courier New,monospace;font-size:.9em;color:#e83e8c}.no-email-param{text-align:center;padding:30px;background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;color:#856404}.no-email-param p{margin:0 0 15px;font-weight:500}.email-actions{text-align:center;margin-top:20px}.email-actions .btn{padding:12px 24px;font-size:1rem;font-weight:600}@media (max-width: 768px){.action-buttons{flex-direction:column}.stats-grid{grid-template-columns:1fr}.stat-item{flex-direction:column;align-items:flex-start;gap:.5rem}.email-config{gap:15px}.email-info{padding:12px}}.documents-section{padding:1rem 0}.documents-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin:2rem 0}.feature-item{display:flex;align-items:flex-start;gap:1rem;padding:1.5rem;background:#f8f9fa;border-radius:12px;border:1px solid #e9ecef;transition:all .3s ease}.feature-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:#667eea}.feature-icon{font-size:2rem;flex-shrink:0}.feature-content h5{margin:0 0 .5rem;color:#2c3e50;font-size:1.1rem;font-weight:600}.feature-content p{margin:0;color:#6c757d;line-height:1.5}.documents-actions{margin-top:2rem;padding:2rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff}.documents-actions h4{margin:0 0 1rem;color:#fff}.documents-actions p{margin:0 0 1.5rem;color:#ffffffe6}.documents-info{margin-top:2rem;padding:1.5rem;background:#ffffff1a;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.documents-info h5{margin:0 0 1rem;color:#fff;font-size:1.1rem}.documents-info ul{margin:0;padding-left:1.5rem;color:#ffffffe6}.documents-info li{margin-bottom:.5rem;line-height:1.5}.documents-info code{background:#fff3;padding:.2rem .4rem;border-radius:4px;font-family:Courier New,monospace;font-size:.9rem}@media (max-width: 768px){.documents-features{grid-template-columns:1fr;gap:1rem}.feature-item{padding:1rem}.documents-actions{padding:1.5rem}}.email-templates-section{padding:1rem 0}.no-templates{text-align:center;padding:2rem;background:#f8f9fa;border-radius:8px;border:2px dashed #dee2e6}.templates-list{margin-top:1rem}.templates-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e9ecef}.templates-header h4{margin:0;color:#2c3e50}.template-item{display:flex;justify-content:space-between;align-items:flex-start;padding:1.5rem;margin-bottom:1rem;background:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 2px 4px #0000001a;transition:all .3s ease}.template-item:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.template-info{flex:1;margin-right:1rem}.template-header{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem}.template-header h5{margin:0;color:#2c3e50;font-size:1.2rem}.template-type{background:#e9ecef;color:#495057;padding:.25rem .75rem;border-radius:20px;font-size:.85rem;font-weight:500}.template-description{color:#6c757d;margin:.5rem 0;font-size:.95rem}.template-subject{color:#495057;font-size:.9rem;margin-top:.5rem}.template-actions{display:flex;gap:.5rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem}.template-editor{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;max-width:800px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e9ecef;background:#f8f9fa}.modal-header h3{margin:0;color:#2c3e50}.modal-close{background:none;border:none;font-size:1.5rem;color:#6c757d;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease}.modal-close:hover{background:#e9ecef;color:#495057}.modal-body{flex:1;overflow-y:auto;padding:1.5rem}.template-editor-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:#2c3e50;font-size:.95rem}.form-input{padding:.75rem;border:1px solid #ced4da;border-radius:6px;font-size:.95rem;transition:border-color .3s ease}.form-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.form-textarea{padding:.75rem;border:1px solid #ced4da;border-radius:6px;font-size:.95rem;font-family:Courier New,monospace;resize:vertical;transition:border-color .3s ease}.form-textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.template-html{background:#f8f9fa;font-size:.85rem;line-height:1.4}.template-text{background:#f8f9fa;font-size:.9rem;line-height:1.4}.variables-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.75rem;margin-top:.5rem}.variable-item{display:flex;flex-direction:column;gap:.25rem;padding:.75rem;background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px}.variable-item code{background:#e9ecef;color:#e83e8c;padding:.25rem .5rem;border-radius:4px;font-size:.85rem;font-weight:600}.variable-description{color:#495057;font-size:.9rem}.variable-example{color:#6c757d;font-size:.8rem;font-style:italic}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid #e9ecef;background:#f8f9fa}.alert-email-section{padding:1rem 0}.alert{padding:1rem;margin-bottom:1rem;border-radius:8px;border:1px solid}.alert-warning{background-color:#fff3cd;border-color:#ffeaa7;color:#856404}.alert-warning p{margin:0 0 .5rem;font-weight:500}.recipient-options{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.checkbox-option{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;cursor:pointer;transition:all .3s ease}.checkbox-option:hover{background:#e9ecef;border-color:#007bff}.checkbox-option input[type=checkbox]{width:18px;height:18px;cursor:pointer}.checkbox-option input[type=checkbox]:checked+span{color:#007bff;font-weight:600}@media (max-width: 768px){.template-item{flex-direction:column;gap:1rem}.template-info{margin-right:0}.template-actions{width:100%;justify-content:center}.modal-overlay{padding:.5rem}.template-editor{max-height:95vh}.modal-header,.modal-body,.modal-footer{padding:1rem}.variables-list{grid-template-columns:1fr}}.tabs-navigation{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem;padding:1rem;background:#f8f9fa;border-radius:12px;border:1px solid #e9ecef}.tab-button{flex:1;min-width:200px;padding:1rem 1.5rem;background:#fff;border:2px solid #e9ecef;border-radius:8px;color:#495057;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tab-button:hover{background:#f8f9fa;border-color:#007bff;color:#007bff;transform:translateY(-2px);box-shadow:0 4px 12px #007bff26}.tab-button.active{background:#007bff;border-color:#007bff;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #007bff4d}.tab-button.active:hover{background:#0056b3;border-color:#0056b3;color:#fff}.tab-content{min-height:400px}@media (max-width: 768px){.tabs-navigation{flex-direction:column;gap:.25rem}.tab-button{min-width:auto;width:100%;padding:.75rem 1rem;font-size:.85rem}}@media (max-width: 480px){.tabs-navigation{padding:.5rem}.tab-button{padding:.5rem .75rem;font-size:.8rem}}.tab-content{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tab-button{display:flex;align-items:center;justify-content:center;gap:.5rem}.tab-button:before{font-size:1.1em}.tab-button:focus{outline:2px solid #007bff;outline-offset:2px}.tab-button.active:after{content:"";position:absolute;bottom:-2px;left:50%;transform:translate(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid #007bff}.tab-button{position:relative}.tab-content .card{margin-bottom:1.5rem}.tab-content .card:last-child{margin-bottom:0}.holiday-status{padding:1.5rem;background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a}.holiday-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e9ecef}.holiday-header h3{margin:0;color:#2c3e50;font-size:1.5rem}.holiday-actions{display:flex;gap:1rem}.holiday-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;margin-bottom:2rem}.stat-item{background:#f8f9fa;padding:1rem;border-radius:8px;text-align:center;border-left:4px solid #007bff}.stat-number{display:block;font-size:2rem;font-weight:700;color:#007bff;margin-bottom:.5rem}.stat-label{font-size:.9rem;color:#6c757d;text-transform:uppercase;letter-spacing:.5px}.holiday-list{display:flex;flex-direction:column;gap:1rem}.holiday-card{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-radius:8px;border:2px solid #e9ecef;background:#fff;transition:all .3s ease}.holiday-card:hover{box-shadow:0 4px 15px #0000001a;transform:translateY(-2px)}.holiday-card.status-validated{border-color:#28a745;background:#f8fff9}.holiday-card.status-rejected{border-color:#dc3545;background:#fff8f8}.holiday-card.status-pending{border-color:#ffc107;background:#fffdf5}.holiday-info{flex:1}.employee-info{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem}.employee-info strong{font-size:1.1rem;color:#2c3e50}.boulangerie{background:#e3f2fd;color:#1976d2;padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:500}.dates-info{display:flex;flex-direction:column;gap:.25rem}.date-range{font-size:1rem;color:#495057;font-weight:500}.comment{font-size:.9rem;color:#6c757d;font-style:italic}.holiday-actions{display:flex;flex-direction:column;align-items:flex-end;gap:1rem}.status{padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:500;text-align:center;min-width:120px}.status.status-validated{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.status.status-rejected{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.status.status-pending{background:#fff3cd;color:#856404;border:1px solid #ffeaa7}.action-buttons{display:flex;gap:.5rem}.btn-sm{padding:.375rem .75rem;font-size:.8rem}.btn-danger:hover:not(:disabled){background:#c82333;transform:translateY(-1px)}.btn:disabled{background:#6c757d;cursor:not-allowed;transform:none;opacity:.6}.loading-container{text-align:center;padding:3rem}.no-data{text-align:center;padding:3rem;color:#6c757d}.no-data p{font-size:1.1rem;margin:0}@media (max-width: 768px){.holiday-status{padding:1rem}.holiday-header{flex-direction:column;align-items:stretch;gap:1rem}.holiday-actions{justify-content:center}.holiday-stats{grid-template-columns:repeat(2,1fr)}.holiday-card{flex-direction:column;align-items:stretch;gap:1rem}.holiday-actions{flex-direction:row;justify-content:space-between;align-items:center}.action-buttons{flex-direction:column;gap:.5rem}.employee-info{flex-direction:column;align-items:flex-start;gap:.5rem}}.employee-status-print{padding:1.5rem}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.header-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.date-selector{display:flex;gap:.5rem;align-items:center}.date-selector select{padding:.5rem;border:1px solid #ddd;border-radius:4px;background:#fff;font-size:.9rem}.print-content{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;overflow:hidden}.print-header{background:#f8f9fa;padding:2rem;text-align:center;border-bottom:2px solid #dee2e6}.print-header h1{margin:0 0 .5rem;color:#2c3e50;font-size:2.5rem;font-weight:700}.print-header h2{margin:0 0 1rem;color:#495057;font-size:1.5rem;font-weight:500}.print-date{color:#6c757d;font-size:.9rem;font-style:italic}.print-table{padding:2rem}.status-table{width:100%;border-collapse:collapse;background:#fff;font-size:1rem}.status-table th{background:#f5f7fb;padding:1rem 1.5rem;text-align:right;font-weight:600;color:#2c3e50;border-bottom:2px solid #dbe2ef;font-size:1.05rem;vertical-align:middle}.header-employee{text-align:left;color:#2c3e50;border-bottom-color:#2c3e50}.header-meal{text-align:right;color:#28a745;border-bottom-color:#28a74566}.header-km{text-align:right;color:#007bff;border-bottom-color:#007bff66}.header-advance{text-align:right;color:#ff9800;border-bottom-color:#ff980066}.header-overpayment{text-align:right;color:#6f42c1;border-bottom-color:#6f42c166}.header-total{text-align:right;color:#dc3545;border-bottom-color:#dc354566}.status-table td{padding:1rem;border-bottom:1px solid #e9ecef;vertical-align:middle}.status-table tbody tr:hover{background-color:#f8f9fa}.employee-name{font-weight:500;color:#2c3e50}.meal-amount{color:#28a745;font-weight:500;text-align:right}.km-amount{color:#007bff;font-weight:500;text-align:right}.advance-amount{color:#ff9800;font-weight:500;text-align:right}.overpayment-amount{color:#6f42c1;font-weight:500;text-align:right}.overpayment-input-wrapper{display:flex;justify-content:flex-end;align-items:center;gap:.5rem}.overpayment-input{width:110px;padding:.35rem .5rem;border:1px solid #ced4da;border-radius:4px;text-align:right;font-weight:500;color:#6f42c1;background:#fff;transition:border-color .2s ease,box-shadow .2s ease}.overpayment-input:focus{outline:none;border-color:#6f42c1;box-shadow:0 0 0 .2rem #6f42c126}.overpayment-saving{font-size:.9rem;color:#6f42c1}.total-amount{color:#dc3545;font-weight:600;text-align:right;background:#fff5f5}.totals-row{background:#f8f9fa;border-top:2px solid #dee2e6}.totals-row td{font-weight:700;color:#2c3e50;background:#f8f9fa}.print-summary{background:#f8f9fa;padding:2rem;border-top:1px solid #dee2e6;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.summary-item{background:#fff;padding:1rem;border-radius:6px;border-left:4px solid #007bff;font-size:1rem}.summary-item strong{color:#007bff}@media print{.employee-status-print{padding:0}.page-header{display:none}.print-content{box-shadow:none;border-radius:0}.print-header{background:#fff!important;border-bottom:2px solid #000}.print-header h1,.print-header h2,.print-header .print-date{color:#000!important}.status-table{font-size:.9rem}.status-table th{background:#f0f0f0!important;color:#000!important;border-bottom:1px solid #000}.status-table td{border-bottom:1px solid #ccc}.overpayment-input{border:none;background:transparent;box-shadow:none;width:100px;padding:0}.overpayment-saving{display:none}.status-table tbody tr:hover{background-color:transparent!important}.totals-row{background:#f0f0f0!important;border-top:2px solid #000}.totals-row td{background:#f0f0f0!important;color:#000!important}.print-summary{background:#fff!important;border-top:1px solid #000}.summary-item{background:#fff!important;border-left:2px solid #000}.summary-item strong{color:#000!important}.accountant-comment-section{display:none!important}.accountant-comment{margin-top:30px;padding:20px;border:2px solid #000;background:#fff;border-radius:5px;page-break-inside:avoid}.accountant-comment h3{margin:0 0 10px;font-size:16px;font-weight:700;color:#000}.accountant-comment-content{white-space:pre-wrap;font-size:12px;line-height:1.5;color:#000;min-height:100px}.status-table tbody tr,.print-content{page-break-inside:avoid}}@media (max-width: 768px){.employee-status-print{padding:1rem}.page-header{flex-direction:column;align-items:stretch}.page-header h2{font-size:1.5rem;margin-bottom:1rem}.header-actions{justify-content:space-between}.date-selector{flex-direction:column;gap:.5rem}.date-selector select{width:100%}.print-header{padding:1rem}.print-header h1{font-size:2rem}.print-header h2{font-size:1.2rem}.print-table{padding:1rem}.status-table{font-size:.8rem}.status-table th,.status-table td{padding:.5rem}.overpayment-input-wrapper{flex-direction:column;align-items:flex-end;gap:.25rem;width:100%}.overpayment-input{width:100%}.print-summary{padding:1rem;grid-template-columns:1fr}}.btn{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s;display:inline-flex;align-items:center;gap:.5rem}.btn-primary:hover:not(:disabled){background:#0056b3;transform:translateY(-1px)}.btn-success:hover:not(:disabled){background:#218838;transform:translateY(-1px)}.btn:disabled{background:#6c757d;cursor:not-allowed;transform:none}.fade-in{animation:fadeIn .5s ease-in}.advance-summary{margin-top:2rem;padding:1.5rem;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.advance-summary h3{color:#2c3e50;margin-bottom:1rem;font-size:1.3rem;border-bottom:2px solid #007bff;padding-bottom:.5rem}.advance-table{margin-bottom:1rem}.advance-table .status-table{margin-bottom:0}.advance-table .advance-amount{color:#28a745;font-weight:600}.advance-table .request-date{color:#6c757d;font-size:.9rem}.advance-table .comment{color:#495057;font-style:italic;max-width:200px;word-wrap:break-word}.advance-summary-stats{display:flex;gap:2rem;flex-wrap:wrap;margin-top:1rem;padding-top:1rem;border-top:1px solid #dee2e6}.advance-summary-stats .summary-item{margin-bottom:.5rem}@media (max-width: 768px){.advance-summary{margin-top:1rem;padding:1rem}.advance-summary-stats{flex-direction:column;gap:.5rem}.advance-table .comment{max-width:150px;font-size:.8rem}}.accountant-comment-section{background:#fff;border-bottom:1px solid #dee2e6}.accountant-comment-section label{display:block;margin-bottom:.5rem;font-weight:600;color:#2c3e50;font-size:1rem}.accountant-comment-section textarea{width:100%;padding:.75rem;border:1px solid #ced4da;border-radius:4px;font-size:.95rem;font-family:Arial,sans-serif;line-height:1.5;resize:vertical;min-height:150px;transition:border-color .2s ease,box-shadow .2s ease}.accountant-comment-section textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 .2rem #007bff26}.accountant-comment-section textarea::placeholder{color:#6c757d;font-style:italic}.tutors{padding:1.5rem}.tutors .page-header{margin-bottom:2rem}.tutors .page-header h2{color:#333;margin-bottom:.5rem}.tutors .page-header p{color:#666;margin:0}.tutors .table{width:100%;border-collapse:collapse;margin-top:1rem}.tutors .table th,.tutors .table td{padding:1rem;text-align:left;border-bottom:1px solid #dee2e6}.tutors .table th{background-color:#f8f9fa;font-weight:600;color:#495057}.tutors .table tbody tr:hover{background-color:#f8f9fa}.tutors .loading{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #007bff;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.tutors .fade-in{animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.sick-leave-upload,.sick-leave-upload-standalone{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;display:flex;justify-content:center;align-items:center}.upload-container{background:#fff;border-radius:15px;box-shadow:0 20px 40px #0000001a;padding:40px;max-width:600px;width:100%;margin:20px}.upload-header{text-align:center;margin-bottom:30px}.upload-header h1{color:#333;margin-bottom:10px;font-size:2.2em}.upload-header p{color:#666;font-size:1.1em}.upload-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column}.form-group label{font-weight:600;color:#333;margin-bottom:8px;font-size:1em}.form-group input{padding:12px 15px;border:2px solid #e1e5e9;border-radius:8px;font-size:1em;transition:border-color .3s ease}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group select{padding:12px 15px;border:2px solid #e1e5e9;border-radius:8px;font-size:1em;transition:border-color .3s ease;background:#fff;cursor:pointer}.form-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group select:disabled{background:#f8f9fa;cursor:not-allowed;opacity:.7}.readonly-input{background:#f8f9fa!important;color:#666!important;cursor:not-allowed}.date-group{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media (max-width: 768px){.date-group{grid-template-columns:1fr}}.file-upload-area{position:relative}.file-input{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer}.file-label{display:block;border:2px dashed #e1e5e9;border-radius:8px;padding:30px;text-align:center;cursor:pointer;transition:all .3s ease;background:#f8f9fa}.file-label:hover{border-color:#667eea;background:#f0f2ff}.file-placeholder{display:flex;flex-direction:column;align-items:center;gap:10px;color:#666}.upload-icon{font-size:2em}.file-selected{display:flex;align-items:center;gap:10px;color:#333;font-weight:500}.file-icon{font-size:1.5em}.file-name{flex:1;text-align:left}.file-size{color:#666;font-size:.9em}.preview-container{margin-top:20px;text-align:center}.preview-container h3{color:#333;margin-bottom:15px}.preview-image{max-width:100%;max-height:300px;border-radius:8px;box-shadow:0 4px 8px #0000001a}.message{padding:15px;border-radius:8px;font-weight:500;text-align:center}.submit-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:15px 30px;border-radius:8px;font-size:1.1em;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;display:flex;align-items:center;justify-content:center;gap:10px}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #667eea4d}.submit-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.upload-info{margin-top:30px;padding:20px;background:#f8f9fa;border-radius:8px;border-left:4px solid #667eea}.upload-info h3{color:#333;margin-bottom:15px;font-size:1.1em}.upload-info ul{list-style:none;padding:0;margin:0}.upload-info li{color:#666;margin-bottom:8px;padding-left:20px;position:relative}.upload-info li:before{content:"✓";position:absolute;left:0;color:#667eea;font-weight:700}@media (max-width: 768px){.upload-container{padding:20px;margin:10px}.upload-header h1{font-size:1.8em}.file-label{padding:20px}}.sick-leave-admin{padding:20px;max-width:1400px;margin:0 auto}.admin-header{text-align:center;margin-bottom:30px;padding:20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:12px;box-shadow:0 4px 15px #0000001a}.admin-header h1{margin:0 0 10px;font-size:2.2em;font-weight:600}.admin-header p{margin:0;font-size:1.1em;opacity:.9}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;margin-bottom:30px}.stat-item{background:#fff;padding:20px;border-radius:12px;text-align:center;box-shadow:0 2px 10px #0000001a;border-left:4px solid #667eea;transition:transform .2s ease}.stat-item:hover{transform:translateY(-2px)}.stat-item.pending{border-left-color:#f39c12}.stat-item.validated{border-left-color:#27ae60}.stat-item.declared{border-left-color:#3498db}.stat-item.overdue{border-left-color:#e74c3c;background:linear-gradient(135deg,#ff6b6b,#ee5a24);color:#fff}.stat-number{font-size:2.5em;font-weight:700;margin-bottom:5px;color:#2c3e50}.stat-item.overdue .stat-number{color:#fff}.stat-label{font-size:.9em;color:#7f8c8d;text-transform:uppercase;letter-spacing:.5px}.stat-item.overdue .stat-label{color:#fffc}.admin-actions{text-align:center;margin:20px 0;padding:20px;background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px}.admin-actions .btn{padding:12px 24px;font-size:1rem;font-weight:600;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.admin-actions .btn-danger{background:#dc3545;color:#fff}.admin-actions .btn-danger:hover:not(:disabled){background:#c82333;transform:translateY(-1px)}.admin-actions .btn-danger:disabled{background:#6c757d;cursor:not-allowed;transform:none}.admin-warning{margin:10px 0 0;font-size:.9rem;color:#856404;font-style:italic}.filters-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;gap:20px}.status-filter{padding:12px 20px;border:2px solid #e0e6ed;border-radius:8px;background:#fff;font-size:1em;min-width:200px;transition:border-color .2s ease}.status-filter:focus{outline:none;border-color:#667eea}.quick-actions{display:flex;gap:15px}.action-link{padding:12px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-decoration:none;border-radius:8px;font-weight:500;transition:transform .2s ease;display:inline-flex;align-items:center;gap:8px}.action-link:hover{transform:translateY(-2px);color:#fff;text-decoration:none}.message{padding:15px 20px;border-radius:8px;margin-bottom:20px;font-weight:500}.message.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.message.error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.sick-leaves-list{margin-bottom:30px}.loading,.no-data{text-align:center;padding:40px;color:#7f8c8d;font-size:1.1em}.sick-leaves-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:20px}.sick-leave-card{background:#fff;border-radius:12px;box-shadow:0 2px 15px #0000001a;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.sick-leave-card:hover{transform:translateY(-3px);box-shadow:0 5px 25px #00000026}.card-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-bottom:1px solid #dee2e6}.employee-info h3{margin:0 0 5px;color:#2c3e50;font-size:1.2em;font-weight:600}.employee-info p{margin:0;color:#6c757d;font-size:.9em}.status-badge{padding:6px 12px;border-radius:20px;font-size:.8em;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-pending{background:#fff3cd;color:#856404}.status-validated{background:#d4edda;color:#155724}.status-declared{background:#cce7ff;color:#004085}.status-rejected{background:#f8d7da;color:#721c24}.card-content{padding:20px}.period,.file-info{margin-bottom:15px;color:#495057;line-height:1.5}.duration,.file-size{color:#6c757d;font-size:.9em;margin-left:8px}.validation-info{display:flex;justify-content:space-between;align-items:center;margin-top:15px;padding-top:15px;border-top:1px solid #e9ecef}.quality-score{padding:4px 8px;border-radius:12px;font-size:.8em;font-weight:600}.quality-score.good{background:#d4edda;color:#155724}.quality-score.poor{background:#f8d7da;color:#721c24}.overdue-warning{color:#e74c3c;font-size:.8em;font-weight:600}.card-actions{display:flex;gap:8px;padding:15px 20px;background:#f8f9fa;border-top:1px solid #e9ecef}.btn{padding:8px 12px;border:none;border-radius:6px;cursor:pointer;font-size:.9em;font-weight:500;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px}.btn:hover{transform:translateY(-1px)}.btn-info{background:#17a2b8;color:#fff}.btn-download{background:#6c757d;color:#fff}.pagination{display:flex;justify-content:center;align-items:center;gap:15px;margin-top:30px}.page-btn{padding:10px 20px;border:2px solid #e0e6ed;background:#fff;color:#495057;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s ease}.page-btn:hover:not(:disabled){border-color:#667eea;color:#667eea}.page-info{color:#6c757d;font-weight:500}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e9ecef}.modal-header h2{margin:0;color:#2c3e50;font-size:1.5em}.close-btn{background:none;border:none;font-size:1.5em;cursor:pointer;color:#6c757d;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s ease}.close-btn:hover{background:#f8f9fa}.modal-body{padding:20px}.detail-section{margin-bottom:25px;padding-bottom:20px;border-bottom:1px solid #e9ecef}.detail-section:last-child{border-bottom:none;margin-bottom:0}.detail-section h3{margin:0 0 15px;color:#495057;font-size:1.1em;font-weight:600}.detail-section p{margin:8px 0;color:#6c757d;line-height:1.5}.detail-section strong{color:#495057;font-weight:600}.modal-footer{display:flex;justify-content:flex-end;gap:15px;padding:20px;border-top:1px solid #e9ecef;background:#f8f9fa}@media (max-width: 768px){.sick-leave-admin{padding:15px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}.sick-leaves-grid{grid-template-columns:1fr;gap:15px}.filters-row{flex-direction:column;align-items:stretch}.quick-actions{justify-content:center}.modal-content{margin:10px;max-height:calc(100vh - 20px)}.card-actions{flex-wrap:wrap;gap:6px}.btn{min-width:32px;height:32px;font-size:.8em}}.sick-leave-home{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;display:flex;justify-content:center;align-items:center}.home-container{background:#fff;border-radius:15px;box-shadow:0 20px 40px #0000001a;padding:40px;max-width:800px;width:100%;margin:20px}.home-header{text-align:center;margin-bottom:40px}.home-header h1{color:#333;margin-bottom:10px;font-size:2.5em}.home-header p{color:#666;font-size:1.2em}.home-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:30px;margin-bottom:40px}.info-card,.requirements-card,.security-card{background:#f8f9fa;border-radius:10px;padding:25px;border-left:4px solid #667eea}.requirements-card{border-left-color:#28a745}.security-card{border-left-color:#17a2b8}.info-card h2,.requirements-card h2,.security-card h2{color:#333;margin-bottom:15px;font-size:1.3em}.info-card ol,.requirements-card ul,.security-card ul{margin:0;padding-left:20px}.info-card li,.requirements-card li,.security-card li{color:#666;margin-bottom:8px;line-height:1.5}.action-section{text-align:center;margin-bottom:30px}.upload-button{display:inline-block;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-decoration:none;padding:15px 40px;border-radius:50px;font-size:1.2em;font-weight:600;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 4px 15px #667eea4d}.upload-button:hover{transform:translateY(-2px);box-shadow:0 8px 25px #667eea66;text-decoration:none;color:#fff}.contact-info{text-align:center;padding:20px;background:#f8f9fa;border-radius:10px;border:1px solid #e1e5e9}.contact-info h3{color:#333;margin-bottom:10px}.contact-info p{color:#666;margin:0}@media (max-width: 768px){.home-container{padding:20px;margin:10px}.home-header h1{font-size:2em}.home-content{grid-template-columns:1fr;gap:20px}.upload-button{padding:12px 30px;font-size:1.1em}}.vacation-request-admin{padding:20px;max-width:1400px;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.admin-header{margin-bottom:30px;padding-bottom:20px;border-bottom:3px solid #e9ecef}.admin-header h1{color:#2c3e50;font-size:2.5rem;margin:0 0 10px;font-weight:700}.admin-header p{color:#6c757d;font-size:1.1rem;margin:0}.admin-actions{display:flex;gap:15px;margin-bottom:30px;flex-wrap:wrap}.form-control{padding:10px 14px;border:2px solid #ced4da;border-radius:6px;background-color:#fff;font-size:14px;transition:all .2s}.form-control:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.vacation-requests-list{margin-top:20px}.loading{text-align:center;padding:60px 20px;font-size:18px;color:#6c757d}.no-data{text-align:center;padding:60px 20px;background:#f8f9fa;border-radius:10px;color:#6c757d;font-size:16px}.requests-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(450px,1fr));gap:20px;margin-top:20px}.request-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:visible;transition:all .3s ease;border:2px solid #e9ecef;min-width:450px}.request-card:hover{box-shadow:0 4px 16px #00000026;transform:translateY(-2px)}.request-card.status-pending{border-left:5px solid #ffc107}.request-card.status-validated,.request-card.status-accepted{border-left:5px solid #28a745;background:linear-gradient(to right,#f8fff9,#fff 5%)}.request-card.status-rejected{border-left:5px solid #dc3545;background:linear-gradient(to right,#fff8f8,#fff 5%)}.card-header{padding:20px;background:#f8f9fa;border-bottom:2px solid #e9ecef;display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.employee-info{flex:1}.employee-name{margin:0 0 8px;color:#2c3e50;font-size:1.4rem;font-weight:600}.employee-email{margin:0 0 6px;color:#6c757d;font-size:.95rem}.employee-city{margin:0;color:#868e96;font-size:.9rem}.status-badge-container{flex-shrink:0}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:20px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.status-badge.badge-warning{background:#fff3cd;color:#856404;border:2px solid #ffc107}.status-badge.badge-success{background:#d4edda;color:#155724;border:2px solid #28a745}.status-badge.badge-danger{background:#f8d7da;color:#721c24;border:2px solid #dc3545}.status-badge.badge-secondary{background:#e2e3e5;color:#383d41;border:2px solid #6c757d}.card-content{padding:20px;display:flex;flex-direction:column;gap:12px;min-height:120px}.info-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #f0f0f0;flex-wrap:wrap}.info-row:last-child{border-bottom:none}.period-row{flex-wrap:wrap;align-items:center}.info-label{font-weight:600;color:#495057;font-size:.95rem;min-width:120px;flex-shrink:0;white-space:nowrap}.info-value{color:#212529;font-size:.95rem;flex:1;min-width:150px;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word}.duration-badge{padding:4px 12px;background:#e7f3ff;color:#0056b3;border-radius:12px;font-size:.85rem;font-weight:600;margin-left:auto}.card-actions{padding:15px 20px;background:#f8f9fa;border-top:2px solid #e9ecef;display:flex;gap:10px;justify-content:flex-end}.btn-action{padding:10px 18px;font-size:.9rem;font-weight:500;border-radius:6px;transition:all .2s;display:inline-flex;align-items:center;gap:6px}.btn-action:hover{transform:translateY(-1px);box-shadow:0 2px 6px #00000026}.btn{padding:10px 20px;border:none;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s;display:inline-flex;align-items:center;gap:6px}.btn-success{background:#28a745;color:#fff}.btn-success:hover{background:#218838}.btn-warning{background:#ffc107;color:#212529}.btn-warning:hover{background:#e0a800}.btn-danger{background:#dc3545;color:#fff}.btn-danger:hover{background:#c82333}.btn-primary{background:#007bff;color:#fff}.btn-primary:hover{background:#0056b3}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#545b62}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:12px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:2px solid #e9ecef;background:#f8f9fa}.modal-header h3{margin:0;color:#2c3e50;font-size:1.3rem}.close-btn{background:none;border:none;font-size:28px;cursor:pointer;color:#6c757d;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.close-btn:hover{background:#e9ecef;color:#495057}.modal-body{padding:24px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#495057;font-size:.95rem}.form-group input{width:100%;padding:12px;border:2px solid #ced4da;border-radius:6px;font-size:15px;transition:all .2s}.form-group input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.modal-footer{display:flex;gap:10px;justify-content:flex-end;padding:20px 24px;border-top:2px solid #e9ecef;background:#f8f9fa}@media (max-width: 768px){.vacation-request-admin{padding:15px}.admin-header h1{font-size:2rem}.filters-section{flex-direction:column;gap:20px;padding:15px}.requests-grid{grid-template-columns:1fr;gap:15px}.card-header{flex-direction:column;gap:10px}.status-badge-container{align-self:flex-start}.card-actions{flex-direction:column}.btn-action{width:100%;justify-content:center}.modal-content{margin:10px;max-height:95vh}}.filters-section{display:flex;gap:30px;margin:30px 0;padding:20px;background-color:#f8f9fa;border-radius:10px;border:1px solid #dee2e6;box-shadow:0 2px 4px #0000000d}.filter-group{display:flex;flex-direction:column;gap:8px;flex:1;min-width:200px}.filter-group label{font-weight:600;color:#495057;font-size:14px}.filter-group select{padding:10px 14px;border:2px solid #ced4da;border-radius:6px;background-color:#fff;font-size:14px;transition:all .2s}.filter-group select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.vacation-planning{padding:20px;font-family:Arial,sans-serif;background:#fff;min-height:100vh}.vacation-planning-loading{display:flex;flex-direction:column;justify-content:center;align-items:center;height:50vh;font-size:18px}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #007bff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.planning-header{margin-bottom:20px;border-bottom:2px solid #333;padding-bottom:20px}.header-title h1{margin:0 0 5px;color:#333;font-size:28px;font-weight:700}.subtitle{margin:0;color:#666;font-size:14px}.header-controls{display:flex;gap:20px;margin-top:15px;flex-wrap:wrap;align-items:center}.control-group{display:flex;align-items:center;gap:8px}.control-group label{font-weight:700;color:#333;font-size:14px}.control-select{padding:6px 12px;border:1px solid #ccc;border-radius:4px;font-size:14px;background:#fff}.btn-print{padding:8px 16px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:700}.btn-print:hover{background:#0056b3}.print-header{display:none}.legend{display:flex;gap:20px;margin-bottom:15px;padding:10px;background:#f8f9fa;border-radius:4px}.legend-item{display:flex;align-items:center;gap:6px;font-size:12px}.legend-color{width:16px;height:16px;border-radius:3px;border:1px solid #ccc}.legend-color.vente{background:#e3f2fd}.legend-color.chef-boulanger{background:#fff3e0}.legend-color.preparateur{background:#e8f5e8}.calendar-wrapper{overflow-x:auto;margin-top:20px}.calendar-table{width:100%;border-collapse:collapse;font-size:11px;background:#fff}.calendar-table th,.calendar-table td{border:1px solid #ccc;padding:4px;text-align:center;vertical-align:middle}.month-header{background:#666!important;color:#fff!important;font-weight:700;padding:8px 4px!important;font-size:11px;min-width:60px}.employee-header{background:#666!important;color:#fff!important;font-weight:700;padding:8px!important;min-width:120px}.day-number-cell{background:#f8f9fa!important;font-weight:700;width:40px;text-align:center;font-size:11px}.first-header{background:#666!important;color:#fff!important;min-width:40px}.calendar-day-cell{min-width:60px;min-height:25px;padding:3px!important;text-align:center;position:relative}.calendar-day-cell.empty{background:#f5f5f5}.calendar-day-cell.sunday{background:#e9ecef!important}.day-content{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;position:relative;min-height:100%}.day-value{font-weight:700;font-size:11px;line-height:1}.day-letter{font-size:9px;color:#666;line-height:1;margin-top:1px}.vacation-initials{display:flex;flex-wrap:wrap;gap:2px;margin-top:2px;justify-content:center;align-items:center;width:100%}.employee-initial{font-size:8px;font-weight:700;padding:1px 3px;border-radius:2px;border:1px solid #333;line-height:1.2;display:inline-block;min-width:12px;text-align:center}.employee-row{background:#fff}.employee-name-cell{padding:4px!important;text-align:left;font-size:12px}.employee-name-wrapper{padding:6px 8px;border-radius:3px;font-weight:700}.employee-month-cell{padding:2px!important;min-height:35px;position:relative}.vacation-container{display:grid;grid-template-columns:repeat(31,1fr);gap:1px;height:100%;width:100%}.vacation-span{padding:2px 4px;font-size:8px;font-weight:700;color:#333;text-align:center;display:flex;align-items:center;justify-content:center;min-height:25px;z-index:1}.vacation-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media print{body *{visibility:hidden}.vacation-planning,.vacation-planning *{visibility:visible}.vacation-planning{position:absolute;left:0;top:0;width:100%;padding:0;margin:0}.print-header{display:block!important;text-align:center;font-size:16px;font-weight:700;margin-bottom:10px;padding-bottom:10px;border-bottom:2px solid #333;visibility:visible}.planning-header,.header-controls,.legend,.btn-print,.day-number-cell{display:none!important}.calendar-wrapper{margin:0;padding:0}.calendar-table{font-size:8px;width:100%;margin:0;border-collapse:collapse}.month-header,.first-header{background:#333!important;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact;padding:6px 4px!important;font-size:9px!important}.first-header{display:none!important}.calendar-day-cell.sunday{background:#e9ecef!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.calendar-day-cell{padding:2px!important;min-height:20px}.day-value{font-size:9px!important}.day-letter{font-size:7px!important}.employee-initial{font-size:7px!important;padding:1px 2px!important}.day-row{page-break-inside:avoid}@page{margin:.5cm;size:A4 landscape}}@media (max-width: 1200px){.calendar-table{font-size:9px}.month-header{min-width:50px}.employee-header{min-width:100px}}.ticket-restaurant{padding:20px;max-width:1200px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding:20px;background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a}.page-header h2{margin:0;color:#2c3e50;font-size:1.8rem}.header-actions{display:flex;align-items:center;gap:20px}.month-selector{display:flex;align-items:center;gap:10px}.month-selector label{font-weight:500;color:#34495e}.month-selector input{padding:8px 12px;border:2px solid #e0e6ed;border-radius:8px;font-size:14px;transition:border-color .3s ease}.month-selector input:focus{outline:none;border-color:#3498db}.scanner-controls{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.provider-selector{display:flex;align-items:center;gap:10px}.provider-selector label{font-weight:500;color:#34495e}.scanner-active{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.scanner-status{display:flex;align-items:center;gap:10px;padding:10px 15px;background:#e8f5e8;border-radius:8px;color:#27ae60;font-weight:500}.scanner-indicator{width:12px;height:12px;background:#27ae60;border-radius:50%;animation:pulse 1.5s infinite}.scan-order-badge{margin-left:auto;padding:4px 12px;background:#27ae60;color:#fff;border-radius:20px;font-size:.85rem;font-weight:600;box-shadow:0 2px 4px #0000001a}.buffer-status{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#fff3cd;border:2px solid #ffc107;border-radius:8px;color:#856404;font-weight:500;font-size:.9rem}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.totals-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin:30px 0}.total-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 10px #0000001a;border-left:4px solid;transition:transform .3s ease}.total-card:hover{transform:translateY(-2px)}.total-header h4{margin:0 0 15px;font-size:1.2rem;font-weight:600}.total-content{text-align:center}.total-count{margin-bottom:10px}.count-number{font-size:2rem;font-weight:700;color:#2c3e50;display:block}.count-label{font-size:.9rem;color:#7f8c8d;text-transform:uppercase;letter-spacing:.5px}.total-amount{font-size:1.5rem;font-weight:700;color:#27ae60}.total-general{margin:30px 0}.general-totals{display:flex;justify-content:space-around;align-items:center;flex-wrap:wrap;gap:20px}.total-item{display:flex;flex-direction:column;align-items:center;gap:5px}.total-label{font-size:.9rem;color:#7f8c8d;text-transform:uppercase;letter-spacing:.5px}.total-value{font-size:1.8rem;font-weight:700;color:#2c3e50}.total-value.amount{color:#27ae60}.tickets-list{display:flex;flex-direction:column;gap:10px}.ticket-item{display:flex;justify-content:space-between;align-items:center;padding:15px;background:#f8f9fa;border-radius:8px;border-left:4px solid #3498db;transition:background-color .3s ease}.ticket-item:hover{background:#e9ecef}.ticket-info{display:flex;align-items:center;gap:20px;flex:1}.ticket-provider{font-weight:700;font-size:1.1rem;min-width:80px}.ticket-manual-badge{font-weight:400;font-size:.85rem;color:#7f8c8d}.ticket-amount{font-weight:700;color:#27ae60;font-size:1.1rem;min-width:80px}.ticket-date{color:#7f8c8d;font-size:.9rem}.btn-danger.btn-sm{padding:8px 12px;font-size:.9rem;border-radius:6px;transition:all .3s ease}.btn-danger.btn-sm:hover{transform:scale(1.05)}.empty-state{text-align:center;padding:40px;color:#7f8c8d}.empty-state p{font-size:1.1rem;margin:0}.loading-container{text-align:center;padding:40px}.loading-container p{margin-top:15px;color:#7f8c8d}@media (max-width: 768px){.page-header{flex-direction:column;gap:15px;text-align:center}.scanner-controls,.scanner-active{flex-direction:column;align-items:stretch}.totals-grid{grid-template-columns:1fr}.general-totals{flex-direction:column;text-align:center}.ticket-info{flex-direction:column;align-items:flex-start;gap:5px}}.test-mode-section{margin-top:30px;padding:20px;background:#f8f9fa;border-radius:10px;border:2px solid #ffc107}.test-header{margin-bottom:20px}.test-header h3{color:#856404;margin-bottom:10px}.test-info{margin-bottom:20px}.test-format{background:#fff;padding:15px;border-radius:8px;border-left:4px solid #17a2b8}.test-format code{background:#e9ecef;padding:4px 8px;border-radius:4px;font-family:Courier New,monospace;font-size:16px;color:#495057}.test-format ul{margin:10px 0;padding-left:20px}.test-format li{margin:5px 0;color:#6c757d}.test-results h4{color:#495057;margin-bottom:15px}.test-codes{display:flex;flex-direction:column;gap:15px}.test-code{background:#fff;border-radius:8px;padding:15px;border-left:4px solid #28a745;transition:all .3s ease}.test-code.has-issues{border-left-color:#dc3545;background:#fff5f5}.test-code.no-issues{border-left-color:#28a745;background:#f8fff8}.test-code-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid #e9ecef}.test-time{font-size:12px;color:#6c757d;font-family:Courier New,monospace}.test-status{font-weight:700;font-size:14px}.test-code-content{display:flex;flex-direction:column;gap:10px}.test-barcode{font-family:Courier New,monospace;background:#f8f9fa;padding:8px;border-radius:4px;border:1px solid #dee2e6}.test-barcode code{font-size:14px;color:#495057}.test-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;font-size:14px}.test-details div{padding:4px 0;color:#495057}.test-issues{background:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;padding:10px;margin-top:10px}.test-issues strong{color:#856404;display:block;margin-bottom:8px}.test-issues ul{margin:0;padding-left:20px}.test-issues li{color:#856404;margin:4px 0}.test-waiting{text-align:center;padding:30px;color:#6c757d;background:#fff;border-radius:8px;border:2px dashed #dee2e6}.test-waiting p{margin:10px 0;font-size:16px}.manual-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.manual-modal{background:#fff;border-radius:12px;padding:24px;max-width:400px;width:100%;box-shadow:0 10px 40px #0003}.manual-modal h3{margin:0 0 10px;color:#2c3e50;font-size:1.4rem}.manual-modal-desc{color:#7f8c8d;font-size:.95rem;margin:0 0 20px}.manual-modal-field{margin-bottom:16px}.manual-modal-field label{display:block;font-weight:500;color:#34495e;margin-bottom:6px}.manual-modal-provider{font-weight:700;color:#3498db}.manual-modal-field input{width:100%;padding:10px 14px;border:2px solid #e0e6ed;border-radius:8px;font-size:1rem}.manual-modal-field input:focus{outline:none;border-color:#3498db}.manual-modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:16px;border-top:1px solid #e9ecef}.document-card{background:#fff;border:2px solid #e9ecef;border-radius:12px;padding:1.5rem;transition:all .3s ease;position:relative;overflow:hidden}.document-card:hover{border-color:#667eea;transform:translateY(-2px);box-shadow:0 8px 25px #667eea26}.document-card.general{border-left:4px solid #28a745}.document-card.personal{border-left:4px solid #007bff}.document-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem;position:relative}.document-icon{font-size:2rem;flex-shrink:0;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:#f8f9fa;border-radius:8px;border:2px solid #e9ecef}.document-title{flex:1;min-width:0}.document-title h3{margin:0 0 .5rem;color:#495057;font-size:1.1rem;font-weight:600;line-height:1.3;word-wrap:break-word}.document-category{display:inline-block;background:#e9ecef;color:#6c757d;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500}.expiry-badge{position:absolute;top:0;right:0;padding:.25rem .75rem;border-radius:0 8px;font-size:.75rem;font-weight:600;text-transform:uppercase}.expiry-badge.warning{background:#fff3cd;color:#856404;border:1px solid #ffeaa7}.expiry-badge.info{background:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}.expiry-badge.expired{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.document-content{margin-bottom:1.5rem}.document-description{margin:0 0 1rem;color:#6c757d;font-size:.9rem;line-height:1.4;font-style:italic}.document-details{display:flex;flex-direction:column;gap:.5rem}.detail-item{display:flex;justify-content:space-between;align-items:center;padding:.25rem 0;font-size:.85rem}.detail-label{color:#6c757d;font-weight:500}.detail-value{color:#495057;font-weight:600}.document-actions{display:flex;flex-direction:column;gap:.75rem}.download-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#28a745,#20c997);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none}.download-btn:hover:not(:disabled){background:linear-gradient(135deg,#218838,#1ea085);transform:translateY(-1px);box-shadow:0 4px 12px #28a7454d}.download-btn:disabled{background:#6c757d;cursor:not-allowed;opacity:.6}.download-icon{font-size:1rem}.expired-message{padding:.75rem;background:#f8d7da;color:#721c24;border:1px solid #f5c6cb;border-radius:8px;font-size:.85rem;text-align:center;font-weight:500}@media (max-width: 768px){.document-card{padding:1rem}.document-header{flex-direction:column;gap:.75rem}.document-icon{width:40px;height:40px;font-size:1.5rem}.document-title h3{font-size:1rem}.detail-item{flex-direction:column;align-items:flex-start;gap:.25rem}.download-btn{padding:.75rem 1rem;font-size:.85rem}}.document-card.new{animation:slideInUp .5s ease}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.document-card.expiring-soon{border-color:#ffc107;background:linear-gradient(135deg,#fff3cd,#fff)}.document-card.expired{border-color:#dc3545;background:linear-gradient(135deg,#f8d7da,#fff);opacity:.8}.documents-section{width:100%}.section-header{margin-bottom:2rem;text-align:center}.section-header h2{margin:0 0 .5rem;color:#495057;font-size:1.8rem;font-weight:600}.section-description{margin:0;color:#6c757d;font-size:1rem}.empty-state{text-align:center;padding:4rem 2rem;background:#f8f9fa;border-radius:12px;border:2px dashed #dee2e6}.empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.empty-state h3{margin:0 0 .5rem;color:#6c757d;font-size:1.5rem}.empty-state p{margin:0;color:#6c757d;font-size:1rem}.documents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem;margin-bottom:2rem}.section-footer{text-align:center;padding-top:1rem;border-top:1px solid #e9ecef}.document-count{margin:0;color:#6c757d;font-size:.9rem;font-style:italic}@media (max-width: 768px){.documents-grid{grid-template-columns:1fr;gap:1rem}.section-header h2{font-size:1.5rem}.empty-state{padding:2rem 1rem}.empty-icon{font-size:3rem}}.employee-dashboard{padding:2rem;max-width:1200px;margin:0 auto;background:#f8f9fa;min-height:100vh}.dashboard-header{text-align:center;margin-bottom:2rem;padding:2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a}.dashboard-header h1{margin:0 0 .5rem;font-size:2.5rem;font-weight:700}.dashboard-header p{margin:0;font-size:1.1rem;opacity:.9}.dashboard-tabs{display:flex;gap:1rem;margin-bottom:2rem;justify-content:center}.tab{padding:1rem 2rem;background:#fff;border:2px solid #e9ecef;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;color:#6c757d}.tab:hover{border-color:#667eea;color:#667eea;transform:translateY(-2px);box-shadow:0 4px 12px #667eea33}.tab.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:transparent;transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.dashboard-content{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 10px #0000001a;margin-bottom:2rem}.dashboard-footer{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 10px #0000001a}.info-box{background:#f8f9fa;border-radius:8px;padding:1.5rem;border-left:4px solid #667eea}.info-box h3{margin:0 0 1rem;color:#495057;font-size:1.2rem}.info-box ul{margin:0;padding-left:1.5rem;color:#6c757d}.info-box li{margin-bottom:.5rem;line-height:1.5}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;text-align:center}.loading{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@media (max-width: 768px){.employee-dashboard{padding:1rem}.dashboard-header{padding:1.5rem}.dashboard-header h1{font-size:2rem}.dashboard-tabs{flex-direction:column;gap:.5rem}.tab{padding:.75rem 1rem;text-align:center}.dashboard-content,.dashboard-footer{padding:1rem}}.advance-requests{padding:var(--spacing-6);margin-left:280px;min-height:100vh;background-color:var(--gray-50)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-6);padding:var(--spacing-6);background:var(--white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200)}.page-header h2{margin:0;color:var(--gray-900);font-size:var(--font-size-2xl);font-weight:700}.header-actions{display:flex;gap:var(--spacing-3)}.advance-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-4);margin-bottom:var(--spacing-6)}.stat-card{background:var(--white);padding:var(--spacing-6);border-radius:var(--border-radius-lg);text-align:center;box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);transition:all .3s ease}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-number{font-size:var(--font-size-3xl);font-weight:700;color:var(--primary-color);margin-bottom:var(--spacing-2)}.stat-label{font-size:var(--font-size-sm);color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.filters{display:flex;gap:var(--spacing-2);margin-bottom:var(--spacing-6);flex-wrap:wrap}.filter-btn{padding:var(--spacing-3) var(--spacing-4);border:2px solid var(--gray-300);background:var(--white);color:var(--gray-700);border-radius:var(--border-radius-lg);cursor:pointer;font-weight:600;transition:all .3s ease}.filter-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.filter-btn.active{background:var(--primary-color);color:var(--white);border-color:var(--primary-color)}.month-filter{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-4);background:var(--white);border:2px solid var(--gray-300);border-radius:var(--border-radius-lg);margin-left:var(--spacing-4)}.month-filter label{font-weight:600;color:var(--gray-700);font-size:var(--font-size-sm);margin:0;white-space:nowrap}.month-select{padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--gray-300);border-radius:var(--border-radius);background:var(--white);color:var(--gray-700);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all .3s ease;min-width:160px}.month-select:hover{border-color:var(--primary-color)}.month-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.requests-list{display:flex;flex-direction:column;gap:var(--spacing-4)}.request-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--border-radius-lg);padding:var(--spacing-6);box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;align-items:flex-start;transition:all .3s ease}.request-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.request-info{flex:1;display:flex;gap:var(--spacing-6)}.employee-info{min-width:200px}.employee-name{font-weight:700;color:var(--gray-900);font-size:var(--font-size-lg);margin-bottom:var(--spacing-1)}.employee-email{color:var(--gray-600);font-size:var(--font-size-sm);margin-bottom:var(--spacing-2)}.request-details{flex:1}.amount{font-size:var(--font-size-2xl);font-weight:700;color:var(--primary-color);margin-bottom:var(--spacing-2)}.month{color:var(--gray-600);font-size:var(--font-size-sm);margin-bottom:var(--spacing-1)}.date{color:var(--gray-500);font-size:var(--font-size-xs);margin-bottom:var(--spacing-2)}.comment,.manager-comment{background:var(--gray-50);padding:var(--spacing-3);border-radius:var(--border-radius);font-size:var(--font-size-sm);color:var(--gray-700);margin-bottom:var(--spacing-2)}.comment{border-left:3px solid var(--primary-color)}.manager-comment{border-left:3px solid var(--warning-color)}.request-actions{display:flex;flex-direction:column;gap:var(--spacing-2);align-items:flex-end;min-width:200px}.status-badge{padding:var(--spacing-2) var(--spacing-3);border-radius:var(--border-radius);font-size:var(--font-size-sm);font-weight:600;text-align:center;min-width:100px}.status-pending{background:var(--warning-color);color:var(--white)}.status-approved{background:var(--success-color);color:var(--white)}.status-rejected{background:var(--danger-color);color:var(--white)}.btn-sm{padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-sm);min-width:120px}.no-requests{text-align:center;padding:var(--spacing-12);color:var(--gray-500);background:var(--gray-50);border-radius:var(--border-radius-lg);border:2px dashed var(--gray-300)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--white);border-radius:var(--border-radius-lg);width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-6);border-bottom:1px solid var(--gray-200)}.modal-header h3{margin:0;color:var(--gray-900);font-size:var(--font-size-xl)}.close-btn{background:none;border:none;font-size:var(--font-size-2xl);color:var(--gray-500);cursor:pointer;padding:var(--spacing-2);line-height:1}.close-btn:hover{color:var(--gray-700)}.modal-body{padding:var(--spacing-6)}.form-group{margin-bottom:var(--spacing-4)}.form-group label{display:block;margin-bottom:var(--spacing-2);font-weight:600;color:var(--gray-700)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:var(--spacing-3);border:1px solid var(--gray-300);border-radius:var(--border-radius);font-size:var(--font-size-sm);transition:border-color .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.modal-actions{display:flex;gap:var(--spacing-3);justify-content:flex-end;margin-top:var(--spacing-6);padding-top:var(--spacing-4);border-top:1px solid var(--gray-200)}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-12);color:var(--gray-600)}.spinner{width:40px;height:40px;border:4px solid var(--gray-200);border-top:4px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--spacing-4)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 1024px){.advance-requests{margin-left:0}.request-info{flex-direction:column;gap:var(--spacing-4)}.employee-info{min-width:auto}.request-actions{min-width:auto;flex-direction:row;justify-content:space-between}}@media (max-width: 768px){.advance-requests{padding:var(--spacing-4)}.page-header{flex-direction:column;gap:var(--spacing-4);text-align:center}.advance-stats{grid-template-columns:repeat(2,1fr)}.filters{justify-content:center}.month-filter{margin-left:0;width:100%;justify-content:center}.month-select{width:100%}.request-card{flex-direction:column}.request-actions{margin-top:var(--spacing-4);justify-content:center}.modal-actions{flex-direction:column}}@media (max-width: 480px){.advance-stats{grid-template-columns:1fr}.filter-btn{flex:1;text-align:center}}.recup-page{padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.recup-header{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.recup-header-title h2{margin:0;color:#2c3e50;font-size:1.8rem}.recup-header-title p{margin:.2rem 0 0;color:#6c757d;font-size:.95rem}.recup-week-selector{display:flex;align-items:center;gap:.5rem}.recup-week-selector input{padding:.5rem;border:1px solid #d0d7de;border-radius:6px;font-size:.95rem}.recup-week-selector input:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db33}.nav-button{border:none;background:#ecf0f1;color:#2c3e50;border-radius:6px;width:36px;height:36px;cursor:pointer;font-size:1rem;transition:background .2s}.nav-button:hover:not(:disabled){background:#dfe4ea}.nav-button:disabled{opacity:.5;cursor:not-allowed}.recup-summary{display:flex;flex-wrap:wrap;gap:1rem}.recup-summary-card{flex:1 1 220px;background:#fff;border-radius:12px;border:1px solid #e0e0e0;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.25rem}.summary-label{font-size:.85rem;color:#6c757d;text-transform:uppercase;letter-spacing:.05em}.summary-value{font-size:1.4rem;font-weight:700}.summary-value.positive{color:#1e8449}.summary-value.negative{color:#c0392b}.recup-card{background:#fff;border-radius:12px;border:1px solid #e0e0e0;padding:0;overflow:hidden}.recup-info{padding:1rem 1.25rem;border-radius:12px;border:1px solid #e0e0e0;background:#f8fafc;color:#475569;font-size:.95rem}.recup-loading{padding:2.5rem;display:flex;flex-direction:column;align-items:center;gap:1rem;color:#6c757d}.loading-spinner{width:36px;height:36px;border:3px solid #ecf0f1;border-top-color:#3498db;border-radius:50%;animation:spin .8s linear infinite}.recup-table{width:100%;border-collapse:collapse;min-width:820px}.recup-table thead{background:#f8f9fa}.recup-table th{padding:.9rem .75rem;font-size:.85rem;font-weight:600;color:#495057;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #e5e7eb;text-align:left}.recup-table td{padding:.9rem .75rem;border-bottom:1px solid #f0f1f3;vertical-align:middle}.employee-name{font-weight:600;color:#2c3e50}.employee-role{font-size:.8rem;color:#7f8c8d;margin-top:.1rem;text-transform:capitalize}.detail-button{margin-top:.35rem;padding:0;border:none;background:none;color:#1971c2;font-size:.85rem;font-weight:600;cursor:pointer;text-decoration:underline}.detail-button:hover:not(:disabled){color:#1b5fbf}.detail-button:disabled{color:#94a3b8;cursor:not-allowed;text-decoration:none}.badge{display:inline-block;padding:.35rem .65rem;border-radius:999px;font-size:.85rem;font-weight:600;background:#ecf0f1;color:#2c3e50}.badge.positive{background:#eafaf1;color:#1e8449}.badge.negative{background:#fdecea;color:#c0392b}.badge.neutral{background:#f4f6f9;color:#6c757d}.hours-input-wrapper{display:flex;flex-direction:column;gap:.35rem}.hours-input{width:140px;padding:.45rem .6rem;border:1px solid #d0d7de;border-radius:8px;font-size:.95rem;transition:border .2s,box-shadow .2s}.hours-input:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db26}.hours-input.positive{border-color:#27ae60;color:#166534;background:#f1fcf6}.hours-input.negative{border-color:#c0392b;color:#8c1d13;background:#fef1f0}.hours-helper{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.hours-helper.positive{color:#1e8449}.hours-helper.negative{color:#c0392b}.hours-helper.neutral{color:#7f8c8d}.justificatif-input{width:100%;min-width:220px;padding:.55rem .6rem;border:1px solid #d0d7de;border-radius:8px;font-size:.9rem;resize:vertical;min-height:70px;background:#fff;transition:border .2s,box-shadow .2s}.justificatif-input:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db26}.justificatif-input:disabled{background:#f8f9fa;color:#6c757d}.recup-empty{padding:2.5rem;text-align:center}.recup-empty h3{margin-bottom:.5rem}.recup-empty p{color:#6c757d;margin:0}.recup-history-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:1200}.recup-history-modal{background:#fff;border-radius:16px;width:min(900px,100%);max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 45px #0f172a40}.history-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #eef2f6;background:linear-gradient(135deg,#3b82f61a,#38bdf80d)}.history-header h3{margin:0;font-size:1.35rem;color:#1f2937}.history-employee{margin:.35rem 0 0;color:#475569;font-size:.95rem}.history-role{display:inline-flex;align-items:center;gap:.35rem;margin-left:.5rem;padding:.2rem .6rem;border-radius:999px;background:#eef2f6;color:#475569;font-size:.75rem;text-transform:capitalize}.history-close{border:none;background:none;font-size:1.3rem;cursor:pointer;color:#475569;transition:color .2s}.history-close:hover{color:#1f2937}.history-summary{display:flex;flex-wrap:wrap;gap:1rem;padding:1.25rem 1.5rem;background:#f8fafc;border-bottom:1px solid #eef2f6}.history-summary-item{flex:1 1 200px;display:flex;flex-direction:column;gap:.25rem}.history-loading,.history-empty{padding:2rem 1.5rem;text-align:center;color:#64748b;display:flex;flex-direction:column;gap:.75rem;align-items:center;flex:1}.history-table-wrapper{overflow:auto;padding:0 1.5rem 1.5rem}.recup-history-table{width:100%;border-collapse:collapse;min-width:600px}.recup-history-table th,.recup-history-table td{padding:.85rem .75rem;border-bottom:1px solid #eef2f6;text-align:left;vertical-align:top}.recup-history-table thead{background:#f1f5f9;text-transform:uppercase;letter-spacing:.04em;font-size:.85rem;color:#475569}.history-week{display:flex;flex-direction:column;gap:.2rem}.week-number{font-weight:600;color:#1f2937}.week-range{font-size:.85rem;color:#64748b}.history-comment{font-size:.9rem;color:#1f2937;white-space:pre-line}.history-comment.muted{color:#94a3b8;font-style:italic}.recup-history-modal .summary-value.neutral{color:#475569}@media (max-width: 768px){.recup-page{padding:1rem}.recup-header{flex-direction:column;align-items:stretch}.recup-week-selector{justify-content:space-between}.hours-input{width:100%}.justificatif-input{min-width:auto}.recup-history-backdrop{padding:.75rem}.recup-history-modal{width:100%;max-height:95vh}.history-summary{flex-direction:column}.history-summary-item{flex:1 1 auto}}.primes-page{padding:2rem;max-width:1400px;margin:0 auto}.primes-page h2{margin-bottom:2rem;color:#333}.primes-page .card{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem}.primes-page .card h3{margin-bottom:1.5rem;color:#495057;border-bottom:2px solid #e9ecef;padding-bottom:.5rem}.primes-page .form-row{display:flex;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.primes-page .form-group{flex:1;min-width:200px}.primes-page .form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#495057}.primes-page .form-control{width:100%;padding:.5rem;border:1px solid #ced4da;border-radius:4px;font-size:1rem}.primes-page .btn{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:1rem;transition:background-color .2s}.primes-page .btn-primary{background-color:#007bff;color:#fff}.primes-page .btn-primary:hover{background-color:#0056b3}.primes-page .btn-success{background-color:#28a745;color:#fff}.primes-page .btn-success:hover{background-color:#218838}.primes-page .btn-secondary{background-color:#6c757d;color:#fff}.primes-page .btn-secondary:hover{background-color:#5a6268}.primes-page .btn-danger{background-color:#dc3545;color:#fff}.primes-page .btn-danger:hover{background-color:#c82333}.primes-page .btn-sm{padding:.25rem .5rem;font-size:.875rem;margin-right:.5rem}.primes-page .table{width:100%;border-collapse:collapse;margin-top:1rem}.primes-page .table th,.primes-page .table td{padding:.75rem;text-align:left;border-bottom:1px solid #dee2e6}.primes-page .table th{background-color:#f8f9fa;font-weight:600;color:#495057}.primes-page .table tbody tr:hover{background-color:#f8f9fa}.primes-page .primes-list{margin-top:2rem}.primes-page .loading{text-align:center;padding:2rem;color:#666}@media (max-width: 768px){.primes-page{padding:1rem}.primes-page .form-row{flex-direction:column}.primes-page .table{font-size:.875rem}}.mutuelle-management{padding:2rem;max-width:1400px;margin:0 auto}.management-header{margin-bottom:2rem}.management-header h1{font-size:2rem;color:#333;margin-bottom:.5rem}.management-header p{color:#666;font-size:1rem}.stats-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a;text-align:center}.stat-card.pending{border-left:4px solid #ffc107}.stat-card.validated{border-left:4px solid #28a745}.stat-number{font-size:2rem;font-weight:700;color:#333;margin-bottom:.5rem}.stat-label{color:#666;font-size:.9rem}.filters-container{margin-bottom:1rem}.status-filter{padding:.5rem 1rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.message{padding:1rem;border-radius:4px;margin-bottom:1rem}.message.success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.message.error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.mutuelles-list{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.loading,.no-data{text-align:center;padding:3rem;color:#666}.mutuelles-table{display:flex;flex-direction:column}.table-header{display:grid;grid-template-columns:2fr 1fr 2fr 1fr 2fr 1fr;gap:1rem;padding:1rem;background-color:#f8f9fa;font-weight:700;border-bottom:2px solid #dee2e6}.table-row{display:grid;grid-template-columns:2fr 1fr 2fr 1fr 2fr 1fr;gap:1rem;padding:1rem;border-bottom:1px solid #dee2e6;align-items:center}.employee-info{display:flex;flex-direction:column}.employee-name{font-weight:700;color:#333}.employee-email{font-size:.9rem;color:#666}.file-info{display:flex;flex-direction:column}.file-name{font-weight:500;color:#333;word-break:break-word}.file-details{font-size:.85rem;color:#666}.status-info{display:flex;flex-direction:column;gap:.5rem}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:500}.status-badge.status-pending{background-color:#fff3cd;color:#856404}.status-badge.status-validated{background-color:#d4edda;color:#155724}.status-badge.status-rejected{background-color:#f8d7da;color:#721c24}.expiration-info{font-size:.8rem;color:#666}.validation-info{display:flex;flex-direction:column}.quality-score{font-weight:500;margin-bottom:.25rem}.quality-score.good{color:#28a745}.quality-score.poor{color:#dc3545}.validation-message{font-size:.85rem;color:#666}.actions{display:flex;gap:.5rem}.action-btn{padding:.5rem;border:none;background:none;cursor:pointer;font-size:1.2rem;border-radius:4px;transition:background-color .2s}.action-btn:hover{background-color:#f0f0f0}.action-btn.download{color:#007bff}.action-btn.validate{color:#28a745}.action-btn.reject,.action-btn.delete{color:#dc3545}.action-btn.delete:hover{background-color:#f8d7da}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:2rem}.page-btn{padding:.5rem 1rem;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer}.page-btn:disabled{opacity:.5;cursor:not-allowed}.page-info{color:#666}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;padding:2rem;max-width:500px;width:90%}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666}.modal-actions{display:flex;gap:1rem;margin-top:1.5rem}.btn{padding:.75rem 1.5rem;border:none;border-radius:4px;cursor:pointer;font-size:1rem}.btn-primary{background-color:#007bff;color:#fff}.btn-secondary{background-color:#6c757d;color:#fff}.btn:hover{opacity:.9}.ambassadeur-page{padding:1.5rem;max-width:1200px;margin:0 auto}.ambassadeur-header{margin-bottom:1.5rem}.ambassadeur-header h1{font-size:1.75rem;color:#2c3e50;margin:0}.ambassadeur-loading{text-align:center;padding:3rem;color:#666}.ambassadeur-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem}.ambassadeur-tabs button{padding:.6rem 1.2rem;border:1px solid #ddd;background:#fff;border-radius:6px;cursor:pointer;font-weight:500}.ambassadeur-tabs button.active{background:#3498db;color:#fff;border-color:#3498db}.ambassadeur-section{display:flex;flex-direction:column;gap:1.5rem}.ambassadeur-card{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.ambassadeur-card h2{font-size:1.2rem;margin:0 0 .5rem;color:#2c3e50}.ambassadeur-hint{font-size:.9rem;color:#666;margin:0 0 1rem}.ambassadeur-import-excel{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #eee}.ambassadeur-import-excel h3{font-size:1.1rem;margin:0 0 .5rem;color:#2c3e50}.import-excel-row{margin-top:.75rem}.btn-import-excel{display:inline-block;padding:.5rem 1rem;background:#8e44ad;color:#fff;border-radius:6px;cursor:pointer;font-weight:500}.btn-import-excel:hover{background:#7d3c98}.btn-import-excel.disabled{opacity:.7;cursor:not-allowed}.ambassadeur-form{display:flex;flex-direction:column;gap:1rem}.ambassadeur-form .form-row{display:flex;gap:1rem;flex-wrap:wrap}.ambassadeur-form .form-row-with-label{flex-direction:column;align-items:flex-start}.ambassadeur-field-label{font-weight:600;color:#2c3e50;font-size:.9rem;margin-bottom:.25rem}.ambassadeur-form input{flex:1;min-width:140px;padding:.5rem .75rem;border:1px solid #ddd;border-radius:6px;font-size:1rem}.ambassadeur-form button{align-self:flex-start;padding:.6rem 1.2rem;background:#27ae60;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer}.ambassadeur-form button:disabled{opacity:.7;cursor:not-allowed}.ambassadeur-list{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:1.5rem;overflow-x:auto}.ambassadeur-list-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.ambassadeur-list-header h2{margin:0}.ambassadeur-list h2{font-size:1.2rem;margin:0 0 1rem;color:#2c3e50}.btn-send-sms{padding:.5rem 1rem;font-size:.95rem;background:#27ae60;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;white-space:nowrap}.btn-send-sms:hover:not(:disabled){background:#219a52}.btn-send-sms:disabled{opacity:.7;cursor:not-allowed}.ambassadeur-empty{color:#666;font-style:italic}.ambassadeur-table{width:100%;border-collapse:collapse}.ambassadeur-table th,.ambassadeur-table td{padding:.6rem .75rem;text-align:left;border-bottom:1px solid #eee}.ambassadeur-table th{background:#f8f9fa;font-weight:600;color:#495057}.ambassadeur-table tbody tr:hover{background:#f8f9fa}.btn-link-code{background:none;border:none;color:#3498db;cursor:pointer;font-weight:600;text-decoration:underline;padding:0}.btn-link-code:hover{color:#2980b9}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.checkbox-label input{cursor:pointer}.btn-delete{padding:.3rem .6rem;font-size:.85rem;background:#e74c3c;color:#fff;border:none;border-radius:4px;cursor:pointer}.btn-delete:hover{background:#c0392b}.btn-regenerate{margin-left:6px;padding:2px 6px;font-size:.9rem;background:#f39c12;color:#fff;border:none;border-radius:4px;cursor:pointer}.btn-regenerate:hover{background:#e67e22}.amb-actions{display:flex;gap:4px;flex-wrap:wrap}.btn-regenerate-sms,.btn-resend-sms{padding:2px 6px;font-size:.85rem;background:#27ae60;color:#fff;border:none;border-radius:4px;cursor:pointer}.btn-regenerate-sms:hover,.btn-resend-sms:hover:not(:disabled){background:#219a52}.btn-resend-sms:disabled{opacity:.5;cursor:not-allowed}.text-danger{color:#e74c3c;font-weight:600}.ambassadeur-list-actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.btn-preview-sms{padding:.5rem 1rem;font-size:.9rem;background:#3498db;color:#fff;border:none;border-radius:6px;cursor:pointer}.btn-preview-sms:hover{background:#2980b9}.btn-sync-blacklist{padding:.5rem 1rem;font-size:.9rem;background:#95a5a6;color:#fff;border:none;border-radius:6px;cursor:pointer}.btn-sync-blacklist:hover:not(:disabled){background:#7f8c8d}.btn-sync-blacklist:disabled{opacity:.7;cursor:not-allowed}.sms-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.sms-modal{background:#fff;border-radius:8px;padding:1.5rem;max-width:560px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #0003}.sms-modal h3{margin:0 0 .5rem;font-size:1.25rem}.sms-modal-hint{font-size:.85rem;color:#666;margin:0 0 .75rem}.sms-modal-hint code{background:#f0f0f0;padding:2px 6px;border-radius:4px}.sms-modal-template-row{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.sms-modal-textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;font-family:inherit;resize:vertical}.btn-refresh-preview{align-self:flex-start;padding:.35rem .75rem;font-size:.85rem;background:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer}.btn-refresh-preview:hover{background:#2980b9}.sms-modal-stats{margin-bottom:1rem}.sms-modal-stats .ok{color:#27ae60;font-weight:600}.sms-modal-stats .warn{color:#e67e22;font-weight:600}.sms-modal-previews{margin-bottom:1rem;font-size:.9rem}.sms-modal-previews strong{display:block;margin-bottom:.5rem}.sms-preview-item{padding:.5rem;background:#f8f9fa;border-radius:4px;margin-bottom:.5rem}.sms-preview-name{display:block;font-weight:600;color:#2c3e50;margin-bottom:.25rem}.sms-preview-msg{display:block;color:#555;font-size:.85rem;white-space:pre-wrap;word-break:break-word}.sms-modal-actions{display:flex;gap:1rem;justify-content:flex-end}.btn-cancel{padding:.5rem 1rem;background:#95a5a6;color:#fff;border:none;border-radius:6px;cursor:pointer}.btn-cancel:hover{background:#7f8c8d}.btn-save-template{padding:.5rem 1rem;background:#9b59b6;color:#fff;border:none;border-radius:6px;cursor:pointer}.btn-save-template:hover{background:#8e44ad}.commandes-en-ligne{padding:20px;max-width:1200px;margin:0 auto}.commandes-en-ligne .page-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:20px}.commandes-en-ligne .page-header h1{margin:0;font-size:1.5rem}.commandes-en-ligne .header-actions{display:flex;gap:8px;flex-wrap:wrap}.commandes-en-ligne .btn{padding:8px 16px;border-radius:6px;border:none;cursor:pointer;font-size:14px}.commandes-en-ligne .btn-primary{background:#2563eb;color:#fff}.commandes-en-ligne .btn-primary:hover:not(:disabled){background:#1d4ed8}.commandes-en-ligne .btn-secondary{background:#e5e7eb;color:#374151}.commandes-en-ligne .btn-secondary:hover{background:#d1d5db}.commandes-en-ligne .btn:disabled{opacity:.6;cursor:not-allowed}.commandes-en-ligne .google-auth-status{display:flex;align-items:center;gap:8px}.commandes-en-ligne .google-email{font-size:12px;color:#059669}.commandes-en-ligne .btn-google{background:#4285f4;color:#fff}.commandes-en-ligne .btn-google:hover{background:#3367d6}.commandes-en-ligne .btn-sm{padding:4px 10px;font-size:12px}.commandes-en-ligne .filters{margin-bottom:20px}.commandes-en-ligne .filters label{display:flex;align-items:center;gap:8px}.commandes-en-ligne .filters input[type=date]{padding:6px 10px;border:1px solid #d1d5db;border-radius:6px}.commandes-en-ligne .loading,.commandes-en-ligne .empty-state{text-align:center;padding:40px;color:#6b7280}.commandes-en-ligne .empty-state .btn{margin-top:12px}.commandes-en-ligne .orders-grid{display:flex;flex-direction:column;gap:24px}.commandes-en-ligne .no-orders-msg{color:#6b7280;margin:0 0 16px;font-size:14px}.commandes-en-ligne .order-block{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px;overflow-x:auto}.commandes-en-ligne .order-block h3{margin:0 0 12px;font-size:1.1rem;color:#111827}.commandes-en-ligne .order-block table{width:100%;border-collapse:collapse}.commandes-en-ligne .order-block th,.commandes-en-ligne .order-block td{padding:8px 12px;text-align:left;border-bottom:1px solid #e5e7eb}.commandes-en-ligne .order-block th{background:#f9fafb;font-weight:600}.commandes-en-ligne .commandes-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:99999}.commandes-en-ligne .commandes-modal-overlay .commandes-modal{background:#fff;padding:24px;border-radius:8px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;opacity:1!important;visibility:visible!important;box-shadow:0 4px 20px #0000004d}.commandes-en-ligne .commandes-modal h2{margin:0 0 16px;font-size:1.25rem}.commandes-en-ligne .commandes-modal form{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.commandes-en-ligne .commandes-modal form input{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px}.commandes-en-ligne .links-list{list-style:none;padding:0;margin:0 0 16px}.commandes-en-ligne .links-list li{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid #e5e7eb}.commandes-en-ligne .links-list .link-edit-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center;flex:1}.commandes-en-ligne .links-list .link-edit-form input{flex:1;min-width:120px;padding:6px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:13px}.commandes-en-ligne .links-list .link-class{flex:1;font-weight:500}.commandes-en-ligne .links-list a{color:#2563eb;text-decoration:none}.commandes-en-ligne .links-list a:hover{text-decoration:underline}.commandes-en-ligne .btn-delete{padding:4px 10px;background:#ef4444;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px}.commandes-en-ligne .btn-delete:hover{background:#dc2626}.commandes-en-ligne .summary-filters{display:flex;gap:8px;margin-bottom:16px;align-items:center}.commandes-en-ligne .summary-filters select{padding:6px 10px;border:1px solid #d1d5db;border-radius:6px}.commandes-en-ligne .monthly-summary{margin-bottom:16px}.commandes-en-ligne .monthly-summary h3{margin:0 0 12px;font-size:1rem}.commandes-en-ligne .monthly-summary table{width:100%;border-collapse:collapse}.commandes-en-ligne .monthly-summary td{padding:6px 12px;border-bottom:1px solid #e5e7eb}.commandes-en-ligne .monthly-summary .total-row td{font-weight:600;background:#f9fafb}.product-exchanges{padding:var(--spacing-6);margin-left:280px;min-height:100vh;background-color:var(--gray-50)}.product-exchanges .page-header{margin-bottom:var(--spacing-6);padding:var(--spacing-6);background:var(--white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm)}.product-exchanges .page-header h2{margin:0;font-size:var(--font-size-2xl);font-weight:700}.tabs-nav{display:flex;gap:var(--spacing-2);margin-bottom:var(--spacing-6)}.tabs-nav button{padding:var(--spacing-3) var(--spacing-6);border:2px solid var(--gray-300);background:var(--white);border-radius:var(--border-radius);cursor:pointer;font-weight:500;transition:all .2s}.tabs-nav button:hover{border-color:var(--primary-color);color:var(--primary-color)}.tabs-nav button.active{background:var(--primary-color);border-color:var(--primary-color);color:var(--white)}.product-exchanges .card{background:var(--white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.product-exchanges .card-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-6);border-bottom:1px solid var(--gray-200)}.product-exchanges .card-header h3{margin:0;font-size:var(--font-size-xl)}.product-exchanges .header-actions{display:flex;gap:var(--spacing-3);align-items:center}.product-exchanges .header-actions select{padding:var(--spacing-2) var(--spacing-4);border:1px solid var(--gray-300);border-radius:var(--border-radius);font-size:14px}.table-responsive{overflow-x:auto}.product-exchanges .data-table{width:100%;border-collapse:collapse}.product-exchanges .data-table th,.product-exchanges .data-table td{padding:var(--spacing-4);text-align:left;border-bottom:1px solid var(--gray-200)}.product-exchanges .data-table th{background:var(--gray-50);font-weight:600;color:var(--gray-700)}.product-exchanges .data-table tr:hover{background:var(--gray-50)}.product-exchanges .data-table .empty{text-align:center;padding:var(--spacing-8)!important;color:var(--gray-500)}.btn-sm{padding:4px 8px;margin-right:4px;border:none;background:transparent;cursor:pointer;font-size:14px;border-radius:4px}.btn-sm:hover{background:var(--gray-200)}.btn-delete:hover{background:#fee2e2}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000}.product-exchanges .modal-overlay .modal{opacity:1;visibility:visible;position:relative;width:auto;height:auto;top:auto;left:auto;right:auto;bottom:auto}.product-exchanges .modal-overlay .modal{background:var(--white);padding:var(--spacing-10);border-radius:var(--border-radius-lg);max-width:480px;width:90%;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:var(--spacing-6)}.product-exchanges .modal-overlay .modal.modal-large{max-width:560px}.product-exchanges .modal-overlay .modal h3{margin:0;font-size:var(--font-size-xl)}.product-exchanges .modal-overlay .form-group{margin-bottom:var(--spacing-5)}.product-exchanges .modal-overlay .form-group:last-of-type{margin-bottom:0}.form-group label{display:block;margin-bottom:var(--spacing-3);font-weight:500;opacity:.9}.form-group input,.form-group select{margin-top:var(--spacing-1)}.form-group input,.form-group select{width:100%;padding:var(--spacing-3);border:1px solid var(--gray-300);border-radius:var(--border-radius);font-size:14px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--spacing-4)}.exchange-summary{margin:0 0 var(--spacing-6);padding:var(--spacing-3);background:var(--gray-50);border-radius:var(--border-radius);font-weight:500}.help-text{font-size:13px;color:var(--gray-600);margin:0 0 var(--spacing-6)}.product-exchanges .modal-overlay .modal-actions{display:flex;gap:var(--spacing-4);justify-content:flex-end;margin-top:var(--spacing-6);padding-top:var(--spacing-6);border-top:1px solid var(--gray-200)}.product-exchanges .loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-12)}.product-exchanges .spinner{width:40px;height:40px;border:3px solid var(--gray-200);border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite}.responsable-km{padding:1.5rem}.responsable-km .page-header{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.5rem}.responsable-km .page-header h2{margin:0;font-size:1.5rem}.responsable-km .header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.responsable-km .form-control{padding:.4rem .6rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem}.responsable-km .taux-km-label{display:flex;align-items:center;gap:.5rem}.responsable-km .taux-input{width:70px;padding:.4rem;border:1px solid #ddd;border-radius:4px}.responsable-km .btn{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.9rem}.responsable-km .btn-success{background:#28a745;color:#fff}.responsable-km .btn-success:hover:not(:disabled){background:#218838}.responsable-km .btn-outline{background:#fff;border:1px solid #007bff;color:#007bff}.responsable-km .btn-outline:hover:not(:disabled){background:#007bff;color:#fff}.responsable-km .toll-pdf-hint{font-size:.85rem;color:#6c757d;padding:.5rem .75rem}.responsable-km .peage-section{margin-bottom:1rem;padding:1rem}.responsable-km .peage-section h3{margin:0 0 .75rem;font-size:1.1rem}.responsable-km .peage-fields{display:flex;gap:1.5rem}.responsable-km .peage-fields input{width:90px;padding:.4rem;margin-left:.25rem}.responsable-km .table-container{overflow-x:auto;padding:.5rem}.responsable-km-table{width:100%;border-collapse:collapse;font-size:.85rem}.responsable-km-table th,.responsable-km-table td{padding:.35rem;border:1px solid #e0e0e0;text-align:center}.responsable-km-table th{background:#f8f9fa;font-weight:700;text-align:center}.responsable-km-table .trip-col{min-width:180px;text-align:left;position:sticky;left:0;background:#f8f9fa;z-index:2}.responsable-km-table thead .trip-col{text-align:center}.responsable-km-table .km-col{min-width:50px}.responsable-km-table .day-col{min-width:32px;max-width:36px;font-size:.85rem;font-weight:600}.responsable-km-table thead .day-col{font-weight:700;font-size:.9rem}.responsable-km-table .total-col{min-width:70px;background:#e3f2fd;font-weight:600}.responsable-km-table .trip-cell{text-align:left;position:sticky;left:0;background:#fff;z-index:1}.responsable-km-table .km-cell{font-weight:500}.responsable-km-table .day-cell input[type=checkbox]{cursor:pointer;width:16px;height:16px}.responsable-km-table .boulangerie-row,.responsable-km-table .boulangerie-row .trip-cell{background:#e8f5e9}.responsable-km-table .trip-name-input{width:100%;min-width:120px;padding:.25rem .4rem;border:1px solid #ddd;border-radius:4px;font-size:.85rem;background:#fff}.responsable-km-table .trip-name-input:focus{border-color:#007bff;outline:none}.responsable-km-table .km-input{width:60px;padding:.25rem .4rem;border:1px solid #ddd;border-radius:4px;font-size:.85rem;text-align:center}.responsable-km-table .km-input:focus{border-color:#007bff;outline:none}.responsable-km .summary{margin-top:1rem;padding:1rem}.responsable-km .summary h3{margin:0 0 .75rem}.responsable-km .summary p{margin:.35rem 0}.loading{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #007bff;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{to{transform:rotate(360deg)}}.fade-in{animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.responsable-km .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.responsable-km .modal-content{background:#fff;border-radius:8px;padding:1.5rem;max-width:500px;width:90%;max-height:90vh;overflow-y:auto}.responsable-km .modal-content h3{margin:0 0 1rem}.responsable-km .modal-hint{font-size:.85rem;color:#666;margin-bottom:1rem}.responsable-km .modal-form label{display:block;margin-bottom:1rem}.responsable-km .modal-form input[type=text]{width:100%;padding:.5rem;margin-top:.25rem;border:1px solid #ddd;border-radius:4px}.responsable-km .divers-presets-section{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #eee}.responsable-km .divers-presets-section h4{margin:0 0 .5rem;font-size:1rem}.responsable-km .divers-preset-row{display:flex;gap:.5rem;align-items:center;margin-bottom:.5rem}.responsable-km .divers-preset-row .preset-name{flex:1;padding:.4rem}.responsable-km .divers-preset-row .preset-km{width:70px;padding:.4rem}.responsable-km .divers-preset-row.divers-add{margin-top:.75rem}.responsable-km .btn-sm{padding:.35rem .75rem;font-size:.85rem}.responsable-km .modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}.responsable-km .modal-import{max-width:700px}.responsable-km .import-format-recap{background:#e8f5e9;border:1px solid #81c784;border-radius:6px;padding:.75rem 1rem;margin-bottom:1rem;color:#2e7d32;font-weight:500}.responsable-km .import-summary{margin-bottom:1rem}.responsable-km .import-summary p{margin:.25rem 0}.responsable-km .import-deducted{color:#856404}.responsable-km .import-total-input{width:90px;padding:4px 8px;font-size:1rem;border:2px solid #667eea;border-radius:6px;margin:0 4px}.responsable-km .import-original{font-size:.9rem;color:#666;margin-left:4px}.responsable-km .import-net{font-weight:600;color:#155724;margin-top:.5rem;font-size:1.05rem}.responsable-km .import-unmatched{margin:1rem 0}.responsable-km .import-unmatched h4{margin:0 0 .5rem;font-size:1rem}.responsable-km .unmatched-table{width:100%;border-collapse:collapse;font-size:.85rem;margin-top:.5rem}.responsable-km .unmatched-table th,.responsable-km .unmatched-table td{padding:.4rem;border:1px solid #e0e0e0;text-align:left}.responsable-km .unmatched-table th{background:#f8f9fa}.responsable-km .voyage-deducted{margin-top:.5rem;font-weight:600;color:#856404}.responsable-km .import-debug{margin:1rem 0;font-size:.85rem}.responsable-km .import-debug summary{cursor:pointer;color:#666}.responsable-km .import-raw-text{margin-top:.5rem;padding:.75rem;background:#f5f5f5;border:1px solid #ddd;border-radius:4px;font-size:.75rem;max-height:200px;overflow:auto;white-space:pre-wrap;word-break:break-all}.responsable-km-table .divers-row{background:#f5f5f5}.responsable-km-table .peage-import-row{background:#fff8f0;border-left:3px solid #e67e22}.responsable-km-table .peage-import-row .trip-cell{background:#fff8f0}.responsable-km-table .peage-import-day-cell{background:#ffe6e6!important}.responsable-km-table .peage-import-day-input{border-color:#c0392b;background:#fff5f5}.responsable-km-table .peage-import-day-input:focus{border-color:#e74c3c;box-shadow:0 0 0 2px #e74c3c33}.responsable-km-table .trip-cell-content{display:flex;align-items:center;gap:.5rem}.responsable-km-table .trip-cell-content .trip-name-input{flex:1;min-width:0}.responsable-km-table .btn-delete-row{flex-shrink:0;width:24px;height:24px;padding:0;border:1px solid #dc3545;background:#fff;color:#dc3545;border-radius:4px;cursor:pointer;font-size:.85rem;line-height:1;display:flex;align-items:center;justify-content:center}.responsable-km-table .btn-delete-row:hover{background:#dc3545;color:#fff}.responsable-km-table .divers-row .trip-cell{background:#f5f5f5}.responsable-km-table .divers-day-input{width:42px;padding:.2rem .3rem;border:1px solid #ddd;border-radius:4px;font-size:.8rem;text-align:center}.responsable-km-table .divers-day-input:focus{border-color:#007bff;outline:none}.responsable-km-table .day-cell.divers-cell-filled{background:#e8f5e9!important}.responsable-km-table .day-cell.divers-cell-filled .divers-day-input{background:#c8e6c9;border-color:#81c784}.responsable-km-table .divers-km-label{color:#999}.responsable-km .divers-comments-section{margin-top:1rem;padding-top:1rem;border-top:1px solid #e0e0e0}.responsable-km .divers-comments-section label{display:block}.responsable-km .divers-comments-section strong{display:block;margin-bottom:.5rem}.responsable-km .divers-comments-input{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem;font-family:inherit;resize:vertical}@media print{@page{size:landscape;margin:1cm}body *{visibility:hidden}.responsable-km,.responsable-km *{visibility:visible}.responsable-km{position:absolute;left:0;top:0;width:100%;padding:0}.responsable-km .header-actions{display:none!important}.responsable-km .page-header h2{margin-bottom:.5rem}.responsable-km .print-period{display:block!important;font-size:1rem;margin-bottom:1rem}.modal-overlay,.loading{display:none!important}.responsable-km .page-header{margin-bottom:.5rem}.responsable-km-table .trip-name-input,.responsable-km-table .km-input,.responsable-km-table .divers-day-input,.responsable-km .divers-comments-input{border:1px solid #ccc;background:#fff}.responsable-km .peage-fields input{border:1px solid #ccc}.responsable-km .table-container{overflow:visible}.responsable-km-table{font-size:.75rem}.responsable-km-table th,.responsable-km-table td{padding:.25rem}}.deplacement-standalone{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;display:flex;justify-content:center;align-items:flex-start}.deplacement-container{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0003;max-width:480px;width:100%;overflow:hidden}.deplacement-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:24px;text-align:center}.deplacement-header h1{margin:0 0 8px;font-size:1.6rem}.deplacement-header p{margin:0;opacity:.95;font-size:.95rem}.deplacement-form{padding:24px}.deplacement-form .form-group{margin-bottom:20px}.deplacement-form .form-group-checkbox{padding:12px 0;border-bottom:1px solid #e9ecef}.deplacement-form .checkbox-label{display:flex!important;align-items:center;gap:10px;cursor:pointer;font-weight:600}.deplacement-form .checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#667eea}.deplacement-form .checkbox-hint{margin:6px 0 0 30px;font-size:.85rem;color:#666;font-weight:400}.deplacement-form label{display:block;margin-bottom:8px;font-weight:600;color:#333;font-size:.95rem}.deplacement-form .form-control{width:100%;padding:12px 14px;border:2px solid #e1e5e9;border-radius:10px;font-size:1rem;transition:border-color .2s;background:#fff}.deplacement-form .form-control:focus{outline:none;border-color:#667eea}.deplacement-form textarea.form-control{resize:vertical;min-height:60px}.deplacement-form .btn-submit{width:100%;padding:14px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;font-size:1.1rem;font-weight:600;cursor:pointer;margin-top:10px;transition:transform .2s,box-shadow .2s}.deplacement-form .btn-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 15px #667eea66}.deplacement-form .btn-submit:disabled{opacity:.7;cursor:not-allowed}.loading-msg{text-align:center;color:#666;padding:16px}.deplacement-standalone .message{margin:16px 24px 24px;padding:12px 16px;border-radius:10px;font-weight:500;text-align:center}.deplacement-standalone .message.success{background:#d4edda;color:#155724;border:1px solid #28a745}.deplacement-standalone .message.error{background:#f8d7da;color:#721c24;border:1px solid #dc3545}.plateaux-repas{padding:24px;max-width:1000px;margin:0 auto}.plateaux-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.plateaux-header h2{margin:0;font-size:1.5rem}.site-badge{background:#00a651;color:#fff;padding:4px 10px;border-radius:8px;font-size:.85rem}.plateaux-tabs{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.plateaux-tabs button{padding:10px 16px;border:2px solid #00A651;background:#fff;color:#00a651;border-radius:8px;cursor:pointer;font-weight:600}.plateaux-tabs button.active{background:#00a651;color:#fff}.filter-date{margin-bottom:16px;display:flex;align-items:center;gap:8px}.filter-date input{padding:8px 12px;border:2px solid #e5e5e5;border-radius:8px}.filter-date-hint{font-size:.9rem;color:#666;margin-left:4px}.formule-produits-checkboxes{max-height:200px;overflow-y:auto;border:2px solid #e5e5e5;border-radius:8px;padding:12px;margin-top:4px;display:flex;flex-direction:column;gap:8px}.formule-produit-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:500}.formule-produit-checkbox input{width:auto;margin:0}.plateaux-list table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #00000014}.plateaux-list th,.plateaux-list td{padding:12px 16px;text-align:left;border-bottom:1px solid #eee}.plateaux-list th{background:#f5f5f5;font-weight:600}.btn-add{background:#00a651;color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;font-weight:600;margin-bottom:16px}.btn-add:hover{background:#008f45}.btn-sm{padding:6px 12px;border:1px solid #00A651;background:#fff;color:#00a651;border-radius:6px;cursor:pointer;font-size:.9rem}.btn-sm:hover{background:#e8f5e9}.btn-sm.rupture{border-color:#dc3545;color:#dc3545}.loading,.empty{text-align:center;color:#666;padding:24px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.plateaux-repas .modal-overlay .modal{opacity:1;visibility:visible;position:relative;width:auto;height:auto;top:auto;left:auto;right:auto;bottom:auto}.plateaux-repas .modal-overlay .modal{background:#fff;padding:24px;border-radius:16px;max-width:480px;width:90%;box-shadow:0 10px 40px #0003}.plateaux-repas .modal-overlay .modal h3{margin:0 0 20px}.plateaux-repas .modal-overlay .modal label{display:block;margin-top:12px;font-weight:600;color:#333}.plateaux-repas .modal-overlay .modal input[type=text],.plateaux-repas .modal-overlay .modal input[type=email],.plateaux-repas .modal-overlay .modal input[type=password],.plateaux-repas .modal-overlay .modal input[type=number],.plateaux-repas .modal-overlay .modal select{width:100%;padding:10px 12px;border:2px solid #e5e5e5;border-radius:8px;margin-top:4px}.plateaux-repas .modal-overlay .modal select[multiple]{min-height:100px}.plateaux-repas .modal-overlay .modal-actions{display:flex;gap:12px;margin-top:24px}.plateaux-repas .modal-overlay .modal-actions button{padding:10px 20px;border-radius:8px;cursor:pointer;font-weight:600}.plateaux-repas .modal-overlay .modal-actions button[type=button]{background:#f5f5f5;border:1px solid #ddd}.plateaux-repas .modal-overlay .modal-actions button[type=submit]{background:#00a651;color:#fff;border:none}.plateaux-repas .modal-overlay .modal-actions button[type=submit]:hover{background:#008f45}.plateaux-standalone{min-height:100vh;background:#fafaf8;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.plateaux-header-standalone{background:#00a651;color:#fff;padding:20px 24px;text-align:center;position:relative}.plateaux-logo{display:flex;align-items:center;justify-content:center;gap:8px}.plateaux-logo-text{font-size:1.5rem;font-weight:700;letter-spacing:.02em}.plateaux-logo-halo{font-size:1.2rem;opacity:.9}.plateaux-subtitle{margin:4px 0 0;font-size:.95rem;opacity:.95}.plateaux-site{display:inline-block;margin-top:8px;padding:4px 12px;background:#ffffff40;border-radius:20px;font-size:.85rem}.btn-logout{position:absolute;top:16px;right:16px;background:#fff3;border:1px solid rgba(255,255,255,.5);color:#fff;padding:6px 12px;border-radius:8px;cursor:pointer;font-size:.9rem}.btn-logout:hover{background:#ffffff4d}.plateaux-loading{display:flex;align-items:center;justify-content:center;min-height:200px;color:#666}.plateaux-login{max-width:400px;margin:40px auto;padding:32px;background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014}.plateaux-login h2{margin:0 0 8px;color:#1a1a1a}.plateaux-login p{margin:0 0 24px;color:#6b6b6b;font-size:.95rem}.plateaux-login form input{width:100%;padding:12px 16px;margin-bottom:12px;border:2px solid #E5E5E5;border-radius:10px;font-size:1rem;box-sizing:border-box}.plateaux-login form input:focus{outline:none;border-color:#00a651}.plateaux-login form button{width:100%;padding:14px;background:#00a651;color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;margin-top:8px}.plateaux-login form button:hover:not(:disabled){background:#008f45}.plateaux-login form button:disabled{opacity:.7;cursor:not-allowed}.error-msg{color:#dc3545;font-size:.9rem;margin:-4px 0 8px!important}.plateaux-chat{flex:1;display:flex;flex-direction:column;max-width:480px;margin:0 auto;width:100%;padding:20px}.plateaux-messages{flex:1;overflow-y:auto;padding-bottom:20px}.message{display:flex;margin-bottom:12px}.message.user{justify-content:flex-end}.message.bot{justify-content:flex-start}.message-bubble{max-width:85%;padding:12px 16px;border-radius:16px;white-space:pre-wrap}.message.bot .message-bubble{background:#f5f5f3;border:1px solid #E5E5E5;color:#1a1a1a;border-bottom-left-radius:4px}.message.user .message-bubble{background:#00a651;color:#fff;border-bottom-right-radius:4px}.message-text{display:block}.quick-replies{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.quick-reply{padding:8px 14px;border:2px solid #00A651;background:#fff;color:#00a651;border-radius:20px;cursor:pointer;font-size:.9rem;font-weight:500}.quick-reply:hover{background:#e8f5e9}.message.bot .message-bubble input[type=date]{padding:8px 12px;border:2px solid #E5E5E5;border-radius:8px;margin-right:8px;font-size:1rem}.message.bot .message-bubble input[type=date]:focus{outline:none;border-color:#00a651}.typing{opacity:.6;animation:blink 1s infinite}@keyframes blink{50%{opacity:1}}.chorus-page{max-width:1400px;margin:0 auto;padding:1rem 1.5rem 3rem}.chorus-header h1{margin:0 0 .25rem;font-size:1.75rem}.chorus-sub{color:#555;margin:0 0 1rem}.card-like{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1.25rem;margin-bottom:1.25rem;box-shadow:0 1px 3px #0000000f}.chorus-toolbar{margin-bottom:1rem}.chorus-toolbar-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.chorus-liste-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.chorus-liste-head h2{margin:0;font-size:1.2rem}.chorus-tri-label{display:flex;flex-direction:column;gap:.35rem;font-weight:600;font-size:.9rem}.chorus-tri-label select{min-width:220px;padding:.45rem .6rem;border:1px solid #ccc;border-radius:6px}.chorus-field-remarque input{min-width:220px;max-width:100%}.chorus-modal-wide{min-width:min(520px,92vw);max-height:85vh;overflow:auto}.chorus-empty-inline{list-style:none;color:#888;padding:.5rem 0}.chorus-remarque-cell{min-width:140px;max-width:220px}.chorus-remarque-input{width:100%;padding:.35rem .5rem;border:1px solid #ccc;border-radius:6px;font-size:.85rem}.chorus-form-new{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end}.chorus-form-new label{display:flex;flex-direction:column;gap:.35rem;font-weight:600;font-size:.9rem}.chorus-form-new input,.chorus-form-new select{min-width:180px;padding:.45rem .6rem;border:1px solid #ccc;border-radius:6px}.chorus-table-wrap{overflow-x:auto}.chorus-table{width:100%;border-collapse:collapse;font-size:.9rem}.chorus-table th,.chorus-table td{border:1px solid #e0e0e0;padding:.5rem .6rem;text-align:left;vertical-align:middle}.chorus-table th{background:#f8f9fa;font-weight:600}.chorus-empty{text-align:center;color:#888;padding:2rem!important}.chorus-client-cell{font-weight:600}.chorus-remarques{font-size:.8rem;color:#666;margin-top:.25rem}.chorus-bon-cell{white-space:nowrap}.chorus-bon-cell .btn-link{margin-left:.5rem;background:none;border:none;color:#0d6efd;cursor:pointer;text-decoration:underline;font-size:.85rem}.chorus-check{text-align:center}.chorus-check input{width:18px;height:18px;cursor:pointer}.chorus-client-list{list-style:none;padding:0;margin:0}.chorus-client-list li{padding:.5rem 0;border-bottom:1px solid #eee;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.chorus-rem{color:#555;font-weight:400}.btn{padding:.45rem .9rem;border-radius:6px;border:1px solid #ccc;background:#fff;cursor:pointer;font-size:.9rem}.btn-primary{background:#0d6efd;color:#fff;border-color:#0d6efd}.btn-success{background:#198754;color:#fff;border-color:#198754}.btn-danger{background:#dc3545;color:#fff;border-color:#dc3545}.btn-sm{padding:.25rem .5rem;font-size:.8rem}.btn-xs{padding:.15rem .45rem;font-size:.75rem}.btn-outline{border:1px solid #0d6efd;color:#0d6efd;background:#fff}.chorus-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.chorus-modal{background:#fff;padding:1.5rem;border-radius:10px;min-width:320px;max-width:90vw}.chorus-modal h3{margin-top:0}.chorus-modal label{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem;font-weight:600}.chorus-modal input,.chorus-modal textarea{padding:.5rem;border:1px solid #ccc;border-radius:6px}.chorus-modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.vehicle-page{max-width:1200px;margin:0 auto;padding:1rem 1.5rem 3rem}.vehicle-page h1{margin:0 0 .5rem;font-size:1.6rem}.vehicle-banner{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:.75rem 1rem;margin-bottom:1rem}.vehicle-banner ul{margin:.5rem 0 0;padding-left:1.2rem}.vehicle-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;margin-bottom:1.5rem}.vehicle-stat-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1rem;text-align:center}.vehicle-stat-card strong{display:block;font-size:1.4rem;color:#0d6efd}.vehicle-stats-footnote{font-size:.82rem;color:#666;margin:-.25rem 0 1.25rem;line-height:1.35}.vehicle-btn-stats{margin-top:0}.vehicle-modal-wide{max-width:min(640px,96vw)}.vehicle-stats-year-row{margin-bottom:1rem}.vehicle-stats-year-row label{display:flex;flex-direction:column;gap:.35rem;font-weight:600;font-size:.9rem}.vehicle-stats-year-row select{max-width:120px;padding:.45rem .6rem;border:1px solid #ccc;border-radius:6px}.vehicle-km-chart-summary{margin:0 0 .75rem;font-size:.95rem}.vehicle-km-chart{display:flex;align-items:flex-end;justify-content:space-between;gap:4px;min-height:200px;padding:.5rem 0 .25rem;border-bottom:1px solid #e0e0e0;margin-bottom:.5rem}.vehicle-km-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;min-width:0;max-width:48px}.vehicle-km-bar-track{width:100%;height:150px;display:flex;flex-direction:column;justify-content:flex-end;background:#f1f3f5;border-radius:4px 4px 0 0;overflow:hidden}.vehicle-km-bar-fill{width:100%;min-height:0;background:linear-gradient(180deg,#0d6efd,#0a58ca);border-radius:4px 4px 0 0;transition:height .2s ease}.vehicle-km-bar-val{font-size:.65rem;color:#444;min-height:1rem;line-height:1;margin-top:2px}.vehicle-km-bar-label{font-size:.65rem;color:#666;margin-top:2px;text-align:center;line-height:1.1}.vehicle-table-wrap{position:relative;overflow-x:auto;-webkit-overflow-scrolling:touch}.vehicle-table th.vehicle-th-sticky,.vehicle-table td.vehicle-td-sticky{position:sticky;right:0;z-index:2;background:#fff;border-left:1px solid #dee2e6;box-shadow:-4px 0 8px #0000000f;min-width:52px;text-align:center;vertical-align:middle}.vehicle-table thead th.vehicle-th-sticky{z-index:3;background:#f8f9fa}tr.vehicle-row-km-warn td.vehicle-td-sticky{background:#ffe5e5!important}.vehicle-section{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1.25rem;margin-bottom:1.25rem}.vehicle-section h2{margin-top:0;font-size:1.15rem}.vehicle-config-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;align-items:end}.vehicle-config-grid label{display:flex;flex-direction:column;gap:.35rem;font-weight:600;font-size:.9rem}.vehicle-config-grid input{padding:.45rem .6rem;border:1px solid #ccc;border-radius:6px}.vehicle-table{width:100%;border-collapse:collapse;font-size:.85rem}.vehicle-table th,.vehicle-table td{border:1px solid #e0e0e0;padding:.45rem .5rem;text-align:left}.vehicle-table th{background:#f8f9fa}.vehicle-problem{color:#b02a37;font-weight:600}.vehicle-badge{display:inline-block;padding:.15rem .45rem;border-radius:4px;font-size:.75rem;background:#e9ecef}.vehicle-top-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin:.75rem 0 1rem}.vehicle-link-standalone{display:inline-block;margin-top:0;padding:.5rem 1rem;background:#198754;color:#fff!important;border-radius:6px;text-decoration:none;font-weight:600}.vehicle-link-standalone:hover{opacity:.92}.vehicle-page .btn-primary{background:#0d6efd;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-weight:600}.vehicle-history-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.vehicle-history-header h2{margin:0}.vehicle-month-picker{display:flex;flex-direction:column;gap:.35rem;font-weight:600;font-size:.9rem}.vehicle-month-picker input[type=month]{padding:.45rem .6rem;border:1px solid #ccc;border-radius:6px}.vehicle-hint{font-size:.82rem;color:#666;margin:0 0 .75rem}.vehicle-row-km-warn{background:#ffe5e5!important}.vehicle-row-km-warn td{border-color:#f5b5b5}.vehicle-btn-dismiss{background:#6c757d;color:#fff;border:none;padding:.25rem .5rem;border-radius:4px;font-size:.8rem;cursor:pointer}.vehicle-btn-dismiss:hover{background:#5a6268}.vehicle-fait-cells{white-space:nowrap}.vehicle-fait-grid{display:flex;flex-wrap:wrap;gap:.35rem .6rem;align-items:center;font-size:.75rem}.vehicle-fait-grid label{cursor:pointer;font-weight:500}.vehicle-link-photo{background:none;border:none;color:#0d6efd;text-decoration:underline;cursor:pointer;font-size:inherit;padding:0}.vehicle-link-photo:hover{color:#0a58ca}.vehicle-config-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:1rem}.vehicle-page .btn-secondary{background:#6c757d;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-weight:600}.vehicle-btn-dest:hover{filter:brightness(1.05)}.vehicle-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.vehicle-modal{background:#fff;border-radius:10px;max-width:480px;width:100%;padding:1.25rem;box-shadow:0 8px 32px #0003}.vehicle-modal h3{margin:0 0 .5rem;font-size:1.15rem}.vehicle-modal-hint{font-size:.85rem;color:#555;margin:0 0 1rem;line-height:1.4}.vehicle-dest-label{display:flex;flex-direction:column;gap:.35rem;font-weight:600;font-size:.9rem}.vehicle-dest-label textarea{width:100%;box-sizing:border-box;padding:.5rem;border:1px solid #ccc;border-radius:6px;font-family:inherit;font-size:.9rem;resize:vertical;min-height:160px}.vehicle-modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1rem}.vehicle-btn-delete{background:#dc3545;color:#fff;border:none;width:1.75rem;height:1.75rem;line-height:1;border-radius:4px;cursor:pointer;font-size:1.1rem;font-weight:700;padding:0}.vehicle-btn-delete:hover{background:#bb2d3b}.vs-page{max-width:520px;margin:0 auto;padding:1rem;font-family:system-ui,sans-serif}.vs-page h1{font-size:1.35rem;margin:0 0 .5rem}.vs-card{background:#fff;border:1px solid #ddd;border-radius:10px;padding:1rem;margin-bottom:1rem}.vs-card h2{font-size:1.05rem;margin:0 0 .75rem}.vs-field{margin-bottom:.85rem}.vs-field-nested{margin-top:.65rem;margin-bottom:0}.vs-field label{display:block;font-weight:600;font-size:.9rem;margin-bottom:.25rem}.vs-photo-hint{margin:.35rem 0 0;font-size:.8rem;color:#666}.vs-field input,.vs-field select,.vs-field textarea{width:100%;padding:.55rem;border:1px solid #ccc;border-radius:8px;font-size:1rem;box-sizing:border-box}.vs-rating{display:flex;gap:.35rem;flex-wrap:wrap}.vs-rating button{min-width:2.5rem;padding:.45rem;border:1px solid #0d6efd;background:#fff;border-radius:6px;cursor:pointer}.vs-rating button.active{background:#0d6efd;color:#fff}.vs-toggle-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.vs-toggle{padding:.4rem .65rem;border-radius:6px;border:1px solid #999;background:#f8f9fa;cursor:pointer;font-size:.85rem}.vs-toggle.on{background:#cfe2ff;border-color:#0d6efd;font-weight:600}.vs-btn{width:100%;padding:.75rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer}.vs-btn-row{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.vs-btn-primary{background:#198754;color:#fff}.vs-btn-secondary{background:#6c757d;color:#fff}.vs-msg{padding:.65rem;border-radius:8px;margin-bottom:.75rem}.vs-msg.ok{background:#d1e7dd;color:#0f5132}.vs-msg.err{background:#f8d7da;color:#842029}.vs-site{margin-bottom:1rem}.vs-site select{width:100%;padding:.55rem;font-size:1rem}.vs-dest-trigger{width:100%;text-align:left;padding:.65rem .75rem;font-size:1rem;border:1px solid #ccc;border-radius:8px;background:#fff;cursor:pointer;min-height:2.75rem;line-height:1.35}.vs-dest-trigger:hover{border-color:#198754;background:#f8fff9}.vs-dest-hint{margin:.35rem 0 0;font-size:.82rem;color:#666}.vs-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0006;display:flex;align-items:flex-end;justify-content:center;padding:0}@media (min-width: 480px){.vs-modal-overlay{align-items:center;padding:1rem}}.vs-modal{background:#fff;width:100%;max-width:420px;max-height:85vh;overflow:auto;border-radius:12px 12px 0 0;padding:1rem;box-shadow:0 -4px 24px #00000026}@media (min-width: 480px){.vs-modal{border-radius:12px}}.vs-modal-title{margin:0 0 .35rem;font-size:1.1rem}.vs-modal-hint{margin:0 0 .75rem;font-size:.85rem;color:#555;line-height:1.35}.vs-dest-list{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.vs-dest-item{display:flex;align-items:flex-start;gap:.5rem;padding:.55rem .6rem;border:1px solid #ddd;border-radius:8px;cursor:pointer;font-weight:500;font-size:.95rem}.vs-dest-item.on{border-color:#198754;background:#e8f5e9}.vs-dest-item input{margin-top:.2rem;flex-shrink:0}
