body{background-color:#f4f4f4;font-family:Arial,sans-serif}.App{text-align:center}.login-container{align-items:center;background:linear-gradient(135deg,#1e3c72,#2a5298);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-box{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:420px;padding:40px;width:100%}.login-header{margin-bottom:30px;text-align:center}.login-header h1{color:#1e3c72;font-size:28px;margin:0}.login-header p{color:#666;margin:10px 0 0}.login-form .form-group{margin-bottom:20px}.login-form .form-group label{color:#333;display:block;font-weight:600;margin-bottom:8px}.login-form .form-group input{border:2px solid #e0e0e0;border-radius:10px;box-sizing:border-box;font-size:16px;padding:14px 16px;transition:all .3s;width:100%}.login-form .form-group input:focus{border-color:#1e3c72;box-shadow:0 0 0 3px #1e3c721a;outline:none}.login-form .form-group input::placeholder{color:#aaa}.error-message{background:#ffe0e0;border-radius:8px;color:#c00;font-size:14px;margin-bottom:20px;padding:12px;text-align:center}.btn-login{background:linear-gradient(135deg,#1e3c72,#2a5298);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:18px;font-weight:600;margin-top:10px;padding:16px;transition:all .3s;width:100%}.btn-login:hover:not(:disabled){box-shadow:0 6px 20px #1e3c7266;transform:translateY(-2px)}.btn-login:disabled{cursor:not-allowed;opacity:.6}.login-help{border-top:1px solid #eee;color:#888;font-size:13px;margin-top:30px;padding-top:20px;text-align:center}.login-help p{margin:0 0 10px}.login-help ul{list-style:none;margin:0;padding:0}.login-help li{color:#666;font-family:monospace;font-size:12px;margin:8px 0}.login-help li strong{color:#1e3c72}.qr-badge-container{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;box-shadow:0 8px 32px #667eea4d;color:#fff;margin:16px 0;padding:24px}.qr-badge-header{margin-bottom:20px;text-align:center}.qr-badge-header h3{font-size:1.4rem;font-weight:600;margin:0 0 8px}.qr-instructions{font-size:.9rem;margin:0;opacity:.9}.qr-badge-content{align-items:center;display:flex;flex-direction:column;gap:16px}.qr-code-wrapper{background:#fff;border-radius:12px;box-shadow:0 4px 16px #0000001a;padding:16px}.qr-placeholder{align-items:center;display:flex;flex-direction:column}.qr-frame{background:#f8f9ff;border:3px solid #667eea;border-radius:12px;padding:16px}.qr-data{color:#333;text-align:center}.employee-name{color:#667eea;font-size:1rem;margin-bottom:4px}.token-code{color:#666;font-family:monospace;font-size:.75rem;margin-bottom:12px}.qr-visual{display:flex;justify-content:center}.qr-pattern{background:#fff;border:2px solid #333;border-radius:4px;flex-direction:column;padding:8px}.qr-pattern,.qr-row{display:flex;gap:4px}.qr-cell{background:#eee;border-radius:2px;height:20px;transition:background .3s;width:20px}.qr-cell.filled{background:#333}.qr-countdown{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff26;border-radius:8px;display:flex;flex-direction:column;padding:12px 24px}.countdown-label{font-size:.8rem;margin-bottom:4px;opacity:.9}.countdown-value{font-family:monospace;font-size:1.8rem;font-weight:700;letter-spacing:2px}.qr-countdown.ok .countdown-value{color:#a8ff78}.qr-countdown.warning .countdown-value{color:gold}.qr-countdown.critical .countdown-value{animation:pulse .5s infinite alternate;color:#ff6b6b}.btn-regenerate{background:#fff3;border:2px solid #ffffff80;border-radius:25px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:500;padding:10px 24px;transition:all .3s}.btn-regenerate:hover:not(:disabled){background:#ffffff4d;transform:translateY(-2px)}.btn-regenerate:disabled{cursor:not-allowed;opacity:.5}.qr-badge-footer{margin-top:16px;text-align:center}.qr-help{font-size:.85rem;margin:0;opacity:.8}.qr-loading{align-items:center;color:#fff;display:flex;flex-direction:column;padding:40px}.spinner{border:4px solid #ffffff4d;border-top-color:#fff;height:40px;margin-bottom:16px;width:40px}.qr-error{align-items:center;display:flex;flex-direction:column;padding:30px;text-align:center}.error-icon{font-size:2rem;margin-bottom:12px}.qr-error p{margin:0 0 16px}.btn-retry{background:#fff;border:none;border-radius:20px;color:#667eea;cursor:pointer;font-weight:500;padding:10px 24px;transition:transform .2s}.btn-retry:hover{transform:scale(1.05)}.scan-result{border-radius:8px;font-weight:500;padding:12px 20px;text-align:center;width:100%}.scan-result.success{background:#a8ff78;color:#1a5a1a}.scan-result.error{background:#ff6b6b;color:#fff}.acompte-modal-overlay{align-items:center;background:#0000004d;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.acompte-modal{background:#fff;border-radius:8px;box-shadow:0 2px 16px #00000026;max-width:90vw;min-width:320px;padding:32px 24px 24px;position:relative}.acompte-modal h2{color:#f5c542;margin-bottom:16px;margin-top:0}.acompte-status{color:#4caf50;font-weight:700;margin-top:12px}.acompte-modal input[type=number]{border:1px solid #ccc;border-radius:4px;font-size:1rem;padding:8px}.acompte-modal .btn-close-form{background:#eee;border:none;border-radius:4px;color:#222;cursor:pointer;padding:8px 16px}.calendar-day.night-shift-end{box-shadow:0 0 0 4px #75757599!important;z-index:2}.calendar-day.night-shift-end,.calendar-day.night-shift-end.has-absence,.calendar-day.night-shift-end.today,.calendar-day.night-shift-end.weekend{background:#bdbdbd!important;border:4px solid #222!important;color:#222!important}.employee-dashboard{grid-gap:25px;display:grid;gap:25px}.clock-section{background:linear-gradient(135deg,#1e3c72,#2a5298);border-radius:20px;box-shadow:0 10px 40px #1e3c724d;color:#fff;padding:40px;text-align:center}.current-date{font-size:18px;opacity:.9;text-transform:capitalize}.current-time{font-family:Courier New,monospace;font-size:72px;font-weight:700;margin:15px 0;text-shadow:0 4px 20px #0000004d}.status-badge{margin-top:15px}.status-absent,.status-none,.status-pause,.status-present{border-radius:25px;display:inline-block;font-size:16px;font-weight:600;padding:10px 25px}.status-present{background:#00c85333;border:2px solid #00c853}.status-absent{background:#ff980033;border:2px solid #ff9800}.status-pause{background:#ffc10733;border:2px solid #ffc107}.status-none{background:#fff3;border:2px solid #ffffff80}.pointage-section{background:#fff;border-radius:20px;box-shadow:0 4px 20px #00000014;padding:30px}.pointage-section h2{color:#333;margin:0 0 25px;text-align:center}.pointage-buttons{display:flex;gap:20px;justify-content:center;margin-bottom:25px}.btn-pointage{align-items:center;border:none;border-radius:16px;cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:10px;max-width:200px;padding:30px 20px;transition:all .3s}.btn-pointage:disabled{cursor:not-allowed;opacity:.4;transform:none!important}.btn-entree{background:linear-gradient(135deg,#00c853,#00e676);color:#fff}.btn-entree:hover:not(:disabled){box-shadow:0 10px 30px #00c85366;transform:scale(1.05)}.btn-sortie{background:linear-gradient(135deg,#ff5252,#ff1744);color:#fff}.btn-sortie:hover:not(:disabled){box-shadow:0 10px 30px #ff525266;transform:scale(1.05)}.pause-buttons{border-top:1px dashed #e0e0e0;margin-top:15px;padding-top:15px}.btn-pause-debut{background:linear-gradient(135deg,#ff9800,#ffc107);color:#fff}.btn-pause-debut:hover:not(:disabled){box-shadow:0 10px 30px #ff980066;transform:scale(1.05)}.btn-pause-fin{background:linear-gradient(135deg,#2196f3,#03a9f4);color:#fff}.btn-pause-fin:hover:not(:disabled){box-shadow:0 10px 30px #2196f366;transform:scale(1.05)}.btn-icon{font-size:36px}.btn-text{font-size:18px;font-weight:600}.today-summary{background:#f8f9fa;border-radius:12px;display:flex;gap:30px;justify-content:center;padding:20px;text-align:center}.summary-item{flex:1 1}.summary-label{display:block;font-size:14px;margin-bottom:5px}.summary-value{font-size:28px}.summary-value.pause-value{color:#ff9800}.summary-value.week-value{color:#2196f3}.week-summary{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-radius:12px;margin-top:15px;padding:20px}.week-summary h3{color:#1565c0;font-size:16px;margin:0 0 15px}.week-summary .summary-row{display:flex;gap:30px;justify-content:center}.week-summary .summary-item{text-align:center}.week-summary .summary-value{font-size:24px}.history-section,.week-section{background:#fff;border-radius:20px;box-shadow:0 4px 20px #00000014;padding:25px}.history-section h2,.week-section h2{color:#333;margin:0 0 20px}.no-pointages{color:#888;padding:20px}.history-list,.pointage-list{list-style:none;margin:0;padding:0}.pointage-item{align-items:center;background:#f8f9fa;border-radius:10px;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:10px;padding:15px}.pointage-item.entree{border-left:4px solid #00c853}.pointage-item.sortie{border-left:4px solid #ff5252}.pointage-time{color:#1e3c72;font-weight:600}.validation-badge{font-size:11px;padding:3px 8px}.validation-badge.en_attente{background:#fff3e0;color:#e65100}.validation-badge.valide{background:#e8f5e9;color:#2e7d32}.validation-badge.refuse{background:#ffebee;color:#c62828}.source-badge{background:#e3f2fd;border-radius:10px;color:#1565c0;font-size:10px;font-weight:500;padding:2px 6px}.history-item{background:#f8f9fa;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:8px;padding:12px 15px}.history-date{color:#666}.history-type{border-radius:12px;font-size:12px;font-weight:600;padding:3px 10px}.history-type.entree{background:#e8f5e9;color:#2e7d32}.history-type.sortie{background:#ffebee;color:#c62828}.history-time{color:#1e3c72;font-weight:500}.emp-nav{display:flex;gap:10px;margin-bottom:20px}.emp-nav-btn{background:#f0f2f5;border:none;border-radius:12px;color:#666;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:15px 20px;transition:all .3s}.emp-nav-btn.active{background:linear-gradient(135deg,#1e3c72,#2a5298);color:#fff}.emp-nav-btn:hover:not(.active){background:#e0e4e8}.balance-section{background:#fff;border-radius:20px;box-shadow:0 4px 20px #00000014;padding:25px}.balance-section h2{color:#333;margin:0 0 20px}.balance-cards{display:flex;gap:20px}.balance-card{align-items:flex-start;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px solid #e0e4e8;border-radius:16px;display:flex;flex:1 1;flex-direction:column;gap:10px;padding:20px}.balance-card.cp-card{border-left:4px solid #4caf50}.balance-card.rtt-card{border-left:4px solid #2196f3}.balance-icon{font-size:36px}.balance-info{display:flex;flex-direction:column}.balance-value{color:#1e3c72;font-size:32px;font-weight:700}.balance-label{color:#666;font-size:14px}.balance-details{background:#00000008;border-radius:8px;color:#888;font-size:11px;padding:6px 10px;width:100%}.absence-request-section{background:#fff;border-radius:20px;box-shadow:0 4px 20px #00000014;padding:25px}.section-header{margin-bottom:20px}.section-header h2{color:#333}.btn-toggle-form{background:#1e3c72;border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .3s}.btn-toggle-form:hover{background:#2a5298;transform:scale(1.02)}.absence-form{background:#f8f9fa;border-radius:16px;padding:25px}.form-group input,.form-group select,.form-group textarea{border:2px solid #e0e4e8;font-size:14px;transition:all .3s}.form-group textarea{min-height:80px;resize:vertical}.btn-submit-absence{background:linear-gradient(135deg,#00c853,#00e676);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:10px;padding:15px;transition:all .3s;width:100%}.btn-submit-absence:hover{box-shadow:0 5px 20px #00c8534d;transform:scale(1.02)}.absences-list-section{background:#fff;border-radius:20px;box-shadow:0 4px 20px #00000014;padding:25px}.absences-list-section h2{color:#333;margin:0 0 20px}.no-absences{padding:30px}.absences-list{list-style:none;margin:0;padding:0}.absence-item{background:#f8f9fa;border-left:4px solid #ccc;border-radius:12px;margin-bottom:15px;padding:20px}.absence-item.status-en_attente{border-left-color:#ff9800}.absence-item.status-approuve{border-left-color:#00c853}.absence-item.status-refuse{border-left-color:#ff5252}.absence-main{align-items:center;display:flex;gap:15px;margin-bottom:10px}.absence-dates{color:#333;font-weight:600}.absence-details{align-items:center;display:flex;justify-content:space-between}.absence-motif{font-size:14px}.absence-refus{background:#ffebee;border-radius:8px;color:#c62828;font-size:14px;margin-top:10px;padding:10px 15px}.badge-pending{background:#fff3e0;color:#e65100}.badge-approved,.badge-pending{border-radius:20px;font-size:13px;font-weight:600;padding:5px 12px}.badge-approved{background:#e8f5e9;color:#2e7d32}.badge-rejected{background:#ffebee;border-radius:20px;color:#c62828;font-size:13px;font-weight:600;padding:5px 12px}.year-stats{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:15px;color:#fff;margin-top:20px;padding:20px}.year-stats h3{font-size:16px;margin:0 0 15px;opacity:.9}.stat-item{text-align:center}.stat-number{display:block;font-size:28px}.stat-item .stat-label{font-size:11px;opacity:.8;text-transform:uppercase}.upcoming-absences{background:#fff;border-radius:20px;box-shadow:0 4px 20px #00000014;padding:25px}.upcoming-absences h2{color:#333;margin:0 0 20px}.upcoming-list{display:flex;flex-direction:column;gap:12px}.upcoming-item{align-items:center;background:#f8f9fa;border-left:4px solid #2196f3;border-radius:12px;display:flex;gap:15px;padding:15px}.upcoming-item.status-en_attente{border-left-color:#ff9800}.upcoming-icon{font-size:24px}.upcoming-info{flex:1 1}.upcoming-type{color:#333;display:block;font-weight:600}.upcoming-dates{color:#666;font-size:13px}.upcoming-status{font-size:20px}.quick-absence-section{background:#fff;border-radius:20px;box-shadow:0 4px 20px #00000014;padding:25px}.quick-absence-section h2{color:#333;margin:0 0 5px}.quick-subtitle{color:#666;font-size:14px;margin:0 0 20px}.quick-buttons{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.quick-btn{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:18px 12px;position:relative;transition:all .2s}.quick-btn:hover{background:color-mix(in srgb,#2196f3 10%,#fff);background:color-mix(in srgb,var(--btn-color,#2196f3) 10%,#fff);transform:translateY(-2px)}.quick-btn.selected,.quick-btn:hover{border-color:#2196f3;border-color:var(--btn-color,#2196f3)}.quick-btn.selected{background:color-mix(in srgb,#2196f3 15%,#fff);background:color-mix(in srgb,var(--btn-color,#2196f3) 15%,#fff);box-shadow:0 4px 15px color-mix(in srgb,#2196f3 30%,#0000);box-shadow:0 4px 15px color-mix(in srgb,var(--btn-color,#2196f3) 30%,#0000)}.quick-icon{font-size:28px}.quick-label{color:#333;font-size:12px;font-weight:600;text-align:center}.deductible-tag{background:#ff9800;border-radius:10px;color:#fff;font-size:9px;font-weight:600;padding:3px 6px;position:absolute;right:-8px;top:-8px}.absence-form-section{background:#fff;border:2px solid #2196f3;border-radius:20px;box-shadow:0 4px 20px #00000014;padding:25px}.form-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.form-header h2{color:#1e3c72;font-size:18px;margin:0}.btn-close-form{background:#f5f5f5;border:none;border-radius:50%;cursor:pointer;font-size:16px;height:32px;transition:all .2s;width:32px}.btn-close-form:hover{background:#e0e0e0}.deductible-warning{background:#fff3e0;border:1px solid #ffb74d;border-radius:10px;color:#e65100;font-size:14px;margin-bottom:15px;padding:12px 15px}.no-absences{color:#888;padding:40px 20px;text-align:center}.no-absences-icon{display:block;font-size:48px;margin-bottom:15px}.no-absences p{margin:5px 0}.no-absences-hint{color:#aaa;font-size:13px}.type-teletravail{background:#f3e5f5;color:#7b1fa2}.type-formation{background:#fff3e0;color:#e65100}.type-evenement_familial{background:#fce4ec;color:#c2185b}.type-demenagement{background:#efebe9;color:#5d4037}.type-enfant_malade{background:#e0f7fa;color:#00838f}.type-rendez_vous_medical{background:#eceff1;color:#546e7a}.calendar-section{background:#fff;border-radius:20px;box-shadow:0 4px 20px #00000014;padding:25px}.calendar-header{margin-bottom:20px}.calendar-header h2{color:#333;margin:0}.calendar-nav button{background:#f5f5f5;border:none;border-radius:50%;font-size:14px}.calendar-nav button:hover{background:#e0e0e0}.calendar-month{color:#1e3c72;font-size:16px;font-weight:600;min-width:150px;text-align:center;text-transform:capitalize}.calendar-weekdays{grid-gap:5px;gap:5px;margin-bottom:10px}.weekday{color:#666;font-size:12px;font-weight:600;padding:10px 0;text-align:center}.calendar-days{grid-gap:3px;gap:3px}.calendar-day{align-items:center;background:#fafafa;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;max-height:60px;min-height:45px;transition:all .2s}.calendar-day:hover{background:#e3f2fd}.calendar-day.clickable:hover{background:#bbdefb;box-shadow:0 2px 8px #00000026;transform:scale(1.05)}.calendar-day.other-month{opacity:.3}.calendar-day.other-month.clickable{cursor:default}.calendar-day.today{background:#1e3c72;color:#fff}.calendar-day.today .day-number{font-weight:700}.calendar-day.has-absence{background:linear-gradient(135deg,#e8f5e9,#c8e6c9)}.calendar-day.has-absence.status-en_attente{background:linear-gradient(135deg,#fff3e0,#ffe0b2)}.day-number{font-size:13px;font-weight:500}.day-absence-icon{bottom:4px;font-size:12px;position:absolute}.calendar-legend{border-top:1px solid #eee;display:flex;gap:25px;justify-content:center;margin-top:20px;padding-top:15px}.legend-dot.approved{background:#4caf50}.legend-dot.pending{background:#ff9800}.legend-dot.today-dot{background:#1e3c72}.recurrence-info{background:#e3f2fd;border:1px solid #90caf9;border-radius:10px;color:#1565c0;font-size:14px;margin-bottom:15px;padding:12px 15px}.file-upload{position:relative}.file-upload input[type=file]{cursor:pointer;height:100%;opacity:0;position:absolute;width:100%}.file-upload-label{align-items:center;background:#fafafa;border:2px dashed #ccc;border-radius:10px;cursor:pointer;display:flex;justify-content:center;padding:20px;transition:all .2s}.file-upload-label:hover{background:#e3f2fd;border-color:#2196f3}.file-selected{color:#4caf50;font-weight:600}.file-hint{color:#999;display:block;font-size:12px;margin-top:8px}.absence-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.absence-file,.absence-notified,.absence-recurrence{border-radius:15px;font-size:11px;font-weight:600;padding:4px 10px}.absence-recurrence{background:#e3f2fd;color:#1565c0}.absence-file{background:#f3e5f5;color:#7b1fa2}.absence-notified{background:#e8f5e9;color:#2e7d32}.absence-detail-overlay{align-items:center;animation:fadeIn .2s ease;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.absence-detail-popup{animation:slideUp .3s ease;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:450px;width:90%}.absence-detail-popup .popup-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:20px 25px}.absence-detail-popup .popup-header h3{color:#333;font-size:1.2rem;margin:0}.btn-close-popup{align-items:center;background:#f5f5f5;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:20px;height:32px;justify-content:center;transition:all .2s;width:32px}.btn-close-popup:hover{background:#e0e0e0;color:#333}.absence-detail-popup .popup-content{padding:25px}.detail-row{align-items:flex-start;border-bottom:1px solid #f5f5f5;display:flex;justify-content:space-between;padding:12px 0}.detail-row:last-child{border-bottom:none}.detail-label{color:#666;font-size:14px;font-weight:600}.detail-value{color:#333;font-size:14px;max-width:60%;text-align:right}.detail-value.motif{color:#555;font-style:italic}.detail-row.refus{background:#fff5f5;border-bottom:none;margin:0 -25px;padding:12px 25px}.detail-row.refus .detail-label,.detail-row.refus .detail-value{color:#c62828}.absence-detail-popup .popup-footer{display:flex;justify-content:flex-end;padding:15px 25px 25px}.absence-detail-popup .btn-close{background:#1e3c72;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 25px;transition:all .2s}.absence-detail-popup .btn-close:hover{background:#2a5298}@media (max-width:1024px){.emp-dashboard-container{padding:15px}.balance-cards{flex-wrap:wrap}.balance-card{flex-basis:calc(50% - 10px);flex-grow:1;flex-shrink:1;min-width:200px}}@media (max-width:768px){.emp-dashboard-container{padding:10px}.emp-nav{flex-wrap:wrap}.emp-nav-btn{flex-basis:calc(50% - 5px);flex-grow:1;flex-shrink:1;font-size:14px;min-width:120px;padding:12px 15px}.clock-section{border-radius:16px;padding:25px 15px}.current-time{font-size:48px}.current-date{font-size:14px}.pointage-section{padding:20px 15px}.pointage-buttons{align-items:center;flex-direction:column}.btn-pointage{max-width:100%;padding:20px;width:100%}.pause-buttons .pointage-buttons{flex-direction:row}.pause-buttons .btn-pointage{padding:15px}.balance-section{padding:20px 15px}.balance-cards{flex-direction:column;gap:15px}.balance-card{flex:1 1 100%}.balance-value{font-size:24px}.balance-icon{font-size:28px}.history-section{padding:20px 15px}.pointage-item{align-items:flex-start;flex-direction:column;gap:8px}.stats-grid{gap:12px;grid-template-columns:repeat(2,1fr)}.stat-card{padding:15px}.stat-value{font-size:24px}.quick-buttons{gap:12px;grid-template-columns:repeat(2,1fr)}.calendar-header{flex-direction:column;gap:15px}.calendar-day{font-size:12px;padding:8px 4px}.calendar-legend{flex-wrap:wrap;gap:15px}.absence-request-section{padding:20px 15px}.section-header{align-items:flex-start;flex-direction:column;gap:10px}.btn-toggle-form{width:100%}.absence-form .form-row{flex-direction:column;gap:15px}.absence-form .form-row>div{flex:1 1 100%}}@media (max-width:480px){.emp-dashboard-container{padding:8px}.emp-nav{gap:6px}.emp-nav-btn{border-radius:10px;flex-basis:calc(50% - 3px);flex-grow:1;flex-shrink:1;font-size:12px;padding:10px 8px}.clock-section{border-radius:12px;padding:20px 12px}.current-time{font-size:36px;margin:10px 0}.current-date{font-size:13px}.status-badge{margin-top:10px}.status-absent,.status-none,.status-pause,.status-present{font-size:14px;padding:8px 16px}.btn-pointage{border-radius:12px;padding:15px}.btn-pointage span:first-child{font-size:24px}.btn-pointage span:last-child{font-size:14px}.pause-buttons .pointage-buttons{flex-direction:column}.balance-value{font-size:20px}.balance-icon{font-size:24px}.balance-label{font-size:12px}.history-item{align-items:flex-start;flex-direction:column;gap:5px}.stats-grid{gap:8px;grid-template-columns:1fr 1fr}.stat-card{padding:12px 10px}.stat-value{font-size:20px}.stat-label{font-size:11px}.quick-buttons{gap:8px}.quick-btn{font-size:12px;padding:15px 10px}.calendar-grid{gap:3px}.calendar-day{font-size:10px;min-height:50px;padding:6px 2px}.calendar-day .day-number{font-size:12px}.calendar-month-nav button{font-size:13px;padding:6px 12px}.calendar-month-nav span{font-size:14px}.absence-request-section h2{font-size:18px}.absence-form label{font-size:13px}.absence-form input,.absence-form select,.absence-form textarea{font-size:14px;padding:10px}.absence-history-item{align-items:flex-start;flex-direction:column;gap:10px}.absence-dates{flex-direction:column;gap:5px}}.demandes-subtabs{background:#f8f9fa;border-radius:12px;display:flex;gap:10px;margin-bottom:25px;padding:5px;width:-webkit-fit-content;width:fit-content}.subtab-btn{background:#0000;border:none;border-radius:8px;color:#666;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s}.subtab-btn:hover{background:#e9ecef;color:#333}.subtab-btn.active{background:#fff;box-shadow:0 2px 8px #00000014;color:#3498db}.demande-section{animation:fadeIn .3s ease}.demande-section h2{color:#333;font-size:1.5rem;margin-bottom:5px}.section-subtitle{color:#666;font-size:14px;margin-bottom:20px}.demande-form-card{background:#fff;border-radius:16px;box-shadow:0 2px 12px #0000000f;margin-bottom:25px;padding:25px}.demande-form-card .form-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.demande-form-card .form-header h3{color:#333;font-size:1.1rem;margin:0}.demande-form-card .form-group{margin-bottom:18px}.demande-form-card .form-group label{color:#444;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.demande-form-card input,.demande-form-card select,.demande-form-card textarea{border:2px solid #e9ecef;border-radius:10px;box-sizing:border-box;font-size:14px;padding:12px 14px;transition:border-color .2s;width:100%}.demande-form-card input:focus,.demande-form-card select:focus,.demande-form-card textarea:focus{border-color:#3498db;outline:none}.demande-form-card .form-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr}.btn-submit-demande{background:linear-gradient(135deg,#3498db,#2980b9);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;margin-top:10px;padding:14px;transition:all .2s;width:100%}.btn-submit-demande:hover{box-shadow:0 4px 15px #3498db59;transform:translateY(-2px)}.demande-status{border-radius:8px;font-weight:600;margin-top:15px;padding:12px;text-align:center}.demande-status.success{background:#d4edda;color:#155724}.demande-status.error{background:#f8d7da;color:#721c24}.btn-add-note{background:linear-gradient(135deg,#27ae60,#219a52);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;margin-bottom:25px;padding:14px 28px;transition:all .2s}.btn-add-note:hover{box-shadow:0 4px 15px #27ae6059;transform:translateY(-2px)}.notes-frais-history{margin-top:30px}.notes-frais-history h3{color:#333;font-size:1.2rem;margin-bottom:15px}.no-data{background:#f8f9fa;border-radius:12px;padding:40px;text-align:center}.no-data-icon{display:block;font-size:3rem;margin-bottom:10px}.no-data p{color:#666;margin:0}.notes-frais-list{list-style:none;margin:0;padding:0}.note-frais-item{background:#fff;border-left:4px solid #ccc;border-radius:12px;box-shadow:0 2px 8px #0000000d;margin-bottom:12px;padding:18px;transition:transform .2s,box-shadow .2s}.note-frais-item:hover{box-shadow:0 4px 12px #00000014;transform:translateX(5px)}.note-frais-item.status-en_attente{border-left-color:#f39c12}.note-frais-item.status-approuve{border-left-color:#27ae60}.note-frais-item.status-refuse{border-left-color:#e74c3c}.note-main{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.note-type{color:#333;font-size:15px;font-weight:600}.note-montant{color:#2c3e50;font-size:18px;font-weight:700}.note-details{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}.note-date{color:#666;font-size:13px}.note-description{color:#555;font-size:14px;font-style:italic}.note-status .status-badge{border-radius:20px;display:inline-block;font-size:12px;font-weight:600;padding:6px 12px}.note-status .status-badge.pending{background:#fff3cd;color:#856404}.note-status .status-badge.approved{background:#d4edda;color:#155724}.note-status .status-badge.refused{background:#f8d7da;color:#721c24}@media (max-width:768px){.demandes-subtabs{width:100%}.subtab-btn{flex:1 1;font-size:13px;padding:10px 15px;text-align:center}.demande-form-card .form-row{grid-template-columns:1fr}.demande-form-card{padding:15px}.demande-section h2{font-size:1.2rem}.demande-form-card .form-header{align-items:flex-start;flex-direction:column;gap:10px}.acompte-history-list,.notes-history-list{max-height:none}.acompte-history-item,.note-history-item{align-items:flex-start;flex-direction:column;gap:12px}.acompte-info,.note-info{width:100%}.acompte-amount{font-size:1.3rem}}@media (max-width:480px){.demandes-subtabs{gap:6px;padding:4px}.subtab-btn{font-size:12px;padding:8px 10px}.demande-form-card{border-radius:12px;padding:12px}.demande-form-card input,.demande-form-card select,.demande-form-card textarea{font-size:14px;padding:10px}.submit-btn{padding:12px;width:100%}.note-meta{flex-direction:column;gap:5px}.note-amount,.note-category{font-size:.95rem}}.planning-employee-section{padding:20px}.planning-header-emp{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:25px}.planning-header-emp h2{color:#2c3e50;font-size:1.5rem;margin:0}.planning-nav{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.planning-nav .nav-btn{background:#fff;border:1px solid #ddd;border-radius:8px;cursor:pointer;font-weight:500;padding:8px 16px;transition:all .2s}.planning-nav .nav-btn:hover{background:#f0f0f0;border-color:#3498db}.planning-nav .nav-btn.today{background:#3498db;border-color:#3498db;color:#fff}.week-label{color:#2c3e50;font-weight:600;min-width:200px;padding:0 10px;text-align:center}.loading-planning{color:#666;font-size:1.1rem;padding:40px;text-align:center}.planning-week-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(7,1fr);margin-bottom:25px}.planning-day-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden;transition:all .2s}.planning-day-card:hover{box-shadow:0 4px 15px #0000001f;transform:translateY(-2px)}.planning-day-card.today{border:2px solid #3498db;box-shadow:0 4px 15px #3498db4d}.planning-day-card.weekend{background:#fafafa}.day-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:12px;text-align:center}.planning-day-card.today .day-header{background:linear-gradient(135deg,#3498db,#2980b9)}.planning-day-card.weekend .day-header{background:linear-gradient(135deg,#95a5a6,#7f8c8d)}.day-name{display:block;font-size:.9rem;font-weight:600;margin-bottom:2px}.day-date{display:block;font-size:.8rem;opacity:.9}.day-content{align-items:center;display:flex;justify-content:center;min-height:80px;padding:15px}.shift-info{border-left:4px solid #3498db;padding-left:12px;width:100%}.shift-name{margin-bottom:4px}.shift-hours{color:#333;font-size:.95rem;font-weight:500}.shift-pause{color:#888;font-size:.8rem;margin-top:4px}.no-shift{color:#aaa;font-size:.95rem;font-style:italic}.planning-legend{background:#f8f9fa;border-radius:12px;padding:20px}.planning-legend h4{color:#2c3e50;font-size:1rem;margin:0 0 15px}.legend-items{display:flex;flex-wrap:wrap;gap:15px}.legend-color{border-radius:4px;height:16px;width:16px}.legend-label{color:#555;font-size:.9rem}@media (max-width:900px){.planning-week-grid{grid-template-columns:repeat(4,1fr)}.planning-employee-section{padding:15px}}@media (max-width:600px){.planning-week-grid{grid-template-columns:repeat(2,1fr)}.planning-header-emp{align-items:flex-start;flex-direction:column}.planning-header-emp h2{font-size:1.2rem}.planning-nav{justify-content:center;width:100%}.planning-nav .nav-btn{font-size:13px;padding:6px 12px}.week-label{font-size:13px;text-align:center;width:100%}.planning-day-card{padding:12px}.day-name{font-size:.85rem}.day-date{font-size:.75rem}.shift-name{font-size:.9rem}.shift-time{font-size:.85rem}.planning-legend{padding:15px}.legend-items{gap:10px}.legend-label{font-size:.8rem}}@media (max-width:400px){.planning-week-grid{gap:8px;grid-template-columns:1fr 1fr}.planning-day-card,.planning-employee-section{padding:10px}}.actualites-employee-section{padding:20px}.section-header-emp{margin-bottom:25px}.section-header-emp h2{color:#1e3c72;font-size:1.4rem;margin:0}.actualites-list-emp{display:flex;flex-direction:column;gap:20px}.actualite-card-emp{background:#fff;border-left:5px solid #3498db;border-radius:12px;box-shadow:0 2px 10px #00000014;padding:20px;transition:all .2s}.actualite-card-emp:hover{box-shadow:0 4px 15px #0000001f}.actualite-card-emp.priority-high{background:linear-gradient(90deg,#fff5f5,#fff);border-left-color:#e74c3c}.actualite-card-emp.priority-normal{border-left-color:#3498db}.actualite-card-emp.priority-low{border-left-color:#95a5a6}.actualite-header-emp{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:15px}.category-badge-emp{border-radius:15px;font-size:.8rem;font-weight:600;padding:5px 12px}.category-badge-emp.info{background:#e3f2fd;color:#1976d2}.category-badge-emp.urgent{background:#ffebee;color:#c62828}.category-badge-emp.event{background:#fff3e0;color:#ef6c00}.category-badge-emp.rh{background:#f3e5f5;color:#7b1fa2}.actualite-date-emp{color:#7f8c8d;font-size:.85rem}.actualite-title-emp{color:#2c3e50;font-size:1.2rem;margin:0 0 12px}.actualite-content-emp{color:#555;font-size:.95rem;line-height:1.6;margin:0 0 15px;white-space:pre-line}.actualite-expires-emp{background:#fff8e1;border-radius:8px;color:#e67e22;display:inline-block;font-size:.85rem;padding:8px 12px}.empty-state-emp{background:#f8f9fa;border-radius:12px;padding:60px 20px;text-align:center}.empty-state-emp .empty-icon{font-size:4rem;margin-bottom:15px}.empty-state-emp p{color:#7f8c8d;font-size:1.1rem;margin:0}.emp-nav-btn .badge-count{background:#e74c3c;border-radius:10px;color:#fff;font-size:.7rem;margin-left:5px;padding:2px 6px}.icon-inline{height:1.25em;margin-right:.25em;width:1.25em}.icon-btn,.icon-inline{display:inline-block;vertical-align:middle}.icon-btn{height:1em;width:1em}.icon-inline.spin,.spin{animation:spin 1s linear infinite}.acompte-table{border-collapse:collapse;margin-top:1.5em;width:100%}.acompte-table td,.acompte-table th{border:1px solid #ddd;padding:8px 12px;text-align:left}.acompte-table th{background:#f5c542;color:#222}.acompte-table tr:nth-child(2n){background:#f9f9f9}.acompte-actions{display:flex;gap:8px}.btn-approve{background:#28a745;border-radius:4px;font-size:13px;padding:6px 12px;transition:background .2s}.btn-approve:hover{background:#218838}.btn-reject{background:#dc3545;border-radius:4px;font-size:13px;padding:6px 12px;transition:background .2s}.btn-reject:hover{background:#c82333}.processed-info{color:#666;font-size:12px;font-style:italic}.absence-info-in-detail{display:flex;flex-direction:column;gap:6px;margin-top:8px}.absence-badge-in-detail{align-items:center;background:#f9f9f9;border-left:4px solid #bbb;border-radius:6px;display:flex;font-size:14px;gap:8px;padding:4px 10px}.absence-icon{font-size:18px;margin-right:2px}.absence-label{font-weight:600}.absence-status{font-size:13px;margin-left:6px;margin-right:6px}.absence-period{color:#888;font-size:12px;margin-right:6px}.absence-motif{color:#666;font-size:12px;font-style:italic}.admin-dashboard{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;box-sizing:border-box;max-width:100%;padding:20px;width:100%}.overview-section{width:100%}.admin-nav{border-bottom:2px solid #f0f0f0;display:flex;gap:10px;margin-bottom:25px;padding-bottom:20px}.nav-tab{background:#f0f4f8;border:none;border-radius:10px;color:#666;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .3s}.nav-tab:hover{background:#e0e8f0}.nav-tab.active{background:linear-gradient(135deg,#1e3c72,#2a5298);color:#fff}.stats-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(4,1fr);margin-bottom:20px;width:100%}.stat-card{border-radius:10px;color:#fff;gap:8px;min-height:50px;overflow:hidden;padding:10px 12px;position:relative}.stat-card.green{background:linear-gradient(135deg,#00c853,#00e676)}.stat-card.red{background:linear-gradient(135deg,#ff5252,#ff1744)}.stat-card.blue{background:linear-gradient(135deg,#1e3c72,#2a5298)}.stat-card.purple{background:linear-gradient(135deg,#7b1fa2,#9c27b0)}.stat-card.teal{background:linear-gradient(135deg,#00897b,#26a69a)}.stat-card.indigo{background:linear-gradient(135deg,#3949ab,#5c6bc0)}.stat-card.amber{background:linear-gradient(135deg,#ff8f00,#ffc107)}.stat-card.cyan{background:linear-gradient(135deg,#00838f,#00bcd4)}.stat-icon{filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));font-size:26px;opacity:.6;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.stat-info{display:flex;flex-direction:column}.stat-number{font-size:20px;font-weight:700}.stat-label{font-size:10px;letter-spacing:.5px;opacity:.9;text-transform:uppercase}.presence-lists{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr);width:100%}.presence-card{background:#f8f9fa;border-radius:16px;padding:20px}.presence-card h3{color:#333;margin:0 0 15px}.empty-list{color:#888;padding:20px;text-align:center}.employee-list{display:block!important;list-style:none;margin:0;max-height:200px!important;overflow-x:hidden!important;overflow-y:scroll!important;padding:0}.employee-list::-webkit-scrollbar{width:6px}.employee-list::-webkit-scrollbar-track{background:#f0f0f0;border-radius:3px}.employee-list::-webkit-scrollbar-thumb{background:silver;border-radius:3px}.employee-list::-webkit-scrollbar-thumb:hover{background:#a0a0a0}.employee-item{background:#fff;border-radius:10px;display:flex;justify-content:space-between;margin-bottom:8px;padding:12px 15px}.employee-item.present{border-left:4px solid #00c853}.employee-item.absent{border-left:4px solid #ff5252}.employee-item.night-working{background:#f3e5f5;border-left:4px solid #9c27b0}.employee-item.night-completed{background:#e8f5e9;border-left:4px solid #4caf50}.employee-item.night-missing{background:#fff3e0;border-left:4px solid #ff9800}.emp-time{font-weight:500}.night-shift-section{background:linear-gradient(135deg,#1a237e,#283593);border-radius:16px;box-sizing:border-box;margin-top:20px;padding:20px;width:100%}.night-shift-section h3{color:#fff;font-size:1.1rem;margin:0 0 15px}.night-shift-lists{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));width:100%}.night-card{background:#fffffff2;border-radius:12px;padding:15px}.night-card .employee-list{max-height:200px;overflow-y:auto}.night-card h4{color:#333;font-size:.95rem;margin:0 0 12px}.night-card.working{border-top:3px solid #9c27b0}.night-card.upcoming{border-top:3px solid #2196f3}.night-card.completed{border-top:3px solid #4caf50}.night-card.missing{border-top:3px solid #ff9800}.emp-name{color:#333;font-weight:600}.emp-dept{color:#888;font-size:13px}.emp-time{color:#666;display:block;font-size:12px;margin-top:2px}.employee-item.night-working{background:#9c27b014;border-left:3px solid #9c27b0}.employee-item.night-upcoming{background:#2196f314;border-left:3px solid #2196f3}.employee-item.night-completed{background:#4caf5014;border-left:3px solid #4caf50}.employee-item.night-missing{background:#ff980014;border-left:3px solid #ff9800}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:25px}.section-header h2{margin:0}.btn-add-employee{background:linear-gradient(135deg,#00c853,#00e676);border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .3s}.btn-add-employee:hover{box-shadow:0 5px 20px #00c85366;transform:translateY(-2px)}.add-employee-form{grid-gap:15px;background:#f8f9fa;border-radius:16px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:25px;padding:25px}.add-employee-form input{border:2px solid #e0e0e0;border-radius:10px;font-size:14px;padding:12px 16px;transition:border-color .3s}.add-employee-form input:focus{border-color:#1e3c72;outline:none}.btn-save{background:#1e3c72;padding:12px 24px}.employees-table,.history-table{border-collapse:collapse;width:100%}.employees-table td,.employees-table th,.history-table td,.history-table th{border-bottom:1px solid #f0f0f0;padding:15px;text-align:left}.employees-table th,.history-table th{background:#f8f9fa;color:#666;font-size:13px;font-weight:600;text-transform:uppercase}.employees-table code{background:#e8f5e9;border-radius:4px;color:#2e7d32;padding:3px 8px}.btn-delete{background:none;border:none;cursor:pointer;font-size:18px;opacity:.6;transition:opacity .2s}.btn-delete:hover{opacity:1}.badge{border-radius:15px;font-size:12px;padding:5px 12px}.badge.entree{background:#e8f5e9;color:#2e7d32}.badge.sortie{background:#ffebee;color:#c62828}.employees-section h2,.history-section h2{color:#333;margin:0 0 20px}.badge-count{align-items:center;background:#ff9800;border-radius:10px;color:#fff;display:inline-flex;font-size:11px;font-weight:700;height:20px;justify-content:center;margin-left:8px;min-width:20px;padding:0 6px}.badge-count.red{background:#ff5252}.stat-card.orange{background:linear-gradient(135deg,#ff9800,#ffb74d)}.search-bar{margin-bottom:20px}.search-bar input{border:2px solid #e0e4e8;border-radius:12px;font-size:15px;padding:14px 20px;transition:all .3s;width:100%}.search-bar input:focus{border-color:#1e3c72;box-shadow:0 0 0 4px #1e3c721a;outline:none}.header-actions{display:flex;gap:10px}.btn-import,.btn-manual{border:none;border-radius:10px;cursor:pointer;font-weight:600;padding:12px 20px;transition:all .3s}.btn-import{background:linear-gradient(135deg,#2196f3,#42a5f5)}.btn-manual{background:linear-gradient(135deg,#9c27b0,#ab47bc);color:#fff}.btn-import:hover,.btn-manual:hover{box-shadow:0 5px 15px #0003;transform:translateY(-2px)}.import-status{border-radius:12px;font-weight:500;margin-bottom:20px;padding:15px 20px}.import-status.loading{background:#fff3e0;color:#e65100}.import-status.success{background:#e8f5e9;color:#2e7d32}.import-status.error{background:#ffebee;color:#c62828}.import-help{margin-bottom:20px}.import-help details{background:#f8f9fa;border-radius:12px;padding:15px 20px}.import-help summary{color:#1e3c72;cursor:pointer;font-weight:600}.import-help p{color:#666;margin:10px 0 5px}.import-help code{background:#e8f5e9;border-radius:8px;color:#2e7d32;display:block;font-size:13px;margin:5px 0;padding:10px 15px}.manual-pointage-form{background:#f8f9fa;border-radius:16px;margin-bottom:25px;padding:25px}.manual-pointage-form h3{color:#333;margin:0 0 20px}.form-row{grid-gap:15px;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:20px}.form-group label{font-size:14px}.form-group input,.form-group select{border:2px solid #e0e4e8;border-radius:10px;font-size:14px;transition:all .3s}.form-group input:focus,.form-group select:focus{border-color:#1e3c72}.anomalies-section .section-header{align-items:center;display:flex;justify-content:space-between}.anomaly-count{color:#888;font-size:14px}.no-anomalies{background:#f8f9fa;border-radius:16px;padding:60px 20px;text-align:center}.no-anomalies .success-icon{font-size:64px;margin-bottom:20px}.no-anomalies h3{color:#2e7d32;margin:0 0 10px}.no-anomalies p{color:#666;margin:0}.anomalies-list{grid-gap:15px;display:grid;gap:15px}.anomaly-card{background:#fff;border-left:4px solid #ff9800;border-radius:12px;box-shadow:0 2px 8px #0000000f;padding:12px 16px}.anomaly-card.missing_entry,.anomaly-card.missing_exit{border-left-color:#ff5252}.anomaly-card.double_entry,.anomaly-card.double_exit{border-left-color:#ff9800}.anomaly-card.long_day{border-left-color:#9c27b0}.anomaly-card.late{border-left-color:#2196f3}.anomaly-card.early_exit{border-left-color:#03a9f4}.anomaly-card.shift_change{background:linear-gradient(135deg,#fff,#eceff1);border-left-color:#607d8b}.anomaly-card.wrong_type{background:linear-gradient(135deg,#fff,#fce4ec);border-left-color:#e91e63}.anomaly-card.wrong_type_night{background:linear-gradient(135deg,#fff,#ede7f6);border-left-color:#673ab7}.anomaly-card.auto-correctable{box-shadow:0 4px 15px #00c85326}.anomalies-header-actions{align-items:center;display:flex;gap:20px}.btn-auto-correct-all{background:linear-gradient(135deg,#2196f3,#1976d2);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .3s}.btn-auto-correct-all:hover{box-shadow:0 5px 20px #2196f34d;transform:translateY(-2px)}.anomaly-legend{background:#f8f9fa;border-radius:10px;display:flex;gap:25px;margin-bottom:20px;padding:15px 20px}.legend-item{font-size:13px;gap:8px}.legend-dot{height:12px;width:12px}.legend-item.critical .legend-dot{background:#ff5252}.legend-item.warning .legend-dot{background:#ff9800}.legend-item.info .legend-dot{background:#2196f3}.anomaly-shift{color:#888;font-size:13px;margin:5px 0 0}.anomaly-suggestion.auto{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border:1px solid #a5d6a7}.anomaly-suggestion.auto.additional{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border:1px solid #90caf9;margin-top:8px}.anomaly-suggestion.auto.additional .suggestion-text{color:#1565c0}.anomaly-suggestion.auto .suggestion-text{color:#2e7d32}.anomaly-suggestion.manual{background:#fff8e1;border:1px solid #ffe082}.anomaly-suggestion.manual .suggestion-text{color:#f57c00}.auto-badge{background:#4caf50;border-radius:10px;color:#fff;font-size:10px;font-weight:700;padding:3px 8px;text-transform:uppercase}.btn-apply-correction.auto{background:linear-gradient(135deg,#2196f3,#1976d2)}.btn-apply-correction.auto:hover{box-shadow:0 5px 15px #2196f34d}.btn-apply-correction.shift-change{background:linear-gradient(135deg,#4caf50,#2e7d32)}.btn-apply-correction.shift-change:hover{box-shadow:0 5px 15px #4caf504d}.btn-apply-correction.manual{background:linear-gradient(135deg,#ff9800,#f57c00)}.btn-apply-correction.manual:hover{box-shadow:0 5px 15px #ff98004d}.shift-changes-alert{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border:2px solid #2196f3;border-radius:16px;margin-bottom:25px;padding:20px}.shift-changes-alert h3{color:#1565c0;font-size:1.2rem;margin:0 0 10px}.shift-changes-description{color:#1976d2;font-size:.9rem;margin-bottom:15px}.shift-changes-list{display:flex;flex-direction:column;gap:12px}.shift-change-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:15px}.shift-change-info{display:flex;justify-content:space-between;margin-bottom:10px}.shift-change-info .employee-name{color:#1e3c72;font-weight:600}.shift-change-info .change-date{color:#666;font-size:.9rem}.shift-change-details{background:#f5f5f5;border-radius:8px;display:flex;flex-direction:column;gap:8px;margin-bottom:12px;padding:10px}.shift-change-details .worked-hours{color:#2196f3;font-weight:500}.shift-change-details .shift-comparison{align-items:center;display:flex;font-size:.9rem;gap:10px}.shift-change-details .original-shift{color:#f44336;text-decoration:line-through}.shift-change-details .arrow{color:#666}.shift-change-details .worked-shift{color:#4caf50;font-weight:600}.shift-change-actions{display:flex;gap:10px}.btn-validate-shift-change{background:linear-gradient(135deg,#4caf50,#2e7d32);border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-weight:600;padding:10px 15px;transition:all .3s}.btn-validate-shift-change:hover{box-shadow:0 4px 12px #4caf504d;transform:translateY(-1px)}.btn-ignore-shift-change{background:#f5f5f5;border:1px solid #ddd;border-radius:8px;color:#666;cursor:pointer;padding:10px 15px;transition:all .3s}.btn-ignore-shift-change:hover{background:#eee}.anomaly-header{display:flex;justify-content:space-between;margin-bottom:6px}.anomaly-type{color:#333;font-weight:700}.anomaly-date{color:#888;font-size:14px}.anomaly-body{margin-bottom:8px}.anomaly-employee{color:#1e3c72;font-weight:600;margin:0 0 5px}.anomaly-message{color:#666;margin:0}.anomaly-suggestion{align-items:center;background:#e3f2fd;border-radius:8px;display:flex;font-size:13px;gap:8px;margin-bottom:8px;padding:8px 12px}.suggestion-icon{font-size:20px}.suggestion-text{color:#1565c0;font-weight:500}.anomaly-actions{display:flex;gap:10px}.btn-apply-correction{background:linear-gradient(135deg,#00c853,#00e676);border:none;border-radius:6px;color:#fff}.btn-apply-correction,.btn-ignore{cursor:pointer;font-size:12px;font-weight:600;padding:6px 14px;transition:all .3s}.btn-ignore{background:#fff;border:1px solid #e0e4e8;border-radius:6px;color:#666}.btn-apply-correction:hover{box-shadow:0 5px 15px #00c8534d;transform:translateY(-2px)}.btn-ignore:hover{border-color:#ff5252;color:#ff5252}.pending-absences{background:#fff8e1;border:2px solid #ffcc80;border-radius:16px;margin-bottom:25px;padding:20px}.pending-absences h3{color:#e65100;margin:0 0 15px}.pending-list{grid-gap:15px;display:grid;gap:15px}.pending-card{background:#fff;border-radius:12px;justify-content:space-between;padding:20px}.pending-card,.pending-info{align-items:center;display:flex;flex-wrap:wrap;gap:15px}.pending-employee{color:#333;font-weight:700}.pending-dates{color:#666}.pending-motif{color:#888;font-size:14px}.pending-actions{display:flex;gap:10px}.btn-approve{background:linear-gradient(135deg,#00c853,#00e676)}.btn-approve,.btn-reject{border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .3s}.btn-reject{background:linear-gradient(135deg,#ff5252,#ff1744)}.btn-approve:hover,.btn-reject:hover{box-shadow:0 5px 15px #0003;transform:translateY(-2px)}.type-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:13px;font-weight:600;gap:5px;padding:5px 12px}.type-conge{background:#e3f2fd;color:#1565c0}.type-rtt{background:#f3e5f5;color:#7b1fa2}.type-maladie{background:#ffebee;color:#c62828}.type-sans_solde{background:#fff3e0;color:#e65100}.type-autre{background:#f5f5f5;color:#616161}.status-pending{background:#fff3e0;color:#e65100}.status-approved,.status-pending{border-radius:20px;font-size:13px;font-weight:600;padding:5px 12px}.status-approved{background:#e8f5e9;color:#2e7d32}.status-rejected{background:#ffebee;border-radius:20px;color:#c62828;font-size:13px;font-weight:600;padding:5px 12px}.absences-table{border-collapse:collapse;width:100%}.absences-table td,.absences-table th{border-bottom:1px solid #f0f0f0;padding:15px;text-align:left}.absences-table th{background:#f8f9fa;color:#666;font-size:13px;font-weight:600;text-transform:uppercase}.badgeuse-section{background:#f8f9fa;border:2px solid #e0e4e8;border-radius:16px;margin-bottom:25px;padding:25px}.badgeuse-section h3{color:#333;margin:0 0 20px}.badgeuse-content{align-items:center;display:flex;flex-wrap:wrap;gap:20px}.badgeuse-status{align-items:center;display:flex;gap:10px}.status-indicator{animation:pulse 2s infinite;border-radius:50%;height:16px;width:16px}.status-indicator.connected{background:#00c853}.status-indicator.disconnected{animation:none;background:#ff5252}.status-indicator.connecting,.status-indicator.syncing{background:#ff9800}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.status-text{color:#333;font-weight:600}.badgeuse-config{align-items:center;display:flex;gap:10px}.badgeuse-config label{color:#666;font-weight:600}.badgeuse-config input{border:2px solid #e0e4e8;border-radius:8px;font-family:monospace;padding:10px 15px;width:160px}.badgeuse-config input:focus{border-color:#1e3c72;outline:none}.badgeuse-actions{display:flex;gap:10px}.btn-connect{background:linear-gradient(135deg,#00c853,#00e676)}.btn-connect,.btn-sync{border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .3s}.btn-sync{background:linear-gradient(135deg,#2196f3,#42a5f5)}.btn-disconnect{background:linear-gradient(135deg,#ff5252,#ff1744);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .3s}.btn-connect:hover,.btn-disconnect:hover,.btn-sync:hover{box-shadow:0 5px 15px #0003;transform:translateY(-2px)}.last-sync{color:#888;font-size:13px;font-style:italic}.rapports-section{padding:10px 0}.rapports-section h2{color:#333;margin:0 0 25px}.rapports-layout{grid-gap:25px;align-items:start;display:grid;gap:25px;grid-template-columns:350px 1fr}.rapports-left{position:-webkit-sticky;position:sticky;top:20px}.rapports-right{min-width:0}.pdf-export-form{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px solid #e0e4e8;border-radius:16px;margin-bottom:25px;padding:30px}.pdf-export-form.compact{margin-bottom:0;padding:20px}.pdf-export-form.compact h3{font-size:1rem;margin-bottom:15px}.pdf-export-form h3{color:#1e3c72;margin:0 0 25px}.pdf-preview-compact{background:#ffffffb3;border-radius:8px;margin-top:15px;padding:10px;text-align:center}.pdf-preview-compact small{color:#666;font-size:.8rem}.btn-export-pdf{background:linear-gradient(135deg,#c62828,#e53935);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;margin-top:15px;padding:18px 30px;transition:all .3s;width:100%}.btn-export-pdf:hover{box-shadow:0 8px 25px #c6282866;transform:translateY(-3px)}.stats-panel{background:#fff;border:2px solid #e0e4e8;border-radius:16px;padding:25px}.stats-panel h3{color:#1e3c72;font-size:1.2rem;margin:0 0 20px}.stats-panel .stats-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(2,1fr);margin-bottom:25px}.stats-panel .stat-card{background:linear-gradient(135deg,#f8f9fa,#fff);border:1px solid #e0e4e8;border-radius:12px;overflow:hidden;padding:20px;position:relative}.stat-card .stat-icon{filter:drop-shadow(0 2px 4px rgba(0,0,0,.15));font-size:2.5rem;opacity:.85;position:absolute;right:20px;top:50%;transform:translateY(-50%)}.stat-card .stat-value{color:#1e3c72;font-size:2rem;font-weight:700;line-height:1}.stat-card .stat-label{color:#666;font-size:.9rem;margin-top:5px}.stat-card .stat-detail{color:#999;font-size:.75rem;margin-top:3px}.stat-bar{background:#e0e4e8;border-radius:3px;height:6px;margin-top:12px;overflow:hidden}.stat-bar-fill{border-radius:3px;height:100%;transition:width .5s ease}.stat-bar-fill.presence{background:linear-gradient(90deg,#27ae60,#2ecc71)}.stat-bar-fill.absence{background:linear-gradient(90deg,#e74c3c,#f39c12)}.stat-card.presence{border-left:4px solid #27ae60}.stat-card.absence{border-left:4px solid #e74c3c}.stat-card.employees{border-left:4px solid #3498db}.stat-card.pointages{border-left:4px solid #9b59b6}.presence-chart{background:#f8f9fa;border-radius:12px;padding:20px}.presence-chart h4{color:#333;font-size:.95rem;margin:0 0 15px}.employee-bars{display:flex;flex-direction:column;gap:10px}.employee-bar-row{align-items:center;display:flex;gap:10px}.employee-bar-row .emp-name{color:#555;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:80px}.emp-bar-container{background:#e0e4e8;border-radius:10px;flex:1 1;height:20px;overflow:hidden}.emp-bar{border-radius:10px;height:100%;transition:width .5s ease}.employee-bar-row .emp-pct{color:#1e3c72;font-size:.85rem;font-weight:600;text-align:right;width:40px}.more-employees{color:#999;font-size:.8rem;padding-top:5px;text-align:center}@media (max-width:900px){.rapports-layout{grid-template-columns:1fr}.rapports-left{position:static}.stats-grid{grid-template-columns:repeat(2,1fr)}.presence-lists{grid-template-columns:1fr}}@media (max-width:600px){.stats-grid{grid-template-columns:1fr}}.pdf-preview{background:#fff;border:2px dashed #e0e4e8;border-radius:16px;padding:25px}.pdf-preview h4{color:#333;margin:0 0 15px}.pdf-preview p{color:#666;margin:0 0 10px}.pdf-preview ul{list-style:none;margin:0;padding:0}.pdf-preview li{border-bottom:1px solid #f0f0f0;color:#555;padding:8px 0}.pdf-preview li:last-child{border-bottom:none}.employees-section.with-sidebar{display:flex;gap:25px}.employees-main{flex:1 1;min-width:0}.employee-sidebar{background:#fff;border:2px solid #e0e4e8;border-radius:16px;box-shadow:0 4px 20px #0000001a;display:flex;flex-direction:column;max-height:calc(100vh - 200px);overflow:hidden;position:-webkit-sticky;position:sticky;top:20px;width:420px}.sidebar-header{align-items:center;background:linear-gradient(135deg,#1e3c72,#2a5298);color:#fff;display:flex;justify-content:space-between;padding:20px}.sidebar-header h3{font-size:1.1rem;margin:0}.btn-close-sidebar{background:#fff3;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.2rem;height:32px;transition:all .2s;width:32px}.btn-close-sidebar:hover{background:#ffffff4d}.sidebar-form{flex:1 1;overflow-y:auto;padding:20px}.form-section{border-bottom:1px solid #e0e4e8;margin-bottom:25px;padding-bottom:20px}.form-section:last-of-type{border-bottom:none}.form-section h4{color:#1e3c72;font-size:.95rem;margin:0 0 15px}.sidebar-form .form-group{margin-bottom:15px}.sidebar-form .form-group label{color:#333;display:block;font-size:.85rem;font-weight:600;margin-bottom:6px}.sidebar-form .form-group input,.sidebar-form .form-group select{border:2px solid #e0e4e8;border-radius:8px;font-size:.95rem;padding:10px 12px;transition:all .2s;width:100%}.sidebar-form .form-group input:focus,.sidebar-form .form-group select:focus{border-color:#1e3c72;box-shadow:0 0 0 3px #1e3c721a;outline:none}.sidebar-form .form-row{display:flex;gap:12px}.sidebar-form .form-row .form-group{flex:1 1}.badge-input{font-family:Courier New,monospace;font-weight:700;letter-spacing:1px;text-transform:uppercase}.shift-preview{background:#f8f9fa;border-radius:10px;margin-top:10px;overflow:hidden}.shift-preview-header{color:#fff;font-weight:600;padding:12px 15px}.shift-preview-body{padding:12px 15px}.shift-preview-body p{color:#555;font-size:.9rem;margin:0 0 5px}.sidebar-actions{background:#f8f9fa;border-top:2px solid #e0e4e8;padding:20px}.sidebar-actions .btn-save{background:linear-gradient(135deg,#00c853,#00e676);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;margin-bottom:10px;padding:14px;transition:all .2s;width:100%}.sidebar-actions .btn-save:hover{box-shadow:0 4px 15px #00c85366;transform:translateY(-2px)}.sidebar-actions .btn-cancel{background:#e0e4e8;border:none;border-radius:10px;color:#666;cursor:pointer;font-weight:600;padding:12px;transition:all .2s;width:100%}.sidebar-actions .btn-cancel:hover{background:#d0d4d8}.employees-table tr.selected{background:#1e3c7214}.badge-code{background:#f0f4f8;border-radius:6px;color:#1e3c72;font-family:Courier New,monospace;font-weight:600;padding:4px 10px}.employee-name-cell strong{color:#333}.shift-tag,.team-tag{border-radius:20px;display:inline-block;font-size:.8rem;font-weight:600;padding:4px 10px}.btn-edit{background:#f0f4f8;border:none;border-radius:6px;cursor:pointer;font-size:1rem;margin-right:5px;padding:8px 12px;transition:all .2s}.btn-edit:hover{background:#e0e4e8}.btn-documents{background:#e3f2fd;border:none;border-radius:6px;color:#1565c0;cursor:pointer;font-size:1rem;margin-right:5px;padding:8px 12px;transition:all .2s}.btn-documents:hover{background:#bbdefb;color:#0d47a1}.actions-cell{white-space:nowrap}.documents-modal{animation:slideUp .3s ease;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:800px;overflow:hidden;width:90%}.documents-modal .modal-header{align-items:center;background:linear-gradient(135deg,#1e3c72,#2a5298);border-bottom:1px solid #eee;color:#fff;display:flex;justify-content:space-between;padding:20px 25px}.documents-modal .modal-header h3{align-items:center;display:flex;font-size:1.2rem;gap:10px;margin:0}.documents-modal .modal-header .icon-inline{height:24px;width:24px}.documents-modal .btn-close-modal{background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:20px;height:32px;transition:all .2s;width:32px}.documents-modal .btn-close-modal:hover{background:#ffffff4d}.documents-modal .modal-body{flex:1 1;overflow-y:auto;padding:25px}.document-upload-section{background:#f8f9fa;border-radius:12px;margin-bottom:25px;padding:20px}.document-upload-section h4{color:#333;font-size:1rem;margin:0 0 15px}.upload-form{display:flex;flex-direction:column;gap:15px}.upload-form .form-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 2fr}.upload-form .form-group{display:flex;flex-direction:column;gap:6px}.upload-form .form-group label{color:#555;font-size:13px;font-weight:600}.upload-form select{border:2px solid #e0e0e0;border-radius:8px;font-size:14px;padding:10px 12px;transition:border-color .2s}.upload-form select:focus{border-color:#1e3c72;outline:none}.file-input-wrapper{position:relative}.file-input-wrapper input[type=file]{left:-9999px;position:absolute}.file-input-label{align-items:center;background:#fff;border:2px dashed #ccc;border-radius:8px;cursor:pointer;display:flex;min-height:42px;padding:10px 15px;transition:all .2s}.file-input-label:hover{background:#f0f4f8;border-color:#1e3c72}.file-input-label .file-selected{color:#2e7d32;font-weight:500}.btn-upload{align-self:flex-start;background:linear-gradient(135deg,#1e3c72,#2a5298);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:12px 25px;transition:all .2s}.btn-upload:hover:not(:disabled){box-shadow:0 4px 15px #1e3c7266;transform:translateY(-2px)}.btn-upload:disabled{cursor:not-allowed;opacity:.5}.upload-hint{color:#888;font-size:12px;margin:10px 0 0}.documents-list-section{margin-top:10px}.documents-list-section h4{color:#333;font-size:1rem;margin:0 0 15px}.no-documents{color:#999;padding:40px 20px;text-align:center}.no-documents p{margin:15px 0 0}.documents-grid{display:flex;flex-direction:column;gap:10px}.document-card{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:10px;display:flex;gap:15px;padding:15px;transition:all .2s}.document-card:hover{border-color:#1e3c72;box-shadow:0 4px 12px #00000014}.document-icon{align-items:center;background:#f0f4f8;border-radius:8px;display:flex;flex-shrink:0;height:50px;justify-content:center;overflow:hidden;width:50px}.document-icon .doc-icon{color:#1e3c72;height:28px;width:28px}.document-thumbnail{height:100%;object-fit:cover;width:100%}.document-info{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0}.document-type-badge{background:#e3f2fd;border-radius:12px;color:#1565c0;display:inline-block;font-size:11px;font-weight:600;padding:3px 10px;width:-webkit-fit-content;width:fit-content}.document-name{color:#333;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-meta{color:#888;font-size:12px}.document-actions{display:flex;gap:5px}.btn-delete-doc,.btn-view-doc{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s;width:36px}.btn-view-doc{background:#e3f2fd;color:#1565c0}.btn-view-doc:hover{background:#bbdefb}.btn-delete-doc{background:#ffebee;color:#c62828}.btn-delete-doc:hover{background:#ffcdd2}.btn-delete-doc .icon-btn,.btn-view-doc .icon-btn{height:18px;width:18px}.documents-modal .modal-footer{border-top:1px solid #eee;display:flex;justify-content:flex-end;padding:15px 25px}.documents-modal .btn-close{background:#f0f0f0;border:none;border-radius:8px;cursor:pointer;font-weight:600;padding:10px 25px;transition:all .2s}.documents-modal .btn-close:hover{background:#e0e0e0}@media (max-width:768px){.documents-modal{max-height:95vh;width:95%}.upload-form .form-row{grid-template-columns:1fr}.document-card{flex-wrap:wrap}.document-info{width:calc(100% - 65px)}.document-actions{border-top:1px solid #eee;justify-content:flex-end;margin-top:10px;padding-top:10px;width:100%}}@media (max-width:1200px){.employees-section.with-sidebar{flex-direction:column}.employee-sidebar{max-height:none;position:relative;top:0;width:100%}}.absences-section-new{padding:10px 0}.absent-today-section{background:linear-gradient(135deg,#fff5f5,#ffebee);border:2px solid #ffcdd2;border-radius:15px;margin-bottom:25px;padding:20px}.absent-today-section h3{color:#c62828;margin:0 0 10px}.absent-hint{color:#666;font-size:.9rem;margin:0 0 15px}.absent-today-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.absent-today-card{align-items:center;background:#fff;border-radius:10px;box-shadow:0 2px 8px #00000014;display:flex;gap:12px;padding:15px}.absent-avatar{align-items:center;background:linear-gradient(135deg,#ef5350,#f44336);border-radius:50%;color:#fff;display:flex;font-size:1.2rem;font-weight:700;height:45px;justify-content:center;width:45px}.absent-info{display:flex;flex:1 1;flex-direction:column}.absent-name{color:#333;font-weight:600}.absent-dept{color:#666;font-size:.85rem}.btn-declare-absence{background:linear-gradient(135deg,#ff9800,#ffa726);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:8px 15px;transition:all .2s}.btn-declare-absence:hover{box-shadow:0 4px 12px #ff980066;transform:translateY(-2px)}.absence-stat-card.today-absent{background:linear-gradient(135deg,#ffebee,#ffcdd2);border:2px solid #ef5350}.absence-stat-card.today-absent .stat-value{color:#c62828}.absence-stats-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:30px}.absence-stat-card{align-items:center;background:#fff;border-left:4px solid;border-radius:12px;box-shadow:0 2px 10px #00000014;display:flex;gap:15px;padding:20px}.absence-stat-card.pending{border-left-color:#ff9800}.absence-stat-card.approved{border-left-color:#4caf50}.absence-stat-card.rejected{border-left-color:#f44336}.absence-stat-card.total{border-left-color:#2196f3}.absence-stat-card .stat-icon{align-items:center;background:#0000001a;border-radius:50%;display:flex;font-size:1.5rem;font-weight:700;height:40px;justify-content:center;width:40px}.absence-stat-card.today-absent .stat-icon{background:#ffcdd2;color:#c62828}.absence-stat-card .stat-content{display:flex;flex-direction:column}.absence-stat-card .stat-value{color:#333;font-size:1.8rem;font-weight:700}.absence-stat-card .stat-label{color:#666;font-size:.85rem}.pending-absences-section{background:linear-gradient(135deg,#fff8e1,#ffecb3);border:2px solid #ffca28;border-radius:16px;margin-bottom:30px;padding:25px}.pending-absences-section h3{color:#e65100;margin:0 0 20px}.pending-cards-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.pending-absence-card{background:#fff;border-left:5px solid;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:20px}.pending-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.pending-type-badge{border-radius:20px;color:#fff;font-size:.85rem;font-weight:600;padding:6px 12px}.pending-days{background:#f0f0f0;border-radius:15px;color:#333;font-weight:700;padding:5px 12px}.pending-card-body p{color:#555;margin:8px 0}.pending-employee-name{color:#333!important;font-size:1.1rem;font-weight:600}.pending-motif{color:#777!important;font-style:italic}.pending-file{color:#2196f3!important}.pending-card-actions{border-top:1px solid #eee;display:flex;gap:10px;margin-top:15px;padding-top:15px}.btn-approve-new,.btn-reject-new{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-weight:600;padding:12px;transition:all .2s}.btn-approve-new{background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff}.btn-approve-new:hover{box-shadow:0 4px 12px #4caf5066;transform:translateY(-2px)}.btn-reject-new{background:linear-gradient(135deg,#f44336,#e57373);color:#fff}.btn-reject-new:hover{box-shadow:0 4px 12px #f4433666;transform:translateY(-2px)}.absence-calendar-section{background:#fff;border-radius:16px;box-shadow:0 2px 10px #00000014;margin-bottom:30px;padding:25px}.calendar-header{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:15px}.calendar-header h3{color:#333;margin:0}.calendar-actions{flex:1 1}.btn-add-absence{background:linear-gradient(135deg,#4caf50,#66bb6a);border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:600;padding:12px 20px;transition:all .2s}.btn-add-absence:hover{box-shadow:0 4px 15px #4caf5066;transform:translateY(-2px)}.calendar-hint{background:#f0f4f8;border-radius:8px;color:#666;font-size:.9rem;margin:0 0 15px;padding:10px;text-align:center}.calendar-nav{align-items:center;display:flex;gap:15px}.calendar-nav button{background:#fff;border:2px solid #1e3c72;border-radius:8px;color:#1e3c72;cursor:pointer;font-size:1rem;height:36px;transition:all .2s;width:36px}.calendar-nav button:hover{background:#1e3c72;color:#fff}.current-month{color:#333;font-size:1.1rem;font-weight:600;min-width:180px;text-align:center;text-transform:capitalize}.absence-calendar{border:1px solid #e0e0e0;border-radius:12px;overflow:hidden}.calendar-weekdays{background:linear-gradient(135deg,#1e3c72,#2a5298);display:grid;grid-template-columns:repeat(7,1fr)}.calendar-weekdays .weekday{color:#fff;font-size:.85rem;font-weight:600;padding:12px;text-align:center}.calendar-days{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(7,1fr)}.calendar-day{background:#fff;border:1px solid #f0f0f0;max-height:65px;min-height:50px;padding:5px;position:relative}.calendar-day.clickable{cursor:pointer;transition:all .2s}.calendar-day.clickable:hover{background:#e3f2fd;border-color:#2196f3;box-shadow:0 2px 10px #2196f333;transform:scale(1.02);z-index:1}.calendar-day.other-month{background:#fafafa;cursor:default;opacity:.5}.calendar-day.other-month:hover{box-shadow:none;transform:none}.calendar-day.today{background:#e3f2fd;border-color:#2196f3}.calendar-day.weekend{background:#f5f5f5}.day-number{color:#333;font-size:.9rem}.day-absences{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.absence-dot{align-items:center;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:.7rem;height:22px;justify-content:center;width:22px}.more-absences{background:#f0f0f0;border-radius:10px;color:#666;font-size:.7rem;padding:2px 6px}.absence-legend{border-top:1px solid #e0e0e0;display:flex;flex-wrap:wrap;gap:15px;margin-top:20px;padding-top:20px}.legend-item{color:#555}.legend-dot{align-items:center;border-radius:50%;display:flex;font-size:.75rem;height:24px;justify-content:center;width:24px}.absence-list-section{background:#fff;border-radius:16px;box-shadow:0 2px 10px #00000014;padding:25px}.absence-filters{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:20px}.filter-group{align-items:center;gap:8px}.filter-group label{color:#555;font-size:.9rem}.filter-group select{border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:.9rem;padding:10px 15px}.filter-group select:focus{border-color:#1e3c72;outline:none}.filter-search{flex:1 1;min-width:200px}.filter-search input{width:100%}.absences-table-new{border-collapse:collapse;margin-top:15px;width:100%}.absences-table-new td,.absences-table-new th{border-bottom:1px solid #e0e0e0;padding:12px 15px;text-align:left}.absences-table-new th{background:#f8f9fa;color:#333;font-weight:600}.absences-table-new tr:hover{background:#f8f9fa}.absences-table-new tr.status-refuse{opacity:.6}.type-tag{font-size:.85rem}.status-badge,.type-tag{border-radius:20px;display:inline-block;font-weight:600;padding:5px 12px}.status-badge{font-size:.8rem}.status-badge.approved{background:#e8f5e9;color:#2e7d32}.status-badge.rejected{background:#ffebee;color:#c62828}.status-badge.pending{background:#fff3e0;color:#e65100}.btn-sm{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;margin-right:5px;padding:6px 10px;transition:all .2s}.btn-sm.approve{background:#e8f5e9}.btn-sm.approve:hover{background:#c8e6c9}.btn-sm.reject{background:#ffebee}.btn-sm.reject:hover{background:#ffcdd2}.motif-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.duration-cell{text-align:center}@media (max-width:768px){.absence-stats-grid{grid-template-columns:repeat(2,1fr)}.pending-cards-grid{grid-template-columns:1fr}.absence-filters{flex-direction:column}.calendar-day{min-height:60px;padding:4px}.absence-dot{font-size:.6rem;height:18px;width:18px}}.absence-modal{animation:slideUp .3s ease;background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:700px;overflow-y:auto;width:90%}.modal-header{align-items:center;background:linear-gradient(135deg,#1e3c72,#2a5298);border-radius:20px 20px 0 0;color:#fff;display:flex;justify-content:space-between;padding:25px 30px}.modal-header h3{font-size:1.3rem;margin:0}.btn-close-modal{background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:1.3rem;height:36px;transition:all .2s;width:36px}.btn-close-modal:hover{background:#ffffff4d;transform:rotate(90deg)}.absence-form{padding:30px}.absence-form .form-group{margin-bottom:20px}.absence-form .form-group label{color:#333;display:block;font-weight:600;margin-bottom:8px}.absence-form .form-group input,.absence-form .form-group select,.absence-form .form-group textarea{border:2px solid #e0e0e0;border-radius:10px;font-size:1rem;padding:12px 15px;transition:all .2s;width:100%}.absence-form .form-group input:focus,.absence-form .form-group select:focus,.absence-form .form-group textarea:focus{border-color:#1e3c72;box-shadow:0 0 0 3px #1e3c721a;outline:none}.absence-form .form-row{display:flex;gap:15px}.absence-form .form-row .form-group{flex:1 1}.absence-type-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.absence-type-btn{align-items:center;background:#fff;border:2px solid;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;font-size:.85rem;font-weight:600;gap:5px;padding:12px 10px;transition:all .2s}.absence-type-btn:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.absence-type-btn.selected{box-shadow:0 4px 15px #0003;transform:scale(1.05)}.absence-duration-preview{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-radius:10px;color:#1565c0;font-size:1.1rem;margin-bottom:20px;padding:15px 20px;text-align:center}.status-buttons{display:flex;gap:15px}.status-btn{background:#fff;border:2px solid #e0e0e0;border-radius:10px;cursor:pointer;flex:1 1;font-weight:600;padding:15px;transition:all .2s}.status-btn:hover{border-color:#999}.status-btn.selected.approved{background:#e8f5e9;border-color:#4caf50;color:#2e7d32}.status-btn.selected.pending{background:#fff3e0;border-color:#ff9800;color:#e65100}.modal-actions{padding-top:25px}.btn-create-absence{background:linear-gradient(135deg,#4caf50,#66bb6a);border:none;border-radius:10px;color:#fff;cursor:pointer;flex:2 1;font-size:1rem;font-weight:700;padding:15px 25px;transition:all .2s}.btn-create-absence:hover{box-shadow:0 4px 15px #4caf5066;transform:translateY(-2px)}.modal-actions .btn-cancel{background:#e0e0e0;border:none;border-radius:10px;color:#666;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:15px 25px;transition:all .2s}.modal-actions .btn-cancel:hover{background:#d0d0d0}@media (max-width:600px){.absence-type-grid{grid-template-columns:repeat(2,1fr)}.absence-form .form-row{flex-direction:column;gap:0}.modal-actions,.status-buttons{flex-direction:column}}.pointages-section .section-header{flex-wrap:wrap;justify-content:space-between;margin-bottom:25px}.pointages-section .header-actions,.pointages-section .section-header{align-items:center;display:flex;gap:15px}.pointages-section .date-filter{border:2px solid #e0e0e0;border-radius:10px;font-size:1rem;padding:10px 15px}.pointages-layout{grid-gap:25px;display:grid;gap:25px;grid-template-columns:1fr;min-height:600px}.pointages-layout.with-detail{grid-template-columns:1fr 1fr}.pointages-layout.full-width .employees-grid-panel{max-width:100%}.pointages-layout.full-width .employees-cards-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));max-height:550px}.employees-grid-panel{background:#f8f9fa;border-radius:15px;padding:20px}.employees-grid-panel .panel-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.employees-grid-panel .panel-header h3{color:#333;margin:0}.search-input-small{border:2px solid #e0e0e0;border-radius:8px;font-size:.9rem;padding:8px 15px;width:180px}.employees-cards-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));max-height:450px;overflow-y:auto;padding-right:5px}.employee-pointage-card{align-items:center;background:#fff;border:2px solid #0000;border-radius:12px;cursor:pointer;display:flex;gap:12px;padding:15px;position:relative;transition:all .2s}.employee-pointage-card:hover{box-shadow:0 4px 15px #0000001a;transform:translateY(-2px)}.employee-pointage-card.selected{background:#e3f2fd;border-color:#1e3c72}.employee-pointage-card.absent{border-left:4px solid #f44336}.employee-pointage-card.present{border-left:4px solid #4caf50}.employee-pointage-card.pause{border-left:4px solid #ff9800}.employee-pointage-card.completed{border-left:4px solid #2196f3}.emp-card-avatar{align-items:center;background:linear-gradient(135deg,#1e3c72,#2a5298);color:#fff;display:flex;font-size:1.1rem;font-weight:700;height:40px;justify-content:center;width:40px}.emp-card-info{display:flex;flex:1 1;flex-direction:column;min-width:0}.emp-card-name{color:#333;font-size:.95rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.emp-card-dept{color:#666;font-size:.8rem}.emp-card-shift-info{align-items:center;display:flex;gap:8px;margin-top:4px}.emp-team-badge{background:#e3f2fd;border-radius:4px;color:#1976d2;font-size:.7rem;font-weight:500;padding:2px 6px}.emp-shift-hours{font-size:.7rem;font-weight:600}.emp-card-avatar{border:3px solid #0000;border-radius:50%}.emp-card-status{position:absolute;right:10px;top:10px}.status-dot{border-radius:50%;display:inline-block;height:10px;width:10px}.status-dot.red{background:#f44336}.status-dot.green{background:#4caf50}.status-dot.orange{background:#ff9800}.status-dot.blue{background:#2196f3}.emp-card-pointages-count{bottom:8px;color:#999;font-size:.75rem;position:absolute;right:10px}.status-legend{border-top:1px solid #e0e0e0;display:flex;flex-wrap:wrap;gap:20px;margin-top:20px;padding-top:15px}.legend-item{align-items:center;color:#666;display:flex;font-size:.85rem;gap:6px}.employee-pointages-detail{background:#fff;border-radius:15px;box-shadow:0 4px 20px #00000014;padding:25px}.detail-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:25px;padding-bottom:20px}.detail-employee-info{align-items:center;display:flex;gap:15px}.detail-avatar{align-items:center;background:linear-gradient(135deg,#1e3c72,#2a5298);border-radius:50%;color:#fff;display:flex;font-size:1.5rem;font-weight:700;height:60px;justify-content:center;width:60px}.detail-employee-info h3{color:#333;margin:0 0 5px}.detail-dept{color:#666;font-size:.9rem}.detail-actions{align-items:center;display:flex;gap:10px}.btn-quick-badge{align-items:center;background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.85rem;font-weight:600;gap:6px;padding:8px 16px;transition:all .2s}.btn-quick-badge:hover{box-shadow:0 4px 12px #4caf504d;transform:translateY(-2px)}.btn-manual-badge{align-items:center;background:linear-gradient(135deg,#2196f3,#1976d2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.85rem;font-weight:600;gap:6px;padding:8px 16px;transition:all .2s}.btn-manual-badge:hover{box-shadow:0 4px 12px #2196f34d;transform:translateY(-2px)}.btn-close-detail{background:#f0f0f0;border:none;border-radius:50%;cursor:pointer;font-size:1.2rem;height:36px;transition:all .2s;width:36px}.btn-close-detail:hover{background:#e0e0e0}.pointages-timeline h4{color:#333;margin:0 0 20px}.no-pointages{background:#f8f9fa;border-radius:10px;color:#999;padding:30px;text-align:center}.timeline-container{margin-bottom:25px;padding-left:30px;position:relative}.timeline-container:before{background:#e0e0e0;border-radius:3px;bottom:0;content:"";left:8px;position:absolute;top:0;width:3px}.timeline-item{align-items:center;display:flex;gap:15px;padding:10px 0;position:relative}.timeline-item:hover .btn-delete-pointage,.timeline-item:hover .btn-edit-pointage{opacity:1}.timeline-actions{display:flex;gap:5px}.btn-edit-pointage{background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:14px;opacity:0;padding:6px 10px;transition:all .2s}.btn-edit-pointage:hover{background:#fff3e0;border-color:#ff9800}.btn-delete-pointage{background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:14px;opacity:0;padding:6px 10px;transition:all .2s}.btn-delete-pointage:hover{background:#ffebee;border-color:#f44336;color:#f44336}.night-shift-info{align-items:center;background:linear-gradient(135deg,#4a148c,#7b1fa2);border-radius:10px;color:#fff;display:flex;font-size:14px;gap:10px;margin-bottom:15px;padding:12px 16px}.night-shift-info .night-icon{font-size:1.3rem}.timeline-dot{border:3px solid #fff;border-radius:50%;box-shadow:0 2px 5px #0003;height:18px;left:-26px;position:absolute;width:18px}.timeline-item.entree .timeline-dot{background:#4caf50}.timeline-item.sortie .timeline-dot{background:#f44336}.timeline-item.debut_pause .timeline-dot{background:#ff9800}.timeline-item.fin_pause .timeline-dot{background:#2196f3}.timeline-content{background:#f8f9fa;border-radius:10px;display:flex;flex:1 1;flex-direction:column;gap:5px;padding:12px 20px}.timeline-main{align-items:center;display:flex;gap:15px}.timeline-time{color:#1e3c72;font-size:1.1rem;font-weight:700}.timeline-type{color:#666}.validation-info{align-items:center;display:flex;font-size:.8rem;gap:12px;margin-top:4px}.validation-badge{align-items:center;background:#e8f5e9;border-radius:12px;color:#2e7d32;display:inline-flex;font-weight:500;gap:4px;padding:3px 10px}.validation-badge .icon-inline{height:14px;width:14px}.location-info{background:#f5f5f5;border-radius:8px;color:#666;font-size:.75rem;padding:2px 8px}.timeline-item.validated .timeline-content{background:linear-gradient(135deg,#e8f5e9,#f1f8e9);border-left:3px solid #4caf50}.pointage-summary{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-radius:12px;display:flex;gap:20px;margin-bottom:25px;padding:20px}.summary-item{display:flex;flex-direction:column;gap:5px}.summary-label{color:#666;font-size:.85rem}.summary-value{color:#1e3c72;font-size:1.3rem;font-weight:700}.summary-value.pause{color:#ff9800}.summary-item.overtime{background:linear-gradient(135deg,#fff3e0,#ffe0b2);border-left:4px solid #ff9800;border-radius:8px;padding:8px 12px}.summary-value.overtime-value{color:#e65100;font-weight:700}.week-history h4{color:#333;margin:0 0 15px}.week-nav-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.week-nav-header h4{font-size:1rem;margin:0}.btn-week-nav{background:#f0f0f0;border:none;border-radius:8px;color:#666;cursor:pointer;font-size:.85rem;padding:8px 12px;transition:all .2s}.btn-week-nav:hover{background:#1e3c72;color:#fff}.week-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(7,1fr)}.week-day{background:#f8f9fa;border:2px solid #0000;border-radius:10px;cursor:pointer;padding:12px 8px;position:relative;text-align:center;transition:all .2s}.week-day:hover{background:#e3f2fd}.week-day.worked{background:#e8f5e9}.week-day.today{border-color:#1e3c72}.week-day.selected{background:#1e3c72;color:#fff}.week-day.selected .week-day-name,.week-day.selected .week-day-num{color:#fff}.week-day-name{color:#666;display:block;font-size:.75rem;margin-bottom:5px}.week-day-num{color:#333;display:block;font-size:1.1rem;font-weight:700}.week-day-dot{background:#4caf50;border-radius:50%;bottom:5px;height:6px;left:50%;position:absolute;transform:translateX(-50%);width:6px}.week-total-hours{border-top:1px dashed #e0e0e0;margin-top:15px;padding-top:15px}.week-total-display{align-items:center;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border:1px solid #a5d6a7;border-radius:10px;display:flex;justify-content:space-between;padding:12px 16px}.week-total-label{color:#2e7d32;font-size:.9rem;font-weight:600}.week-total-value{background:#fff;border-radius:20px;box-shadow:0 2px 4px #0000001a;color:#1b5e20;font-size:1.2rem;font-weight:700;padding:4px 12px}.month-calendar-mini{border-top:1px solid #e0e0e0;margin-top:20px;padding-top:20px}.month-nav-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.month-title{color:#333;font-weight:600;text-transform:capitalize}.btn-month-nav{background:#f0f0f0;border:none;border-radius:50%;color:#666;cursor:pointer;font-size:.8rem;height:28px;transition:all .2s;width:28px}.btn-month-nav:hover{background:#1e3c72;color:#fff}.month-grid-mini{grid-gap:3px;display:grid;gap:3px;grid-template-columns:repeat(7,1fr)}.month-day-header{color:#999;font-size:.7rem;font-weight:600;padding:4px 0;text-align:center}.month-day{color:#666;cursor:pointer;font-size:.75rem;padding:6px 4px;text-align:center}.month-day:hover{background:#e3f2fd}.month-day.empty{cursor:default}.month-day.worked{background:#e8f5e9;color:#2e7d32;font-weight:600}.month-day.today{border:2px solid #1e3c72}.month-day.selected{background:#1e3c72;color:#fff}.no-employee-selected{align-items:center;color:#999;display:flex;flex-direction:column;height:400px;justify-content:center;text-align:center}.no-employee-selected .no-selection-icon{font-size:4rem;margin-bottom:15px}@media (max-width:1024px){.pointages-layout{grid-template-columns:1fr}.employees-cards-grid{max-height:300px}}@media (max-width:600px){.pointages-section .header-actions{flex-direction:column;width:100%}.pointages-section .date-filter{width:100%}.employees-cards-grid{grid-template-columns:1fr}.week-grid{grid-template-columns:repeat(4,1fr)}.pointage-summary{flex-direction:column}}.btn-import-badge{background:linear-gradient(135deg,#00bcd4,#0097a7);border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .3s}.btn-import-badge:hover{box-shadow:0 5px 15px #00bcd44d;transform:translateY(-2px)}.import-modal{animation:slideUp .3s ease;background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:800px;overflow-y:auto;width:95%}.import-modal .modal-header{background:linear-gradient(135deg,#00bcd4,#0097a7)}.import-modal .close-btn{background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:1.3rem;height:36px;width:36px}.import-info{background:#f8f9fa;border-bottom:1px solid #e0e0e0;padding:20px 30px}.import-info h4{color:#1e3c72;margin:0 0 10px}.import-info p{color:#666;margin:5px 0}.import-info code{background:#e3f2fd;border-radius:5px;color:#1565c0;font-family:monospace;padding:4px 8px}.import-example{background:#263238;border-radius:10px;margin-top:15px;padding:15px}.import-example strong{color:#81d4fa;font-size:12px}.import-example pre{color:#a5d6a7;font-family:Courier New,monospace;font-size:13px;line-height:1.5;margin:10px 0 0}.import-note{background:#fff8e1;border-left:4px solid #ffc107;border-radius:8px;font-size:13px;margin-top:15px;padding:12px}.import-form{padding:20px 30px}.import-form label{color:#333;display:block;font-weight:600;margin-bottom:8px}.import-form textarea{border:2px solid #e0e0e0;border-radius:10px;font-family:Courier New,monospace;font-size:13px;padding:15px;resize:vertical;transition:border-color .3s;width:100%}.import-form textarea:focus{border-color:#00bcd4;outline:none}.import-results{border-radius:10px;margin:0 30px 20px;padding:15px}.import-results.success{background:#e8f5e9;border:1px solid #a5d6a7}.import-results.error{background:#ffebee;border:1px solid #ef9a9a}.import-results p{margin:0 0 10px}.import-results details{margin-top:10px}.import-results summary{color:#666;cursor:pointer;font-weight:600}.import-results ul{font-size:13px;margin:10px 0 0 20px}.import-anomalies{border-top:1px solid #c8e6c9;margin-top:15px;padding-top:15px}.import-anomalies h4{color:#f57c00;margin:0 0 10px}.anomaly-item{background:#fff8e1;border-radius:6px;font-size:13px;margin-bottom:8px;padding:8px 12px}.anomaly-item .suggestion{color:#2196f3;font-style:italic}.btn-go-anomalies{background:#ff9800;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;margin-top:10px;padding:8px 16px}.modal-actions{background:#f8f9fa;border-top:1px solid #e0e0e0;padding:20px 30px}.btn-import{background:linear-gradient(135deg,#00bcd4,#0097a7);border:none;border-radius:10px;color:#fff;cursor:pointer;flex:1 1;font-size:15px;font-weight:700;padding:14px 24px;transition:all .3s}.btn-import:disabled{background:#bdbdbd;cursor:not-allowed}.btn-import:not(:disabled):hover{box-shadow:0 5px 20px #00bcd44d;transform:translateY(-2px)}.btn-cancel{background:#fff;border:2px solid #e0e0e0;border-radius:10px;cursor:pointer;font-weight:600;padding:14px 24px;transition:all .3s}.btn-cancel:hover{border-color:#ff5252;color:#ff5252}.import-test{background:#e3f2fd;border-radius:0 0 20px 20px;padding:20px 30px}.import-test h4{color:#1565c0;margin:0 0 8px}.import-test p{color:#666;font-size:13px;margin:0 0 15px}.test-badges{display:flex;flex-wrap:wrap;gap:10px}.btn-test-badge{background:#fff;border:none;border-radius:8px;box-shadow:0 2px 8px #0000001a;color:#1565c0;cursor:pointer;font-size:13px;font-weight:600;padding:10px 16px;transition:all .3s}.btn-test-badge:hover{background:#1565c0;box-shadow:0 4px 15px #00000026;color:#fff;transform:translateY(-2px)}.edit-pointage-modal{animation:slideUp .3s ease;background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:500px;width:95%}.edit-pointage-modal .modal-header{align-items:center;background:linear-gradient(135deg,#ff9800,#f57c00);border-radius:20px 20px 0 0;display:flex;justify-content:space-between;padding:20px 25px}.edit-pointage-modal .modal-header h3{color:#fff;font-size:1.3rem;margin:0}.edit-pointage-modal .close-btn{background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:1.3rem;height:36px;transition:all .3s;width:36px}.edit-pointage-modal .close-btn:hover{background:#ffffff4d}.edit-pointage-info{background:#fff8e1;border-bottom:1px solid #ffe082;padding:20px 25px}.edit-pointage-info p{color:#5d4037;margin:8px 0}.edit-pointage-form{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;padding:25px}.edit-pointage-form .form-group label{color:#333;display:block;font-weight:600;margin-bottom:8px}.edit-pointage-form input,.edit-pointage-form select{border:2px solid #e0e0e0;border-radius:10px;font-size:16px;padding:12px;transition:border-color .3s;width:100%}.edit-pointage-form input:focus,.edit-pointage-form select:focus{border-color:#ff9800;outline:none}.edit-pointage-preview{align-items:center;background:#f5f5f5;display:flex;flex-wrap:wrap;gap:15px;padding:15px 25px}.preview-label{color:#666;font-weight:600}.preview-old{background:#ffebee;border-radius:20px;color:#c62828;font-size:14px;padding:5px 12px;text-decoration:line-through}.preview-arrow{color:#999;font-size:1.2rem}.preview-new{background:#e8f5e9;border-radius:20px;color:#2e7d32;font-size:14px;font-weight:600;padding:5px 12px}.edit-pointage-modal .modal-actions{border-top:1px solid #e0e0e0;display:flex;gap:12px;justify-content:flex-end;padding:20px 25px}.edit-pointage-modal .btn-save{background:linear-gradient(135deg,#4caf50,#43a047);border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .3s}.edit-pointage-modal .btn-save:hover{box-shadow:0 5px 15px #4caf5066;transform:translateY(-2px)}.edit-pointage-modal .btn-delete{background:linear-gradient(135deg,#f44336,#d32f2f);border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .3s}.edit-pointage-modal .btn-delete:hover{box-shadow:0 5px 15px #f4433666;transform:translateY(-2px)}.edit-pointage-modal .btn-cancel{background:#e0e0e0;border:none;border-radius:10px;color:#666;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .3s}.edit-pointage-modal .btn-cancel:hover{background:#bdbdbd}.system-access-group{align-items:center;background:#f5f5f5;border-radius:8px;display:flex;justify-content:space-between;margin-top:15px;padding:12px 15px}.system-access-group.active{background:#e8f5e9}.toggle-label{align-items:center;color:#333;cursor:pointer;display:flex;font-size:14px;gap:10px}.toggle-label input[type=checkbox]{display:none}.toggle-switch{background:#ccc;border-radius:12px;height:24px;position:relative;transition:background .3s;width:44px}.toggle-switch:before{background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;content:"";height:20px;left:2px;position:absolute;top:2px;transition:transform .3s;width:20px}.toggle-label input[type=checkbox]:checked+.toggle-switch{background:#4caf50}.toggle-label input[type=checkbox]:checked+.toggle-switch:before{transform:translateX(20px)}.form-help{display:none}.absences-section,.admin-dashboard,.anomalies-section,.demandes-section,.employees-section,.overview-section,.planning-section,.pointages-section,.rapports-section,.settings-section{box-sizing:border-box;max-width:none!important;width:100%!important}.admin-dashboard .absences-table,.admin-dashboard .data-table,.admin-dashboard .employees-grid,.admin-dashboard .pointages-table,.admin-dashboard .stats-grid,.admin-dashboard table{max-width:none!important;width:100%!important}.admin-dashboard .card,.admin-dashboard .panel,.admin-dashboard .section-content,.admin-dashboard section,.admin-dashboard>div{max-width:none;width:100%}.actualites-section{padding:20px}.actualites-section .section-header{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:25px}.actualites-section .section-header h2{align-items:center;color:#1e3c72;display:flex;font-size:1.5rem;gap:10px;margin:0}.actualites-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.actualite-card{background:#fff;border-left:4px solid #3498db;border-radius:12px;box-shadow:0 2px 10px #00000014;padding:20px;transition:all .2s}.actualite-card:hover{box-shadow:0 4px 15px #0000001f;transform:translateY(-2px)}.actualite-card.priority-high{background:linear-gradient(90deg,#fff5f5,#fff);border-left-color:#e74c3c}.actualite-card.priority-normal{border-left-color:#3498db}.actualite-card.priority-low{border-left-color:#95a5a6}.actualite-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.category-badge{border-radius:12px;font-size:.75rem;font-weight:600;padding:4px 10px}.category-badge.info{background:#e3f2fd;color:#1976d2}.category-badge.urgent{background:#ffebee;color:#c62828}.category-badge.event{background:#fff3e0;color:#ef6c00}.category-badge.rh{background:#f3e5f5;color:#7b1fa2}.actualite-date{color:#7f8c8d;font-size:.8rem}.actualite-title{color:#2c3e50;font-size:1.1rem;margin:0 0 10px}.actualite-content{color:#555;font-size:.9rem;line-height:1.5;margin:0 0 15px}.actualite-expires{background:#fff8e1;border-radius:6px;color:#e67e22;display:inline-block;font-size:.8rem;margin-bottom:15px;padding:5px 10px}.actualite-actions{border-top:1px solid #eee;display:flex;gap:10px;padding-top:15px}.actualite-actions .btn-delete,.actualite-actions .btn-edit{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:.85rem;gap:5px;padding:6px 12px}.actualite-actions .btn-edit{background:#e3f2fd;color:#1976d2}.actualite-actions .btn-delete{background:#ffebee;color:#c62828}.actualite-modal{max-width:600px}.actualite-modal textarea{border:1px solid #ddd;border-radius:8px;font-family:inherit;padding:12px;resize:vertical;width:100%}.actualite-modal .form-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr}.empty-state{background:#f8f9fa;border-radius:12px;color:#7f8c8d;padding:60px 20px}.empty-state p{margin:10px 0}.loading-state{color:#7f8c8d;padding:40px;text-align:center}.superadmin-dashboard{background:linear-gradient(135deg,#1a1a2e,#16213e);color:#fff;min-height:100vh;padding:0}.tabs-nav{background:#ffffff05;border-bottom:1px solid #ffffff1a;display:flex;gap:10px;padding:20px 40px}.tab-btn{border:1px solid #ffffff1a;border-radius:8px;color:#fff9;font-size:.95rem;font-weight:500;gap:8px;padding:12px 24px}.tab-btn:hover{background:#ffffff0d;color:#ffffffe6}.tab-btn.active{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-color:#0000;color:#fff}.superadmin-header{align-items:center;background:#ffffff0d;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:20px 40px}.header-left{gap:15px}.header-icon{color:#6366f1;height:48px;width:48px}.header-left h1{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#6366f1,#8b5cf6);-webkit-background-clip:text;background-clip:text;font-size:1.8rem;font-weight:700;margin:0}.header-left p{color:#fff9;font-size:.9rem;margin:0}.header-right{gap:20px}.user-email{color:#ffffffb3;font-size:.9rem}.btn-logout{align-items:center;background:#ef444433;border:1px solid #ef444480;border-radius:8px;color:#f87171;display:flex;gap:8px;padding:10px 20px;transition:all .2s}.btn-logout:hover{background:#ef44444d}.message{align-items:center;border-radius:8px;display:flex;font-weight:500;gap:10px;margin:20px 40px;padding:15px 20px}.message.success{background:#22c55e33;border:1px solid #22c55e80;color:#4ade80}.message.error{background:#ef444433;border:1px solid #ef444480;color:#f87171}.stats-row{display:flex;gap:20px;padding:30px 40px}.stat-card{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;display:flex;flex:1 1;gap:20px;padding:25px}.stat-icon{color:#6366f1;height:48px;width:48px}.stat-content{display:flex;flex-direction:column}.stat-value{color:#fff;font-size:2rem;font-weight:700}.stat-label{color:#fff9;font-size:.9rem}.actions-bar{align-items:center;display:flex;justify-content:space-between;padding:0 40px 20px}.actions-bar h2{font-size:1.4rem;font-weight:600;margin:0}.btn-primary{align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:8px;cursor:pointer;display:flex;font-weight:600;gap:8px;padding:12px 24px;transition:all .2s}.btn-primary:hover{box-shadow:0 4px 20px #6366f166}.btn-secondary{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;cursor:pointer;font-weight:500;padding:12px 24px;transition:all .2s}.btn-secondary:hover{background:#ffffff26}.icon-sm{height:18px;width:18px}.companies-table-container{padding:0 40px 40px}.companies-table{background:#ffffff08;border-collapse:collapse;border-radius:12px;overflow:hidden;width:100%}.companies-table thead{background:#ffffff0d}.companies-table th{color:#ffffffb3;font-size:.85rem;font-weight:600;letter-spacing:.5px;padding:15px 20px;text-align:left;text-transform:uppercase}.companies-table td{border-bottom:1px solid #ffffff0d;padding:15px 20px}.companies-table tbody tr:hover{background:#ffffff08}.company-name{color:#fff;font-weight:600}.companies-table code{background:#6366f133;border-radius:4px;color:#a5b4fc;font-size:.85rem;padding:4px 8px}.badge{border-radius:20px;display:inline-block;font-size:.75rem;font-weight:600;padding:4px 10px;text-transform:uppercase}.badge-free{background:#6b728033;color:#9ca3af}.badge-basic{background:#3b82f633;color:#60a5fa}.badge-premium{background:#a855f733;color:#c084fc}.badge-enterprise{background:#eab30833;color:#fbbf24}.status{border-radius:20px;display:inline-block;font-size:.75rem;font-weight:600;padding:4px 10px}.status-active{background:#22c55e33;color:#4ade80}.status-inactive{background:#ef444433;color:#f87171}.actions{display:flex;gap:8px}.btn-icon{align-items:center;background:#ffffff1a;border:none;border-radius:8px;color:#ffffffb3;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s;width:36px}.btn-icon:hover{background:#fff3;color:#fff}.btn-icon.btn-danger:hover{background:#ef44444d;color:#f87171}.empty-state{padding:40px!important}.empty-state,.loading{color:#ffffff80;text-align:center}.loading{padding:60px}.modal-overlay{background:#000000b3}.modal{background:#1e293b;border:1px solid #ffffff1a;width:100%}.modal h2{color:#fff;font-size:1.5rem;margin:0 0 25px}.form-row{gap:20px}.form-group{margin-bottom:20px}.form-group label{color:#ffffffb3;font-weight:500;margin-bottom:8px}.form-group input,.form-group select{background:#fff;border:1px solid #d1d5db;color:#1f2937;padding:12px 15px;transition:all .2s}.form-group input:focus,.form-group select:focus{background:#fff;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.form-group input::placeholder{color:#9ca3af}.form-group input:disabled{cursor:not-allowed;opacity:.5}.form-group select{cursor:pointer}.form-group select option{background:#1e293b;color:#fff}.modal-actions{border-top:1px solid #ffffff1a;gap:15px;margin-top:30px}.form-section-title{border-bottom:1px solid #6366f14d;color:#6366f1;font-size:1.1rem;font-weight:600;margin:25px 0 15px;padding-bottom:10px}.form-hint{color:#ffffff80;display:block;font-size:.8rem;margin-top:5px}.settings-container{padding:30px 40px}.settings-container h2{font-size:1.5rem;margin:0 0 10px}.settings-description{color:#fff9;margin-bottom:30px}.plans-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.plan-card{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;padding:20px;transition:all .2s}.plan-card:hover{background:#ffffff14}.plan-card.plan-free{border-top:3px solid #6b7280}.plan-card.plan-basic{border-top:3px solid #3b82f6}.plan-card.plan-premium{border-top:3px solid #a855f7}.plan-card.plan-enterprise{border-top:3px solid #eab308}.plan-header{margin-bottom:20px}.plan-form .form-group{margin-bottom:15px}.plan-form .form-group label{color:#ffffffb3;font-size:.85rem}.plan-form .form-group input{font-size:.9rem;padding:10px 12px}.plan-summary{align-items:center;border-top:1px solid #ffffff1a;display:flex;flex-direction:column;margin-top:15px;padding-top:15px}.plan-price{color:#fff;font-size:1.8rem;font-weight:700}.plan-price small{color:#ffffff80;font-size:.8rem;font-weight:400}.plan-limit{color:#fff9;font-size:.85rem;margin-top:5px}.settings-actions{border-top:1px solid #ffffff1a;justify-content:flex-end;padding-top:20px}@media (max-width:768px){.superadmin-header{flex-direction:column;gap:20px;padding:20px}.tabs-nav{overflow-x:auto;padding:15px 20px}.actions-bar,.stats-row{flex-direction:column;padding:20px}.actions-bar{gap:15px}.companies-table-container{overflow-x:auto;padding:0 20px 20px}.form-row{flex-direction:column;gap:0}.modal{margin:20px}.modal,.settings-container{padding:20px}.plans-grid{grid-template-columns:1fr}}.planning-container{margin:0 auto;max-width:100%;padding:20px}.planning-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:20px}.planning-header h1{color:#2c3e50;font-size:2rem;margin:0}.planning-actions{display:flex;gap:10px}.planning-tabs{border-bottom:2px solid #e0e0e0;display:flex;gap:0;margin-bottom:25px}.tab-btn{align-items:center;background:#0000;border:none;border-bottom:3px solid #0000;color:#7f8c8d;cursor:pointer;display:flex;font-size:1rem;font-weight:600;margin-bottom:-2px;padding:14px 28px;transition:all .2s}.tab-btn:hover{background:#f8f9fa;color:#3498db}.tab-btn.active{background:linear-gradient(180deg,#f8f9fa,#fff);border-bottom-color:#3498db;color:#3498db}.planning-actions button{border:none;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:600;padding:12px 20px;transition:all .2s}.btn-primary{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff}.btn-primary:hover{box-shadow:0 4px 12px #3498db66;transform:translateY(-2px)}.btn-secondary{background:linear-gradient(135deg,#9b59b6,#8e44ad);color:#fff}.btn-secondary:hover{box-shadow:0 4px 12px #9b59b666;transform:translateY(-2px)}.btn-success{background:linear-gradient(135deg,#27ae60,#229954);color:#fff}.btn-success:hover{box-shadow:0 4px 12px #27ae6066;transform:translateY(-2px)}.planning-loading{align-items:center;color:#7f8c8d;display:flex;font-size:1.5rem;height:400px;justify-content:center}.shifts-section{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;margin-bottom:30px;padding:20px}.shifts-section h2{color:#2c3e50;margin-bottom:20px;margin-top:0}.shifts-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.shift-card{background:#fff;border:3px solid;border-radius:10px;overflow:hidden;transition:transform .2s,box-shadow .2s}.shift-card:hover{box-shadow:0 5px 20px #00000026;transform:translateY(-3px)}.shift-header{align-items:center;color:#fff;display:flex;gap:10px;padding:12px 15px}.shift-name{font-size:1.1rem;font-weight:700}.shift-code{font-size:.85rem;opacity:.9}.night-badge{font-size:1.2rem;margin-left:auto}.shift-times{display:flex;flex-direction:column;font-size:.95rem;gap:5px;padding:10px 15px}.pause-info{color:#7f8c8d;font-size:.85rem}.shift-tolerance{background:#f8f9fa;color:#7f8c8d;font-size:.8rem;padding:8px 15px}.shift-actions{display:flex;gap:8px;justify-content:flex-end;padding:10px 15px}.btn-delete,.btn-edit{border:none;border-radius:6px;cursor:pointer;font-size:1rem;padding:8px 12px;transition:all .2s}.btn-edit{background:#f0f0f0}.btn-edit:hover{background:#e0e0e0}.btn-delete{background:#fee}.btn-delete:hover{background:#fdd}.teams-section{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;margin-bottom:30px;padding:20px}.teams-section h2{color:#2c3e50;margin-bottom:20px;margin-top:0}.teams-filter{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.team-btn{align-items:center;border:2px solid;border-radius:25px;cursor:pointer;display:flex;font-weight:600;gap:8px;padding:10px 20px;transition:all .2s}.team-btn.active{transform:scale(1.05)}.team-shift-badge{background:#0000001a;border-radius:10px;font-size:.75rem;padding:2px 6px}.teams-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.team-card{background:#f8f9fa;border-left:5px solid;border-radius:8px;padding:15px}.team-card h3{color:#2c3e50;margin:0 0 10px}.team-card p{color:#7f8c8d;margin:5px 0}.team-actions{display:flex;gap:8px;margin-top:10px}.week-navigation{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;display:flex;gap:20px;justify-content:center;margin-bottom:20px;padding:15px}.week-navigation h3{color:#2c3e50;margin:0;min-width:300px;text-align:center}.nav-btn{background:#fff;border:2px solid #3498db;border-radius:8px;color:#3498db;font-weight:600;padding:10px 20px;transition:all .2s}.nav-btn.today,.nav-btn:hover{background:#3498db;color:#fff}.nav-btn.today:hover{background:#2980b9}.planning-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;overflow-x:auto}.planning-table{border-collapse:collapse;min-width:900px;width:100%}.planning-table td,.planning-table th{border:1px solid #e0e0e0;padding:12px 10px;text-align:center}.planning-table th{background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff;font-weight:600;position:-webkit-sticky;position:sticky;top:0;z-index:10}.planning-table th.weekend{background:linear-gradient(135deg,#7f8c8d,#95a5a6)}.employee-col{min-width:180px;text-align:left!important}.badge-col{min-width:80px}.employee-cell{text-align:left!important}.employee-info{display:flex;flex-direction:column}.employee-name{color:#2c3e50;font-weight:600}.employee-team{color:#7f8c8d;font-size:.8rem}.badge-cell{color:#7f8c8d;font-family:Courier New,monospace;font-size:.9rem}.planning-cell{padding:8px!important;position:relative}.planning-cell.weekend{background:#f5f5f5}.shift-select{background:#fff;border:2px solid #ddd;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;padding:8px;width:100%}.shift-select:focus,.shift-select:hover{border-color:#3498db}.shift-select:focus{box-shadow:0 0 0 3px #3498db33;outline:none}.shift-time{display:block;font-size:.75rem;margin-top:4px}.modal-overlay{align-items:center;animation:fadeIn .2s ease;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{animation:slideUp .3s ease;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;padding:30px;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.modal h2{border-bottom:2px solid #e0e0e0;color:#2c3e50;margin-bottom:25px;margin-top:0;padding-bottom:15px}.form-row{gap:15px;margin-bottom:15px}.form-group{flex:1 1}.form-group.checkbox,.form-group.checkbox label{align-items:center;display:flex}.form-group.checkbox label{cursor:pointer;gap:10px}.form-group.checkbox input[type=checkbox]{cursor:pointer;height:20px;width:20px}.form-group label{color:#34495e;display:block;margin-bottom:6px}.form-group input,.form-group select{border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;padding:12px;transition:border-color .2s;width:100%}.form-group input:focus,.form-group select:focus{border-color:#3498db;outline:none}.form-group input[type=color]{cursor:pointer;height:45px;padding:5px}.form-group input[type=time]{cursor:pointer}.modal-actions{border-top:2px solid #e0e0e0;display:flex;gap:10px;justify-content:flex-end;margin-top:25px;padding-top:20px}.modal-actions button{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 25px;transition:all .2s}.btn-cancel{background:#e0e0e0;color:#666}.btn-cancel:hover{background:#d0d0d0}.pause-row{align-items:flex-end}.no-pause-btn{background:#fff;border:2px solid #e74c3c;border-radius:8px;color:#e74c3c;cursor:pointer;font-size:.85rem;font-weight:600;height:42px;margin-bottom:0;padding:10px 16px;transition:all .2s;white-space:nowrap}.no-pause-btn:hover{background:#fdf2f2}.no-pause-btn.active{background:#e74c3c;color:#fff}.no-pause-btn.active:hover{background:#c0392b}.disabled-input{background-color:#f5f5f5!important;color:#999!important;cursor:not-allowed!important;opacity:.6}.planning-toolbar{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px;padding:16px 20px}.toolbar-center,.toolbar-left,.toolbar-right{align-items:center;display:flex;gap:12px}.toolbar-center h3{color:#2c3e50;font-size:1.1rem;margin:0;min-width:280px;text-align:center}.filter-group{display:flex;flex-direction:column;gap:4px}.filter-group label{color:#6c757d;font-size:.75rem;font-weight:600;text-transform:uppercase}.department-select{border:1px solid #dfe6e9;border-radius:8px;cursor:pointer;font-size:.9rem;min-width:180px;padding:8px 12px}.department-select:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db26;outline:none}.employee-select{border:1px solid #dfe6e9;border-radius:8px;cursor:pointer;font-size:.9rem;min-width:180px;padding:8px 12px}.employee-select:focus{border-color:#9b59b6;box-shadow:0 0 0 3px #9b59b626;outline:none}.btn-info{background:linear-gradient(135deg,#17a2b8,#138496);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 16px;transition:all .2s}.btn-info:hover{box-shadow:0 4px 12px #17a2b866;transform:translateY(-2px)}.employee-dept{color:#9b59b6;display:block;font-size:.7rem;font-weight:500}.employee-name-cell{display:flex;flex-direction:column;gap:2px}.employee-name-cell strong{color:#2c3e50;font-size:.9rem}.employee-name-cell .badge-id{color:#7f8c8d;font-family:monospace;font-size:.75rem}.inline-hours-counter{align-items:center;display:flex;gap:6px;margin-top:4px}.hours-value-inline{color:#27ae60;font-size:.8rem;font-weight:600;min-width:40px}.hours-value-inline.overtime{color:#f39c12}.hours-value-inline.exceeded{color:#e74c3c}.hours-bar-inline{background:#ecf0f1;border-radius:2px;flex:1 1;height:4px;max-width:80px;min-width:50px;overflow:hidden}.hours-progress-inline{border-radius:2px;height:100%;transition:width .3s ease}.modal-duplicate{max-width:500px}.duplicate-info{background:#e3f2fd;border-radius:8px;margin-bottom:20px;padding:12px 16px}.duplicate-info p{color:#1565c0;margin:4px 0}.modal-template{max-width:600px}.template-save-section{background:#e8f5e9;border-radius:10px;margin-bottom:24px;padding:16px}.template-save-section h4{color:#2e7d32;margin:0 0 12px}.template-save-section .form-row{align-items:center;display:flex;gap:10px}.template-hint{color:#666;font-size:.85rem;margin:8px 0 0}.template-list-section{margin-bottom:20px}.template-list-section h4{color:#2c3e50;margin:0 0 12px}.template-list{list-style:none;margin:0;padding:0}.template-item{align-items:center;border:1px solid #dfe6e9;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:8px;padding:12px 16px}.template-item:hover{background:#f8f9fa;border-color:#3498db}.template-info{display:flex;flex-direction:column;gap:4px}.template-info strong{color:#2c3e50}.template-info span{color:#6c757d;font-size:.8rem}.template-actions{display:flex;gap:8px}.btn-small{font-size:.85rem;padding:6px 12px}.no-templates{color:#6c757d;font-style:italic;padding:20px;text-align:center}@media (max-width:768px){.planning-header{flex-direction:column;gap:15px}.planning-actions{flex-wrap:wrap;justify-content:center}.week-navigation{gap:10px}.planning-toolbar,.week-navigation{flex-direction:column}.toolbar-center h3{min-width:auto}.form-row{flex-direction:column;gap:10px}.shifts-grid{grid-template-columns:1fr}}.alerts-section{background:#fff;border-left:4px solid #e74c3c;border-radius:12px;box-shadow:0 2px 10px #00000014;margin-top:30px;overflow:hidden}.alerts-header{align-items:center;background:linear-gradient(135deg,#fff5f5,#fff);cursor:pointer;display:flex;justify-content:space-between;padding:16px 20px;transition:background .2s}.alerts-header:hover{background:linear-gradient(135deg,#ffebeb,#fff)}.alerts-header h3{align-items:center;color:#c0392b;display:flex;font-size:1.1rem;margin:0}.btn-toggle{background:none;border:none;color:#7f8c8d;cursor:pointer;padding:8px}.alerts-list{padding:0 20px 20px}.alert-item{align-items:center;border-radius:8px;display:flex;gap:12px;margin-bottom:8px;padding:12px 16px}.alert-item.alert-warning{background:#fff8e1;border-left:3px solid #f39c12}.alert-item.alert-error{background:#ffebee;border-left:3px solid #e74c3c}.alert-icon{font-size:1.2rem}.alert-warning .alert-icon{color:#f39c12}.alert-error .alert-icon{color:#e74c3c}.alert-message{color:#34495e;flex:1 1;font-size:.9rem}.hours-counter-section{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;margin-top:30px;padding:20px}.hours-counter-section h3{align-items:center;color:#2c3e50;display:flex;margin:0 0 20px}.hours-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.hours-card{background:#f8f9fa;border-radius:10px;display:flex;flex-direction:column;gap:8px;padding:15px}.hours-card.overtime{background:#fff8e1;border:1px solid #f39c12}.hours-card.exceeded{background:#ffebee;border:1px solid #e74c3c}.hours-card.more{align-items:center;color:#7f8c8d;font-style:italic;justify-content:center}.hours-name{color:#2c3e50;font-size:.9rem;font-weight:600}.hours-value{color:#27ae60;font-size:1.4rem;font-weight:700}.hours-card.overtime .hours-value{color:#f39c12}.hours-card.exceeded .hours-value{color:#e74c3c}.hours-bar{background:#e0e0e0;border-radius:3px;height:6px;overflow:hidden;width:100%}.hours-progress{border-radius:3px;height:100%;transition:width .3s}.quick-actions-section{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;margin-top:30px;padding:20px}.quick-actions-section h3{align-items:center;color:#2c3e50;display:flex;margin:0 0 20px}.quick-actions-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.quick-action-btn{align-items:center;background:linear-gradient(135deg,#f8f9fa,#fff);border:2px solid #e0e0e0;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:10px;padding:20px;transition:all .2s}.quick-action-btn:hover{border-color:#3498db;box-shadow:0 8px 20px #3498db33;transform:translateY(-3px)}.quick-action-btn i{color:#3498db;font-size:2rem}.quick-action-btn span{color:#2c3e50;font-size:1rem;font-weight:600}.quick-action-btn small{color:#7f8c8d;font-size:.8rem;text-align:center}.quick-action-btn:nth-child(2) i{color:#9b59b6}.quick-action-btn:nth-child(2):hover{border-color:#9b59b6;box-shadow:0 8px 20px #9b59b633}.quick-action-btn:nth-child(3) i{color:#e67e22}.quick-action-btn:nth-child(3):hover{border-color:#e67e22;box-shadow:0 8px 20px #e67e2233}.quick-action-btn:nth-child(4) i{color:#27ae60}.quick-action-btn:nth-child(4):hover{border-color:#27ae60;box-shadow:0 8px 20px #27ae6033}.modal-quick-action{max-width:500px}.modal-description{background:#f8f9fa;border-radius:8px;color:#7f8c8d;font-size:.9rem;margin-bottom:20px;padding:12px 16px}.replacement-info{align-items:center;background:#e3f2fd;border-radius:8px;color:#1565c0;display:flex;font-size:.85rem;gap:10px;margin:15px 0;padding:12px 16px}.replacement-info i{color:#1976d2}.planning-cell.on-leave{background:repeating-linear-gradient(45deg,#ffebee,#ffebee 5px,#fff 0,#fff 10px)}.planning-cell .leave-indicator{color:#e74c3c;font-size:.8rem;position:absolute;right:2px;top:2px}.planning-cell .rest-warning{bottom:2px;color:#f39c12;font-size:.8rem;position:absolute;right:2px}@media (max-width:768px){.hours-grid,.quick-actions-grid{grid-template-columns:repeat(2,1fr)}.quick-action-btn{padding:15px 10px}.quick-action-btn i{font-size:1.5rem}.quick-action-btn span{font-size:.9rem}}.view-toggle{background:#f0f0f0;border-radius:8px;display:flex;margin-right:15px;padding:4px}.view-btn{background:#0000;border:none;border-radius:6px;color:#666;cursor:pointer;font-weight:600;padding:8px 16px;transition:all .2s}.view-btn:hover{color:#3498db}.view-btn.active{background:#fff;box-shadow:0 2px 4px #0000001a;color:#3498db}.month-view-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));padding:10px 0}.employee-month-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.employee-month-header{align-items:center;background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;display:flex;justify-content:space-between;padding:12px 16px}.employee-month-header strong{font-size:1rem}.employee-team{background:#fff3;border-radius:4px;font-size:.85rem;opacity:.9;padding:3px 8px}.month-calendar{padding:10px}.month-header-row{border-bottom:1px solid #eee;color:#666;display:grid;font-size:.75rem;font-weight:600;grid-template-columns:repeat(7,1fr);margin-bottom:5px;padding-bottom:5px;text-align:center}.month-header-row span.weekend{color:#e74c3c}.month-week-row{grid-gap:3px;display:grid;gap:3px;grid-template-columns:repeat(7,1fr);margin-bottom:3px}.month-day{align-items:center;border:1px solid #eee;border-radius:6px;display:flex;flex-direction:column;min-height:50px;padding:4px;position:relative;transition:all .2s}.month-day:hover{border-color:#3498db;box-shadow:0 2px 6px #3498db33}.month-day.empty{background:#fafafa;border-color:#0000}.month-day.weekend{background:#fef9f9}.month-day.on-leave{background:repeating-linear-gradient(45deg,#ffebee,#ffebee 3px,#fff 0,#fff 6px)}.day-number{color:#888;font-size:.7rem;font-weight:600;margin-bottom:2px}.month-shift-select{background:#fff;border:2px solid #ddd;border-radius:4px;cursor:pointer;font-size:.75rem;font-weight:600;padding:4px 2px;text-align:center;width:100%}.month-shift-select:focus{border-color:#3498db;outline:none}.leave-badge{align-items:center;background:#e74c3c;border-radius:50%;color:#fff;display:flex;font-size:.6rem;font-weight:700;height:14px;justify-content:center;position:absolute;right:2px;top:2px;width:14px}@media (max-width:768px){.month-view-container{grid-template-columns:1fr}.view-toggle{margin-bottom:10px}}.modal-generate{max-width:700px;width:95%}.modal-subtitle{color:#666;font-size:.95rem;margin-bottom:20px}.generate-config-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr);margin-bottom:25px}.config-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:10px;padding:15px}.config-section h4{border-bottom:2px solid #3498db;color:#2c3e50;font-size:.95rem;margin:0 0 12px;padding-bottom:8px}.config-section .form-group{margin-bottom:10px}.config-section .form-group:last-child{margin-bottom:0}.config-section label{color:#555;display:block;font-size:.85rem;margin-bottom:4px}.config-section input[type=number],.config-section select{border:1px solid #ddd;border-radius:6px;font-size:.9rem;padding:8px 10px;width:100%}.config-section input:focus,.config-section select:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db1a;outline:none}.form-row{align-items:flex-end;display:flex;gap:10px}.form-row .form-group{flex:1 1}.form-row span{color:#666;padding-bottom:8px}.checkbox-group label{align-items:center;cursor:pointer;display:flex;font-size:.9rem;gap:8px}.checkbox-group input[type=checkbox]{accent-color:#3498db;cursor:pointer;height:18px;width:18px}@media (max-width:768px){.generate-config-grid{grid-template-columns:1fr}}.settings-page{margin:0 auto;max-width:1400px;padding:20px}.settings-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.settings-header h2{color:#1e3c72;font-size:1.8rem;margin:0}.settings-actions{align-items:center;display:flex;gap:15px}.save-status{border-radius:20px;font-size:.9rem;font-weight:600;padding:8px 15px}.save-status.saving{background:#fff3e0;color:#ff9800}.save-status.saved{background:#e8f5e9;color:#4caf50}.save-status.error{background:#ffebee;color:#f44336}.btn-save{background:linear-gradient(135deg,#4caf50,#66bb6a);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 25px;transition:all .2s}.btn-save:hover{box-shadow:0 4px 15px #4caf5066;transform:translateY(-2px)}.settings-layout{display:flex;gap:30px;min-height:600px}.settings-sidebar{background:#fff;border-radius:15px;box-shadow:0 4px 20px #00000014;height:-webkit-fit-content;height:fit-content;padding:15px;position:-webkit-sticky;position:sticky;top:20px;width:250px}.sidebar-item{background:#0000;border:none;border-radius:10px;color:#666;cursor:pointer;font-size:1rem;margin-bottom:5px;padding:15px 20px;text-align:left;transition:all .2s;width:100%}.sidebar-item:hover{background:#f5f5f5;color:#333}.sidebar-item.active{background:linear-gradient(135deg,#1e3c72,#2a5298);color:#fff;font-weight:600}.settings-content{background:#fff;border-radius:15px;box-shadow:0 4px 20px #00000014;flex:1 1;padding:30px}.settings-section h3{border-bottom:2px solid #e0e0e0;color:#1e3c72;font-size:1.4rem;margin:0 0 25px;padding-bottom:15px}.section-description{color:#666;margin-bottom:20px}.form-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr)}.form-group{display:flex;flex-direction:column;gap:8px}.form-group.full-width{grid-column:span 2}.form-group label{color:#333;font-size:.9rem;font-weight:600}.form-group input,.form-group select,.form-group textarea{border:2px solid #e0e0e0;border-radius:10px;font-size:1rem;padding:12px 15px;transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#1e3c72;box-shadow:0 0 0 3px #1e3c721a;outline:none}.users-layout{grid-gap:30px;display:grid;gap:30px;grid-template-columns:1fr 1fr}.user-edit h4,.users-list h4{color:#333;margin:0 0 15px}.users-info{color:#888;font-size:12px;font-style:italic;margin:-10px 0 15px}.user-cards{display:flex;flex-direction:column;gap:10px;max-height:500px;overflow-y:auto}.user-card{align-items:center;background:#f8f9fa;border:2px solid #0000;border-radius:10px;cursor:pointer;display:flex;gap:15px;padding:15px;transition:all .2s}.user-card:hover{background:#e3f2fd}.user-card.selected{background:#e3f2fd;border-color:#1e3c72}.user-avatar{align-items:center;background:#fff;border-radius:50%;display:flex;font-size:2rem;height:50px;justify-content:center;width:50px}.user-info{display:flex;flex:1 1;flex-direction:column}.user-name{color:#333;font-weight:600}.user-role{color:#666;font-size:.85rem}.user-fonction{color:#999;font-size:.8rem;font-style:italic}.user-dept{background:#e3f2fd;border-radius:15px;color:#1e3c72;font-size:.85rem;padding:4px 10px}.role-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,1fr);margin-top:10px}.role-btn{align-items:center;background:#fff;border:2px solid;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;gap:5px;padding:15px;transition:all .2s}.role-btn:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.role-btn.selected{transform:scale(1.02)}.role-icon{font-size:1.5rem}.role-label{font-size:.85rem;font-weight:600}.role-description{background:#f8f9fa;border-radius:10px;margin-top:20px;padding:15px}.role-description h5{color:#333;margin:0 0 10px}.role-description ul{margin:0;padding-left:20px}.role-description li{color:#666;margin-bottom:5px}.btn-update-role{background:linear-gradient(135deg,#1e3c72,#2a5298);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:20px;padding:15px;transition:all .2s;width:100%}.btn-update-role:hover{box-shadow:0 4px 15px #1e3c7266;transform:translateY(-2px)}.no-selection{align-items:center;color:#999;display:flex;flex-direction:column;height:300px;justify-content:center;text-align:center}.no-selection-icon{font-size:3rem;margin-bottom:15px}.add-item-form,.add-site-form{display:flex;gap:10px;margin-bottom:25px}.add-item-form input,.add-site-form input{border:2px solid #e0e0e0;border-radius:10px;flex:1 1;font-size:1rem;padding:12px 15px}.add-item-form button,.add-site-form button{background:linear-gradient(135deg,#1e3c72,#2a5298);border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:600;padding:12px 20px;transition:all .2s}.add-item-form button:hover,.add-site-form button:hover{transform:translateY(-2px)}.items-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.item-card{align-items:center;background:#f8f9fa;border-radius:10px;display:flex;gap:12px;padding:15px 20px;transition:all .2s}.item-card:hover{background:#e3f2fd}.item-icon{font-size:1.5rem}.item-name{color:#333;flex:1 1;font-weight:600}.item-count{background:#fff;border-radius:10px;color:#666;font-size:.85rem;padding:4px 10px}.btn-remove{background:#0000;border:none;cursor:pointer;opacity:.5;padding:8px;transition:all .2s}.btn-remove:hover{opacity:1;transform:scale(1.1)}.sites-list{display:flex;flex-direction:column;gap:15px}.site-card{align-items:center;background:#f8f9fa;border:2px solid #0000;border-radius:10px;display:flex;justify-content:space-between;padding:20px;transition:all .2s}.site-card.main{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-color:#1e3c72}.site-info{align-items:center;display:flex;gap:15px}.site-icon{font-size:2rem}.site-details{display:flex;flex-direction:column}.site-name{align-items:center;color:#333;display:flex;font-weight:600;gap:10px}.badge-main{background:#1e3c72;border-radius:10px;color:#fff;font-size:.75rem;font-weight:500;padding:3px 8px}.site-address{color:#666;font-size:.9rem}.fonctions-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-bottom:25px}.btn-add-fonction{align-items:center;background:linear-gradient(135deg,#27ae60,#2ecc71);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-weight:600;margin-bottom:20px;padding:10px 20px;transition:all .2s}.btn-add-fonction:hover{box-shadow:0 4px 12px #27ae6066;transform:translateY(-2px)}.fonction-card{align-items:center;background:#f8f9fa;border-radius:10px;display:flex;gap:10px;padding:12px 15px;position:relative;transition:all .2s}.fonction-card:hover{background:#e9ecef}.fonction-card:hover .btn-delete-fonction{opacity:1}.btn-delete-fonction{align-items:center;background:#e74c3c;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:16px;height:24px;justify-content:center;line-height:1;opacity:0;position:absolute;right:8px;top:50%;transform:translateY(-50%);transition:all .2s;width:24px}.btn-delete-fonction:hover{background:#c0392b;transform:translateY(-50%) scale(1.1)}.fonction-icon{font-size:1.2rem}.fonction-name{color:#333;flex:1 1;font-size:.95rem}.modal-content.small{max-width:400px}.info-box{align-items:flex-start;background:#e3f2fd;border-radius:10px;color:#1565c0;display:flex;gap:12px;padding:15px 20px}.info-icon{font-size:1.2rem}.info-box p{font-size:.95rem;margin:0}.system-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-bottom:30px}.system-card{background:#f8f9fa;gap:20px;padding:20px}.system-card,.system-icon{align-items:center;border-radius:15px;display:flex}.system-icon{background:#fff;box-shadow:0 2px 10px #0000000d;font-size:2.5rem;height:60px;justify-content:center;width:60px}.system-info{flex:1 1}.system-info h4{color:#333;font-size:1rem;margin:0 0 10px}.system-info input[type=number],.system-info select{border:2px solid #e0e0e0;border-radius:8px;font-size:.95rem;padding:10px;width:100%}.system-info .unit{color:#666;font-size:.85rem;margin-left:8px}.switch{display:inline-block;height:28px;position:relative;width:50px}.switch input{height:0;opacity:0;width:0}.slider{background-color:#ccc;border-radius:28px;bottom:0;cursor:pointer;left:0;right:0;top:0}.slider,.slider:before{position:absolute;transition:.3s}.slider:before{background-color:#fff;border-radius:50%;bottom:3px;content:"";height:22px;left:3px;width:22px}input:checked+.slider{background:linear-gradient(135deg,#4caf50,#66bb6a)}input:checked+.slider:before{transform:translateX(22px)}.danger-zone{background:#fff5f5;border:2px solid #ffcdd2;border-radius:15px;padding:25px}.danger-zone h4{color:#c62828;margin:0 0 15px}.danger-actions{display:flex;flex-wrap:wrap;gap:15px}.btn-danger{background:#fff;border:2px solid #ef5350;border-radius:10px;color:#c62828;cursor:pointer;font-weight:600;padding:12px 20px;transition:all .2s}.btn-danger:hover{background:#ef5350;color:#fff}@media (max-width:1024px){.settings-layout{flex-direction:column}.settings-sidebar{display:flex;flex-wrap:wrap;gap:10px;position:static;width:100%}.sidebar-item{flex:1 1;min-width:120px;text-align:center;width:auto}.form-grid,.users-layout{grid-template-columns:1fr}.form-group.full-width{grid-column:span 1}}@media (max-width:600px){.settings-header{align-items:flex-start;flex-direction:column;gap:15px}.role-grid{grid-template-columns:1fr}.add-item-form,.add-site-form,.danger-actions{flex-direction:column}}.main-nav .nav-item.has-anomalies{animation:none!important;background:linear-gradient(135deg,red,#ee5a24)!important;border:2px solid red!important;box-shadow:0 0 12px 2px #f00c!important;color:#fff!important;position:relative;z-index:10!important}*{box-sizing:border-box}body{background:linear-gradient(135deg,#e8eef5,#dce4ed);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0}.App,body{min-height:100vh}.App{display:flex;flex-direction:column;margin:0 auto;max-width:1600px;padding:20px}.app-header{background:linear-gradient(135deg,#1e3c72,#2a5298);border-radius:12px;box-shadow:0 4px 20px #00000026;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:15px;padding:5px 15px}.app-header,.header-left{align-items:center;display:flex}.header-left{flex-shrink:0}.app-logo{height:150px;margin:-10px 0;object-fit:contain;width:auto}.header-nav{display:flex;flex:1 1;flex-wrap:wrap;gap:5px;justify-content:center}.nav-btn{background:#ffffff26;border:none;border-radius:20px;color:#ffffffe6;cursor:pointer;font-size:13px;font-weight:500;padding:8px 14px;position:relative;transition:all .2s ease}.nav-btn:hover{background:#ffffff40}.nav-btn.active{background:#fffffff2;color:#1e3c72;font-weight:600}.nav-btn.has-anomalies{background:#ff6b6b;color:#fff}.nav-btn .badge-count{background:#ff4757;border-radius:8px;color:#fff;font-size:10px;font-weight:700;min-width:16px;padding:2px 5px;position:absolute;right:-5px;text-align:center;top:-5px}.header-right{align-items:center;flex-shrink:0;gap:12px}.nav-item:hover{background:#fff3;color:#fff}.nav-item.active{background:#fff;color:#1e3c72}.nav-item.has-anomalies{animation:none;background:linear-gradient(135deg,#ff6b6b,#ee5a24);color:#fff;position:relative}.nav-item.has-anomalies:hover{background:linear-gradient(135deg,#ff5252,#d63031)}.nav-item.has-anomalies.active{animation:none;background:linear-gradient(135deg,#ff4757,#c0392b);color:#fff}@keyframes anomaly-pulse{0%,to{box-shadow:0 0 0 0 #ff6b6b66}50%{box-shadow:0 0 15px 5px #ff6b6b99}}.anomaly-badge{background:#fff;background:#0f0!important;border:3px solid red!important;border-radius:10px;box-shadow:0 2px 6px #0000004d;color:#ff4757;font-size:11px;font-weight:700;min-width:18px;padding:2px 6px;position:absolute;right:-8px;text-align:center;top:-8px;z-index:1000}.nav-item.has-anomalies .anomaly-badge{animation:badge-bounce 1s ease-in-out infinite}@keyframes badge-bounce{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.header-right{align-items:flex-end;display:flex;flex-direction:column;gap:6px;margin-left:30px}.user-info{background:#ffffff1a;border-radius:4px;color:#fffc;font-size:11px;padding:3px 8px}.btn-logout{background:#ff5252;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .3s}.btn-logout:hover{background:#ff1744;transform:translateY(-1px)}.app-main{flex:1 1}.app-footer{color:#888;font-size:13px;padding:25px 0;text-align:center}.loading-screen{align-items:center;background:linear-gradient(135deg,#e8eef5,#dce4ed);display:flex;flex-direction:column;justify-content:center;min-height:100vh}.spinner{animation:spin 1s linear infinite;border:4px solid #e0e0e0;border-radius:50%;border-top-color:#1e3c72;height:50px;width:50px}@keyframes spin{to{transform:rotate(1turn)}}.loading-screen p{color:#666;font-size:16px;margin-top:20px}.error-banner{align-items:center;background:#ffebee;border-radius:10px;color:#c62828;display:flex;justify-content:space-between;margin-bottom:20px;padding:15px 20px}.error-banner button{background:#c62828;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:8px 16px}.error-banner button:hover{background:#b71c1c}@media (max-width:1200px){.app-header{flex-direction:column;padding:15px}.header-nav{margin-top:10px;order:3;width:100%}.header-right{order:2}}@media (max-width:768px){.nav-btn{font-size:11px;padding:6px 10px}.app-logo{height:35px}}
/*# sourceMappingURL=main.982d5fa4.css.map*/