.module-page{animation:moduleFadeIn .3s ease;width:100%}@keyframes moduleFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.module-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.module-header__left{display:flex;flex-direction:column;gap:3px}.module-header__title{color:#111827;font-size:1.5rem;font-weight:700;line-height:1.2;margin:0}.module-header__subtitle{color:#6b7280;font-size:.875rem;margin:0}.module-header__actions{align-items:center;display:flex;flex-shrink:0;gap:.75rem}.solde-bar{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:1.25rem}.solde-bar__card{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:1rem;box-shadow:0 1px 2px #0000000d;display:flex;gap:.75rem;padding:1rem 1.25rem}.solde-bar__card--primary{background:#f0fbfd;border-color:#b8eaf4}.solde-bar__card--primary .solde-bar__icon{background:#daf4f9;color:#0f92aa}.solde-bar__card--primary .solde-bar__value{color:#0d7a91}.solde-bar__card--warning{background:#fffaf0;border-color:#fad07e}.solde-bar__card--warning .solde-bar__icon{background:#fef3db;color:#c96900}.solde-bar__card--warning .solde-bar__value{color:#c96900}.solde-bar__card--success{background:#f2faf0;border-color:#c5e8bc}.solde-bar__card--success .solde-bar__icon{background:#e8f5e2;color:#2d6124}.solde-bar__card--success .solde-bar__value{color:#2d6124}.solde-bar__icon{align-items:center;background:#f3f4f6;border-radius:.75rem;color:#6b7280;display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.solde-bar__icon svg{height:18px;width:18px}.solde-bar__label{color:#6b7280;font-size:.75rem;font-weight:500;margin-bottom:2px}.solde-bar__value{color:#111827;font-size:1.25rem;font-weight:700;line-height:1}.solde-bar__unit{color:#6b7280;font-size:.75rem;margin-top:1px}.module-alert{border-left:3px solid;border-radius:1rem;display:flex;font-size:.875rem;gap:.75rem;margin-bottom:1.25rem;padding:1rem}.module-alert--warning{background:#fffaf0;border-color:#f5a623;color:#a35200}.module-alert--info{background:#f0fbfd;border-color:#0f92aa;color:#0a5f70}.module-alert--error{background:#fee2e2;border-color:#ef4444;color:#b91c1c}.module-alert--success{background:#e8f5e2;border-color:#3a7d2e;color:#2d6124}.module-alert__icon{flex-shrink:0}.module-alert__icon svg{height:18px;margin-top:1px;width:18px}.module-alert strong{font-weight:600}.filter-bar{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:1rem;box-shadow:0 1px 2px #0000000d;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem;padding:.75rem 1rem}.filter-bar__label{color:#374151;font-size:.875rem;font-weight:600;white-space:nowrap}.filter-bar__select{background:#f9fafb;border:1.5px solid #e5e7eb;border-radius:.75rem;color:#374151;cursor:pointer;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:6px .75rem;transition:all .15s ease}.filter-bar__select:focus{background:#fff;border-color:#0f92aa;outline:none}.filter-bar__tabs{display:flex;flex-wrap:wrap;gap:6px}.filter-bar__tab{background:#fff;border:1.5px solid #e5e7eb;border-radius:9999px;color:#4b5563;cursor:pointer;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.75rem;font-weight:600;padding:5px .75rem;transition:all .15s ease;white-space:nowrap}.filter-bar__tab:hover{border-color:#35bee0;color:#0d7a91}.filter-bar__tab--active{background:#0f92aa;border-color:#0f92aa;color:#fff}.filter-bar__tab--warning.filter-bar__tab--active{background:#f5a623;border-color:#f5a623;color:#fff}.filter-bar__count{color:#9ca3af;font-size:.75rem;margin-left:auto;white-space:nowrap}.data-table-wrapper{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;box-shadow:0 1px 2px #0000000d;overflow:hidden}.data-table{border-collapse:collapse;font-size:.875rem;width:100%}.data-table thead{background:#0f92aa}.data-table thead th{color:#fff;font-size:.75rem;font-weight:600;letter-spacing:.06em;padding:.75rem 1rem;text-align:left;text-transform:uppercase;white-space:nowrap}.data-table thead th:first-child{border-radius:0}.data-table tbody tr{border-bottom:1px solid #f3f4f6;transition:background .12s}.data-table tbody tr:last-child{border-bottom:none}.data-table tbody tr:hover{background:#f0fbfd}.data-table tbody tr:nth-child(2n){background:#f9fafb}.data-table tbody tr:nth-child(2n):hover{background:#f0fbfd}.data-table tbody td{color:#374151;padding:.75rem 1rem;vertical-align:middle}.data-table .col-name{color:#111827;font-weight:600}.data-table .col-date{color:#4b5563;font-size:.75rem;white-space:nowrap}.data-table .col-days{color:#0d7a91;font-weight:700}.data-table .col-motif{color:#4b5563;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-table .col-actions{align-items:center;display:flex;gap:.5rem;white-space:nowrap}.data-table-overflow{-webkit-overflow-scrolling:touch;overflow-x:auto;position:relative}@media(max-width:768px){.data-table-overflow:after{background:linear-gradient(90deg,#0000,#ffffffd9);bottom:0;content:"";pointer-events:none;position:absolute;right:0;top:0;width:28px;z-index:2}}.data-table{min-width:560px}.status-badge{align-items:center;border-radius:9999px;display:inline-flex;font-size:.75rem;font-weight:600;gap:5px;padding:3px 10px;white-space:nowrap}.status-badge:before{background:currentColor;border-radius:50%;content:"";flex-shrink:0;height:6px;width:6px}.status-badge--en-attente{background:#fef3db;color:#a35200}.status-badge--approuve{background:#e8f5e2;color:#2d6124}.status-badge--refuse{background:#fee2e2;color:#b91c1c}.status-badge--en-cours,.status-badge--partiellement{background:#daf4f9;color:#0d7a91}.status-badge--brouillon{background:#f3f4f6;color:#4b5563}.table-empty{padding:4rem 2rem;text-align:center}.table-empty__icon svg{color:#d1d5db;height:48px;margin-bottom:1rem;width:48px}.table-empty__title{color:#4b5563;font-size:1rem;font-weight:600;margin-bottom:.5rem}.table-empty__text{color:#9ca3af;font-size:.875rem;margin-bottom:1.25rem}.action-btn{align-items:center;background:#f3f4f6;border:1.5px solid #0000;border-radius:.5rem;color:#4b5563;cursor:pointer;display:inline-flex;font-size:.9rem;height:34px;justify-content:center;transition:all .15s ease;width:34px}.action-btn svg{height:16px;width:16px}.action-btn:hover{background:#daf4f9;border-color:#7dd6ea;color:#0d7a91}.action-btn--approve{background:#f2faf0;border-color:#c5e8bc;color:#2d6124}.action-btn--approve svg{height:18px;width:18px}.action-btn--approve:hover{background:#3a7d2e;border-color:#3a7d2e;box-shadow:0 2px 8px #3a7d2e59;color:#fff}.action-btn--approve:disabled{cursor:not-allowed;opacity:.45}.action-btn--approve:disabled:hover{background:#f2faf0;border-color:#c5e8bc;box-shadow:none;color:#2d6124}.action-btn--danger{background:#fee2e2;border-color:#fca5a5;color:#b91c1c}.action-btn--danger svg{height:18px;width:18px}.action-btn--danger:hover{background:#ef4444;border-color:#ef4444;box-shadow:0 2px 8px #dc262659;color:#fff}.action-btn--danger:disabled{cursor:not-allowed;opacity:.45}.action-btn--danger:disabled:hover{background:#fee2e2;border-color:#fca5a5;box-shadow:none;color:#b91c1c}.module-form-page{max-width:1600px}.module-form-card{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;box-shadow:0 1px 4px #00000014;overflow:hidden}.module-form-card__header{background:#f9fafb;border-bottom:1px solid #f3f4f6;padding:1.25rem 1.5rem}.module-form-card__header h2{color:#111827;font-size:1.125rem;font-weight:600;margin:0}.module-form-card__header p{color:#6b7280;font-size:.875rem;margin:.25rem 0 0}.module-form-card__body{padding:1.5rem}.module-form-card__footer{align-items:center;background:#f9fafb;border-top:1px solid #f3f4f6;display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem}.form-grid{grid-gap:1.25rem 1.5rem;display:grid;gap:1.25rem 1.5rem;grid-template-columns:1fr 1fr}@media(max-width:768px){.form-grid{grid-template-columns:1fr}}.form-grid--full{grid-template-columns:1fr}.form-grid--3{grid-template-columns:repeat(3,1fr)}@media(max-width:768px){.form-grid--3{grid-template-columns:1fr}}.form-field{display:flex;flex-direction:column;gap:5px}.form-field label{color:#374151;font-size:.875rem;font-weight:600}.form-field label .required{color:#ef4444;margin-left:2px}.form-field input,.form-field select,.form-field textarea{background:#fff;border:1.5px solid #e5e7eb;border-radius:.75rem;color:#1f2937;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:9px .75rem;transition:all .2s ease}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#0f92aa;box-shadow:0 0 0 3px #0f92aa1a;outline:none}.form-field input::placeholder,.form-field select::placeholder,.form-field textarea::placeholder{color:#9ca3af}.form-field input:disabled,.form-field select:disabled,.form-field textarea:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.form-field textarea{min-height:100px;resize:vertical}.form-field__hint{color:#9ca3af;font-size:.75rem}.form-field__error{color:#ef4444;font-size:.75rem}.days-preview{align-items:center;background:#f0fbfd;border:1.5px solid #b8eaf4;border-radius:.75rem;display:flex;justify-content:space-between;margin-top:.75rem;padding:.75rem 1rem}.days-preview__label{color:#0d7a91;font-size:.875rem}.days-preview__value{color:#0d7a91;font-size:1.25rem;font-weight:800}.days-preview__unit{color:#0f92aa;font-size:.75rem}.unpaid-warning{background:#fffaf0;border:1.5px solid #fad07e;border-radius:.75rem;color:#a35200;display:flex;font-size:.875rem;gap:.5rem;margin-top:.75rem;padding:.75rem 1rem}.unpaid-warning svg{color:#e07e00;flex-shrink:0;height:16px;margin-top:1px;width:16px}.halfday-check{align-items:center;color:#374151;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;-webkit-user-select:none;user-select:none}.halfday-check input[type=checkbox]{accent-color:#0f92aa;border:1.5px solid #d1d5db;border-radius:4px;cursor:pointer;flex-shrink:0;height:16px;padding:0;width:16px}.email-section{border-top:1px solid #f3f4f6;margin-top:1.5rem;padding-top:1.25rem}.email-section__toggle{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.email-section__toggle span{color:#374151;font-size:.875rem;font-weight:600}.email-section__toggle button{background:none;border:none;color:#0f92aa;cursor:pointer;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.75rem}.email-section__toggle button:hover{text-decoration:underline}@media(max-width:1024px){.module-header__actions{flex-wrap:wrap;gap:8px}.form-grid--3{grid-template-columns:repeat(2,1fr)!important}}@media(max-width:768px){.module-header{align-items:flex-start;flex-direction:column;gap:10px;margin-bottom:1rem}.module-header__title{font-size:1.25rem}.module-header__actions{flex-wrap:wrap;gap:8px;justify-content:flex-start;width:100%}.solde-bar{gap:.5rem;grid-template-columns:repeat(2,1fr);margin-bottom:1rem}.solde-bar__value{font-size:1.125rem}.solde-bar__icon{height:30px;width:30px}.solde-bar__icon svg{height:15px;width:15px}.filter-bar{flex-wrap:wrap;gap:8px;padding:.5rem .75rem}.filter-bar>div:first-child{flex:1 1 140px;min-width:0}.filter-bar select{flex-shrink:0}.filter-bar__tabs{-webkit-overflow-scrolling:touch;flex:0 0 100%;flex-wrap:nowrap;gap:5px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none;width:100%}.filter-bar__tabs::-webkit-scrollbar{display:none}.filter-bar__count{font-size:.7rem;margin-left:0}.filter-bar__label{display:none}.form-grid,.form-grid--3{grid-template-columns:1fr!important}.module-form-card__body,.module-form-card__header{padding:1rem}.module-form-card__footer{flex-wrap:wrap;gap:8px;padding:.75rem 1rem}.data-table-wrapper{border-radius:8px;overflow:hidden}.data-table-overflow:after{display:none}.data-table{font-size:.75rem;min-width:0!important}.data-table thead{display:none}.data-table tbody tr{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 1px 2px #0000000d;display:block;margin-bottom:.75rem;overflow:hidden}.data-table tbody tr:last-child{margin-bottom:0}.data-table tbody tr:hover,.data-table tbody tr:nth-child(2n):hover{background:#f0fbfd}.data-table tbody tr:nth-child(2n){background:#fff}.data-table tbody td{align-items:flex-start;border-bottom:1px solid #f3f4f6;display:flex;gap:.75rem;padding:.5rem .75rem}.data-table tbody td:last-child{border-bottom:none}.data-table tbody td:before{color:#9ca3af;content:attr(data-label);flex-shrink:0;font-size:.68rem;font-weight:600;letter-spacing:.04em;min-width:80px;padding-top:2px;text-transform:uppercase}.data-table .col-motif{max-width:none;overflow:visible;text-overflow:clip;white-space:normal}.data-table .col-actions{flex-wrap:wrap;gap:6px;white-space:normal}.table-empty{padding:32px 16px}.module-form-page{max-width:100%}.modal{margin:0 8px;max-height:92vh}.modal__body,.modal__header{padding:1rem}.modal__footer{flex-wrap:wrap;gap:8px;padding:.75rem 1rem}.module-alert{font-size:.75rem;padding:.75rem}}@media(max-width:480px){.solde-bar{grid-template-columns:1fr 1fr}.solde-bar__card{gap:.5rem;padding:.75rem}.module-header__title{font-size:1.1rem}.module-header__actions{flex-direction:column;width:100%}.module-header__actions .btn{justify-content:center;width:100%}.module-form-card__footer{flex-direction:column-reverse}.module-form-card__footer .btn{justify-content:center;width:100%}.filter-bar{gap:6px;padding:.5rem}.filter-bar>div:first-child{flex:1 1 100%}.filter-bar select{flex:1 1 auto;width:100%}.filter-bar__tabs{gap:4px}.filter-bar__tabs>button{font-size:.7rem;padding:4px 10px}.filter-bar__count{display:none}.data-table tbody td{gap:.5rem;padding:6px .5rem}.data-table tbody td:before{font-size:.62rem;min-width:70px}.action-btn{height:36px;width:36px}.col-actions{gap:6px}.modal-overlay{align-items:flex-end;padding:0}.modal{border-radius:1rem 1rem 0 0;margin:0;max-height:94vh}}@media(max-width:360px){.solde-bar{grid-template-columns:1fr}.filter-bar select{font-size:.78rem}.data-table thead th{font-size:.58rem;padding:6px 8px}.data-table tbody td{font-size:.72rem;padding:6px 8px}.module-header__title{font-size:1rem}}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px;scroll-behavior:smooth}@media(max-width:768px){.action-btn,.btn,.lp__submit,.submit-button{min-height:38px}input,select,textarea{font-size:16px!important}}body{-webkit-font-smoothing:antialiased;background:#f3f4f6;color:#1f2937;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6}h1,h2,h3,h4,h5,h6{color:#111827;font-weight:600;line-height:1.3}a{color:#0f92aa;text-decoration:none}::-webkit-scrollbar{height:5px;width:5px}::-webkit-scrollbar-track{background:#f3f4f6}::-webkit-scrollbar-thumb{background:#7dd6ea;border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:#0f92aa}.btn{align-items:center;border:none;border-radius:.75rem;cursor:pointer;display:inline-flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:600;gap:.5rem;justify-content:center;padding:9px 1.25rem;transition:all .2s ease;white-space:nowrap}.btn--primary{background:#0f92aa;box-shadow:0 4px 16px #0f92aa4d;color:#fff}.btn--primary:hover:not(:disabled){background:#0d7a91;transform:translateY(-1px)}.btn--primary:active{transform:none}.btn--amber{background:#f5a623;box-shadow:0 4px 16px #f5a6234d;color:#fff}.btn--amber:hover:not(:disabled){background:#c96900;transform:translateY(-1px)}.btn--outline{background:#fff;border:1.5px solid #0f92aa;color:#0f92aa}.btn--outline:hover:not(:disabled){background:#f0fbfd}.btn--ghost{background:#f3f4f6;color:#374151}.btn--ghost:hover:not(:disabled){background:#e5e7eb}.btn--danger{background:#ef4444;color:#fff}.btn--danger:hover:not(:disabled){background:#b91c1c}.btn--success{background:#3a7d2e}.btn--success:hover:not(:disabled){background:#2d6124}.btn--sm{font-size:.75rem;padding:5px .75rem}.btn--lg{font-size:1rem;padding:12px 2rem}.btn:disabled{cursor:not-allowed;opacity:.5;transform:none!important}.badge{align-items:center;border-radius:9999px;display:inline-flex;font-size:.75rem;font-weight:600;gap:5px;padding:3px 10px}.badge:before{background:currentColor;border-radius:50%;content:"";flex-shrink:0;height:6px;width:6px}.badge--en-attente{background:#fef3db;color:#a35200}.badge--approuve{background:#e8f5e2;color:#2d6124}.badge--refuse{background:#fee2e2;color:#b91c1c}.badge--partiellement{background:#daf4f9;color:#0d7a91}.card{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;box-shadow:0 1px 4px #00000014;padding:1.5rem}.card__header{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;margin-bottom:1.25rem;padding-bottom:1rem}.card__title{color:#111827;font-size:1rem;font-weight:600}.table-wrapper{border:1px solid #e5e7eb;border-radius:1rem;overflow-x:auto}table.modern-table{border-collapse:collapse;font-size:.875rem;width:100%}table.modern-table thead tr{background:#0f92aa}table.modern-table thead tr th{color:#fff;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.75rem 1rem;text-align:left;text-transform:uppercase;white-space:nowrap}table.modern-table tbody tr{border-bottom:1px solid #f3f4f6;transition:background .12s}table.modern-table tbody tr:last-child{border-bottom:none}table.modern-table tbody tr:hover{background:#f0fbfd}table.modern-table tbody tr td{color:#374151;padding:.75rem 1rem;vertical-align:middle}table.modern-table tbody tr:nth-child(2n){background:#f9fafb}table.modern-table tbody tr:nth-child(2n):hover{background:#f0fbfd}.form-group label{font-weight:500;margin-bottom:5px}.form-group input,.form-group select,.form-group textarea{background:#fff;border:1.5px solid #d1d5db;border-radius:.75rem;color:#1f2937;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:9px .75rem;transition:all .2s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#0f92aa;box-shadow:0 0 0 3px #0f92aa1f;outline:none}.form-group input::placeholder,.form-group select::placeholder,.form-group textarea::placeholder{color:#9ca3af}.form-group textarea{min-height:90px;resize:vertical}.alert{border-left:3px solid;font-size:.875rem;gap:.5rem;padding:.75rem 1rem}.alert--success{background:#e8f5e2;border-color:#3a7d2e;color:#2d6124}.alert--error{background:#fee2e2;border-color:#ef4444;color:#b91c1c}.alert--warning{background:#fef3db;border-color:#f5a623;color:#a35200}.alert--info{background:#daf4f9;border-color:#0f92aa;color:#0d7a91}.page-header{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin-bottom:1.5rem}.page-header__title{color:#111827;font-size:1.5rem;font-weight:700}.page-header__title span{color:#6b7280;display:block;font-size:.875rem;font-weight:400;margin-top:2px}.section-title{font-size:1.5rem}.section-title:before{width:4px}.spinner{animation:spin .7s linear infinite;border:3px solid #b8eaf4;border-radius:50%;border-top-color:#0f92aa;display:inline-block;height:20px;width:20px}.loading-overlay{align-items:center;color:#6b7280;display:flex;flex-direction:column;font-size:.875rem;gap:1rem;justify-content:center;padding:4rem}.modal-overlay{animation:fadeIn .2s ease;background:#1a1a1a73}.modal{animation:slideUp .22s ease;border-radius:1.5rem;box-shadow:0 16px 40px #00000029;max-width:520px}.modal__header{border-bottom:1px solid #f3f4f6;padding:1.25rem 1.5rem}.modal__header h3{font-size:1rem;font-weight:600}.modal__body{padding:1.5rem}.modal__footer{border-radius:0 0 1.5rem 1.5rem;border-top:1px solid #f3f4f6;padding:1rem 1.5rem}.modal__close{border-radius:.5rem;color:#6b7280;font-size:1.1rem;height:30px;transition:all .15s ease;width:30px}.modal__close:hover{color:#374151}.empty-state{color:#9ca3af;padding:4rem 2rem}.empty-state__icon{font-size:2.5rem;margin-bottom:.75rem}.empty-state__title{color:#4b5563;font-size:1rem;font-weight:600;margin-bottom:.5rem}.empty-state__text{font-size:.875rem}.lp{background:#fff;display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh}.lp__brand{background:linear-gradient(160deg,#0a5f70,#0f92aa 55%,#13aac6);display:flex;flex-direction:column;overflow:hidden;position:relative;width:45%}@media(max-width:768px){.lp__brand{display:none}}.lp__brand-inner{display:flex;flex:1 1;flex-direction:column;padding:48px 40px;position:relative;z-index:2}.lp__circle{border-radius:50%;pointer-events:none;position:absolute;z-index:1}.lp__circle--1{background:#ffffff0f;border:1px solid #ffffff14;height:380px;right:-120px;top:-120px;width:380px}.lp__circle--2{background:#ffffff0d;border:1px solid #ffffff12;bottom:60px;height:240px;left:-80px;width:240px}.lp__circle--3{background:#f5a62326;border:1px solid #f7b84a33;bottom:200px;height:120px;right:40px;width:120px}.lp__brand-content{display:flex;flex:1 1;flex-direction:column;justify-content:center}.lp__brand-logo{margin-bottom:28px}.lp__brand-logo img{filter:drop-shadow(0 2px 8px rgba(0,0,0,.25));height:52px;width:auto}.lp__brand-name{color:#fff;font-size:1.75rem;font-weight:800;letter-spacing:-.02em;line-height:1.2;margin:0 0 8px}.lp__brand-tagline{color:#ffffffbf;font-size:.95rem;font-weight:400;margin:0 0 32px}.lp__brand-divider{background:#f5a623;border-radius:2px;height:3px;margin-bottom:32px;width:40px}.lp__brand-features{display:flex;flex-direction:column;gap:16px}.lp__brand-feature{align-items:center;color:#ffffffd9;display:flex;font-size:.875rem;font-weight:500;gap:12px}.lp__feature-icon{align-items:center;background:#ffffff1f;border:1px solid #ffffff26;border-radius:8px;display:flex;flex-shrink:0;font-size:1rem;height:34px;justify-content:center;width:34px}.lp__brand-copy{border-top:1px solid #ffffff1a;color:#ffffff73;font-size:.75rem;margin:0;padding-top:24px}.lp__form-panel{align-items:center;background:#fafbfc;display:flex;flex:1 1;justify-content:center;padding:40px 24px}.lp__form-wrap{animation:lp-up .3s ease;max-width:400px;width:100%}.lp__form-header{margin-bottom:32px}.lp__form-logo{margin-bottom:20px}.lp__form-logo img{display:block;height:48px;width:auto}.lp__form-title{color:#111827;font-size:1.6rem;font-weight:800;letter-spacing:-.02em;margin:0 0 6px}.lp__form-subtitle{color:#6b7280;font-size:.875rem;line-height:1.5;margin:0}.lp__form{gap:20px}.lp__field,.lp__form{display:flex;flex-direction:column}.lp__field{gap:6px}.lp__label{color:#374151;font-size:.82rem;font-weight:600;letter-spacing:.01em}.lp__input-wrap{align-items:center;display:flex;position:relative}.lp__input-icon{align-items:center;color:#9ca3af;display:flex;left:13px;pointer-events:none;position:absolute;z-index:1}.lp__input{background:#fff;border:1.5px solid #e5e7eb;border-radius:10px;box-sizing:border-box;color:#111827;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.9rem;padding:11px 14px 11px 40px;transition:all .2s ease;width:100%}.lp__input:focus{border-color:#0f92aa;box-shadow:0 0 0 3px #0f92aa1a;outline:none}.lp__input::placeholder{color:#d1d5db}.lp__input--pw{padding-right:44px}.lp__pw-toggle{align-items:center;background:none;border:none;border-radius:6px;color:#9ca3af;cursor:pointer;display:flex;padding:4px;position:absolute;right:12px;transition:all .15s ease}.lp__pw-toggle:hover{background:#f3f4f6;color:#4b5563}.lp__error{animation:lp-shake .35s ease;background:#fef2f2;border:1px solid #fecaca;border-left:3px solid #ef4444;border-radius:8px;color:#b91c1c;font-size:.84rem;font-weight:500;padding:10px 14px}.lp__error,.lp__submit{align-items:center;display:flex;gap:8px}.lp__submit{background:linear-gradient(135deg,#0d7a91,#0f92aa);border:none;border-radius:10px;box-shadow:0 4px 14px #0f92aa59;color:#fff;cursor:pointer;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.95rem;font-weight:700;justify-content:center;letter-spacing:.01em;margin-top:4px;padding:13px 20px;transition:all .2s ease;width:100%}.lp__submit:hover:not(:disabled){background:linear-gradient(135deg,#0a5f70,#0d7a91);box-shadow:0 6px 20px #0f92aa73;transform:translateY(-1px)}.lp__submit:active:not(:disabled){transform:translateY(0)}.lp__submit:disabled{cursor:not-allowed;opacity:.6}.lp__spinner{animation:lp-spin .65s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:16px;width:16px}.lp__footer-note{color:#9ca3af;font-size:.78rem;line-height:1.5;margin:24px 0 0;text-align:center}@keyframes lp-spin{to{transform:rotate(1turn)}}@keyframes lp-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes lp-shake{0%,to{transform:translateX(0)}20%{transform:translateX(-5px)}60%{transform:translateX(4px)}}@media(max-width:768px){.lp__form-panel{background:#fff;padding:32px 20px}.lp__form-title{font-size:1.4rem}}.dashboard{animation:fadeIn .35s ease;max-width:100%;min-width:0;width:100%}.hero-section{background:#0f92aa;border-radius:1rem;margin-bottom:1.5rem;overflow:hidden;padding:2rem;position:relative}.hero-section:before{background:#ffffff0f;height:300px;right:-80px;top:-80px;width:300px}.hero-section:after,.hero-section:before{border-radius:50%;content:"";pointer-events:none;position:absolute}.hero-section:after{background:#f5a6231a;bottom:-50px;height:200px;left:20%;width:200px}.hero-section .hero-content{position:relative;z-index:1}.hero-section .hero-greeting{align-items:center;display:flex;gap:.75rem;margin-bottom:.5rem}.hero-section .hero-greeting .wave{animation:wave 2s ease-in-out infinite;font-size:2rem}.hero-section .hero-greeting h1{color:#fff;font-size:1.875rem;font-weight:800;margin:0}@media(max-width:768px){.hero-section .hero-greeting h1{font-size:1.5rem}}.hero-section .hero-subtitle{color:#fffc;font-size:.875rem;margin:0 0 1.5rem;max-width:500px}.hero-section .quick-stats{display:flex;flex-wrap:wrap;gap:.75rem}.hero-section .stat-card{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff1f;border:1px solid #fff3;border-radius:1rem;display:flex;gap:.75rem;min-width:160px;padding:.75rem 1.25rem;transition:all .2s ease}.hero-section .stat-card:hover{background:#ffffff2e;transform:translateY(-2px)}.hero-section .stat-card--warning{background:#f5a62333;border-color:#f5a62366}.hero-section .stat-card .stat-icon{color:#ffffffe6;flex-shrink:0;height:28px;width:28px}.hero-section .stat-card .stat-value{color:#fff;font-size:1.5rem;font-weight:800;line-height:1}.hero-section .stat-card .stat-label{color:#ffffffbf;font-size:.75rem;margin-top:2px}@keyframes wave{0%,to{transform:rotate(0)}25%{transform:rotate(18deg)}75%{transform:rotate(-10deg)}}.section-title{align-items:center;color:#111827;display:flex;font-size:1.125rem;font-weight:700;gap:.5rem;margin-bottom:1rem}.section-title:before{background:#0f92aa;border-radius:2px;content:"";display:block;flex-shrink:0;height:18px;width:3px}.features-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:2rem}.feature-card{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;box-shadow:0 1px 4px #00000014;display:block;overflow:hidden;padding:1.25rem 1.5rem;position:relative;text-decoration:none;transition:all .3s ease}.feature-card:after{background:#0f92aa;bottom:0;content:"";height:3px;left:0;position:absolute;right:0;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}.feature-card:hover{border-color:#b8eaf4;box-shadow:0 4px 16px #0000001a;transform:translateY(-3px)}.feature-card:hover:after{transform:scaleX(1)}.feature-card .feature-icon{align-items:center;border-radius:.75rem;display:flex;flex-shrink:0;height:44px;justify-content:center;margin-bottom:1rem;width:44px}.feature-card .feature-icon svg{height:22px;width:22px}.feature-card .feature-icon--teal{background:#daf4f9}.feature-card .feature-icon--teal svg{color:#0d7a91}.feature-card .feature-icon--amber{background:#fef3db}.feature-card .feature-icon--amber svg{color:#c96900}.feature-card .feature-icon--green{background:#e8f5e2}.feature-card .feature-icon--green svg{color:#2d6124}.feature-card .feature-icon--gray{background:#f3f4f6}.feature-card .feature-icon--gray svg{color:#4b5563}.feature-card .feature-title{color:#111827;font-size:1rem;font-weight:600;margin-bottom:.5rem}.feature-card .feature-desc{color:#6b7280;font-size:.875rem;line-height:1.5;margin-bottom:1rem}.feature-card .feature-link{align-items:center;color:#0f92aa;display:inline-flex;font-size:.875rem;font-weight:600;gap:4px}.feature-card .feature-link svg{height:14px;width:14px}.admin-section{margin-top:2rem}.admin-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.admin-card{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:1rem;display:flex;flex-direction:column;gap:.5rem;padding:1.25rem;text-align:center;text-decoration:none;transition:all .2s ease}.admin-card:hover{background:#f0fbfd;border-color:#b8eaf4;box-shadow:0 1px 4px #00000014;transform:translateY(-2px)}.admin-card__icon{color:#0f92aa;height:28px;width:28px}.admin-card__label{color:#374151;font-size:.875rem;font-weight:600}@media(max-width:768px){.hero-section{border-radius:10px;padding:20px 16px}.hero-section .hero-greeting h1{font-size:1.4rem}.hero-section .hero-subtitle{font-size:.8rem;margin-bottom:14px}.hero-section .quick-stats{gap:8px}.hero-section .stat-card{flex:1 1 140px;min-width:140px}.admin-grid,.features-grid{gap:12px;grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.hero-section{padding:16px 14px}.hero-section .hero-greeting .wave{font-size:1.5rem}.hero-section .hero-greeting h1{font-size:1.2rem}.hero-section .hero-subtitle{display:none}.hero-section .quick-stats{flex-direction:column;gap:8px}.hero-section .stat-card{min-width:100%}.features-grid{grid-template-columns:1fr}.admin-grid{gap:8px;grid-template-columns:1fr 1fr}.feature-card{padding:14px 16px}.admin-card{padding:14px 10px}.admin-card__label{font-size:.75rem}}@media(max-width:360px){.admin-grid{grid-template-columns:1fr}}.prf{animation:fadeIn .3s ease;margin:0 auto;max-width:1000px;width:100%}.prf__hero{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:1.5rem;box-shadow:0 1px 4px #00000014;display:flex;gap:28px;margin-bottom:20px;overflow:hidden;padding:40px 32px 28px;position:relative}@media(max-width:640px){.prf__hero{flex-direction:column;gap:16px;padding:32px 20px 24px;text-align:center}}.prf__hero-bg{background:linear-gradient(90deg,#0f92aa,#35bee0);border-radius:1.5rem 1.5rem 0 0;height:6px;left:0;position:absolute;right:0;top:0}.prf__avatar-wrap{flex-shrink:0;position:relative}.prf__avatar{align-items:center;background:#0f92aa;border:3px solid #35bee0;border-radius:50%;box-shadow:0 0 0 5px #0f92aa1f;display:flex;height:130px;justify-content:center;overflow:hidden;position:relative;width:130px}@media(max-width:640px){.prf__avatar{height:100px;width:100px}}.prf__avatar-img{display:block;height:100%;object-fit:cover;width:100%}.prf__avatar-initials{color:#fff;font-size:2.4rem;font-weight:700;letter-spacing:-1px}@media(max-width:640px){.prf__avatar-initials{font-size:1.8rem}}.prf__avatar-spinner{background:#1a1a1a73;border-radius:50%;inset:0;position:absolute}.prf__avatar-spinner:after{animation:spin .7s linear infinite;border:3px solid #ffffff59;border-top-color:#fff;content:"";left:50%;top:50%;transform:translate(-50%,-50%)}.prf__avatar-btn,.prf__avatar-spinner:after{border-radius:50%;height:28px;position:absolute;width:28px}.prf__avatar-btn{align-items:center;background:#0f92aa;border:2px solid #fff;bottom:2px;box-shadow:0 1px 4px #00000014;color:#fff;cursor:pointer;display:flex;font-size:.85rem;justify-content:center;right:2px;transition:all .15s ease}.prf__avatar-btn:hover:not(:disabled){background:#0d7a91;transform:scale(1.1)}.prf__avatar-btn:disabled{cursor:not-allowed;opacity:.6}.prf__hero-info{flex:1 1;min-width:0}.prf__name{color:#111827;font-size:1.5rem;font-weight:700;margin:0 0 4px;overflow-wrap:break-word;word-break:break-word}@media(max-width:640px){.prf__name{font-size:1.25rem}}.prf__poste{color:#6b7280;font-size:.9rem;margin:0 0 12px;overflow-wrap:break-word;word-break:break-word}.prf__badges{display:flex;flex-wrap:wrap;gap:6px}@media(max-width:640px){.prf__badges{justify-content:center}}.prf__badge{border:1px solid #0000;border-radius:9999px;font-size:.72rem;font-weight:600;padding:3px 10px;white-space:nowrap}.prf__badge--role{background:#f0fbfd;border-color:#b8eaf4;color:#0d7a91}.prf__badge--lg{font-size:.8rem;padding:5px 14px}.prf__hero-stat{background:#f0fbfd;border:1px solid #b8eaf4;border-radius:1rem;flex-shrink:0;padding:14px 20px;text-align:center}@media(max-width:640px){.prf__hero-stat{display:none}}.prf__hero-stat-value{color:#0d7a91;display:block;font-size:1.1rem;font-weight:700;white-space:nowrap}.prf__hero-stat-label{color:#13aac6;display:block;font-size:.72rem;margin-top:2px}.prf__body{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}@media(max-width:768px){.prf__body{grid-template-columns:1fr}}.prf__card{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;box-shadow:0 1px 4px #00000014;overflow:hidden}.prf__card--full{grid-column:1/-1}.prf__card-header{align-items:center;background:#f9fafb;border-bottom:1px solid #f3f4f6;display:flex;gap:10px;padding:16px 24px}.prf__card-icon{color:#0f92aa;flex-shrink:0;height:18px;width:18px}.prf__card-title{color:#374151;font-size:.85rem;font-weight:700;letter-spacing:.05em;margin:0;text-transform:uppercase}.prf__card-body{padding:20px 24px}.prf__info-grid{gap:0}.prf__info-grid,.prf__info-item{display:flex;flex-direction:column}.prf__info-item{border-bottom:1px solid #f3f4f6;gap:5px;min-width:0;padding:14px 0}.prf__info-item:first-child{padding-top:0}.prf__info-item:last-child{border-bottom:none;padding-bottom:0}.prf__info-label{align-items:center;color:#9ca3af;display:flex;font-size:.72rem;font-weight:600;gap:6px;letter-spacing:.05em;line-height:1.4;text-transform:uppercase}.prf__info-label svg{flex-shrink:0;height:13px;width:13px}.prf__info-value{color:#1f2937;font-size:.9rem;font-weight:500;line-height:1.5;overflow-wrap:break-word;word-break:break-word}.prf__renewal{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.prf__renewal-badge{background:#fef3db;border:1px solid #fce4b3;border-radius:9999px;color:#a35200;font-size:.7rem;font-weight:700;padding:2px 8px;white-space:nowrap}.prf__renewal-badge--soft{background:#f0fbfd;border-color:#b8eaf4;color:#0d7a91}.prf__roles{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.prf__role-item{align-items:center;background:#f0fbfd;border:1px solid #daf4f9;border-radius:.75rem;color:#0a5f70;display:flex;font-size:.875rem;font-weight:500;gap:10px;overflow-wrap:break-word;padding:10px 14px;word-break:break-word}.prf__role-icon{color:#13aac6;flex-shrink:0;height:16px;width:16px}.prf__type-block{border-top:1px solid #f3f4f6;display:flex;flex-direction:column;gap:8px;padding-top:16px}.prf__empty{color:#9ca3af;font-size:.875rem;font-style:italic;margin:0 0 16px}.prf__pw-form{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}@media(max-width:640px){.prf__pw-form{grid-template-columns:1fr}}.prf__pw-footer,.prf__pw-full{grid-column:1/-1}.prf__pw-footer{display:flex;justify-content:flex-end;padding-top:4px}.prf__req{color:#ef4444}@media(max-width:480px){.prf__hero{padding:24px 16px 20px}.prf__card-header{padding:14px 16px}.prf__card-body{padding:16px}.prf__name{font-size:1.1rem}}.conge-validation{padding:1.5rem}.conge-validation__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.conge-validation__header h1{color:#111827;font-size:1.875rem;font-weight:700;margin:0}@media(max-width:639px){.conge-validation__header{align-items:stretch;flex-direction:column;gap:1rem}}.validation-list{flex-direction:column;gap:1.5rem}.validation-card{border:1px solid #e5e7eb;border-left:4px solid #f5a623}.validation-card__header{align-items:flex-start;padding-bottom:1rem}.validation-card__header .employee-info h3{color:#111827;font-size:1.25rem;margin:0 0 .25rem}.validation-card__header .employee-info .employee-type{background:#f3f4f6;border-radius:.375rem;color:#4b5563;font-size:.75rem;font-weight:500;padding:.25rem .5rem;text-transform:uppercase}.validation-card__header .period-info{color:#111827;font-weight:600;text-align:right}.validation-card__header .period-info .days{color:#4b5563;display:block;font-size:.875rem;font-weight:400;margin-top:.25rem}@media(max-width:639px){.validation-card__header .period-info{text-align:left}}.validation-card__content .motif strong{font-weight:500}.validation-card__content .motif p{background:#f9fafb;border-radius:.5rem;color:#374151;line-height:1.6;padding:1rem}.validation-card__actions{gap:.75rem;justify-content:flex-end}.validation-card__actions .btn{align-items:center;border:none;border-radius:.5rem;cursor:pointer;display:inline-flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:500;justify-content:center;text-decoration:none;transition:all .2s ease-in-out;white-space:nowrap}.validation-card__actions .btn:disabled{cursor:not-allowed;opacity:.6}.validation-card__actions .btn{font-size:1rem;padding:.75rem 1.5rem}.validation-card__actions .btn--success{background:#3a7d2e;color:#fff}.validation-card__actions .btn--success:hover:not(:disabled){background:#2d6124}.validation-card__actions .btn--danger{background:#ef4444;color:#fff}.validation-card__actions .btn--danger:hover:not(:disabled){background:#b91c1c}.modal{overflow-y:auto}.modal__header{padding:1.5rem 1.5rem 1rem}.modal__header h3{font-size:1.25rem}.modal__content textarea{min-height:120px}.modal__actions{gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem 1.5rem}@media(max-width:639px){.modal__actions{flex-direction:column}}.modal__actions .btn{align-items:center;border:none;border-radius:.5rem;cursor:pointer;display:inline-flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:500;justify-content:center;text-decoration:none;transition:all .2s ease-in-out;white-space:nowrap}.modal__actions .btn:disabled{cursor:not-allowed;opacity:.6}.modal__actions .btn{font-size:1rem;padding:.75rem 1.5rem}.modal__actions .btn--secondary{background:#fff;border:1px solid #e5e7eb;color:#374151}.modal__actions .btn--secondary:hover:not(:disabled){background:#f9fafb}.modal__actions .btn--danger{background:#ef4444;color:#fff}.modal__actions .btn--danger:hover:not(:disabled){background:#b91c1c}.multiple-validation-status{background-color:#f8f9fa;border:1px solid #e0e6ed;border-radius:8px;margin:16px 0;padding:16px}.multiple-validation-status .validation-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.multiple-validation-status .validation-header .status-badge{border-radius:4px;font-size:.875rem;font-weight:500;padding:4px 12px}.multiple-validation-status .validation-header .status-badge.status-en_attente{background-color:#fef3c7;color:#92400e}.multiple-validation-status .validation-header .status-badge.status-partiellement_valide{background-color:#dbeafe;color:#1e40af}.multiple-validation-status .validation-header .status-badge.status-approuve{background-color:#d1fae5;color:#065f46}.multiple-validation-status .validation-header .status-badge.status-refuse{background-color:#fee2e2;color:#991b1b}.multiple-validation-status .validation-header .validation-progress{color:#374151;font-weight:600}.multiple-validation-status .completed-validations,.multiple-validation-status .pending-validations{margin-bottom:16px}.multiple-validation-status .completed-validations h4,.multiple-validation-status .pending-validations h4{color:#374151;font-size:.875rem;font-weight:600;margin-bottom:8px}.multiple-validation-status .completed-validations .validator-item,.multiple-validation-status .pending-validations .validator-item{align-items:center;border-radius:4px;display:flex;font-size:.875rem;margin-bottom:4px;padding:8px 12px}.multiple-validation-status .completed-validations .validator-item.completed,.multiple-validation-status .pending-validations .validator-item.completed{background-color:#d1fae5;border-left:4px solid #10b981}.multiple-validation-status .completed-validations .validator-item.pending,.multiple-validation-status .pending-validations .validator-item.pending{background-color:#fef3c7;border-left:4px solid #f59e0b}.multiple-validation-status .completed-validations .validator-item .validator-name,.multiple-validation-status .pending-validations .validator-item .validator-name{font-weight:500;margin-right:12px}.multiple-validation-status .completed-validations .validator-item .validator-role,.multiple-validation-status .pending-validations .validator-item .validator-role{color:#6b7280;font-style:italic;margin-right:12px}.multiple-validation-status .completed-validations .validator-item .validation-date,.multiple-validation-status .pending-validations .validator-item .validation-date{color:#4b5563;margin-left:auto}.multiple-validation-status .completed-validations .validator-item .validator-comment,.multiple-validation-status .pending-validations .validator-item .validator-comment{color:#6b7280;font-style:italic;margin-top:4px;width:100%}.simple-validation-status{display:flex;justify-content:center;margin:8px 0}.validation-status-loading{color:#6b7280;padding:16px;text-align:center}.sidebar-overlay{background:#1a1a1a66;inset:0;position:fixed;z-index:999}@media(min-width:1025px){.sidebar-overlay{display:none}}.sidebar{background:#fff;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;height:100vh;left:0;overflow-x:hidden;overflow-y:auto;position:fixed;top:0;transition:transform .28s ease;width:260px;z-index:1000}.sidebar::-webkit-scrollbar{width:3px}.sidebar::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:2px}@media(max-width:1024px){.sidebar{box-shadow:0 16px 40px #00000029;transform:translateX(-100%)}.sidebar--open{transform:translateX(0)}}.sidebar__header{border-bottom:1px solid #f3f4f6;flex-shrink:0;justify-content:space-between;padding:1rem}.sidebar__header,.sidebar__header .logo{align-items:center;display:flex}.sidebar__header .logo img{filter:none;height:46px;padding-left:42px;width:auto}.sidebar__close{align-items:center;background:#f3f4f6;border:none;border-radius:.5rem;color:#4b5563;cursor:pointer;display:none;font-size:.85rem;height:28px;justify-content:center;transition:all .15s ease;width:28px}@media(max-width:1024px){.sidebar__close{display:flex}}.sidebar__close:hover{background:#e5e7eb;color:#1f2937}.sidebar__nav{display:flex;flex:1 1;flex-direction:column;padding:.75rem}.sidebar__group-label{color:#9ca3af;font-size:.68rem;font-weight:700;letter-spacing:.09em;padding:.75rem .5rem 6px;text-transform:uppercase}.sidebar__group-label--mt{margin-top:.75rem}.sidebar__link{align-items:center;background:none;border:none;border-radius:.75rem;color:#4b5563;cursor:pointer;display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;gap:.75rem;margin-bottom:1px;padding:8px .75rem;text-align:left;text-decoration:none;transition:all .15s ease;width:100%}.sidebar__link:hover{background:#f0fbfd;color:#0d7a91}.sidebar__link:hover .sidebar__icon{color:#0f92aa}.sidebar__link--active{background:#f0fbfd;color:#0d7a91;font-weight:600}.sidebar__link--active .sidebar__icon{color:#0f92aa}.sidebar__link--active:before{background:#0f92aa;border-radius:0 3px 3px 0;content:"";height:60%;left:0;position:absolute;top:50%;transform:translateY(-50%);width:3px}.sidebar__link--logout{color:#ef4444}.sidebar__link--logout:hover{background:#fee2e2;color:#b91c1c}.sidebar__link{position:relative}.sidebar__icon{color:#9ca3af;flex-shrink:0;height:18px;transition:all .15s ease;width:18px}.sidebar__text{flex:1 1;font-size:.875rem;white-space:nowrap}.sidebar__chevron{color:#13aac6;flex-shrink:0;height:14px;width:14px}.sidebar__footer{border-top:1px solid #f3f4f6;display:flex;flex-direction:column;flex-shrink:0;padding:.75rem .75rem 1.25rem}.topbar{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 4px #1a1a1a0d;display:flex;height:62px;justify-content:space-between;left:260px;padding:0 1.5rem;position:fixed;right:0;top:0;transition:left .3s ease;z-index:999}@media(max-width:1024px){.topbar{left:0}}@media(max-width:768px){.topbar{height:56px;padding:0 1rem}}.topbar__left{align-items:center;display:flex;gap:1rem}.topbar__menu-btn{align-items:center;background:none;border:none;border-radius:.75rem;color:#6b7280;cursor:pointer;display:none;font-size:1.4rem;height:36px;justify-content:center;transition:all .15s ease;width:36px}@media(max-width:1024px){.topbar__menu-btn{display:flex}}.topbar__menu-btn:hover{background:#f3f4f6;color:#0f92aa}.topbar__breadcrumb{align-items:center;color:#6b7280;display:flex;font-size:.875rem;gap:.5rem}.topbar__breadcrumb strong{color:#111827;font-weight:600}@media(max-width:640px){.topbar__breadcrumb{display:none}}.topbar__right{align-items:center;display:flex;gap:.75rem}.topbar__new-btn{align-items:center;background:#f5a623;border:none;border-radius:.75rem;color:#fff;cursor:pointer;display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:600;gap:6px;padding:7px 1rem;transition:all .2s ease}.topbar__new-btn:hover{background:#c96900;transform:translateY(-1px)}@media(max-width:640px){.topbar__new-btn{display:none}}.topbar__user{position:relative}.topbar__user-info{align-items:center;background:none;border:none;border-radius:1rem;cursor:pointer;display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;gap:.75rem;padding:6px .75rem;transition:all .15s ease}.topbar__user-info:hover{background:#f3f4f6}.topbar__user-details{align-items:flex-end;display:flex;flex-direction:column}@media(max-width:640px){.topbar__user-details{display:none}}.topbar__user-name{color:#111827;font-size:.875rem;font-weight:600;line-height:1.2}.topbar__user-role{color:#0f92aa;font-size:.75rem;font-weight:500}.topbar__avatar{border:2.5px solid #35bee0;border-radius:50%;box-shadow:0 0 0 3px #0f92aa1f;flex-shrink:0;height:46px;overflow:hidden;width:46px}.topbar__avatar-img{height:100%;object-fit:cover;width:100%}.topbar__avatar-initials{align-items:center;background:#0f92aa;color:#fff;display:flex;font-size:.875rem;font-weight:700;height:100%;justify-content:center;width:100%}.topbar__dropdown-icon{color:#9ca3af;height:14px;transition:transform .2s ease;width:14px}@media(max-width:640px){.topbar__dropdown-icon{display:none}}.topbar__dropdown-icon--open{transform:rotate(180deg)}.topbar__dropdown{animation:fadeDown .16s ease;background:#fff;border:1px solid #f3f4f6;border-radius:1rem;box-shadow:0 16px 40px #00000029;min-width:200px;overflow:hidden;position:absolute;right:0;top:calc(100% + 6px);z-index:1000}.topbar__dropdown-item{align-items:center;background:none;border:none;color:#374151;cursor:pointer;display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;gap:.5rem;padding:.75rem 1rem;text-align:left;text-decoration:none;transition:all .15s ease;width:100%}.topbar__dropdown-item:hover{background:#f0fbfd;color:#0d7a91}.topbar__dropdown-item--logout{border-top:1px solid #f3f4f6;color:#ef4444}.topbar__dropdown-item--logout:hover{background:#fee2e2;color:#b91c1c}@keyframes fadeDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:480px){.topbar{height:52px;padding:0 10px}.topbar__new-btn,.topbar__user-details{display:none}.topbar__avatar{height:38px;width:38px}.topbar__left{gap:.5rem}.layout__main{padding-top:52px}}@media(max-width:360px){.topbar{padding:0 8px}}.layout{background:#f9fafb}.layout__main{min-width:0;padding-top:62px;transition:margin-left .3s ease}@media(max-width:768px){.layout__main{padding-top:56px}}@media(max-width:480px){.layout__main{padding-top:54px}}.layout__content{min-width:0;overflow-x:hidden}@media(max-width:1024px){.layout__content{padding:1rem 1.25rem}}@media(max-width:768px){.layout__content{padding:1rem}}@media(max-width:480px){.layout__content{padding:.75rem}}.admin-user-form{width:100%}.admin-user-form .modal__header{align-items:center;display:flex;justify-content:space-between}.admin-user-form .modal__header h2{color:#111827;font-size:1.25rem;margin:0}.admin-user-form .modal__header .modal__close{align-items:center;background:none;border:none;color:#4b5563;cursor:pointer;display:flex;font-size:1.25rem;height:32px;justify-content:center;transition:all .2s ease;width:32px}.admin-user-form .modal__header .modal__close:hover{background:#f3f4f6;border-radius:.375rem;color:#111827}.admin-user-form .modal__content{max-height:80vh;overflow-y:auto}.admin-user-form .form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}@media(max-width:639px){.admin-user-form .form-row{grid-template-columns:1fr}}.admin-user-form .form-group.admin-sections{align-items:flex-start;border-top:1px solid #dbdbdb;display:flex;gap:11px;margin-top:12px;padding-top:10px}.admin-user-form .form-group.admin-sections input{cursor:pointer;height:18px;width:18px}.admin-user-form .form-group{margin-bottom:1rem}.admin-user-form .form-group label{color:#374151;display:block;font-size:.875rem;font-weight:600;margin-bottom:.5rem}.admin-user-form .form-group label input[type=checkbox]{cursor:pointer;margin-right:.5rem}.admin-user-form .form-group input,.admin-user-form .form-group select,.admin-user-form .form-group textarea{border:1px solid #e5e7eb;border-radius:.5rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;padding:.75rem 1rem;transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out;width:100%}.admin-user-form .form-group input:focus,.admin-user-form .form-group select:focus,.admin-user-form .form-group textarea:focus{border-color:#0f92aa;box-shadow:0 0 0 3px #0f92aa1a;outline:none}.admin-user-form .form-group input::placeholder,.admin-user-form .form-group select::placeholder,.admin-user-form .form-group textarea::placeholder{color:#9ca3af}.admin-user-form .form-group input,.admin-user-form .form-group select,.admin-user-form .form-group textarea{font-size:.875rem}.admin-user-form .form-group textarea{min-height:100px;resize:vertical}.admin-user-form .form-section{border-bottom:1px solid #e5e7eb;margin-bottom:1.5rem;padding-bottom:1rem}.admin-user-form .form-section .form-section-title{color:#374151;font-size:.875rem;font-weight:600;letter-spacing:.05em;margin-bottom:1rem;text-transform:uppercase}.admin-user-form .help-text{color:#4b5563;display:block;font-size:.75rem;margin-top:.25rem}.admin-user-form .error-text{color:#ef4444;display:block;font-size:.75rem;font-weight:500;margin-top:.25rem}.admin-user-form .file-preview{align-items:center;background:#f9fafb;border-radius:.5rem;display:flex;gap:.5rem;margin-top:.5rem;padding:.75rem}.admin-user-form .file-preview .file-icon{color:#9ca3af;flex-shrink:0;height:24px;width:24px}.admin-user-form .file-preview span{color:#374151;font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-user-form .modal__actions{display:flex;gap:1rem}.admin-user-form .modal__actions .btn{flex:1 1}@media(max-width:639px){.admin-user-form .modal__actions{flex-direction:column-reverse}}.admin-user-list{padding:2rem}@media(min-width:640px)and (max-width:1023px){.admin-user-list{padding:1.5rem}}@media(max-width:639px){.admin-user-list{padding:.75rem}}.admin-user-list__header{align-items:flex-start;border-bottom:2px solid #e5e7eb;display:flex;gap:1.5rem;justify-content:space-between;margin-bottom:2rem;padding-bottom:1.5rem}@media(min-width:640px)and (max-width:1023px){.admin-user-list__header{align-items:stretch;flex-direction:column;gap:1rem}}@media(max-width:639px){.admin-user-list__header{flex-direction:column;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1rem}}.admin-user-list__header .header-content{flex:1 1}.admin-user-list__header .header-content h1{color:#111827;font-size:1.875rem;font-weight:700;margin:0 0 .5rem}@media(max-width:639px){.admin-user-list__header .header-content h1{font-size:1.25rem}}.admin-user-list__header .header-content p{color:#4b5563;font-size:1rem;margin:0}@media(max-width:639px){.admin-user-list__header .header-content p{font-size:.875rem}}.admin-user-list__header .btn{align-self:flex-start;white-space:nowrap}@media(min-width:640px)and (max-width:1023px){.admin-user-list__header .btn{align-self:stretch;width:100%}}@media(max-width:639px){.admin-user-list__header .btn{font-size:.875rem;padding:.75rem 1rem;width:100%}}.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:300px;text-align:center}@media(max-width:639px){.loading-container{min-height:200px}}.loading-container .spinner{animation:spin 1s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#0f92aa;height:48px;margin-bottom:1.5rem;width:48px}@media(max-width:639px){.loading-container .spinner{height:40px;margin-bottom:1rem;width:40px}}.loading-container p{color:#4b5563;font-size:1rem}@media(max-width:639px){.loading-container p{font-size:.875rem}}.alert{align-items:flex-start;border:1px solid;gap:.75rem;padding:1rem}@media(max-width:639px){.alert{font-size:.875rem;margin-bottom:1rem;padding:.75rem}}.alert--error{background:#fef2f2;border-color:#fecaca;color:#991b1b}.alert--success{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.alert .alert-icon{flex-shrink:0;height:20px;margin-top:2px;width:20px}.admin-filters{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 1px 4px #00000014;margin-bottom:2rem;padding:1.5rem}@media(max-width:639px){.admin-filters{margin-bottom:1.5rem;padding:1rem}}.admin-filters .filters-container{grid-gap:1.5rem;align-items:flex-end;display:grid;gap:1.5rem;grid-template-columns:1fr 200px auto}@media(min-width:640px)and (max-width:1023px){.admin-filters .filters-container{gap:1rem;grid-template-columns:1fr}}@media(max-width:639px){.admin-filters .filters-container{gap:.75rem;grid-template-columns:1fr}}.admin-filters .filter-group{display:flex;flex-direction:column;gap:.5rem}.admin-filters .filter-group label{color:#374151;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}@media(max-width:639px){.admin-filters .filter-group label{font-size:10px}.admin-filters .filter-group{gap:.25rem}}.admin-filters .search-input-container{position:relative}.admin-filters .search-input-container .search-icon{color:#9ca3af;height:18px;left:.75rem;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);width:18px}@media(max-width:639px){.admin-filters .search-input-container .search-icon{height:16px;width:16px}}.admin-filters .search-input-container .search-input{border:1px solid #e5e7eb;border-radius:.5rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;padding:.75rem 1rem;transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out;width:100%}.admin-filters .search-input-container .search-input:focus{border-color:#0f92aa;box-shadow:0 0 0 3px #0f92aa1a;outline:none}.admin-filters .search-input-container .search-input::placeholder{color:#9ca3af}.admin-filters .search-input-container .search-input{font-size:.875rem;padding:.75rem 1rem .75rem 2.5rem}@media(max-width:639px){.admin-filters .search-input-container .search-input{font-size:14px;padding:.5rem .75rem .5rem 2rem}}.admin-filters .filter-select{border:1px solid #e5e7eb;border-radius:.5rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out;width:100%}.admin-filters .filter-select:focus{border-color:#0f92aa;box-shadow:0 0 0 3px #0f92aa1a;outline:none}.admin-filters .filter-select::placeholder{color:#9ca3af}.admin-filters .filter-select{font-size:.875rem;padding:.75rem 1rem}@media(max-width:639px){.admin-filters .filter-select{font-size:14px;padding:.5rem .75rem}.admin-filters .filter-stats{grid-column:1/-1;justify-self:flex-start}}.admin-filters .filter-stats .stat-badge{background:#f3f4f6;border-radius:20px;color:#374151;display:inline-block;font-size:.75rem;font-weight:600;padding:.5rem 1rem}@media(max-width:639px){.admin-filters .filter-stats .stat-badge{font-size:11px;padding:.25rem .75rem}}.users-container{min-height:300px}@media(max-width:639px){.users-container{min-height:200px}}.empty-state{background:#fff;border:1px dashed #e5e7eb}@media(max-width:639px){.empty-state{padding:1.5rem .75rem}}.empty-state__icon{color:#d1d5db;height:64px;margin-bottom:1rem;width:64px}@media(max-width:639px){.empty-state__icon{height:48px;margin-bottom:.75rem;width:48px}}.empty-state h3{color:#111827;font-size:1.125rem;font-weight:600;margin:0 0 .5rem}@media(max-width:639px){.empty-state h3{font-size:1rem}}.empty-state p{margin:0 0 1.5rem}@media(max-width:639px){.empty-state p{font-size:.875rem;margin-bottom:1rem}.empty-state .btn{font-size:.875rem;width:100%}}.users-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}@media(min-width:640px)and (max-width:1023px){.users-grid{gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media(max-width:639px){.users-grid{gap:.75rem;grid-template-columns:1fr}}.user-card{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;display:flex;flex-direction:column;overflow:hidden;transition:all .3s ease}.user-card:hover{border-color:#0f92aa;box-shadow:0 4px 16px #0000001a;transform:translateY(-4px)}@media(max-width:639px){.user-card:hover{box-shadow:0 1px 4px #00000014;transform:none}}.user-card__header{align-items:flex-start;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1rem}@media(max-width:639px){.user-card__header{padding:.75rem}}.user-card__content{display:flex;flex:1 1;flex-direction:column;padding:1rem}@media(max-width:639px){.user-card__content{padding:.75rem}}.user-card__actions{display:flex;gap:.5rem}@media(max-width:639px){.user-card__actions{gap:.25rem}}.user-card__actions .action-btn{align-items:center;background:#f3f4f6;border:none;border-radius:.375rem;color:#4b5563;cursor:pointer;display:flex;flex-shrink:0;height:36px;justify-content:center;transition:all .2s ease;width:36px}@media(max-width:639px){.user-card__actions .action-btn{height:32px;width:32px}}.user-card__actions .action-btn svg{height:18px;width:18px}@media(max-width:639px){.user-card__actions .action-btn svg{height:16px;width:16px}}.user-card__actions .action-btn:hover{background:#e5e7eb;color:#1f2937}.user-card__actions .action-btn--danger:hover{background:#ef4444;color:#fff}.user-avatar{border:3px solid #b8eaf4;border-radius:50%;box-shadow:0 0 0 3px #0f92aa1a,0 1px 4px #00000014;flex-shrink:0;height:72px;overflow:hidden;width:72px}@media(max-width:639px){.user-avatar{height:56px;width:56px}}.user-avatar .avatar-placeholder,.user-avatar img{height:100%;object-fit:cover;width:100%}.user-avatar .avatar-placeholder{align-items:center;background:linear-gradient(135deg,#0f92aa,#00d4ff);color:#fff;display:flex;font-size:1rem;font-weight:600;justify-content:center}@media(max-width:639px){.user-avatar .avatar-placeholder{font-size:.875rem}}.user-name{color:#111827;font-size:1rem;font-weight:600;margin:0 0 .25rem}@media(max-width:639px){.user-name{font-size:.875rem}}.user-email{color:#4b5563;font-size:.875rem;margin:0 0 .5rem;word-break:break-word}@media(max-width:639px){.user-email{font-size:12px;margin-bottom:.25rem}}.user-poste{color:#374151;font-size:.875rem;font-weight:500;margin:0 0 .75rem}@media(max-width:639px){.user-poste{font-size:12px;margin-bottom:.5rem}}.user-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}@media(max-width:639px){.user-meta{gap:.25rem;margin-bottom:.5rem}}.type-badge{border-radius:.375rem;color:#fff;display:inline-block;font-size:.75rem;font-weight:600;padding:.25rem .75rem}@media(max-width:639px){.type-badge{font-size:11px;padding:3px 8px}}.user-start-date{align-items:center;color:#4b5563;display:flex;font-size:.875rem;gap:.5rem;margin-bottom:.75rem}@media(max-width:639px){.user-start-date{font-size:12px;margin-bottom:.5rem}}.user-start-date .date-icon{color:#9ca3af;flex-shrink:0;height:16px;width:16px}@media(max-width:639px){.user-start-date .date-icon{height:14px;width:14px}}.user-renewal-date{align-items:center;color:#4b5563;display:flex;flex-wrap:wrap;font-size:.875rem;gap:.5rem;margin-bottom:.75rem}@media(max-width:639px){.user-renewal-date{font-size:12px;margin-bottom:.5rem}}.user-renewal-date .date-icon{color:#13aac6;flex-shrink:0;height:16px;width:16px}@media(max-width:639px){.user-renewal-date .date-icon{height:14px;width:14px}}.renewal-badge{border-radius:9999px;font-size:11px;font-weight:600;padding:2px 8px;white-space:nowrap}.renewal-badge--urgent{background:#fef3c7;border:1px solid #fde68a;color:#92400e}.renewal-badge--soon{background:#d1fae5;border:1px solid #6ee7b7;color:#065f46}.user-roles{border-top:1px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem;padding-top:.75rem}@media(max-width:639px){.user-roles{gap:.25rem;margin-top:.5rem;padding-top:.5rem}}.user-roles .role-tag{background:#f3f4f6;border-radius:.375rem;color:#374151;font-size:.75rem;font-weight:500;padding:.25rem .5rem}@media(max-width:639px){.user-roles .role-tag{font-size:10px;padding:2px 6px}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);inset:0}@media(max-width:639px){.modal-overlay{align-items:flex-end;padding:.5rem}}.modal{animation:slideUp .3s ease;display:flex;flex-direction:column;max-height:90vh;max-width:803px}@media(max-width:639px){.modal{border-radius:.75rem .75rem 0 0;max-height:95vh}}.modal--danger .modal__header{background:#fef2f2;color:#ef4444}.modal__header{background:#f9fafb}@media(max-width:639px){.modal__header{padding:1rem}}.modal__header h2,.modal__header h3{color:#111827;font-size:1.125rem;font-weight:600;margin:0}@media(max-width:639px){.modal__header h2,.modal__header h3{font-size:1rem}}.modal__close{flex-shrink:0;transition:all .2s ease}@media(max-width:639px){.modal__close{font-size:1rem;height:28px;width:28px}}.modal__close:hover{background:#f3f4f6}.modal__content{flex:1 1;overflow-y:auto}@media(max-width:639px){.modal__content{font-size:.875rem;padding:1rem}}.modal__content .danger-icon{color:#ef4444;height:64px;margin:0 auto 1rem;width:64px}@media(max-width:639px){.modal__content .danger-icon{height:48px;margin-bottom:.75rem;width:48px}}.modal__content p{color:#374151;margin:0 0 .75rem}@media(max-width:639px){.modal__content p{font-size:.875rem;margin-bottom:.5rem}}.modal__content p strong{color:#111827;font-weight:600}.modal__content .warning-text{color:#ef4444;font-size:.875rem;font-weight:500}@media(max-width:639px){.modal__content .warning-text{font-size:12px}.modal__actions{flex-direction:column-reverse;gap:.75rem;padding:1rem}.modal__actions .btn{font-size:.875rem;padding:.5rem .75rem}}.user-card--absent{background:#fffbeb;border-color:#fad07e}.user-avatar{position:relative}.user-avatar .absent-badge{background:#f5a623;border-radius:9999px;bottom:-4px;color:#fff;font-size:10px;font-weight:600;left:50%;padding:1px 6px;position:absolute;transform:translateX(-50%);white-space:nowrap}.action-btn--delegation:hover{background:#dbeafe;color:#1d4ed8}.action-btn--warning{background:#fef3c7;color:#92400e}.action-btn--warning:hover{background:#f5a623;color:#fff}.user-remplacant{align-items:center;background:#fffbeb;border:1px solid #fce4b3;border-radius:.375rem;color:#c96900;display:flex;font-size:.75rem;gap:6px;margin-top:.5rem;padding:4px 8px}.modal--delegation{max-width:440px}.modal--delegation .modal__header{background:#eff6ff}.modal--delegation .modal__content{padding:1.25rem}.modal--delegation .modal__content .delegation-status{align-items:center;border-radius:.375rem;display:flex;font-weight:600;gap:.5rem;margin-bottom:.75rem;padding:.75rem}.modal--delegation .modal__content .delegation-status svg{height:18px;width:18px}.modal--delegation .modal__content .delegation-status--active{background:#d1fae5;color:#065f46}.modal--delegation .modal__content .delegation-form{display:flex;flex-direction:column;gap:.75rem}.modal--delegation .modal__content .delegation-form label{color:#374151;font-size:.875rem;font-weight:600}.modal--delegation .modal__content .delegation-hint{color:#6b7280;font-size:.75rem;line-height:1.5;margin:0}.btn--warning{background:#f5a623;color:#fff}.btn--warning:hover{background:#d97706}.btn--success{background:#10b981;color:#fff}.btn--success:hover{background:#059669}.permission-container{padding:1.5rem}.tabs-navigation{background:#fff;border-bottom:2px solid #e2e8f0;border-radius:12px 12px 0 0;box-shadow:0 1px 3px 0 #0000001a;display:flex;flex-wrap:wrap;gap:.5rem;margin:-1rem 0 1rem;padding-bottom:0}@media(max-width:639px){.tabs-navigation{flex-wrap:wrap}}.tab-button{align-items:center;background:none;border:none;border-bottom:3px solid #0000;color:#4b5563;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:.5rem;padding:1rem 1.5rem;transition:all .3s ease}.tab-button .tab-icon{font-size:1.125rem}.tab-button:hover{color:#0f92aa}.tab-button--active{border-bottom-color:#0f92aa;color:#0f92aa}@media(max-width:639px){.tab-button{font-size:.875rem;padding:.75rem 1rem}}.conge-list__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.conge-list__header h1{font-size:1.5rem;margin:0}@media(max-width:639px){.conge-list__header{align-items:flex-start;flex-direction:column;gap:1rem}}.solde-summary{grid-gap:1rem;background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 1px 4px #00000014;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:2rem;padding:1.5rem}.solde-summary__item{display:flex;flex-direction:column;gap:.5rem}.solde-summary__item .label{color:#4b5563;font-size:.875rem;font-weight:500}.solde-summary__item .value{color:#111827;font-size:1.125rem;font-weight:600}.solde-summary__item .value.highlight{color:#3a7d2e;font-size:1.25rem}.solde-summary__note{border-top:1px solid #e5e7eb;color:#6b7280;font-size:.75rem;grid-column:1/-1;padding-top:1rem}.filters{align-items:center;background:#f9fafb;border-radius:.5rem;display:flex;gap:1rem;margin-bottom:1.5rem;padding:1rem}.filters label{color:#374151;font-size:.875rem;font-weight:500}.filters .filter-select{border:1px solid #e5e7eb;border-radius:.5rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;padding:.75rem 1rem;transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out;width:100%}.filters .filter-select:focus{border-color:#0f92aa;box-shadow:0 0 0 3px #0f92aa1a;outline:none}.filters .filter-select::placeholder{color:#9ca3af}.filters .filter-select{font-size:.875rem;padding:.5rem .75rem}@media(max-width:639px){.filters{align-items:flex-start;flex-direction:column}.filters .filter-select{width:100%}}.admin-actions{margin-bottom:1.5rem}.admin-actions .btn{display:inline-block}.permission-list__content{min-height:300px}.permissions-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}@media(min-width:640px)and (max-width:1023px){.permissions-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media(max-width:639px){.permissions-grid{grid-template-columns:1fr}}.empty-state{padding:3rem}.empty-state p{margin-bottom:1.5rem}.admin-filters-permission{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 4px #00000014;margin-bottom:1.25rem;padding:1.25rem}.admin-filters-permission .filters-row-permission{grid-gap:1rem;align-items:end;display:grid;gap:1rem;grid-template-columns:130px 170px 1fr}@media(max-width:640px){.admin-filters-permission .filters-row-permission{grid-template-columns:1fr 1fr}}@media(max-width:400px){.admin-filters-permission .filters-row-permission{grid-template-columns:1fr}}.admin-filters-permission .filter-group-perm{display:flex;flex-direction:column;gap:.35rem}.admin-filters-permission .filter-group-perm label{color:#94a3b8;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.period-indicator{color:#94a3b8;font-size:.85rem;margin-top:.75rem;padding-top:.6rem}.period-indicator strong{color:#007a91}.admin-perm-table-wrapper{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 4px #00000014;overflow:hidden}.admin-perm-table-wrapper .empty-state{color:#94a3b8;padding:3rem;text-align:center}.permission-validation{padding:1.5rem}.permission-validation__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.permission-validation__header h1{font-size:1.5rem;margin:0}@media(max-width:639px){.permission-validation__header{align-items:flex-start;flex-direction:column;gap:1rem}}.validation-list{display:flex;flex-direction:row}.validation-card{background:#fff;border:2px solid #e5e7eb;border-radius:.75rem;box-shadow:0 2px 8px #0000001a;max-width:411px;min-width:411px;padding:1.5rem}.validation-card__header{border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1.5rem}@media(max-width:639px){.validation-card__header{flex-direction:column;gap:1rem}}.validation-card .employee-info h3{color:#111827;font-size:1.125rem;margin:0 0 .5rem}.validation-card .employee-info .employee-type{background:#f3f4f6;border-radius:.375rem;color:#4b5563;display:inline-block;font-size:.75rem;font-weight:600;padding:.25rem .5rem}.validation-card .period-info{align-items:flex-end;color:#4b5563;display:flex;flex-direction:column;font-size:.875rem}.validation-card .period-info .hours{color:#111827;font-weight:600;margin-top:.25rem}@media(max-width:639px){.validation-card .period-info{align-items:flex-start}}.validation-card__content{margin-bottom:1.5rem}.validation-card__content .motif{background:#f9fafb;border-left:3px solid #0f92aa;border-radius:.5rem;padding:1rem}.validation-card__content .motif strong{color:#374151;display:block;font-size:.875rem;margin-bottom:.5rem}.validation-card__content .motif p{color:#4b5563;font-size:.875rem;line-height:1.5;margin:0}.validation-card__actions{display:flex;gap:1rem}.validation-card__actions .btn{flex:1 1}@media(max-width:639px){.validation-card__actions{flex-direction:column}}.modal-overlay{background:#00000080;padding:1rem;z-index:1050}.modal{box-shadow:0 8px 24px #0000001f;max-width:500px;overflow:hidden}.modal__header{padding:1.5rem}.modal__header h3{color:#111827;font-size:1.125rem;margin:0}.modal__content{padding:1.5rem}.modal__content textarea{border:1px solid #e5e7eb;border-radius:.5rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;padding:.75rem 1rem;transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out;width:100%}.modal__content textarea:focus{border-color:#0f92aa;box-shadow:0 0 0 3px #0f92aa1a;outline:none}.modal__content textarea::placeholder{color:#9ca3af}.modal__content textarea{resize:vertical}.modal__actions{background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:1rem;padding:1.5rem}.modal__actions .btn{flex:1 1}@media(max-width:639px){.modal__actions{flex-direction:column-reverse}}.permission-history{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:100vh;padding:2rem}.permission-history .filters-section{margin-bottom:2rem}.permission-history .filters{grid-gap:1.5rem;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 15px #00000014;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding:1.75rem}@media(max-width:768px){.permission-history .filters{grid-template-columns:1fr}}.permission-history .filters .filter-group{display:flex;flex-direction:column;gap:.5rem}.permission-history .filters .filter-group label{color:#374151;font-size:.85rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.permission-history .filters .filter-group select{background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;font-size:.95rem;padding:.75rem 1rem;transition:all .2s ease}.permission-history .filters .filter-group select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.permission-history .filters .filter-group select:hover{border-color:#d1d5db}.permission-history .statistics-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 15px #00000014;margin-bottom:2.5rem;padding:2rem}.permission-history .statistics-section h2{align-items:center;color:#1e293b;display:flex;font-size:1.5rem;font-weight:700;gap:.5rem;margin:0 0 1.5rem}.permission-history .statistics-section h2:before{content:"📊";font-size:1.25rem}.permission-history .statistics-section .stats-table-wrapper{border:1px solid #e2e8f0;border-radius:10px;overflow-x:auto}.permission-history .statistics-section .stats-table-wrapper::-webkit-scrollbar{height:8px}.permission-history .statistics-section .stats-table-wrapper::-webkit-scrollbar-track{background:#f1f5f9}.permission-history .statistics-section .stats-table-wrapper::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.permission-history .statistics-section .stats-table-wrapper::-webkit-scrollbar-thumb:hover{background:#94a3b8}.permission-history .statistics-section .stats-table{background:#fff;border-collapse:collapse;width:100%}.permission-history .statistics-section .stats-table thead{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-bottom:2px solid #e5e7eb}.permission-history .statistics-section .stats-table thead th{color:#374151;font-size:.85rem;font-weight:600;letter-spacing:.05em;padding:1.25rem 1rem;text-align:left;text-transform:uppercase;white-space:nowrap}.permission-history .statistics-section .stats-table thead th:first-child{padding-left:1.5rem}.permission-history .statistics-section .stats-table thead th:last-child{padding-right:1.5rem}.permission-history .statistics-section .stats-table tbody tr{border-bottom:1px solid #f3f4f6;transition:all .2s ease}.permission-history .statistics-section .stats-table tbody tr:hover{background:#f8fafc}.permission-history .statistics-section .stats-table tbody tr:last-child{border-bottom:none}.permission-history .statistics-section .stats-table tbody tr td{color:#4b5563;font-size:.95rem;padding:1.25rem 1rem}.permission-history .statistics-section .stats-table tbody tr td:first-child{padding-left:1.5rem}.permission-history .statistics-section .stats-table tbody tr td:last-child{padding-right:1.5rem}.permission-history .statistics-section .stats-table tbody tr td strong{color:#1f2937;font-weight:600}.permission-history .statistics-section .stats-table tbody tr td.status--approved{color:#059669;font-weight:600}.permission-history .statistics-section .stats-table tbody tr td.status--rejected{color:#dc2626;font-weight:600}.permission-history .statistics-section .stats-table tbody tr td.status--pending{color:#d97706;font-weight:600}.permission-history .statistics-section .stats-table tbody tr td.empty-cell{color:#9ca3af;padding:3rem 1rem!important;text-align:center}.permission-history .permissions-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 15px #00000014;padding:2rem}.permission-history .permissions-section h2{align-items:center;color:#1e293b;display:flex;font-size:1.5rem;font-weight:700;gap:.5rem;margin:0 0 1.5rem}.permission-history .permissions-section h2:before{content:"📋";font-size:1.25rem}.permission-history .permissions-section .permissions-table-wrapper{border:1px solid #e2e8f0;border-radius:10px;overflow-x:auto}.permission-history .permissions-section .permissions-table-wrapper::-webkit-scrollbar{height:8px}.permission-history .permissions-section .permissions-table-wrapper::-webkit-scrollbar-track{background:#f1f5f9}.permission-history .permissions-section .permissions-table-wrapper::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.permission-history .permissions-section .permissions-table-wrapper::-webkit-scrollbar-thumb:hover{background:#94a3b8}.permission-history .permissions-section .permissions-table{background:#fff;border-collapse:collapse;width:100%}.permission-history .permissions-section .permissions-table thead{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-bottom:2px solid #e5e7eb}.permission-history .permissions-section .permissions-table thead th{color:#374151;font-size:.85rem;font-weight:600;letter-spacing:.05em;padding:1.25rem 1rem;text-align:left;text-transform:uppercase}.permission-history .permissions-section .permissions-table thead th:first-child{padding-left:1.5rem}.permission-history .permissions-section .permissions-table thead th:last-child{padding-right:1.5rem}.permission-history .permissions-section .permissions-table tbody tr{border-bottom:1px solid #f3f4f6;transition:all .2s ease}.permission-history .permissions-section .permissions-table tbody tr:hover{background:#f8fafc}.permission-history .permissions-section .permissions-table tbody tr:last-child{border-bottom:none}.permission-history .permissions-section .permissions-table tbody tr td{color:#4b5563;font-size:.95rem;padding:1.25rem 1rem}.permission-history .permissions-section .permissions-table tbody tr td:first-child{padding-left:1.5rem}.permission-history .permissions-section .permissions-table tbody tr td:last-child{padding-right:1.5rem}.permission-history .permissions-section .permissions-table tbody tr td strong{color:#1f2937;font-weight:600}.permission-history .permissions-section .permissions-table tbody tr td small{color:#9ca3af;display:block;font-size:.85rem;font-style:italic;margin-top:.25rem}.permission-history .permissions-section .permissions-table tbody tr td .status-badge{border-radius:8px;display:inline-block;font-size:.85rem;font-weight:600;letter-spacing:.05em;padding:.5rem .75rem;text-transform:uppercase}.permission-history .permissions-section .permissions-table tbody tr td .status-badge.status--pending{background:#fef3c7;color:#92400e}.permission-history .permissions-section .permissions-table tbody tr td .status-badge.status--approved{background:#d1fae5;color:#065f46}.permission-history .permissions-section .permissions-table tbody tr td .status-badge.status--rejected{background:#fee2e2;color:#991b1b}.permission-history .permissions-section .permissions-table tbody tr td.empty-cell{color:#9ca3af;padding:3rem 1rem!important;text-align:center}.permission-history .empty-state{background:#fff;border:2px dashed #e5e7eb;border-radius:12px;padding:3rem 2rem;text-align:center}.permission-history .empty-state p{color:#9ca3af;font-size:1rem;margin:0}.permission-history .loading{color:#667eea;font-size:1.1rem;font-weight:600;padding:3rem;text-align:center}.permission-history .loading:after{animation:spin 1s linear infinite;border:3px solid #667eea1a;border-radius:50%;border-top-color:#667eea;content:"";height:24px;margin-left:1rem;width:24px}@media(max-width:768px){.permission-history{padding:1rem}.permission-history .filters{gap:1rem}.permission-history .permissions-section,.permission-history .statistics-section{margin-bottom:1.5rem;padding:1rem}.permission-history .permissions-section h2,.permission-history .statistics-section h2{font-size:1.25rem;margin-bottom:1rem}.permission-history .permissions-table,.permission-history .stats-table{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr}.permission-history .permissions-table thead,.permission-history .stats-table thead{display:none}.permission-history .permissions-table tbody,.permission-history .stats-table tbody{display:contents}.permission-history .permissions-table tr,.permission-history .stats-table tr{grid-gap:.75rem;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #0000000d;display:grid;gap:.75rem;grid-template-columns:1fr;margin-bottom:1rem;padding:1rem}.permission-history .permissions-table tr:hover,.permission-history .stats-table tr:hover{background:#fff;box-shadow:0 4px 12px #0000001a}.permission-history .permissions-table tr td,.permission-history .stats-table tr td{grid-gap:1rem;align-items:start;border:none;display:grid;gap:1rem;grid-template-columns:100px 1fr;padding:0!important}.permission-history .permissions-table tr td:before,.permission-history .stats-table tr td:before{color:#667eea;content:attr(data-label);font-size:.8rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.permission-history .permissions-table tr td:first-child,.permission-history .stats-table tr td:first-child{grid-column:1/-1;grid-template-columns:1fr}.permission-history .permissions-table tr td small,.permission-history .stats-table tr td small{margin-top:0!important}.permission-history .stats-table tr:nth-child(2) td:first-child:before{content:"EMPLOYÉ"}.permission-history .stats-table tr:nth-child(2) td:nth-child(2):before{content:"TYPE"}.permission-history .stats-table tr:nth-child(2) td:nth-child(3):before{content:"TOTAL"}.permission-history .stats-table tr:nth-child(2) td:nth-child(4):before{content:"APPROUVÉES"}.permission-history .stats-table tr:nth-child(2) td:nth-child(5):before{content:"REFUSÉES"}.permission-history .stats-table tr:nth-child(2) td:nth-child(6):before{content:"ATTENTE"}.permission-history .stats-table tr:nth-child(2) td:nth-child(7):before{content:"HEURES"}.permission-history .permissions-table tr:nth-child(2) td:first-child:before{content:"DATE & HEURE"}.permission-history .permissions-table tr:nth-child(2) td:nth-child(2):before{content:"EMPLOYÉ"}.permission-history .permissions-table tr:nth-child(2) td:nth-child(3):before{content:"DURÉE"}.permission-history .permissions-table tr:nth-child(2) td:nth-child(4):before{content:"MOTIF"}.permission-history .permissions-table tr:nth-child(2) td:nth-child(5):before{content:"STATUT"}}@media(max-width:480px){.permission-history,.permission-history .permissions-section,.permission-history .statistics-section{padding:.75rem}.permission-history .permissions-section h2,.permission-history .statistics-section h2{font-size:1.1rem}.permission-history .permissions-table tr,.permission-history .stats-table tr{gap:.5rem;margin-bottom:.75rem;padding:.75rem}.permission-history .permissions-table tr td,.permission-history .stats-table tr td{gap:.5rem;grid-template-columns:80px 1fr}.permission-history .permissions-table tr td:before,.permission-history .stats-table tr td:before{font-size:.7rem}}.droit-validation-container{background:linear-gradient(135deg,#f9fafb,#fff);min-height:100vh;padding:1.5rem}@media(max-width:639px){.droit-validation-container{padding:1rem}}.validation-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:2rem}.validation-header h1{color:#111827;font-size:1.875rem;font-weight:700;letter-spacing:-.5px;margin:0}.validation-header .header-stats .badge{align-items:center;background:#0f92aa;border-radius:20px;box-shadow:0 2px 8px #11182726;color:#fff;display:inline-flex;font-size:.875rem;font-weight:600;padding:.5rem 1rem}@media(max-width:639px){.validation-header{align-items:flex-start;flex-direction:column}}.alert{align-items:center;animation:slideDown .3s ease-out;border-radius:.75rem;box-shadow:0 4px 12px #1118271a;display:flex;font-weight:500;justify-content:space-between;margin-bottom:1.5rem;padding:1rem 1.25rem}.alert--info{background:linear-gradient(135deg,#e3f2fd,#f3f5f9);border:1px solid #bbdefb;color:#1f2937}.alert--success{background:linear-gradient(135deg,#e8f5e9,#f1f8f6);border:1px solid #c8e6c9;color:#1f2937}.alert--error{background:linear-gradient(135deg,#ffebee,#fdf5f7);border:1px solid #ffcdd2;color:#1f2937}.alert__close{background:none;border:none;color:#4b5563;cursor:pointer;font-size:1.125rem;padding:0 .5rem;transition:color .2s}.alert__close:hover{color:#111827}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.validation-layout{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:350px 1fr}@media(min-width:640px)and (max-width:1023px){.validation-layout{grid-template-columns:1fr}}@media(max-width:639px){.validation-layout{grid-template-columns:1fr}}.droits-list-section h2{color:#111827;font-size:1.25rem;font-size:1.125rem;font-weight:600;letter-spacing:.5px;margin:0 0 1rem;text-transform:uppercase}.droits-list{background:#fff;border-radius:.75rem;box-shadow:0 4px 12px #11182714;display:flex;flex-direction:column;gap:.75rem;max-height:700px;overflow-y:auto;padding:.5rem}.droits-list::-webkit-scrollbar{width:6px}.droits-list::-webkit-scrollbar-track{background:#0000}.droits-list::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.droits-list::-webkit-scrollbar-thumb:hover{background:#9ca3af}.droit-item{background:#f9fafb;border:2px solid #0000;border-left:4px solid #d1d5db;border-radius:.5rem;cursor:pointer;padding:1rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.droit-item:hover{background:#f3f4f6;border-left-color:#0f92aa;box-shadow:0 2px 8px #1118271a;transform:translateX(4px)}.droit-item--selected{background:#f3f4f6;border:2px solid #1f2937;border-left-width:4px;box-shadow:0 4px 12px #11182726}.droit-item--selected .droit-item__header strong{color:#111827}.droit-item__header{align-items:flex-start;display:flex;gap:.5rem;justify-content:space-between;margin-bottom:.5rem}.droit-item__header strong{color:#1f2937;font-size:1rem;font-weight:600;transition:color .2s}.droit-item__date{color:#6b7280;font-size:.75rem;font-weight:400;white-space:nowrap}.droit-item__content{display:flex;flex-direction:column;gap:.25rem}.droit-item__motif{color:#374151;font-size:.875rem;font-weight:500;line-height:1.4;margin:0}.droit-item__period{color:#4b5563;font-size:.75rem;margin:0}.droit-item__duration{background:#e5e7eb;border-radius:.375rem;color:#374151;display:inline-block;font-size:.75rem;font-weight:600;margin-top:.25rem;padding:.25rem .5rem;width:-webkit-fit-content;width:fit-content}.validation-panel{animation:fadeIn .3s ease-out;background:#fff;border-radius:.75rem;box-shadow:0 8px 24px #1118271f;overflow:hidden}@media(min-width:640px)and (max-width:1023px){.validation-panel{border-radius:.75rem .75rem 0 0;bottom:0;left:0;max-height:80vh;position:fixed;right:0;top:auto}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.panel-header{align-items:center;background:linear-gradient(135deg,#111827,#1f2937);border-bottom:1px solid #374151;display:flex;justify-content:space-between;padding:1.5rem}.panel-header h2{color:#fff;font-size:1.125rem;font-weight:600;margin:0}.panel-header .btn-close{align-items:center;background:#ffffff1a;border:none;border-radius:.375rem;color:#fff;cursor:pointer;display:flex;font-size:1.125rem;height:36px;justify-content:center;padding:.5rem;transition:all .2s;width:36px}.panel-header .btn-close:hover{background:#fff3}.panel-content{max-height:calc(100vh - 300px);overflow-y:auto;padding:1.5rem}.panel-content::-webkit-scrollbar{width:6px}.panel-content::-webkit-scrollbar-track{background:#0000}.panel-content::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.detail-section{margin-bottom:1.5rem}.detail-section h3{border-bottom:2px solid #f3f4f6;color:#111827;font-size:1rem;font-weight:600;letter-spacing:.5px;margin:0 0 1rem;padding-bottom:.75rem;text-transform:uppercase}.detail-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}@media(max-width:639px){.detail-grid{grid-template-columns:1fr}}.detail-item label{color:#374151;color:#4b5563;display:block;font-size:.875rem;font-weight:600;letter-spacing:.3px;margin-bottom:.25rem;text-transform:uppercase}.detail-item p{background:#f9fafb;border-left:3px solid #d1d5db;border-radius:.375rem;color:#111827;font-size:1rem;font-weight:500;margin:0;padding:.5rem .75rem}.duration-badge{background:linear-gradient(135deg,#1f2937,#374151);border:none!important;border-radius:20px;color:#fff;display:inline-block;font-weight:600!important;padding:.5rem 1rem}.validation-section{background:linear-gradient(135deg,#f9fafb,#f3f4f6);border:1px solid #e5e7eb;border-radius:.75rem;margin-top:1.5rem;padding:1.25rem}.validation-section h3{color:#111827;font-size:1rem;font-weight:600;letter-spacing:.5px;margin:0 0 1rem;text-transform:uppercase}.form-group{margin-bottom:1rem}.form-group label{color:#374151;display:block;font-size:.875rem;font-weight:600;margin-bottom:.5rem}.form-group textarea{border-radius:.5rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;padding:.75rem 1rem;transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out;width:100%}.form-group textarea:focus{border-color:#0f92aa;box-shadow:0 0 0 3px #0f92aa1a;outline:none}.form-group textarea::placeholder{color:#9ca3af}.form-group textarea{border:1px solid #e5e7eb;box-shadow:inset 0 2px 4px #1118270d;font-size:.875rem;min-height:100px}.form-group textarea:focus{box-shadow:0 0 0 3px #1f29371a,inset 0 2px 4px #1118270d}.decision-buttons{display:flex;gap:.75rem}@media(max-width:639px){.decision-buttons{flex-direction:column}}.decision-btn{background:#fff;border:2px solid #e5e7eb;border-radius:.5rem;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:.75rem 1rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.decision-btn:hover:not(:disabled){box-shadow:0 4px 12px #11182726;transform:translateY(-2px)}.decision-btn--approve:hover:not(:disabled){background:#f9fafb;border-color:#1f2937}.decision-btn--reject:hover:not(:disabled){background:#fef5f5;border-color:#374151}.decision-btn--active{background:#1f2937;border-color:#1f2937;box-shadow:0 4px 12px #1f29374d;color:#fff}.decision-btn--active:hover:not(:disabled){background:#111827;border-color:#111827}.decision-btn:disabled{cursor:not-allowed;opacity:.5}.panel-footer{background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:.75rem;justify-content:flex-end;margin:0 -1.5rem -1.5rem;padding:1.25rem}@media(max-width:639px){.panel-footer{flex-direction:column-reverse}}.panel-footer .btn{border:none;border-radius:.5rem;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.25rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.panel-footer .btn:hover:not(:disabled){box-shadow:0 4px 12px #11182726;transform:translateY(-2px)}.panel-footer .btn--secondary{background:#fff;border:1px solid #e5e7eb;color:#374151}.panel-footer .btn--secondary:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.panel-footer .btn--primary{background:#0f92aa;box-shadow:0 4px 12px #11182733;color:#fff}.panel-footer .btn--primary:hover:not(:disabled){box-shadow:0 6px 16px #1118274d}.panel-footer .btn--primary:disabled{cursor:not-allowed;opacity:.6}.empty-state{background:linear-gradient(135deg,#f9fafb,#f3f4f6);border:2px dashed #e5e7eb;border-radius:.75rem;padding:2rem}.empty-state p{color:#4b5563;font-size:1rem;font-weight:500;margin:0}.loading{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:3rem}.loading .spinner{animation:spin .8s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#1f2937;height:40px;width:40px}.loading p{color:#4b5563;font-weight:500;margin:0}.droits-validation-list{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}@media(min-width:640px)and (max-width:1023px){.droits-validation-list{grid-template-columns:1fr}}.droit-validation-item{background:#fff;border-left:4px solid #d1d5db;border-radius:.75rem;box-shadow:0 2px 8px #1118271a;padding:1rem;transition:all .3s ease}.droit-validation-item:hover{box-shadow:0 4px 12px #11182726;transform:translateY(-2px)}.droit-validation-item__header{align-items:flex-start;display:flex;gap:.5rem;justify-content:space-between;margin-bottom:.75rem}.droit-validation-item__user{display:flex;flex-direction:column}.droit-validation-item__user strong{color:#111827;font-size:1rem;margin-bottom:.25rem}.droit-validation-item__user small{color:#4b5563;font-size:.875rem}.droit-validation-item__date{color:#6b7280;font-size:.75rem;white-space:nowrap}.droit-validation-item__content{display:flex;flex-direction:column;gap:.75rem}.droit-validation-item__info{display:flex;flex-direction:column;gap:.5rem}.droit-validation-item__motif{color:#1f2937;font-size:1rem;font-weight:600;margin:0}.droit-validation-item__period{color:#4b5563;font-size:.875rem;margin:0}.droit-validation-item__duration{background:#f3f4f6;border-radius:.375rem;color:#374151;display:inline-block;font-size:.75rem;font-weight:600;padding:.25rem .5rem;width:-webkit-fit-content;width:fit-content}.droit-validation-item__actions{display:flex;gap:.5rem}.droit-validation-item__actions .btn{flex:1 1;font-size:.875rem;padding:.5rem .75rem}.droit-validation-item__actions .btn--sm{padding:.5rem .75rem}.modal-overlay{align-items:center;background:#11182780;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content.validation-modal{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;display:flex;flex-direction:column;max-height:90vh;padding:1em;position:relative;width:413px}.modal-content.validation-modal .modal-close{position:absolute;right:8px;top:14px}.modal-content.validation-modal .checklist-grid{display:flex;flex-direction:row;padding-bottom:16px}.modal-content.validation-modal .modal-actions{align-items:center;display:flex;justify-content:space-between}.modal{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:.75rem;box-shadow:0 20px 60px #1118274d;max-width:620px;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal__header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1.25rem}.modal__header h2{color:#111827;font-size:1.125rem;font-weight:600;margin:0}.modal__close{align-items:center;background:none;border:none;color:#4b5563;cursor:pointer;display:flex;font-size:1.125rem;height:32px;justify-content:center;padding:0;transition:color .2s;width:32px}.modal__close:hover{color:#111827}.modal__content{padding:1.25rem}.modal__info{color:#374151;font-size:.875rem;line-height:1.5;margin-bottom:1rem}.modal__textarea{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;padding:.75rem 1rem;transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out}.modal__textarea:focus{border-color:#0f92aa;box-shadow:0 0 0 3px #0f92aa1a}.modal__textarea::placeholder{color:#9ca3af}.modal__textarea{border:1px solid #e5e7eb;border-radius:.5rem;font-family:inherit;font-size:.875rem;min-height:120px;padding:.75rem;resize:vertical;width:100%}.modal__textarea:focus{border-color:#1f2937;box-shadow:0 0 0 3px #1f29371a;outline:none}.modal__footer{background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:.75rem;justify-content:flex-end;padding:1.25rem}.modal__footer .btn{padding:.5rem 1rem}@keyframes spin{to{transform:rotate(1turn)}}.layout,.layout__main{display:flex;min-height:100vh}.layout__main{background:#f3f4f6;flex:1 1;flex-direction:column;margin-left:260px}@media(max-width:1024px){.layout__main{margin-left:0}}.layout__content{flex:1 1;padding:1.5rem}@media(max-width:768px){.layout__content{padding:1rem .75rem}}.unauthorized-page{align-items:center;display:flex;justify-content:center;min-height:100vh}.unauthorized-page .unauthorized-content{background:#fff;border-radius:1.5rem;box-shadow:0 8px 24px #0000001f;max-width:480px;padding:2.5rem;text-align:center}.unauthorized-page .unauthorized-content h2{color:#ef4444;margin-bottom:.75rem}.unauthorized-page .unauthorized-content p{color:#4b5563}.checkbox-label.semi-days{align-items:flex-end;display:flex;flex-direction:row-reverse;gap:.5rem;justify-content:flex-start}.checkbox-label.semi-days input{cursor:pointer;height:15px;width:15px}.text-center{text-align:center}.text-right{text-align:right}.hidden{display:none}.w-full{width:100%}.mb-4{margin-bottom:1rem}.mt-4{margin-top:1rem}@media(max-width:639px){.hide-mobile{display:none!important}}.file-viewer-modal{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.file-viewer-modal__content{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:900px;width:100%}.file-viewer-modal__header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px 24px}.file-viewer-modal__header h3{color:#333;font-size:1.25rem;margin:0}.file-viewer-modal__header .close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.file-viewer-modal__header .close-btn:hover{background-color:#f0f0f0;color:#333}.file-viewer-modal__body{align-items:center;background-color:#f8f9fa;display:flex;flex:1 1;justify-content:center;overflow:auto;padding:24px}.file-viewer-modal__footer{border-top:1px solid #e0e0e0;display:flex;gap:12px;justify-content:flex-end;padding:20px 24px}.file-viewer-image{border-radius:8px;box-shadow:0 2px 8px #0000001a;max-height:60vh;max-width:100%;object-fit:contain}.file-viewer-pdf{border:none;border-radius:8px;height:60vh;width:100%}.file-viewer-document{padding:40px;text-align:center}.file-viewer-document .document-icon{font-size:4rem;margin-bottom:20px}.file-viewer-document p{color:#666;font-size:1.1rem;margin-bottom:24px}@media(max-width:768px){.file-viewer-modal{padding:10px}.file-viewer-modal__content{max-height:95vh}.file-viewer-modal__header{padding:16px}.file-viewer-modal__header h3{font-size:1.1rem}.file-viewer-modal__body{padding:16px}.file-viewer-modal__footer{flex-direction:column;padding:16px}.file-viewer-modal__footer .btn{width:100%}.file-viewer-image{max-height:50vh}.file-viewer-pdf{height:50vh}}.mission-validation-list{background:#fff;border-radius:8px;padding:30px}.mission-validation-list h2{color:#2c3e50;font-size:1.5rem;margin-bottom:30px;margin-top:0}.mission-validation-list .missions-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.mission-validation-list .mission-item{background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid #ecf0f1;border-left:4px solid #0097b2;border-radius:8px;display:flex;flex-direction:column;padding:20px;transition:all .3s ease}.mission-validation-list .mission-item:hover{border-left-color:#e74c3c;box-shadow:0 8px 20px #0000001f;transform:translateY(-3px)}.mission-validation-list .mission-item .mission-info{flex:1 1;margin-bottom:15px}.mission-validation-list .mission-item .mission-info h4{color:#2c3e50;font-size:1.1rem;margin:0 0 12px}.mission-validation-list .mission-item .mission-info p{color:#34495e;font-size:.95rem;margin:8px 0}.mission-validation-list .mission-item .mission-info p strong{color:#2c3e50;min-width:100px}.mission-validation-list .mission-item .btn{background:linear-gradient(135deg,#0097b2,#0097b2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .3s}.mission-validation-list .mission-item .btn:hover{box-shadow:0 5px 15px #667eea4d;transform:translateY(-2px)}.mission-validation-form{background:#fff;border-radius:8px;padding:30px}.mission-validation-form .btn-secondary{background:#95a5a6;border:none;border-radius:8px;color:#fff;cursor:pointer;margin-bottom:25px;padding:10px 20px;transition:all .3s ease}.mission-validation-form .btn-secondary:hover{background:#7f8c8d}.mission-validation-form .validation-header{background:linear-gradient(135deg,#0097b2,#0097b2);border-radius:8px;color:#fff;margin-bottom:30px;padding:25px}.mission-validation-form .validation-header h2{font-size:1.4rem;margin:0 0 15px}.mission-validation-form .validation-header p{font-size:.95rem;margin:0;opacity:.9}.mission-validation-form .validation-checklist{background:#f8f9fa;border-left:4px solid #0097b2;border-radius:8px;margin-bottom:25px;padding:25px}.mission-validation-form .validation-checklist h3{color:#2c3e50;font-size:1.1rem;margin-top:0}.mission-validation-form .validation-checklist .checklist-items{grid-gap:12px;display:grid;gap:12px}.mission-validation-form .validation-checklist .checklist-item{align-items:center;background:#fff;border:2px solid #ecf0f1;border-radius:8px;display:flex;gap:12px;padding:15px;transition:all .3s ease}.mission-validation-form .validation-checklist .checklist-item:hover{background:#667eea0d;border-color:#0097b2}.mission-validation-form .validation-checklist .checklist-item input[type=checkbox]{accent-color:#0097b2;cursor:pointer;height:20px;width:20px}.mission-validation-form .validation-checklist .checklist-item span{color:#2c3e50;flex:1 1;font-weight:600}.mission-validation-form .validation-checklist .checklist-item a{background:#0097b2;border-radius:8px;color:#fff;font-size:.85rem;padding:6px 12px;text-decoration:none;transition:all .3s ease}.mission-validation-form .validation-checklist .checklist-item a:hover{background:#0097b2}.mission-validation-form .validation-action{background:#f8f9fa;border-radius:8px;margin-bottom:25px;padding:25px}.mission-validation-form .validation-action .form-group{margin-bottom:20px}.mission-validation-form .validation-action .form-group label{color:#2c3e50;display:block;font-size:.95rem;font-weight:600;margin-bottom:8px}.mission-validation-form .validation-action .form-group select,.mission-validation-form .validation-action .form-group textarea{border:2px solid #ecf0f1;border-radius:8px;color:#2c3e50;font-family:inherit;font-size:1rem;padding:12px;transition:all .3s ease;width:100%}.mission-validation-form .validation-action .form-group select:focus,.mission-validation-form .validation-action .form-group textarea:focus{border-color:#0097b2;box-shadow:0 0 0 3px #667eea1a;outline:none}.mission-validation-form .validation-action .form-group textarea{min-height:100px;resize:vertical}.mission-validation-form .validation-buttons{display:flex;gap:12px;justify-content:flex-end}.mission-validation-form .validation-buttons button{border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .3s ease}.mission-validation-form .validation-buttons button--primary{background:linear-gradient(135deg,#27ae60,#2ecc71)}.mission-validation-form .validation-buttons button--primary:hover:not(:disabled){box-shadow:0 5px 15px #27ae604d;transform:translateY(-2px)}.mission-validation-form .validation-buttons button--secondary{background:#95a5a6}.mission-validation-form .validation-buttons button--secondary:hover{background:#7f8c8d}.mission-validation-form .validation-buttons button:disabled{cursor:not-allowed;opacity:.6}.loading{color:#95a5a6;font-size:1.1rem;padding:60px;text-align:center}@media(max-width:768px){.mission-validation-list .missions-list{grid-template-columns:1fr}.mission-validation-form .validation-buttons{flex-direction:column}.mission-validation-form .validation-buttons button{width:100%}}.project-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.project-modal{animation:slideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.project-modal .project-modal__header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:1.5rem}.project-modal .project-modal__header h2{color:#1a1a1a;font-size:1.25rem;margin:0}.project-modal .project-modal__header .project-modal__close{align-items:center;background:none;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.project-modal .project-modal__header .project-modal__close:hover:not(:disabled){background:#f0f0f0;color:#1a1a1a}.project-modal .project-modal__header .project-modal__close:disabled{cursor:not-allowed;opacity:.5}.project-modal .project-modal__form{padding:1.5rem}.project-modal .project-modal__form .form-group{margin-bottom:1.5rem}.project-modal .project-modal__form .form-group label{color:#1a1a1a;display:block;font-size:.95rem;font-weight:600;margin-bottom:.5rem}.project-modal .project-modal__form .form-group input,.project-modal .project-modal__form .form-group select,.project-modal .project-modal__form .form-group textarea{border:1px solid #dee2e6;border-radius:6px;font-family:inherit;font-size:.95rem;padding:.75rem;transition:all .2s ease;width:100%}.project-modal .project-modal__form .form-group input:focus,.project-modal .project-modal__form .form-group select:focus,.project-modal .project-modal__form .form-group textarea:focus{border-color:#0097b2;box-shadow:0 0 0 3px #007bff1a;outline:none}.project-modal .project-modal__form .form-group input:disabled,.project-modal .project-modal__form .form-group select:disabled,.project-modal .project-modal__form .form-group textarea:disabled{background-color:#f8f9fa;color:#6c757d;cursor:not-allowed}.project-modal .project-modal__form .form-group textarea{resize:vertical}.project-modal .project-modal__form .form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}@media(max-width:480px){.project-modal .project-modal__form .form-row{grid-template-columns:1fr}}.project-modal .project-modal__actions{background:#f8f9fa;border-top:1px solid #e9ecef;display:flex;gap:1rem;padding:1.5rem}.project-modal .project-modal__actions .btn{flex:1 1}.project-modal .project-modal__actions .btn:disabled{cursor:not-allowed;opacity:.6}@media(max-width:640px){.project-modal{margin:1rem;max-width:90vw}.project-modal .project-modal__header{padding:1rem}.project-modal .project-modal__header h2{font-size:1.1rem}.project-modal .project-modal__form{padding:1rem}.project-modal .project-modal__actions{flex-direction:column;padding:1rem}}.admin-projects{background:#f5f7fa;border-radius:8px;margin:0;padding:20px}@media(max-width:768px){.admin-projects{padding:15px}}@media(max-width:480px){.admin-projects{padding:10px}}.admin-projects__header{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:30px}.admin-projects__header h2{color:#2c3e50;flex:1 1;font-size:28px;font-weight:700;margin:0;min-width:200px}@media(max-width:768px){.admin-projects__header h2{font-size:22px}}@media(max-width:480px){.admin-projects__header h2{flex:1 1 100%;font-size:18px}}.admin-projects__header .btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s ease;white-space:nowrap}@media(max-width:480px){.admin-projects__header .btn{flex:1 1 100%;font-size:12px;padding:8px 16px}}.admin-projects__header .btn:hover:not(:disabled){box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.admin-projects__header .btn:active:not(:disabled){transform:translateY(0)}.admin-projects__header .btn:disabled{cursor:not-allowed;opacity:.6}.admin-projects__header .btn--primary{background:linear-gradient(135deg,#0097b2,#0097b2);color:#fff}@media(max-width:480px){.admin-projects__header .btn--primary{width:100%}}.admin-projects__list{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden}@media(max-width:768px){.admin-projects__list{overflow-x:auto}}.empty-state{align-items:center;background:linear-gradient(135deg,#f5f7fa,#e9ecef);display:flex;flex-direction:column;justify-content:center;min-height:300px;padding:60px 30px;text-align:center}@media(max-width:768px){.empty-state{min-height:250px;padding:40px 20px}}@media(max-width:480px){.empty-state{min-height:200px;padding:30px 15px}}.empty-state .empty-message{color:#2c3e50;font-size:28px;font-weight:700;margin:0 0 10px}@media(max-width:768px){.empty-state .empty-message{font-size:22px}}@media(max-width:480px){.empty-state .empty-message{font-size:18px}}.empty-state .empty-description{color:#7f8c8d;font-size:14px;margin:0;max-width:400px}@media(max-width:480px){.empty-state .empty-description{font-size:12px}}.loading-message{animation:pulse 1.5s ease-in-out infinite;color:#0097b2;font-size:16px;font-weight:500;padding:40px;text-align:center}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.projects-table{border-collapse:collapse;margin:0;width:100%}.projects-table thead{background:#eef0f0;font-weight:700;text-align:left}.projects-table thead th{border:none;font-size:13px;letter-spacing:.5px;padding:16px 12px;text-transform:uppercase}@media(max-width:768px){.projects-table thead th{font-size:11px;padding:12px 8px}}@media(max-width:480px){.projects-table thead th{font-size:10px;padding:10px 6px}}.projects-table tbody tr{border-bottom:1px solid #e9ecef;transition:all .3s ease}.projects-table tbody tr:hover{background-color:#f8f9ff;box-shadow:inset 0 0 10px #667eea1a}.projects-table tbody tr:last-child{border-bottom:none}.projects-table tbody tr td{color:#2c3e50;font-size:13px;padding:14px 12px}@media(max-width:768px){.projects-table tbody tr td{font-size:12px;padding:10px 8px}}@media(max-width:480px){.projects-table tbody tr td{font-size:11px;padding:8px 6px}}.projects-table tbody tr td strong{color:#2c3e50;font-weight:700}.projects-table .description-cell{color:#7f8c8d;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:768px){.projects-table .description-cell{max-width:150px}}@media(max-width:480px){.projects-table .description-cell{max-width:80px}}.projects-table .description-cell .no-description{color:#bdc3c7;font-style:italic}.projects-table .badge{border-radius:20px;display:inline-block;font-size:12px;font-weight:600;padding:6px 12px;text-align:center;transition:all .3s ease}@media(max-width:480px){.projects-table .badge{font-size:10px;padding:4px 8px}}.projects-table .badge.badge-actif{background-color:#d4f1d4;border:1px solid #27ae60;color:#27ae60}.projects-table .badge.badge-actif:hover{background-color:#27ae60;color:#fff}.projects-table .badge.badge-termine{background-color:#ffe8e8;border:1px solid #e74c3c;color:#e74c3c}.projects-table .badge.badge-termine:hover{background-color:#e74c3c;color:#fff}.projects-table .missions-count{text-align:center}.projects-table .missions-count .mission-badge{background:#0097b2;border-radius:4px;color:#fff;display:inline-block;font-size:12px;font-weight:700;padding:4px 8px}@media(max-width:480px){.projects-table .missions-count .mission-badge{font-size:10px;padding:3px 6px}}.projects-table .actions-cell{text-align:center;white-space:nowrap}@media(max-width:768px){.projects-table .actions-cell{display:flex;flex-direction:column;gap:8px}}@media(max-width:480px){.projects-table .actions-cell{gap:4px}}.projects-table .actions-cell .status-select{background:#fff;border:1px solid #bdc3c7;border-radius:4px;color:#2c3e50;cursor:pointer;font-size:12px;font-weight:500;padding:6px 10px;transition:all .3s ease}@media(max-width:768px){.projects-table .actions-cell .status-select{width:100%}}@media(max-width:480px){.projects-table .actions-cell .status-select{font-size:11px;padding:5px 8px}}.projects-table .actions-cell .status-select:hover{border-color:#0097b2;box-shadow:0 0 8px #667eea33}.projects-table .actions-cell .status-select:focus{border-color:#0097b2;box-shadow:0 0 8px #667eea4d;outline:none}.projects-table .actions-cell .status-select option{color:#2c3e50;padding:8px}.projects-table .actions-cell .btn{border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px;transition:all .3s ease}@media(max-width:768px){.projects-table .actions-cell .btn{width:100%}}@media(max-width:480px){.projects-table .actions-cell .btn{font-size:11px;padding:5px 10px}}.projects-table .actions-cell .btn:hover:not(:disabled){box-shadow:0 2px 6px #00000026;transform:translateY(-1px)}.projects-table .actions-cell .btn:active:not(:disabled){transform:translateY(0)}.projects-table .actions-cell .btn:disabled{cursor:not-allowed;opacity:.5}.projects-table .actions-cell .btn--danger{background-color:#e74c3c;color:#fff}.projects-table .actions-cell .btn--danger:hover:not(:disabled){background-color:#c0392b}.projects-table .actions-cell .btn--small{font-size:11px;padding:5px 10px}@media(max-width:480px){.projects-table .actions-cell .btn--small{font-size:10px;padding:4px 8px}}@media(max-width:768px){.projects-table thead{display:none}.projects-table tbody{display:block}.projects-table tbody tr{border:1px solid #e9ecef;border-radius:6px;display:flex;flex-direction:column;margin-bottom:20px;overflow:hidden}.projects-table tbody tr:hover{border-color:#0097b2;box-shadow:0 4px 12px #667eea26}.projects-table tbody tr td{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:12px;position:relative}.projects-table tbody tr td:before{color:#0097b2;content:attr(data-label);font-weight:700;margin-right:10px;min-width:100px}.projects-table tbody tr td:last-child{border-bottom:none}.projects-table tbody tr td strong{display:block;width:100%}.projects-table tbody tr td:first-child:before{content:"Nom"}.projects-table tbody tr td:nth-child(2):before{content:"Description"}.projects-table tbody tr td:nth-child(3):before{content:"Statut"}.projects-table tbody tr td:nth-child(4):before{content:"Missions"}.projects-table tbody tr td:nth-child(5):before{content:"Date fin"}.projects-table tbody tr td:nth-child(6):before{content:"Actions"}.projects-table .actions-cell{display:flex;flex-direction:column;gap:8px}.projects-table .actions-cell button,.projects-table .actions-cell select{width:100%}}@media(max-width:480px){.projects-table tbody tr{margin-bottom:15px}.projects-table tbody tr td{font-size:12px;padding:10px}.projects-table tbody tr td:before{font-size:11px;min-width:80px}}.planning-gantt{margin-top:2rem;max-width:100%;min-width:0;width:100%}.planning-gantt__header{margin-bottom:.5rem}.planning-gantt__subtitle{color:#6b7280;font-size:.875rem;margin:-6px 0 1rem}.planning-gantt__toolbar{flex-wrap:wrap;justify-content:space-between;margin-bottom:1rem}.planning-gantt__nav,.planning-gantt__toolbar{align-items:center;display:flex;gap:.75rem}.planning-gantt__nav-btn{align-items:center;background:#fff;border:1.5px solid #e5e7eb;border-radius:.75rem;color:#374151;cursor:pointer;display:inline-flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.75rem;gap:4px;padding:6px 12px;transition:all .15s ease}.planning-gantt__nav-btn svg{height:14px;width:14px}.planning-gantt__nav-btn:hover{background:#f9fafb;border-color:#d1d5db}.planning-gantt__nav-range{color:#1f2937;font-size:.875rem;font-weight:600;white-space:nowrap}.planning-gantt__legend{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.planning-gantt__legend-item{align-items:center;color:#4b5563;display:inline-flex;font-size:.75rem;font-weight:500;gap:5px}.planning-gantt .dot{border-radius:50%;display:inline-block;flex-shrink:0;height:9px;width:9px}.planning-gantt .dot--success{background:#3a7d2e}.planning-gantt .dot--warning{background:#f5a623}.planning-gantt .dot--danger{background:#ef4444}.planning-gantt__empty{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;color:#9ca3af;padding:2.5rem 1.5rem;text-align:center}.planning-gantt__empty svg{height:32px;margin-bottom:.5rem;width:32px}.planning-gantt__empty p{font-size:.875rem}.planning-gantt__scroll{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;max-height:520px;max-width:100%;min-width:0;overflow-x:auto;overflow-y:auto;position:relative;width:100%}.planning-gantt__inner{position:relative}.planning-gantt__bg-overlay{display:grid;grid-template-rows:1fr;inset:0;pointer-events:none;position:absolute;z-index:1}.planning-gantt__weekend-col{background:#f3f4f6;grid-row:1;height:100%}.planning-gantt__today-line{background:#f5a623;grid-row:1;height:100%;justify-self:center;width:2px}.planning-gantt__row{align-items:center;border-bottom:1px solid #f3f4f6;display:grid;position:relative;z-index:2}.planning-gantt__row--months{height:34px;top:0}.planning-gantt__row--days,.planning-gantt__row--months{background:#f9fafb;position:-webkit-sticky;position:sticky;z-index:3}.planning-gantt__row--days{border-bottom:1px solid #e5e7eb;height:28px;top:34px}.planning-gantt__row--employee:last-child{border-bottom:none}.planning-gantt__row--employee:hover{background:#f0fbfdb3}.planning-gantt__name-cell{align-items:center;color:#1f2937;display:flex;font-size:13px;font-weight:500;gap:8px;padding:6px 12px}.planning-gantt__name-cell--sticky{background:#fff;left:0;position:-webkit-sticky;position:sticky;z-index:4}.planning-gantt__row--days .planning-gantt__name-cell--sticky,.planning-gantt__row--months .planning-gantt__name-cell--sticky{background:#f9fafb;color:#6b7280;font-size:.75rem;font-weight:600}.planning-gantt__avatar{align-items:center;background:#daf4f9;border-radius:50%;color:#0d7a91;display:flex;flex-shrink:0;font-size:10px;font-weight:600;height:24px;justify-content:center;width:24px}.planning-gantt__name-text{line-height:1.25;overflow-wrap:break-word;white-space:normal}.planning-gantt__month-band{color:#374151;font-size:.875rem;font-weight:600;padding:8px 0;text-align:center}.planning-gantt__month-band.is-even{background:#f3f4f6}.planning-gantt__day-tick{color:#6b7280;font-size:11px;font-weight:500;padding:6px 0;text-align:center}.planning-gantt__bar{align-items:center;border-radius:5px;box-shadow:0 1px 2px #1a1a1a14;cursor:default;display:flex;height:20px;justify-content:center;overflow:hidden}.planning-gantt__bar svg{color:#fff;flex-shrink:0;height:11px;width:11px}.planning-gantt__bar--approuve{background:#3a7d2e}.planning-gantt__bar--en_attente{background:#f5a623}.planning-gantt__bar--refuse{background:#ef4444}.planning-gantt__marker{border-radius:50%;box-shadow:0 0 0 2px #fff;cursor:default;height:9px;justify-self:center;width:9px}.planning-gantt__marker--approuve{background:#3a7d2e}.planning-gantt__marker--en_attente{background:#f5a623}.planning-gantt__marker--refuse{background:#ef4444}.planning-gantt__hint{align-items:center;color:#9ca3af;display:flex;font-size:.75rem;gap:5px;margin-top:.75rem}.planning-gantt__hint svg{height:13px;width:13px}@media(max-width:768px){.planning-gantt__toolbar{align-items:flex-start;flex-direction:column}}.missions-gantt{margin-top:2rem;max-width:100%;min-width:0;width:100%}.missions-gantt__header{margin-bottom:.5rem}.missions-gantt__subtitle{color:#6b7280;font-size:.875rem;margin:-6px 0 1rem}.missions-gantt__toolbar{flex-wrap:wrap;justify-content:space-between;margin-bottom:1rem}.missions-gantt__nav,.missions-gantt__toolbar{align-items:center;display:flex;gap:.75rem}.missions-gantt__nav-btn{align-items:center;background:#fff;border:1.5px solid #e5e7eb;border-radius:.75rem;color:#374151;cursor:pointer;display:inline-flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.75rem;gap:4px;padding:6px 12px;transition:all .15s ease}.missions-gantt__nav-btn svg{height:14px;width:14px}.missions-gantt__nav-btn:hover{background:#f9fafb;border-color:#d1d5db}.missions-gantt__nav-range{color:#1f2937;font-size:.875rem;font-weight:600;white-space:nowrap}.missions-gantt__legend{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.missions-gantt__legend-item{align-items:center;color:#4b5563;display:inline-flex;font-size:.75rem;font-weight:500;gap:5px}.missions-gantt .dot{border-radius:50%;display:inline-block;flex-shrink:0;height:9px;width:9px}.missions-gantt .dot--success{background:#3a7d2e}.missions-gantt .dot--warning{background:#f5a623}.missions-gantt .dot--danger{background:#ef4444}.missions-gantt__empty{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;color:#9ca3af;padding:2.5rem 1.5rem;text-align:center}.missions-gantt__empty svg{height:32px;margin-bottom:.5rem;width:32px}.missions-gantt__empty p{font-size:.875rem}.missions-gantt__scroll{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;max-height:520px;max-width:100%;min-width:0;overflow-x:auto;overflow-y:auto;position:relative;width:100%}.missions-gantt__inner{position:relative}.missions-gantt__bg-overlay{display:grid;grid-template-rows:1fr;inset:0;pointer-events:none;position:absolute;z-index:1}.missions-gantt__weekend-col{background:#f3f4f6;grid-row:1;height:100%}.missions-gantt__today-line{background:#f5a623;grid-row:1;height:100%;justify-self:center;width:2px}.missions-gantt__row{align-items:center;border-bottom:1px solid #f3f4f6;display:grid;min-height:40px;position:relative;z-index:2}.missions-gantt__row--months{height:34px;min-height:34px;top:0}.missions-gantt__row--days,.missions-gantt__row--months{background:#f9fafb;position:-webkit-sticky;position:sticky;z-index:3}.missions-gantt__row--days{border-bottom:1px solid #e5e7eb;height:28px;min-height:28px;top:34px}.missions-gantt__row--employee:last-child{border-bottom:none}.missions-gantt__row--employee:hover{background:#f0fbfdb3}.missions-gantt__name-cell{align-items:center;color:#1f2937;display:flex;font-size:13px;font-weight:500;gap:8px;padding:6px 12px}.missions-gantt__name-cell--sticky{background:#fff;left:0;position:-webkit-sticky;position:sticky;z-index:4}.missions-gantt__row--days .missions-gantt__name-cell--sticky,.missions-gantt__row--months .missions-gantt__name-cell--sticky{background:#f9fafb;color:#6b7280;font-size:.75rem;font-weight:600}.missions-gantt__avatar{align-items:center;background:#daf4f9;border-radius:50%;color:#0d7a91;display:flex;flex-shrink:0;font-size:10px;font-weight:600;height:24px;justify-content:center;width:24px}.missions-gantt__name-text{line-height:1.25;overflow-wrap:break-word;white-space:normal}.missions-gantt__month-band{color:#374151;font-size:.875rem;font-weight:600;padding:8px 0;text-align:center}.missions-gantt__month-band.is-even{background:#f3f4f6}.missions-gantt__day-tick{color:#6b7280;font-size:11px;font-weight:500;padding:6px 0;text-align:center}.missions-gantt__bar{align-items:center;border-radius:5px;box-shadow:0 1px 2px #1a1a1a14;cursor:default;display:flex;height:22px;justify-content:center;overflow:hidden}.missions-gantt__bar svg{color:#fff;flex-shrink:0;height:11px;width:11px}.missions-gantt__bar--approuve{background:#3a7d2e}.missions-gantt__bar--en_attente{background:#f5a623}.missions-gantt__bar--refuse{background:#ef4444}.missions-gantt__hint{align-items:center;color:#9ca3af;display:flex;font-size:.75rem;gap:5px;margin-top:.75rem}.missions-gantt__hint svg{height:13px;width:13px}@media(max-width:768px){.missions-gantt__toolbar{align-items:flex-start;flex-direction:column}}