.app-header{background-color:#2c3e50;box-shadow:0 2px 5px #0000004d;color:#fff;justify-content:space-between;padding:10px 15px;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.app-header,.title-section{align-items:center;display:flex}.title-section{flex-shrink:0}.logo{color:#f1c40f;font-size:1.6em;margin-right:8px}.app-name-link{color:#fff;font-size:1.2em;font-weight:700;text-decoration:none;white-space:nowrap}.menu-toggle{background:none;border:none;color:#fff;cursor:pointer;display:block;font-size:1.8em;padding:5px;z-index:1010}.nav{background-color:#34495e;box-shadow:0 4px 6px #0000001a;display:none;flex-direction:column;left:0;padding:10px 0;position:absolute;right:0;top:100%}.nav.is-open{display:flex}.nav .nav-link{background-color:initial;border-bottom:1px solid #ffffff1a;border-radius:0;color:#ecf0f1;padding:12px 20px}.nav .nav-link:hover{background-color:#2c3e50}.user-info-section{align-items:center;display:none;flex-shrink:0;justify-content:flex-end}.user-name-text{color:#bdc3c7;font-size:.9em;font-weight:700;margin-right:15px;white-space:nowrap}.logout-button{background-color:#e74c3c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:600;padding:8px 15px}.logout-mobile-container{border-top:1px solid #ffffff1a;display:flex;flex-direction:column;gap:10px;padding:15px 20px 5px}.logout-mobile-container .user-name-text{font-size:1em;margin-right:0}.logout-mobile-container .logout-button{width:100%}@media (min-width:768px){.menu-toggle{display:none}.nav{box-shadow:none;display:flex!important;flex-direction:row;flex-grow:1;gap:15px;justify-content:center;max-width:60%;padding:0;position:static}.nav .nav-link{background-color:#34495e;border-bottom:none;border-radius:20px;color:#ecf0f1;font-size:.85em;padding:8px 12px;text-decoration:none}.user-info-section{display:flex;width:20%}.logout-mobile-container{display:none}}.center-container{align-items:flex-start;background-color:#f4f4f4;display:flex;justify-content:center;min-height:calc(100vh - 80px);padding:20px 10px}.auth-card{background-color:#fff;border-radius:10px;box-shadow:0 4px 15px #0000001a;margin-top:30px;max-width:380px;padding:30px 20px;text-align:center;width:100%}@media (min-width:768px){.center-container{align-items:center;padding:20px}.auth-card{margin-top:0;max-width:450px;padding:40px}}.heading{color:#333;font-size:1.8em;margin-bottom:5px}.subtitle{color:#777;font-size:.9em;margin-bottom:25px}.auth-form{display:flex;flex-direction:column;gap:15px}.input{border:1px solid #ccc;border-radius:5px;padding:12px}.button{background-color:#007bff;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1em;font-weight:700;padding:12px;transition:background-color .2s;width:100%}.button:hover:not(:disabled){background-color:#0056b3}.button-loading,.button:disabled{background-color:#6c757d;cursor:not-allowed}.error-text{background-color:#ffe6e6;color:#dc3545}.error-text,.success-text{border-radius:5px;font-weight:700;margin-top:20px;padding:10px}.success-text{background-color:#e6ffe6;color:#28a745}.back-link-container{margin-top:20px}.auth-link,.reset-link{color:#007bff;font-size:.9em;text-decoration:none;transition:color .2s}.auth-link:hover,.reset-link:hover{color:#0056b3}.dashboard-container{background-color:#fff;margin:20px auto;max-width:1000px;padding:20px}.error-message,.loading-message{padding:20px;text-align:center}.stat-box{border-radius:8px;box-shadow:0 2px 5px #0000001a}.stat-title{font-size:1em;margin:0 0 10px}.stat-value{font-size:1.4em;font-weight:700;margin:0}.stat-green{color:green}.stat-red{color:red}.stat-blue{color:blue}.stat-orange{color:orange}@media (min-width:768px){.stat-grid{flex-direction:row;justify-content:space-between}.stat-box{flex:1 1 30%;padding:20px}.stat-title{font-size:1.1em}.stat-value{font-size:1.5em}}.info-note{background-color:#fafafa;border:1px solid #ddd;border-radius:4px;color:gray;margin-top:20px;padding:15px;text-align:center}.info-note p{font-size:.9em;margin:0}.admin-container{margin:30px auto;max-width:900px;padding:20px}h2{border-bottom:2px solid #ddd;color:#333;margin-bottom:20px;padding-bottom:10px}h3{color:#555;margin-top:0}.error-message-admin{background-color:#fdd;color:#e74c3c}.error-message-admin,.success-message-admin{border-radius:4px;font-weight:700;margin-bottom:15px;padding:10px}.success-message-admin{background-color:#e6ffe6;color:#2ecc71}.loading-message-admin{color:#3498db;padding:20px;text-align:center}.admin-form-box{background-color:#f9f9f9;border:1px solid #ccc;border-radius:8px;margin-bottom:25px;padding:15px}.global-admin-box{background-color:#e6f0ff;border-color:#1e90ff}.admin-form{display:flex;flex-direction:column;gap:10px}.form-input{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:1em;padding:10px;width:100%}.admin-password-input{border-color:#e74c3c}.form-button{border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1em;margin-top:10px;padding:12px;transition:background-color .2s}.global-admin-button{background-color:#1e90ff}.global-admin-button:hover{background-color:#1669c5}.standard-user-button{background-color:#2ecc71}.standard-user-button:disabled{background-color:#7f8c8d;cursor:not-allowed}.form-note,.user-limit-note{color:gray;font-size:.9em;margin-bottom:10px}.user-limit-note{color:#555;font-weight:700}.table-responsive{overflow-x:auto}.user-table{border-collapse:collapse;margin-top:15px;min-width:600px;width:100%}.user-table td,.user-table th{border:1px solid #ddd;font-size:.9em;padding:10px 8px;text-align:left}.user-table th{background-color:#f2f2f2;color:#333;font-weight:700;white-space:nowrap}.admin-role{color:#1e90ff;font-weight:700}.standard-role{color:#555}.current-user-tag{color:blue}.admin-tag,.current-user-tag{font-size:.9em;font-weight:700}.admin-tag{color:#000}.delete-button{background:#e74c3c;border:none;border-radius:4px;cursor:pointer;font-size:.9em;padding:6px 10px;transition:background-color .2s}.delete-button:hover{background:#c0392b}@media (max-width:600px){.user-table{display:block;min-width:100%}.user-table thead{display:none}.user-table,.user-table tbody,.user-table td,.user-table tr{display:block;width:100%}.user-table tr{border:1px solid #ccc;border-radius:4px;box-shadow:0 1px 3px #0000001a;margin-bottom:15px;padding:5px 0}.user-table td{border:none;padding-left:50%;position:relative;text-align:right}.user-table td:before{color:#777;content:attr(data-label);font-weight:700;left:10px;padding-right:10px;position:absolute;text-align:left;white-space:nowrap;width:45%}.hide-on-mobile{display:none}}.modal-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.modal-content{background-color:#fff;border-radius:8px;box-shadow:0 8px 20px #0006;max-width:400px;padding:30px 20px;text-align:center;width:90%}.modal-content h3{color:#e74c3c}.delete-warning{border:1px dashed darkred;border-radius:4px;color:darkred;font-size:.9em;font-weight:700;padding:8px}.modal-form{margin-top:20px}.modal-input{border:1px solid #ccc;border-radius:4px;box-sizing:border-box;margin-bottom:15px;padding:10px;width:100%}.modal-error-text{color:#e74c3c;font-size:.9em;font-weight:700;margin-bottom:10px;margin-top:-5px}.modal-actions{justify-content:space-between}.modal-button{border:none;border-radius:4px;cursor:pointer;flex-grow:1;font-weight:700;padding:10px 15px}.modal-cancel{background:#ccc;color:#000}.modal-cancel:hover{background:#bbb}.modal-confirm{background:darkred;color:#fff}.modal-confirm:hover{background:#8b0000}.transaction-form-container{background-color:#fff;border:1px solid #ccc;border-radius:8px;box-shadow:0 4px 8px #0000001a;margin:30px auto;max-width:600px;padding:20px}.transaction-form{display:flex;flex-direction:column;gap:18px}label{font-size:.95em}.input,.input-select{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:1em;padding:10px;width:100%}.input-select{-webkit-appearance:none;appearance:none;background-color:#f9f9f9}.submit-button:hover:not(:disabled){background-color:#2980b9}.submit-button:disabled,.submit-loading{background-color:#7f8c8d;cursor:not-allowed}.expense-form-container{background-color:#fff;border:1px solid #ccc;border-radius:8px;box-shadow:0 4px 8px #0000001a;margin:30px auto;max-width:600px;padding:20px}.loading-message{color:#3498db;padding:20px;text-align:center}.expense-form{display:flex;flex-direction:column;gap:15px}.input{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:1em;margin-top:5px;padding:10px;width:100%}label{color:#333;font-weight:500;margin-bottom:5px}.submit-button{background-color:#2ecc71;margin-top:10px}.error-message{background-color:#fdd;border:1px solid #e74c3c;border-radius:4px;color:#e74c3c;font-weight:700;margin-top:15px;padding:10px;text-align:center}.bilan-container{background-color:#fff;margin:20px auto;max-width:900px;padding:15px}.separator{border-top:1px solid #ddd;margin:20px 0}.error-message,.info-message,.loading-message{padding:20px;text-align:center}.error-message{color:red}.filter-panel{background-color:#f9f9f9;border:1px solid #ddd;border-radius:6px;margin-bottom:20px;padding:15px}.filter-panel h3{font-size:1.1em;margin-bottom:10px;margin-top:0}.date-filter-group,.filter-group{display:flex;flex-direction:column;gap:10px}.input-date,.input-select{border:1px solid #ccc;border-radius:4px;padding:8px;width:100%}@media (min-width:600px){.date-filter-group{flex-direction:row;gap:15px}.filter-item{flex:1 1}}.stat-grid{display:flex;flex-direction:column;gap:15px;margin-bottom:30px}.stat-box{border-radius:5px;box-shadow:0 2px 4px #0000000d;padding:15px;text-align:center;width:100%}.stat-box strong{display:block;font-size:1.2em;margin-top:5px}.stat-green{background-color:#e6ffe6;border:1px solid green}.stat-red{background-color:#ffe6e6;border:1px solid red}.stat-blue{background-color:#e6f0ff;border:1px solid blue}.stat-orange{background-color:#fff0e6;border:1px solid orange}@media (min-width:768px){.stat-grid{flex-direction:row;justify-content:space-between}.stat-box{flex:1 1 30%;font-size:.9em}}.data-table{border-collapse:collapse;box-shadow:0 1px 3px #0000001a;font-size:.9em;margin-bottom:20px;width:100%}.data-table td,.data-table th{border:1px solid #ddd;padding:8px;text-align:left}.data-table th{background-color:#f2f2f2;font-weight:700}.amount-col{text-align:right!important;white-space:nowrap}.expense-amount{color:red;font-weight:700}@media (max-width:500px){.data-table td:nth-child(2),.data-table th:nth-child(2){display:none}}.appointment-form-container{background-color:#fff;border:1px solid #ccc;border-radius:8px;box-shadow:0 4px 6px #0000001a;margin:20px auto;max-width:600px;padding:15px}.appointment-form{display:flex;flex-direction:column;gap:15px}.section-title{border-bottom:1px solid #eee;color:#2c3e50;font-size:1.2em;margin-bottom:10px;padding-bottom:5px}.submit-button{background-color:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1.1em;margin-top:20px;padding:12px;transition:background-color .2s}.submit-button:disabled{background-color:#7f8c8d;cursor:not-allowed}.loading{padding:20px;text-align:center}.message{font-weight:700;margin-top:15px;padding:15px}.message-success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.message-error{background-color:#f8d7da;border:1px solid #f5c6cb}.calendar-container{background-color:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;margin:20px auto;max-width:800px;padding:15px}.error,.loading,.no-data{padding:20px;text-align:center}.loading{color:#3498db}.error{background-color:#fdd;border:1px solid red;color:red}.no-data{color:#777}.filter-group{background-color:#f0f4f7;border:1px solid #eee;border-radius:6px;gap:10px;margin-bottom:20px;padding:15px}.filter-group,.filter-item{display:flex;flex-direction:column}.filter-item{flex:1 1}.input,.select{border:1px solid #ccc;padding:8px}@media (min-width:600px){.filter-group{flex-direction:row;gap:15px}}.appointment-list{display:flex;flex-direction:column;gap:15px;margin-top:20px}.appointment-card{background-color:#f9f9f9;border:1px solid #ddd;border-left:5px solid #3498db;border-radius:6px;padding:15px}.card-header{align-items:flex-start;display:flex;flex-direction:column;margin-bottom:10px}@media (min-width:450px){.card-header{align-items:center;flex-direction:row;justify-content:space-between}}.statut-badge{border-radius:4px;font-size:.9em;font-weight:700;margin-top:5px;padding:4px 8px}.statut-annule{background-color:#f8d7da;border-left-color:#e74c3c;color:#721c24}.statut-termine{background-color:#ccc;border-left-color:#7f8c8d;color:#333}.statut-confirme{background-color:#d4edda;border-left-color:#2ecc71;color:#155724}.statut-attente{background-color:#fff3cd;border-left-color:#f39c12;color:#856404}.card-actions{display:flex;flex-direction:column;gap:10px;margin-top:10px}.delete-button,.edit-button{border:none;border-radius:4px;cursor:pointer;font-size:.9em;padding:8px 12px;width:100%}.edit-button{background-color:#3498db;color:#fff}.delete-button{background-color:#e74c3c;color:#fff}@media (min-width:450px){.card-actions{flex-direction:row;gap:10px}.delete-button,.edit-button{width:auto}}.modal-backdrop{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.appointment-modal{background-color:#fff;border-radius:8px;box-shadow:0 5px 15px #0000004d;max-height:90vh;max-width:450px;overflow-y:auto;padding:20px;position:relative;width:95%}.modal-header{border-bottom:1px solid #eee;color:#2c3e50;font-size:1.3em;margin-bottom:15px;padding-bottom:10px}.modal-form{gap:15px}.input-group,.modal-form{display:flex;flex-direction:column}.input,.select{border:1px solid #ddd;border-radius:4px;font-size:1em;padding:10px;width:100%}.date-time-group{display:flex;flex-direction:column;gap:15px}.input-group-half{display:flex;flex:1 1;flex-direction:column}@media (min-width:450px){.date-time-group{flex-direction:row}}.modal-actions{display:flex;flex-direction:column-reverse;gap:10px;margin-top:15px}.cancel-button,.save-button{border:none;border-radius:4px;cursor:pointer;font-size:1em;padding:10px 15px;transition:opacity .2s;width:100%}.save-button{background-color:#2ecc71;color:#fff}.cancel-button{background-color:#ccc;color:#333}.cancel-button:disabled,.save-button:disabled{cursor:not-allowed;opacity:.6}@media (min-width:450px){.modal-actions{flex-direction:row;gap:10px;justify-content:flex-end}.cancel-button,.save-button{width:auto}}.message{border-radius:4px;margin-top:10px;padding:10px;text-align:center}.message-error{background-color:#fdd;color:#721c24}
/*# sourceMappingURL=main.f4488bd9.css.map*/