@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600&display=swap);@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap);body{background-color:#fff}.container{margin:0 auto;max-width:1200px;padding:0 20px}.btn-primary{background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:8px;font-weight:600;padding:12px 24px;transition:all .3s ease}.btn-primary:hover{background:linear-gradient(135deg,#2563eb,#7c3aed);transform:translateY(-2px)}.btn-secondary{border:2px solid #3b82f6;border-radius:8px;color:#3b82f6;font-weight:600;padding:10px 22px;transition:all .3s ease}.btn-secondary:hover{background:#3b82f6;color:#fff}.header{background:#fff;box-shadow:0 2px 10px #0000001a;position:fixed;top:0;width:100%;z-index:1000}.header-container{margin:0 auto;max-width:1200px;padding:0 20px}.header-content{height:70px;justify-content:space-between}.header-content,.logo{align-items:center;display:flex}.logo{color:#333;font-size:1.5rem;font-weight:700;gap:10px;text-decoration:none}.logo-icon{align-items:center;background:#667eea;border-radius:50%;color:#fff;display:flex;height:40px;justify-content:center;width:40px}.nav-desktop{display:flex;gap:30px}.nav-desktop a{color:#333;padding:10px 0;position:relative;text-decoration:none;transition:color .3s ease}.nav-desktop a.active,.nav-desktop a:hover{color:#667eea}.nav-desktop a.active:after{background:#667eea;bottom:0;content:"";height:2px;left:0;position:absolute;width:100%}.header-buttons{display:flex;gap:15px}.btn-primary{background:#667eea;border:none;border-radius:5px}.btn-primary,.btn-secondary{cursor:pointer;padding:10px 20px}.btn-secondary{background:#0000;border:1px solid #667eea;border-radius:5px;color:#667eea}.menu-toggle{background:none;border:none;cursor:pointer;display:none;flex-direction:column}.menu-toggle span{background:#333;height:3px;margin:3px 0;transition:.3s;width:25px}.nav-mobile{background:#fff;border-top:1px solid #eee;display:none;flex-direction:column;padding:20px}.nav-mobile a{border-bottom:1px solid #eee;color:#333;padding:15px 0;text-decoration:none}.mobile-buttons{display:flex;flex-direction:column;gap:10px;margin-top:20px}@media (max-width:768px){.header-buttons,.nav-desktop{display:none}.menu-toggle,.nav-mobile{display:flex}}.hero{align-items:center;background:linear-gradient(135deg,#1e40af,#7c3aed);display:flex;height:100vh;justify-content:center;overflow:hidden;position:relative}.hero:before{background-image:url(https://images.unsplash.com/photo-1566073771259-6a8506099945?ixlib=rb-4.0.3&auto=format&fit=crop&w=2070&q=80);background-position:50%;background-size:cover;bottom:0;content:"";left:0;opacity:.3;position:absolute;right:0;top:0}.hero-content{color:#fff;margin:0 auto;max-width:1200px;padding:0 20px;position:relative;text-align:center;z-index:2}.hero-text{margin-bottom:3rem}.hero-title{font-size:3.5rem;font-weight:700;line-height:1.2;margin-bottom:1.5rem}.highlight{color:#fbbf24}.hero-description{font-size:1.3rem;margin:0 auto;max-width:600px;opacity:.9}.search-form-container{background:#fff;border-radius:20px;box-shadow:0 20px 40px #0000001a;margin:0 auto;max-width:900px;padding:2rem}.search-form{grid-gap:1rem;align-items:end;display:grid;gap:1rem;grid-template-columns:repeat(4,1fr)}.form-group{display:flex;flex-direction:column}.form-group label{color:#374151;font-size:.9rem;font-weight:600;text-align:left}.form-group input,.form-group select{border:2px solid #d1d5db;border-radius:8px;font-size:1rem;padding:.75rem;transition:border-color .3s ease}.form-group input:focus,.form-group select:focus{border-color:#3b82f6;outline:none}.search-button{background:linear-gradient(135deg,#3b82f6,#8b5cf6);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;grid-column:1/-1;margin-top:1rem;padding:1rem 2rem;transition:all .3s ease}.search-button:hover{background:linear-gradient(135deg,#2563eb,#7c3aed);transform:translateY(-2px)}@media (max-width:768px){.hero-title{font-size:2.5rem}.hero-description{font-size:1.1rem}.search-form{grid-template-columns:1fr}.search-form-container{margin:0 1rem;padding:1.5rem}}.rooms-section{background:#f8fafc;padding:5rem 0}.section-header{margin-bottom:4rem;text-align:center}.section-title{color:#1f2937;font-size:3rem;font-weight:700;margin-bottom:1rem}.section-description{color:#6b7280;font-size:1.2rem;line-height:1.6;margin:0 auto;max-width:600px}.rooms-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.room-card{background:#fff;border-radius:15px;box-shadow:0 10px 30px #0000001a;overflow:hidden;transition:all .3s ease}.room-card:hover{box-shadow:0 20px 40px #00000026;transform:translateY(-10px)}.room-image{height:250px;overflow:hidden;position:relative}.room-image img{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.room-card:hover .room-image img{transform:scale(1.1)}.room-price{background:#fbbf24;border-radius:20px;color:#1f2937;font-size:.9rem;font-weight:700;padding:.5rem 1rem;position:absolute;right:1rem;top:1rem}.room-content{padding:2rem}.room-name{color:#1f2937;font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.room-description{color:#6b7280;line-height:1.5;margin-bottom:1.5rem}.room-features{list-style:none;margin-bottom:2rem}.feature-item{align-items:center;color:#4b5563;display:flex;margin-bottom:.5rem}.feature-icon{color:#10b981;font-weight:700;margin-right:.5rem}.room-book-button{background:linear-gradient(135deg,#3b82f6,#8b5cf6);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:1rem;transition:all .3s ease;width:100%}.room-book-button:hover{background:linear-gradient(135deg,#2563eb,#7c3aed);transform:translateY(-2px)}@media (max-width:768px){.rooms-section{padding:3rem 0}.section-title{font-size:2.5rem}.rooms-grid{gap:1.5rem;grid-template-columns:1fr}.room-content{padding:1.5rem}}.footer{background:#111827;color:#fff;padding:4rem 0 2rem}.footer-content{grid-gap:3rem;display:grid;gap:3rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:3rem}.footer-column{display:flex;flex-direction:column}.footer-title{color:#fff;font-size:1.8rem;font-weight:700;margin-bottom:1rem}.footer-description{color:#9ca3af;line-height:1.6;margin-bottom:1.5rem}.social-links{display:flex;gap:1rem}.social-link{align-items:center;background:#374151;border-radius:50%;color:#fff;display:flex;height:40px;justify-content:center;text-decoration:none;transition:background .3s ease;width:40px}.social-link:hover{background:#3b82f6}.footer-subtitle{color:#fff;font-size:1.2rem;font-weight:600;margin-bottom:1rem}.footer-links{list-style:none}.footer-links li{margin-bottom:.5rem}.footer-link{color:#9ca3af;text-decoration:none;transition:color .3s ease}.footer-link:hover{color:#3b82f6}.footer-services{color:#9ca3af;list-style:none}.footer-services li{margin-bottom:.5rem;padding-left:1rem;position:relative}.footer-services li:before{color:#3b82f6;content:"•";left:0;position:absolute}.contact-info{display:flex;flex-direction:column;gap:1rem}.contact-item{align-items:center;color:#9ca3af;display:flex;gap:.5rem}.contact-icon{font-size:1.2rem}.footer-bottom{border-top:1px solid #374151;padding-top:2rem;text-align:center}.copyright{color:#9ca3af}@media (max-width:768px){.footer{padding:3rem 0 1.5rem}.footer-content{gap:2rem;margin-bottom:2rem}.footer-title{font-size:1.5rem}}body{color:#333}.App{min-height:100vh}@keyframes fadeIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn 1s ease-out}:root{--primary-color:#2c3e50;--secondary-color:#3498db;--accent-color:#e74c3c;--success-color:#27ae60;--warning-color:#f39c12;--danger-color:#e74c3c;--light-bg:#f8f9fa;--card-bg:#fff;--sidebar-bg:#2c3e50;--header-bg:#fff;--text-dark:#2c3e50;--text-light:#ecf0f1;--text-muted:#7f8c8d;--border-color:#e0e0e0;--shadow:0 2px 10px #0000001a;--shadow-hover:0 4px 20px #00000026;--border-radius:8px;--transition:all 0.3s ease}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#f8f9fa;background-color:var(--light-bg);color:#2c3e50;color:var(--text-dark);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6}.femmech-container{display:flex;min-height:100vh}.femmech-sidebar{background:linear-gradient(180deg,#2c3e50,#1a2530);background:linear-gradient(180deg,var(--sidebar-bg) 0,#1a2530 100%);box-shadow:2px 0 10px #0000001a;color:#ecf0f1;color:var(--text-light);display:flex;flex-direction:column;width:280px;z-index:1000}.femmech-logo{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;font-size:1.5rem;font-weight:700;gap:.75rem;padding:2rem 1.5rem}.femmech-logo svg{color:#3498db;color:var(--secondary-color);font-size:2rem}.femmech-navmenu{flex:1 1;padding:1.5rem 0}.femmech-navitem{align-items:center;border-left:4px solid #0000;cursor:pointer;display:flex;gap:1rem;padding:1rem 1.5rem;transition:all .3s ease;transition:var(--transition)}.femmech-navitem:hover{background-color:#ffffff0d}.femmech-navitem.active,.femmech-navitem:hover{border-left-color:#3498db;border-left-color:var(--secondary-color)}.femmech-navitem.active{background-color:#3498db1a;color:#3498db;color:var(--secondary-color)}.femmech-navitem svg{font-size:1.25rem}.femmech-user-section{align-items:center;border-top:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:1.5rem}.femmech-user-info{align-items:center;display:flex;gap:.75rem}.femmech-user-info svg{font-size:2.5rem;opacity:.8}.femmech-username{font-size:1rem;font-weight:600}.femmech-userrole{font-size:.875rem;opacity:.7}.femmech-logout-btn{background:#ffffff1a;border:none;border-radius:8px;border-radius:var(--border-radius);color:#ecf0f1;color:var(--text-light);cursor:pointer;padding:.5rem;transition:all .3s ease;transition:var(--transition)}.femmech-logout-btn:hover{background:#fff3}.femmech-main-content{background-color:#f8f9fa;background-color:var(--light-bg);display:flex;flex:1 1;flex-direction:column}.femmech-header{align-items:center;background-color:#fff;background-color:var(--header-bg);box-shadow:0 2px 10px #0000001a;box-shadow:var(--shadow);display:flex;justify-content:space-between;padding:1.5rem 2rem}.femmech-header h1{color:#2c3e50;color:var(--primary-color);font-size:1.75rem;font-weight:600}.femmech-date{color:#7f8c8d;color:var(--text-muted);font-size:1rem}.femmech-dashboard{flex:1 1;padding:2rem}.femmech-stats-container{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.femmech-stat-card{background:#fff;background:var(--card-bg);border-radius:8px;border-radius:var(--border-radius);box-shadow:0 2px 10px #0000001a;box-shadow:var(--shadow);padding:1.5rem;text-align:center;transition:all .3s ease;transition:var(--transition)}.femmech-stat-card:hover{box-shadow:0 4px 20px #00000026;box-shadow:var(--shadow-hover);transform:translateY(-2px)}.femmech-stat-number{color:#2c3e50;color:var(--primary-color);font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.femmech-stat-label{color:#7f8c8d;color:var(--text-muted);font-size:.9rem;font-weight:500}.femmech-rooms-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.femmech-room-card{background:#fff;background:var(--card-bg);border-left:4px solid #e0e0e0;border-left:4px solid var(--border-color);border-radius:8px;border-radius:var(--border-radius);box-shadow:0 2px 10px #0000001a;box-shadow:var(--shadow);padding:1.5rem;transition:all .3s ease;transition:var(--transition)}.femmech-room-card:hover{box-shadow:0 4px 20px #00000026;box-shadow:var(--shadow-hover);transform:translateY(-2px)}.femmech-room-card.femmech-room-clean{border-left-color:#27ae60;border-left-color:var(--success-color)}.femmech-room-card.femmech-room-dirty{border-left-color:#e74c3c;border-left-color:var(--danger-color)}.femmech-room-card.femmech-room-in-progress{border-left-color:#f39c12;border-left-color:var(--warning-color)}.femmech-room-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.femmech-room-number{color:#2c3e50;color:var(--primary-color);font-size:1.25rem;font-weight:600}.femmech-status-badge{border-radius:20px;color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .75rem;text-transform:uppercase}.femmech-room-info{margin-bottom:1.5rem}.femmech-info-item{font-size:.9rem;margin-bottom:.5rem}.femmech-room-actions{display:flex;gap:.75rem}.femmech-action-btn,.femmech-reclamation-btn{align-items:center;border:none;border-radius:8px;border-radius:var(--border-radius);cursor:pointer;display:flex;flex:1 1;font-size:.875rem;font-weight:500;gap:.5rem;justify-content:center;padding:.5rem 1rem;transition:all .3s ease;transition:var(--transition)}.femmech-action-btn{background-color:#3498db;background-color:var(--secondary-color);color:#fff}.femmech-action-btn:hover{background-color:#2980b9}.femmech-reclamation-btn{background-color:initial;border:1px solid #e74c3c;border:1px solid var(--accent-color);color:#e74c3c;color:var(--accent-color)}.femmech-reclamation-btn:hover{background-color:#e74c3c;background-color:var(--accent-color);color:#fff}.femmech-reclamations-view{flex:1 1;padding:2rem}.femmech-reclamations-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.femmech-add-reclamation-btn{align-items:center;background-color:#27ae60;background-color:var(--success-color);border:none;border-radius:8px;border-radius:var(--border-radius);color:#fff;cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease;transition:var(--transition)}.femmech-add-reclamation-btn:hover{background-color:#219a52}.femmech-reclamation-form-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.femmech-reclamation-form{background:#fff;background:var(--card-bg);border-radius:8px;border-radius:var(--border-radius);box-shadow:0 4px 20px #00000026;box-shadow:var(--shadow-hover);max-width:500px;padding:2rem;width:90%}.femmech-reclamation-form h3{color:#2c3e50;color:var(--primary-color);margin-bottom:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#2c3e50;color:var(--text-dark);display:block;font-weight:500;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--border-radius);font-size:1rem;padding:.75rem;transition:all .3s ease;transition:var(--transition);width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3498db;border-color:var(--secondary-color);box-shadow:0 0 0 2px #3498db33;outline:none}.form-actions{display:flex;gap:1rem;justify-content:flex-end}.btn-cancel,.btn-submit{border:none;border-radius:8px;border-radius:var(--border-radius);cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:all .3s ease;transition:var(--transition)}.btn-cancel{background-color:#7f8c8d;background-color:var(--text-muted);color:#fff}.btn-cancel:hover{background-color:#6c757d}.btn-submit{background-color:#3498db;background-color:var(--secondary-color);color:#fff}.btn-submit:hover{background-color:#2980b9}.femmech-reclamations-list h3{color:#2c3e50;color:var(--primary-color);margin-bottom:1rem}.femmech-reclamation-card{background:#fff;background:var(--card-bg);border-left:4px solid #e0e0e0;border-left:4px solid var(--border-color);border-radius:8px;border-radius:var(--border-radius);box-shadow:0 2px 10px #0000001a;box-shadow:var(--shadow);margin-bottom:1rem;padding:1.5rem;transition:all .3s ease;transition:var(--transition)}.femmech-reclamation-card:hover{box-shadow:0 4px 20px #00000026;box-shadow:var(--shadow-hover);transform:translateX(4px)}.femmech-reclamation-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.femmech-reclamation-room{color:#2c3e50;color:var(--primary-color);font-weight:600}.femmech-urgency-badge{border-radius:20px;color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .75rem;text-transform:uppercase}.femmech-reclamation-problem{line-height:1.5;margin-bottom:1rem}.femmech-reclamation-footer{align-items:center;color:#7f8c8d;color:var(--text-muted);display:flex;font-size:.875rem;justify-content:space-between}.femmech-reclamation-status{border-radius:20px;font-size:.75rem;font-weight:600;padding:.25rem .75rem}.femmech-status-En_attente{background-color:#fff3cd;color:#856404}.femmech-status-in-progress{background-color:#d1ecf1;color:#0c5460}.femmech-tasks-view{flex:1 1;padding:2rem}.femmech-task-item{align-items:center;background:#fff;background:var(--card-bg);border-radius:8px;border-radius:var(--border-radius);box-shadow:0 2px 10px #0000001a;box-shadow:var(--shadow);display:flex;justify-content:space-between;margin-bottom:1rem;padding:1.5rem;transition:all .3s ease;transition:var(--transition)}.femmech-task-item:hover{box-shadow:0 4px 20px #00000026;box-shadow:var(--shadow-hover);transform:translateX(4px)}.femmech-task-info{grid-gap:1rem;display:grid;flex:1 1;gap:1rem;grid-template-columns:1fr 2fr 1fr}.femmech-task-room{color:#2c3e50;color:var(--primary-color);font-weight:600}.femmech-task-time{color:#7f8c8d;color:var(--text-muted);text-align:right}.femmech-task-status{border-radius:20px;font-size:.875rem;font-weight:600;padding:.5rem 1rem}.femmech-task-completed .femmech-task-status{background-color:#d4edda;color:#155724}.femmech-task-in-progress .femmech-task-status{background-color:#d1ecf1;color:#0c5460}.femmech-task-pending .femmech-task-status{background-color:#fff3cd;color:#856404}.femmech-notifications-view{flex:1 1;padding:2rem}.femmech-notification-card{background:#fff;background:var(--card-bg);border-left:4px solid #3498db;border-left:4px solid var(--secondary-color);border-radius:8px;border-radius:var(--border-radius);box-shadow:0 2px 10px #0000001a;box-shadow:var(--shadow);margin-bottom:1rem;padding:1.5rem;transition:all .3s ease;transition:var(--transition)}.femmech-notification-card:hover{box-shadow:0 4px 20px #00000026;box-shadow:var(--shadow-hover);transform:translateX(4px)}.femmech-notification-title{color:#2c3e50;color:var(--primary-color);font-weight:600;margin-bottom:.5rem}.femmech-notification-text{line-height:1.5;margin-bottom:.5rem}.femmech-notification-time{color:#7f8c8d;color:var(--text-muted);font-size:.875rem}.femmech-no-reclamations{color:#7f8c8d;color:var(--text-muted);font-style:italic;padding:3rem;text-align:center}@media (max-width:768px){.femmech-container{flex-direction:column}.femmech-sidebar{height:auto;width:100%}.femmech-navmenu{display:flex;overflow-x:auto;padding:1rem}.femmech-navitem{border-bottom:4px solid #0000;border-left:none;flex-direction:column;min-width:80px;padding:.5rem 1rem;text-align:center}.femmech-navitem.active,.femmech-navitem:hover{border-bottom-color:#3498db;border-bottom-color:var(--secondary-color);border-left:none}.femmech-stats-container{grid-template-columns:repeat(2,1fr)}.femmech-rooms-grid{grid-template-columns:1fr}.femmech-room-actions{flex-direction:column}.femmech-reclamations-header{align-items:stretch;flex-direction:column;gap:1rem}.femmech-task-info{gap:.5rem;grid-template-columns:1fr}.femmech-task-time{text-align:left}}@media (max-width:480px){.femmech-stats-container{grid-template-columns:1fr}.femmech-header{gap:1rem;text-align:center}.femmech-header,.form-actions{flex-direction:column}}.login-page-container{display:flex;font-family:Poppins,sans-serif;min-height:100vh;width:100%}.login-image-section{align-items:flex-end;background:url(https://i.pinimg.com/736x/61/63/ca/6163ca03bbea09514b057e05825d546c.jpg) no-repeat 50%;background-size:cover;color:#fff;display:flex;flex:1 1;padding:3rem;position:relative}.image-overlay{background:linear-gradient(0deg,#000000b3 0,#0000);bottom:0;display:flex;flex-direction:column;justify-content:flex-end;left:0;padding:3rem;position:absolute;right:0;top:0}.image-overlay h2{font-size:2.5rem;line-height:1.2;margin-bottom:1rem}.image-overlay p{font-size:1.1rem;max-width:400px}.login-form-section{align-items:center;background-color:#f8f9fa;display:flex;flex:1 1;justify-content:center;padding:2rem}.auth-form{max-width:400px;padding:3rem}.login-form{background-color:#fff;border-radius:10px;border-top:5px solid #1e76d4;box-shadow:0 4px 20px #0000001a;max-width:400px;padding:2.5rem;text-align:center;width:100%}.login-form h2{color:#333;font-weight:600;margin-bottom:.5rem}.login-form p{color:#666;margin-bottom:2rem}.input-group{margin-bottom:1.5rem}.login-button{border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:.8rem;transition:background-color .3s ease;width:100%}@media (max-width:992px){.login-image-section{display:none}.login-form-section{flex:2 1}}.auth-container{align-items:center;background-color:#f0f2f5;display:flex;font-family:Poppins,sans-serif;justify-content:center;min-height:100vh}.auth-form{background-color:#fff;border-radius:10px;box-shadow:0 4px 20px #0000001a;max-width:420px;padding:2.5rem;text-align:center;width:100%}.auth-form h2{color:#333;font-weight:600;margin-bottom:.5rem}.auth-form p{color:#666;margin-bottom:2rem}.input-group{margin-bottom:1.2rem;text-align:left}.input-group label{color:#555;display:block;font-weight:500;margin-bottom:.5rem}.input-group input{border:1px solid #ccc;border-radius:5px;font-size:1rem;padding:.75rem;transition:border-color .3s ease;width:100%}.input-group input:focus{border-color:#007bff;box-shadow:0 0 5px #007bff40;outline:none}.auth-button{border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;margin-top:1rem;padding:.8rem;transition:background-color .3s ease,transform .2s ease;width:100%}.auth-button:hover{transform:translateY(-2px)}.login-button{background-color:#007bff}.login-button:hover{background-color:#0056b3}.register-button{background-color:#28a745}.register-button:hover{background-color:#218838}.error-message{border:1px solid #f5c6cb;border-radius:5px;margin-bottom:1rem;padding:.75rem}.form-footer{color:#666;font-size:.9rem;margin-top:1.5rem}.form-footer a{color:#007bff;font-weight:500;text-decoration:none}.form-footer a:hover{text-decoration:underline}.admin-layout{display:flex;min-height:100vh}.sidebar{background-color:#2c3e50;color:#fff;display:flex;flex-direction:column;width:250px}.sidebar-header{background-color:#1a242f}.sidebar-nav{display:flex;flex-direction:column}.sidebar-nav a{color:#ecf0f1;padding:1rem 1.5rem;text-decoration:none;transition:background-color .3s}.sidebar-nav a.active,.sidebar-nav a:hover{background-color:#34495e}.logout-button{background-color:#e74c3c;border:none;border-radius:5px;color:#fff;cursor:pointer;padding:.7rem;width:100%}.main-content{background-color:#f4f6f9;flex-grow:1;padding:2rem}.dashboard h1{margin-bottom:2rem}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000000d;padding:1.5rem}.stat-card h3{color:#555;font-size:1rem;margin:0 0 .5rem}.stat-card p{color:#007bff;font-size:2rem;font-weight:600;margin:0}.staff-page-full h1{color:#2c3e50}.staff-list-container{border-radius:12px;box-shadow:0 4px 20px #00000014;overflow:hidden;padding:1.5rem 2rem}.list-header h2{color:#2c3e50;margin:0}.search-input{border:1px solid #dfe4ea;border-radius:8px;font-size:.95rem;padding:.7rem 1rem;transition:all .3s ease;width:320px}.search-input:focus{border-color:#007bff;box-shadow:0 0 5px #007bff40;outline:none}table{border-collapse:collapse;color:#34495e;text-align:left;width:100%}thead tr{background-color:#f8f9fa}th{border-bottom:2px solid #dee2e6;color:#6c757d;font-size:.85rem;font-weight:600;letter-spacing:.5px;padding:1rem;text-transform:uppercase}tbody tr{border-bottom:1px solid #ecf0f1;transition:background-color .2s ease}tbody tr:nth-child(2n){background-color:#f8f9fa}tbody tr:hover{background-color:#e9ecef}td{padding:1rem;vertical-align:middle}.action-btn{border-radius:6px;font-size:.85rem;padding:.4rem .9rem;transition:transform .2s ease,box-shadow .2s ease}.action-btn:hover{box-shadow:0 2px 5px #0000001a;transform:translateY(-2px)}.edit-btn{color:#333}.role-badge{border-radius:16px;color:#fff;font-weight:500;padding:.3rem .8rem;text-transform:capitalize}.staff-list td,.staff-list th{border-bottom:1px solid #eee;padding:.8rem;text-align:left}.staff-list th{font-weight:600}.error-message,.success-message{margin-bottom:1rem}.staff-page-full h1{margin-bottom:2rem}.staff-list-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000000d;padding:2rem}.list-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.search-input{border:1px solid #ccc;border-radius:5px;padding:.6rem;width:300px}.action-btn{border:none;border-radius:5px;color:#fff;cursor:pointer;margin-right:.5rem;padding:.4rem .8rem}.edit-btn{background-color:#ffc107}.delete-btn{background-color:#dc3545}.role-badge{border-radius:12px;color:#f4efef;font-size:.8rem;padding:.2rem .6rem}.role-admin{background-color:#17a2b8}.role-maintenance{background-color:#fd7e14}.role-receptionniste{background-color:#6f42c1}.role-menage{background-color:#4fbc7b}.role-chef-maintenance{background-color:#bc4f92}.error-message,.success-message{border-radius:5px;margin-bottom:1.5rem;padding:.75rem;text-align:center}.error-message{background-color:#f8d7da;color:#721c24}.success-message{background-color:#d4edda;color:#155724}.table-wrapper{overflow-x:auto}.pagination-controls{align-items:center;border-top:1px solid #e9ecef;display:flex;justify-content:space-between;margin-top:1rem;padding:1.5rem 0 .5rem}.pagination-controls button{background-color:#fff;border:1px solid #dee2e6;border-radius:6px;color:#007bff;cursor:pointer;font-weight:500;padding:.6rem 1.2rem;transition:all .2s ease}.pagination-controls button:hover:not(:disabled){background-color:#007bff;color:#fff}.pagination-controls button:disabled{background-color:#f8f9fa;border-color:#e9ecef;color:#adb5bd;cursor:not-allowed}.pagination-controls span{color:#495057;font-size:.95rem}.action-icon{color:#837f8d}.action-icon:hover{background-color:#e7ecb3;color:#eff322}.action-icon.delete:hover{background-color:#fdeded;color:#e74c3c}.modal-backdrop{background-color:#00000080}.btn-primary,.btn-secondary{border:none;border-radius:5px;cursor:pointer;font-size:1rem;padding:.6rem 1.2rem}.btn-primary{background-color:#007bff;color:#fff}.btn-secondary{background-color:#6c757d;color:#fff}.chambres-page{font-family:Poppins,sans-serif}.page-header h1{font-size:1.8rem}.add-btn{align-items:center;background-color:#007bff;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.95rem;font-weight:500;gap:.5rem;padding:.7rem 1.2rem;transition:all .3s ease}.add-btn:hover{background-color:#0056b3;box-shadow:0 4px 10px #007bff33;transform:translateY(-2px)}.etage-section{background-color:#fff;border-radius:12px;box-shadow:0 4px 20px #00000012;margin-bottom:2.5rem;overflow:hidden}.etage-titre{background-color:#f8f9fa;border-bottom:1px solid #e9ecef;color:#34495e;font-size:1.2rem;margin:0;padding:1rem 1.5rem}.chambres-table{border-collapse:collapse;width:100%}.chambres-table thead{background-color:#f8f9fa}.chambres-table th{color:#6c757d;font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:.8rem 1.5rem;text-align:left;text-transform:uppercase}.chambres-table tbody tr{transition:background-color .2s ease}.chambres-table tbody tr:not(:last-child){border-bottom:1px solid #ecf0f1}.chambres-table tbody tr:hover{background-color:#f1f3f5}.chambres-table td{color:#2c3e50;padding:1rem 1.5rem;vertical-align:middle}.status-badge{border-radius:16px;display:inline-block;font-size:.8rem;font-weight:600;min-width:100px;padding:.3rem .8rem;text-align:center}.status-libre{background-color:#e7f5ec;color:#27ae60}.status-occupee{background-color:#fdeded;color:#c0392b}.status-nettoyage{background-color:#eaf2fa;color:#2980b9}.status-maintenance{background-color:#fef5e7;color:#f39c12}.actions-cell{text-align:right}.action-icon{background:#0000;border:none;color:#7f8c8d;cursor:pointer;margin-left:.8rem;transition:color .2s ease}.action-icon:hover{color:#2c3e50}.modal-content{background-color:#fff;padding:2.5rem;width:100%}.modal-actions{margin-top:2rem}.planning-page{padding:2rem}.chambres-a-nettoyer-grid{grid-gap:1rem;display:grid;gap:1rem}.tache-card{align-items:center;background-color:#fff;border-left:5px solid #2980b9;border-radius:8px;box-shadow:0 2px 5px #0000001a;display:flex;justify-content:space-between;padding:1.5rem}.tache-numero{font-size:1.2rem;font-weight:600}.tache-etage{color:#7f8c8d}.tache-btn-terminer{background-color:#27ae60;border:none;border-radius:5px;color:#fff;cursor:pointer;padding:.6rem 1rem}.category-badge{border-radius:16px;color:#fff;font-size:.8rem;font-weight:500;padding:.3rem .8rem;text-align:center}.category-plomberie{background-color:#3498db}.category-électricité{background-color:#f1c40f}.category-climatisation{background-color:#1abc9c}.category-literie-mobilier{background-color:#8e44ad}.category-équipement{background-color:#e67e22}.category-serrurerie{background-color:#34495e}.category-autre{background-color:#95a5a6}.chef-layout{background-color:#f4f6f9;display:flex;font-family:Poppins,sans-serif;min-height:100vh}.chef-sidebar{background-color:#2c3e50;color:#ecf0f1;display:flex;flex-direction:column;height:100%;position:fixed;width:260px}.sidebar-header{border-bottom:1px solid #34495e;padding:1.5rem;text-align:center}.sidebar-header h2{margin:0}.sidebar-header span{color:#95a5a6;font-size:.9rem}.sidebar-nav{flex-grow:1;padding-top:1rem}.nav-item{align-items:center;border-left:3px solid #0000;cursor:pointer;display:flex;gap:1rem;padding:1rem 1.5rem;transition:background-color .3s,color .3s}.nav-item:hover{background-color:#34495e}.nav-item.active{background-color:#233140;border-left-color:#3498db;color:#fff}.nav-item .badge{background-color:#e74c3c;border-radius:12px;color:#fff;font-size:.75rem;font-weight:600;margin-left:auto;padding:.2rem .5rem}.sidebar-footer{border-top:1px solid #34495e;padding:1.5rem}.user-info{align-items:center;display:flex;gap:1rem;margin-bottom:1.5rem}.user-details{display:flex;flex-direction:column}.user-role{color:#bdc3c7}.logout-btn{align-items:center;background:#0000;border:1px solid #e74c3c;border-radius:8px;color:#e74c3c;cursor:pointer;display:flex;gap:.5rem;justify-content:center;padding:.7rem;transition:all .3s;width:100%}.logout-btn:hover{background-color:#e74c3c;color:#fff}.chef-main-content{flex-grow:1;margin-left:260px;padding:2rem}.chef-main-content h1{color:#2c3e50;margin:0 0 2rem}.chef-maintenance-page{padding:2rem}.chef-maintenance-page h1{margin-bottom:2rem}.reclamations-table-admin{background-color:#fff;border-radius:8px;box-shadow:0 4px 20px #00000012;overflow:hidden}.btn-assigner{background-color:#007bff;border:none;border-radius:5px;color:#fff;cursor:pointer;padding:.5rem 1rem}.btn-assigner:disabled{background-color:#ced4da;cursor:not-allowed}.status-En_attente{background-color:#fdeded;color:#c0392b}.status-assigné{background-color:#eaf2fa;color:#2980b9}.status-in-progress{background-color:#fef5e7;color:#f39c12}.status-resolved{background-color:#e7f5ec;color:#27ae60}.tasks-container{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.modal-backdrop{align-items:center;background-color:#0009;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.modal-content{background:#fff;border-radius:8px;max-width:500px;padding:2rem;width:90%}.modal-content h2{margin-top:0}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.form-group select{border:1px solid #ccc;border-radius:5px;padding:.8rem;width:100%}.maintenance-page{background-color:#f4f6f9;font-family:Poppins,sans-serif;min-height:100vh}.maintenance-header{align-items:center;background-color:#fff;box-shadow:0 2px 10px #0000000d;display:flex;justify-content:space-between;padding:1.5rem 2rem}.header-title{align-items:center;color:#2c3e50;display:flex;gap:1rem}.header-title h1{font-size:1.8rem;margin:0}.header-user-info{align-items:center;display:flex;gap:1rem}.user-details{text-align:right}.user-name{display:block;font-weight:600}.user-role{color:#7f8c8d;font-size:.8rem}.logout-icon-btn{background:#0000;border:none;color:#c0392b;cursor:pointer;padding:.5rem}.logout-icon-btn:hover{color:#e74c3c}.tasks-summary{display:flex;gap:1.5rem;padding:2rem}.summary-card{background-color:#fff;border-radius:12px;box-shadow:0 4px 15px #0000000d;flex:1 1;padding:1.5rem}.summary-number{color:#007bff;display:block;font-size:2.5rem;font-weight:700}.summary-label{color:#6c757d}.tasks-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));padding:0 2rem 2rem}.task-card{background-color:#fff;border-left:5px solid;border-radius:8px;box-shadow:0 4px 15px #00000014;display:flex;flex-direction:column;padding:1.5rem;transition:transform .2s ease,box-shadow .2s ease}.task-card:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-5px)}.task-card.resolved{background-color:#f8f9fa;opacity:.6}.task-card.resolved:hover{transform:none}.urgency-high{border-color:#e74c3c}.urgency-medium{border-color:#f39c12}.urgency-low{border-color:#2ecc71}.task-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.task-card-header h3{color:#34495e;margin:0}.task-category{background-color:#ecf0f1;border-radius:16px;color:#7f8c8d;font-size:.8rem;font-weight:500;padding:.3rem .8rem}.task-problem{color:#555;flex-grow:1;line-height:1.6;margin-bottom:1.5rem}.task-card-footer{align-items:center;border-top:1px solid #f0f0f0;display:flex;justify-content:space-between;padding-top:1rem}.task-status{font-weight:600;text-transform:capitalize}.task-status-En_attente,.task-status-assigné{color:#e74c3c}.task-status-en_cours{color:#f39c12}.task-status-Résolu{color:#27ae60}.task-actions button{background-color:#007bff;border:none;border-radius:5px;color:#fff;cursor:pointer;font-weight:500;padding:.6rem 1.2rem;transition:background-color .2s}.task-actions button:hover{background-color:#0056b3}.no-tasks-message{color:#7f8c8d;grid-column:1/-1;padding:2rem;text-align:center}.loading-screen{align-items:center;color:#34495e;display:flex;font-size:1.5rem;height:100vh;justify-content:center}.admin-reclamations-page{font-family:Poppins,sans-serif;padding:2rem}.page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.page-header h1{color:#2c3e50;margin:0}.view-switcher{background-color:#e9ecef;border-radius:8px;display:flex;padding:.3rem}.view-switcher button{align-items:center;background-color:initial;border:none;border-radius:6px;color:#495057;cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:.6rem 1.2rem;transition:all .3s ease}.view-switcher button.active{background-color:#fff;box-shadow:0 2px 5px #0000001a;color:#007bff}.view-switcher .btn-escalation.active{color:#c0392b}.table-container.card{background-color:#fff;border-radius:12px;box-shadow:0 4px 20px #00000012;overflow:hidden;padding:0}.reclamations-table-admin{border-collapse:collapse;width:100%}.reclamations-table-admin td,.reclamations-table-admin th{border-bottom:1px solid #ecf0f1;padding:1rem;text-align:left}.reclamations-table-admin th{background-color:#f8f9fa;color:#6c757d;font-size:.8rem;text-transform:uppercase}.status-badge-admin{border-radius:16px;font-size:.8rem;font-weight:600;padding:.3rem .8rem;text-transform:capitalize}.status-En-attente,.status-assigné{background-color:#fdeded;color:#c0392b}.status-en-cours{background-color:#fef5e7;color:#f39c12}.escalation-container{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.escalation-card{background-color:#fff;border:2px solid #e74c3c;border-radius:8px;box-shadow:0 5px 15px #e74c3c26}.escalation-card-header{align-items:center;background-color:#fdeded;border-bottom:1px solid #f5c6cb;color:#c0392b;display:flex;gap:1rem;padding:1rem}.escalation-card-header h3{font-size:1.1rem;margin:0}.escalation-details{line-height:1.8;padding:1rem}.escalation-details p{margin:.5rem 0}.escalation-details strong{color:#34495e}.escalation-actions{border-top:1px solid #e9ecef;padding:1rem;text-align:right}.escalation-actions button{background-color:#c0392b;border:none;border-radius:5px;color:#fff;cursor:pointer;font-weight:500;padding:.6rem 1.2rem}.alerte-cell{text-align:center}.alerte-icon{animation:pulse 2s infinite;color:#e74c3c}.ok-icon{color:#27ae60}tr.retard-row{background-color:#fdeded!important;font-weight:600}tr.retard-row>td{color:#c0392b}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.time-ago{color:#6c757d;font-size:.9rem}tr.retard-row .time-ago{color:#c0392b;font-weight:600}
/*# sourceMappingURL=main.ba089b2c.css.map*/