.login-page{background:#faf9f5;justify-content:center;min-height:100vh;padding:20px}.login-card,.login-page{align-items:center;display:flex}.login-card{background:#fff;border-radius:16px;box-shadow:0 8px 32px #0000001a;flex-direction:column;gap:16px;max-width:400px;padding:48px 40px;text-align:center;width:100%}.login-icon{align-items:center;background:#f5f4ed;border-radius:18px;display:flex;font-size:2.5rem;height:72px;justify-content:center;width:72px}.login-card h1{color:#1e293b;font-size:1.5rem;font-weight:700;margin:0}.login-subtitle{color:#6b7280;font-size:.875rem;margin:0}.login-error{background:#fef2f2;border-radius:8px;color:#dc2626;font-size:.825rem;font-weight:500;padding:10px 14px;width:100%}.login-card input{border:1px solid #d1d5db;border-radius:10px;font-size:.95rem;outline:none;padding:12px 16px;transition:border-color .2s,box-shadow .2s;width:100%}.login-card input:focus{border-color:#10b981;box-shadow:0 0 0 3px #10b98126}.login-card button{background:#10b981;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;margin-top:4px;padding:12px 20px;transition:background .2s,transform .1s;width:100%}.login-card button:hover{background:#059669}.login-card button:active{transform:scale(.98)}.login-card button:disabled{cursor:not-allowed;opacity:.6}@media (max-width:480px){.login-card{margin:16px;padding:32px 24px}}.pl-container{background:#faf9f5;min-height:100%;padding:0 0 40px}.pl-filters-bar{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px;padding:16px 0}.pl-filter-group{display:flex;flex-direction:column;gap:4px}.pl-filter-group label{color:#6b7280;font-size:.75rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.pl-filter-group input,.pl-filter-group select{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#1e293b;font-size:.875rem;min-width:160px;outline:none;padding:8px 12px;transition:border-color .2s,box-shadow .2s}.pl-filter-group input:focus,.pl-filter-group select:focus{border-color:#10b981;box-shadow:0 0 0 3px #10b9811f}.pl-config-btn{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#6b7280;cursor:pointer;display:inline-flex;font-size:.825rem;font-weight:500;justify-content:center;margin-left:auto;padding:8px 16px;transition:background .2s,color .2s}.pl-config-btn:hover{background:#f5f4ed;color:#1e293b}.pl-tabs{border-bottom:1px solid #e5e7eb;display:flex;gap:4px;margin-bottom:20px}.pl-tab{background:#0000;border:none;border-bottom:2px solid #0000;color:#6b7280;cursor:pointer;font-size:.875rem;font-weight:500;margin-bottom:-1px;padding:10px 20px;transition:color .2s,border-color .2s}.pl-tab:hover{color:#1e293b}.pl-tab.active{border-bottom-color:#10b981;color:#1e293b;font-weight:600}.pl-table-container{background:#fff;border:1px solid #00000014;border-radius:12px;box-shadow:0 1px 3px #0000000d;overflow:hidden}.pl-table-scroll{overflow-x:auto}.pl-fournisseur-table,.pl-reporting-table,.pl-salaries-table{border-collapse:initial;border-spacing:0;font-size:.825rem;width:100%}.pl-fournisseur-table thead,.pl-reporting-table thead,.pl-salaries-table thead{background:#f5f4ed}.pl-fournisseur-table th,.pl-reporting-table th,.pl-salaries-table th{background:#f5f4ed;border-bottom:1px solid #0000000f;color:#6b7280;font-size:.75rem;font-weight:600;letter-spacing:.03em;padding:10px 14px;position:sticky;text-transform:uppercase;top:0;white-space:nowrap;z-index:2}.pl-fournisseur-table td,.pl-reporting-table td,.pl-salaries-table td{border-bottom:1px solid #0000000a;padding:8px 14px;vertical-align:middle;white-space:nowrap}.pl-fournisseur-table tbody tr:hover,.pl-reporting-table tbody tr:hover,.pl-salaries-table tbody tr:hover,.row-total{background:#f5f4ed}.row-total{font-weight:700}.row-total td{border-bottom:1px solid #00000014;padding-bottom:10px;padding-top:10px}.row-sous-total{background:#fafaf5;font-weight:600}.row-sous-total td{border-bottom:1px solid #0000000f}.row-pourcentage{color:#9ca3af;font-size:.775rem;font-style:italic}.cell-reel{color:#1e293b;font-weight:500}.cell-provision{color:#9ca3af;font-size:.75rem;font-style:italic}.cell-budget{color:#64748b;font-size:.75rem}.pl-editable{border-bottom:1px dashed #d1d5db;cursor:pointer}.pl-editable:hover{border-bottom-color:#10b981}.pl-inline-edit{border:1px solid #d1d5db;border-radius:6px;font-size:.8rem;outline:none;padding:4px 8px;text-align:right;width:90px}.pl-inline-edit:focus{border-color:#10b981;box-shadow:0 0 0 2px #10b98126}.pl-provision-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:.75rem;font-weight:500;gap:6px;padding:3px 10px}.pl-provision-ok{background:#ecfdf5;color:#059669}.pl-provision-alerte{background:#fffbeb;color:#d97706}.pl-tree-label{color:#1e293b;font-weight:500}.pl-tree-toggle{color:#9ca3af;cursor:pointer;margin-right:4px}.pl-tree-type{color:#9ca3af;font-size:.7rem;margin-left:8px}.pl-tree-item{align-items:center;display:flex;font-size:.85rem;gap:8px;padding:4px 0}.pl-config-overlay{background:#0000004d;inset:0;position:fixed;z-index:900}.pl-config-panel{animation:pl-panel-slide .3s ease;background:#fff;bottom:0;box-shadow:-4px 0 24px #0000001f;display:flex;flex-direction:column;max-width:100%;position:fixed;right:0;top:0;width:480px;z-index:910}@keyframes pl-panel-slide{0%{transform:translateX(100%)}to{transform:translateX(0)}}.pl-config-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px 24px}.pl-config-header h2{font-size:1.05rem;font-weight:700;margin:0}.pl-config-close{background:none;border:none;border-radius:6px;color:#9ca3af;cursor:pointer;font-size:1.3rem;padding:4px}.pl-config-close:hover{background:#f3f4f6;color:#1e293b}.pl-config-tabs{border-bottom:1px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:2px;padding:12px 24px 0}.pl-config-tab{background:#0000;border:none;border-bottom:2px solid #0000;color:#6b7280;cursor:pointer;font-size:.8rem;font-weight:500;margin-bottom:-1px;padding:8px 14px}.pl-config-tab:hover{color:#1e293b}.pl-config-tab.active{border-bottom-color:#10b981;color:#1e293b;font-weight:600}.pl-config-content{flex:1 1;overflow-y:auto;padding:16px 24px}.pl-config-add-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.pl-config-add-row input,.pl-config-add-row select{border:1px solid #d1d5db;border-radius:8px;flex:1 1;font-size:.85rem;min-width:100px;padding:8px 12px}.pl-config-add-row button{background:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:8px 16px;white-space:nowrap}.pl-config-add-row button:hover{background:#059669}.pl-config-list{list-style:none;margin:0;padding:0}.pl-config-list li{align-items:center;border-radius:8px;display:flex;justify-content:space-between;padding:10px 12px}.pl-config-list li:hover{background:#f5f4ed}.pl-config-list li span{color:#1e293b;font-size:.875rem}.pl-config-delete{background:none;border:none;border-radius:4px;color:#dc2626;cursor:pointer;font-size:.85rem;padding:4px 8px}.pl-config-delete:hover{background:#fef2f2}.pl-loading{align-items:center;color:#9ca3af;display:flex;font-size:.9rem;gap:10px;justify-content:center;padding:60px 20px}.pl-loading:before{animation:pl-spin .7s linear infinite;border:2px solid #e5e7eb;border-radius:50%;border-top-color:#10b981;content:"";display:inline-block;height:20px;width:20px}@keyframes pl-spin{to{transform:rotate(1turn)}}.pl-empty-state{color:#9ca3af;font-size:.9rem;padding:60px 20px;text-align:center}.pl-toast{border-radius:10px;bottom:24px;box-shadow:0 4px 16px #00000026;color:#fff;font-size:.85rem;font-weight:500;padding:12px 20px;position:fixed;right:24px;z-index:1100}.pl-toast.success{background:#059669}.pl-toast.error{background:#dc2626}@media (max-width:768px){.pl-filters-bar{align-items:stretch;flex-direction:column;gap:10px}.pl-filter-group select{min-width:100%}.pl-config-panel{width:100%}.pl-tabs{overflow-x:auto}.pl-tab{flex-shrink:0;white-space:nowrap}}.salaires-container{background:#faf9f5;min-height:100%}.salaires-stats{display:flex;gap:16px;margin-bottom:20px}.stat-card{background:#fff;border:1px solid #00000014;border-radius:12px;box-shadow:0 1px 3px #0000000d;min-width:180px;padding:20px 24px}.stat-value{color:#1e293b;font-size:1.5rem;font-weight:700}.stat-label{color:#6b7280;font-size:.75rem;font-weight:600;letter-spacing:.03em;margin-top:4px;text-transform:uppercase}.salaires-add-btn,.salaires-export-btn{border:none;border-radius:8px;cursor:pointer;font-size:.825rem;font-weight:600;padding:8px 16px;transition:background .2s}.salaires-export-btn{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}.salaires-export-btn:hover{background:#e5e7eb}.salaires-add-btn{background:#10b981;color:#fff}.salaires-add-btn:hover{background:#059669}.salaires-purge-btn{background:#fff;border:1px solid #fca5a5;color:#dc2626;font-size:.825rem;padding:8px 16px;transition:background .2s}.salaires-purge-btn:hover{background:#fef2f2}.salaires-add-form{background:#fff;border:1px solid #00000014;border-radius:12px;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;padding:16px}.salaires-add-form input,.salaires-add-form select{border:1px solid #d1d5db;border-radius:8px;flex:1 1;font-size:.85rem;min-width:120px;padding:8px 12px}.salaires-add-form button{background:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:8px 16px}.salaires-add-form button.btn-cancel{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}.salaires-import-btn{align-items:center;background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:.825rem;font-weight:600;padding:8px 16px}.salaires-import-btn:hover{background:#2563eb}.import-result{background:#fff;border:1px solid #00000014;border-radius:12px;margin-bottom:16px;padding:14px 20px}.import-result-summary{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.import-badge{border-radius:20px;font-size:.75rem;font-weight:600;padding:4px 12px}.import-badge.created{background:#ecfdf5;color:#059669}.import-badge.updated{background:#eff6ff;color:#2563eb}.import-badge.details{background:#f5f3ff;color:#7c3aed}.import-close{background:none;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;font-size:1rem;margin-left:auto;padding:2px 6px}.import-close:hover{background:#f3f4f6;color:#1e293b}.import-errors{border-top:1px solid #e5e7eb;margin-top:10px;padding-top:10px}.import-error-line{color:#dc2626;font-size:.8rem;padding:2px 0}.row-autres{background:#fafaf8}.row-autres td{border-bottom:none!important;color:#6b7280;font-size:.775rem}.type-autres{color:#9ca3af!important;font-style:italic}.row-total-verse{background:#f5f4ed}.row-total-verse td{border-bottom:2px solid #00000014!important;font-weight:600;padding-bottom:6px!important;padding-top:6px!important}.estimation-cell{color:#9ca3af!important;font-style:italic}.coeff-modal-overlay{align-items:center;background:#0000004d;display:flex;inset:0;justify-content:center;position:fixed;z-index:900}.coeff-modal{background:#fff;border-radius:14px;box-shadow:0 12px 40px #00000026;max-width:400px;padding:28px 32px;width:90%}.coeff-modal h3{font-size:1.05rem;font-weight:700;margin:0}.coeff-modal input{border:1px solid #d1d5db;border-radius:8px;font-size:1rem;padding:10px 14px;width:100%}.coeff-modal input:focus{border-color:#10b981;box-shadow:0 0 0 3px #10b98126;outline:none}.coeff-modal button{background:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:10px 20px}.coeff-modal button:hover{background:#059669}.coeff-modal .btn-cancel{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}.salarie-name-cell{min-width:180px;padding-top:10px!important;vertical-align:top!important}.salarie-name{color:#1e293b;font-size:.85rem;font-weight:600}.salarie-meta{align-items:center;color:#9ca3af;display:flex;font-size:.7rem;gap:6px;margin-top:4px}.categorie-badge{border-radius:20px;display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.03em;padding:3px 10px;text-transform:uppercase}.categorie-badge.productif{background:#ecfdf5;color:#059669}.categorie-badge.improductif{background:#fef2f2;color:#dc2626}.categorie-select{background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:.75rem;padding:4px 8px}.categorie-select:focus{border-color:#10b981;box-shadow:0 0 0 2px #10b98126;outline:none}.add-charge-btn{background:none;border:1px dashed #d1d5db;border-radius:6px;color:#6b7280;cursor:pointer;font-size:.75rem;font-weight:500;padding:4px 12px;transition:background .15s,border-color .15s,color .15s}.add-charge-btn:hover{background:#ecfdf5;border-color:#10b981;color:#059669}.add-charge-row td{background:#fafaf8;padding:6px 14px!important}.add-charge-inline{align-items:center;display:flex;gap:8px}.add-charge-inline select{border:1px solid #d1d5db;border-radius:6px;font-size:.8rem;min-width:200px;padding:6px 10px}.add-charge-inline select:focus{border-color:#10b981;box-shadow:0 0 0 2px #10b98126;outline:none}.add-charge-confirm{background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:600;padding:5px 14px}.add-charge-confirm:hover{background:#059669}.add-charge-cancel{background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:.8rem;padding:5px 14px}.add-charge-cancel:hover{background:#e5e7eb}.salaires-tabs{border-bottom:2px solid #e2e8f0;display:flex;gap:0;margin-bottom:16px}.salaires-tabs button{background:none;border:none;border-bottom:2px solid #0000;color:#64748b;cursor:pointer;font-size:.9rem;font-weight:600;margin-bottom:-2px;padding:10px 22px;transition:color .15s,border-color .15s}.salaires-tabs button:hover{color:#1e293b}.salaires-tabs button.active{border-bottom-color:#3b82f6;color:#3b82f6}.recap-table td{text-align:right}.recap-table td:first-child{text-align:left}.recap-toggle{color:#9ca3af;font-size:.6rem;margin-right:6px}.recap-activite-row{cursor:pointer}.recap-activite-row td{color:#1e293b;font-weight:700}.recap-activite-row:hover td{background:#f5f4ed}.recap-poste-row{cursor:pointer}.recap-poste-row td{color:#374151;font-size:.82rem;font-weight:600}.recap-poste-row td:first-child{padding-left:28px!important}.recap-poste-row:hover td{background:#f9fafb}.recap-salarie-row td{color:#6b7280;font-size:.78rem;font-weight:400}.recap-salarie-row td:first-child{padding-left:52px!important}.recap-total-row td{border-top:2px solid #1e293b;color:#1e293b;font-weight:800!important}.section-header td{font-size:.8rem;font-weight:700!important}.section-clickable{cursor:pointer}.section-clickable:hover td{filter:brightness(.97)}.section-label{color:#374151;font-size:.72rem!important;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}.section-toggle{color:#9ca3af;font-size:.6rem;margin-right:6px}.section-subtotal{color:#1e293b;font-weight:700!important}.ecart-indicator{align-items:center;display:inline-flex;gap:4px}.ecart-dot{background:#dc2626;border-radius:50%;cursor:help;display:inline-block;height:8px;width:8px}.purge-mois-group{align-items:center;display:inline-flex;gap:4px}.purge-mois-select{background:#fff;border:1px solid #d1d5db;border-radius:8px;font-size:.8rem;padding:7px 10px}.salaires-purge-btn{background:#dc2626;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:600;padding:7px 14px;white-space:nowrap}.salaires-purge-btn:hover{background:#b91c1c}.salaires-ecart-btn{background:#fff;border:1px solid #dc2626;border-radius:8px;color:#dc2626;cursor:pointer;font-size:.825rem;font-weight:600;padding:8px 16px;white-space:nowrap}.salaires-ecart-btn:hover{background:#fef2f2}.salaires-ecart-btn.active{background:#dc2626;color:#fff}.salaires-ecart-btn.sans-activite{border-color:#d97706;color:#d97706}.salaires-ecart-btn.sans-activite:hover{background:#fffbeb}.salaires-ecart-btn.sans-activite.active{background:#d97706;color:#fff}.section-detail-row td{font-size:.78rem}.section-detail-label{color:#6b7280;font-weight:400;padding-left:28px!important;white-space:nowrap}.exclude-checkbox{accent-color:#9ca3af;cursor:pointer;margin-right:6px;vertical-align:middle}.row-excluded td{opacity:.45;text-decoration:line-through}.salarie-name-edit{align-items:center;display:flex;gap:4px}.salarie-name-edit input{border:1px solid #d1d5db;border-radius:5px;font-size:.8rem;padding:4px 6px;width:90px}.salarie-name-edit input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626;outline:none}.salarie-numero{color:#9ca3af;font-family:monospace;font-size:.72rem}.salaires-import-pdf-btn{align-items:center;background:#7c3aed;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:.825rem;font-weight:600;gap:6px;padding:8px 16px;white-space:nowrap}.salaires-import-pdf-btn:hover{background:#6d28d9}.pdf-confirm-mois-modal{background:#fff;border-radius:16px;box-shadow:0 25px 50px -12px #00000040;max-width:420px;padding:32px 40px;text-align:center}.pdf-confirm-mois-modal h3{color:#1e293b;font-size:1.15rem;margin:0 0 4px}.pdf-confirm-count{color:#6b7280;font-size:.85rem;margin:0 0 20px}.pdf-confirm-mois-fields{display:flex;gap:16px;justify-content:center;margin-bottom:16px}.pdf-confirm-mois-display{color:#7c3aed;font-size:1.6rem;font-weight:800;letter-spacing:.02em;margin:8px 0 24px;text-transform:uppercase}.pdf-confirm-mois-actions{display:flex;gap:10px;justify-content:center}.pdf-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.pdf-modal{background:#fff;border-radius:16px;box-shadow:0 25px 50px -12px #00000040;display:flex;flex-direction:column;max-height:85vh;max-width:1100px;width:95vw}.pdf-modal-header{border-bottom:1px solid #e5e7eb;padding:20px 24px 16px}.pdf-modal-header h3{color:#1e293b;font-size:1.1rem;margin:0 0 12px}.pdf-modal-filters{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px}.pdf-badge-count{background:#f5f3ff;border-radius:20px;color:#7c3aed;font-size:.8rem;font-weight:600;padding:6px 12px}.pdf-modal-body{flex:1 1;overflow-y:auto;padding:0 24px}.pdf-preview-table{border-collapse:collapse;font-size:.825rem;width:100%}.pdf-preview-table thead th{background:#f5f4ed;color:#374151;font-weight:600;padding:10px 12px;position:sticky;text-align:left;top:0;z-index:1}.pdf-preview-table tbody td{border-bottom:1px solid #f0f0f0;padding:10px 12px}.pdf-preview-table tbody tr{cursor:pointer}.pdf-preview-table tbody tr:hover{background:#fafaf8}.pdf-row-known{background:#f0fdf4}.pdf-row-known:hover{background:#dcfce7!important}.pdf-row-unknown{background:#fffbeb}.pdf-row-unknown:hover{background:#fef3c7!important}.pdf-known-name{color:#059669;font-weight:600}.pdf-unknown-inputs{display:flex;gap:6px}.pdf-unknown-inputs input{background:#fff;border:1px solid #f59e0b;border-radius:6px;font-size:.8rem;padding:5px 8px;width:120px}.pdf-unknown-inputs input:focus{border-color:#d97706;box-shadow:0 0 0 2px #f59e0b33;outline:none}.pdf-cell-numero{color:#6b7280;font-family:monospace;font-size:.8rem}.pdf-cell-montant{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.pdf-cell-total{color:#1e293b;font-weight:700}.pdf-cell-expand{color:#9ca3af;font-size:.75rem;text-align:center;white-space:nowrap}.pdf-detail-row{background:#fafaf8;cursor:default!important}.pdf-detail-row:hover{background:#f5f4ed!important}.pdf-detail-row td{font-size:.78rem;padding:6px 12px!important}.pdf-detail-code{color:#9ca3af;font-family:monospace;font-size:.75rem}.pdf-detail-libelle{color:#4b5563}.pdf-detail-section{color:#9ca3af;font-size:.7rem;text-transform:uppercase}.pdf-montant-neg{color:#dc2626}.pdf-modal-footer{border-top:1px solid #e5e7eb;display:flex;gap:10px;justify-content:flex-end;padding:16px 24px}.pdf-confirm-btn{background:#7c3aed;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:10px 24px}.pdf-confirm-btn:hover{background:#6d28d9}.pdf-confirm-btn:disabled{background:#d1d5db;cursor:not-allowed}@media (max-width:768px){.salaires-stats{flex-direction:column}.stat-card{min-width:auto}.pdf-modal{max-height:90vh;width:98vw}.pdf-unknown-inputs{flex-direction:column}.pdf-unknown-inputs input{width:100%}}.projets-container{background:#faf9f5;min-height:100%}.projets-back{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#6b7280;cursor:pointer;font-size:.825rem;font-weight:500;margin-bottom:16px;padding:8px 16px}.projets-back:hover{background:#f5f4ed;color:#1e293b}.projet-badge{border-radius:20px;display:inline-block;font-size:.75rem;font-weight:600;padding:3px 10px}.projet-detail-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:20px}.projet-detail-header h2{color:#1e293b;font-size:1.3rem;font-weight:700;margin:0 0 8px}.projet-meta{align-items:center;color:#6b7280;flex-wrap:wrap;font-size:.825rem}.projet-detail-actions,.projet-meta{display:flex;gap:8px}.projet-detail-actions button{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;font-size:.825rem;font-weight:600;padding:8px 16px}.projet-detail-actions button:hover{background:#f5f4ed}.projet-detail-actions .btn-danger{border-color:#fca5a5;color:#dc2626}.projet-detail-actions .btn-danger:hover{background:#fef2f2}.projet-description{color:#4b5563;font-size:.9rem;line-height:1.5;margin-bottom:24px}.projet-budget-section{background:#fff;border:1px solid #00000014;border-radius:12px;margin-bottom:24px;padding:16px 20px}.projet-budget-header{color:#1e293b;display:flex;font-size:.825rem;font-weight:600;justify-content:space-between;margin-bottom:8px}.projet-budget-bar{background:#e5e7eb;border-radius:4px;height:8px;overflow:hidden}.projet-budget-fill{border-radius:4px;height:100%;transition:width .3s ease}.mini-bar{background:#e5e7eb;border-radius:3px;display:inline-block;height:6px;overflow:hidden;width:60px}.mini-bar-fill{border-radius:3px;height:100%;transition:width .3s ease}.projet-section{margin-bottom:24px}.projet-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.projet-section-header h3{color:#1e293b;font-size:1rem;font-weight:700;margin:0}.projet-section-header button{background:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:600;padding:6px 14px}.projet-section-header button:hover{background:#059669}.projet-inline-form{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.projet-inline-form input,.projet-inline-form select{border:1px solid #d1d5db;border-radius:8px;flex:1 1;font-size:.85rem;min-width:120px;padding:8px 12px}.projet-inline-form button{background:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:8px 14px}.projet-inline-form .btn-cancel{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}.jalons-list{display:flex;flex-direction:column;gap:4px}.jalon-item{align-items:center;background:#fff;border:1px solid #0000000f;border-radius:8px;display:flex;gap:10px;padding:10px 14px}.jalon-item.done .jalon-titre{color:#9ca3af;text-decoration:line-through}.jalon-check{align-items:center;background:#0000;border:2px solid #d1d5db;border-radius:50%;color:#10b981;cursor:pointer;display:flex;flex-shrink:0;font-size:.8rem;height:24px;justify-content:center;width:24px}.jalon-item.done .jalon-check{background:#10b981;border-color:#10b981;color:#fff}.jalon-titre{color:#1e293b;flex:1 1;font-size:.875rem}.jalon-date{color:#9ca3af;font-size:.75rem}.empty-text{color:#9ca3af;font-size:.85rem;padding:16px 0}.projet-form-card{background:#fff;border:1px solid #00000014;border-radius:12px;margin-bottom:20px;padding:24px}.projet-form-card h3{font-size:1rem;font-weight:700;margin:0 0 16px}.projet-form-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-bottom:16px}.projet-form-grid input,.projet-form-grid select,.projet-form-grid textarea{border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;padding:10px 14px;width:100%}.projet-form-grid textarea{grid-column:1/-1;resize:vertical}.projet-form-grid input:focus,.projet-form-grid select:focus,.projet-form-grid textarea:focus{border-color:#10b981;box-shadow:0 0 0 3px #10b9811f;outline:none}.projet-form-actions{display:flex;gap:8px}.projet-form-actions button{background:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:10px 20px}.projet-form-actions button:hover{background:#059669}.projet-form-actions .btn-cancel{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}@media (max-width:768px){.projet-form-grid{grid-template-columns:1fr}.projet-detail-header{flex-direction:column;gap:12px}.projet-detail-actions{width:100%}}.app-layout{display:flex;min-height:100vh}.sidebar{background:#fff;border-right:1px solid #e5e7eb;bottom:0;display:flex;flex-direction:column;left:0;position:fixed;top:0;width:220px;z-index:100}.sidebar-logo{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;gap:10px;padding:20px 20px 16px}.sidebar-logo-icon{align-items:center;background:#eae5dc;border-radius:10px;display:flex;font-size:1.4rem;height:36px;justify-content:center;width:36px}.sidebar-logo-text{color:#1e293b;font-size:1.1rem;font-weight:700}.sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:2px;padding:12px 10px}.sidebar-item{align-items:center;background:#0000;border:none;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:10px;padding:10px 12px;text-align:left;transition:background .15s,color .15s;width:100%}.sidebar-item.active,.sidebar-item:hover{background:#f5f4ed;color:#1e293b}.sidebar-item.active{font-weight:600}.sidebar-item-icon{align-items:center;display:flex;font-size:1.1rem;justify-content:center;width:28px}.sidebar-footer{border-top:1px solid #e5e7eb;gap:8px;padding:16px 14px}.sidebar-footer,.sidebar-user{display:flex;flex-direction:column}.sidebar-user{gap:2px}.sidebar-user-name{color:#1e293b;font-size:.825rem;font-weight:600}.sidebar-user-role{color:#9ca3af;font-size:.7rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase}.sidebar-logout{background:#0000;border:1px solid #d1d5db;border-radius:8px;color:#6b7280;cursor:pointer;font-size:.8rem;font-weight:500;padding:8px 12px;transition:background .2s,color .2s}.sidebar-logout:hover{background:#fef2f2;border-color:#fca5a5;color:#dc2626}.main-content{background:#faf9f5;flex:1 1;margin-left:220px;min-height:100vh}.page-header{background:#faf9f5;padding:24px 32px 0}.page-header-title{align-items:center;display:flex;gap:12px}.header-page-icon{align-items:center;background:#eae5dc;border-radius:10px;display:flex;font-size:1.1rem;height:36px;justify-content:center;width:36px}.page-header-title h1{color:#1e293b;font-size:1.25rem;font-weight:700;margin:0}.page-body{padding:20px 32px 40px}.table-container{background:#fff;border:1px solid #00000014;border-radius:12px;box-shadow:0 1px 3px #0000000d;overflow:hidden}@media (max-width:768px){.sidebar{display:none}.main-content{margin-left:0}.page-header{padding:16px 16px 0}.page-body{padding:16px 16px 32px}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;background:#faf9f5;color:#1e293b;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}a{color:inherit;text-decoration:none}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}
/*# sourceMappingURL=main.deb5a2fa.css.map*/