body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}body{background-color:#f4f6f9;color:#333;font-family:Segoe UI,Tahoma,sans-serif}.app-layout{display:flex;min-height:100vh}.app-header{align-items:center;background:#1e1e2f;color:#fff;display:flex;height:60px;justify-content:space-between;left:0;padding:0 20px;position:fixed;right:0;top:0;z-index:1000}.app-header .logo{font-size:18px;font-weight:700}.app-header .header-actions{align-items:center;display:flex;gap:15px}.app-header button{background:#0000;border:none;color:#fff;cursor:pointer;font-size:14px}.sidebar{background:#252540;bottom:0;left:0;padding-top:60px;top:0;transition:width .3s ease;width:240px}.sidebar h3{color:#bdbdd7;font-size:14px;padding:16px 20px;text-transform:uppercase}.sidebar li{cursor:pointer;padding:14px 20px;transition:background .2s}.sidebar li.active,.sidebar li:hover{background:#3a3a5c}.sidebar a{color:#fff;display:block;text-decoration:none}.content{margin-left:240px;padding:80px 24px 24px;transition:margin-left .3s ease;width:100%}@media (max-width:768px){.sidebar{width:70px}.sidebar h3,.sidebar span{display:none}.content{margin-left:70px;padding:80px 16px 16px}.app-header{padding:0 14px}.menu-toggle{cursor:pointer;font-size:22px;margin-right:10px}.sidebar{transform:translateX(-100%);transition:transform .3s ease;width:240px;z-index:1100}.sidebar.open{transform:translateX(0)}.overlay{background:#00000073;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000}.content{margin-left:0;padding:70px 14px 14px}.responsive-table,.responsive-table tbody,.responsive-table td,.responsive-table th,.responsive-table thead,.responsive-table tr{display:block;width:100%}.responsive-table thead{display:none}.responsive-table tr{background:#fff;border-radius:12px;box-shadow:0 4px 10px #00000014;margin-bottom:16px;padding:14px}.responsive-table td{border:none;display:flex;font-size:14px;justify-content:space-between;padding:8px 0}.responsive-table td:before{color:#666;content:attr(data-label);font-weight:600}}.btn-login{background-color:#4a90e2;border-radius:6px;color:#fff;font-weight:700;padding:8px 14px;text-decoration:none}.btn-login:hover{background-color:#357abd}.role-badge{border-radius:12px;font-size:12px;font-weight:700;margin-right:12px;padding:4px 10px;text-transform:uppercase}.role-badge.admin{background-color:#e53935;color:#fff}.role-badge.technicien{background-color:#1976d2;color:#fff}@media (max-width:768px){.role-badge{display:none}}.profile-menu{position:relative}.profile-trigger{align-items:center;cursor:pointer;display:flex;font-weight:600;gap:6px}.arrow{font-size:10px;transition:transform .3s}.arrow.up{transform:rotate(180deg)}.profile-dropdown{background:#fff;border-radius:8px;box-shadow:0 6px 18px #00000026;overflow:hidden;position:absolute;right:0;top:40px;width:220px;z-index:1000}.profile-info{border-bottom:1px solid #eee;padding:12px}.dropdown-item{background:none;border:none;color:#333;cursor:pointer;display:block;padding:10px 14px;text-align:left;text-decoration:none;width:100%}.dropdown-item:hover{background:#f5f5f5}.dropdown-item.logout{border-top:1px solid #eee;color:#e53935}@media (max-width:768px){.profile-dropdown{left:0;right:auto;width:100%}}*{box-sizing:border-box;margin:0;padding:0}.header{align-items:center;background:#1e293b;color:#fff;display:flex;height:60px;padding:0 15px}.menu-btn{background:none;border:none;color:#fff;cursor:pointer;font-size:20px;margin-right:15px}.sidebar{background:#0f172a;color:#fff;height:100%;left:-250px;position:fixed;top:60px;transition:.3s;width:250px;z-index:1000}.sidebar.open{left:0}.sidebar ul{list-style:none;padding:20px}.sidebar ul li{border-radius:5px;cursor:pointer;padding:15px 10px}.sidebar ul li:hover{background:#334155}.overlay{background:#0006;height:100%;left:0;position:fixed;top:20px;width:100%;z-index:999}.link{border-radius:6px;color:#cbd5f5;display:block;margin-bottom:10px;text-decoration:none;transition:.3s}.link:hover{background:#334155;color:#fff}.link.active{background:#2563eb;color:#fff;font-weight:700}@media (min-width:768px){.sidebar{left:0}.menu-btn,.overlay{display:none}}.arrow{float:right}.submenu{list-style:none;margin-top:5px;padding-left:15px}.submenu li{cursor:pointer;padding:8px 10px}.submenu li:hover{background-color:#3a3a5c}.btn-logout{background-color:#e74c3c;border:none;border-radius:4px;color:#fff;cursor:pointer;margin-top:10px;padding:8px 16px;text-align:left;width:100%}.btn-logout:hover{background-color:#c0392b}form{background:#f7f8fa;border-radius:10px;box-shadow:0 4px 12px #0000001a;display:flex;flex-direction:column;font-family:Arial,sans-serif;gap:15px;margin:20px auto;max-width:500px;padding:20px}form label{font-weight:700;margin-bottom:5px}form input,form select{border:1px solid #ccc;border-radius:6px;box-sizing:border-box;font-size:16px;padding:10px 12px;transition:all .2s;width:100%}form input:focus,form select:focus{border-color:#4a90e2;box-shadow:0 0 5px #4a90e280;outline:none}form button{background-color:#4a90e2;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;padding:12px;transition:background-color .2s}form button:hover{background-color:#357abd}@media (max-width:600px){form{padding:15px}form button,form input,form select{font-size:14px}}.form-container{background:#f7f8fa;border-radius:10px;box-shadow:0 4px 12px #0000000d;margin-bottom:15px;max-height:0;opacity:0;overflow:hidden;padding:0;transition:max-height .5s ease,padding .5s ease,opacity .5s ease}.form-container.open{max-height:800px;opacity:1;padding:20px}.btn-add{background-color:#4a90e2;border:none;border-radius:6px;color:#fff;cursor:pointer;float:right;margin-bottom:10px;margin-left:20px;padding:10px 15px;transition:background .3s}@media (max-width:768px){.btn-add{border-radius:50px;bottom:16px;box-shadow:0 6px 16px #0003;float:none;padding:14px 18px;position:fixed;right:16px;width:auto;z-index:1200}}.btn-add:hover{background-color:#357abd}.btn-close{background-color:#e74c3c;border:none;border-radius:6px;color:#fff;cursor:pointer;margin-top:10px;padding:8px 12px;transition:background .3s}.btn-close:hover{background-color:#c0392b}.filters{gap:10px;margin:15px 0}.filters input[type=month],.filters select{border:1px solid #ccc;border-radius:6px;font-size:16px;padding:8px 12px;transition:border-color .3s,box-shadow .3s}.filters input[type=month]:focus,.filters select:focus{border-color:#4a90e2;box-shadow:0 0 5px #4a90e280;outline:none}select{border-radius:5px;padding:5px}select option[value=EN_ATTENTE]{background-color:#f39c12}select option[value=EN_COURS]{background-color:#3498db;color:#fff}select option[value=TERMINE]{background-color:#2ecc71;color:#fff}.etat-badge{border-radius:20px;font-size:13px;font-weight:600;padding:6px 12px;text-transform:uppercase;white-space:nowrap}.etat-badge.en_attente{background:#eee;color:#555}.etat-badge.en_cours{background:#e3f2fd;color:#1976d2}.etat-badge.termine{background:#e6f4ea;color:#2e7d32}.etat-badge.termine:after{content:" 🔒"}.etat-badge{border-radius:12px;color:#fff;display:inline-block;font-size:.8rem;font-weight:500;min-width:70px;padding:4px 10px;text-align:center}@media (max-width:768px){.etat-badge{font-size:.7rem;min-width:60px;padding:3px 8px}}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:20px}.stat-card{border-left:6px solid;border-radius:12px;box-shadow:0 4px 12px #00000014;padding:18px}.stat-title{color:#666;margin:0}.stat-value{font-size:28px;margin-top:8px}.stat-card h3{color:#333;font-size:18px;margin-bottom:10px}.stat-card p{font-size:14px;margin:6px 0}.dashboard-container{padding:20px}.dashboard-top{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:1fr 2fr}.dashboard-grid{grid-gap:15px;gap:15px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.dashboard-graph{background:#fff;border-radius:8px;box-shadow:0 0 10px #0000001a;padding:20px}.stat-card{border-radius:8px;box-shadow:0 0 8px #0000001a;padding:15px;text-align:center}.badge{color:#fff;font-size:12px;padding:4px 10px}.badge.TERMINE{background:#4caf50}.badge.EN_COURS{background:#2196f3}.badge.EN_ATTENTE{background:#ff9800}.phone-link{align-items:center;background:#e8f0fe;border-radius:20px;color:#1a73e8;display:inline-flex;font-size:13px;gap:6px;padding:6px 10px;transition:all .3s ease}.phone-link:hover{background:#1a73e8}.accordion{background:#fff;border-radius:10px;box-shadow:0 4px 12px #00000014;margin-bottom:16px;overflow:hidden}.accordion-header{align-items:center;background:#f5f7fa;cursor:pointer;display:flex;font-weight:600;justify-content:space-between;padding:14px 18px;transition:background .3s}.accordion-header:hover{background:#eaeef3}.accordion-title{align-items:center;display:flex;gap:10px}.accordion .icon{font-size:18px}.accordion-content{max-height:0;overflow:hidden;padding:0 18px;transition:max-height .4s ease,padding .3s ease}.accordion.open .accordion-content{max-height:1200px;padding:18px}.chevron{font-size:14px}.badge.TERMINE{background:green;color:#fff}.badge.EN_COURS{background:orange}.badge.EN_ATTENTE{background:gray}.dashboard-container{background:#f5f7fa;font-family:Segoe UI,Tahoma,sans-serif;min-height:100vh;padding:24px}.dashboard-container h1{color:#333;margin-bottom:20px}.dashboard-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:32px}.stat-card{background:#fff;border-left:6px solid #1976d2;border-radius:10px;box-shadow:0 4px 10px #00000014;padding:16px 18px;transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{box-shadow:0 8px 18px #0000001f;transform:translateY(-3px)}.stat-title{color:#777;font-size:14px;margin-bottom:6px}.stat-value{color:#222;font-size:26px;font-weight:700}h2{color:#444;margin-bottom:12px}table{background:#fff;border-collapse:collapse;border-radius:10px;box-shadow:0 4px 12px #00000014;overflow:hidden;width:100%}thead{background:#1976d2;color:#fff}td,th{padding:12px 14px;text-align:left}th{font-size:14px;text-transform:uppercase}tbody tr{border-bottom:1px solid #eee}tbody tr:hover{background:#f4f8ff}select{border:1px solid #ccc;border-radius:6px;cursor:pointer;font-size:14px;padding:6px 10px}select:focus{border-color:#1976d2;outline:none}tbody tr td[colspan]{color:#888;font-style:italic;text-align:center}.badge{border-radius:12px;font-size:13px;font-weight:700;padding:6px 10px;text-transform:uppercase}.badge.TERMINE{background:#e8f5e9;color:#2e7d32}.badge.EN_COURS{background:#e3f2fd;color:#1976d2}.badge.EN_ATTENTE{background:#eee;color:#616161}@media (max-width:768px){table{font-size:13px}td,th{padding:10px}.stat-value{font-size:22px}}.filters{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.filters input,.filters select{border:1px solid #ccc;border-radius:6px;flex:1 1;font-size:14px;min-width:150px;padding:8px 12px;transition:border-color .3s}.filters input:focus,.filters select:focus{border-color:#4a90e2;outline:none}.filters button{background-color:#4a90e2;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:10px 16px;transition:background .3s}.filters button:hover{background-color:#357abd}@media (max-width:768px){.filters{flex-direction:column;gap:10px}.filters button,.filters input,.filters select{font-size:16px;min-width:0;min-width:auto;width:100%}}.phone-link{color:#0d6efd;font-weight:600;text-decoration:none}.phone-link:hover{color:#fff}
/*# sourceMappingURL=main.fece15d6.css.map*/