@charset "UTF-8";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}.pac-container{background:#fff!important;border:1px solid #e2e8f0!important;border-radius:8px!important;box-shadow:0 4px 12px #00000026!important;margin-top:4px!important;z-index:999999!important}.pac-item{border-top:1px solid #f1f5f9!important;cursor:pointer!important;font-size:14px!important;padding:8px 12px!important}.pac-item:first-child{border-top:none!important}.pac-item:hover{background:#f8fafc!important}.pac-item-selected{background:#eff6ff!important}.sidebar-nav{background:linear-gradient(180deg,#0f172a,#1e293b 50%,#0f172a);box-shadow:4px 0 20px #0000004d;display:flex;flex-direction:column;height:100vh;left:0;overflow-y:auto;padding:0;position:fixed;top:0;width:240px;z-index:1000}.sidebar-header{background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #ffffff1a;padding:20px}.sidebar-datetime{color:#fff;text-align:center}.sidebar-time{font-size:32px;font-weight:700;letter-spacing:2px;text-shadow:0 2px 4px #0003}.sidebar-date{font-size:13px;font-weight:500;margin-top:4px;opacity:.9;text-transform:capitalize}.sidebar-profile-section{align-items:stretch;border-bottom:1px solid #ffffff0f;display:flex;flex-direction:column;gap:10px;padding:16px 12px}.sidebar-profile-top{align-items:center;display:flex;flex-direction:row;gap:12px}.sidebar-avatar{align-items:center;background:linear-gradient(135deg,#a78bfa,#8b5cf6);border:2px solid #ffffff26;border-radius:50%;box-shadow:0 2px 8px #8b5cf640;color:#fff;display:flex;font-size:17px;font-weight:600;height:48px;justify-content:center;letter-spacing:.5px;transition:all .2s ease;width:48px}.sidebar-user-details{display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:left}.sidebar-username{color:#fff;display:block;font-size:14px;font-weight:600;letter-spacing:.3px;margin-bottom:2px}.sidebar-role{color:#94a3b8;display:block;font-size:11px;font-weight:500;letter-spacing:.2px}.sidebar-entity-badge{align-items:center;display:flex;gap:6px;margin-top:2px;padding:4px 0}.entity-icon{color:#a78bfa;font-size:10px}.entity-name{color:#c4b5fd;font-size:11px;letter-spacing:.3px}.sidebar-menu{flex:1 1;overflow-y:auto;padding:16px 12px}.sidebar-category{margin-bottom:20px}.sidebar-category:last-child{margin-bottom:0}.sidebar-category-title{color:#64748b;font-size:10px;font-weight:700;letter-spacing:1.5px;margin-bottom:8px;padding:0 12px;text-transform:uppercase}.sidebar-category-items{display:flex;flex-direction:column;gap:2px}.sidebar-item{align-items:center;background:#0000;border:none;border-radius:10px;cursor:pointer;display:flex;gap:12px;padding:12px 16px;text-align:left;transition:all .2s ease;width:100%}.sidebar-item:hover{background:#ffffff0f}.sidebar-item.active{background:linear-gradient(135deg,#6366f133,#8b5cf633);border-left:3px solid #8b5cf6}.sidebar-icon{color:#64748b;font-size:16px;text-align:center;transition:color .2s ease;width:24px}.sidebar-item:hover .sidebar-icon{color:#94a3b8}.sidebar-item.active .sidebar-icon{color:#a78bfa}.sidebar-label{color:#94a3b8;font-size:14px;font-weight:500;transition:color .2s ease}.sidebar-item:hover .sidebar-label{color:#cbd5e1}.sidebar-item.active .sidebar-label{color:#fff;font-weight:600}.sidebar-badge{align-items:center;animation:badgePulse 2s infinite;background:linear-gradient(135deg,#ef4444,#dc2626);border-radius:10px;box-shadow:0 2px 6px #ef444480;color:#fff;display:flex;font-size:11px;font-weight:700;height:20px;justify-content:center;margin-left:auto;min-width:20px;padding:0 6px}@keyframes badgePulse{0%,to{box-shadow:0 2px 6px #ef444480;transform:scale(1)}50%{box-shadow:0 3px 10px #ef4444b3;transform:scale(1.1)}}.sidebar-footer{background:#0003;border-top:1px solid #ffffff14;padding:16px}.sidebar-logout{align-items:center;background:#ef44441a;border:1px solid #ef44444d;border-radius:10px;cursor:pointer;display:flex;gap:10px;justify-content:center;padding:12px 16px;transition:all .2s ease;width:100%}.sidebar-logout:hover{background:#ef444433;border-color:#ef444480}.sidebar-logout .sidebar-icon{color:#f87171;font-size:14px;width:auto}.sidebar-logout .sidebar-label{color:#f87171;font-size:13px;font-weight:600}.sidebar-logout:hover .sidebar-icon,.sidebar-logout:hover .sidebar-label{color:#fca5a5}@media (max-width:1024px){.sidebar-nav{padding:0;width:80px}.sidebar-header{padding:16px 8px}.sidebar-time{font-size:18px}.sidebar-date{display:none}.sidebar-profile-section{padding:12px 8px}.sidebar-avatar{font-size:16px;height:44px;width:44px}.sidebar-category-title,.sidebar-entity-badge,.sidebar-user-details{display:none}.sidebar-item{justify-content:center;padding:14px 8px}.sidebar-label{display:none}.sidebar-icon{font-size:20px;width:auto}.sidebar-logout{padding:12px 8px}.sidebar-logout .sidebar-label{display:none}}.mobile-menu-fab,.mobile-menu-overlay{display:none}@media (max-width:768px){.mobile-menu-fab{align-items:center;background:linear-gradient(135deg,#8b5cf6,#6366f1);border:none;border-radius:50%;bottom:24px;box-shadow:0 4px 20px #8b5cf666;color:#fff;cursor:pointer;display:flex;height:60px;justify-content:center;position:fixed;right:24px;transition:all .3s cubic-bezier(.4,0,.2,1);width:60px;z-index:998}.mobile-menu-fab:hover{box-shadow:0 6px 24px #8b5cf699;transform:scale(1.1)}.mobile-menu-fab:active{transform:scale(.95)}.mobile-menu-overlay{animation:fadeIn .3s ease;background:#0009;bottom:0;display:block;left:0;position:fixed;right:0;top:0;z-index:999}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sidebar-nav{background:#0f172a;border-radius:0;bottom:0;box-shadow:4px 0 24px #0000004d;flex-direction:column;height:100vh;left:0;max-width:75vw;overflow-y:auto;padding:0;position:fixed;top:0;transform:translateX(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);width:260px;z-index:1000}.sidebar-nav.mobile-open{transform:translateX(0)}.sidebar-header{align-items:flex-start;display:flex;flex-direction:column;padding:16px}.sidebar-time{text-align:left;width:100%}.sidebar-profile-section{display:flex;padding:16px}.sidebar-profile,.sidebar-profile-section{align-items:center;flex-direction:row;gap:12px}.sidebar-profile{width:100%}.sidebar-avatar{height:44px;min-width:44px;width:44px}.sidebar-profile-info{align-items:flex-start;flex:1 1;flex-direction:column;gap:2px}.sidebar-profile-name{color:#fff!important;font-weight:600;text-align:left;width:100%}.sidebar-profile-role{color:#ffffffb3!important;text-align:left;width:100%}.sidebar-profile-entity{color:#8b5cf6e6!important;display:flex!important;text-align:left;width:-webkit-fit-content;width:fit-content}.sidebar-footer{display:flex;flex-direction:column;gap:8px;padding:16px}.sidebar-logout,.sidebar-security{justify-content:flex-start;text-align:left;width:100%}.sidebar-logout .sidebar-label,.sidebar-security .sidebar-label,.sidebar-username{color:#fff!important;display:block!important}.sidebar-role{color:#ffffffb3!important;display:block!important}.entity-name{color:#8b5cf6e6!important;display:block!important}.sidebar-user-details{flex-direction:column}.sidebar-entity-badge,.sidebar-user-details{display:flex!important}.sidebar-category-title{display:block;padding:12px 16px 6px;text-align:left;width:100%}.sidebar-menu{flex:1 1;flex-direction:column;gap:4px;overflow-y:auto;padding:8px 12px;width:100%}.sidebar-category{display:flex;flex-direction:column;margin-bottom:8px}.sidebar-category-items{flex-direction:column;gap:2px}.sidebar-item{align-items:center;border-radius:8px;flex-direction:row;gap:12px;justify-content:flex-start;min-width:auto;padding:12px 14px}.sidebar-item.active{border-left:3px solid #8b5cf6}.sidebar-label{color:#ffffffe6!important;display:block;flex:1 1;text-align:left}.sidebar-icon{flex-shrink:0}.badge{margin-left:auto}.sidebar-security{align-items:center;display:flex;flex-direction:row;gap:12px}.sidebar-security .sidebar-label{flex:1 1;text-align:left}.sidebar-logout{align-items:center;display:flex;flex-direction:row;gap:12px}.sidebar-logout .sidebar-icon{color:#f87171!important;display:block!important}.sidebar-logout .sidebar-label{color:#fff!important;display:block!important;flex:1 1!important;font-size:13px!important;font-weight:600!important;text-align:left!important}.sidebar-security .sidebar-icon{color:#60a5fa!important;display:block!important}}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:#0000}.sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#fff3}.sidebar-menu::-webkit-scrollbar{width:4px}.sidebar-menu::-webkit-scrollbar-track{background:#0000}.sidebar-menu::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}.sidebar-security{align-items:center;background:#3b82f61a;border:1px solid #3b82f64d;border-radius:10px;cursor:pointer;display:flex;gap:10px;justify-content:center;margin-bottom:8px;padding:12px 16px;transition:all .2s ease;width:100%}.sidebar-security:hover{background:#3b82f633;border-color:#3b82f680}.sidebar-security .sidebar-icon{color:#60a5fa;font-size:14px;width:auto}.sidebar-security .sidebar-label{color:#60a5fa;font-size:13px;font-weight:600}.sidebar-security:hover .sidebar-icon,.sidebar-security:hover .sidebar-label{color:#93c5fd}.password-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.password-modal{animation:slideUp .3s ease-out;background:#fff;border-radius:20px;box-shadow:0 25px 50px #0000004d;max-width:420px;overflow:hidden;width:90%}.password-modal-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:24px;position:relative;text-align:center}.password-modal-icon{align-items:center;background:#fff3;border-radius:50%;display:flex;font-size:28px;height:60px;justify-content:center;margin:0 auto 12px;width:60px}.password-modal-header h2{font-size:20px;font-weight:600;margin:0}.password-modal-close{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:16px;height:32px;justify-content:center;position:absolute;right:16px;top:16px;transition:background .2s;width:32px}.password-modal-close:hover{background:#ffffff4d}.password-modal-form{padding:24px}.password-alert{align-items:center;border-radius:10px;display:flex;font-size:14px;font-weight:500;gap:10px;margin-bottom:20px;padding:12px 16px}.password-alert.error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.password-alert.success{background:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a}.alert-icon{font-size:16px}.password-form-group{margin-bottom:20px}.password-form-group label{color:#374151;display:block;font-size:13px;font-weight:600;margin-bottom:8px}.password-form-group input{border:2px solid #e5e7eb;border-radius:10px;box-sizing:border-box;color:#1f2937;font-size:15px;padding:12px 16px;transition:all .2s ease;width:100%}.password-form-group input:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a;outline:none}.password-form-group input::placeholder{color:#9ca3af}.password-hint{color:#6b7280;display:block;font-size:12px;margin-top:6px}.password-modal-actions{display:flex;gap:12px;margin-top:24px}.password-modal-actions button{border-radius:10px;cursor:pointer;flex:1 1;font-size:15px;font-weight:600;padding:14px 20px;transition:all .2s ease}.btn-cancel{background:#f3f4f6;border:1px solid #e5e7eb;color:#4b5563}.btn-cancel:hover{background:#e5e7eb}.btn-submit{background:linear-gradient(135deg,#667eea,#764ba2);border:none;box-shadow:0 4px 12px #667eea66;color:#fff}.btn-submit:hover:not(:disabled){box-shadow:0 6px 16px #667eea80;transform:translateY(-1px)}.btn-submit:disabled{cursor:not-allowed;opacity:.6}@media (max-width:1024px){.sidebar-security{padding:12px 8px}.sidebar-security .sidebar-label{display:none}}@media (max-width:768px){.sidebar-security{display:none}.password-modal{margin:16px;max-width:none;width:95%}}.login-container{align-items:center;background:#f5f5f5;display:flex;justify-content:center;min-height:100vh;padding:20px}.login-card{background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000001a;max-width:400px;padding:40px;width:100%}.login-header{margin-bottom:30px;text-align:center}.login-title{color:#333;font-size:2rem;font-weight:600;margin-bottom:10px}.login-subtitle{color:#666;font-size:1rem;margin:0}.login-form{display:flex;flex-direction:column;gap:20px}.form-group{position:relative}.form-label{font-size:.9rem;font-weight:600}.form-input{border:1px solid #ddd;border-radius:4px}.form-input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.form-input::placeholder{color:#999}.login-button{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:10px;padding:12px 24px}.login-button:hover{background:#0056b3}.login-button:disabled{cursor:not-allowed;opacity:.6}.login-error{background:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24}.login-error,.login-success{font-weight:500;margin-bottom:20px;padding:12px 16px}.login-success{background:#d4edda;border:1px solid #c3e6cb;border-radius:4px;color:#155724}.login-footer{border-top:1px solid #eee;color:#666;margin-top:30px;padding-top:20px;text-align:center}.login-footer a{color:#007bff;font-weight:600;text-decoration:none}.login-footer a:hover{color:#0056b3}.login-loading{align-items:center;display:flex;gap:10px;justify-content:center}.loading-spinner{border:2px solid #ffffff4d;border-top-color:#fff}@media (max-width:480px){.login-container{padding:10px}.login-card{padding:30px 20px}.login-title{font-size:1.8rem}.login-subtitle{font-size:.9rem}.form-input{padding:10px 14px}.login-button{font-size:.9rem;padding:10px 20px}}.dashboard-container{background:#f5f5f5;min-height:100vh;padding:20px}.dashboard-container.timeline-fullpage{display:flex;flex-direction:column;height:100%;overflow:hidden;padding:0;position:relative;width:100%}.dashboard-card{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin-bottom:20px;padding:30px}.dashboard-card:hover{box-shadow:0 4px 20px #00000026}.dashboard-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.dashboard-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#333;font-size:2rem;font-weight:600;margin:0}.back-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:25px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:8px;padding:10px 16px;transition:all .3s ease}.back-button:hover{box-shadow:0 6px 20px #667eea66;transform:translateX(-5px)}.back-button:active{transform:translateX(-3px)}.back-icon{font-size:1.2rem;transition:transform .3s ease}.back-button:hover .back-icon{transform:translateX(-2px)}.back-text{font-size:.9rem}.admin-menu{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:40px 0}.admin-menu-item{align-items:center;animation:slideInUp .8s ease-out;animation-fill-mode:both;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;box-shadow:0 8px 25px #667eea4d;color:#fff;cursor:pointer;display:flex;gap:20px;overflow:hidden;padding:30px;position:relative;transition:all .4s ease}.admin-menu-item:first-child{animation-delay:.1s}.admin-menu-item:nth-child(2){animation-delay:.2s}.admin-menu-item:nth-child(3){animation-delay:.3s}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.admin-menu-item:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.admin-menu-item:hover:before{left:100%}.admin-menu-item:hover{box-shadow:0 15px 40px #667eea66;transform:translateY(-10px) scale(1.02)}.admin-menu-item:active{transform:translateY(-5px) scale(1.01)}.menu-item-icon{font-size:2.5rem;opacity:.9;transition:all .3s ease}.admin-menu-item:hover .menu-item-icon{opacity:1;transform:scale(1.1) rotate(5deg)}.menu-item-content{flex:1 1}.menu-item-title{font-size:1.5rem;font-weight:700;margin:0 0 8px;text-shadow:0 2px 4px #0003}.menu-item-description{font-size:.95rem;line-height:1.4;margin:0;opacity:.9}.menu-item-arrow{font-size:1.5rem;font-weight:700;opacity:.7;transition:all .3s ease}.admin-menu-item:hover .menu-item-arrow{opacity:1;transform:translateX(5px)}.admin-footer{border-top:1px solid #eee;margin-top:40px;padding-top:20px;text-align:center}.admin-footer p{color:#666;font-size:.9rem;margin:5px 0}.admin-footer p:first-child{color:#333;font-size:1rem;font-weight:600}.dashboard-stats{flex-wrap:wrap;gap:30px;margin-bottom:40px}.dashboard-stats,.stat-bubble{align-items:center;display:flex;justify-content:center}.stat-bubble{animation:bubbleFloat .8s ease-out;animation-fill-mode:both;border-radius:50%;box-shadow:0 8px 25px #0003;color:#fff;cursor:pointer;flex-direction:column;height:80px;overflow:hidden;position:relative;transition:all .4s ease;width:80px}.stat-bubble:first-child{animation-delay:.1s;background:linear-gradient(135deg,#667eea,#764ba2)}.stat-bubble:nth-child(2){animation-delay:.2s;background:linear-gradient(135deg,#f093fb,#f5576c)}.stat-bubble:nth-child(3){animation-delay:.3s;background:linear-gradient(135deg,#4facfe,#00f2fe)}.stat-bubble:nth-child(4){animation-delay:.4s;background:linear-gradient(135deg,#43e97b,#38f9d7)}.stat-bubble:nth-child(5){animation-delay:.5s;background:linear-gradient(135deg,#fa709a,#fee140)}@keyframes bubbleFloat{0%{opacity:0;transform:scale(.3) translateY(50px)}to{opacity:1;transform:scale(1) translateY(0)}}.stat-bubble:before{background:#fff3;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:all .6s ease;width:0}.stat-bubble:hover:before{height:100%;width:100%}.stat-bubble:hover{box-shadow:0 15px 35px #667eea66;transform:scale(1.15) translateY(-10px)}.stat-bubble:active{transform:scale(1.1) translateY(-5px)}.stat-number{font-size:1.3rem;margin-bottom:2px}.stat-label,.stat-number{position:relative;z-index:1}.stat-label{font-size:.6rem;opacity:.9;text-align:center}.stat-bubble:after{animation:bubblePulse 2s infinite;background:inherit;border-radius:50%;content:"";height:100%;left:50%;opacity:.3;position:absolute;top:50%;transform:translate(-50%,-50%) scale(0);width:100%}@keyframes bubblePulse{0%{opacity:.3;transform:translate(-50%,-50%) scale(.8)}50%{opacity:.1;transform:translate(-50%,-50%) scale(1.2)}to{opacity:.3;transform:translate(-50%,-50%) scale(.8)}}.permissions-list{word-wrap:break-word;color:#666;font-size:12px;line-height:1.4;max-width:200px}.permission-filters{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:15px;padding:15px}.filter-header{align-items:center;color:#333;display:flex;font-weight:500;gap:8px;margin-bottom:12px}.filter-icon{color:#667eea;font-size:18px}.filter-buttons{display:flex;flex-wrap:wrap;gap:8px}.filter-btn{border:1px solid #dee2e6;border-radius:20px;color:#6c757d;font-size:.85rem;font-weight:500;padding:6px 12px}.filter-btn:hover{background:#e9ecef;border-color:#adb5bd;color:#495057}.filter-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;box-shadow:0 2px 8px #667eea4d}.filter-btn.active:hover{background:linear-gradient(135deg,#5a6fd8,#6a4190);box-shadow:0 4px 12px #667eea66}.permissions-grid{grid-gap:10px;background-color:#fafafa;border:1px solid #e0e0e0;border-radius:8px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));max-height:200px;overflow-y:auto;padding:15px}.permission-checkbox{align-items:center;background-color:#fff;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;display:flex;gap:8px;padding:8px;transition:all .2s ease}.permission-checkbox:hover{background-color:#f5f5f5;border-color:#d0d0d0}.permission-checkbox input[type=checkbox]{cursor:pointer;height:16px;width:16px}.permission-label{color:#333;cursor:pointer;flex:1 1;font-size:14px}.no-permissions{background:#fff;border:1px dashed #dee2e6;border-radius:6px;color:#6c757d;font-style:italic;padding:20px;text-align:center}.dashboard-table{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;overflow:hidden;transition:all .3s ease}.dashboard-table:hover{box-shadow:0 4px 20px #00000026}.table-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px 30px}.table-header h2{font-size:1.5rem;font-weight:600;margin:0}.table-container{padding:0}.custom-table{border-collapse:collapse;width:100%}.custom-table th{background:#f8f9fa;border-bottom:2px solid #dee2e6;color:#333;font-weight:600;padding:15px;text-align:left}.custom-table td{border-bottom:1px solid #dee2e6;padding:15px;vertical-align:middle}.custom-table tr{transition:background-color .2s ease}.custom-table tr:hover{background-color:#f8f9fa}.btn-primary{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:25px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:8px;padding:12px 24px;transition:all .3s ease}.btn-primary:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:#6c757d;border:none;border-radius:25px;color:#fff;cursor:pointer;font-weight:500;padding:12px 24px;transition:all .3s ease}.btn-secondary:hover{background:#5a6268;transform:translateY(-1px)}.btn-danger{background:linear-gradient(135deg,#ff6b6b,#ee5a52);border:none;border-radius:25px;box-shadow:0 4px 15px #ff6b6b4d;color:#fff;cursor:pointer;font-weight:500;padding:12px 24px;transition:all .3s ease}.btn-danger:hover{box-shadow:0 6px 20px #ff6b6b66;transform:translateY(-1px)}.action-buttons{gap:8px;justify-content:center}.action-btn{background:none;border-radius:6px;justify-content:center;padding:8px;transition:all .2s ease}.action-btn.edit{color:#007bff}.action-btn.edit:hover{background:#007bff1a}.action-btn.delete{color:#dc3545}.action-btn.delete:hover{background:#dc35451a}.dialog-overlay{align-items:center;animation:fadeIn .3s ease-out;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:30000}.dialog-content{animation:slideInUp .4s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.dialog-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px 30px}.dialog-title{font-size:1.5rem;font-weight:600;margin:0}.dialog-close{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:35px;justify-content:center;padding:5px;transition:all .2s ease;width:35px}.dialog-close:hover{background:#fff3;transform:rotate(90deg)}.dialog-content form{padding:30px}.form-group{animation:fadeInUp .6s ease-out;animation-fill-mode:both;margin-bottom:20px}.form-group:first-child{animation-delay:.1s}.form-group:nth-child(2){animation-delay:.2s}.form-group:nth-child(3){animation-delay:.3s}.form-label{color:#333;display:block;font-weight:500;margin-bottom:8px}.form-input{border:2px solid #e9ecef;border-radius:8px;box-sizing:border-box;font-size:1rem;padding:12px 16px;transition:all .3s ease;width:100%}.form-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none;transform:translateY(-1px)}.form-select{border:2px solid #e9ecef;border-radius:8px;box-sizing:border-box;font-size:1rem;padding:12px 16px;transition:all .3s ease;width:100%}.form-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none;transform:translateY(-1px)}.form-textarea{border:2px solid #e9ecef;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:1rem;min-height:100px;padding:12px 16px;resize:vertical;transition:all .3s ease;width:100%}.form-textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none;transform:translateY(-1px)}.alert{animation:slideInRight .5s ease-out;border-radius:8px;font-weight:500;margin-bottom:20px;padding:12px 16px}@keyframes slideInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}.alert-error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.alert-success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.loading{align-items:center;color:#666;display:flex;font-size:1.1rem;gap:10px;justify-content:center;padding:40px}.loading-spinner{border:2px solid #e9ecef;border-top-color:#667eea;height:20px;width:20px}.empty-state{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;min-height:300px;padding:60px 20px;text-align:center}.empty-state h3{color:#333;font-size:1.5rem;margin:16px 0 8px}.empty-state p{color:#666;font-size:1rem;line-height:1.5;margin:0 0 24px;max-width:400px}.empty-state-icon{animation:bounce 2s infinite;font-size:4rem;margin-bottom:20px;opacity:.5}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.empty-state-text{font-size:1.2rem;font-weight:500}@media (max-width:768px){.dashboard-container{padding:10px}.dashboard-card{padding:20px}.dashboard-title{font-size:1.5rem}.dashboard-stats{gap:15px;grid-template-columns:repeat(2,1fr)}.stat-bubble{padding:15px}.stat-number{font-size:1.5rem}.stat-label{font-size:.7rem}.dashboard-header{align-items:stretch;gap:15px}.action-buttons,.dashboard-header{flex-direction:column}.back-button{align-self:flex-start}.admin-menu{gap:15px;grid-template-columns:1fr}.admin-menu-item{padding:20px}.menu-item-arrow{display:none}.permissions-grid{grid-template-columns:1fr}.dialog-content{margin:10px;max-height:95vh}}.modern-dashboard{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:100vh;padding:0}.dashboard-wrapper{margin:0 auto;max-width:1400px;padding:30px}.modern-header{align-items:center;animation:slideInDown .6s ease-out;background:#fff;border-radius:20px;box-shadow:0 8px 30px #0000001f;display:flex;justify-content:space-between;margin-bottom:30px;padding:30px 40px}@keyframes slideInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.header-left{flex:1 1}.modern-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:2.2rem;font-weight:700;margin:0 0 8px}.modern-subtitle{color:#666;font-size:1rem;margin:0}.user-profile{align-items:center;background:#f8f9fa;border:2px solid #e9ecef;border-radius:50px;display:flex;gap:15px;padding:15px 25px}.user-avatar-modern{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 4px 15px #667eea66;color:#fff;display:flex;font-size:1.3rem;font-weight:700;height:50px;justify-content:center;width:50px}.user-details-modern{display:flex;flex-direction:column}.user-name-modern{color:#333;font-size:1.05rem;font-weight:700}.user-role-modern{color:#666;font-size:.9rem}.stats-grid-main{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.stat-card-modern{align-items:center;animation:fadeInUp .6s ease-out;animation-fill-mode:both;background:#fff;border-radius:20px;box-shadow:0 8px 30px #00000014;cursor:pointer;display:flex;gap:20px;overflow:hidden;padding:30px;position:relative;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.stat-card-modern:first-child{animation-delay:.1s}.stat-card-modern:nth-child(2){animation-delay:.2s}.stat-card-modern:nth-child(3){animation-delay:.3s}.stat-card-modern:nth-child(4){animation-delay:.4s}.stat-card-modern:before{border-radius:50%;content:"";height:100px;opacity:.1;position:absolute;right:0;top:0;transition:all .4s ease;width:100px}.stat-card-modern.blue:before{background:#3b82f6}.stat-card-modern.green:before{background:#10b981}.stat-card-modern.orange:before{background:#f59e0b}.stat-card-modern.purple:before{background:#8b5cf6}.stat-card-modern:hover{box-shadow:0 15px 50px #00000026;transform:translateY(-10px) scale(1.02)}.stat-card-modern:hover:before{height:200px;width:200px}.stat-icon-modern{align-items:center;border-radius:18px;box-shadow:0 8px 20px #0000001a;display:flex;font-size:2rem;height:70px;justify-content:center;width:70px}.stat-card-modern.blue .stat-icon-modern{background:linear-gradient(135deg,#3b82f6,#2563eb)}.stat-card-modern.green .stat-icon-modern{background:linear-gradient(135deg,#10b981,#059669)}.stat-card-modern.orange .stat-icon-modern{background:linear-gradient(135deg,#f59e0b,#d97706)}.stat-card-modern.purple .stat-icon-modern{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.stat-content-modern{flex:1 1}.stat-value-modern{color:#333;font-size:2.5rem;font-weight:700;line-height:1;margin-bottom:8px}.stat-label-modern{color:#666;font-size:.95rem;font-weight:500}.progress-section{animation:fadeInUp .6s ease-out .5s;animation-fill-mode:both;margin-bottom:30px}.progress-card{background:#fff;border-radius:20px;box-shadow:0 8px 30px #00000014;padding:30px 40px}.progress-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.progress-title{color:#333;font-size:1.2rem;font-weight:700}.progress-percentage{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#10b981,#059669);-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:700}.progress-bar-modern{background:#e9ecef;border-radius:50px;box-shadow:inset 0 2px 8px #0000001a;height:20px;margin-bottom:15px;overflow:hidden}.progress-fill-modern{border-radius:50px;height:100%;overflow:hidden;position:relative;transition:width 1s cubic-bezier(.4,0,.2,1)}.progress-fill-modern.green{animation:shimmer 2s infinite;background:linear-gradient(90deg,#10b981,#34d399,#10b981);background-size:200% 100%}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.progress-details{color:#666;display:flex;font-size:.9rem;justify-content:space-between}.admin-grid-modern{animation:fadeInUp .6s ease-out .6s;animation-fill-mode:both}.section-title-modern{border-image:linear-gradient(135deg,#667eea,#764ba2) 1;border-left:5px solid;color:#333;font-size:1.5rem;font-weight:700;margin:40px 0 25px;padding-left:15px}.cards-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:30px}.action-card-modern{background:#fff;border-radius:20px;box-shadow:0 8px 30px #00000014;cursor:pointer;overflow:hidden;padding:30px;position:relative;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.action-card-modern:before{background:radial-gradient(circle,#ffffff1a 0,#0000 70%);content:"";height:200%;opacity:0;position:absolute;right:-50%;top:-50%;transition:opacity .4s ease;width:200%}.action-card-modern:hover:before{opacity:1}.action-card-modern:hover{box-shadow:0 20px 60px #00000026;transform:translateY(-10px) scale(1.03)}.action-card-modern:active{transform:translateY(-5px) scale(1.01)}.card-icon-modern{align-items:center;border-radius:18px;box-shadow:0 8px 20px #00000026;display:flex;font-size:2rem;height:70px;justify-content:center;margin-bottom:20px;transition:all .4s ease;width:70px}.action-card-modern:hover .card-icon-modern{transform:scale(1.1) rotate(5deg)}.card-icon-modern.blue{background:linear-gradient(135deg,#3b82f6,#2563eb)}.card-icon-modern.purple{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.card-icon-modern.green{background:linear-gradient(135deg,#10b981,#059669)}.card-icon-modern.orange{background:linear-gradient(135deg,#f59e0b,#d97706)}.card-content-modern h3{color:#333;font-size:1.3rem;font-weight:700;margin:0 0 10px}.card-content-modern p{color:#666;font-size:.95rem;line-height:1.5;margin:0 0 15px}.card-stat{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;box-shadow:0 4px 15px #667eea4d;color:#fff;display:inline-block;font-size:.85rem;font-weight:600;padding:6px 15px}@media (max-width:768px){.dashboard-wrapper{padding:15px}.modern-header{flex-direction:column;gap:20px;padding:25px}.modern-title{font-size:1.8rem}.cards-grid,.stats-grid-main{grid-template-columns:1fr}.progress-card{padding:25px}.section-title-modern{font-size:1.3rem;margin:30px 0 20px}}.stock-health{background:#fff;border:1px solid #e9ecef;border-radius:15px;box-shadow:0 4px 15px #0000001a;margin-top:30px;padding:30px}.stock-health h3{color:#333;font-size:1.3rem;font-weight:600;margin:0 0 25px}.health-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.health-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;padding:25px;transition:all .3s ease}.health-card:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-3px)}.health-label{color:#666;font-size:.95rem;font-weight:500;margin-bottom:10px}.health-value{color:#333;font-size:2.5rem;font-weight:700;margin-bottom:15px}.health-bar{background:#e9ecef;border-radius:10px;box-shadow:inset 0 2px 4px #0000001a;height:12px;overflow:hidden;width:100%}.health-bar-fill{border-radius:10px;box-shadow:0 2px 8px #0003;height:100%;transition:width .6s ease}.stats-details{background:#fff;border:1px solid #e9ecef;border-radius:15px;box-shadow:0 4px 15px #0000001a;margin-top:30px;padding:30px}.stats-details h3{color:#333;font-size:1.3rem;font-weight:600;margin:0 0 25px}.details-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.detail-box{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 15px #667eea4d;color:#fff;display:flex;flex-direction:column;padding:20px;text-align:center;transition:all .3s ease}.detail-box:hover{box-shadow:0 8px 25px #667eea66;transform:translateY(-5px)}.detail-label{font-size:.9rem;margin-bottom:10px;opacity:.9}.detail-value{font-size:2rem;font-weight:700}.planning-message{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:15px;box-shadow:0 8px 25px #667eea4d;color:#fff;margin-bottom:30px;padding:50px;text-align:center}.message-icon{font-size:4rem;margin-bottom:20px;opacity:.9}.planning-message h3{font-size:2rem;font-weight:700;margin:0 0 15px}.planning-message p{font-size:1.1rem;line-height:1.6;margin:10px 0;opacity:.95}.message-details{font-size:.95rem;opacity:.85}.planning-features{background:#fff;border:1px solid #e9ecef;border-radius:15px;box-shadow:0 4px 15px #0000001a;padding:30px}.planning-features h3{color:#333;font-size:1.3rem;font-weight:600;margin:0 0 25px}.features-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.feature-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;padding:25px;text-align:center;transition:all .3s ease}.feature-card:hover{background:#fff;box-shadow:0 8px 25px #0000001a;transform:translateY(-5px)}.feature-icon{font-size:2.5rem;margin-bottom:15px}.feature-card h4{color:#333;font-size:1.1rem;font-weight:600;margin:0 0 10px}.feature-card p{color:#666;font-size:.9rem;line-height:1.4;margin:0}.overview-card{cursor:pointer}.overview-card:active{transform:translateY(-3px)}.action-btn:active{transform:translateY(0)}.header-content{flex:1 1;justify-content:space-between}.user-info{background:#f8f9fa;border:1px solid #e9ecef;border-radius:25px;gap:15px;padding:15px 20px}.user-avatar,.user-info{align-items:center;display:flex}.user-avatar{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 4px 15px #667eea4d;color:#fff;font-size:1.2rem;font-weight:600;height:45px;justify-content:center;width:45px}.user-details{display:flex;flex-direction:column}.user-name{color:#333;font-size:1rem;font-weight:600}.user-role{color:#666;font-size:.9rem}.admin-btn{align-items:center;border-radius:25px;display:flex;font-size:.95rem;gap:8px;padding:12px 20px;transition:all .3s ease}.admin-btn:hover{box-shadow:0 8px 25px #667eea66;transform:translateY(-2px)}.home-tabs{border-bottom:2px solid #f0f0f0;display:flex;gap:10px;margin-bottom:30px;padding-bottom:0}.tab-btn{background:none;border-radius:10px 10px 0 0;color:#666;font-size:1rem;font-weight:500;padding:15px 25px}.tab-btn:hover{background:#f8f9fa;color:#333}.tab-btn.active{box-shadow:0 4px 15px #667eea4d}.tab-btn.active,.tab-btn.active:after{background:linear-gradient(135deg,#667eea,#764ba2)}.tab-btn.active:after{bottom:-2px;content:"";height:2px;left:0;position:absolute;right:0}.tab-content{min-height:400px}.dashboard-overview{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:40px}.overview-card{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:15px;box-shadow:0 4px 15px #0000001a;display:flex;gap:20px;padding:25px;transition:all .3s ease}.overview-card:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-5px)}.overview-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:15px;color:#fff;display:flex;font-size:1.8rem;height:60px;justify-content:center;width:60px}.overview-icon.revenue{background:linear-gradient(135deg,#4caf50,#45a049)}.overview-icon.users{background:linear-gradient(135deg,#2196f3,#1976d2)}.overview-icon.events{background:linear-gradient(135deg,#ff9800,#f57c00)}.overview-icon.stands{background:linear-gradient(135deg,#9c27b0,#7b1fa2)}.overview-icon.materials{background:linear-gradient(135deg,#607d8b,#455a64)}.overview-content h3{color:#666;font-size:.95rem;font-weight:500;margin:0 0 8px}.overview-value{color:#333;font-size:1.8rem;font-weight:700;margin-bottom:5px}.overview-change{color:#666;font-size:.9rem}.overview-change.positive{color:#4caf50;font-weight:600}.quick-actions{background:#fff;border:1px solid #e9ecef;border-radius:15px;box-shadow:0 4px 15px #0000001a;padding:30px}.quick-actions h3{color:#333;font-size:1.3rem;font-weight:600;margin:0 0 25px}.action-buttons{display:flex;flex-wrap:wrap;gap:15px}.action-btn{align-items:center;border:none;border-radius:25px;cursor:pointer;display:flex;font-size:.95rem;font-weight:500;gap:8px;padding:12px 20px;text-decoration:none;transition:all .3s ease}.action-btn.primary{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 15px #667eea4d;color:#fff}.action-btn.primary:hover{box-shadow:0 8px 25px #667eea66;transform:translateY(-2px)}.action-btn.secondary{background:linear-gradient(135deg,#4caf50,#45a049);box-shadow:0 4px 15px #4caf504d;color:#fff}.action-btn.secondary:hover{box-shadow:0 8px 25px #4caf5066;transform:translateY(-2px)}.action-btn.tertiary{background:linear-gradient(135deg,#ff9800,#f57c00);box-shadow:0 4px 15px #ff98004d;color:#fff}.action-btn.tertiary:hover{box-shadow:0 8px 25px #ff980066;transform:translateY(-2px)}.planning-overview,.stock-overview{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:40px}.planning-stat,.stock-stat{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:15px;box-shadow:0 4px 15px #0000001a;display:flex;gap:15px;padding:20px;transition:all .3s ease}.planning-stat:hover,.stock-stat:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-3px)}.stat-icon{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:1.5rem;height:50px;width:50px}.stat-icon.warning{background:linear-gradient(135deg,#ff9800,#f57c00)}.stat-icon.available{background:linear-gradient(135deg,#4caf50,#45a049)}.stat-number{color:#333;font-size:1.5rem;font-weight:700;margin-bottom:5px}.stat-label{color:#666;font-size:.9rem}.planning-actions,.stock-actions{background:#fff;border:1px solid #e9ecef;border-radius:15px;box-shadow:0 4px 15px #0000001a;margin-bottom:30px;padding:30px}.planning-actions h3,.stock-actions h3{color:#333;font-size:1.3rem;font-weight:600;margin:0 0 25px}.action-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.action-item{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;padding:25px;text-align:center;transition:all .3s ease}.action-item:hover{background:#fff;box-shadow:0 8px 25px #0000001a;transform:translateY(-3px)}.action-item .action-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:15px;color:#fff;display:flex;font-size:1.8rem;height:60px;justify-content:center;margin:0 auto 20px;width:60px}.action-item h4{color:#333;font-size:1.1rem;font-weight:600;margin:0 0 10px}.action-item p{color:#666;font-size:.9rem;line-height:1.4;margin:0 0 20px}.btn-outline{background:none;border:2px solid #667eea;border-radius:20px;color:#667eea;cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 16px;transition:all .3s ease}.btn-outline:hover{background:#667eea;color:#fff;transform:translateY(-2px)}.recent-activity,.recent-bookings{background:#fff;border:1px solid #e9ecef;border-radius:15px;box-shadow:0 4px 15px #0000001a;padding:30px}.recent-activity h3,.recent-bookings h3{color:#333;font-size:1.3rem;font-weight:600;margin:0 0 25px}.activity-list,.booking-list{display:flex;flex-direction:column;gap:15px}.activity-item,.booking-item{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:10px;display:flex;gap:15px;padding:15px;transition:all .3s ease}.activity-item:hover,.booking-item:hover{background:#fff;box-shadow:0 4px 15px #0000001a}.activity-icon{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;font-size:1.2rem;height:40px;width:40px}.activity-content{flex:1 1}.activity-title{color:#333;margin-bottom:5px}.activity-meta{color:#666;font-size:.85rem}.booking-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.booking-event{color:#333;font-weight:600}.booking-status{border-radius:15px;font-size:.8rem;font-weight:500;padding:4px 12px}.booking-status.confirmé{background:#e8f5e8;color:#2e7d32}.booking-status.en-attente{background:#fff3e0;color:#f57c00}.booking-details{color:#666;display:flex;font-size:.9rem;gap:20px}.booking-date,.booking-stand{align-items:center;display:flex;gap:5px}@media (max-width:768px){.dashboard-header{align-items:stretch;flex-direction:column;gap:20px}.header-content{flex-direction:column;gap:15px}.user-info{justify-content:center}.home-tabs{flex-direction:column;gap:5px}.tab-btn{border-radius:10px;justify-content:center}.dashboard-overview{grid-template-columns:1fr}.action-buttons{flex-direction:column}.action-grid,.planning-overview,.stock-overview{grid-template-columns:1fr}.booking-header{align-items:flex-start}.booking-details,.booking-header{flex-direction:column;gap:5px}}.summary-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.summary-section h3{color:#495057;font-size:1.2rem;margin:0 0 1rem}.summary-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.summary-card{background:#fff;border:1px solid #dee2e6;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1rem}.summary-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:.5rem;padding-bottom:.5rem}.summary-header h4{color:#495057;font-size:1rem;margin:0}.summary-details p{color:#6c757d;font-size:.9rem;margin:.25rem 0}.summary-details strong{color:#495057}.badge{border-radius:4px;font-size:.75rem;font-weight:600;padding:.25rem .5rem;text-transform:uppercase}.badge.unitaire{background:#007bff;color:#fff}.badge.standard{background:#6c757d;color:#fff}.row-unitaire{background-color:#f8f9ff}.row-unitaire:hover{background-color:#e3f2fd}.data-table{margin-top:20px}.data-table table{border-collapse:collapse;margin-top:1rem;width:100%}.data-table th{background:#f8f9fa;border-bottom:2px solid #dee2e6;color:#333;font-weight:600;padding:12px;text-align:left}.data-table td{border-bottom:1px solid #dee2e6;padding:12px;vertical-align:middle}.data-table tr{transition:background-color .2s ease}.data-table tr:hover{background-color:#f8f9fa}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172ab3;bottom:0;display:flex;justify-content:center;left:0;opacity:1;padding:20px;position:fixed;right:0;top:0;z-index:30000}.modal{background:#fff;border-radius:16px;box-shadow:0 20px 50px #00000040;display:flex;flex-direction:column;max-height:92vh;max-width:clamp(900px,96vw,1400px);overflow:hidden;width:100%}.modal-header{align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;display:flex;justify-content:space-between;padding:18px 24px}.modal>.packs-layout,.modal>form{flex:1 1 auto;min-height:0;overflow:auto}.modal-actions{bottom:0;position:-webkit-sticky;position:sticky;z-index:1}.modal-header h2{font-size:1.35rem;font-weight:600;letter-spacing:-.3px;margin:0}.modal form{background:#fafbfc;max-height:calc(92vh - 120px);overflow-y:auto;padding:20px 24px}.form-group{margin-bottom:16px}.form-group label{color:#1e293b;display:block;font-size:13px;font-weight:600;margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;color:#1e293b;font-family:inherit;font-size:13px;padding:9px 12px;transition:all .2s ease;width:100%}.form-group input:hover,.form-group select:hover,.form-group textarea:hover{border-color:#cbd5e1}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f114;outline:none}.form-group textarea{line-height:1.5;min-height:80px;resize:vertical}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}@media (max-width:768px){.form-row{grid-template-columns:1fr}}.modal-actions{background:#fff;border-top:1.5px solid #f1f5f9;gap:10px;justify-content:flex-end;margin-top:20px;padding:16px 24px}.btn-icon{align-items:center;background:none;border:1.5px solid #0000;border-radius:7px;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;justify-content:center;padding:7px 12px;transition:all .2s ease}.btn-icon.edit{background:#3b82f614;color:#3b82f6}.btn-icon.edit:hover{background:#3b82f626;border-color:#3b82f633}.btn-icon.delete{background:#ef444414;color:#ef4444}.btn-icon.delete:hover{background:#ef444426;border-color:#ef444433}.error-message{background:#fef2f2;border:1.5px solid #fecaca;border-radius:8px;color:#991b1b;font-size:13px;font-weight:500;margin-bottom:16px;padding:12px 16px}.btn-icon.info{background:#06b6d414;color:#06b6d4}.btn-icon.info:hover{background:#06b6d426;border-color:#06b6d433}@keyframes popInSoft{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.expanded-container{animation:fadeInSoft .2s ease-out;background:#f8fafb;border:1px solid #e2e8f0;border-radius:8px;margin:6px 0;padding:12px}@keyframes fadeInSoft{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.expanded-columns{grid-gap:12px;display:grid;gap:12px;grid-template-columns:3fr 1fr}@media (max-width:1400px){.expanded-columns{grid-template-columns:2.5fr 1fr}}@media (max-width:1024px){.expanded-columns{grid-template-columns:1fr}}.expanded-block.units-block{padding:12px}.expanded-block.units-block,.expanded-block:not(.units-block){background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px #0000000f}.expanded-block:not(.units-block){display:flex;flex-direction:column;max-height:680px;overflow:hidden}.units-header{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;font-size:12px;font-weight:700;letter-spacing:.5px;padding:8px 12px;text-transform:uppercase}.specs-list{font-size:12px;overflow-y:auto;padding:10px 12px}.specs-list::-webkit-scrollbar{width:6px}.specs-list::-webkit-scrollbar-track{background:#f1f5f9}.specs-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.specs-list::-webkit-scrollbar-thumb:hover{background:#94a3b8}.specs-list ul{list-style:none;margin:0;padding:0}.spec-item{grid-gap:8px;align-items:start;border-radius:4px;display:grid;gap:8px;grid-template-columns:110px auto 1fr;margin-bottom:2px;padding:5px 8px;transition:background .15s ease}.spec-item:hover{background:#f8fafc}.spec-item:nth-child(2n){background:#fafbfc}.spec-item:nth-child(2n):hover{background:#f1f5f9}.spec-name{color:#475569;font-size:11px;font-weight:600}.spec-sep{color:#cbd5e1;font-weight:400;-webkit-user-select:none;user-select:none}.spec-value{font-size:11px;font-weight:400;word-break:break-word}.spec-value a{color:#6366f1;font-weight:500;text-decoration:none;transition:color .15s ease}.spec-value a:hover{color:#4f46e5;text-decoration:underline}@media (max-width:768px){.expanded-container{padding:12px}.spec-item{gap:4px;grid-template-columns:1fr;padding:8px}.spec-sep{display:none}.spec-value{border-left:2px solid #6366f1;padding-left:12px}}.units-table thead th{background:#f7f8fb;z-index:1}.units-table tr:hover td{background:#fbfcff}.bulk-bar{background:#f9faff;border-radius:0;border-top:1px solid #f1f3f8}.btn-icon.btn-cancel,.btn-icon.btn-save{border:1px solid #0000000d}.material-table{border-collapse:collapse;width:100%}.material-table td,.material-table th{border-bottom:1px solid #e9ecef;padding:10px 12px}.material-row{transition:background-color .18s ease,transform .06s ease}.material-row:hover{background:#f8faff}.material-row:active{transform:translateY(1px)}.actions-cell{white-space:nowrap}.btn-icon{transition:transform .08s ease,background-color .15s ease}.btn-icon:hover{background:#667eea14}.btn-icon:active{transform:scale(.96)}.btn-icon.btn-add{color:#16a34a}.btn-icon.btn-add:hover{background:#16a34a1f}.btn-icon.btn-edit{color:#2563eb}.btn-icon.btn-edit:hover{background:#2563eb1f}.btn-icon.btn-delete{color:#dc2626}.btn-icon.btn-delete:hover{background:#dc26261f}.btn-icon.btn-save{color:#0ea5e9}.btn-icon.btn-save:hover{background:#0ea5e91f}.btn-icon.btn-cancel{color:#6b7280}.btn-icon.btn-cancel:hover{background:#6b72801f}.btn-icon.btn-copy{color:#7c3aed}.btn-icon.btn-copy:hover{background:#7c3aed1f}.btn-icon[disabled]{cursor:not-allowed;opacity:.5}.units-table-wrapper{border:1px solid #e5e7eb;border-radius:6px;margin-top:6px;max-height:550px;overflow:auto}.units-table-wrapper::-webkit-scrollbar{height:8px;width:8px}.units-table-wrapper::-webkit-scrollbar-track{background:#f9fafb}.units-table-wrapper::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.units-table-wrapper::-webkit-scrollbar-thumb:hover{background:#94a3b8}.units-table{font-size:12px}.units-table thead{background:#f3f4f6;border-bottom:2px solid #e5e7eb}.units-table thead th{background:#f3f4f6;color:#374151;font-size:11px;font-weight:600;letter-spacing:.3px;padding:8px 10px;position:-webkit-sticky;position:sticky;text-align:left;text-transform:uppercase;top:0;white-space:nowrap;z-index:2}.units-table tbody tr{border-bottom:1px solid #f3f4f6;transition:background .1s ease}.units-table tbody tr:hover{background:#f9fafb}.units-table tbody tr:last-child{border-bottom:none}.units-table tbody td{color:#4b5563;padding:6px 10px;vertical-align:middle}.units-table tbody td input[type=number],.units-table tbody td input[type=text],.units-table tbody td select{border:1px solid #d1d5db;border-radius:4px;font-size:11px;padding:4px 6px;transition:border-color .1s ease;width:100%}.units-table tbody td input:focus,.units-table tbody td select:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f11a;outline:none}.units-table input[type=checkbox]{accent-color:#6366f1;cursor:pointer;height:15px;width:15px}.specs-list{max-height:620px;overflow:auto}.bulk-bar{grid-gap:8px;align-items:center;background:#fbfcff;border-bottom:1px solid #eef1f5;display:grid;gap:8px;grid-template-columns:auto 1fr repeat(5,minmax(140px,180px)) auto auto;padding:8px 10px}.bulk-bar .bulk-select,.bulk-bar .filter-input{font-size:.9rem;height:36px;padding:8px 10px}.bulk-bar .btn-icon{font-size:.9rem;padding:6px 8px}.bulk-bar input[type=checkbox]{height:16px;width:16px}@media (max-width:1200px){.bulk-bar{grid-auto-rows:auto;grid-template-columns:auto 1fr repeat(3,minmax(140px,1fr))}}@media (max-width:900px){.bulk-bar{grid-template-columns:1fr 1fr}}@media (max-width:600px){.bulk-bar{grid-template-columns:1fr}}.modal-qty{max-width:550px}.qty-modal-content{background:#fafbfc;padding:20px 24px}.qty-info-card{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1.5px solid #bae6fd;border-radius:12px;margin-bottom:20px;padding:16px 20px}.qty-info-label{color:#0369a1;font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.qty-info-name{color:#0c4a6e;font-size:16px;font-weight:700;margin-bottom:8px}.qty-info-current{color:#0369a1;font-size:13px}.qty-info-current strong{color:#0c4a6e;font-size:15px;font-weight:700}.qty-preview{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:10px;display:flex;justify-content:space-between;margin:16px 0;padding:14px 18px}.qty-preview-label{color:#475569;font-size:13px;font-weight:600}.qty-preview-value{color:#6366f1;font-size:22px;font-weight:700}.form-group-checkbox{background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;margin:16px 0;padding:14px 16px}.checkbox-label{align-items:center;color:#1e293b;cursor:pointer;display:flex;font-size:13px;gap:10px}.checkbox-label input[type=checkbox]{accent-color:#6366f1;cursor:pointer;height:18px;width:18px}.checkbox-label span{flex:1 1}.form-group-checkbox .hint{margin-bottom:0;margin-top:10px}.btn-close{background:#ffffff26;border-radius:8px;color:#fff;font-size:24px;font-weight:300;padding:4px 10px;transition:all .2s ease}.btn-close:hover{background:#ffffff40}.specs-section-header{align-items:center;border-top:2px solid #f1f5f9;display:flex;justify-content:space-between;margin-top:20px;padding:16px 0}.specs-title{align-items:center;color:#1e293b;display:flex;font-size:15px;font-weight:700;gap:8px;margin:0}.btn-toggle-specs{background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;font-size:12px;font-weight:600;padding:7px 14px;transition:all .2s ease}.btn-toggle-specs:hover{background:#f8fafc;border-color:#cbd5e1;color:#475569}.btn-add-spec{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:8px;box-shadow:0 2px 8px #6366f133;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:8px 16px;transition:all .2s ease}.btn-add-spec:hover{box-shadow:0 4px 12px #6366f14d;transform:translateY(-1px)}.specs-info{color:#64748b;font-size:12px;font-style:italic}.specs-builder{background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;margin-top:16px;padding:16px}.specs-toolbar{align-items:center;border-bottom:1.5px solid #f1f5f9;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.specs-list-form{display:flex;flex-direction:column;gap:12px;max-height:500px;overflow-y:auto;padding-right:4px}.specs-list-form::-webkit-scrollbar{width:6px}.specs-list-form::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.specs-list-form::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.specs-list-form::-webkit-scrollbar-thumb:hover{background:#94a3b8}.spec-row{grid-gap:12px;align-items:end;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:10px;display:grid;gap:12px;grid-template-columns:1.5fr 1.5fr auto;padding:14px;transition:all .2s ease}.spec-row:hover{background:#f1f5f9;border-color:#cbd5e1}.spec-row.creating-new{background:#eff6ff;border-color:#93c5fd;grid-template-columns:1fr 1fr 1fr 1fr 1fr auto}.spec-row .form-group{margin-bottom:0}.spec-row .form-group label{color:#475569;font-size:12px;font-weight:600;margin-bottom:5px}.spec-row .form-group input,.spec-row .form-group select{border:1.5px solid #e2e8f0;border-radius:7px;font-size:13px;padding:8px 10px}.spec-row .form-group input:focus,.spec-row .form-group select:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f114}.spec-actions{align-items:flex-end;display:flex;gap:6px}.spec-actions .btn-icon{font-size:12px;padding:8px 12px;white-space:nowrap}.hint{background:#f0f9ff;border:1.5px solid #bae6fd;border-radius:8px;color:#0c4a6e;font-size:12px;line-height:1.5;margin:12px 0;padding:10px 12px}@media (max-width:1024px){.specs-section-header{align-items:flex-start;flex-direction:column;gap:10px}.spec-row{gap:10px}.spec-row,.spec-row.creating-new{grid-template-columns:1fr}.spec-actions{justify-content:flex-end}.specs-toolbar{align-items:flex-start;flex-direction:column;gap:10px}}.modal-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.modal-section{background:#fff;border:1.5px solid #f1f5f9;border-radius:10px;padding:16px}.modal-section .section-title{font-weight:700}.modal-section .section-title,.section-title{border-bottom:1.5px solid #f1f5f9;color:#1e293b;font-size:14px;margin:0 0 14px;padding-bottom:10px}@media (max-width:900px){.modal-grid{grid-template-columns:1fr}}.material-panel .material-filters{grid-gap:10px;align-items:center;background:#f1f4fb;border:1px solid #e6ebf6;border-radius:14px;display:grid;gap:10px;grid-template-columns:1fr repeat(4,minmax(160px,1fr)) auto;padding:12px}.material-panel .material-filters .filter-input,.material-panel .material-filters .filter-select{background:#fff;border-radius:10px;padding:10px 12px}.material-panel .btn-icon.btn-chip{background:#eef2ff;border:1px solid #dfe3f0;border-radius:999px;padding:8px 12px}.material-panel .btn-icon.btn-chip.active{background:#e0e7ff;border-color:#cfd7f6}@media (max-width:1100px){.material-panel .material-filters{grid-auto-rows:auto;grid-template-columns:1fr 1fr}}.packs-layout{grid-gap:16px;box-sizing:border-box;display:grid;gap:16px;grid-template-columns:minmax(200px,260px) 1fr;height:calc(92vh - 64px);padding:16px}.packs-sidebar{background:#f8f9fa;border:1px solid #e9ecef;border-radius:10px;display:flex;flex-direction:column;gap:10px;padding:12px}.sidebar-actions{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr auto}.packs-list{border-top:1px dashed #e2e6ef;margin-top:6px;max-height:460px;overflow:auto;padding-top:8px}.pack-item{align-items:center;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;padding:10px;transition:background .15s ease,transform .06s ease}.pack-item:hover{background:#eef2ff}.pack-item.active{background:#e0e7ff}.pack-item-name{color:#374151;font-weight:600}.pack-item-actions{display:flex;gap:6px}.packs-content{background:#fff;border:1px solid #e9ecef;border-radius:10px;display:flex;flex-direction:column;min-height:0;padding:12px}.packs-toolbar{align-items:center;border-bottom:1px solid #eef1f5;display:flex;justify-content:space-between;margin-bottom:10px;padding:8px 10px}.pack-title{color:#374151;font-size:1.05rem;font-weight:700}.pack-counters .counter{color:#6b7280;font-size:.9rem}.dual-list{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 90px 1fr;min-height:0}.dual-column{background:#f8f9fa;border:1px solid #e9ecef;border-radius:10px;min-height:0;padding:12px}.dual-actions,.dual-column{display:flex;flex-direction:column}.dual-actions{align-items:center;gap:8px;justify-content:center}.list-toolbar{align-items:center;background:#fbfcff;border:1px solid #eef1f5;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:6px;padding:6px 10px}.counter{color:#6b7280;font-weight:600}.list-scroll{flex:1 1;min-height:0;overflow:auto}@media (max-width:1000px){.dual-list,.packs-layout{grid-template-columns:1fr}.dual-actions{flex-direction:row;justify-content:flex-end}}.dual-column table{table-layout:fixed;width:100%}.dual-column td:first-child,.dual-column th:first-child{width:36px}.dual-column td:nth-child(2),.dual-column th:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.packs-list,.packs-sidebar{min-height:0}.packs-list{flex:1 1}.timeline{background:#fff;border:1px solid #e9ecef;border-radius:12px}.timeline-header-strip{border-bottom:1px solid #eef1f5;height:56px;position:-webkit-sticky;position:sticky;top:0;z-index:5}.months{height:100%;overflow:hidden;position:relative}.month-seg{align-items:flex-start;border-right:1px solid #e5e7eb;bottom:0;display:flex;font-size:.95rem;justify-content:center;padding-top:8px;position:absolute;text-transform:capitalize;top:0}.month-days-layer{bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:32px}.month-day-label{position:absolute;top:0}.timeline-fullpage .dashboard-card{border-radius:0;box-shadow:none;display:flex;flex:1 1;flex-direction:column;margin-bottom:0;min-height:0;overflow:hidden;padding:0}.timeline-fullpage .dashboard-header{background:#fff;border-bottom:1px solid #e5e7eb;flex-shrink:0;position:relative;z-index:100}.timeline-container{flex-direction:column}.timeline,.timeline-container{display:flex;flex:1 1 auto;height:100%;min-height:0;overflow:hidden}.timeline{flex-direction:column}.timeline-scroll{cursor:grab;flex:1 1 auto;height:100%;overflow:auto;overscroll-behavior:contain}.timeline-scroll,.timeline-scroll *{-webkit-user-select:none;user-select:none}.timeline-scroll.grabbing{cursor:grabbing}.timeline-track{height:100%;min-height:344px;padding-top:60px;position:relative}.timeline-track:before{background-image:linear-gradient(90deg,#f1f3f8cc 1px,#0000 0);background-size:34px 100%;background-size:calc(var(--pxPerDay, 34px)) 100%;content:""}.grid-lines,.timeline-track:before{inset:0;pointer-events:none;position:absolute}.grid-vline{background:#e5e7eb}.grid-vline,.today-marker{bottom:0;position:absolute;top:0;width:1px}.today-marker{background:#293cb7;opacity:.9}.today-marker-column{pointer-events:none;position:absolute}@keyframes todayPulse{0%{background:linear-gradient(180deg,#3b82f61f,#93c5fd14 50%,#3b82f61f)}50%{background:linear-gradient(180deg,#93c5fd14,#3b82f61f 50%,#93c5fd14)}to{background:linear-gradient(180deg,#3b82f61f,#93c5fd14 50%,#3b82f61f)}}.timeline-lane{border-bottom:1px dashed #eef1f5;min-height:44px;padding:6px 0}.bar-salon{color:#1f2937;padding:0 8px;text-overflow:ellipsis;white-space:nowrap}.bar-salon.montage{background:#34d399;color:#064e3b}.bar-salon.exploitation{background:#60a5fa;color:#0c4a6e}.bar-salon.demontage{background:#f87171;color:#7f1d1d}.legend{align-items:center;display:flex;font-family:sans-serif;gap:12px;padding:8px 0}.legend-item{align-items:center;color:#666;display:inline-flex;font-size:.9rem;gap:6px}.legend-item:before{border-radius:3px;content:"";display:inline-block;height:12px;width:12px}.legend-item.montage:before{background:#a7f3d0}.legend-item.exploitation:before{background:#bfdbfe}.legend-item.demontage:before{background:#fecaca}.zoom-control{align-items:center;display:inline-flex;gap:8px;margin-left:auto}.zoom-control input[type=range]{accent-color:#667eea;width:220px}.zoom-value{color:#475569;font-size:.85rem;min-width:42px;text-align:right}.chart-tooltip{background:#00008cd9;border-radius:4px;color:#eee;font:11px sans-serif;padding:6px 8px;white-space:nowrap;z-index:4000}.chart-tooltip,.modern-tooltip{pointer-events:none;position:absolute}.modern-tooltip{animation:tooltipFadeIn .2s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:8px;box-shadow:0 10px 40px #0003,0 4px 12px #00000026;max-width:450px;min-width:320px;z-index:5000}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.month-seg{color:#334155;font-weight:700;letter-spacing:.3px}.month-day-label{color:#475569;font-size:11px;font-weight:600;text-shadow:0 1px 0 #fffc}.bar-salon{box-shadow:0 1px 0 #00000005;transition:transform .15s ease,box-shadow .15s ease}.bar-salon:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-1px)}.today-marker{animation:pulseToday 2s ease-in-out infinite;box-shadow:0 0 0 1px #293cb726}@keyframes pulseToday{0%{opacity:.9}50%{opacity:.4}to{opacity:.9}}.zoom-control input[type=range]{-webkit-appearance:none;background:linear-gradient(90deg,#e0e7ff,#c7d2fe);border-radius:999px;height:6px;outline:none}.zoom-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:#6366f1;border-radius:50%;box-shadow:0 2px 6px #6366f166;cursor:pointer;height:16px;-webkit-transition:transform .12s ease;transition:transform .12s ease;width:16px}.zoom-control input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.08)}.zoom-control input[type=range]::-moz-range-thumb{background:#6366f1;border-radius:50%;box-shadow:0 2px 6px #6366f166;cursor:pointer;height:16px;width:16px}.zoom-value{color:#334155;font-weight:600}.timeline-track:before{background-image:linear-gradient(90deg,#d1d5db99 1px,#0000 0)}.grid-vline{background:#94a3b899}.months .month-seg{background:#f8fafce6}.months .month-seg:nth-child(2n){background:#f1f5f9e6}.timeline-lane{min-height:48px;padding:8px 0}.bar-salon{background:#f1f5f9;border:2px solid #1f2937;border-radius:8px;border-radius:6px;box-sizing:border-box;display:block;font-size:1rem;height:34px;line-height:34px;overflow:hidden;position:absolute}.bar-salon .bar-phase{border-radius:6px;bottom:0;position:absolute;top:0}.bar-salon .bar-phase.montage{background:#fbbf24}.bar-salon .bar-phase.exploitation{background:#93c5fd}.bar-salon .bar-phase.demontage{background:#fcd34d}.bar-salon .bar-phase.gap{background:repeating-linear-gradient(45deg,#f3f4f6,#f3f4f6 10px,#e5e7eb 0,#e5e7eb 20px)}.bar-salon .bar-phase:not(.first){border-bottom-left-radius:0;border-top-left-radius:0}.bar-salon .bar-phase:not(.last){border-bottom-right-radius:0;border-top-right-radius:0}.bar-salon .bar-label{color:#1f2937;font-size:.95rem;font-weight:600;left:8px;overflow:hidden;pointer-events:none;right:8px;text-overflow:ellipsis;text-shadow:0 1px 0 #ffffff80;top:50%;transform:translateY(-50%);white-space:nowrap}.bar-stand{background:#f8fafc;border:1px solid #e5e7eb;border-radius:6px;box-shadow:inset 0 1px 2px #0000000a;box-sizing:border-box;overflow:hidden}.bar-stand:before{background:#9ca3af;border-bottom-left-radius:8px;border-top-left-radius:8px;bottom:0;content:"";left:0;opacity:.6;position:absolute;top:0;width:6px}.bar-stand span{color:#111827;font-size:.95rem;font-weight:600}.dashboard-header{border-bottom:1px solid #e5e7eb;padding-bottom:14px}.header-content{align-items:center;display:flex;gap:12px}.calendar-title{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;color:#0f172a;font-weight:700;padding:6px 10px}.badge-count{background:#eab308;border:1px solid #facc15;border-radius:999px;box-shadow:0 1px 2px #0000000f;color:#111827;font-size:.85rem;font-weight:700;margin-left:8px;padding:3px 10px}.header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.header-actions .btn-icon{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:6px 10px}.header-actions .btn-icon:hover{background:#f8fafc}body.no-page-scroll{height:100vh;overflow:hidden}.timeline-fullpage .timeline-container{flex:1 1;min-height:0;overflow:hidden}@media (max-width:768px){.timeline-fullpage .timeline-container{flex:1 1;min-height:0}}.list-view{background:linear-gradient(180deg,#f8fafc,#f1f5f9 60%,#eef2ff);border-radius:12px}.list-toolbar input,.list-toolbar input[type=search],.list-toolbar input[type=text],.list-toolbar select{background:#fff;transition:box-shadow .15s ease,border-color .15s ease,transform .05s ease}.list-toolbar input:focus,.list-toolbar select:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f126;outline:none;transform:translateY(-1px)}.list-panels .card{transition:transform .15s ease,box-shadow .15s ease}.list-panels .card:hover{box-shadow:0 6px 18px #6366f11f;transform:translateY(-2px)}.list-panels .card>div:first-child{background:linear-gradient(135deg,#eef2ff,#e0e7ff)}.list-panels table thead th{background:linear-gradient(180deg,#f1f5f9,#e5e7eb);border-bottom:1px solid #d1d5db;color:#0f172a;font-weight:700;position:-webkit-sticky;position:sticky;top:0}.list-panels table td,.list-panels table th{border-bottom:1px solid #eef2f7}.list-panels table tbody tr:nth-child(2n){background:#fafbff}.list-panels table tbody tr:hover{background:#eef2ff;transition:background .12s ease}.list-panels table input[type=datetime-local]{background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:6px 8px;transition:border-color .15s ease,box-shadow .15s ease}.list-panels table input[type=datetime-local]:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f;outline:none}.list-view .btn-icon{background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 1px 1px #00000008;padding:8px 10px;transition:background .15s ease,transform .05s ease,box-shadow .15s ease}.list-view .btn-icon:hover{background:#eef2ff;box-shadow:0 3px 8px #6366f11f;transform:translateY(-1px)}.list-view .btn-icon:active{transform:translateY(0)}.bar-salon.in-progress:before,.bar-stand.in-progress .stand-inner:after{animation:stripeMove45 4s linear infinite;background:repeating-linear-gradient(45deg,#f59e0b33 0 12px,#f59e0b59 12px 24px);background-size:24px 24px;border-radius:8px;content:"";inset:0;mix-blend-mode:multiply;pointer-events:none;position:absolute;transform:translateZ(0);will-change:background-position;z-index:1}@keyframes stripeMove45{0%{background-position:0 0}to{background-position:48px 48px}}.bar-salon .bar-phase{z-index:0}.bar-salon .bar-label{position:absolute;z-index:2}.bar-stand .stand-inner>div{z-index:0}.bar-salon.in-progress,.bar-stand.in-progress{box-shadow:0 0 0 2px #f59e0b80,0 6px 16px #f59e0b33}.bar-salon:hover:not(.in-progress),.bar-stand:hover:not(.in-progress){box-shadow:0 0 0 2px #6366f166,0 4px 12px #6366f126;transform:scale(1.01);transition:all .2s ease}.timeline-header-strip{pointer-events:none}.dashboard-header,.dashboard-header .header-actions,.dashboard-header .header-actions *{pointer-events:auto}.timeline-container{position:relative}.connector-layer path{stroke:#3b82f6;stroke-width:8;fill:none;stroke-linecap:round;stroke-linejoin:round}.connector-layer circle,.connector-layer path{filter:drop-shadow(0 1px 0 rgba(59,130,246,.25))}.connector-layer circle{fill:#3b82f6;stroke:#3b82f6;stroke-width:2}.ctx-menu{background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 8px 24px #0000001f;min-width:180px;overflow:hidden;position:absolute;z-index:1000}.ctx-menu .ctx-title{background:#f9fafb;border-bottom:1px solid #eef2f7;color:#111827;font-size:13px;font-weight:600;padding:10px 12px}.ctx-menu button{background:#0000;border:0;cursor:pointer;display:block;font-size:13px;padding:10px 12px;text-align:left;width:100%}.ctx-menu button:hover{background:#f3f4f6}.home-page{background:#f1f5f9;padding:32px 40px}.home-page-loading{align-items:center;color:#64748b;display:flex;flex-direction:column;gap:16px;height:100vh;justify-content:center}.home-header{align-items:center;display:flex;gap:24px;justify-content:space-between}.home-datetime{background:#fff;border-radius:16px;box-shadow:0 2px 12px #0000000f;min-width:220px;padding:20px 28px;text-align:center}.home-time{font-feature-settings:"tnum";color:#1e293b;font-size:36px;font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:-1px}.home-date{color:#64748b;font-size:14px;margin-top:4px;text-transform:capitalize}.home-greeting{flex:1 1}.home-greeting h1{color:#1e293b;font-size:36px;font-weight:700;margin:0 0 4px}.home-greeting p{color:#64748b;font-size:16px;margin:0}.home-section-title{color:#94a3b8;font-size:13px;font-weight:700;letter-spacing:1.5px;margin:0 0 20px;text-transform:uppercase}.home-stats{grid-gap:16px;gap:16px;grid-template-columns:repeat(6,1fr);margin-bottom:40px}.stat-card{background:#fff;border-top:4px solid;box-shadow:0 2px 12px #0000000a;padding:24px 20px;text-align:center}.stat-card:hover{box-shadow:0 12px 32px #0000001a;transform:translateY(-4px)}.stat-card.blue{border-color:#3b82f6}.stat-card.purple{border-color:#8b5cf6}.stat-card.green{border-color:#22c55e}.stat-card.orange{border-color:#f97316}.stat-card.cyan{border-color:#06b6d4}.stat-card.pink{border-color:#ec4899}.stat-card-value{color:#1e293b;font-size:36px;font-weight:800;line-height:1}.stat-card-label{color:#64748b;font-size:13px;font-weight:500;margin-top:8px}.home-gauges{background:#fff;border-radius:20px;box-shadow:0 2px 12px #0000000a;margin-bottom:32px;padding:28px 32px}.gauges-row{display:flex;gap:32px;justify-content:space-around}.gauge-item{align-items:center;display:flex;flex-direction:column}.gauge-circle-wrapper{align-items:center;display:flex;justify-content:center;position:relative}.gauge-progress{transition:stroke-dashoffset 1s ease}.gauge-value{align-items:center;display:flex;justify-content:center;position:absolute}.gauge-info{margin-top:16px;text-align:center}.gauge-label{font-size:15px}.gauge-sublabel{font-size:13px;margin-top:4px}.home-activity{border-radius:20px;box-shadow:0 2px 12px #0000000a;padding:28px 32px}.activity-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(4,1fr)}.activity-card{align-items:center;background:#f8fafc;border-radius:14px;display:flex;gap:16px;padding:20px;transition:all .2s ease}.activity-card:hover{background:#f1f5f9}.activity-icon{align-items:center;border-radius:12px;color:#fff;display:flex;flex-shrink:0;font-size:20px;height:48px;justify-content:center;width:48px}.activity-icon.blue{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.activity-icon.green{background:linear-gradient(135deg,#22c55e,#16a34a)}.activity-icon.purple{background:linear-gradient(135deg,#8b5cf6,#6d28d9)}.activity-icon.orange{background:linear-gradient(135deg,#f97316,#ea580c)}.activity-info{display:flex;flex-direction:column}.activity-title{color:#1e293b;font-size:15px;font-weight:600}.activity-desc{color:#64748b;font-size:13px}@media (max-width:1200px){.home-stats{grid-template-columns:repeat(3,1fr)}.activity-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width:900px){.home-page{padding:24px 20px}.gauges-row{align-items:center;flex-direction:column}.home-header{align-items:stretch;flex-direction:column}}@media (max-width:768px){.home-stats{grid-template-columns:repeat(2,1fr)}.activity-cards{grid-template-columns:1fr}.home-greeting h1{font-size:28px}}.dashboard-full{background:#f1f5f9;display:flex;min-height:100vh}.dashboard-loading{align-items:center;color:#64748b;display:flex;flex-direction:column;gap:16px;height:100vh;justify-content:center;width:100%}.dashboard-sidebar{background:linear-gradient(180deg,#1e293b,#0f172a);display:flex;flex-direction:column;flex-shrink:0;padding:32px 24px;width:280px}.sidebar-profile{border-bottom:1px solid #ffffff1a;margin-bottom:32px;padding-bottom:32px;text-align:center}.profile-avatar{align-items:center;background:linear-gradient(145deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 8px 32px #667eea66;color:#fff;display:flex;font-size:36px;font-weight:700;height:100px;justify-content:center;margin:0 auto 16px;width:100px}.profile-name{color:#fff;font-size:22px;font-weight:700;margin:0 0 4px}.profile-fullname{color:#94a3b8;font-size:14px;margin:0 0 16px}.profile-badges{display:flex;flex-direction:column;gap:8px}.profile-badge{border-radius:8px;font-size:12px;font-weight:600;padding:8px 16px;text-align:center}.profile-badge.role{background:#fbbf2433;color:#fbbf24}.profile-badge.entity{background:#34d39933;color:#34d399}.sidebar-stats{display:flex;flex-direction:column;gap:16px}.sidebar-stat{background:#ffffff0d;border-radius:12px;padding:16px;text-align:center}.sidebar-stat .stat-value{color:#fff;display:block;font-size:32px;font-weight:800;line-height:1}.sidebar-stat .stat-label{color:#94a3b8;display:block;font-size:12px;letter-spacing:1px;margin-top:4px;text-transform:uppercase}.dashboard-main{flex:1 1;overflow-y:auto;padding:32px 40px}.dashboard-header-full{align-items:center;display:flex;gap:24px;justify-content:space-between;margin-bottom:40px}.header-datetime{background:#fff;border-radius:16px;box-shadow:0 2px 12px #0000000f;min-width:200px;padding:16px 24px;text-align:center}.header-time{font-feature-settings:"tnum";color:#1e293b;font-size:32px;font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:-1px}.header-date{color:#64748b;font-size:13px;margin-top:4px;text-transform:capitalize}.header-greeting{flex:1 1}.header-greeting h1{color:#1e293b;font-size:32px;font-weight:700;margin:0 0 4px}.header-greeting p{color:#64748b;font-size:15px;margin:0}.section-label{color:#94a3b8;font-size:12px;font-weight:700;letter-spacing:1.5px;margin:0 0 20px;text-transform:uppercase}.gauges-section{margin-bottom:40px}.gauges-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(3,1fr)}.gauge-card{background:#fff;border-radius:20px;box-shadow:0 2px 12px #0000000a;display:flex;justify-content:center;padding:28px}.gauge-container{align-items:center;display:flex;flex-direction:column;position:relative}.gauge-svg{transform:rotate(-90deg)}.gauge-bg{fill:none;stroke:#e2e8f0}.gauge-progress{fill:none;transition:stroke-dashoffset .8s ease}.gauge-center{align-items:center;display:flex;height:120px;justify-content:center;left:0;position:absolute;top:0;width:120px}.gauge-percent{color:#1e293b;font-size:28px;font-weight:800}.gauge-labels{margin-top:16px;text-align:center}.gauge-label{color:#334155;display:block;font-size:14px;font-weight:600}.gauge-sublabel{color:#94a3b8;display:block;font-size:12px;margin-top:2px}.quick-stats-section{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:40px}.stat-box{background:#fff;border-left:4px solid;border-radius:16px;box-shadow:0 2px 12px #0000000a;padding:20px;text-align:center}.stat-box.blue{border-color:#3b82f6}.stat-box.purple{border-color:#8b5cf6}.stat-box.green{border-color:#22c55e}.stat-box.orange{border-color:#f97316}.stat-box-value{color:#1e293b;display:block;font-size:28px;font-weight:800;line-height:1}.stat-box-label{color:#64748b;display:block;font-size:13px;margin-top:6px}.nav-section{margin-bottom:40px}.nav-cards-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(4,1fr)}.nav-card{background:#fff;border:2px solid #0000;border-radius:20px;box-shadow:0 2px 12px #0000000a;cursor:pointer;overflow:hidden;padding:24px;position:relative;transition:all .3s ease}.nav-card:before{background:var(--card-color);content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .3s ease;width:4px}.nav-card:hover{border-color:var(--card-color);box-shadow:0 16px 40px #0000001f;transform:translateY(-6px)}.nav-card:hover:before{opacity:1}.nav-card-header{display:flex;justify-content:flex-end;margin-bottom:16px}.nav-card-bubble{align-items:center;border-radius:50%;box-shadow:0 6px 20px #00000026;color:#fff;display:flex;font-size:22px;font-weight:800;height:56px;justify-content:center;width:56px}.nav-card-body{margin-bottom:16px}.nav-card-title{color:#1e293b;font-size:18px;font-weight:700;margin:0 0 4px}.nav-card-desc{color:#94a3b8;font-size:13px;margin:0}.nav-card-footer{border-top:1px solid #f1f5f9;padding-top:16px}.nav-card-stat{color:#64748b;font-size:13px;font-weight:600}@media (max-width:1400px){.nav-cards-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:1200px){.gauges-grid{grid-template-columns:repeat(3,1fr)}.nav-cards-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:1024px){.dashboard-sidebar{display:none}.quick-stats-section{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.dashboard-main{padding:20px}.dashboard-header-full{align-items:stretch;flex-direction:column;gap:16px}.header-datetime{order:-1}.header-greeting h1{font-size:24px}.gauges-grid{grid-template-columns:1fr}.nav-cards-grid,.quick-stats-section{grid-template-columns:repeat(2,1fr)}.nav-cards-grid{gap:12px}.nav-card{padding:16px}.nav-card-bubble{font-size:18px;height:48px;width:48px}.nav-card-title{font-size:15px}}@media (max-width:480px){.nav-cards-grid{gap:10px;grid-template-columns:1fr 1fr}.nav-card{padding:14px}.nav-card-desc{display:none}}.home-bubble{background:linear-gradient(180deg,#f8fafc,#e2e8f0);min-height:100vh;padding:40px 24px}.home-bubble-wrapper{margin:0 auto;max-width:900px}.home-bubble .home-loading{align-items:center;color:#64748b;display:flex;flex-direction:column;gap:16px;height:100vh;justify-content:center}.bubble-header{background:#fff;border-radius:24px;box-shadow:0 4px 20px #0000000f;gap:24px;margin-bottom:48px;padding:32px}.bubble-avatar,.bubble-header{align-items:center;display:flex}.bubble-avatar{background:linear-gradient(145deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 8px 24px #667eea59;color:#fff;flex-shrink:0;font-size:28px;font-weight:700;height:80px;justify-content:center;width:80px}.bubble-user-info h1{color:#1e293b;font-size:28px;font-weight:700;margin:0 0 4px}.bubble-user-info p{color:#64748b;font-size:15px;margin:0 0 12px}.bubble-badges{display:flex;gap:10px}.badge-role{background:linear-gradient(135deg,#fbbf24,#f59e0b)}.badge-entity,.badge-role{border-radius:20px;color:#fff;font-size:12px;font-weight:600;padding:6px 14px}.badge-entity{background:linear-gradient(135deg,#34d399,#10b981)}.bubble-section-title{color:#94a3b8;font-size:13px;font-weight:700;letter-spacing:2px;margin:0 0 24px 8px;text-transform:uppercase}.bubble-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(4,1fr)}.bubble-item{align-items:center;cursor:pointer;display:flex;flex-direction:column;transition:transform .2s ease}.bubble-item:hover{transform:scale(1.05)}.bubble-item:hover .bubble-circle{transform:translateY(-4px)}.bubble-circle{align-items:center;border-radius:50%;display:flex;height:90px;justify-content:center;margin-bottom:12px;transition:all .3s ease;width:90px}.bubble-stat{color:#fff;font-size:32px;font-weight:800;text-shadow:0 2px 4px #0000001a}.bubble-label{color:#475569;font-size:14px;font-weight:600;text-align:center}@media (max-width:768px){.home-bubble{padding:24px 16px}.bubble-grid{gap:16px;grid-template-columns:repeat(4,1fr)}.bubble-circle{height:70px;width:70px}.bubble-stat{font-size:24px}.bubble-label{font-size:12px}.bubble-header{flex-direction:column;padding:24px;text-align:center}.bubble-badges{justify-content:center}.bubble-user-info h1{font-size:22px}}@media (max-width:500px){.bubble-grid{gap:12px;grid-template-columns:repeat(4,1fr)}.bubble-circle{height:60px;width:60px}.bubble-stat{font-size:20px}.bubble-label{font-size:11px}}.home-v2{background:#f1f5f9;min-height:100vh;padding:32px}.home-v2-wrapper{margin:0 auto;max-width:1000px}.home-v2 .home-loading{align-items:center;color:#64748b;display:flex;flex-direction:column;gap:16px;height:100vh;justify-content:center}.user-header-v2{align-items:center;background:#fff;border-radius:16px;box-shadow:0 1px 3px #00000014;display:flex;gap:20px;margin-bottom:40px;padding:24px 28px}.user-avatar-v2{align-items:center;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:22px;font-weight:700;height:64px;justify-content:center;width:64px}.user-info-v2 h1{color:#1e293b;font-size:24px;font-weight:700;margin:0 0 8px}.user-meta-v2{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.meta-item{color:#64748b;font-size:14px;font-weight:500}.meta-separator{color:#cbd5e1;font-size:12px}.meta-badge{border-radius:6px;font-size:12px;font-weight:600;padding:4px 12px}.meta-badge.role{background:#fef3c7;color:#92400e}.meta-badge.entity{background:#d1fae5;color:#065f46}.nav-grid-v2{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}.nav-tile-v2{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 1px 3px #0000000f;cursor:pointer;display:flex;flex-direction:column;padding:20px;text-align:center;transition:all .2s ease}.nav-tile-v2:hover{border-color:#0000;box-shadow:0 12px 24px #0000001a;transform:translateY(-4px)}.nav-tile-v2:active{transform:translateY(-2px)}.tile-icon-v2{align-items:center;border-radius:14px;color:#fff;display:flex;font-size:18px;font-weight:700;height:52px;justify-content:center;margin-bottom:14px;width:52px}.tile-content-v2{display:flex;flex-direction:column;gap:4px}.tile-label-v2{color:#334155;font-size:14px;font-weight:600}.tile-stat-v2{color:#1e293b;font-size:28px;font-weight:800;line-height:1}@media (max-width:900px){.nav-grid-v2{grid-template-columns:repeat(3,1fr)}}@media (max-width:680px){.home-v2{padding:20px}.nav-grid-v2{gap:12px;grid-template-columns:repeat(2,1fr)}.user-header-v2{flex-direction:column;padding:20px;text-align:center}.user-meta-v2{justify-content:center}.tile-stat-v2{font-size:24px}}@media (max-width:400px){.nav-grid-v2{grid-template-columns:1fr 1fr}.nav-tile-v2{padding:16px}.tile-icon-v2{font-size:16px;height:44px;width:44px}}.home-container{min-height:100vh;padding:0}.home-container.light{background:linear-gradient(135deg,#f8fafc,#e2e8f0)}.home-wrapper{margin:0 auto;max-width:1200px;padding:40px 24px}.home-loading{height:100vh}.home-loading .loading-spinner{animation:spin 1s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#667eea;height:48px;width:48px}.welcome-section{margin-bottom:40px}.welcome-card{align-items:center;border-radius:24px;display:flex;gap:32px;padding:40px}.welcome-card.light{background:#fff;border:1px solid #e2e8f0;box-shadow:0 4px 24px #0000000f}.welcome-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 8px 32px #667eea4d;color:#fff;display:flex;flex-shrink:0;font-size:36px;font-weight:700;height:100px;justify-content:center;text-transform:uppercase;width:100px}.welcome-content{flex:1 1}.welcome-greeting{font-size:32px;font-weight:700;letter-spacing:-.5px;margin:0 0 24px}.welcome-greeting.light{color:#1e293b}.welcome-info{display:flex;flex-wrap:wrap;gap:32px}.info-item{display:flex;flex-direction:column;gap:8px;min-width:160px}.info-label{color:#94a3b8;font-size:11px;letter-spacing:1.5px}.info-value{font-size:16px;font-weight:600}.info-value.light{color:#334155}.role-badge{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.entity-badge,.role-badge{border-radius:8px;display:inline-block;font-size:14px;font-weight:600;padding:8px 16px}.entity-badge{background:linear-gradient(135deg,#10b981,#059669)}.activity-section{margin-bottom:40px}.section-title{font-size:16px;font-weight:700;letter-spacing:1px;margin:0 0 20px;padding-left:4px;text-transform:uppercase}.section-title.light{color:#64748b}.quick-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.quick-stats.two-columns{grid-template-columns:repeat(2,1fr);max-width:600px}.menu-section{margin-bottom:32px}.menu-section-title{color:#64748b;font-size:13px;font-weight:700;letter-spacing:2px;margin:0 0 16px 4px;text-transform:uppercase}.menu-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.menu-grid.single{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));max-width:100%}.menu-grid.single .menu-card{max-width:400px}.menu-card{align-items:center;border-radius:24px;cursor:pointer;display:flex;justify-content:space-between;min-height:110px;overflow:hidden;padding:28px 32px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.menu-card:before{background:#ffffff1a;bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.menu-card:hover{box-shadow:0 20px 40px #00000026;transform:translateY(-4px)}.menu-card:hover:before{opacity:1}.menu-card:active{transform:translateY(-2px)}.menu-card.gradient-blue{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff}.menu-card.gradient-purple{background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff}.menu-card.gradient-indigo{background:linear-gradient(135deg,#6366f1,#4338ca);color:#fff}.menu-card.gradient-teal{background:linear-gradient(135deg,#14b8a6,#0d9488);color:#fff}.menu-card.gradient-cyan{background:linear-gradient(135deg,#06b6d4,#0891b2);color:#fff}.menu-card.gradient-orange{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff}.menu-card.gradient-green{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.menu-card.gradient-red{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.menu-card-content{flex:1 1;z-index:1}.menu-card-title{font-size:18px;font-weight:700;letter-spacing:-.3px;margin:0 0 6px}.menu-card-description{font-size:13px;font-weight:500;margin:0;opacity:.85}.menu-card-stat{align-items:center;display:flex;flex-direction:column;justify-content:center;min-width:80px;padding-left:20px;z-index:1}.menu-card-stat .stat-number{color:#fffffff2;font-size:42px;font-weight:800;letter-spacing:-1px;line-height:1;text-shadow:0 2px 8px #00000026}.menu-card-stat .stat-label{background:#fff3;border-radius:12px;color:#ffffffd9;font-size:11px;font-weight:600;letter-spacing:1px;margin-top:6px;padding:4px 10px;text-transform:uppercase}@media (max-width:768px){.menu-grid{grid-template-columns:1fr}.menu-card{min-height:80px;padding:20px}.menu-card-title{font-size:16px}.menu-card-stat .stat-number{font-size:28px}}.quick-stat-card{align-items:center;border-radius:16px;cursor:pointer;display:flex;gap:20px;padding:28px;transition:all .3s ease}.quick-stat-card.light{background:#fff;border:1px solid #e2e8f0;box-shadow:0 2px 12px #0000000a}.quick-stat-card.light:hover{border-color:#0000;box-shadow:0 12px 40px #0000001a;transform:translateY(-4px)}.quick-stat-icon{align-items:center;border-radius:14px;display:flex;flex-shrink:0;height:56px;justify-content:center;width:56px}.quick-stat-icon.blue{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.quick-stat-icon.purple{background:linear-gradient(135deg,#8b5cf6,#6d28d9)}.quick-stat-icon.green{background:linear-gradient(135deg,#10b981,#059669)}.quick-stat-icon.orange{background:linear-gradient(135deg,#f59e0b,#d97706)}.quick-stat-info{display:flex;flex-direction:column;gap:4px}.quick-stat-value{font-size:32px;font-weight:800;line-height:1}.quick-stat-value.light{color:#1e293b}.quick-stat-label{font-size:14px;font-weight:500}.quick-stat-label.light{color:#64748b}.quick-actions-section{margin-bottom:40px}.quick-actions-grid{display:flex;flex-wrap:wrap;gap:16px}.quick-action-btn{align-items:center;border:none;border-radius:12px;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:12px;padding:18px 32px;transition:all .3s ease}.quick-action-btn.primary{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 8px 24px #667eea59;color:#fff}.quick-action-btn.primary:hover{box-shadow:0 12px 32px #667eea73;transform:translateY(-2px)}.quick-action-btn.secondary.light{background:#fff;border:2px solid #e2e8f0;color:#475569}.quick-action-btn.secondary.light:hover{background:#f8fafc;border-color:#cbd5e1;transform:translateY(-2px)}.btn-text{white-space:nowrap}@media (max-width:768px){.home-wrapper{padding:20px 16px}.welcome-card{flex-direction:column;padding:32px 24px;text-align:center}.welcome-greeting{font-size:24px}.welcome-info{justify-content:center}.info-item{align-items:center}.quick-stats{grid-template-columns:repeat(2,1fr)}.quick-stat-card{padding:20px}.quick-stat-value{font-size:24px}.quick-actions-grid{flex-direction:column}.quick-action-btn{justify-content:center}}.home-page{background:#f8fafc;min-height:100vh;padding:32px}.home-loading{align-items:center;color:#64748b;display:flex;flex-direction:column;gap:16px;height:60vh;justify-content:center}.home-spinner{animation:home-spin .8s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#6366f1;height:40px;width:40px}@keyframes home-spin{to{transform:rotate(1turn)}}.home-header{margin-bottom:32px}.home-header h1{color:#1e293b;font-size:28px;font-weight:700;margin:0 0 4px}.home-header p{color:#64748b;font-size:15px;margin:0}.home-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(4,1fr);margin-bottom:32px}.home-stat-card{align-items:center;background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000000d;display:flex;gap:16px;padding:24px;transition:transform .2s,box-shadow .2s}.home-stat-card:hover{box-shadow:0 8px 25px #00000014;transform:translateY(-2px)}.home-stat-icon{align-items:center;border-radius:14px;display:flex;flex-shrink:0;font-size:22px;height:52px;justify-content:center;width:52px}.home-stat-icon.blue{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.home-stat-icon.purple{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.home-stat-icon.green{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.home-stat-icon.orange{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff}.home-stat-content{display:flex;flex-direction:column}.home-stat-value{color:#1e293b;font-size:28px;font-weight:700;line-height:1}.home-stat-label{color:#64748b;font-size:13px;margin-top:4px}.home-availability{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000000d;margin-bottom:32px;padding:24px}.home-availability-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.home-availability-header h3{color:#1e293b;font-size:16px;font-weight:600;margin:0}.home-availability-percent{color:#22c55e;font-size:24px;font-weight:700}.home-availability-bar{background:#e2e8f0;border-radius:6px;height:12px;margin-bottom:12px;overflow:hidden}.home-availability-fill{background:linear-gradient(90deg,#22c55e,#16a34a);border-radius:6px;height:100%;transition:width .5s ease}.home-availability-details{color:#64748b;display:flex;font-size:13px;justify-content:space-between}.home-summary{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000000d;padding:24px}.home-summary h2{color:#1e293b;font-size:18px;font-weight:600;margin:0 0 20px}.home-summary-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}.home-summary-item{align-items:center;background:#f8fafc;border-radius:12px;display:flex;gap:14px;padding:16px;transition:background .2s}.home-summary-item:hover{background:#f1f5f9}.home-summary-icon{align-items:center;border-radius:12px;display:flex;flex-shrink:0;font-size:18px;height:44px;justify-content:center;width:44px}.home-summary-icon.cyan{background:#06b6d426;color:#06b6d4}.home-summary-icon.pink{background:#ec489926;color:#ec4899}.home-summary-icon.teal{background:#14b8a626;color:#14b8a6}.home-summary-icon.amber{background:#f59e0b26;color:#f59e0b}.home-summary-data{display:flex;flex-direction:column}.home-summary-value{color:#1e293b;font-size:22px;font-weight:700;line-height:1}.home-summary-label{color:#64748b;font-size:12px;margin-top:2px}@media (max-width:1200px){.home-stats,.home-summary-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.home-page{padding:20px}.home-stats,.home-summary-grid{grid-template-columns:1fr}.home-header h1{font-size:24px}}.admin-page{background:#f8fafc;min-height:100vh;padding:32px}.admin-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.admin-header-left{align-items:center;display:flex;gap:12px}.admin-header h1{color:#1e293b;font-size:28px;font-weight:700;margin:0}.admin-count{border-radius:20px;padding:4px 12px}.admin-btn-add,.admin-count{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;font-size:14px;font-weight:600}.admin-btn-add{border:none;border-radius:10px;cursor:pointer;padding:12px 24px;transition:all .2s}.admin-btn-add:hover{box-shadow:0 4px 15px #6366f166;transform:translateY(-2px)}.admin-search{margin-bottom:24px}.admin-search input{background:#fff;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;max-width:400px;padding:12px 16px;transition:all .2s;width:100%}.admin-search input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.admin-error{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#dc2626;margin-bottom:24px;padding:12px 16px}.admin-empty,.admin-loading{align-items:center;color:#64748b;display:flex;flex-direction:column;gap:12px;justify-content:center;padding:60px 20px}.admin-spinner{animation:admin-spin .8s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#6366f1;height:36px;width:36px}@keyframes admin-spin{to{transform:rotate(1turn)}}.admin-list{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000000d;overflow:hidden}.admin-table{border-collapse:collapse;width:100%}.admin-table th{background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#64748b;font-size:12px;font-weight:600;letter-spacing:.5px;padding:14px 20px;text-align:left;text-transform:uppercase}.admin-table td{border-bottom:1px solid #f1f5f9;color:#1e293b;font-size:14px;padding:16px 20px}.admin-table tr:hover{background:#f8fafc}.admin-table tr:last-child td{border-bottom:none}.admin-user-cell{align-items:center;display:flex;gap:12px}.admin-user-avatar{align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:50%;color:#fff;display:flex;font-size:14px;font-weight:600;height:40px;justify-content:center;width:40px}.admin-user-name{color:#1e293b;font-weight:600}.admin-badge{background:#f1f5f9;border-radius:6px;color:#64748b;display:inline-block;font-size:12px;font-weight:500;padding:4px 10px}.admin-badge.blue{background:#6366f11a;color:#6366f1}.admin-actions{display:flex;gap:8px}.admin-btn-delete,.admin-btn-edit{border:1px solid #0000;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;transition:all .2s}.admin-btn-edit{background:#f0fdf4;border-color:#bbf7d0;color:#16a34a}.admin-btn-edit:hover{background:#dcfce7}.admin-btn-delete{background:#fef2f2;border-color:#fecaca;color:#dc2626}.admin-btn-delete:hover{background:#fee2e2}.admin-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));padding:20px}.admin-card{align-items:center;background:#f8fafc;border-radius:12px;display:flex;gap:16px;padding:20px;transition:all .2s}.admin-card:hover{background:#f1f5f9}.admin-card-icon{align-items:center;background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:12px;color:#fff;display:flex;flex-shrink:0;font-size:20px;height:48px;justify-content:center;width:48px}.admin-card-icon.purple{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.admin-card-content{flex:1 1;min-width:0}.admin-card-content h3{color:#1e293b;font-size:16px;font-weight:600;margin:0 0 4px}.admin-card-id,.admin-card-meta{color:#64748b;font-size:13px}.admin-modal-overlay{align-items:center;animation:admin-fade-in .2s ease;background:#00000080;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:10000}@keyframes admin-fade-in{0%{opacity:0}to{opacity:1}}.admin-modal{animation:admin-slide-up .3s ease;background:#fff;border-radius:16px;display:flex;flex-direction:column;max-height:90vh;max-width:600px;overflow:hidden;width:100%}.admin-modal-small{max-width:450px}@keyframes admin-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.admin-modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:20px 24px}.admin-modal-header h2{color:#1e293b;font-size:18px;font-weight:600;margin:0}.admin-modal-close{background:#f1f5f9;border:none;border-radius:8px;color:#64748b;cursor:pointer;font-size:20px;height:32px;transition:all .2s;width:32px}.admin-modal-close:hover{background:#e2e8f0;color:#1e293b}.admin-modal-body{flex:1 1;overflow-y:auto;padding:24px}.admin-modal-footer{border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end;margin-top:20px;padding-top:20px}.admin-form-error{background:#fef2f2;border-radius:8px;color:#dc2626;font-size:14px;margin-bottom:20px;padding:12px 16px}.admin-form-group label{color:#374151;display:block;font-size:13px;font-weight:600;margin-bottom:8px}.admin-form-group input,.admin-form-group select{background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;padding:12px 14px;transition:all .2s;width:100%}.admin-form-group input:focus,.admin-form-group select:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.admin-permissions{background:#f8fafc;border-radius:8px;display:flex;flex-wrap:wrap;gap:8px;max-height:200px;overflow-y:auto;padding:12px}.admin-permission-item{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;display:flex;font-size:13px;gap:8px;padding:8px 12px;transition:all .2s}.admin-permission-item:hover{border-color:#6366f1}.admin-permission-item input{accent-color:#6366f1;height:16px;width:16px}.admin-permissions-grouped{max-height:300px;overflow-y:auto}.admin-permission-category{margin-bottom:16px}.admin-permission-category h4{border-bottom:1px solid #e2e8f0;color:#64748b;font-size:12px;font-weight:600;letter-spacing:.5px;margin:0 0 8px;padding-bottom:8px;text-transform:uppercase}.admin-btn-cancel{border:1px solid #e2e8f0;border-radius:8px;font-weight:500;padding:10px 20px;transition:all .2s}.admin-btn-cancel:hover{background:#f8fafc;color:#1e293b}.admin-btn-save{border-radius:8px;padding:10px 20px;transition:all .2s}.admin-btn-save:hover{box-shadow:0 4px 12px #6366f166}@media (max-width:768px){.admin-page{padding:20px}.admin-header{align-items:flex-start;flex-direction:column;gap:16px}.admin-btn-add{width:100%}.admin-search input{max-width:none}.admin-cards,.admin-form-row{grid-template-columns:1fr}.admin-table{font-size:13px}.admin-table td,.admin-table th{padding:12px}}.admin-modal-large{max-width:700px}.role-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));padding:20px}.role-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:20px;transition:all .2s}.role-card:hover{border-color:#6366f1;box-shadow:0 4px 20px #6366f11a}.role-card-header{align-items:flex-start;display:flex;gap:14px;margin-bottom:16px}.role-card-icon{align-items:center;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-radius:12px;color:#fff;display:flex;flex-shrink:0;font-size:20px;height:48px;justify-content:center;width:48px}.role-card-info{flex:1 1;min-width:0}.role-card-info h3{color:#1e293b;font-size:17px;font-weight:600;margin:0 0 6px}.role-card-stats{display:flex;gap:16px}.role-stat{color:#1e293b;font-size:13px;font-weight:500}.role-stat strong{color:#6366f1;font-weight:700}.role-card-accesses{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;min-height:36px}.role-access-badge{background:#f1f5f9;color:#64748b;font-size:14px}.role-access-badge,.role-access-more{align-items:center;border-radius:8px;display:flex;height:32px;justify-content:center;width:32px}.role-access-more{background:#6366f1;color:#fff;font-size:11px;font-weight:600}.role-card-actions{border-top:1px solid #f1f5f9;display:flex;gap:8px;padding-top:16px}.role-tabs{background:#f1f5f9;border-radius:10px;display:flex;gap:4px;margin-bottom:20px;padding:4px}.role-tab{background:#0000;border:none;border-radius:8px;color:#64748b;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:10px 16px;transition:all .2s}.role-tab:hover{color:#1e293b}.role-tab.active{background:#fff;box-shadow:0 1px 3px #0000001a;color:#6366f1}.role-accesses-section,.role-permissions-section{background:#f8fafc;border-radius:12px;margin-bottom:20px;padding:20px}.role-section-desc{color:#475569;font-size:13px;margin:0 0 20px}.role-access-category{margin-bottom:24px}.role-access-category:last-child{margin-bottom:0}.role-access-category-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.role-access-category-header h4{color:#374151;font-size:13px;font-weight:600;letter-spacing:.5px;margin:0;text-transform:uppercase}.role-select-all{background:none;border:none;border-radius:4px;color:#6366f1;cursor:pointer;font-size:12px;padding:4px 8px;transition:all .2s}.role-select-all:hover{background:#6366f11a}.role-access-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.role-access-item{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:16px 12px;text-align:center;transition:all .2s}.role-access-item:hover{border-color:#6366f1}.role-access-item.selected{background:#6366f10d;border-color:#6366f1}.role-access-item input{display:none}.role-access-icon{align-items:center;background:#f1f5f9;border-radius:10px;color:#64748b;display:flex;font-size:18px;height:40px;justify-content:center;transition:all .2s;width:40px}.role-access-item.selected .role-access-icon{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.role-access-label{color:#374151;font-size:12px;font-weight:500}.role-access-item.selected .role-access-label{color:#6366f1;font-weight:600}@media (max-width:768px){.role-cards{grid-template-columns:1fr}.role-access-grid{grid-template-columns:repeat(2,1fr)}.role-tabs{flex-direction:column}}.admin-header-actions{display:flex;flex-wrap:wrap;gap:12px}.admin-stats-grid{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:24px}.admin-stat-bubble{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 2px 8px #0000000a;display:flex;flex-direction:column;gap:8px;min-width:120px;padding:20px 32px}.admin-stat-number{color:#6366f1;font-size:32px;font-weight:700;line-height:1}.admin-stat-label{color:#64748b;font-size:13px;font-weight:500}.admin-table-section{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 2px 8px #0000000a;overflow:hidden}.admin-table-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:20px 24px}.admin-table-header h2{color:#1e293b;font-size:18px;font-weight:600;margin:0}.admin-table-container{padding:0}.admin-table-header .admin-search{margin-bottom:0;position:relative}.admin-table-header .admin-search input{max-width:280px;padding-left:40px}.admin-search-icon{color:#94a3b8;font-size:14px;left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.admin-title{color:#1e293b;font-size:28px;font-weight:700;margin:0}.admin-action-buttons{display:flex;gap:8px}.admin-action-btn{border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;padding:8px 14px;transition:all .2s ease}.admin-action-btn.edit{background:#e0e7ff;color:#4f46e5}.admin-action-btn.edit:hover{background:#c7d2fe}.admin-action-btn.delete{background:#fee2e2;color:#ef4444}.admin-action-btn.delete:hover{background:#fecaca}.admin-dialog-overlay{align-items:center;animation:adminFadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172ab3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10000}@keyframes adminFadeIn{0%{opacity:0}to{opacity:1}}.admin-dialog-content{animation:adminSlideUp .3s ease-out;background:#fff;border-radius:20px;box-shadow:0 25px 50px #00000040;display:flex;flex-direction:column;max-height:90vh;max-width:500px;overflow:hidden;width:100%}@keyframes adminSlideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.admin-dialog-header{align-items:center;background:linear-gradient(135deg,#f8fafc,#fff);border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:24px 28px 20px}.admin-dialog-title{color:#1e293b;font-size:20px;font-weight:700;margin:0}.admin-dialog-close{align-items:center;background:#f1f5f9;border:none;border-radius:10px;color:#64748b;cursor:pointer;display:flex;font-size:20px;height:36px;justify-content:center;transition:all .2s ease;width:36px}.admin-dialog-close:hover{background:#e2e8f0;color:#1e293b}.admin-dialog-body{flex:1 1;overflow-y:auto;padding:24px 28px}.admin-dialog-footer{background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end;padding:20px 28px}.admin-form-group{margin-bottom:20px}.admin-form-group:last-child{margin-bottom:0}.admin-form-label{color:#374151;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.admin-form-input,.admin-form-select{background:#fff;border:2px solid #e2e8f0;border-radius:12px;box-sizing:border-box;color:#1e293b;font-size:15px;padding:12px 16px;transition:all .2s ease;width:100%}.admin-form-input:focus,.admin-form-select:focus{border-color:#6366f1;box-shadow:0 0 0 4px #6366f11a;outline:none}.admin-form-input::placeholder{color:#94a3b8}textarea.admin-form-input{min-height:100px;resize:vertical}.admin-form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.admin-btn-cancel{background:#fff;border:2px solid #e2e8f0;border-radius:10px;color:#64748b;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s ease}.admin-btn-cancel:hover{background:#f1f5f9;border-color:#cbd5e1;color:#374151}.admin-btn-save{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:10px;box-shadow:0 4px 15px #6366f14d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s ease}.admin-btn-save:hover{box-shadow:0 6px 20px #6366f166;transform:translateY(-1px)}.admin-btn-save:disabled{cursor:not-allowed;opacity:.6;transform:none}@media (max-width:600px){.admin-dialog-content{border-radius:16px;margin:10px;max-width:none}.admin-dialog-body,.admin-dialog-footer,.admin-dialog-header{padding-left:20px;padding-right:20px}.admin-form-row{grid-template-columns:1fr}}.admin-btn-add.secondary{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 15px #10b9814d}.admin-btn-add.secondary:hover{box-shadow:0 6px 20px #10b98166}.admin-btn-add.small{padding:8px 16px}.admin-btn-cancel.small{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;font-size:13px;padding:8px 16px}.admin-tabs{background:#f1f5f9;border-radius:12px;display:flex;gap:4px;margin-bottom:24px;padding:4px}.admin-tab{background:#0000;border:none;border-radius:8px;color:#64748b;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:12px 20px;transition:all .2s ease}.admin-tab:hover{color:#374151}.admin-tab.active{background:#fff;box-shadow:0 2px 8px #00000014;color:#6366f1;font-weight:600}.admin-alert{align-items:center;border-radius:10px;display:flex;font-size:14px;gap:10px;margin-bottom:20px;padding:12px 16px}.admin-alert.error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.admin-alert.success{background:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a}.admin-alert.small{font-size:13px;margin-bottom:12px;padding:8px 12px}.admin-loading{align-items:center;color:#64748b;display:flex;flex-direction:column;gap:16px;justify-content:center;padding:60px 20px}.admin-loading.small{font-size:13px;padding:20px}.admin-empty-state{padding:60px 20px;text-align:center}.admin-empty-state .empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}.admin-empty-state h3{color:#374151;font-size:18px;font-weight:600;margin:0 0 8px}.admin-empty-state p{color:#64748b;font-size:14px;margin:0 0 20px}.admin-table-name{align-items:center;display:flex;gap:12px}.admin-table-avatar{align-items:center;border-radius:8px;display:flex;flex-shrink:0;font-size:16px;font-weight:600;height:36px;justify-content:center;width:36px}.admin-table-avatar.cat{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);color:#4f46e5}.admin-table-avatar.subcat{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#059669}.admin-table-avatar.client{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#d97706}.admin-table-avatar.parc{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#2563eb}.admin-table-desc{color:#64748b;font-size:14px;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-badge{align-items:center;background:#e0e7ff;border-radius:20px;color:#4f46e5;display:inline-flex;font-size:13px;font-weight:600;justify-content:center;padding:4px 12px}.admin-badge.parent{background:#d1fae5;color:#059669}.admin-contact-info{display:flex;flex-direction:column;gap:4px}.contact-line{align-items:center;color:#374151;display:flex;font-size:13px;gap:8px}.contact-icon{color:#64748b;font-size:12px}.no-data{color:#94a3b8}.admin-cards-list{display:flex;flex-direction:column;gap:16px}.admin-card-item{background:#fff;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden;transition:all .2s ease}.admin-card-item:hover{box-shadow:0 4px 20px #0000000f}.admin-card-item.expanded{border-color:#6366f1;box-shadow:0 4px 20px #6366f11a}.admin-card-main{flex-wrap:wrap;justify-content:space-between;padding:20px 24px}.admin-card-info,.admin-card-main{align-items:center;display:flex;gap:16px}.admin-card-avatar{align-items:center;border-radius:12px;display:flex;flex-shrink:0;font-size:22px;height:48px;justify-content:center;width:48px}.admin-card-avatar.parc{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#2563eb}.admin-card-details h3{color:#1e293b;font-size:16px;font-weight:600;margin:0 0 4px}.admin-card-subtitle{color:#64748b;font-size:13px;margin:0}.admin-card-desc{color:#94a3b8;font-size:12px;margin:4px 0 0}.admin-card-actions{display:flex;flex-wrap:wrap;gap:8px}.admin-card-btn{border:1px solid #0000;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s ease}.admin-card-btn.locations{background:#f0f9ff;border-color:#bae6fd;color:#0369a1}.admin-card-btn.locations.active,.admin-card-btn.locations:hover{background:#0369a1;color:#fff}.admin-card-btn.edit{background:#e0e7ff;color:#4f46e5}.admin-card-btn.edit:hover{background:#c7d2fe}.admin-card-btn.delete{background:#fee2e2;color:#ef4444}.admin-card-btn.delete:hover{background:#fecaca}.admin-card-expanded{background:#f8fafc;border-top:1px solid #e2e8f0;padding:20px 24px}.admin-expanded-header{margin-bottom:16px}.admin-expanded-header h4{color:#374151;font-size:14px;font-weight:600;margin:0}.admin-inline-form{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.admin-inline-form .admin-form-input{flex:1 1;min-width:200px}.admin-emplacements-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.admin-emplacement-item{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;display:flex;gap:10px;padding:12px 16px;transition:all .2s ease}.admin-emplacement-item:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0000000a}.emplacement-icon{font-size:16px}.emplacement-name{color:#374151;flex:1 1;font-size:14px;font-weight:500}.emplacement-actions{display:flex;gap:4px}.empl-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:12px;height:28px;justify-content:center;transition:all .2s ease;width:28px}.empl-btn.edit{background:#e0e7ff;color:#4f46e5}.empl-btn.edit:hover{background:#c7d2fe}.empl-btn.delete{background:#fee2e2;color:#ef4444}.empl-btn.delete:hover{background:#fecaca}.admin-no-data{color:#94a3b8;font-size:14px;font-style:italic;padding:20px;text-align:center}@media (max-width:768px){.admin-header-actions{width:100%}.admin-header-actions .admin-btn-add{flex:1 1}.admin-card-main,.admin-tabs{flex-direction:column}.admin-card-main{align-items:flex-start}.admin-card-actions{width:100%}.admin-card-btn{flex:1 1}.admin-inline-form{flex-direction:column}.admin-inline-form .admin-form-input{width:100%}.admin-emplacements-grid{grid-template-columns:1fr}}.devtool-page{background:linear-gradient(135deg,#0f172a,#1e293b);color:#e2e8f0;min-height:100vh}.devtool-page .admin-title{color:#fff}.devtool-badge{background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:20px;color:#fff;font-size:12px;font-weight:600;letter-spacing:1px;padding:6px 14px;text-transform:uppercase}.devtool-overview{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:32px}.devtool-stat-card{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:16px;display:flex;flex:1 1;gap:16px;min-width:200px;padding:20px 28px}.devtool-stat-icon{align-items:center;border-radius:12px;display:flex;font-size:20px;height:48px;justify-content:center;width:48px}.devtool-stat-icon.green{background:#22c55e33;color:#22c55e}.devtool-stat-icon.red{background:#ef444433;color:#ef4444}.devtool-stat-icon.blue{background:#3b82f633;color:#3b82f6}.devtool-stat-info{display:flex;flex-direction:column}.devtool-stat-value{color:#fff;font-size:28px;font-weight:700}.devtool-stat-label{color:#94a3b8;font-size:13px}.devtool-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr;margin-bottom:24px}.devtool-section{background:#ffffff08;border:1px solid #ffffff14;border-radius:16px;padding:24px}.devtool-section.full-width{grid-column:1/-1}.devtool-section h2{border-bottom:1px solid #ffffff1a;color:#e2e8f0;font-size:16px;font-weight:600;margin:0 0 20px;padding-bottom:12px}.devtool-endpoints{display:flex;flex-direction:column;gap:8px;max-height:400px;overflow-y:auto}.devtool-endpoint{align-items:center;background:#ffffff08;border-radius:10px;cursor:pointer;display:flex;gap:12px;padding:12px 16px;transition:all .2s ease}.devtool-endpoint:hover{background:#ffffff14}.devtool-endpoint.ok .endpoint-status{color:#22c55e}.devtool-endpoint.error .endpoint-status{color:#ef4444}.endpoint-status{font-size:14px;width:20px}.endpoint-name{color:#94a3b8;flex:1 1;font-family:Monaco,Consolas,monospace;font-size:13px}.endpoint-count{background:#6366f133;border-radius:12px;color:#a5b4fc;font-size:12px;font-weight:600;padding:4px 10px}.devtool-console{background:#0a0a0a;border-radius:10px;font-family:Monaco,Consolas,monospace;font-size:12px;max-height:300px;min-height:200px;overflow-y:auto;padding:16px}.console-empty{color:#64748b;padding:40px;text-align:center}.console-line{border-bottom:1px solid #ffffff0d;display:flex;gap:12px;padding:4px 0}.console-line:last-child{border-bottom:none}.console-time{color:#64748b;flex-shrink:0}.console-msg{color:#e2e8f0}.console-line.success .console-msg{color:#22c55e}.console-line.error .console-msg{color:#ef4444}.console-line.info .console-msg{color:#3b82f6}.devtool-clear-logs{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;color:#94a3b8;cursor:pointer;font-size:12px;margin-top:12px;padding:8px 16px;transition:all .2s ease}.devtool-clear-logs:hover{background:#ffffff1a;color:#fff}.devtool-info-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.devtool-info-item{background:#ffffff08;border-radius:10px;display:flex;flex-direction:column;gap:4px;padding:16px}.info-label{font-size:12px;letter-spacing:.5px}.info-value{color:#e2e8f0;font-family:Monaco,Consolas,monospace;font-size:14px;word-break:break-all}.devtool-test-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}.devtool-test-btn{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;color:#e2e8f0;cursor:pointer;font-size:14px;font-weight:600;padding:14px 24px;transition:all .2s ease}.devtool-test-btn:hover{background:#ffffff1a;transform:translateY(-2px)}.devtool-test-btn.primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-color:#0000}.devtool-test-btn.primary:hover{box-shadow:0 4px 15px #6366f166}.devtool-test-results{background:#ffffff08;border:1px solid #ffffff1a;border-radius:12px;margin-top:20px;padding:24px}.devtool-test-results.success{border-left:4px solid #22c55e}.devtool-test-results.error{border-left:4px solid #ef4444}.devtool-test-results h3{color:#fff;font-size:18px;margin:0 0 20px}.test-steps{display:flex;flex-direction:column;gap:12px}.test-step{background:#0003;border-radius:8px;padding:16px}.test-step.success{border-left:3px solid #22c55e}.test-step.error{border-left:3px solid #ef4444}.test-step strong{color:#fff;display:block;margin-bottom:8px}.test-step pre{background:#0000004d;border-radius:6px;color:#94a3b8;font-size:12px;margin:0;overflow-x:auto;padding:12px}.test-data{display:flex;flex-direction:column;gap:12px}.test-stat{background:#0003;border-radius:8px;display:flex;justify-content:space-between;padding:12px}.test-label{color:#94a3b8;font-weight:500}.test-value{color:#fff;font-weight:700}.test-error{background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;padding:16px}.test-error strong{color:#ef4444;display:block;margin-bottom:8px}.test-error pre{background:#0000004d;border-radius:6px;color:#f87171;font-size:12px;margin:0;overflow-x:auto;padding:12px}.test-raw-data{border-top:1px solid #ffffff1a;margin-top:16px;padding-top:16px}.test-raw-data summary{color:#94a3b8;cursor:pointer;font-size:13px;margin-bottom:8px}.test-raw-data summary:hover{color:#fff}.test-raw-data pre{background:#0000004d;border-radius:8px;color:#64748b;font-size:11px;max-height:400px;overflow-x:auto;overflow-y:auto;padding:16px}@media (max-width:900px){.devtool-grid{grid-template-columns:1fr}.devtool-test-buttons{flex-direction:column}.devtool-test-btn{width:100%}}@media (max-width:600px){.devtool-overview{flex-direction:column}.devtool-stat-card{min-width:auto}}.devtool-tabs{background:#ffffff0d;border-radius:12px;display:flex;gap:8px;margin-bottom:24px;padding:4px;width:-webkit-fit-content;width:fit-content}.devtool-tab{background:#0000;border:none;border-radius:8px;color:#94a3b8;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .2s ease}.devtool-tab:hover{background:#ffffff1a;color:#fff}.devtool-tab.active{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.devtool-section-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:12px}.devtool-section-header h2{border:none;margin:0;padding:0}.devtool-empty{padding:60px 20px;text-align:center}.devtool-empty .empty-icon{font-size:64px;margin-bottom:16px;opacity:.5}.devtool-empty h3{color:#e2e8f0;font-size:20px;margin:0 0 8px}.devtool-empty p{color:#64748b;margin:0 0 24px}.patchnotes-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.patchnote-card{background:#ffffff08;border:1px solid #ffffff14;border-radius:12px;padding:20px;transition:all .2s ease}.patchnote-card:hover{background:#ffffff0f;transform:translateY(-2px)}.patchnote-card.published{border-left:3px solid #22c55e}.patchnote-card.draft{border-left:3px solid #f59e0b}.patchnote-header{align-items:center;display:flex;gap:12px;margin-bottom:12px}.patchnote-version{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:6px;color:#fff;font-size:13px;font-weight:600;padding:4px 10px}.patchnote-status{border-radius:12px;font-size:12px;font-weight:500;padding:4px 10px}.patchnote-status.published{background:#22c55e33;color:#22c55e}.patchnote-status.draft{background:#f59e0b33;color:#f59e0b}.patchnote-title{color:#fff;font-size:16px;font-weight:600;margin:0 0 8px}.patchnote-preview{color:#94a3b8;font-size:13px;line-height:1.5;margin:0 0 16px}.patchnote-footer{align-items:center;border-top:1px solid #ffffff14;display:flex;justify-content:space-between;padding-top:12px}.patchnote-date{color:#64748b;font-size:12px}.patchnote-actions{display:flex;gap:8px}.patchnote-btn{border:none;border-radius:6px;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s ease}.patchnote-btn.publish{background:#22c55e33;color:#22c55e}.patchnote-btn.publish:hover{background:#22c55e4d}.patchnote-btn.unpublish{background:#f59e0b33;color:#f59e0b}.patchnote-btn.unpublish:hover{background:#f59e0b4d}.patchnote-btn.edit{background:#6366f133;color:#a5b4fc}.patchnote-btn.edit:hover{background:#6366f14d}.patchnote-btn.delete{background:#ef444433;color:#f87171}.patchnote-btn.delete:hover{background:#ef44444d}.patchnote-textarea{font-family:inherit;min-height:200px;resize:vertical}.patchnote-checkbox{align-items:flex-start;cursor:pointer;display:flex;gap:12px}.patchnote-checkbox input{cursor:pointer;height:20px;margin-top:2px;width:20px}.patchnote-checkbox .checkbox-label{display:flex;flex-direction:column}.patchnote-checkbox .checkbox-label small{color:#64748b;font-size:12px;margin-top:4px}.patchnote-notification{align-items:center;animation:slideIn .5s ease-out;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:12px;cursor:pointer;display:flex;gap:16px;margin-bottom:24px;padding:16px 20px;transition:all .3s ease}.patchnote-notification:hover{box-shadow:0 8px 25px #6366f166;transform:translateY(-2px)}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.notification-icon{flex-shrink:0;font-size:28px}.notification-content{display:flex;flex:1 1;flex-direction:column;gap:2px}.notification-title{color:#fff;font-size:16px;font-weight:600}.notification-text{color:#fffc;font-size:13px}.notification-badge{background:#fff;border-radius:50%;color:#6366f1;flex-shrink:0;font-size:14px;font-weight:700;height:28px;width:28px}.notification-badge,.patchnote-modal-overlay{align-items:center;display:flex;justify-content:center}.patchnote-modal-overlay{animation:fadeIn .3s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000c;bottom:0;left:0;position:fixed;right:0;top:0;z-index:3000}.patchnote-modal-content{animation:slideUp .4s ease-out;background:linear-gradient(180deg,#1e293b,#0f172a);border:1px solid #ffffff1a;border-radius:20px;box-shadow:0 20px 60px #00000080;display:flex;flex-direction:column;max-height:80vh;max-width:600px;overflow:hidden;width:90%}.patchnote-modal-header{border-bottom:1px solid #ffffff1a;padding:32px 32px 24px;text-align:center}.patchnote-modal-version{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:20px;color:#fff;display:inline-block;font-size:14px;font-weight:600;margin-bottom:12px;padding:6px 16px}.patchnote-modal-title{color:#fff;font-size:24px;font-weight:700;margin:0 0 8px}.patchnote-modal-date{color:#64748b;font-size:13px}.patchnote-modal-body{flex:1 1;overflow-y:auto;padding:24px 32px}.patchnote-modal-text{color:#cbd5e1;font-size:15px;line-height:1.7}.patchnote-modal-text p{margin:0 0 12px}.patchnote-modal-text p:last-child{margin-bottom:0}.patchnote-modal-footer{align-items:center;border-top:1px solid #ffffff1a;display:flex;gap:16px;justify-content:space-between;padding:20px 32px}.patchnote-counter{color:#64748b;font-size:13px}.patchnote-modal-btn{background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:10px;color:#fff;cursor:pointer;flex:1 1;font-size:15px;font-weight:600;padding:14px 24px;transition:all .2s ease}.patchnote-modal-btn:hover{box-shadow:0 4px 15px #22c55e66;transform:translateY(-2px)}@media (max-width:600px){.patchnotes-list{grid-template-columns:1fr}.patchnote-modal-content{max-height:90vh;width:95%}.patchnote-modal-body,.patchnote-modal-footer,.patchnote-modal-header{padding-left:20px;padding-right:20px}.patchnote-notification{flex-wrap:wrap}}.nouveautes-page{background:linear-gradient(135deg,#f8fafc,#f1f5f9);min-height:100vh;padding:32px}.nouveautes-loading{align-items:center;color:#64748b;display:flex;flex-direction:column;gap:16px;height:60vh;justify-content:center}.nouveautes-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:32px}.nouveautes-header-content h1{color:#1e293b;font-size:32px;font-weight:700;margin:0 0 4px}.nouveautes-header-content p{color:#64748b;font-size:15px;margin:0}.nouveautes-unread-badge{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:25px;box-shadow:0 4px 15px #6366f14d;color:#fff;font-size:14px;font-weight:600;padding:10px 20px}.nouveautes-content{max-width:900px}.nouveautes-empty{background:#fff;border-radius:20px;box-shadow:0 1px 3px #0000000d;padding:80px 20px;text-align:center}.nouveautes-empty .empty-icon{font-size:72px;margin-bottom:20px;opacity:.4}.nouveautes-empty h3{color:#1e293b;font-size:22px;font-weight:600;margin:0 0 8px}.nouveautes-empty p{color:#64748b;font-size:15px;margin:0}.nouveautes-list{display:flex;flex-direction:column;gap:16px}.nouveaute-card{background:#fff;border:2px solid #0000;border-radius:16px;box-shadow:0 1px 3px #0000000d;cursor:pointer;padding:24px;position:relative;transition:all .3s ease}.nouveaute-card:hover{border-color:#e2e8f0;box-shadow:0 8px 25px #00000014;transform:translateY(-2px)}.nouveaute-card.unread{background:linear-gradient(135deg,#faf5ff,#f5f3ff);border-color:#c4b5fd}.nouveaute-card.latest{border-color:#a78bfa}.nouveaute-card.latest.unread{border-color:#8b5cf6;box-shadow:0 4px 20px #8b5cf626}.nouveaute-dot{animation:dotPulse 2s infinite;background:linear-gradient(135deg,#ef4444,#dc2626);border-radius:50%;box-shadow:0 2px 8px #ef444480;height:16px;left:-8px;position:absolute;top:24px;width:16px}@keyframes dotPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.2)}}.nouveaute-card-header{align-items:center;display:flex;gap:12px;margin-bottom:12px}.nouveaute-version{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:20px;color:#fff;font-size:13px;font-weight:600;padding:6px 14px}.nouveaute-new-tag{background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:12px;color:#fff;font-size:11px;font-weight:700;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.nouveaute-title{color:#1e293b;font-size:18px;font-weight:600;margin:0 0 8px}.nouveaute-preview{color:#64748b;font-size:14px;line-height:1.6;margin:0 0 16px}.nouveaute-card-footer{align-items:center;display:flex;justify-content:space-between;margin-top:4px}.nouveaute-date{color:#94a3b8;font-size:13px}.nouveaute-author{color:#64748b;font-size:12px;font-style:italic}.nouveaute-modal-overlay{align-items:center;animation:fadeIn .3s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:3000}.nouveaute-modal{animation:slideUp .4s ease-out;background:#fff;border-radius:24px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:80vh;max-width:700px;overflow:hidden;position:relative;width:90%}.nouveaute-modal-close{align-items:center;background:#0000000d;border:none;border-radius:50%;color:#64748b;cursor:pointer;display:flex;font-size:24px;height:36px;justify-content:center;position:absolute;right:20px;top:20px;transition:all .2s ease;width:36px}.nouveaute-modal-close:hover{background:#0000001a;color:#1e293b}.nouveaute-modal-header{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0;padding:40px 40px 24px;text-align:center}.nouveaute-modal-version{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:25px;color:#fff;display:inline-block;font-size:15px;font-weight:600;margin-bottom:16px;padding:8px 20px}.nouveaute-modal-header h2{color:#1e293b;font-size:26px;font-weight:700;margin:0 0 8px}.nouveaute-modal-date{color:#64748b;font-size:14px}.nouveaute-modal-body{color:#334155;flex:1 1;font-size:15px;line-height:1.8;overflow-y:auto;padding:32px 40px}.nouveaute-modal-body p{margin:0 0 12px}.nouveaute-modal-body p:last-child{margin-bottom:0}.nouveaute-modal-footer{background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;justify-content:center;padding:24px 40px}.nouveaute-confirm-btn{background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:12px;box-shadow:0 4px 15px #22c55e4d;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:16px 32px;transition:all .3s ease}.nouveaute-confirm-btn:hover{box-shadow:0 6px 20px #22c55e66;transform:translateY(-2px)}.nouveaute-close-btn{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:12px;color:#64748b;cursor:pointer;font-size:15px;font-weight:500;padding:14px 28px;transition:all .2s ease}.nouveaute-close-btn:hover{background:#e2e8f0;color:#334155}@media (max-width:768px){.nouveautes-header{align-items:flex-start;flex-direction:column;gap:16px}.nouveaute-modal{max-height:90vh;width:95%}.nouveaute-modal-body,.nouveaute-modal-header{padding-left:24px;padding-right:24px}}.preparation-detail{padding:20px}.preparation-header{align-items:center;border-bottom:2px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.preparation-header h2{color:#1e293b;font-size:28px;font-weight:700;margin:0}.preparation-reservations{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.reservation-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:20px;transition:all .2s ease}.reservation-card:hover{box-shadow:0 4px 15px #00000026;transform:translateY(-2px)}.reservation-card.complete{background:#f0fdf4;border-left:4px solid #22c55e}.reservation-card.incomplete{border-left:4px solid #f59e0b}.reservation-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.reservation-header h3{color:#1e293b;font-size:18px;font-weight:600;margin:0}.reservation-badge{border-radius:20px;font-size:13px;font-weight:600;padding:5px 12px}.reservation-badge.success{background:#dcfce7;color:#16a34a}.reservation-badge.warning{background:#fef3c7;color:#d97706}.reservation-progress{background:#e2e8f0;border-radius:10px;height:10px;margin-bottom:15px;overflow:hidden}.progress-bar{background:linear-gradient(90deg,#22c55e,#16a34a);border-radius:10px;height:100%;transition:width .3s ease}.admin-btn-add.small{font-size:13px;margin-top:10px;padding:8px 15px}.qr-scan-section{background:#f8fafc;border-radius:10px;margin-bottom:20px;padding:20px}.qr-scan-section h3{color:#1e293b;font-size:18px;font-weight:600;margin-bottom:15px}.qr-input-group{display:flex;gap:10px}.qr-input-group input{flex:1 1}.divider{color:#94a3b8;font-weight:600;margin:20px 0;position:relative;text-align:center}.divider:after,.divider:before{background:#e2e8f0;content:"";height:1px;position:absolute;top:50%;width:45%}.divider:before{left:0}.divider:after{right:0}.unites-list{max-height:400px;overflow-y:auto}.unites-list h3{color:#1e293b;font-size:16px;font-weight:600;margin-bottom:15px}.unites-grid{grid-gap:15px;background:#f8fafc;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));max-height:500px;overflow-y:auto;padding:10px}.unite-card,.unites-grid{border:1px solid #e2e8f0;border-radius:8px}.unite-card{align-items:center;background:#fff;cursor:pointer;display:flex;gap:12px;padding:15px;position:relative;transition:all .2s ease}.unite-card:hover{border-color:#6366f1;box-shadow:0 2px 8px #6366f11a}.unite-card.selected{background:#eef2ff;border-color:#6366f1;border-width:2px}.unite-checkbox{align-items:center;display:flex;justify-content:center}.unite-checkbox input[type=checkbox]{accent-color:#6366f1;cursor:pointer;height:20px;width:20px}.unites-list-header{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:15px}.unites-selection-info{color:#64748b;font-size:14px;font-weight:500;margin-bottom:10px}.unite-info{display:flex;flex-direction:column;gap:5px}.unite-serial{color:#1e293b;font-size:15px;font-weight:600}.unite-qr{color:#64748b;font-family:Courier New,monospace;font-size:12px}.unite-etat{border-radius:10px;font-size:11px;font-weight:600;padding:3px 8px;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}.unite-etat.OK{background:#dcfce7;color:#16a34a}.unite-etat.Disponible{background:#dbeafe;color:#2563eb}.filter-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;display:flex;gap:10px;margin-bottom:30px;padding:20px}.filter-btn{background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.filter-btn:hover{border-color:#6366f1;color:#6366f1}.filter-btn.active{background:#6366f1;border-color:#6366f1;color:#fff}.status-badge{border-radius:20px;font-size:12px;font-weight:600;padding:5px 12px;text-transform:uppercase}.status-badge.pret{background:#dbeafe;color:#2563eb}.status-badge.en_cours{background:#fef3c7;color:#d97706}.status-badge.en_retour{background:#dcfce7;color:#16a34a}.badge-retard{background:#fef2f2;color:#ef4444}.badge-ok,.badge-retard{border-radius:10px;font-size:12px;font-weight:600;padding:4px 10px}.badge-ok{background:#f0fdf4;color:#22c55e}.row-retard{background:#fef2f2!important}.stats-section{background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000d;margin-bottom:40px;padding:30px}.stats-section h2{color:#1e293b;font-size:24px;font-weight:700;margin:0 0 24px}.stats-cards-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;box-shadow:0 4px 12px #667eea40;gap:16px;padding:24px;transition:all .3s ease}.stat-card:hover{box-shadow:0 8px 20px #667eea59;transform:translateY(-5px)}.stat-card.primary{background:linear-gradient(135deg,#667eea,#764ba2)}.stat-card.success{background:linear-gradient(135deg,#10b981,#059669)}.stat-card.info{background:linear-gradient(135deg,#3b82f6,#2563eb)}.stat-card.warning{background:linear-gradient(135deg,#f59e0b,#d97706)}.stat-card.danger{background:linear-gradient(135deg,#ef4444,#dc2626)}.stat-card.accent{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.stat-icon{font-size:48px;line-height:1;opacity:.9}.stat-value{color:#fff;font-size:36px;line-height:1;margin-bottom:8px}.stat-label{color:#fff;font-weight:500;opacity:1}.admin-empty{color:#64748b;padding:60px 20px;text-align:center}.admin-empty h3{color:#1e293b;font-size:20px;margin:0 0 12px}.admin-empty p{font-size:15px;margin:0 0 8px}.admin-empty small{color:#94a3b8;display:block;font-size:13px}.home-alerts{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.home-alert{align-items:center;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;font-size:14px;font-weight:500;gap:12px;padding:16px 20px}.home-alert.warning{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.home-alert.danger{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b}.home-alert svg{flex-shrink:0}.home-activity{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000000d;margin-bottom:32px;padding:24px}.home-activity h2{color:#1e293b;font-size:18px;font-weight:600;margin:0 0 20px}.home-activity-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}.home-activity-card{align-items:center;background:#f8fafc;border-radius:12px;display:flex;gap:14px;padding:16px;transition:all .2s}.home-activity-card:hover{background:#f1f5f9;transform:translateY(-2px)}.home-activity-icon{align-items:center;border-radius:10px;color:#fff;display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.home-activity-icon.active{background:linear-gradient(135deg,#3b82f6,#2563eb)}.home-activity-icon.draft{background:linear-gradient(135deg,#94a3b8,#64748b)}.home-activity-icon.reserved{background:linear-gradient(135deg,#f59e0b,#d97706)}.home-activity-icon.ongoing{background:linear-gradient(135deg,#22c55e,#16a34a)}.home-activity-content{display:flex;flex-direction:column}.home-activity-value{color:#1e293b;font-size:24px;font-weight:700;line-height:1}.home-activity-label{color:#64748b;font-size:12px;margin-top:4px}.home-upcoming{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000000d;margin-bottom:32px;padding:24px}.home-upcoming h2{color:#1e293b;font-size:18px;font-weight:600;margin:0 0 20px}.home-upcoming-list{display:flex;flex-direction:column;gap:12px}.home-upcoming-item{align-items:flex-start;background:#f8fafc;border-radius:12px;display:flex;gap:16px;padding:16px;transition:all .2s}.home-upcoming-item:hover{background:#f1f5f9;transform:translateX(4px)}.home-upcoming-icon{align-items:center;background:linear-gradient(135deg,#6366f1,#4f46e5);border-radius:10px;color:#fff;display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.home-upcoming-details{display:flex;flex:1 1;flex-direction:column}.home-upcoming-details h4{color:#1e293b;font-size:15px;font-weight:600;margin:0 0 6px}.home-upcoming-date{color:#6366f1;font-size:13px;font-weight:500;margin-bottom:4px}.home-upcoming-lieu{color:#64748b;display:block;font-size:12px;max-width:500px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:1200px){.home-activity-grid,.home-stats,.home-summary-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.home-page{padding:16px}.home-activity-grid,.home-stats,.home-summary-grid{grid-template-columns:1fr}.home-upcoming-lieu{max-width:280px}}.admin-button,.admin-card,.home-activity-card,.home-stat-card,.home-summary-item,.home-upcoming-item,.nav-button,.sidebar-item,.timeline-content [style*="position: absolute"][onclick],.timeline-content [style*="position: absolute"][onmouseenter]{cursor:pointer!important}.modal-form input:not([type=checkbox]):not([type=radio]),.modal-form select,.modal-form textarea{cursor:text!important}.btn,.button,.close-button,.delete-button,.edit-button,.icon-button,.modal-form input[type=checkbox],.modal-form input[type=radio],[role=button]{cursor:pointer!important}.entity-dashboard{background:linear-gradient(135deg,#f8fafc,#f1f5f9);min-height:100vh;padding:0}.entity-dashboard-header{border-radius:0 0 32px 32px;box-shadow:0 10px 40px #0000001a;margin-bottom:-40px;padding:40px 40px 60px;position:relative;z-index:1}.entity-header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1400px}.entity-header-info{color:#fff}.dashboard-entity-name{font-size:72px;font-weight:900;letter-spacing:-2px;line-height:1;margin:0 0 12px;text-shadow:0 3px 15px #0003}.entity-subtitle{font-size:18px;font-weight:500;margin:0;opacity:.95}.entity-header-badge{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:20px;display:flex;height:80px;justify-content:center;width:80px}.entity-stats-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(4,1fr);margin:0 auto 40px;max-width:1400px;padding:0 40px;position:relative;z-index:2}.entity-stat-card{align-items:center;background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000000f;display:flex;gap:20px;padding:24px;transition:all .3s ease}.entity-stat-card:hover{box-shadow:0 8px 30px #0000001f;transform:translateY(-4px)}.stat-icon{align-items:center;border-radius:12px;display:flex;flex-shrink:0;height:60px;justify-content:center;width:60px}.stat-content{flex:1 1}.stat-label{color:#64748b;font-size:14px;font-weight:600;margin:0 0 6px}.stat-value{color:#1e293b;font-size:32px;font-weight:800;margin:0}.entity-chart-section{margin:0 auto 40px;max-width:1400px;padding:0 40px}.section-header{align-items:center;background:#fff;border-bottom:2px solid #f1f5f9;border-radius:16px 16px 0 0;display:flex;justify-content:space-between;padding:24px 28px}.section-header h2{color:#1e293b;font-size:20px;font-weight:700;margin:0 0 4px}.section-header p{color:#64748b;font-size:14px;margin:0}.section-header .badge{background:linear-gradient(135deg,#8b5cf6,#6366f1);border-radius:20px;color:#fff;font-size:14px;font-weight:700;padding:6px 16px}.chart-container{background:#fff;border-radius:0 0 16px 16px;box-shadow:0 4px 20px #0000000f;height:400px;padding:32px 28px}.entity-content-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(2,1fr);margin:0 auto;max-width:1400px;padding:0 40px 40px}.entity-section{background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000000f;overflow:hidden}.stands-list{max-height:500px;overflow-y:auto;padding:0}.stand-item{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;padding:16px 28px;transition:all .2s ease}.stand-item:last-child{border-bottom:none}.stand-item:hover{background:#f8fafc}.stand-info{flex:1 1}.stand-name{color:#1e293b;font-size:15px;font-weight:600;margin:0 0 4px}.stand-salon{color:#64748b;font-size:13px;margin:0}.stand-status{border-radius:20px;font-size:12px;font-weight:600;padding:6px 14px;text-transform:capitalize}.stand-status.status-devis{background:#fef3c7;color:#d97706}.stand-status.status-confirme{background:#dbeafe;color:#2563eb}.stand-status.status-en_preparation{background:#fed7aa;color:#ea580c}.stand-status.status-en_cours{background:#d1fae5;color:#059669}.stand-status.status-termine{background:#dcfce7;color:#16a34a}.stand-status.status-annule{background:#fee2e2;color:#dc2626}.members-list{max-height:500px;overflow-y:auto;padding:0}.member-item{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;gap:16px;padding:16px 28px;transition:all .2s ease}.member-item:last-child{border-bottom:none}.member-item:hover{background:#f8fafc}.member-avatar{align-items:center;border-radius:12px;color:#fff;display:flex;flex-shrink:0;font-size:16px;font-weight:700;height:48px;justify-content:center;text-transform:uppercase;width:48px}.member-info{flex:1 1}.member-name{color:#1e293b;font-size:15px;font-weight:600;margin:0 0 4px}.member-email{color:#64748b;font-size:13px;margin:0}.empty-message{color:#64748b;font-size:14px;padding:40px 20px;text-align:center}.error-container,.loading-container{align-items:center;display:flex;flex-direction:column;gap:20px;justify-content:center;min-height:60vh}.loading-spinner{animation:spin .8s linear infinite;border:4px solid #f1f5f9}.error-container p,.loading-container p{color:#64748b;font-size:16px;font-weight:600}@media (max-width:1024px){.entity-stats-grid{grid-template-columns:repeat(2,1fr)}.entity-content-grid{grid-template-columns:1fr}}@media (max-width:768px){.entity-dashboard-header{padding:24px 20px 40px}.entity-header-content{flex-direction:column;gap:20px;text-align:center}.dashboard-entity-name{font-size:48px}.entity-subtitle{font-size:16px}.entity-stats-grid{gap:16px;grid-template-columns:1fr;padding:0 20px}.entity-chart-section,.entity-content-grid{padding:0 20px 20px}.chart-container{height:300px;padding:20px 16px}}.ep-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.ep-tab{background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#64748b;cursor:pointer;font-size:13px;font-weight:600;padding:8px 18px;transition:all .15s}.ep-tab.active{background:#8b5cf6;border-color:#8b5cf6;color:#fff}.ep-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.ep-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;display:flex;flex-direction:column;gap:12px;padding:16px;transition:box-shadow .15s}.ep-card:hover{box-shadow:0 4px 16px #00000014}.ep-card.has-agence{border-color:#ddd6fe}.ep-card-header{align-items:flex-start;display:flex;gap:12px}.ep-card-icon{align-items:center;border-radius:10px;color:#fff;display:flex;flex-shrink:0;font-size:18px;height:42px;justify-content:center;width:42px}.ep-card-info{flex:1 1;min-width:0}.ep-card-name{align-items:center;color:#111827;display:flex;flex-wrap:wrap;font-size:15px;font-weight:700;gap:6px}.ep-card-name-text{word-break:break-word}.ep-card-color-dot{border:2px solid #e5e7eb;border-radius:3px;flex-shrink:0;height:11px;width:11px}.ep-card-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.ep-card-id{color:#9ca3af;font-size:12px}.ep-agences-section{border-top:1px solid #f1f5f9;display:flex;flex-direction:column;gap:8px;padding-top:10px}.ep-agences-section.has-agence{border-top-color:#ddd6fe}.ep-agence-row{align-items:center;background:#f5f3ff;border:1px solid #ddd6fe;border-radius:8px;display:flex;gap:10px;padding:8px 10px}.ep-agence-badge{background:#ede9fe;border-radius:20px;color:#7c3aed;flex-shrink:0;font-size:10px;font-weight:700;letter-spacing:.5px;padding:2px 7px;white-space:nowrap}.ep-agence-info{flex:1 1;min-width:0}.ep-agence-nom{color:#374151;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ep-agence-lieu{color:#6b7280;font-size:11px;margin-top:1px}.ep-agence-actions{display:flex;flex-shrink:0;gap:5px}.ep-agence-btn-edit{background:#fff;border:1.5px solid #8b5cf6;border-radius:6px;color:#7c3aed;cursor:pointer;font-size:11px;font-weight:600;padding:4px 9px;transition:background .15s}.ep-agence-btn-edit:hover{background:#ede9fe}.ep-agence-btn-delete{background:#fff;border:1.5px solid #fca5a5;border-radius:6px;color:#dc2626;cursor:pointer;font-size:11px;font-weight:600;padding:4px 9px;transition:background .15s}.ep-agence-btn-delete:hover{background:#fff1f2}.ep-agence-btn-delete:disabled{cursor:wait;opacity:.5}.ep-add-agence-btn{align-items:center;align-self:flex-start;background:#0000;border:1.5px dashed #cbd5e1;border-radius:8px;color:#94a3b8;cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:6px;padding:6px 12px;transition:all .15s}.ep-add-agence-btn:hover{background:#f5f3ff;border-color:#8b5cf6;color:#7c3aed}.ep-modal-appartenance{align-items:center;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:10px;padding:10px 14px}.ep-modal-appartenance-dot{border:2px solid #e5e7eb;border-radius:4px;flex-shrink:0;height:16px;width:16px}.ep-modal-appartenance-nom{color:#1e293b;flex:1 1;font-size:14px;font-weight:600}.ep-modal-appartenance-id{color:#94a3b8;font-size:12px}.ep-highlight{background:#fef08a;border-radius:3px;color:#713f12;font-style:normal;font-weight:700;padding:0 2px}.material-detail-page{animation:fadeIn .3s ease-in-out;background:linear-gradient(135deg,#f5f7fa,#e8eef5);min-height:100vh;padding:20px}.detail-header{animation:slideDown .4s ease-out;background:linear-gradient(135deg,#fff,#f8fafc);border-radius:12px;box-shadow:0 2px 8px #0000000a;gap:16px;margin-bottom:24px;padding:16px 20px}.btn-back,.detail-header{align-items:center;display:flex}.btn-back{background:#fff;border:2px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 3px #0000000a;color:#64748b;cursor:pointer;font-size:13px;font-weight:600;gap:6px;padding:8px 14px;transition:all .2s}.btn-back:hover{background:#6366f1;border-color:#6366f1;box-shadow:0 2px 6px #6366f14d;color:#fff;transform:translateX(-2px)}.header-title{flex:1 1}.header-title h1{color:#1e293b;font-size:20px;font-weight:700;line-height:1.2;margin:0 0 4px}.material-reference{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:6px;box-shadow:0 1px 4px #6366f14d;color:#fff;display:inline-block;font-size:11px;font-weight:700;letter-spacing:.3px;padding:3px 10px;text-transform:uppercase}.tabs-container{background:#fff;border-radius:10px;box-shadow:0 1px 6px #0000000a;display:flex;gap:8px;margin-bottom:20px;padding:6px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.tab-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:#64748b;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 18px;position:relative;transition:all .3s ease;white-space:nowrap}.tab-btn:hover:not(.active){background:#f8fafc;color:#475569}.tab-btn.active{background:linear-gradient(135deg,#6366f1,#8b5cf6);box-shadow:0 2px 8px #6366f14d;color:#fff}.tab-icon{filter:grayscale(0);font-size:18px}.tab-btn:not(.active) .tab-icon{filter:grayscale(1);opacity:.5}.tab-label{font-size:14px;font-weight:600}.tab-badge{align-items:center;background:#ffffff40;border-radius:11px;color:#fff;display:inline-flex;font-size:11px;font-weight:700;height:22px;justify-content:center;margin-left:auto;min-width:22px;padding:0 6px}.tab-btn:not(.active) .tab-badge{background:#e2e8f0;color:#64748b}.tab-btn.active .tab-badge{animation:pulse .6s ease-in-out}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.tab-content{min-height:auto;position:relative}.tab-pane{animation:tabFadeIn .3s ease-out}@keyframes tabFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.detail-grid{grid-gap:16px;grid-gap:24px;display:grid;gap:16px;gap:24px;grid-template-columns:180px 1fr;grid-template-columns:320px 1fr;margin-bottom:16px;margin-bottom:32px}.detail-photo-card{background:#fff;border-radius:10px;box-shadow:0 1px 6px #0000000a;height:-webkit-fit-content;height:fit-content;padding:12px;transition:transform .2s,box-shadow .2s}.detail-photo-card:hover{box-shadow:0 2px 10px #0000000f;transform:translateY(-1px)}.material-photo{aspect-ratio:1;border:1px solid #f1f5f9;border-radius:8px;height:auto;object-fit:cover;width:100%}.photo-placeholder{align-items:center;aspect-ratio:1;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px dashed #cbd5e1;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;transition:all .2s;width:100%}.photo-placeholder:hover{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-color:#94a3b8}.photo-icon{font-size:36px;margin-bottom:6px;opacity:.5}.photo-placeholder p{color:#64748b;font-size:11px;font-weight:500;margin-bottom:8px}.btn-upload-photo{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:6px;box-shadow:0 1px 4px #6366f14d;color:#fff;cursor:pointer;font-size:11px;font-weight:600;padding:6px 12px;transition:all .2s}.btn-upload-photo:hover{box-shadow:0 2px 6px #6366f166;transform:translateY(-1px)}.detail-info-card{background:#fff;border-radius:10px;box-shadow:0 1px 6px #0000000a;padding:16px}.detail-info-card h2{align-items:center;border-bottom:2px solid #f1f5f9;color:#1e293b;display:flex;font-size:14px;font-weight:700;gap:8px;margin:0 0 12px;padding-bottom:10px}.detail-info-card h2:before{align-items:center;background:linear-gradient(135deg,#dcfce7,#bbf7d0);border:1px solid #86efac;border-radius:6px;content:"📋";display:flex;font-size:16px;height:28px;justify-content:center;width:28px}.info-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(4,1fr);margin-bottom:12px}.info-item{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:8px;padding:8px 10px;transition:all .2s}.info-item:hover{border-color:#6366f1;box-shadow:0 1px 4px #6366f11a}.info-item:first-child,.info-item:nth-child(2){grid-column:span 1}.info-label{color:#64748b;display:block;font-size:9px;font-weight:600;letter-spacing:.3px;margin-bottom:4px;text-transform:uppercase}.info-value{color:#1e293b;display:block;font-size:13px;font-weight:700;word-break:break-word}.info-value.qty{color:#6366f1;font-size:18px}.info-badge{border-radius:5px;display:inline-block;font-size:11px;font-weight:600;padding:4px 10px}.info-badge.unitaire{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.info-badge.stock{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.description-section{border-top:1px solid #f1f5f9;margin-top:12px;padding-top:12px}.description-section h3{color:#64748b;font-size:11px;font-weight:600;margin:0 0 6px;text-transform:uppercase}.description-section p{color:#475569;font-size:12px;line-height:1.4;margin:0}.dimensions-section{border-top:1px solid #f1f5f9;margin-top:12px;padding-top:12px}.dimensions-section h3{color:#64748b;font-size:11px;font-weight:600;margin:0 0 8px;text-transform:uppercase}.dimensions-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(80px,1fr))}.dimension-item{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fde047;border-radius:6px;padding:6px 8px;text-align:center}.dim-label{color:#92400e;display:block;font-size:9px;font-weight:600;margin-bottom:2px;text-transform:uppercase}.dim-value{color:#78350f;display:block;font-size:13px;font-weight:700}.detail-section{animation:slideUp .5s ease-out;background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000000f;margin-bottom:24px;padding:32px}.specs-section{background:#fff;border-radius:10px;box-shadow:0 1px 6px #0000000a;margin-bottom:16px;padding:16px}.specs-section h2{align-items:center;border-bottom:2px solid #f1f5f9;color:#1e293b;display:flex;font-size:14px;font-weight:700;gap:8px;margin:0 0 12px;padding-bottom:10px}.specs-section h2:before{align-items:center;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fde047;border-radius:6px;content:"⚙️";display:flex;font-size:16px;height:28px;justify-content:center;width:28px}.specs-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.spec-card{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:8px;padding:8px 10px;transition:all .2s}.spec-card:hover{border-color:#6366f1;box-shadow:0 1px 4px #6366f11a}.spec-label{color:#64748b;font-size:9px;letter-spacing:.3px;margin-bottom:3px;text-transform:uppercase}.spec-label,.spec-value{display:block;font-weight:600}.spec-value{color:#1e293b;font-size:12px}.units-section{animation-delay:.1s;background:#fff;border-radius:12px;box-shadow:0 2px 12px #0000000a;padding:0}.units-header{display:none}.units-title-wrapper{align-items:center;display:flex;gap:12px}.units-count{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:16px;box-shadow:0 1px 4px #6366f14d;color:#fff;font-size:12px;font-weight:700;padding:5px 14px}.units-filters{grid-gap:12px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:none;border-bottom:2px solid #e2e8f0;border-radius:0;display:grid;gap:12px;grid-template-columns:2fr 1fr 1fr 1fr;margin-bottom:16px;padding:16px;position:-webkit-sticky;position:sticky;top:52px;z-index:99}.filter-input,.filter-select{background:#fff;border:2px solid #e2e8f0;border-radius:10px;box-shadow:0 2px 4px #0000000a;font-size:14px;font-weight:500;padding:12px 16px;transition:all .2s}.filter-input:focus,.filter-select:focus{border-color:#6366f1;box-shadow:0 0 0 4px #6366f11a,0 2px 8px #00000014;outline:none;transform:translateY(-1px)}.bulk-actions-bar{grid-gap:12px;align-items:center;animation:slideDown .3s ease-out;background:linear-gradient(135deg,#eff6ff,#dbeafe);border:2px solid #93c5fd;border-left:none;border-radius:0;border-right:none;display:grid;gap:12px;grid-template-columns:auto repeat(4,1fr) auto auto;margin-bottom:0;padding:16px 20px;position:-webkit-sticky;position:sticky;top:120px;z-index:98}.bulk-info{align-items:center;display:flex;gap:8px}.bulk-count{color:#1e40af;font-size:15px;font-weight:700;white-space:nowrap}.bulk-count:before{content:"✓ ";font-size:16px}.bulk-select{background:#fff;border:2px solid #cbd5e1;border-radius:8px;font-size:13px;font-weight:500;padding:10px 14px;transition:all .2s}.bulk-select:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.btn-bulk-apply{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;box-shadow:0 2px 8px #10b9814d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s;white-space:nowrap}.btn-bulk-apply:hover:not(:disabled){box-shadow:0 4px 12px #10b98166;transform:translateY(-2px)}.btn-bulk-apply:disabled{cursor:not-allowed;opacity:.6}.btn-bulk-cancel{background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;font-size:14px;font-weight:600;padding:10px 16px;transition:all .2s}.btn-bulk-cancel:hover{background:#f8fafc;border-color:#cbd5e1;transform:scale(1.05)}.units-table-wrapper{background:#fff;border:none;border-radius:0 0 12px 12px;max-height:600px;overflow:hidden;overflow-y:auto}.units-table-wrapper::-webkit-scrollbar{width:10px}.units-table-wrapper::-webkit-scrollbar-track{background:#f8fafc}.units-table-wrapper::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:5px}.units-table-wrapper::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#4f46e5,#7c3aed)}.units-table{border-collapse:collapse;width:100%}.units-table thead{background:linear-gradient(135deg,#6366f1,#8b5cf6);position:-webkit-sticky;position:sticky;top:0;z-index:10}.units-table th{color:#fff;font-size:12px;font-weight:700;letter-spacing:.5px;padding:14px 12px;text-align:left;text-transform:uppercase}.th-checkbox{text-align:center;width:50px}.th-actions{text-align:center;width:150px}.units-table td{border-bottom:1px solid #f1f5f9;color:#1e293b;font-size:14px;padding:14px 12px}.units-table tbody tr{transition:all .2s}.units-table tbody tr:hover{background:#f8fafc}.units-table tbody tr.selected{background:#eff6ff}.units-table tbody tr.editing{background:#fef3c7;border-left:4px solid #f59e0b}.td-serial{color:#6366f1}.qr-badge,.td-serial{font-family:Courier New,monospace;font-weight:600}.qr-badge{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border:1px solid #cbd5e1;border-radius:6px;color:#475569;display:inline-block;font-size:12px;padding:6px 12px}.etat-badge{align-items:center;border-radius:16px;display:inline-flex;font-size:12px;font-weight:700;gap:4px;letter-spacing:.3px;padding:6px 14px;text-transform:uppercase}.etat-badge.ok:before{content:"✅"}.etat-badge.ok{background:linear-gradient(135deg,#dcfce7,#bbf7d0);box-shadow:0 2px 6px #16a34a33;color:#166534}.etat-badge.hs:before{content:"❌"}.etat-badge.hs{background:linear-gradient(135deg,#fee2e2,#fecaca);box-shadow:0 2px 6px #dc262633;color:#991b1b}.etat-badge.reparation:before{content:"🔧"}.etat-badge.reparation{background:linear-gradient(135deg,#fef3c7,#fde68a);box-shadow:0 2px 6px #f59e0b33;color:#92400e}.actions-cell{text-align:center}.actions-group{align-items:center;display:flex;gap:8px;justify-content:center}.btn-unit-cancel,.btn-unit-delete,.btn-unit-edit,.btn-unit-save{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:4px;padding:8px 14px;transition:all .2s;white-space:nowrap}.btn-unit-edit{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 2px 6px #3b82f64d;color:#fff}.btn-unit-edit:hover{box-shadow:0 4px 10px #3b82f666;transform:translateY(-2px)}.btn-unit-save{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 2px 6px #10b9814d;color:#fff}.btn-unit-save:hover:not(:disabled){box-shadow:0 4px 10px #10b98166;transform:translateY(-2px)}.btn-unit-save:disabled{cursor:not-allowed;opacity:.5}.btn-unit-cancel{background:linear-gradient(135deg,#6b7280,#4b5563);color:#fff}.btn-unit-cancel:hover:not(:disabled){background:linear-gradient(135deg,#4b5563,#374151)}.btn-unit-cancel:disabled{cursor:not-allowed;opacity:.5}.btn-unit-delete{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 2px 6px #ef44444d;color:#fff}.btn-unit-delete:hover{box-shadow:0 4px 10px #ef444466;transform:translateY(-2px)}.inline-error{color:#dc2626;font-size:11px;margin-top:4px}.units-table select{background:#fff;border:2px solid #cbd5e1;border-radius:6px;font-size:13px;min-width:120px;padding:8px 10px;transition:all .2s;width:100%}.units-table select:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.no-units{padding:60px 20px;text-align:center}.empty-icon{display:block;font-size:64px;margin-bottom:16px;opacity:.5}.no-units p{color:#64748b;font-size:16px;font-weight:500}.loading-container{align-items:center;display:flex;flex-direction:column;gap:20px;justify-content:center;min-height:400px}.spinner{animation:spin .8s linear infinite;border:4px solid #f1f5f9;border-radius:50%;border-top-color:#6366f1;height:50px;width:50px}.loading-container p{color:#64748b;font-size:16px;font-weight:500}.error-container{align-items:center;display:flex;flex-direction:column;gap:20px;justify-content:center;min-height:400px}.error-icon{font-size:64px}.error-container h2{color:#ef4444;font-size:24px;font-weight:700;margin:0}.btn-back-home{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:10px;box-shadow:0 4px 12px #6366f14d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s}.btn-back-home:hover{box-shadow:0 6px 16px #6366f166;transform:translateY(-2px)}@media (max-width:1024px){.detail-grid{grid-template-columns:1fr}.info-grid{grid-template-columns:repeat(2,1fr)}.units-filters{grid-template-columns:1fr 1fr}.tabs-container{-webkit-overflow-scrolling:touch;overflow-x:auto}.tab-btn{white-space:nowrap}.bulk-actions-bar{grid-template-columns:1fr 1fr}.bulk-info{grid-column:1/-1}}@media (max-width:768px){.material-detail-page{padding:16px}.detail-header{align-items:flex-start;flex-direction:column;gap:16px}.header-title h1{font-size:24px}.info-grid,.specs-grid{grid-template-columns:1fr}.bulk-actions-bar,.units-filters{grid-template-columns:1fr;padding:16px}.btn-bulk-apply,.btn-bulk-cancel,.bulk-select{width:100%}.units-table{font-size:12px}.units-table td,.units-table th{padding:10px 8px}.tab-btn{font-size:14px;padding:12px 16px}.tab-icon{font-size:18px}.tab-label{font-size:13px}.tab-badge{font-size:11px;height:20px;min-width:20px}.actions-group{flex-direction:column;gap:4px}.btn-unit-cancel,.btn-unit-delete,.btn-unit-edit,.btn-unit-save{font-size:11px;padding:6px 10px;width:100%}}.pl-wrap{gap:24px;padding:20px}.pl-empty,.pl-wrap{display:flex;flex-direction:column}.pl-empty{align-items:center;color:#94a3b8;gap:10px;padding:60px 20px}.pl-group-title{color:#94a3b8;font-size:11px;font-weight:700;letter-spacing:.07em;margin-bottom:10px;text-transform:uppercase}.pl-group-past{opacity:.6}.pl-card{align-items:center;border-left:4px solid;border-radius:10px;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:8px;padding:14px 18px}.pl-card-devis{background:#fefce8;border-color:#ca8a04}.pl-card-reserve{background:#f0fdf4;border-color:#22c55e}.pl-card-prereserve{background:#eff6ff;border-color:#3b82f6}.pl-card-left{align-items:flex-start;display:flex;gap:12px}.pl-card-badge{font-size:12px;font-weight:700;margin-top:2px;white-space:nowrap}.pl-card-info{display:flex;flex-direction:column;gap:3px}.pl-card-stand{color:#1e293b;font-size:14px;font-weight:700}.pl-card-erp{color:#64748b;font-family:monospace;font-size:11px}.pl-card-actors{display:flex;flex-wrap:wrap;gap:10px}.pl-card-actor{color:#475569;font-size:11px}.pl-card-right{align-items:center;display:flex;gap:16px;margin-left:auto}.pl-card-dates{color:#475569}.pl-card-dates,.pl-card-qty{font-size:13px;white-space:nowrap}.pl-card-qty{background:#0000000d;border-radius:20px;color:#374151;font-weight:600;padding:3px 10px}.pl-card-link{color:#6366f1;font-size:11px;font-weight:600;white-space:nowrap}.pl-card:hover .pl-card-link{text-decoration:underline}.cl-page{background:#f7f8fc;flex-direction:column;font-family:Segoe UI,sans-serif}.cl-loading,.cl-page{display:flex;height:100%}.cl-loading{align-items:center;color:#64748b;gap:12px;justify-content:center}.cl-spinner{animation:cl-spin .7s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#6366f1;height:24px;width:24px}@keyframes cl-spin{to{transform:rotate(1turn)}}.cl-header{align-items:center;background:#fff;border-bottom:1px solid #e8ecf0;display:flex;flex-shrink:0;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:16px 28px}.cl-header-left{align-items:baseline;display:flex;gap:12px}.cl-header-right{align-items:center;display:flex;gap:10px}.cl-title{color:#1e293b;font-size:1.5rem;font-weight:700;margin:0}.cl-count{background:#f1f5f9;border-radius:12px;color:#64748b;font-size:.8rem;font-weight:500;padding:2px 10px}.cl-btn-add{background:#6366f1;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:9px 18px;transition:background .18s;white-space:nowrap}.cl-btn-add:hover{background:#4f46e5}.cl-search-wrap{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:8px;padding:8px 12px}.cl-search{background:#0000;border:none;color:#334155;font-size:.875rem;outline:none;width:180px}.cl-entity-filters{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.cl-entity-pill{align-items:center;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:20px;color:#64748b;cursor:pointer;display:flex;font-size:.8rem;font-weight:500;gap:5px;padding:5px 12px;transition:all .15s;white-space:nowrap}.cl-entity-pill:hover{background:#eef2ff;border-color:#a5b4fc;color:#4338ca}.cl-entity-pill.active{background:color-mix(in srgb,#6366f1 12%,#fff);background:color-mix(in srgb,var(--pill-color,#6366f1) 12%,#fff);border-color:#6366f1;border-color:var(--pill-color,#6366f1);color:#6366f1;color:var(--pill-color,#6366f1);font-weight:600}.cl-entity-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.cl-layout{flex:1 1}.cl-layout,.cl-list-panel{display:flex;overflow:hidden}.cl-list-panel{background:#fff;border-right:1px solid #e8ecf0;flex-direction:column;flex-shrink:0;width:300px}.cl-list{flex:1 1;overflow-y:auto}.cl-list-item{align-items:center;border-bottom:1px solid #f8fafc;cursor:pointer;display:flex;gap:10px;padding:12px 14px;transition:background .15s}.cl-list-item:hover{background:#f8fafc}.cl-list-item.active{background:#eef2ff;border-left:3px solid #6366f1}.cl-list-avatar{align-items:center;background:#e0e7ff;border-radius:50%;color:#6366f1;display:flex;flex-shrink:0;font-size:.95rem;font-weight:700;height:36px;justify-content:center;width:36px}.cl-list-info{flex:1 1;min-width:0}.cl-list-name{color:#1e293b;font-size:.875rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cl-list-sub{color:#94a3b8;font-size:.75rem;margin-top:2px}.cl-list-actions{display:flex;gap:2px;opacity:0;transition:opacity .15s}.cl-list-item:hover .cl-list-actions{opacity:1}.cl-icon-btn{background:none;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;padding:4px 6px;transition:background .15s}.cl-icon-btn:hover{background:#f1f5f9}.cl-icon-btn.danger:hover{background:#fee2e2}.cl-empty{align-items:center;color:#94a3b8;display:flex;flex-direction:column;font-size:.875rem;gap:12px;padding:40px 20px}.cl-detail-panel{flex:1 1;gap:20px;overflow-y:auto;padding:24px 28px}.cl-detail-empty,.cl-detail-panel{display:flex;flex-direction:column}.cl-detail-empty{align-items:center;color:#94a3b8;gap:12px;height:100%;justify-content:center}.cl-detail-empty-icon{font-size:3rem}.cl-card{background:#fff;border:1px solid #e8ecf0;border-radius:12px;padding:20px 24px}.cl-card-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:16px}.cl-card-title{color:#1e293b;font-size:1.15rem;font-weight:700;margin:0 0 4px}.cl-badge-entite{background:#eef2ff;border-radius:10px;color:#6366f1;display:inline-block;font-size:.72rem;font-weight:600;padding:2px 10px}.cl-btn-edit{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:7px;cursor:pointer;flex-shrink:0;font-size:.8rem;padding:7px 14px;transition:background .15s;white-space:nowrap}.cl-btn-edit:hover{background:#e2e8f0}.cl-card-grid{grid-gap:8px 20px;display:grid;gap:8px 20px;grid-template-columns:1fr 1fr}.cl-info-row{display:flex;flex-direction:column;font-size:.85rem;gap:2px}.cl-info-row.cl-info-full{grid-column:1/-1}.cl-info-label{color:#94a3b8;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.cl-info-row a{color:#6366f1;text-decoration:none}.cl-info-row a:hover{text-decoration:underline}.cl-empty-val{color:#cbd5e1;font-style:normal}.cl-notes{color:#475569;line-height:1.5;white-space:pre-wrap}.cl-contacts-section{background:#fff;border:1px solid #e8ecf0;border-radius:12px;padding:20px 24px}.cl-contacts-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.cl-contacts-title{align-items:center;color:#1e293b;display:flex;font-size:1rem;font-weight:700;gap:8px;margin:0}.cl-btn-add-sm{background:#6366f1;border:none;border-radius:7px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:600;padding:7px 14px;transition:background .18s}.cl-btn-add-sm:hover{background:#4f46e5}.cl-contacts-empty{color:#94a3b8;font-size:.875rem;padding:16px 0;text-align:center}.cl-link-btn{background:none;border:none;color:#6366f1;cursor:pointer;font-size:.875rem;text-decoration:underline}.cl-contacts-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.cl-contact-card{align-items:flex-start;background:#fafafa;border:1px solid #e8ecf0;border-radius:10px;display:flex;gap:12px;padding:14px;transition:box-shadow .15s}.cl-contact-card:hover{box-shadow:0 2px 8px #00000012}.cl-contact-avatar{align-items:center;background:#f0fdf4;border-radius:50%;color:#16a34a;display:flex;flex-shrink:0;font-size:.95rem;font-weight:700;height:36px;justify-content:center;text-transform:uppercase;width:36px}.cl-contact-info{flex:1 1;min-width:0}.cl-contact-name{color:#1e293b;font-size:.875rem;font-weight:600}.cl-contact-role{color:#64748b;font-size:.78rem;margin-top:2px}.cl-contact-coords{color:#475569;display:flex;flex-wrap:wrap;font-size:.78rem;gap:6px;margin-top:6px}.cl-contact-coords a{color:#6366f1;text-decoration:none}.cl-contact-coords a:hover{text-decoration:underline}.cl-contact-actions{display:flex;flex-direction:column;flex-shrink:0;gap:2px}.cl-overlay{align-items:stretch;background:#0f172a66;display:flex;inset:0;justify-content:flex-end;position:fixed;z-index:1000}.cl-side-panel{animation:cl-slide-in .22s ease-out;background:#fff;box-shadow:-4px 0 32px #0000001f;display:flex;flex-direction:column;overflow:hidden;width:min(640px,100vw)}.cl-side-panel-sm{width:min(480px,100vw)}@keyframes cl-slide-in{0%{opacity:.6;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.cl-side-header{align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;flex-shrink:0;justify-content:space-between;padding:20px 24px 16px}.cl-side-header-title h2{color:#1e293b;font-size:1.1rem;font-weight:700;margin:0}.cl-side-subtitle{color:#6366f1;display:block;font-size:.8rem;font-weight:500;margin-top:2px}.cl-side-close{align-items:center;background:#f1f5f9;border:none;border-radius:50%;color:#64748b;cursor:pointer;display:flex;flex-shrink:0;font-size:.95rem;height:32px;justify-content:center;transition:background .15s;width:32px}.cl-side-close:hover{background:#e2e8f0}.cl-side-body{flex:1 1;gap:20px;overflow-y:auto;padding:20px 24px}.cl-form-section,.cl-side-body{display:flex;flex-direction:column}.cl-form-section{gap:12px}.cl-form-section-title{border-bottom:1px solid #f1f5f9;color:#94a3b8;font-size:.75rem;font-weight:700;letter-spacing:.07em;padding-bottom:6px;text-transform:uppercase}.cl-form-row{display:flex;gap:12px}.cl-form-group{display:flex;flex:1 1;flex-direction:column;gap:5px}.cl-fg-2{flex:2 1}.cl-form-label{color:#475569;font-size:.78rem;font-weight:600}.cl-form-input{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-sizing:border-box;color:#1e293b;font-size:.875rem;outline:none;padding:9px 12px;transition:border-color .15s,box-shadow .15s;width:100%}.cl-form-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.cl-form-textarea{font-family:inherit;min-height:90px;resize:vertical}.cl-form-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.85rem;padding:10px 14px}.cl-side-footer{background:#fff;border-top:1px solid #e2e8f0;display:flex;flex-shrink:0;gap:10px;justify-content:flex-end;padding:16px 24px}.cl-btn-cancel{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;font-size:.875rem;font-weight:600;padding:9px 20px;transition:background .15s}.cl-btn-cancel:hover{background:#e2e8f0}.cl-btn-save{background:#6366f1;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:9px 24px;transition:background .18s}.cl-btn-save:hover{background:#4f46e5}.cl-btn-save:disabled{background:#a5b4fc;cursor:not-allowed}.cl-return-banner{align-items:center;background:#fffbeb;border-bottom:2px solid #f59e0b;color:#92400e;display:flex;flex-wrap:wrap;font-size:.875rem;gap:16px;justify-content:space-between;padding:12px 24px}.cl-return-cancel{background:#fff;border:1px solid #f59e0b;border-radius:8px;color:#92400e;cursor:pointer;font-size:.8rem;font-weight:600;padding:6px 14px;transition:background .15s;white-space:nowrap}.cl-return-cancel:hover{background:#fef3c7}.sl-page{background:#f7f8fc;flex-direction:column;font-family:Segoe UI,sans-serif}.sl-loading,.sl-page{display:flex;height:100%}.sl-loading{align-items:center;color:#64748b;gap:12px;justify-content:center}.sl-spinner{animation:sl-spin .7s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#7c3aed;height:24px;width:24px}@keyframes sl-spin{to{transform:rotate(1turn)}}.sl-header{align-items:center;background:#fff;border-bottom:1px solid #e8ecf0;display:flex;flex-shrink:0;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:16px 28px}.sl-period-tabs{background:#f1f5f9;border-radius:8px;display:flex;gap:2px;padding:3px}.sl-period-tab{align-items:center;background:#0000;border:none;border-radius:6px;color:#64748b;cursor:pointer;display:flex;font-size:.78rem;font-weight:600;gap:6px;padding:5px 12px;transition:all .15s;white-space:nowrap}.sl-period-tab:hover{color:#1e293b}.sl-period-tab.active{background:#fff;box-shadow:0 1px 4px #00000014;color:#7c3aed}.sl-period-count{background:#e2e8f0;border-radius:10px;color:#475569;font-size:.7rem;font-weight:700;min-width:18px;padding:1px 6px;text-align:center}.sl-period-tab.active .sl-period-count{background:#ede9fe;color:#7c3aed}.sl-header-left{align-items:baseline;display:flex;gap:12px}.sl-header-right{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.sl-title{color:#1e293b;font-size:1.5rem;font-weight:700;margin:0}.sl-count{background:#f1f5f9;border-radius:12px;color:#64748b;font-size:.8rem;font-weight:500;padding:2px 10px}.sl-btn-add{background:#7c3aed;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:9px 18px;transition:background .18s;white-space:nowrap}.sl-btn-add:hover{background:#6d28d9}.sl-search-wrap{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:8px;padding:8px 12px}.sl-search{background:#0000;border:none;color:#334155;font-size:.875rem;outline:none;width:200px}.sl-layout{flex:1 1}.sl-layout,.sl-list-panel{display:flex;overflow:hidden}.sl-list-panel{background:#fff;border-right:1px solid #e8ecf0;flex-direction:column;flex-shrink:0;width:320px}.sl-list{flex:1 1;overflow-y:auto}.sl-list-item{align-items:flex-start;border-bottom:1px solid #f8fafc;cursor:pointer;display:flex;gap:10px;padding:13px 16px;transition:background .15s}.sl-list-item:hover{background:#faf5ff}.sl-list-item.active{background:#f3e8ff;border-left:3px solid #7c3aed}.sl-list-icon{align-items:center;background:#ede9fe;border-radius:10px;color:#7c3aed;display:flex;flex-shrink:0;font-size:1.1rem;height:38px;justify-content:center;width:38px}.sl-list-info{flex:1 1;min-width:0}.sl-list-name{color:#1e293b;font-size:.875rem;font-weight:700}.sl-list-name,.sl-list-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sl-list-sub{color:#94a3b8;font-size:.75rem;margin-top:2px}.sl-list-dates{color:#a78bfa;font-size:.72rem;font-weight:500;margin-top:3px}.sl-list-actions{display:flex;gap:2px;opacity:0;padding-top:2px;transition:opacity .15s}.sl-list-item:hover .sl-list-actions{opacity:1}.sl-icon-btn{background:none;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;padding:4px 6px;transition:background .15s}.sl-icon-btn:hover{background:#f1f5f9}.sl-icon-btn.danger:hover{background:#fee2e2}.sl-empty{align-items:center;color:#94a3b8;display:flex;flex-direction:column;font-size:.875rem;gap:12px;padding:40px 20px;text-align:center}.sl-detail-panel{background:#f7f8fc;gap:20px;overflow-y:auto;padding:24px 28px}.sl-detail-panel,.sl-detail-placeholder{display:flex;flex:1 1;flex-direction:column}.sl-detail-placeholder{align-items:center;color:#94a3b8;font-size:.9rem;gap:16px;justify-content:center}.sl-detail-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.sl-detail-title{color:#1e293b;font-size:1.4rem;font-weight:700;margin:0}.sl-detail-actions{display:flex;flex-shrink:0;gap:8px}.sl-detail-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000d;padding:18px 20px}.sl-detail-section-title{align-items:center;color:#7c3aed;display:flex;font-size:.8rem;font-weight:700;gap:6px;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.sl-detail-grid{grid-gap:10px 20px;display:grid;gap:10px 20px;grid-template-columns:1fr 1fr}.sl-detail-row{display:flex;flex-direction:column;gap:2px}.sl-detail-label{color:#94a3b8;font-size:.72rem;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.sl-detail-value{color:#1e293b;font-size:.875rem;font-weight:500}.sl-empty-val{color:#cbd5e1;font-style:italic}.sl-phase-row{align-items:center;background:#f8fafc;border-radius:8px;display:flex;gap:10px;padding:8px 10px}.sl-phase-badge{border-radius:4px;font-size:.72rem;font-weight:700;padding:2px 8px;white-space:nowrap}.sl-phase-montage{background:#e0e7ff;color:#4338ca}.sl-phase-exploit{background:#dcfce7;color:#15803d}.sl-phase-demontage{background:#fee2e2;color:#dc2626}.sl-phase-dates{color:#475569;font-size:.8rem}.sl-horaire-list{display:flex;flex-direction:column;gap:6px}.sl-horaire-item{align-items:center;background:#faf5ff;border-left:3px solid #a78bfa;border-radius:8px;display:flex;gap:10px;padding:7px 10px}.sl-horaire-date{color:#1e293b;font-size:.8rem;font-weight:600;min-width:90px}.sl-horaire-phase{border-radius:4px;font-size:.7rem;font-weight:600;padding:1px 7px}.sl-horaire-hours{color:#475569;font-size:.8rem;margin-left:auto}.sl-org-list{display:flex;flex-direction:column;gap:8px}.sl-org-item{background:#f8fafc;border-left:3px solid #7c3aed;border-radius:8px;padding:10px 14px}.sl-org-main{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.sl-org-nom{color:#1e293b;font-size:.875rem;font-weight:600}.sl-org-type{background:#ede9fe;border-radius:4px;color:#6d28d9;font-size:.7rem;font-weight:700;padding:2px 7px}.sl-org-referent{color:#475569;font-size:.78rem;margin-top:3px}.sl-org-note{border-top:1px solid #e2e8f0;color:#64748b;font-size:.78rem;font-style:italic;margin-top:4px;padding-top:4px}.sl-contact-list{gap:8px}.sl-contact-item,.sl-contact-list{display:flex;flex-direction:column}.sl-contact-item{background:#f8fafc;border-radius:8px;gap:3px;padding:10px 14px}.sl-contact-name{color:#1e293b;font-size:.875rem;font-weight:600}.sl-contact-sub{color:#64748b;font-size:.78rem}.sl-overlay{animation:sl-overlay-in .22s ease-out;background:#0f172a73;display:flex;inset:0;justify-content:flex-end;position:fixed;z-index:1000}@keyframes sl-overlay-in{0%{opacity:0}to{opacity:1}}.sl-panel{animation:sl-slide-in .25s cubic-bezier(.16,1,.3,1);background:#fff;box-shadow:-8px 0 32px #00000026;display:flex;flex-direction:column;height:100%;width:min(640px,100vw)}@keyframes sl-slide-in{0%{transform:translateX(100%)}to{transform:translateX(0)}}.sl-panel-header{align-items:center;border-bottom:1px solid #e8ecf0;display:flex;flex-shrink:0;justify-content:space-between;padding:20px 24px}.sl-panel-title{color:#1e293b;font-size:1.15rem;font-weight:700;margin:0}.sl-panel-close{background:none;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;font-size:1.4rem;line-height:1;padding:4px;transition:color .15s}.sl-panel-close:hover{background:#f1f5f9;color:#1e293b}.sl-stepper{background:#fafafa;border-bottom:1px solid #e8ecf0;gap:0;overflow-x:auto;padding:12px 24px}.sl-step,.sl-stepper{align-items:center;display:flex;flex-shrink:0}.sl-step{border-radius:8px;cursor:pointer;gap:6px;padding:5px 10px;transition:background .15s}.sl-step:hover{background:#f1f5f9}.sl-step.active{background:#ede9fe}.sl-step-num{align-items:center;background:#e2e8f0;border-radius:50%;color:#64748b;display:flex;flex-shrink:0;font-size:.72rem;font-weight:700;height:22px;justify-content:center;transition:all .15s;width:22px}.sl-step.active .sl-step-num{background:#7c3aed;color:#fff}.sl-step.done .sl-step-num{background:#10b981;color:#fff}.sl-step-label{color:#64748b;font-size:.78rem;font-weight:600;white-space:nowrap}.sl-step.active .sl-step-label{color:#7c3aed}.sl-step-sep{background:#e2e8f0;flex-shrink:0;height:1px;width:20px}.sl-panel-body{display:flex;flex:1 1;flex-direction:column;gap:18px;overflow-y:auto;padding:24px}.sl-section-title{color:#7c3aed;font-size:.78rem;font-weight:700;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.sl-field{display:flex;flex-direction:column;gap:5px}.sl-field label{color:#475569;font-size:.8rem;font-weight:600}.sl-field label .sl-required{color:#ef4444;margin-left:2px}.sl-input{background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;box-sizing:border-box;color:#1e293b;font-size:.875rem;outline:none;padding:9px 12px;transition:border-color .15s;width:100%}.sl-input:focus{border-color:#7c3aed}.sl-input::placeholder{color:#cbd5e1}.sl-textarea{font-family:inherit;min-height:70px;resize:vertical}.sl-grid-2{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.sl-phase-section{border:1.5px solid #e2e8f0;border-radius:10px;display:flex;flex-direction:column;gap:10px;padding:14px 16px}.sl-phase-section-title{align-items:center;color:#1e293b;display:flex;font-size:.78rem;font-weight:700;gap:6px}.sl-phase-pill{border-radius:4px;font-size:.7rem;font-weight:700;padding:2px 8px}.sl-horaires-grid{display:flex;flex-direction:column;gap:8px}.sl-horaire-row{grid-gap:8px;align-items:center;background:#faf5ff;border-left:3px solid #a78bfa;border-radius:8px;display:grid;gap:8px;grid-template-columns:110px 90px 1fr 1fr;padding:8px 12px}.sl-horaire-row-date{color:#1e293b;font-size:.8rem;font-weight:600}.sl-horaire-row-phase{border-radius:4px;font-size:.7rem;font-weight:600;padding:2px 6px;text-align:center}.sl-time-input{border:1.5px solid #e2e8f0;border-radius:6px;font-size:.8rem;outline:none;padding:6px 8px;transition:border-color .15s;width:100%}.sl-time-input:focus{border-color:#7c3aed}.sl-horaires-empty{color:#94a3b8;font-size:.82rem;font-style:italic;padding:8px 0}.sl-sub-list{display:flex;flex-direction:column;gap:8px}.sl-sub-item{align-items:flex-start;background:#f8fafc;border-left:3px solid #7c3aed;border-radius:8px;display:flex;gap:10px;padding:10px 14px}.sl-sub-item-body{display:flex;flex:1 1;flex-direction:column;gap:3px;min-width:0}.sl-sub-item-name{color:#1e293b;font-size:.875rem;font-weight:600}.sl-sub-item-sub{color:#64748b;font-size:.78rem}.sl-sub-remove{background:none;border:none;border-radius:4px;color:#94a3b8;cursor:pointer;flex-shrink:0;font-size:1.1rem;padding:2px 4px;transition:color .15s}.sl-sub-remove:hover{background:#fee2e2;color:#ef4444}.sl-sub-note{background:#fff;border:1.5px solid #e2e8f0;border-radius:6px;font-family:inherit;font-size:.78rem;outline:none;padding:5px 8px;resize:none;transition:border-color .15s;width:100%}.sl-sub-note:focus{border-color:#7c3aed}.sl-entity-list{display:flex;flex-direction:column;gap:8px}.sl-entity-card{align-items:center;background:#faf5ff;border:1px solid #e9d5ff;border-radius:10px;display:flex;gap:12px;padding:10px 12px;transition:border-color .15s}.sl-entity-card:hover{border-color:#c4b5fd}.sl-entity-avatar{align-items:center;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.75rem;font-weight:700;height:36px;justify-content:center;letter-spacing:.05em;width:36px}.sl-avatar-contact{background:linear-gradient(135deg,#06b6d4,#0284c7)}.sl-entity-info{display:flex;flex:1 1;flex-direction:column;gap:3px;min-width:0}.sl-entity-name{color:#1e293b;font-size:.875rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sl-entity-meta{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.sl-entity-badge{background:#ede9fe;border-radius:20px;color:#6d28d9;font-size:.7rem;font-weight:700;padding:2px 8px}.sl-entity-ref{color:#64748b;font-size:.75rem}.sl-entity-note{color:#94a3b8;font-size:.75rem;font-style:italic;margin-top:2px}.sl-entity-remove{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:50%;color:#dc2626;cursor:pointer;display:flex;flex-shrink:0;font-size:1rem;font-weight:700;height:26px;justify-content:center;line-height:1;padding:0;transition:all .12s;width:26px}.sl-entity-remove:hover{background:#dc2626;color:#fff}.sl-search-results{background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;gap:4px;max-height:200px;overflow-y:auto;padding:4px}.sl-search-empty{color:#94a3b8;font-size:.8rem;padding:12px;text-align:center}.sl-search-item{align-items:center;border-radius:7px;cursor:pointer;display:flex;gap:10px;padding:8px 10px;transition:background .1s}.sl-search-item:hover{background:#f5f3ff}.sl-search-item.selected{background:#ede9fe}.sl-search-item-avatar{align-items:center;background:linear-gradient(135deg,#a78bfa,#7c3aed);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.65rem;font-weight:700;height:30px;justify-content:center;width:30px}.sl-search-item-info{display:flex;flex:1 1;flex-direction:column;gap:1px}.sl-search-item-name{color:#1e293b;font-size:.83rem;font-weight:600}.sl-search-item-type{color:#7c3aed;font-size:.72rem;font-weight:500}.sl-search-item-check{color:#7c3aed;font-size:.9rem;font-weight:700}.sl-referent-list{display:flex;flex-wrap:wrap;gap:6px}.sl-referent-item{background:#fff;border:1.5px solid #e2e8f0;border-radius:20px;color:#64748b;cursor:pointer;font-size:.78rem;font-weight:500;padding:5px 12px;transition:all .12s}.sl-referent-item:hover{border-color:#a78bfa;color:#7c3aed}.sl-referent-item.selected{background:#ede9fe;border-color:#7c3aed;color:#6d28d9;font-weight:700}.sl-referent-fonction{color:#94a3b8}.sl-add-form{background:#faf5ff;border:1.5px dashed #c4b5fd;border-radius:10px;display:flex;flex-direction:column;gap:10px;padding:14px}.sl-add-actions{display:flex;gap:8px;justify-content:flex-end}.sl-btn-confirm{background:#7c3aed;border:none;border-radius:7px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:600;padding:7px 16px;transition:background .15s}.sl-btn-confirm:hover{background:#6d28d9}.sl-btn-cancel{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:7px;color:#64748b;cursor:pointer;font-size:.8rem;font-weight:600;padding:7px 14px;transition:background .15s}.sl-btn-cancel:hover{background:#e2e8f0}.sl-btn-add-sub{align-self:flex-start;background:#f5f3ff;border:1.5px solid #c4b5fd;border-radius:7px;color:#7c3aed;cursor:pointer;font-size:.8rem;font-weight:600;padding:7px 14px;transition:all .15s}.sl-btn-add-sub:hover{background:#ede9fe;border-color:#7c3aed}.sl-select{background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;color:#1e293b;cursor:pointer;font-size:.875rem;outline:none;padding:8px 10px;width:100%}.sl-select:focus{border-color:#7c3aed}.sl-select[size]{height:auto;overflow-y:auto}.sl-panel-footer{align-items:center;background:#fff;border-top:1px solid #e8ecf0;display:flex;flex-shrink:0;justify-content:space-between;padding:16px 24px}.sl-btn-prev{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;font-size:.875rem;font-weight:600;padding:9px 18px;transition:background .15s}.sl-btn-prev:hover{background:#f1f5f9}.sl-btn-save{background:#7c3aed;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:700;padding:9px 22px;transition:background .15s}.sl-btn-save:hover{background:#6d28d9}.sl-btn-save:disabled{background:#a78bfa;cursor:default}.sl-btn-delete{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;cursor:pointer;font-size:.875rem;font-weight:600;padding:9px 16px;transition:all .15s}.sl-btn-delete:hover{background:#dc2626;color:#fff}.sl-err{background:#fef2f2;border:1px solid #fecaca;border-radius:7px;color:#dc2626;font-size:.82rem;padding:10px 14px}.sl-resume-banner{background:#f0fdf4;border-bottom:2px solid #22c55e;color:#166534;flex-wrap:wrap;font-size:.875rem;gap:16px;justify-content:space-between;padding:14px 28px}.sl-resume-actions,.sl-resume-banner{align-items:center;display:flex;flex-shrink:0}.sl-resume-actions{gap:8px}.sl-resume-btn{background:#22c55e;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:700;padding:8px 18px;transition:background .15s;white-space:nowrap}.sl-resume-btn:hover{background:#16a34a}.sl-resume-dismiss{align-items:center;background:#0000;border:1px solid #86efac;border-radius:6px;color:#166534;cursor:pointer;display:flex;font-size:.8rem;height:28px;justify-content:center;transition:background .15s;width:28px}.sl-resume-dismiss:hover{background:#dcfce7}.sl-map-wrapper{border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #0000000f;height:220px;margin-top:14px;overflow:hidden}.sl-map-placeholder{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;color:#475569;display:flex;font-size:.85rem;gap:8px;margin-top:12px;padding:12px 14px}.sl-phase-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;overflow:visible;position:relative;transition:border-color .15s,box-shadow .15s}.sl-phase-card:hover{border-color:#c4b5fd}.sl-phase-card.filled{border-color:#7c3aed;border-color:var(--phase-color,#7c3aed);box-shadow:0 0 0 3px color-mix(in srgb,#7c3aed 12%,#0000);box-shadow:0 0 0 3px color-mix(in srgb,var(--phase-color,#7c3aed) 12%,#0000)}.sl-phase-card-header{align-items:center;cursor:pointer;display:flex;gap:12px;justify-content:space-between;padding:12px 16px;-webkit-user-select:none;user-select:none}.sl-phase-card-label{align-items:center;display:flex;flex-shrink:0;gap:8px}.sl-phase-card-icon{font-size:1.1rem}.sl-phase-card-name{color:#1e293b;font-size:.875rem;font-weight:700}.sl-phase-dates-display{align-items:center;display:flex;flex:1 1;gap:10px;justify-content:flex-end;min-width:0}.sl-phase-date-value{color:#1e293b;font-size:.8rem;font-weight:600;white-space:nowrap}.sl-phase-arrow{color:#94a3b8;margin:0 3px}.sl-phase-date-placeholder{color:#94a3b8;font-size:.8rem;font-style:italic}.sl-phase-chevron{color:#94a3b8;flex-shrink:0;font-size:.75rem;transition:transform .2s}.sl-phase-chevron.open{transform:rotate(180deg)}.sl-phase-picker-popover{background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 8px 32px #0000001f;display:flex;flex-direction:column;gap:10px;left:0;min-width:560px;padding:14px 14px 12px;position:absolute;top:calc(100% + 6px);z-index:200}.sl-datepicker-cal{font-family:inherit!important}.sl-datepicker-cal .react-datepicker{border:none!important;box-shadow:none!important}.sl-datepicker-cal .react-datepicker__header{background:#f8fafc!important;border-bottom:1px solid #e8ecf0!important;border-radius:8px 8px 0 0!important;padding:8px 0!important}.sl-datepicker-cal .react-datepicker__current-month{color:#1e293b!important;font-size:.85rem!important;font-weight:700!important}.sl-datepicker-cal .react-datepicker__day-name{color:#64748b!important;font-size:.72rem!important;font-weight:600!important;line-height:2rem!important;width:2rem!important}.sl-datepicker-cal .react-datepicker__day{border-radius:50%!important;color:#1e293b!important;font-size:.8rem!important;line-height:2rem!important;width:2rem!important}.sl-datepicker-cal .react-datepicker__day:hover{background:#ede9fe!important;color:#7c3aed!important}.sl-datepicker-cal .react-datepicker__day--range-end,.sl-datepicker-cal .react-datepicker__day--range-start,.sl-datepicker-cal .react-datepicker__day--selected{background:#7c3aed!important;border-radius:50%!important;color:#fff!important;font-weight:700!important}.sl-datepicker-cal .react-datepicker__day--in-range{background:#7c3aed1f!important;border-radius:0!important;color:#4c1d95!important}.sl-datepicker-cal .react-datepicker__day--in-selecting-range{background:#7c3aed14!important;border-radius:0!important}.sl-datepicker-cal .react-datepicker__day--outside-month{opacity:.3!important}.sl-datepicker-cal .sl-cal-phase-montage{background:#6366f126!important;border-radius:0!important}.sl-datepicker-cal .sl-cal-phase-exploitation{background:#22c55e26!important;border-radius:0!important}.sl-datepicker-cal .sl-cal-phase-demontage{background:#ef444426!important;border-radius:0!important}.sl-phase-times{grid-gap:10px;background:#f8fafc;border:1px solid #e8ecf0;border-radius:8px;display:grid;gap:10px;grid-template-columns:1fr 1fr;padding:10px 12px}.sl-phase-time-group{display:flex;flex-direction:column;gap:4px}.sl-phase-time-group label{color:#64748b;font-size:.72rem;font-weight:600}.sl-phase-time-group input[type=time]{background:#fff;border:1px solid #e2e8f0;border-radius:6px;font-size:.82rem;outline:none;padding:5px 8px;transition:border-color .15s}.sl-phase-time-group input[type=time]:focus{border-color:#7c3aed}.sl-phase-time-group input[type=time]:disabled{cursor:not-allowed;opacity:.4}.sl-phase-picker-footer{display:flex;gap:8px;justify-content:flex-end}.sl-phase-clear-btn{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:7px;color:#64748b;cursor:pointer;font-size:.8rem;font-weight:600;padding:7px 14px;transition:background .15s}.sl-phase-clear-btn:hover{background:#e2e8f0}.sl-phase-confirm-btn{background:#7c3aed;border:none;border-radius:7px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:700;padding:7px 16px;transition:background .15s}.sl-phase-confirm-btn:hover{background:#6d28d9}.ev-main-tabs{background:#fff;border-bottom:1px solid #e8ecf0;flex-shrink:0;gap:6px;padding:10px 20px;position:relative;z-index:10}.ev-main-tabs,.ev-tab-btn{align-items:center;display:flex}.ev-tab-btn{background:#f1f5f9;border:none;border-radius:10px;color:#64748b;cursor:pointer;font-size:.875rem;font-weight:600;gap:8px;letter-spacing:.01em;line-height:1;padding:9px 20px;transition:all .18s ease;white-space:nowrap}.ev-tab-btn .ev-tab-icon{font-size:1rem;line-height:1;opacity:.8}.ev-tab-btn:hover{background:#e2e8f0;color:#1e293b}.ev-tab-btn.active{background:linear-gradient(135deg,#8b5cf6,#7c3aed);box-shadow:0 3px 10px #7c3aed59;color:#fff}.ev-tab-btn.active .ev-tab-icon{opacity:1}.ev-ctrl-bar{background:#fff;border-bottom:1px solid #e8ecf0;flex-shrink:0;padding:0 20px}.ev-ctrl-row{height:52px}.ev-ctrl-left,.ev-ctrl-row{align-items:center;display:flex;gap:12px}.ev-ctrl-left{flex-shrink:0}.ev-ctrl-title{color:#0f172a;font-size:15px;font-weight:700;letter-spacing:-.02em;margin:0;white-space:nowrap}.ev-badges{display:flex;gap:5px}.ev-badge{align-items:center;border:1px solid;border-radius:20px;display:flex;font-size:11px;font-weight:700;gap:4px;padding:3px 9px}.ev-badge-blue{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}.ev-badge-green{background:#f0fdf4;border-color:#bbf7d0;color:#15803d}.ev-ctrl-center{flex:1 1;gap:0;justify-content:center}.ev-ctrl-center,.ev-ctrl-group{align-items:center;display:flex}.ev-ctrl-group{background:#f8fafc;border:1px solid #e8ecf0;border-radius:10px;gap:8px;padding:6px 12px}.ev-ctrl-sep{background:#dde1e8;flex-shrink:0;height:20px;margin:0 4px;width:1px}.ev-icon-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;display:flex;flex-shrink:0;font-size:11px;height:26px;justify-content:center;line-height:1;padding:0;transition:all .12s;width:26px}.ev-icon-btn:hover{background:#f1f5f9;border-color:#cbd5e1;color:#334155}.ev-year-label{color:#0f172a;font-size:14px;font-weight:700;letter-spacing:-.01em;min-width:48px;text-align:center}.ev-zoom-slider{accent-color:#7c3aed;border-radius:2px;cursor:pointer;height:4px;width:90px}.ev-month-nav{display:flex;gap:2px}.ev-month-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:5px;color:#64748b;cursor:pointer;display:flex;font-size:10px;font-weight:600;height:24px;padding:0 6px;transition:all .12s;white-space:nowrap}.ev-month-btn:hover{background:#f1f5f9;border-color:#c7d0dc;color:#0f172a}.ev-today-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:6px;box-shadow:0 1px 4px #3b82f64d;color:#fff;cursor:pointer;font-size:11px;font-weight:700;height:26px;padding:0 10px;transition:all .12s;white-space:nowrap}.ev-today-btn:hover{box-shadow:0 3px 8px #3b82f666;transform:translateY(-1px)}.ev-ctrl-right{align-items:center;display:flex;flex-shrink:0;gap:8px}.ev-search-input{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#334155;font-size:13px;outline:none;padding:6px 12px;transition:all .15s;width:170px}.ev-search-input:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.ev-list-btn{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;font-size:12px;font-weight:600;height:34px;padding:0 12px;transition:all .12s;white-space:nowrap}.ev-list-btn:hover{background:#f8fafc;border-color:#cbd5e1;color:#0f172a}.ev-create-btn{align-items:center;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;border-radius:8px;box-shadow:0 2px 6px #7c3aed4d;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:700;gap:5px;height:34px;padding:0 16px;transition:all .12s;white-space:nowrap}.ev-create-btn:hover{box-shadow:0 4px 12px #7c3aed66;transform:translateY(-1px)}@media (max-width:1300px){.ev-zoom-slider{width:70px}.ev-month-btn{font-size:9px;padding:0 4px}.ev-ctrl-group{gap:6px;padding:5px 10px}.ev-search-input{width:140px}}@media (max-width:1100px){.ev-badges,.ev-ctrl-title,.ev-zoom-slider{display:none}}@media (max-width:950px){.ev-month-nav{display:none}.ev-search-input{font-size:12px;width:110px}.ev-list-btn span{display:none}}@media (max-width:750px){.ev-ctrl-bar{padding:0 12px}.ev-ctrl-row{flex-wrap:wrap;gap:8px;height:auto;padding:8px 0}.ev-ctrl-center{flex:initial;justify-content:flex-start;order:3;width:100%}.ev-ctrl-left{order:1}.ev-ctrl-right{margin-left:auto;order:2}.ev-ctrl-group{flex-wrap:wrap}}@media (max-width:700px){.sl-layout{flex-direction:column}.sl-list-panel{border-bottom:1px solid #e8ecf0;border-right:none;height:250px;width:100%}.sl-grid-2{grid-template-columns:1fr}.sl-horaire-row{grid-template-columns:1fr 1fr}.sl-horaire-row-date,.sl-horaire-row-phase{grid-column:span 1}}.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker__sr-only{border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.react-datepicker-wrapper{border:0;display:inline-block;padding:0}.react-datepicker{background-color:#fff;border:1px solid #aeaeae;border-radius:.3rem;color:#000;display:inline-block;font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;line-height:normal;position:relative}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.375em;border-bottom-right-radius:.375em}.react-datepicker-popper{line-height:0;z-index:1}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper--header-bottom[data-placement^=bottom] .react-datepicker__triangle,.react-datepicker-popper--header-middle[data-placement^=bottom] .react-datepicker__triangle,.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker-popper--header-bottom[data-placement^=top] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker__header{background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative;text-align:center}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select,.react-datepicker__header--middle,.react-datepicker__header--bottom){border-top-right-radius:.3rem}.react-datepicker__header--middle{border-radius:0;border-top:1px solid #aeaeae;margin-top:4px}.react-datepicker__header--bottom{border-bottom:none;border-radius:0 0 .3rem .3rem;border-top:1px solid #aeaeae}.react-datepicker__header-wrapper{position:relative}.react-datepicker__header-wrapper .react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:2px}.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__year-dropdown-container--select{display:inline-block;margin:0 15px}.react-datepicker__month-select,.react-datepicker__month-year-select,.react-datepicker__year-select{background-color:initial;border:1px solid #aeaeae;border-radius:.3rem;color:inherit;cursor:pointer;font-family:inherit;font-size:inherit;margin-top:5px;padding:2px 5px}.react-datepicker__month-select:focus-visible,.react-datepicker__month-year-select:focus-visible,.react-datepicker__year-select:focus-visible{outline:1px auto}.react-datepicker-time__header,.react-datepicker-year-header,.react-datepicker__current-month{color:#000;font-size:.944rem;font-weight:700;margin-top:0}h2.react-datepicker__current-month{margin:0;padding:0}.react-datepicker-time__header{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.react-datepicker__navigation{align-items:center;background:none;border:none;cursor:pointer;display:flex;height:32px;justify-content:center;overflow:hidden;padding:0;position:absolute;text-align:center;text-indent:-999em;top:2px;width:32px;z-index:1}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{display:block;margin-left:auto;margin-right:auto;position:relative;top:0}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover :before{border-color:#a6a6a6}.react-datepicker__navigation-icon{font-size:20px;position:relative;top:-1px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{left:-7px;transform:rotate(45deg)}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{right:-7px;transform:rotate(225deg)}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.5em;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;margin:2px;width:5em}.react-datepicker__month{margin:.5em;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;margin:2px;width:5em}.react-datepicker__input-time-container{clear:both;float:left;margin:5px 0 10px 15px;text-align:left;width:100%}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{display:inline-block;margin-left:5px}.react-datepicker__time-container{border-left:1px solid #aeaeae;float:right;width:85px}.react-datepicker__time-container--with-today-button{border:1px solid #aeaeae;border-radius:.375em;display:inline;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{background:#fff;border-bottom-right-radius:.375em;position:relative}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{border-bottom-right-radius:.375em;margin:0 auto;overflow-x:hidden;text-align:center;width:85px}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{box-sizing:initial;height:calc(195px + 1.0625em);list-style:none;margin:0;overflow-y:scroll;padding-left:0;padding-right:0;width:100%}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{background-color:#f0f0f0;cursor:pointer}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{background-color:initial;cursor:default}.react-datepicker__week-number{color:#ccc;display:inline-block;line-height:2.125em;margin:.208em;text-align:center;width:2.125em}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__week-number--selected{background-color:#216ba5;border-radius:.3rem;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{margin-bottom:-8px;text-align:center;white-space:nowrap}.react-datepicker__week{white-space:nowrap}.react-datepicker__day,.react-datepicker__day-name,.react-datepicker__time-name{color:#000;display:inline-block;line-height:2.125em;margin:.208em;text-align:center;width:2.125em}.react-datepicker__day--disabled,.react-datepicker__day-name--disabled,.react-datepicker__time-name--disabled{color:#ccc;cursor:default}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{background-color:#3dcc4a;border-radius:.3rem;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{background-color:#ff6803;border-radius:.3rem;color:#fff;position:relative}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{background-color:#333;border-radius:4px;bottom:100%;color:#fff;left:50%;opacity:0;padding:4px;position:absolute;transform:translateX(-50%);transition:visibility 0s,opacity .3s ease-in-out;visibility:hidden;white-space:nowrap}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{opacity:1;visibility:visible}.react-datepicker__day--in-range,.react-datepicker__day--in-selecting-range,.react-datepicker__day--selected,.react-datepicker__month-text--in-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--selected,.react-datepicker__quarter-text--in-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--selected,.react-datepicker__year-text--in-range,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--selected{background-color:#216ba5;border-radius:.3rem;color:#fff}.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{background-color:#bad9f1;border-radius:.3rem;color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90;color:#fff}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{color:#ccc;cursor:default}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{background-color:#333;border-radius:4px;bottom:70%;color:#fff;left:50%;opacity:0;padding:4px;position:absolute;transform:translateX(-50%);transition:visibility 0s,opacity .3s ease-in-out;visibility:hidden;white-space:nowrap}.react-datepicker__input-container{display:inline-block;position:relative;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{box-sizing:initial;padding:.625em;position:absolute}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__month-read-view,.react-datepicker__month-year-read-view,.react-datepicker__year-read-view{border:1px solid #0000;border-radius:.3rem;position:relative}.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover,.react-datepicker__year-read-view:hover{cursor:pointer}.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__year-read-view--down-arrow{right:-16px;top:0;transform:rotate(135deg)}.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown,.react-datepicker__year-dropdown{background-color:#f0f0f0;border:1px solid #aeaeae;border-radius:.3rem;left:25%;position:absolute;text-align:center;top:30px;width:50%;z-index:1}.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover,.react-datepicker__year-dropdown:hover{cursor:pointer}.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable,.react-datepicker__year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__month-option,.react-datepicker__month-year-option,.react-datepicker__year-option{display:block;line-height:20px;margin-left:auto;margin-right:auto;width:100%}.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type,.react-datepicker__year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type,.react-datepicker__year-option:last-of-type{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem;-webkit-user-select:none;user-select:none}.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover,.react-datepicker__year-option:hover{background-color:#ccc}.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected,.react-datepicker__year-option--selected{left:15px;position:absolute}.react-datepicker__close-icon{background-color:initial;border:0;cursor:pointer;display:table-cell;height:100%;outline:0;padding:0 6px 0 0;position:absolute;right:0;top:0;vertical-align:middle}.react-datepicker__close-icon:after{background-color:#216ba5;border-radius:50%;color:#fff;content:"×";cursor:pointer;display:table-cell;font-size:12px;height:16px;line-height:1;padding:2px;text-align:center;vertical-align:middle;width:16px}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{background-color:#ccc;cursor:default}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;clear:left;cursor:pointer;font-weight:700;padding:5px 0;text-align:center}.react-datepicker__portal{align-items:center;background-color:#000c;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:2147483647}.react-datepicker__children-container{height:auto;margin:.5em;padding-left:.25em;padding-right:.25em;width:17.25em}.react-datepicker__aria-live{border:0;-webkit-clip-path:circle(0);clip-path:circle(0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.react-datepicker__calendar-icon{height:1em;vertical-align:-.125em;width:1em}.react-datepicker-popper-offset{margin-top:-.7em}.stats-page{background:linear-gradient(135deg,#f8fafc,#f1f5f9);display:flex;flex-direction:column;gap:16px;min-height:100vh;padding:20px}.stats-title-header{background:#fff;border-left:4px solid #8b5cf6;border-radius:12px;box-shadow:0 2px 12px #0000000a;padding:16px 24px}.stats-title-header h1{color:#1e293b;font-size:24px;font-weight:600;letter-spacing:-.5px;margin:0}.stats-controls-top{background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000000f;display:flex;flex-direction:column;gap:12px;padding:16px}.stats-entities-selector{display:flex;flex-direction:column;gap:10px}.stats-chart-container{background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000000f;padding:20px}.stats-loading{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:60vh}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top-color:#8b5cf6;height:50px;width:50px}.stats-loading p{color:#64748b;font-size:15px;font-weight:500}.stats-header{align-items:center;animation:fadeInDown .6s ease-out;display:flex;justify-content:space-between;margin-bottom:24px}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.stats-header-left{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.stats-header h1{color:#1e293b;font-size:28px;font-weight:700;margin:0}.stats-count{background:linear-gradient(135deg,#8b5cf6,#6366f1);border-radius:20px;box-shadow:0 2px 8px #8b5cf64d;color:#fff;font-size:14px;font-weight:600;padding:6px 14px}.stats-error{animation:shake .5s ease-out;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;color:#dc2626;font-size:14px;font-weight:500;margin-bottom:24px;padding:14px 18px}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-10px)}75%{transform:translateX(10px)}}.stats-card-main{animation:fadeInUp .8s ease-out;background:#fff;border-radius:20px;box-shadow:0 4px 20px #00000014;display:flex;flex-direction:column;height:calc(100vh - 140px);padding:32px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.stats-filters{border-bottom:2px solid #f1f5f9;display:flex;flex-wrap:wrap;gap:24px;margin-bottom:32px;padding-bottom:24px}.stats-year-nav{align-items:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;display:flex;flex-wrap:wrap;gap:12px;padding:8px 12px}.year-range-btns{border-left:2px solid #e2e8f0;display:flex;gap:6px;margin-left:12px;padding-left:12px}.range-btn{background:#fff;border:1px solid #cbd5e1;border-radius:8px;color:#64748b;cursor:pointer;font-size:13px;font-weight:600;padding:6px 12px;transition:all .2s}.range-btn:hover{background:#f1f5f9;border-color:#94a3b8}.range-btn.active{background:linear-gradient(135deg,#8b5cf6,#6366f1);border-color:#8b5cf6;box-shadow:0 2px 6px #8b5cf64d;color:#fff}.year-btn{align-items:center;background:linear-gradient(135deg,#fff,#f8fafc);border:2px solid #e2e8f0;border-radius:10px;color:#64748b;cursor:pointer;display:flex;font-size:20px;font-weight:700;height:40px;justify-content:center;transition:all .2s;width:40px}.year-btn:hover{background:linear-gradient(135deg,#8b5cf6,#6366f1);border-color:#8b5cf6;color:#fff;transform:scale(1.05)}.year-btn:active{transform:scale(.95)}.year-display{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#8b5cf6,#6366f1);-webkit-background-clip:text;background-clip:text;font-size:18px;font-weight:700;letter-spacing:.5px;min-width:70px;text-align:center}.stats-entities-selector{flex:1 1;min-width:300px}.selector-header{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start;margin-bottom:10px}.selector-actions{display:flex;gap:6px}.toggle-btn{border:2px solid;border-radius:8px;cursor:pointer;font-size:12px;font-weight:600;padding:8px 14px;transition:all .2s}.toggle-btn:hover{box-shadow:0 2px 6px #0000001a;transform:translateY(-2px)}.toggle-btn.deselect{background:#f8fafc;border-color:#e2e8f0;color:#64748b}.toggle-btn.deselect:hover{background:#e5e7eb;border-color:#cbd5e1;color:#475569}.toggle-btn.select{background:linear-gradient(135deg,#8b5cf6,#6366f1);border-color:#8b5cf6;color:#fff}.toggle-btn.select:hover{background:linear-gradient(135deg,#7c3aed,#4f46e5);box-shadow:0 4px 12px #8b5cf64d}.entities-checkboxes{display:flex;flex-wrap:wrap;gap:8px}.entities-checkboxes::-webkit-scrollbar{height:4px;width:4px}.entities-checkboxes::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.entities-checkboxes::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.entities-checkboxes::-webkit-scrollbar-thumb:hover{background:#8b5cf6}.entity-checkbox{align-items:center;border:2px solid;border-radius:8px;cursor:pointer;display:flex;gap:6px;padding:6px 10px;position:relative;transition:all .3s;-webkit-user-select:none;user-select:none}.entity-checkbox:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.entity-checkbox input[type=checkbox]{-webkit-appearance:none;appearance:none;background:#ffffff4d;border:2px solid #fff;border-radius:4px;cursor:pointer;flex-shrink:0;height:16px;position:relative;transition:all .2s;width:16px}.entity-checkbox input[type=checkbox]:hover{background:#ffffff80}.entity-checkbox input[type=checkbox]:checked{background:#fff;border-color:#fff}.entity-checkbox input[type=checkbox]:checked:after{color:#334155;content:"✓";font-size:11px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.checkbox-label{font-size:12px;font-weight:600;transition:all .2s;white-space:nowrap}.entity-checkbox input:checked{animation:checkPulse .3s ease-out}@keyframes checkPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.stats-chart-container{flex:1 1;min-height:400px;padding:20px 0}.chart-empty,.stats-chart-container{align-items:center;display:flex;justify-content:center}.chart-empty{color:#94a3b8;flex-direction:column;height:100%}.empty-icon{font-size:72px;margin-bottom:20px;opacity:.4}.chart-empty h3{color:#64748b;font-size:20px;margin:0 0 8px}.chart-empty p{color:#94a3b8;font-size:15px;margin:0}@media (max-width:768px){.stats-page{gap:10px;padding:10px}.stats-title-header{border-radius:10px;padding:12px 16px}.stats-title-header h1{font-size:18px}.stats-chart-container{border-radius:12px;flex:none!important;height:400px!important;max-height:400px!important;min-height:400px!important;overflow:hidden!important;padding:12px;position:relative!important;touch-action:pan-x pan-y!important}.stats-controls-top{border-radius:12px;gap:10px;padding:12px}.stats-header{align-items:center;background:linear-gradient(135deg,#f8fafc,#fff);border-radius:10px;box-shadow:0 2px 6px #0000000d;flex-direction:row;gap:8px;margin-bottom:10px;padding:8px 10px}.stats-header-icon{font-size:20px!important}.stats-header h1{font-size:15px;font-weight:700;margin:0}.stats-count{display:none!important}.stats-card-main{border-radius:12px;height:calc(100vh - 70px);padding:8px}.stats-filters{background:#f8fafc;border-radius:10px;display:flex;flex-direction:column;gap:8px;margin-bottom:10px;padding:8px}.stats-year-nav{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px #0000000d;flex-wrap:nowrap;justify-content:center;overflow-x:auto;padding:6px;scrollbar-width:none;width:100%}.stats-year-nav::-webkit-scrollbar{display:none}.year-btn{border-width:1px;flex-shrink:0;font-size:16px;height:32px;width:32px}.year-display{flex-shrink:0;font-size:14px;font-weight:700;min-width:50px}.year-range-btns{border-left-width:1px;gap:4px;margin-left:8px;padding-left:8px}.range-btn{border-radius:6px;flex-shrink:0;font-size:10px;padding:4px 8px}.stats-entities-selector{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px #0000000d;min-width:0;min-width:auto;padding:8px;width:100%}.selector-header{align-items:center;flex-direction:row;gap:6px;justify-content:flex-start;margin-bottom:8px}.selector-actions{display:flex;gap:4px}.toggle-btn{border-radius:6px;border-width:1px;font-size:10px;font-weight:600;padding:5px 10px}.entities-checkboxes{-webkit-overflow-scrolling:touch;display:flex;flex-direction:row;flex-wrap:nowrap;gap:4px;max-height:none;overflow-x:auto;overflow-y:hidden;padding:4px 0;scrollbar-width:none}.entities-checkboxes::-webkit-scrollbar{display:none}.entity-checkbox{border-radius:8px;border-width:1.5px;flex-shrink:0;padding:5px 10px}.entity-checkbox:hover{box-shadow:0 2px 4px #0000001a;transform:none}.entity-checkbox input[type=checkbox]{border-radius:4px;border-width:1.5px;height:14px;width:14px}.entity-checkbox input[type=checkbox]:checked:after{font-size:9px}.checkbox-label{font-size:11px;font-weight:600;white-space:nowrap}}@media (max-width:480px){.stats-page{gap:8px;padding:8px}.stats-title-header{border-radius:8px;padding:10px 14px}.stats-title-header h1{font-size:16px}.stats-chart-container{border-radius:10px;flex:none!important;height:360px!important;max-height:360px!important;min-height:360px!important;overflow:hidden!important;padding:10px;position:relative!important;touch-action:pan-x pan-y!important}.stats-controls-top{border-radius:10px;gap:8px;padding:10px}.stats-header{border-radius:8px;gap:6px;margin-bottom:8px;padding:6px 8px}.stats-header-icon{font-size:18px!important}.stats-header h1{font-size:13px}.stats-count{display:none!important}.stats-card-main{border-radius:10px;height:calc(100vh - 60px);padding:6px}.stats-filters{border-radius:8px;gap:6px;margin-bottom:8px;padding:6px}.stats-year-nav{border-radius:6px;gap:8px;padding:3px}.year-btn{border-width:1px;font-size:14px;height:28px;width:28px}.year-display{flex-shrink:0;font-size:12px;min-width:45px}.year-range-btns{gap:3px;margin-left:6px;padding-left:6px}.range-btn{border-radius:5px;font-size:9px;padding:3px 6px}.stats-entities-selector{border-radius:6px;padding:6px}.selector-header{gap:4px;margin-bottom:6px}.selector-actions{gap:3px}.toggle-btn{border-radius:5px;border-width:1px;font-size:9px;padding:4px 8px}.entities-checkboxes{gap:4px;padding:3px 0}.entity-checkbox{border-radius:6px;border-width:1.5px;padding:4px 8px}.entity-checkbox input[type=checkbox]{border-radius:3px;border-width:1.5px;height:12px;width:12px}.entity-checkbox input[type=checkbox]:checked:after{font-size:8px}.checkbox-label{font-size:10px}.empty-icon{font-size:32px}.chart-empty h3{font-size:12px}.chart-empty p{font-size:10px}}.filter-entities-btn{display:inline-flex;justify-content:center;transition:all .2s}.filter-entities-btn:hover{box-shadow:0 4px 10px #8b5cf633;color:#8b5cf6;transform:translateY(-1px)}.filter-entities-btn:active{transform:translateY(0)}.entities-modal-overlay{padding:20px}.entities-modal{animation:slideUp .3s ease-out;max-width:500px;width:100%}.modal-header-entities{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:16px 20px}.modal-header-entities h3{color:#1e293b;font-size:18px;font-weight:700;margin:0}.modal-close{align-items:center;background:#f1f5f9;border:none;border-radius:50%;color:#64748b;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;line-height:1;transition:all .2s;width:32px}.modal-close:hover{background:#e2e8f0;color:#1e293b}.modal-actions{border-bottom:1px solid #f1f5f9;display:flex;gap:8px;padding:12px 20px}.modal-entities-list{display:flex;flex:1 1;flex-direction:column;gap:10px;overflow-y:auto;padding:16px 20px}.entity-checkbox-modal{align-items:center;border:2px solid;border-radius:10px;cursor:pointer;display:flex;gap:10px;padding:12px 14px;transition:all .2s}.entity-checkbox-modal input[type=checkbox]{-webkit-appearance:none;appearance:none;background:#ffffff4d;border:2px solid #fff;border-radius:4px;cursor:pointer;flex-shrink:0;height:18px;position:relative;transition:all .2s;width:18px}.entity-checkbox-modal input[type=checkbox]:checked{background:#fff}.entity-checkbox-modal input[type=checkbox]:checked:after{color:#334155;content:"✓";font-size:12px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.modal-apply-btn{background:linear-gradient(135deg,#8b5cf6,#6366f1);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;margin:16px 20px;padding:12px;transition:all .2s}.modal-apply-btn:hover{box-shadow:0 6px 16px #8b5cf666;transform:translateY(-2px)}.chartjs-tooltip{background:#fffffffa!important;border:2px solid #fb7185!important;border-radius:12px!important;box-shadow:0 10px 40px #fb71854d!important;opacity:1!important;pointer-events:none!important;z-index:99999!important}.chartjs-tooltip-key{border-radius:4px!important}@media (max-width:768px){.chartjs-tooltip{border-radius:8px!important;border-width:2px!important;box-shadow:0 8px 24px #fb718559!important;z-index:99999!important}.filter-entities-btn{font-size:12px;padding:8px 14px;width:100%}}.stats-chart-container{position:relative}.stats-chart-container canvas{cursor:crosshair!important;max-height:100%!important;max-width:100%!important;touch-action:none!important}@media (max-width:768px){.stats-chart-container{-webkit-user-select:none!important;user-select:none!important}.stats-chart-container canvas{pointer-events:auto!important;touch-action:pan-x pan-y!important}}@keyframes pulseLine{0%,to{opacity:1}50%{opacity:.7}}button:focus{outline:2px solid #8b5cf6;outline-offset:2px}canvas{height:auto!important;max-width:100%!important}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.repartition-loading{animation:spin 1s linear infinite;display:inline-block}.repartition-container{background:#f8fafc;min-height:100vh;padding:16px}.repartition-card{background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000000f;margin:0 auto;max-width:100%}.repartition-header{background:linear-gradient(135deg,#fff,#f8fafc);border-bottom:1px solid #e2e8f0;border-radius:16px 16px 0 0;padding:16px 20px}.repartition-header-flex{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;width:100%}.repartition-title-section{align-items:center;display:flex;gap:12px}.repartition-title-icon{color:#a78bfa;font-size:32px}.repartition-title{color:#1f2937;font-size:22px;font-weight:700;margin:0}.repartition-subtitle{color:#6b7280;font-size:12px;margin:2px 0 0}.repartition-stats{display:flex;gap:10px}.stat-card{align-items:center;border-radius:8px;color:#fff;display:flex;gap:8px;padding:10px 14px}.stat-card-salons{background:linear-gradient(135deg,#a78bfa,#8b5cf6);box-shadow:0 2px 6px #a78bfa4d}.stat-card-stands{background:linear-gradient(135deg,#60a5fa,#3b82f6);box-shadow:0 2px 6px #3b82f64d}.stat-card-entites{background:linear-gradient(135deg,#818cf8,#6366f1);box-shadow:0 2px 6px #6366f14d}.stat-card-icon{color:#fff;font-size:20px}.stat-card-value{color:#fff;font-size:16px;font-weight:700}.stat-card-label{color:#fff;font-size:9px;opacity:.9}.repartition-filters{background:#fafbfc;border-bottom:1px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:10px;padding:14px 20px}.filter-search{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex:1 1;gap:8px;min-width:200px;padding:8px 12px}.filter-search svg{color:#9ca3af;font-size:16px}.filter-search input{background:#0000;border:none;color:#1f2937;flex:1 1;font-size:13px;outline:none}.filter-select{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:8px;min-width:180px;padding:8px 12px}.filter-select svg{color:#9ca3af;font-size:16px}.filter-select select{background:#0000;border:none;color:#1f2937;cursor:pointer;flex:1 1;font-size:13px;font-weight:500;outline:none}.year-nav{background:#fff;gap:8px;padding:4px}.year-nav,.year-nav button{align-items:center;border:1px solid #e5e7eb;border-radius:8px;display:flex}.year-nav button{background:linear-gradient(135deg,#f9fafb,#f3f4f6);color:#6b7280;cursor:pointer;font-size:18px;font-weight:700;height:36px;justify-content:center;transition:all .2s;width:36px}.year-nav button:hover{background:linear-gradient(135deg,#a78bfa,#8b5cf6);border-color:#8b5cf6;color:#fff;transform:scale(1.05)}.year-nav button:active{transform:scale(.95)}.year-nav span{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#8b5cf6,#6366f1);-webkit-background-clip:text;background-clip:text;font-size:16px;font-weight:700;letter-spacing:.5px;min-width:60px;text-align:center}.repartition-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:13px;margin:14px 20px;padding:12px}.repartition-scroll-container{overflow-x:auto;overflow-y:visible;padding:20px}.repartition-scroll-container.grabbing{cursor:grabbing}.repartition-scroll-container.grab{cursor:grab}.repartition-months-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(12,280px);min-width:-webkit-min-content;min-width:min-content}.month-column{display:flex;flex-direction:column;height:-webkit-fit-content;height:fit-content}.month-header{align-items:center;background:linear-gradient(135deg,#a78bfa,#8b5cf6);border-radius:8px 8px 0 0;box-shadow:0 2px 6px #a78bfa4d;color:#fff;display:flex;font-size:14px;font-weight:700;justify-content:space-between;padding:12px;position:relative;text-align:left}.month-stats-badge{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff4d;border-radius:12px;box-shadow:0 2px 4px #0000001a;display:flex;flex-shrink:0;font-size:9px;font-weight:600;gap:6px;padding:4px 8px}.month-stats-badge span{white-space:nowrap}.month-stats-separator{opacity:.6}.month-content{background:#fafbfc;border:2px solid #e5e7eb;border-radius:0 0 8px 8px;border-top:none;height:calc(100vh - 280px);overflow-y:auto}.month-content-inner{gap:10px;padding:12px}.month-content-inner,.month-empty{display:flex;flex-direction:column}.month-empty{align-items:center;color:#d1d5db;justify-content:center;padding:40px 10px}.month-empty svg{font-size:40px;margin-bottom:8px;opacity:.3}.month-empty-text{font-size:12px;font-weight:500}.salon-card{background:#fff;border:2px solid #8b5cf6;border-radius:8px;box-shadow:0 2px 6px #a78bfa33;cursor:pointer;overflow:hidden;transition:all .2s}.salon-card:hover{box-shadow:0 4px 12px #a78bfa66;transform:translateY(-2px)}.salon-header{background:linear-gradient(135deg,#ddd6fe,#c4b5fd);border-bottom:1px solid #a78bfa;padding:10px 12px}.salon-title{color:#1f2937;font-size:13px;font-weight:700;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.salon-entities{padding:10px}.salon-entities-list{display:flex;flex-direction:column;gap:6px}.entity-item{align-items:center;border:none;border-radius:6px;display:flex;justify-content:space-between;padding:8px 10px;transition:all .2s}.entity-name{flex:1 1;font-size:12px;font-weight:600;margin-right:8px;overflow:hidden;text-overflow:ellipsis}.entity-badge,.entity-name{color:#fff;white-space:nowrap}.entity-badge{background:#ffffff4d;border-radius:5px;font-size:11px;font-weight:700;padding:4px 10px}.salon-empty{color:#9ca3af;font-size:10px;font-style:italic;padding:6px;text-align:center}.salon-footer{align-items:center;background:#f8fafc;border-top:2px solid #e5e7eb;display:flex;gap:6px;justify-content:center;margin-top:8px;padding:10px 12px}.salon-total-label{color:#64748b;font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.salon-total-value{color:#8b5cf6;font-size:16px;font-weight:700;letter-spacing:.3px}.salon-total-unit{color:#94a3b8;font-size:11px;font-weight:600;letter-spacing:.3px}.repartition-loading-container{padding:60px 20px;text-align:center}.repartition-loading-spinner{border:4px solid #e5e7eb;border-radius:50%;border-top-color:#a78bfa;height:50px;margin:0 auto 20px;width:50px}.repartition-loading-text{color:#6b7280;font-size:16px}.repartition-modal-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:9999}.repartition-modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:800px;overflow-y:auto;position:relative;width:100%}.modal-header{background:linear-gradient(135deg,#a78bfa,#8b5cf6);border-radius:16px 16px 0 0;padding:28px 30px;position:-webkit-sticky;position:sticky;top:0;z-index:1}.modal-header-flex{align-items:flex-start;display:flex;gap:20px;justify-content:space-between}.modal-header-info{flex:1 1;min-width:0}.modal-header-info h2{color:#fff;font-size:26px;font-weight:700;line-height:1.3;margin:0 0 10px}.modal-header-address{color:#fffffff2;font-size:15px;line-height:1.5;margin:8px 0 0}.modal-header-lieu-stand{color:#ffffffd9;font-size:14px;line-height:1.5;margin:6px 0 0}.modal-close-btn{align-items:center;background:#ffffff40;border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:24px;font-weight:700;height:40px;justify-content:center;line-height:1;transition:all .2s;width:40px}.modal-close-btn:hover{background:#fff6;transform:scale(1.05)}.modal-content{padding:24px}.modal-section{margin-bottom:24px}.modal-section:last-child{margin-bottom:0}.modal-section-title{align-items:center;color:#1f2937;display:flex;font-size:16px;font-weight:700;gap:8px;margin-bottom:12px}.modal-section-title svg{color:#8b5cf6;font-size:20px}.modal-dates-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.modal-date-card{border:1px solid;border-radius:8px;padding:12px}.modal-date-card-montage{background:#dbeafe;border-color:#93c5fd}.modal-date-card-exploitation{background:#e0e7ff;border-color:#c4b5fd}.modal-date-card-demontage{background:#dbeafe;border-color:#93c5fd}.modal-date-label{font-size:11px;font-weight:600;margin-bottom:4px}.modal-date-label-montage{color:#1e40af}.modal-date-label-exploitation{color:#5b21b6}.modal-date-label-demontage{color:#1e40af}.modal-date-value{color:#1f2937;font-size:13px;font-weight:600}.modal-date-end{color:#6b7280;font-size:11px}.modal-entites-list{display:flex;flex-direction:column;gap:8px}.modal-entite-item{align-items:center;border:none;border-radius:8px;display:flex;justify-content:space-between;overflow:hidden;padding:14px 16px}.modal-entite-name{color:#1e293b;font-size:14px;font-weight:700}.modal-entite-count{background:#00000026;border-radius:6px;color:#1e293b;font-size:13px;font-weight:700;padding:6px 12px}.modal-empty-message{color:#9ca3af;font-size:13px;padding:24px;text-align:center}@media (max-width:768px){.repartition-container{padding:0!important}.repartition-card{border-radius:8px!important}.repartition-header{align-items:flex-start!important;flex-direction:column!important;gap:8px!important;padding:8px 10px!important}.repartition-title{font-size:16px!important;margin:0!important}.repartition-title-section{align-items:center!important;flex-direction:row!important;gap:8px!important;margin-bottom:0!important;width:100%!important}.repartition-title-icon{font-size:24px!important}.repartition-subtitle{font-size:10px!important;margin:0!important}.repartition-stats{flex-wrap:nowrap!important;gap:4px!important;overflow-x:auto!important;width:100%!important}.stat-card{flex:1 1!important;flex-direction:column!important;gap:3px!important;min-width:70px!important;padding:4px 6px!important}.stat-card-icon{font-size:16px!important}.stat-card-value{font-size:14px!important}.stat-card-label{font-size:8px!important;white-space:nowrap!important}.repartition-filters{flex-direction:row!important;flex-wrap:wrap!important;gap:6px!important;padding:6px 8px!important}.filter-search{min-width:0!important;min-width:auto!important;padding:6px 8px!important;width:100%!important}.filter-search input{font-size:12px!important}.filter-search svg{font-size:14px!important}.filter-select{flex:1 1!important;min-width:calc(50% - 3px)!important;padding:6px 8px!important}.filter-select svg{font-size:14px!important}.filter-select select{font-size:11px!important}.year-nav{flex:1 1!important;min-width:calc(50% - 3px)!important;padding:4px!important}.year-nav button{font-size:20px!important;height:40px!important;width:40px!important}.year-nav span{font-size:14px!important;min-width:50px!important}.entity-item,.salon-footer{padding:8px 10px!important}.entity-item{gap:8px!important}.entity-name{flex:1 1!important;font-size:12px!important;line-height:1.3!important;opacity:1!important;visibility:visible!important}.entity-badge{flex-shrink:0!important;font-size:11px!important;padding:4px 10px!important}.salon-total-value{font-size:14px!important}.repartition-scroll-container{padding:4px!important}.repartition-months-grid{gap:8px!important;grid-template-columns:repeat(12,calc(100vw - 16px))!important}.month-column{min-width:calc(100vw - 16px)!important;width:calc(100vw - 16px)!important}.month-header{padding:8px!important}.month-header,.month-title{font-size:13px!important}.salon-card{margin-bottom:8px!important}.salon-title{font-size:12px!important}.entity-item{padding:6px 8px!important}.entity-name{color:#fff!important;display:block!important;font-size:11px!important;overflow:visible!important;white-space:normal!important;word-break:break-word!important}.entity-badge{font-size:10px!important;padding:3px 8px!important}.modal-header{padding:20px 16px!important}.modal-header-info h2{font-size:20px!important;margin-bottom:8px!important}.modal-header-address{font-size:13px!important}.modal-header-lieu-stand{font-size:12px!important}.modal-close-btn{font-size:20px!important;height:36px!important;width:36px!important}}.filter-entities-btn{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:8px;box-shadow:0 2px 6px #0000000d;color:#334155;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:8px;padding:10px 16px;transition:all .2s ease}.filter-entities-btn:hover{border-color:#8b5cf6;box-shadow:0 2px 8px #8b5cf633}.filter-entities-btn svg{color:#8b5cf6;font-size:18px}.entities-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.entities-modal{animation:slideUp .3s cubic-bezier(.4,0,.2,1);background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:80vh;max-width:450px;overflow:hidden;width:90%}@media (min-width:768px){.entities-modal{max-height:600px;width:450px}}.entities-modal .modal-header{align-items:center;background:linear-gradient(135deg,#f8fafc,#fff);border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:16px 20px}.entities-modal .modal-header h3{color:#1e293b;font-size:18px;font-weight:700;margin:0}.entities-modal .modal-close-btn{align-items:center;background:#f1f5f9;border:none;border-radius:8px;color:#64748b;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;transition:all .2s;width:32px}.entities-modal .modal-close-btn:hover{background:#e2e8f0;color:#1e293b}.entities-modal .modal-actions{border-bottom:1px solid #f1f5f9;display:flex;gap:8px;padding:12px 20px}.entities-modal .toggle-btn{border:2px solid;border-radius:8px;cursor:pointer;font-size:12px;font-weight:600;padding:8px 14px;transition:all .2s}.entities-modal .toggle-btn:hover{box-shadow:0 2px 6px #0000001a;transform:translateY(-2px)}.entities-modal .toggle-btn.deselect{background:#f8fafc;border-color:#e2e8f0;color:#64748b}.entities-modal .toggle-btn.deselect:hover{background:#e5e7eb;border-color:#cbd5e1;color:#475569}.entities-modal .toggle-btn.select{background:linear-gradient(135deg,#8b5cf6,#6366f1);border-color:#8b5cf6;color:#fff}.entities-modal .toggle-btn.select:hover{background:linear-gradient(135deg,#7c3aed,#4f46e5);box-shadow:0 4px 12px #8b5cf64d}.entities-modal .modal-entities-list{display:flex;flex:1 1;flex-direction:column;gap:10px;overflow-y:auto;padding:16px 20px}.entities-modal .entity-checkbox{align-items:center;border:2px solid;border-radius:10px;cursor:pointer;display:flex;gap:10px;padding:12px 14px;transition:all .2s;-webkit-user-select:none;user-select:none}.entities-modal .entity-checkbox:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.entities-modal .entity-checkbox input[type=checkbox]{-webkit-appearance:none;appearance:none;background:#ffffff4d;border:2px solid #fff;border-radius:4px;cursor:pointer;flex-shrink:0;height:18px;position:relative;transition:all .2s;width:18px}.entities-modal .entity-checkbox input[type=checkbox]:hover{background:#ffffff80}.entities-modal .entity-checkbox input[type=checkbox]:checked{background:#fff;border-color:#fff}.entities-modal .entity-checkbox input[type=checkbox]:checked:after{color:#334155;content:"✓";font-size:12px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.entities-modal .checkbox-label{flex:1 1;font-size:14px;font-weight:600;transition:all .2s}.entities-modal .modal-footer{background:linear-gradient(135deg,#fff,#f8fafc);border-top:1px solid #e5e7eb;padding:12px 20px;text-align:right}.entities-modal .apply-filter-btn{background:linear-gradient(135deg,#8b5cf6,#6366f1);border:none;border-radius:8px;box-shadow:0 2px 8px #8b5cf64d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.entities-modal .apply-filter-btn:hover{box-shadow:0 4px 12px #8b5cf666;opacity:.9;transform:translateY(-1px)}.pj-page{min-height:100vh;padding:32px}.pj-loading{color:#64748b;font-size:1rem;height:300px;justify-content:center}.pj-header,.pj-loading{align-items:center;display:flex}.pj-header{flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:24px}.pj-header-left{align-items:baseline;display:flex;gap:12px}.pj-title{color:#1e293b;font-size:28px;font-weight:700;margin:0}.pj-count{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:20px;color:#fff;font-size:14px;font-weight:600;padding:4px 12px}.pj-header-right{display:flex;gap:10px}.pj-btn-new{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s}.pj-btn-new:hover{box-shadow:0 4px 15px #6366f166;transform:translateY(-2px)}.pj-filters{align-items:center;gap:16px;justify-content:space-between;margin-bottom:20px}.pj-filters,.pj-tabs{display:flex;flex-wrap:wrap}.pj-tabs{gap:8px}.pj-tab{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#64748b;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:8px 16px;transition:all .15s}.pj-tab:hover{border-color:#8b5cf6;color:#7c3aed}.pj-tab.active{background:#8b5cf6;border-color:#8b5cf6;color:#fff}.pj-tab-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.pj-tab.active .pj-tab-dot{background:#fffc!important}.pj-tab-count{background:#00000014;border-radius:10px;font-size:12px;padding:1px 7px}.pj-tab.active .pj-tab-count{background:#fff3}.pj-search{background:#fff;border:1px solid #e2e8f0;border-radius:10px;color:#1e293b;font-size:14px;min-width:280px;outline:none;padding:10px 14px;transition:all .2s}.pj-search:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.pj-search::placeholder{color:#94a3b8}.pj-filters-right{gap:10px}.pj-entity-filters,.pj-filters-right{align-items:center;display:flex;flex-wrap:wrap}.pj-entity-filters{gap:6px}.pj-entity-pill{align-items:center;background:#fff;border:1.5px solid #e2e8f0;border-radius:20px;color:#64748b;cursor:pointer;display:flex;font-size:.8rem;font-weight:500;gap:5px;padding:6px 14px;transition:all .15s;white-space:nowrap}.pj-entity-pill:hover{background:#eef2ff;border-color:#a5b4fc;color:#4338ca}.pj-entity-pill.active{background:#eef2ff;border-color:#6366f1;color:#4338ca;font-weight:600}.pj-entity-dot{height:8px;width:8px}.pj-table-wrap{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000000d;overflow:hidden}.pj-table{border-collapse:collapse;font-size:14px;width:100%}.pj-table thead tr{background:#f8fafc}.pj-table th{border-bottom:1px solid #e2e8f0;color:#64748b;font-size:12px;font-weight:600;letter-spacing:.05em;padding:14px 20px;text-align:left;text-transform:uppercase;white-space:nowrap}.pj-table td{border-bottom:1px solid #f1f5f9;color:#1e293b;padding:16px 20px;vertical-align:middle}.pj-table tbody tr{background:#fff;transition:background .1s}.pj-table tbody tr:hover{background:#f8fafc}.pj-table tbody tr:last-child td{border-bottom:none}.pj-empty-val{color:#cbd5e1}.pj-td-projet{min-width:140px}.pj-projet-nom{color:#1e293b;font-size:.9rem;font-weight:600}.pj-projet-erp{color:#94a3b8;font-family:monospace;font-size:.75rem;margin-top:2px}.pj-panel-nom-projet{color:#6366f1;font-size:1rem;font-weight:700;letter-spacing:.01em;margin-top:2px}.pj-td-erp{color:#64748b;font-family:monospace;font-size:13px;font-weight:600}.pj-td-date{color:#94a3b8;font-size:13px;white-space:nowrap}.pj-entity-cell{align-items:flex-start;display:flex;gap:8px}.pj-entity-dot{border-radius:50%;flex-shrink:0;height:10px;margin-top:4px;width:10px}.pj-entity-nom{color:#1e293b;font-weight:600}.pj-agence-nom{color:#64748b;font-size:12px;margin-top:2px}.pj-statut-badge{border:1px solid #0000;border-radius:20px;font-size:12px;padding:4px 10px;white-space:nowrap}.pj-actions{display:flex;gap:6px}.pj-btn-delete,.pj-btn-edit{background:#fff;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;font-size:14px;padding:6px 10px;transition:all .15s}.pj-btn-edit:hover{background:#f5f3ff;border-color:#8b5cf6}.pj-btn-delete:hover{background:#fef2f2;border-color:#fca5a5}.pj-empty{background:#fff;color:#94a3b8;font-size:15px;padding:60px;text-align:center}.pj-overlay{align-items:stretch;animation:pj-overlay-in .22s ease-out;background:#0f172a66;display:flex;inset:0;justify-content:flex-end;position:fixed;z-index:1000}@keyframes pj-overlay-in{0%{background:#0f172a00}to{background:#0f172a66}}.pj-panel{animation:pj-slide-in .25s cubic-bezier(.16,1,.3,1);background:#fff;box-shadow:-4px 0 32px #0000001f;display:flex;flex-direction:column;overflow:hidden;width:min(780px,100vw)}@keyframes pj-slide-in{0%{opacity:.6;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.pj-panel-header{background:#fff;border-bottom:1px solid #e2e8f0;display:flex;flex-direction:column;flex-shrink:0;gap:10px;padding:20px 24px 16px}.pj-panel-header h2{color:#1e293b;font-size:18px;font-weight:700;margin:0}.pj-panel-close{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:1.5rem;line-height:1;padding:4px;transition:color .15s}.pj-panel-close:hover{color:#1e293b}.pj-stepper{background:#f8fafc;border-bottom:1px solid #e2e8f0;gap:2px;padding:10px 24px}.pj-step,.pj-stepper{align-items:center;display:flex;flex-shrink:0}.pj-step{background:none;border:1px solid #0000;border-radius:8px;color:#94a3b8;cursor:pointer;font-size:12px;font-weight:500;gap:5px;padding:5px 8px;transition:all .15s;white-space:nowrap}.pj-step:hover{background:#fff;color:#64748b}.pj-step.active{background:#fff;border-color:#6366f1;box-shadow:0 1px 4px #6366f126;color:#6366f1}.pj-step-num{align-items:center;background:#e2e8f0;border-radius:50%;color:#64748b;display:flex;flex-shrink:0;font-size:10px;font-weight:700;height:20px;justify-content:center;width:20px}.pj-step.active .pj-step-num{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.pj-step-label{font-size:11px;font-weight:600;max-width:0;opacity:0;overflow:hidden;transition:max-width .2s ease,opacity .15s ease}.pj-step.active .pj-step-label,.pj-step:hover .pj-step-label{max-width:120px;opacity:1}.pj-panel-body{background:#fff;display:flex;flex:1 1;flex-direction:column;overflow-y:auto}.pj-form-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:14px;margin:16px 24px 0;padding:10px 14px}.pj-section{flex:1 1;overflow-y:auto;padding:28px 32px}.pj-section-title{align-items:center;border-bottom:2px solid #ede9fe;color:#6366f1;display:flex;font-size:11px;font-weight:700;gap:8px;letter-spacing:.08em;margin-bottom:22px;padding-bottom:10px;text-transform:uppercase}.pj-form-group{margin-bottom:18px}.pj-form-group label{align-items:center;color:#94a3b8;display:flex;font-size:11px;font-weight:700;gap:8px;letter-spacing:.06em;margin-bottom:7px;text-transform:uppercase}.pj-form-group input,.pj-form-group select{background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:10px;box-sizing:border-box;color:#1e293b;font-size:14px;outline:none;padding:11px 14px;transition:all .2s;width:100%}.pj-form-group input:focus,.pj-form-group select:focus{background:#fff;border-color:#6366f1;box-shadow:0 0 0 3px #6366f114}.pj-form-group select:disabled{background:#f1f5f9;cursor:not-allowed;opacity:.45}.pj-form-group input::placeholder{color:#cbd5e1;font-style:italic}.pj-form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.pj-form-row .pj-form-group{margin-bottom:0}.pj-statut-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}.pj-statut-btn{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#64748b;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 14px;transition:all .15s}.pj-statut-btn:hover{background:#fafafa;border-color:var(--statut-color)}.pj-statut-btn.selected{background:color-mix(in srgb,var(--statut-color) 8%,#fff);border-color:var(--statut-color);color:var(--statut-color)}.pj-statut-dot{border-radius:50%;flex-shrink:0;height:10px;width:10px}.pj-provenance-grid{display:flex;flex-wrap:wrap;gap:7px}.pj-prov-btn{background:#fff;border:2px solid #e5e7eb;border-radius:20px;color:#64748b;cursor:pointer;font-size:13px;font-weight:600;padding:7px 14px;transition:all .15s}.pj-prov-btn.selected,.pj-prov-btn:hover{border-color:#8b5cf6;color:#7c3aed}.pj-prov-btn.selected{background:#f5f3ff}.pj-panel-footer{align-items:center;background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;flex-shrink:0;justify-content:space-between;padding:16px 32px}.pj-footer-right{align-items:center;display:flex;gap:10px}.pj-btn-prev{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;font-size:14px;font-weight:600;padding:10px 18px;transition:all .15s}.pj-btn-prev:hover:not(:disabled){border-color:#8b5cf6;color:#7c3aed}.pj-btn-prev:disabled{cursor:not-allowed;opacity:.35}.pj-btn-next{background:#e2e8f0;border:none;border-radius:8px;color:#1e293b;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .15s}.pj-btn-next:hover{background:#cbd5e1}.pj-btn-save{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .2s}.pj-btn-save:hover:not(:disabled){box-shadow:0 4px 12px #6366f159;transform:translateY(-1px)}.pj-btn-save:disabled{cursor:not-allowed;opacity:.55}.pj-row-clickable{cursor:pointer;transition:background .12s}.pj-row-clickable:hover{background:#f8fafc}.pj-detail-panel .pj-detail-title{color:#1e293b;font-size:1.25rem;font-weight:700;margin:0 0 6px}.pj-detail-meta{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.pj-detail-erp{background:#f1f5f9;border-radius:6px;font-family:monospace;padding:2px 8px}.pj-detail-date,.pj-detail-erp{color:#94a3b8;font-size:.78rem}.pj-detail-body{gap:0;padding:0}.pj-detail-section{border-bottom:1px solid #f1f5f9;padding:20px 32px}.pj-detail-section:last-child{border-bottom:none}.pj-detail-section-title{border-bottom:2px solid #ede9fe;color:#6366f1;font-size:12px;font-weight:700;letter-spacing:.06em;margin-bottom:14px;padding-bottom:8px;text-transform:uppercase}.pj-detail-grid{grid-gap:10px 24px;display:grid;gap:10px 24px;grid-template-columns:1fr 1fr}.pj-detail-row{display:flex;flex-direction:column;gap:2px}.pj-detail-label{color:#94a3b8;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.pj-detail-value{color:#1e293b;font-size:.9rem;font-weight:500}.pj-btn-delete-outline{background:#fff;border:1px solid #fca5a5;border-radius:8px;color:#ef4444;cursor:pointer;font-size:.875rem;font-weight:500;padding:10px 18px;transition:background .15s,color .15s}.pj-btn-delete-outline:hover{background:#fef2f2}.pj-row-incomplete{border-left:3px solid #f59e0b;border-left:3px solid var(--completion-color,#f59e0b)}.pj-row-complete{border-left:3px solid #22c55e}.pj-row-complete td:first-child,.pj-row-incomplete td:first-child{padding-left:10px}.pj-row-completion{display:flex;flex-direction:column;gap:4px;min-width:90px}.pj-completion-bar-wrap{background:#f1f5f9;border-radius:99px;height:5px;overflow:hidden}.pj-completion-bar-fill{border-radius:99px;height:100%;transition:width .4s ease}.pj-completion-pct{font-size:.75rem;font-weight:600;letter-spacing:.02em}.pj-panel-header-top{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.pj-fc-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.pj-fc-label{font-size:.78rem;font-weight:500}.pj-fc-pct{font-size:.85rem;font-weight:700}.pj-fc-bar-wrap{background:#e2e8f0;border-radius:99px;height:6px;overflow:hidden}.pj-fc-bar-fill{border-radius:99px;height:100%;transition:width .35s ease,background .35s ease}.pj-mat-summary-badge{background:#ede9fe;border-radius:20px;color:#6366f1;font-size:11px;font-weight:600;letter-spacing:0;padding:2px 10px;text-transform:none}.pj-mat-add-row{align-items:flex-start;display:flex;gap:10px;margin-bottom:20px}.pj-mat-add-search{flex:1 1}.pj-mat-add-qty{flex-shrink:0;width:80px}.pj-mat-add-qty input{background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:10px;box-sizing:border-box;color:#1e293b;font-size:14px;outline:none;padding:11px 10px;text-align:center;transition:border-color .2s;width:100%}.pj-mat-add-qty input:focus{background:#fff;border-color:#6366f1}.pj-mat-add-btn{background:#6366f1;border:none;border-radius:10px;color:#fff;cursor:pointer;flex-shrink:0;font-size:13px;font-weight:600;padding:11px 18px;transition:background .15s;white-space:nowrap}.pj-mat-add-btn:hover:not(:disabled){background:#4f46e5}.pj-mat-add-btn:disabled{cursor:not-allowed;opacity:.4}.pj-mat-empty{color:#94a3b8;padding:32px 20px;text-align:center}.pj-mat-empty-icon{display:block;font-size:32px;margin-bottom:10px}.pj-mat-empty p{font-size:14px;margin:4px 0}.pj-mat-empty-hint{color:#cbd5e1!important;font-size:12px!important;line-height:1.5;margin:8px auto 0!important;max-width:320px}.pj-mat-list{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.pj-mat-item{align-items:center;background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;display:flex;justify-content:space-between;padding:12px 14px;transition:border-color .15s}.pj-mat-item:hover{border-color:#c7d2fe}.pj-mat-item-info{align-items:center;display:flex;flex:1 1;gap:8px;min-width:0}.pj-mat-item-icon{flex-shrink:0;font-size:16px}.pj-mat-item-nom{color:#1e293b;font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pj-mat-item-saved{background:#d1fae5;border-radius:4px;color:#10b981;flex-shrink:0;font-size:11px;padding:1px 6px}.pj-mat-item-actions{align-items:center;display:flex;flex-shrink:0;gap:10px}.pj-mat-qty-wrap{align-items:center;border:1.5px solid #e2e8f0;border-radius:8px;display:flex;overflow:hidden}.pj-mat-qty-btn{background:#f8fafc;border:none;color:#475569;cursor:pointer;font-size:16px;line-height:1;padding:5px 10px;transition:background .1s}.pj-mat-qty-btn:hover:not(:disabled){background:#e2e8f0}.pj-mat-qty-btn:disabled{cursor:not-allowed;opacity:.3}.pj-mat-qty-input{background:#fff;border:none;color:#1e293b;font-size:14px;font-weight:600;outline:none;padding:5px 0;text-align:center;width:48px}.pj-mat-remove-btn{background:none;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;font-size:14px;padding:4px 6px;transition:all .15s}.pj-mat-remove-btn:hover{background:#fee2e2;color:#dc2626}.pj-mat-info-box{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;color:#64748b;font-size:12px;line-height:1.5;padding:10px 14px}.pj-mat-badge{display:block;font-size:11px;font-weight:500;margin-top:4px}.pj-detail-mat-list{display:flex;flex-direction:column;gap:6px}.pj-detail-mat-item{align-items:center;background:#f8fafc;border-radius:8px;display:flex;gap:12px;justify-content:space-between;padding:8px 12px}.pj-detail-mat-nom{color:#1e293b;flex:1 1;font-size:13px;font-weight:500}.pj-detail-mat-qty{color:#475569;font-size:13px;font-weight:600;white-space:nowrap}.pj-detail-mat-statut{border-radius:4px;font-size:11px;font-weight:600;padding:2px 8px;white-space:nowrap}.pj-mat-statut-fictive{background:#f1f5f9;color:#64748b}.pj-detail-prest-list{display:flex;flex-direction:column;gap:8px}.pj-detail-prest-item{background:#f8fafc;border-left:3px solid #6366f1;border-radius:8px;display:flex;flex-direction:column;gap:4px;padding:10px 14px}.pj-detail-prest-main{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.pj-detail-prest-nom{color:#1e293b;font-size:13px;font-weight:600}.pj-detail-prest-type{background:#e0e7ff;border-radius:4px;color:#4f46e5;font-size:11px;font-weight:600;padding:2px 7px}.pj-detail-prest-contact{color:#475569;font-size:12px}.pj-detail-prest-fonction{color:#94a3b8;font-style:italic}.pj-detail-prest-note{border-top:1px solid #e2e8f0;color:#64748b;font-size:12px;font-style:italic;margin-top:2px;padding-top:2px}.pj-salon-label{align-items:center;display:flex;justify-content:space-between;width:100%}.pj-btn-toggle-past{background:#0000;border:1px solid #e2e8f0;border-radius:20px;color:#94a3b8;cursor:pointer;font-size:.68rem;font-weight:600;letter-spacing:0;padding:2px 10px;text-transform:none;transition:all .15s;white-space:nowrap}.pj-btn-toggle-past:hover{background:#f1f5f9;border-color:#cbd5e1;color:#475569}.pj-btn-toggle-past.active{background:#fef9c3;border-color:#fde68a;color:#92400e}.pj-phases-list{display:flex;flex-direction:column;gap:8px}.pj-phase-card{background:#f8fafc;border:1.5px solid #e2e8f0;border-left-width:4px;border-left:4px solid var(--phase-color,#e2e8f0);border-radius:10px;overflow:visible;position:relative;transition:border-color .2s,box-shadow .2s,background .2s}.pj-phase-card.pj-phase-card-filled{background:#fff;border-color:color-mix(in srgb,#6366f1 30%,#e2e8f0);border-color:color-mix(in srgb,var(--phase-color,#6366f1) 30%,#e2e8f0);border-left-color:#6366f1;border-left-color:var(--phase-color,#6366f1);box-shadow:0 1px 4px #0000000f}.pj-phase-card.pj-phase-card-salon{background:#f8fafc}.pj-phase-card.pj-phase-card-salon.pj-phase-card-filled{background:#fff}.pj-phase-card-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:12px 16px;-webkit-user-select:none;user-select:none}.pj-phase-card-header:hover{background:color-mix(in srgb,#6366f1 5%,#0000);background:color-mix(in srgb,var(--phase-color,#6366f1) 5%,#0000);border-radius:8px}.pj-phase-card-label{align-items:center;display:flex;gap:8px}.pj-phase-icon{font-size:16px}.pj-phase-name{color:#374151;font-size:13px;font-weight:600}.pj-phase-salon-badge{background:#ede9fe;border-radius:4px;color:#7c3aed;font-size:10px;font-weight:600;padding:1px 6px}.pj-phase-dates-display{align-items:center;display:flex;gap:8px}.pj-phase-date-value{color:#1e293b;font-size:13px;font-weight:500}.pj-phase-arrow{color:#6366f1;color:var(--phase-color,#6366f1);font-weight:700}.pj-phase-date-placeholder{color:#94a3b8;font-size:12px;font-style:italic}.pj-phase-chevron{color:#94a3b8;display:inline-block;font-size:14px;transition:transform .2s}.pj-phase-chevron.open{color:#6366f1;color:var(--phase-color,#6366f1);transform:rotate(180deg)}.pj-phase-picker-popover{background:#fff;border-radius:0 0 12px 12px;border-top:1.5px solid #e2e8f0;padding:16px}.pj-phase-times{border-top:1px solid #f1f5f9;display:flex;gap:12px;margin-top:14px;padding-top:14px}.pj-phase-time-group{flex:1 1}.pj-phase-time-group label{color:#64748b;display:block;font-size:11px;font-weight:600;letter-spacing:.05em;margin-bottom:6px;text-transform:uppercase}.pj-phase-time-group input[type=time]{background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:8px;box-sizing:border-box;color:#1e293b;font-size:14px;outline:none;padding:9px 12px;transition:border-color .2s;width:100%}.pj-phase-time-group input[type=time]:focus{background:#fff;border-color:#6366f1}.pj-phase-time-group input[type=time]:disabled{cursor:not-allowed;opacity:.4}.pj-phase-picker-footer{border-top:1px solid #f1f5f9;display:flex;justify-content:space-between;margin-top:14px;padding-top:12px}.pj-phase-clear-btn{background:none;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;transition:all .15s}.pj-phase-clear-btn:hover{background:#fee2e2;color:#dc2626}.pj-phase-confirm-btn{background:#6366f1;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:7px 20px;transition:background .15s}.pj-phase-confirm-btn:hover{background:#4f46e5}.pj-datepicker-cal{background:#0000!important;border:none!important;box-shadow:none!important;font-family:inherit!important}.pj-datepicker-cal .react-datepicker__header{background:#fff!important;border-bottom:1px solid #f1f5f9!important;padding-top:12px!important}.pj-datepicker-cal .react-datepicker__current-month{color:#1e293b!important;font-size:14px!important;font-weight:600!important}.pj-datepicker-cal .react-datepicker__day-name{color:#94a3b8!important;font-size:11px!important;font-weight:600!important;text-transform:uppercase!important}.pj-datepicker-cal .react-datepicker__day{border-radius:50%!important;color:#374151!important;font-size:13px!important;transition:all .1s!important}.pj-datepicker-cal .react-datepicker__day:hover{background:color-mix(in srgb,#6366f1 15%,#fff)!important;background:color-mix(in srgb,var(--phase-color,#6366f1) 15%,#fff)!important;color:#6366f1!important;color:var(--phase-color,#6366f1)!important}.pj-datepicker-cal .react-datepicker__day--range-end,.pj-datepicker-cal .react-datepicker__day--range-start,.pj-datepicker-cal .react-datepicker__day--selected{background:#6366f1!important;background:var(--phase-color,#6366f1)!important;border-radius:50%!important;color:#fff!important}.pj-datepicker-cal .react-datepicker__day--in-range{background:color-mix(in srgb,#6366f1 12%,#fff)!important;background:color-mix(in srgb,var(--phase-color,#6366f1) 12%,#fff)!important;border-radius:0!important;color:#4f46e5!important;color:var(--phase-color,#4f46e5)!important}.pj-datepicker-cal .react-datepicker__day--in-selecting-range{background:color-mix(in srgb,#6366f1 20%,#fff)!important;background:color-mix(in srgb,var(--phase-color,#6366f1) 20%,#fff)!important;border-radius:0!important;color:#4f46e5!important;color:var(--phase-color,#4f46e5)!important}.pj-datepicker-cal .react-datepicker__day--range-start{border-radius:50% 0 0 50%!important}.pj-datepicker-cal .react-datepicker__day--range-end{border-radius:0 50% 50% 0!important}.pj-datepicker-cal .react-datepicker__navigation-icon:before{border-color:#6366f1!important;border-color:var(--phase-color,#6366f1)!important}.pj-datepicker-cal .react-datepicker__day--outside-month{color:#cbd5e1!important}.pj-datepicker-cal .pj-cal-salon-bg{background:#ede9fe!important;border-radius:0!important;color:#4f46e5!important}.pj-phase-picker-legend{border-top:1px solid #f1f5f9;display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:10px;padding-top:10px}.pj-picker-legend-item{align-items:center;color:#475569;display:flex;font-size:11px;gap:5px;white-space:nowrap}.pj-picker-legend-dot{border-radius:3px;flex-shrink:0;height:10px;width:10px}.pj-picker-legend-dot-salon{background:#ede9fe;border:1.5px solid #a78bfa}.pj-datepicker-cal .pj-cal-phase-preparation{background:#f9731626!important;border-radius:0!important}.pj-datepicker-cal .pj-cal-phase-transportAller{background:#eab3082e!important;border-radius:0!important}.pj-datepicker-cal .pj-cal-phase-montage{background:#6366f121!important;border-radius:0!important}.pj-datepicker-cal .pj-cal-phase-remiseClient{background:#ec489926!important;border-radius:0!important}.pj-datepicker-cal .pj-cal-phase-exploitation{background:#22c55e26!important;border-radius:0!important}.pj-datepicker-cal .pj-cal-phase-demontage{background:#ef444421!important;border-radius:0!important}.pj-datepicker-cal .pj-cal-phase-transportRetour{background:#06b6d426!important;border-radius:0!important}.pj-dates-header{align-items:center;border-top:1px solid #f1f5f9;display:flex;justify-content:space-between;margin:24px 0 12px;padding-top:20px}.pj-btn-autofill{background:#eef2ff;border:1px solid #c7d2fe;border-radius:6px;color:#6366f1;cursor:pointer;font-size:.78rem;font-weight:600;padding:5px 12px;transition:background .15s;white-space:nowrap}.pj-btn-autofill:hover{background:#e0e7ff}.pj-dates-hint{color:#94a3b8;font-size:.8rem;font-style:italic;margin:4px 0 16px}.pj-dates-grid{display:flex;flex-direction:column;gap:16px}.pj-dates-phase{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px 16px}.pj-dates-phase-label{align-items:center;color:#475569;display:flex;font-size:.78rem;font-weight:700;gap:6px;letter-spacing:.05em;margin-bottom:10px;text-transform:uppercase}.pj-dates-phase-salon{background:#f5f3ff;border-color:#c7d2fe}.pj-dates-phase-salon .pj-dates-phase-label{color:#6366f1}.pj-dates-auto-badge{background:#e0e7ff;border-radius:4px;color:#6366f1;font-size:.68rem;font-weight:600;letter-spacing:0;padding:1px 5px;text-transform:none}.pj-detail-dates{display:flex;flex-direction:column;gap:10px}.pj-detail-phase{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:12px;padding:8px 12px}.pj-detail-phase-label{color:#6366f1;font-size:.78rem;font-weight:700;letter-spacing:.04em;min-width:110px;text-transform:uppercase}.pj-detail-phase-dates{color:#1e293b;font-size:.875rem;font-weight:500}.pj-ac-wrap{position:relative;width:100%}.pj-ac-input-row{align-items:center;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:10px;display:flex;overflow:hidden;transition:border-color .2s,box-shadow .2s,background .2s}.pj-ac-input-row:focus-within{background:#fff;border-color:#6366f1;box-shadow:0 0 0 3px #6366f114}.pj-ac-input-row.disabled{background:#f1f5f9;cursor:not-allowed;opacity:.6}.pj-ac-input{background:#0000;border:none!important;box-shadow:none!important;color:#1e293b;flex:1 1;font-size:14px;min-width:0;outline:none!important;padding:11px 14px}.pj-ac-input::placeholder{color:#cbd5e1;font-style:italic}.pj-ac-input:disabled{color:#94a3b8;cursor:not-allowed}.pj-ac-clear{background:none;border:none;color:#94a3b8;cursor:pointer;flex-shrink:0;font-size:1.1rem;line-height:1;padding:0 8px;transition:color .15s}.pj-ac-clear:hover{color:#ef4444}.pj-ac-arrow{color:#94a3b8;flex-shrink:0;font-size:.75rem;padding:0 10px 0 2px;pointer-events:none;-webkit-user-select:none;user-select:none}.pj-ac-dropdown{background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;box-shadow:0 8px 24px #0000001a;left:0;list-style:none;margin:0;max-height:220px;overflow-y:auto;padding:4px;position:absolute;right:0;top:calc(100% + 4px);z-index:1000}.pj-ac-item{align-items:center;border-radius:6px;color:#374151;cursor:pointer;display:flex;font-size:.875rem;gap:8px;justify-content:space-between;padding:8px 12px;transition:background .12s}.pj-ac-item:hover{background:#f1f5f9;color:#6366f1}.pj-ac-item.selected{background:#eef2ff;color:#6366f1;font-weight:500}.pj-ac-item-label{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pj-ac-item-sub{background:#f1f5f9;border-radius:10px;color:#94a3b8;flex-shrink:0;font-size:.75rem;padding:2px 7px;white-space:nowrap}.pj-ac-item.selected .pj-ac-item-sub,.pj-ac-item:hover .pj-ac-item-sub{background:#e0e7ff;color:#6366f1}.pj-label-hint{color:#94a3b8;font-size:.75rem;font-weight:400;margin-left:4px}.pj-required{font-weight:600;margin-left:2px}.pj-field-error>label,.pj-required{color:#ef4444}.pj-field-error .pj-ac-input-row{animation:pj-shake .35s ease;background:#fff5f5;border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.pj-field-error input[type=number],.pj-field-error input[type=text]{animation:pj-shake .35s ease;background:#fff5f5;border-color:#ef4444!important;box-shadow:0 0 0 3px #ef44441a}.pj-field-msg{color:#ef4444;display:block;font-size:.72rem;font-weight:500;margin-top:4px}@keyframes pj-shake{0%,to{transform:translateX(0)}20%{transform:translateX(-4px)}40%{transform:translateX(4px)}60%{transform:translateX(-3px)}80%{transform:translateX(3px)}}.pj-step.pj-step-complete .pj-step-num{background:#22c55e;color:#fff}.pj-step.pj-step-complete .pj-step-label{color:#16a34a;font-weight:600}.pj-step.pj-step-partial .pj-step-num{background:#f59e0b;color:#fff}.pj-step.pj-step-partial .pj-step-label{color:#d97706;font-weight:500}.pj-step.pj-step-error .pj-step-num{animation:pj-pulse-err 1.5s ease-in-out infinite;background:#ef4444;color:#fff}.pj-step.pj-step-error .pj-step-label{color:#ef4444;font-weight:600}.pj-step.active.pj-step-complete .pj-step-num{box-shadow:0 0 0 3px #22c55e40}.pj-step.active.pj-step-partial .pj-step-num{box-shadow:0 0 0 3px #f59e0b40}.pj-step.active.pj-step-error .pj-step-num{box-shadow:0 0 0 3px #ef444440}.pj-step.active.pj-step-empty .pj-step-num{box-shadow:0 0 0 3px #6366f140}@keyframes pj-pulse-err{0%,to{box-shadow:0 0 0 0 #ef444473}50%{box-shadow:0 0 0 5px #ef444400}}.pj-ac-empty{background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;box-shadow:0 8px 24px #0000001a;color:#94a3b8;font-size:.875rem;left:0;padding:12px;position:absolute;right:0;text-align:center;top:calc(100% + 4px);z-index:1000}@media (max-width:768px){.pj-page{padding:16px}.pj-resume-banner{margin:-16px -16px 20px;padding:12px 16px}.pj-form-row{grid-template-columns:1fr}.pj-statut-grid{grid-template-columns:1fr 1fr}.pj-panel{width:100vw}.pj-filters{align-items:stretch;flex-direction:column}.pj-search{min-width:0;min-width:auto}}.pj-statut-client-row{align-items:center;background:#f8f9ff;border:1px solid #e0e7ff;border-radius:7px;display:flex;gap:8px;margin-top:6px;padding:7px 10px}.pj-statut-client-label{color:#6366f1;flex-shrink:0;font-size:.75rem;font-weight:600;white-space:nowrap}.pj-statut-client-row .pj-autocomplete-wrapper{flex:1 1}.pj-statut-badge{background:#ede9fe;border-radius:10px;color:#6d28d9;display:inline-block;font-size:.72rem;font-weight:600;margin-left:8px;padding:2px 8px;vertical-align:middle}.pj-client-preview{animation:pj-preview-in .15s ease-out;background:#f0f4ff;border:1.5px solid #c7d2fe;border-radius:8px;display:flex;flex-direction:column;gap:3px;margin-top:6px;padding:10px 12px}@keyframes pj-preview-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.pj-client-preview-name{color:#3730a3;font-size:.88rem;font-weight:700}.pj-client-preview-row{color:#4338ca;font-size:.78rem;opacity:.85}.pj-create-new-btn{align-items:center;background:none;border:none;color:#6366f1;cursor:pointer;display:inline-flex;font-size:.78rem;font-weight:600;gap:4px;letter-spacing:.01em;line-height:1.4;margin-top:5px;padding:0;text-decoration:none;transition:color .15s,-webkit-text-decoration .15s;transition:color .15s,text-decoration .15s;transition:color .15s,text-decoration .15s,-webkit-text-decoration .15s}.pj-create-new-btn:hover{color:#4f46e5;text-decoration:underline}.qc-salon-wide{max-width:680px!important;overflow:visible!important;width:95vw!important}.qc-salon-wide .admin-dialog-body{overflow:visible}.qc-salon-infos{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:flex;flex-direction:column;gap:12px;margin-bottom:20px;padding:16px}.qc-salon-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.qc-salon-periods-title{color:#475569;font-size:.85rem;font-weight:700;letter-spacing:.05em;margin-bottom:10px;text-transform:uppercase}.pj-prest-empty{color:#94a3b8;font-size:.875rem;font-style:italic;padding:12px 0}.pj-prest-row{align-items:flex-start;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;display:flex;gap:12px;margin-bottom:10px;padding:14px}.pj-prest-info{flex:1 1;min-width:0}.pj-prest-name{align-items:center;color:#1e293b;display:flex;font-size:.9rem;gap:8px}.pj-prest-type{background:#e0e7ff;border-radius:999px;color:#4338ca;font-size:.72rem;font-weight:600;padding:2px 8px}.pj-prest-contact{color:#64748b;font-size:.8rem;margin-top:4px}.pj-prest-note-wrap{flex:1 1}.pj-prest-note{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-sizing:border-box;color:#334155;font-family:inherit;font-size:.82rem;min-height:52px;outline:none;padding:8px 10px;resize:vertical;transition:border-color .15s;width:100%}.pj-prest-note:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.pj-prest-remove{align-items:center;background:#fff0f0;border:1px solid #fecaca;border-radius:6px;color:#ef4444;cursor:pointer;display:flex;flex-shrink:0;font-size:.75rem;height:28px;justify-content:center;transition:background .15s;width:28px}.pj-prest-remove:hover{background:#fee2e2}.pj-prest-add-form{background:#f0f4ff;border:1.5px dashed #a5b4fc;border-radius:10px;display:flex;flex-direction:column;gap:10px;padding:16px}.pj-prest-field-label{color:#64748b;font-size:.75rem;font-weight:700;letter-spacing:.05em;margin-top:4px;text-transform:uppercase}.pj-prest-input{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-sizing:border-box;color:#1e293b;font-family:inherit;font-size:.875rem;outline:none;padding:9px 12px;transition:border-color .15s;width:100%}.pj-prest-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.pj-prest-select{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-sizing:border-box;color:#1e293b;cursor:pointer;font-size:.875rem;outline:none;padding:6px 10px;width:100%}.pj-prest-select[size]{height:auto;overflow-y:auto}.pj-prest-select option{padding:6px 10px}.pj-prest-add-actions{display:flex;gap:8px}.pj-prest-btn-confirm{background:#6366f1;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:8px 18px;transition:background .15s}.pj-prest-btn-confirm:hover{background:#4f46e5}.pj-prest-btn-confirm:disabled{background:#a5b4fc;cursor:not-allowed}.pj-prest-btn-cancel{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;font-size:.875rem;font-weight:600;padding:8px 18px}.pj-prest-btn-cancel:hover{background:#e2e8f0}.pj-prest-btn-add{background:none;border:1.5px dashed #c7d2fe;border-radius:8px;color:#6366f1;cursor:pointer;font-size:.875rem;font-weight:600;padding:10px 16px;transition:background .15s,border-color .15s;width:100%}.pj-prest-btn-add:hover{background:#f0f4ff;border-color:#6366f1}.pj-resume-banner{align-items:center;background:#f0fdf4;border-bottom:2px solid #22c55e;border-top:none;color:#166534;display:flex;flex-wrap:wrap;font-size:.875rem;gap:16px;justify-content:space-between;margin:-32px -32px 28px;padding:14px 32px}.pj-resume-actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.pj-resume-btn{background:#22c55e;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:700;padding:8px 18px;transition:background .15s;white-space:nowrap}.pj-resume-btn:hover{background:#16a34a}.pj-resume-dismiss{align-items:center;background:#0000;border:1px solid #86efac;border-radius:6px;color:#166534;cursor:pointer;display:flex;font-size:.8rem;height:28px;justify-content:center;transition:background .15s;width:28px}.pj-resume-dismiss:hover{background:#dcfce7}.pp-page{min-height:100vh;padding:32px}.pp-loading{align-items:center;color:#64748b;display:flex;height:200px;justify-content:center}.pp-header{margin-bottom:28px}.pp-header-left{align-items:flex-start;display:flex;gap:16px}.pp-back-btn{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;font-size:13px;font-weight:600;margin-top:6px;padding:8px 16px;transition:all .15s;white-space:nowrap}.pp-back-btn:hover{background:#f5f3ff;border-color:#8b5cf6;color:#7c3aed}.pp-title{color:#1e293b;font-size:28px;font-weight:700;margin:0 0 6px}.pp-subtitle{color:#64748b;font-size:14px;margin:0}.pp-layout{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:220px 1fr}.pp-sidebar{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 1px 3px #0000000d;overflow:hidden;position:-webkit-sticky;position:sticky;top:20px}.pp-sidebar-item{align-items:center;background:none;border:none;border-bottom:1px solid #f1f5f9;color:#64748b;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:10px;padding:11px 16px;text-align:left;transition:all .12s;width:100%}.pp-sidebar-item:last-child{border-bottom:none}.pp-sidebar-item:hover{background:#f8fafc;color:#1e293b}.pp-sidebar-item.active{background:#f5f3ff;border-left:3px solid #8b5cf6;color:#7c3aed;font-weight:700;padding-left:13px}.pp-sidebar-icon{flex-shrink:0;font-size:1rem}.pp-sidebar-label{flex:1 1}.pp-sidebar-count{background:#f1f5f9;border-radius:10px;color:#94a3b8;flex-shrink:0;font-size:11px;font-weight:600;padding:1px 7px}.pp-sidebar-item.active .pp-sidebar-count{background:#ede9fe;color:#7c3aed}.pp-content{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 1px 3px #0000000d;overflow:hidden}.pp-table-manager{min-height:400px}.pp-tm-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;padding:16px 20px}.pp-tm-header,.pp-tm-title{align-items:center;display:flex;gap:10px}.pp-tm-title{color:#1e293b;font-size:16px;font-weight:700}.pp-tm-icon{font-size:1.25rem}.pp-tm-count{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:10px;color:#fff;font-size:12px;font-weight:600;padding:2px 9px}.pp-tm-actions{align-items:center;display:flex;gap:10px}.pp-tm-search{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#1e293b;font-size:13px;outline:none;padding:8px 12px;transition:all .2s;width:180px}.pp-tm-search:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.pp-tm-search::placeholder{color:#94a3b8}.pp-btn-add{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:9px 18px;transition:all .2s;white-space:nowrap}.pp-btn-add:hover{box-shadow:0 4px 12px #6366f159;transform:translateY(-1px)}.pp-tm-list{padding:4px 0}.pp-tm-row{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;gap:12px;padding:12px 20px;transition:background .1s}.pp-tm-row:last-child{border-bottom:none}.pp-tm-row:hover{background:#f8fafc}.pp-tm-row.inactive{background:#f8f8f8;border-left:3px solid #e2e8f0}.pp-tm-row.inactive .pp-tm-nom{color:#94a3b8;text-decoration:line-through}.pp-tm-row.inactive .pp-tm-desc,.pp-tm-row.inactive .pp-tm-ordre{color:#cbd5e1}.pp-badge-inactive{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:10px;color:#94a3b8;display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.03em;margin-left:8px;padding:1px 7px;text-decoration:none;text-transform:uppercase;vertical-align:middle}.pp-tm-row-drag{flex-shrink:0;text-align:center;width:28px}.pp-tm-ordre{color:#cbd5e1;font-size:12px;font-weight:600}.pp-tm-row-info{flex:1 1;min-width:0}.pp-tm-nom{color:#1e293b;display:block;font-size:14px;font-weight:600}.pp-tm-desc{color:#64748b;display:block;font-size:12px;margin-top:2px;max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-tm-row-actions{align-items:center;display:flex;flex-shrink:0;gap:6px}.pp-toggle{background:#fff1f2;border:1.5px solid #fecaca;border-radius:12px;color:#dc2626;cursor:pointer;font-size:12px;font-weight:600;padding:4px 12px;transition:all .15s}.pp-toggle.on{background:#f0fdf4;border-color:#bbf7d0;color:#16a34a}.pp-toggle:hover{filter:brightness(.95)}.pp-btn-delete,.pp-btn-edit{background:#fff;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;font-size:14px;padding:6px 10px;transition:all .15s}.pp-btn-edit:hover{background:#f5f3ff;border-color:#8b5cf6}.pp-btn-delete:hover{background:#fef2f2;border-color:#fca5a5}.pp-btn-delete:disabled{cursor:not-allowed;opacity:.5}.pp-tm-empty{color:#94a3b8;font-size:15px;padding:60px;text-align:center}.pp-link-btn{background:none;border:none;color:#6366f1;cursor:pointer;font-size:inherit;font-weight:600;padding:0;text-decoration:underline}.pp-modal-overlay{align-items:center;background:#0f172a66;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.pp-modal{background:#fff;border-radius:16px;box-shadow:0 8px 32px #00000026;overflow:hidden;width:min(480px,100%)}.pp-modal-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:16px 20px}.pp-modal-header h3{color:#1e293b;font-size:15px;font-weight:700;margin:0}.pp-modal-close{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:1.5rem;line-height:1;padding:4px;transition:color .15s}.pp-modal-close:hover{color:#1e293b}.pp-modal-body{padding:20px}.pp-form-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:13px;padding:10px 14px}.pp-form-error,.pp-form-group{margin-bottom:16px}.pp-form-group label{color:#64748b;display:block;font-size:12px;font-weight:600;letter-spacing:.04em;margin-bottom:6px;text-transform:uppercase}.pp-form-group input,.pp-form-group textarea{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-sizing:border-box;color:#1e293b;font-family:inherit;font-size:14px;outline:none;padding:10px 12px;resize:vertical;transition:all .2s;width:100%}.pp-form-group input:focus,.pp-form-group textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.pp-form-group input::placeholder,.pp-form-group textarea::placeholder{color:#94a3b8}.pp-form-row{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr}.pp-form-row .pp-form-group{margin-bottom:0}.pp-form-toggle-group{display:flex;flex-direction:column}.pp-toggle-big{background:#fff1f2;border:2px solid #fecaca;border-radius:8px;color:#dc2626;cursor:pointer;font-size:14px;font-weight:600;padding:10px 16px;text-align:center;transition:all .15s}.pp-toggle-big.on{background:#f0fdf4;border-color:#bbf7d0;color:#16a34a}.pp-modal-footer{border-top:1px solid #e2e8f0;display:flex;gap:10px;justify-content:flex-end;margin-top:8px;padding-top:16px}.pp-btn-cancel{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;font-size:14px;font-weight:600;padding:10px 18px;transition:all .15s}.pp-btn-cancel:hover{background:#f8fafc;border-color:#cbd5e1}.pp-btn-save{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;padding:10px 22px;transition:all .2s}.pp-btn-save:hover:not(:disabled){box-shadow:0 4px 12px #6366f159;transform:translateY(-1px)}.pp-btn-save:disabled{cursor:not-allowed;opacity:.55}@media (max-width:900px){.pp-page{padding:16px}.pp-layout{grid-template-columns:1fr}.pp-sidebar{border-radius:8px;display:flex;overflow-x:auto;position:static}.pp-sidebar-item{border-bottom:none;border-right:1px solid #f1f5f9;flex-shrink:0;white-space:nowrap}.pp-sidebar-item.active{border-bottom:3px solid #8b5cf6;border-left:none;padding-left:16px}.pp-form-row{grid-template-columns:1fr}}.ct-page{background:#f7f8fc;flex-direction:column;font-family:Segoe UI,sans-serif}.ct-loading,.ct-page{display:flex;height:100%}.ct-loading{align-items:center;color:#64748b;gap:12px;justify-content:center}.ct-spinner{animation:ct-spin .7s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#0ea5e9;height:24px;width:24px}@keyframes ct-spin{to{transform:rotate(1turn)}}.ct-header{align-items:center;background:#fff;border-bottom:1px solid #e8ecf0;display:flex;flex-shrink:0;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:16px 28px}.ct-header-left{align-items:baseline;display:flex;gap:12px}.ct-header-right{align-items:center;display:flex;gap:10px}.ct-title{color:#1e293b;font-size:1.5rem;font-weight:700;margin:0}.ct-count{background:#f1f5f9;border-radius:12px;color:#64748b;font-size:.8rem;font-weight:500;padding:2px 10px}.ct-btn-add{background:#0ea5e9;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:9px 18px;transition:background .18s;white-space:nowrap}.ct-btn-add:hover{background:#0284c7}.ct-btn-secondary{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;font-size:.875rem;font-weight:600;padding:9px 16px;transition:all .18s;white-space:nowrap}.ct-btn-secondary:hover{background:#e2e8f0;color:#1e293b}.ct-search-wrap{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:8px;padding:8px 12px}.ct-search{background:#0000;border:none;color:#334155;font-size:.875rem;outline:none;width:180px}.ct-tabs{background:#fff;border-bottom:2px solid #e8ecf0;flex-shrink:0;gap:4px;overflow-x:auto;padding:0 24px}.ct-tab,.ct-tabs{align-items:center;display:flex}.ct-tab{background:none;border:none;border-bottom:3px solid #0000;color:#64748b;cursor:pointer;font-size:.875rem;font-weight:500;gap:7px;margin-bottom:-2px;padding:13px 18px;transition:all .18s;white-space:nowrap}.ct-tab:hover{background:#f0f9ff;border-radius:6px 6px 0 0;color:#0ea5e9}.ct-tab.active{border-bottom-color:#0ea5e9;color:#0ea5e9;font-weight:700}.ct-tab-badge{background:#e0f2fe;border-radius:10px;color:#0284c7;font-size:.7rem;font-weight:700;min-width:20px;padding:1px 7px;text-align:center}.ct-tab.active .ct-tab-badge{background:#0ea5e9;color:#fff}.ct-layout{flex:1 1}.ct-layout,.ct-list-panel{display:flex;overflow:hidden}.ct-list-panel{background:#fff;border-right:1px solid #e8ecf0;flex-direction:column;flex-shrink:0;width:300px}.ct-list{flex:1 1;overflow-y:auto}.ct-list-item{align-items:center;border-bottom:1px solid #f8fafc;cursor:pointer;display:flex;gap:10px;padding:11px 14px;transition:background .15s}.ct-list-item:hover{background:#f8fafc}.ct-list-item.active{background:#f0f9ff;border-left:3px solid #0ea5e9}.ct-list-icon{flex-shrink:0;font-size:1.2rem}.ct-list-info{flex:1 1;min-width:0}.ct-list-name{color:#1e293b;font-size:.875rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ct-list-meta{align-items:center;display:flex;gap:6px;margin-top:2px}.ct-list-city{color:#94a3b8;font-size:.72rem}.ct-list-actions{display:flex;gap:2px;opacity:0;transition:opacity .15s}.ct-list-item:hover .ct-list-actions{opacity:1}.ct-icon-btn{background:none;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;padding:4px 6px;transition:background .15s}.ct-icon-btn:hover{background:#f1f5f9}.ct-icon-btn.danger:hover{background:#fee2e2}.ct-empty{align-items:center;color:#94a3b8;display:flex;flex-direction:column;font-size:.875rem;gap:12px;padding:40px 20px}.ct-badge-type{background:#e0f2fe;color:#0284c7}.ct-badge-entite,.ct-badge-type{border-radius:10px;font-size:.68rem;font-weight:600;padding:1px 7px}.ct-badge-entite{background:#eef2ff;color:#6366f1}.ct-detail-panel{flex:1 1;gap:20px;overflow-y:auto;padding:24px 28px}.ct-detail-empty,.ct-detail-panel{display:flex;flex-direction:column}.ct-detail-empty{align-items:center;color:#94a3b8;gap:12px;height:100%;justify-content:center}.ct-detail-empty-icon{font-size:3rem}.ct-card{background:#fff;border:1px solid #e8ecf0;border-radius:12px;padding:20px 24px}.ct-card-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:16px}.ct-card-title{color:#1e293b;font-size:1.15rem;font-weight:700;margin:0 0 6px}.ct-card-badges{display:flex;flex-wrap:wrap;gap:6px}.ct-btn-edit{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:7px;cursor:pointer;flex-shrink:0;font-size:.8rem;padding:7px 14px;transition:background .15s;white-space:nowrap}.ct-btn-edit:hover{background:#e2e8f0}.ct-card-grid{grid-gap:8px 20px;display:grid;gap:8px 20px;grid-template-columns:1fr 1fr}.ct-info-row{display:flex;flex-direction:column;font-size:.85rem;gap:2px}.ct-info-row.ct-info-full{grid-column:1/-1}.ct-info-label{color:#94a3b8;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.ct-info-row a{color:#0ea5e9;text-decoration:none}.ct-info-row a:hover{text-decoration:underline}.ct-personnes-section{background:#fff;border:1px solid #e8ecf0;border-radius:12px;padding:20px 24px}.ct-personnes-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.ct-personnes-title{align-items:center;color:#1e293b;display:flex;font-size:1rem;font-weight:700;gap:8px;margin:0}.ct-btn-add-sm{background:#0ea5e9;border:none;border-radius:7px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:600;padding:7px 14px;transition:background .18s}.ct-btn-add-sm:hover{background:#0284c7}.ct-personnes-empty{color:#94a3b8;font-size:.875rem;padding:16px 0;text-align:center}.ct-link-btn{background:none;border:none;color:#0ea5e9;cursor:pointer;font-size:.875rem;text-decoration:underline}.ct-personnes-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.ct-personne-card{align-items:flex-start;background:#fafafa;border:1px solid #e8ecf0;border-radius:10px;display:flex;gap:12px;padding:14px;transition:box-shadow .15s}.ct-personne-card:hover{box-shadow:0 2px 8px #00000012}.ct-personne-avatar{align-items:center;background:#f0f9ff;border-radius:50%;color:#0284c7;display:flex;flex-shrink:0;font-size:.95rem;font-weight:700;height:36px;justify-content:center;text-transform:uppercase;width:36px}.ct-personne-info{flex:1 1;min-width:0}.ct-personne-name{color:#1e293b;font-size:.875rem;font-weight:600}.ct-personne-role{color:#64748b;font-size:.78rem;margin-top:2px}.ct-personne-coords{color:#475569;display:flex;flex-wrap:wrap;font-size:.78rem;gap:6px;margin-top:6px}.ct-personne-coords a{color:#0ea5e9;text-decoration:none}.ct-personne-coords a:hover{text-decoration:underline}.ct-personne-actions{display:flex;flex-direction:column;flex-shrink:0;gap:2px}.ct-overlay{align-items:stretch;background:#0f172a66;display:flex;inset:0;justify-content:flex-end;position:fixed;z-index:1000}.ct-side-panel{animation:ct-slide-in .22s ease-out;background:#fff;box-shadow:-4px 0 32px #0000001f;display:flex;flex-direction:column;overflow:hidden;width:min(640px,100vw)}.ct-side-panel-sm{width:min(480px,100vw)}@keyframes ct-slide-in{0%{opacity:.6;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.ct-side-header{align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;flex-shrink:0;justify-content:space-between;padding:20px 24px 16px}.ct-side-header-title h2{color:#1e293b;font-size:1.1rem;font-weight:700;margin:0}.ct-side-subtitle{color:#0ea5e9;display:block;font-size:.8rem;font-weight:500;margin-top:2px}.ct-side-close{align-items:center;background:#f1f5f9;border:none;border-radius:50%;color:#64748b;cursor:pointer;display:flex;flex-shrink:0;font-size:.95rem;height:32px;justify-content:center;transition:background .15s;width:32px}.ct-side-close:hover{background:#e2e8f0}.ct-side-body{flex:1 1;gap:20px;overflow-y:auto;padding:20px 24px}.ct-form-section,.ct-side-body{display:flex;flex-direction:column}.ct-form-section{gap:12px}.ct-form-section-title{border-bottom:1px solid #f1f5f9;color:#94a3b8;font-size:.75rem;font-weight:700;letter-spacing:.07em;padding-bottom:6px;text-transform:uppercase}.ct-form-row{display:flex;gap:12px}.ct-form-group{display:flex;flex:1 1;flex-direction:column;gap:5px}.ct-fg-2{flex:2 1}.ct-form-label{color:#475569;font-size:.78rem;font-weight:600}.ct-form-input{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-sizing:border-box;color:#1e293b;font-size:.875rem;outline:none;padding:9px 12px;transition:border-color .15s,box-shadow .15s;width:100%}.ct-form-input:focus{border-color:#0ea5e9;box-shadow:0 0 0 3px #0ea5e91a}.ct-form-textarea{font-family:inherit;min-height:90px;resize:vertical}.ct-form-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.85rem;padding:10px 14px}.ct-side-footer{background:#fff;border-top:1px solid #e2e8f0;display:flex;flex-shrink:0;gap:10px;justify-content:flex-end;padding:16px 24px}.ct-btn-cancel{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;font-size:.875rem;font-weight:600;padding:9px 20px;transition:background .15s}.ct-btn-cancel:hover{background:#e2e8f0}.ct-btn-save{background:#0ea5e9;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:9px 24px;transition:background .18s}.ct-btn-save:hover{background:#0284c7}.ct-btn-save:disabled{background:#7dd3fc;cursor:not-allowed}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{background:#f8f9fa;color:#333;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;margin-bottom:.5rem}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{line-height:1.6;margin-bottom:1rem}a{color:#667eea;cursor:pointer;text-decoration:none;transition:color .3s ease}a:hover{color:#764ba2}button{border:none;cursor:pointer;font-family:inherit;outline:none;transition:all .3s ease}button:disabled{cursor:not-allowed;opacity:.6}input[type=date],input[type=datetime-local],input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],select,textarea{cursor:text}input[type=button],input[type=checkbox],input[type=file],input[type=radio],input[type=reset],input[type=submit],label{cursor:pointer}.clickable,[onclick],[role=button]{cursor:pointer;-webkit-user-select:none;user-select:none}[draggable=true]{cursor:grab}[draggable=true]:active{cursor:grabbing}.disabled,[aria-disabled=true],[disabled]{cursor:not-allowed}.has-tooltip,[title]{cursor:help}input,select,textarea{font-family:inherit;font-size:1rem;line-height:1.5}:focus{outline:none}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px;-webkit-transition:background .3s ease;transition:background .3s ease}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}::selection{background:#667eea4d;color:#333}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}.mt-5{margin-top:3rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.mb-5{margin-bottom:3rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:1rem}.ml-4{margin-left:1.5rem}.ml-5{margin-left:3rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:1rem}.mr-4{margin-right:1.5rem}.mr-5{margin-right:3rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:1rem}.p-4{padding:1.5rem}.p-5{padding:3rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:1rem}.pt-4{padding-top:1.5rem}.pt-5{padding-top:3rem}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:1rem}.pb-4{padding-bottom:1.5rem}.pb-5{padding-bottom:3rem}.pl-1{padding-left:.25rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:1rem}.pl-4{padding-left:1.5rem}.pl-5{padding-left:3rem}.pr-1{padding-right:.25rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:1rem}.pr-4{padding-right:1.5rem}.pr-5{padding-right:3rem}.d-none{display:none}.d-block{display:block}.d-inline{display:inline}.d-inline-block{display:inline-block}.d-flex{display:flex}.d-grid{display:grid}.justify-content-start{justify-content:flex-start}.justify-content-center{justify-content:center}.justify-content-end{justify-content:flex-end}.justify-content-between{justify-content:space-between}.justify-content-around{justify-content:space-around}.align-items-start{align-items:flex-start}.align-items-center{align-items:center}.align-items-end{align-items:flex-end}.align-items-stretch{align-items:stretch}.flex-column{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.w-100{width:100%}.h-100{height:100%}.w-auto{width:auto}.h-auto{height:auto}.position-relative{position:relative}.position-absolute{position:absolute}.position-fixed{position:fixed}.position-sticky{position:-webkit-sticky;position:sticky}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}.border-radius{border-radius:.375rem}.border-radius-sm{border-radius:.25rem}.border-radius-lg{border-radius:.5rem}.border-radius-xl{border-radius:1rem}.shadow,.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)}@media (max-width:576px){.d-sm-none{display:none}.d-sm-block{display:block}.d-sm-flex{display:flex}}@media (max-width:768px){.d-md-none{display:none}.d-md-block{display:block}.d-md-flex{display:flex}}@media (max-width:992px){.d-lg-none{display:none}.d-lg-block{display:block}.d-lg-flex{display:flex}}@media (max-width:1200px){.d-xl-none{display:none}.d-xl-block{display:block}.d-xl-flex{display:flex}}.fade-in{animation:fadeIn .5s ease-in}.slide-up{animation:slideUp .5s ease-out}.slide-down{animation:slideDown .5s ease-out}.scale-in{animation:scaleIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media print{.no-print{display:none!important}.dashboard-container,body{background:#fff!important}.dashboard-card{box-shadow:none!important}}.app-layout{display:flex;height:100vh;overflow:hidden}.app-content{flex:1 1;height:100vh;margin-left:240px;overflow-x:hidden;overflow-y:auto;position:relative;transition:margin-left .3s ease}.app-content:has(.timeline-fullpage){overflow:hidden}.app-content.full-width{margin-left:0}@media (max-width:1024px){.app-content{margin-left:72px}}@media (max-width:768px){.app-content{margin-bottom:80px;margin-left:0}}
/*# sourceMappingURL=main.120722b9.css.map*/