.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;border-radius:8px;color:#dc2626;cursor:pointer;font-size:.825rem;font-weight:600;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}@media (max-width:768px){.salaires-stats{flex-direction:column}.stat-card{min-width:auto}}.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.612f3adf.css.map*/