.navbar{position:fixed;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 10px #0000001a;z-index:1000}.navbar-logo{font-size:1.5rem;font-weight:700;color:#1a1a1a;text-decoration:none;transition:color .3s ease}.navbar-logo:hover{color:#4f46e5}.navbar-logo-small{max-width:120px}.navbar-logo-small img{width:100%;height:auto}.navbar-links{display:flex;gap:2rem;list-style:none;margin:0;padding:0}.navbar-link{position:relative;text-decoration:none;color:#4b5563;font-weight:500;padding:.5rem 0;transition:color .3s ease}.navbar-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:#4f46e5;transition:width .3s ease}.navbar-link:hover:after{width:100%}.navbar-link:hover{color:#1a1a1a}.navbar-cta{background:#4f46e5;color:#fff;padding:.75rem 1.5rem;border-radius:.5rem;text-decoration:none;transition:background .3s ease,transform .2s ease}.navbar-cta:hover{background:#036;color:#fff;transform:translateY(-1px)}.navbar-cta svg{padding-right:.5rem}.navbar-cta:hover svg{color:#fff}.navbar-hamburger{display:none;background:none;border:none;cursor:pointer;padding:.5rem}.hamburger-line{display:block;width:25px;height:2px;background:#1a1a1a;margin:5px 0;transition:all .3s ease}.mobile-menu{display:none;position:fixed;top:4rem;right:0;background:#fff;width:100%;max-width:300px;padding:1rem;box-shadow:-2px 0 10px #0000001a;transform:translate(100%);transition:transform .3s ease;z-index:1100}.mobile-menu.active{transform:translate(0)}@media (max-width: 768px){.navbar-links,.navbar-cta{display:none}.navbar-hamburger{display:block}.mobile-menu{display:block;z-index:1100}.mobile-navbar-links{display:flex;flex-direction:column;gap:1rem}.mobile-navbar-links .navbar-cta{display:inline-block;margin-top:1rem}.navbar-link{padding:.5rem}.navbar-hamburger.active .hamburger-line:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.navbar-hamburger.active .hamburger-line:nth-child(2){opacity:0}.navbar-hamburger.active .hamburger-line:nth-child(3){transform:rotate(-45deg) translate(7px,-6px)}}.pricing-container{padding:4rem 1rem;background:linear-gradient(to bottom right,#f0f9ff,#eef2ff);animation:fadeIn 1s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.pricing-content{max-width:1200px;margin:0 auto;text-align:center;padding:2rem}.pricing-title{font-size:2.5rem;font-weight:700;margin-bottom:2rem;color:#1f2937}.plans-grid{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap}.plan-card{background:#fff;border-radius:1rem;box-shadow:0 10px 20px #0000001a;padding:2rem;flex:1;min-width:280px;max-width:350px;transition:transform .3s ease,box-shadow .3s ease}.plan-card:hover{transform:translateY(-10px);box-shadow:0 15px 25px #00000026}.plan-name{font-size:1.75rem;margin-bottom:1rem;color:#4f46e5}.plan-price{font-size:2rem;font-weight:700;color:#1f2937;margin-bottom:1rem}.price-period{font-size:1rem;color:#6b7280}.features-list{list-style:none;padding:0;margin:1rem 0;text-align:left}.feature-item{display:flex;align-items:center;margin-bottom:.75rem;font-size:1rem;color:#4b5563}.check-icon{width:1rem;height:1rem;margin-right:.5rem;color:#4f46e5}.plan-buttons{display:flex;justify-content:center;gap:1rem;margin-top:1.5rem}.plan-button{background:linear-gradient(to right,#4f46e5,#4f46e5);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .3s ease,background .3s ease}.plan-button:hover{transform:scale(1.05);background:linear-gradient(to right,#1d4ed8,#4338ca)}.plan-button-secondary{background:transparent;color:#4f46e5;border:2px solid #4f46e5;padding:.75rem 1.5rem;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .3s ease,background .3s ease,color .3s ease}.plan-button-secondary:hover{transform:scale(1.05);background:#4f46e5;color:#fff}.testimonials-section{margin-top:4rem;padding:3rem 1rem;background:#fff;border-radius:1rem;box-shadow:0 10px 20px #0000001a;max-width:1200px;margin-left:auto;margin-right:auto;text-align:center}.testimonials-title{font-size:2.25rem;font-weight:700;margin-bottom:2rem;color:#1f2937}.testimonials-grid{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap}.testimonial-card{background:#f9fafb;border-radius:1rem;padding:1.5rem;max-width:350px;transition:transform .3s ease,box-shadow .3s ease}.testimonial-card:hover{transform:translateY(-5px);box-shadow:0 10px 15px #0000001a}.testimonial-photo{width:60px;height:60px;border-radius:50%;object-fit:cover;margin-bottom:1rem}.testimonial-quote{font-style:italic;color:#4b5563;margin-bottom:1rem}.testimonial-name{font-weight:600;color:#4f46e5}.testimonials-button{margin-top:2rem;background:linear-gradient(to right,#4f46e5,#4f46e5);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;font-size:1rem;cursor:pointer;transition:transform .3s ease,background .3s ease}.testimonials-button:hover{transform:scale(1.05);background:linear-gradient(to right,#1d4ed8,#4338ca)}@media (max-width: 768px){.plans-grid,.testimonials-grid{flex-direction:column;align-items:center}.plan-card,.testimonial-card{max-width:90%}.pricing-title,.testimonials-title{font-size:2rem}}.home-container{min-height:100vh;background:linear-gradient(to bottom right,#f0f9ff,#eef2ff);position:relative;overflow:hidden}.decorative-background{position:absolute;top:0;right:0;bottom:0;left:0}.decorative-blob{position:absolute;width:12rem;height:12rem;background-color:#dbeafe;border-radius:50%;opacity:.5;mix-blend-mode:multiply;filter:blur(70px);animation:blob 7s infinite}.decorative-blob:nth-child(2){background-color:#e0e7ff;left:auto;right:5rem;animation-delay:2s}.decorative-blob:nth-child(3){background-color:#f3e8ff;bottom:8rem;left:50%;transform:translate(-50%);animation-delay:4s}.hero-content{position:relative;max-width:1280px;margin:0 auto;padding:7rem 1rem 0rem;text-align:center}.main-heading{font-size:3rem;font-weight:800;color:#1f2937;margin-bottom:1.5rem}.gradient-text{background:linear-gradient(to right,#4f46e5,#4f46e5);-webkit-background-clip:text;background-clip:text;color:transparent;display:block}.sub-heading{font-size:1.875rem;color:#4b5563;margin-top:1rem}.description-text{font-size:1.125rem;color:#6b7280;max-width:800px;margin:0 auto;line-height:1.6}.hero-button{background:linear-gradient(to bottom right,#4f46e5,#4f46e5);color:#fff;padding:1rem 2rem;margin:2rem 0;border-radius:1rem;font-weight:600;font-size:1.125rem;border:none;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a}.hero-button:hover{box-shadow:0 25px 50px -5px #0003;transform:scale(1.02)}.button-hover-effect{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom right,#1d4ed8,#4338ca);border-radius:1rem;opacity:0;transition:opacity .3s ease}.features-banner{margin-top:6rem;background:#fff;border-radius:1rem;padding:1.5rem;max-width:56rem;margin-left:auto;margin-right:auto;box-shadow:0 10px 15px -3px #0000001a}.stats-container{display:flex;justify-content:space-around;align-items:center}.stat-item{padding:0 1.5rem;text-align:center}.stat-value{font-size:1.875rem;font-weight:700}@keyframes blob{0%{transform:translate(0) scale(1)}33%{transform:translate(30px,-50px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}to{transform:translate(0) scale(1)}}@media (max-width: 768px){.main-heading{font-size:2.25rem}.sub-heading{font-size:1.5rem}.stats-container{flex-direction:column}.stat-item{padding:1rem 0}.stat-item:not(:last-child){border-bottom:1px solid #e5e7eb}}:root{--clr-bg: #f5f7fa;--clr-sidebar: rgba(255,255,255,.85);--clr-active: #4f46e5;--clr-hover: #eef2ff;--clr-text: #374151;--transition: .3s ease}.dashboard-layout{display:flex;min-height:100vh;background:var(--clr-bg);overflow-x:hidden;position:relative}.mobile-header{display:none}.mobile-burger{background:none;border:none;font-size:1.5rem;color:var(--clr-text);cursor:pointer}.mobile-burger:focus{outline:none}.mobile-title{margin-left:1rem;font-size:1.2rem;font-weight:600;color:var(--clr-text)}@media (max-width: 768px){.mobile-header{display:flex;align-items:center;position:fixed;top:0;left:0;right:0;height:3.5rem;background:var(--clr-sidebar);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:0 1rem;box-shadow:0 1px 4px #0000001a;z-index:1200}}.dashboard-sidebar{position:fixed;top:0;left:0;height:100%;width:16rem;background:var(--clr-sidebar);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:5rem 1rem 1rem;box-shadow:2px 0 12px #00000014;display:flex;flex-direction:column;transition:width var(--transition),transform var(--transition);z-index:1000}.sidebar-header{position:absolute;top:0;left:0;right:0;height:5rem;display:flex;align-items:center;padding:0 1rem;background:var(--clr-sidebar);box-shadow:0 2px 8px #00000014}.app-logo{height:2rem;width:2rem;object-fit:contain;margin-left:.2rem;margin-top:0}.app-title{margin-left:.75rem;font-size:1.2rem;font-weight:600;color:var(--clr-text)}.sidebar-toggle:hover{background:var(--clr-hover)}.sidebar-nav{flex:1;display:flex;flex-direction:column;gap:.5rem}.nav-link{display:flex;align-items:center;padding:.5rem;border-radius:.5rem;color:var(--clr-text);text-decoration:none;font-weight:500;transition:background var(--transition),color var(--transition),padding-left var(--transition)}.nav-icon{width:1.75rem;text-align:center;font-size:1.2rem}@media (max-height: 710px){.nav-link{padding:.7rem 1rem}.nav-icon{font-size:.9rem}.sidebar-nav{gap:.2rem}}@media (max-height: 655px){.nav-link{padding:.7rem 1rem;font-size:.8rem}.nav-icon{font-size:.8rem}}@media (max-height: 605px){.nav-link{padding:.5rem 1rem;font-size:.8rem}}@media (max-height: 550px){.nav-link{padding:.4rem 1rem;font-size:.8rem}}@media (max-height: 480px){.nav-link{padding:.2rem 1rem;font-size:.6rem}.nav-icon{font-size:.6rem}}.nav-link.disabled{opacity:.4;cursor:not-allowed}.nav-link:hover:not(.active):not(.disabled){background:var(--clr-hover);color:var(--clr-active);padding-left:1rem}.nav-link.active{background:var(--clr-active);color:#fff;padding-left:.5rem}.nav-label{margin-left:.75rem;white-space:nowrap;transition:opacity var(--transition),visibility var(--transition)}.logout-button{margin-bottom:auto;background:none;border:none;display:flex;align-items:center;color:var(--clr-text)}.logout-button:hover{color:var(--clr-active)}.mobile-overlay{display:none}.dashboard-layout.mobile-open .mobile-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:900}@media (max-width: 768px){.dashboard-sidebar{transform:translateY(-100%);padding-top:3.5rem;border-radius:0 0 8px 8px}.dashboard-layout.mobile-open .dashboard-sidebar{transform:translateY(0)}.sidebar-nav{margin-top:.5rem}}@media (min-width: 769px){.dashboard-layout.collapsed .dashboard-sidebar{width:4.5rem}.dashboard-layout.collapsed .nav-label,.dashboard-layout.collapsed .app-title{opacity:0;visibility:hidden}.dashboard-layout.collapsed .sidebar-toggle{transition:margin-left var(--transition)}.dashboard-layout.collapsed .dashboard-main{margin-left:6rem}}.dashboard-main{flex:1;margin-left:18rem;padding:4.5rem 2rem 2rem;transition:margin-left var(--transition);max-width:100rem}@media (max-width: 768px){.dashboard-main{margin-left:0;padding-top:3.5rem;overflow-x:auto}.sidebar-header{display:none!important}}.sidebar-header{position:absolute;top:0;left:0;right:0;height:4.5rem;display:flex;align-items:center;padding:0 1rem;background:var(--clr-sidebar);box-shadow:0 2px 12px #00000014}.sidebar-header .sidebar-toggle{background-color:#fff;color:#000;position:absolute;margin-left:15.8rem;border:1px solid #bfbfbf;border-radius:50%;padding:5px 13px;transition:margin-left var(--transition)}.sidebar-header .sidebar-toggle:focus{outline:none}.sidebar-header .sidebar-toggle:hover{background:#00000036}.dashboard-layout.collapsed .sidebar-header .sidebar-toggle{margin-left:4.3rem}.spinner-container{display:flex;justify-content:center;align-items:center;height:100px}.spinner{width:50px;height:50px;animation:spin 1s linear infinite;color:#4f46e5}.spinner-circle{opacity:.25;stroke:currentColor}.spinner-path{opacity:.75;fill:currentColor}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-container{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100vh;background-color:#f8f9fa;text-align:center}.loading-text{margin-top:10px;font-size:16px;color:#555}.auth-input{padding:.75rem 1rem;font-size:1rem;border:1px solid #ccc;border-radius:4px;transition:border-color .2s ease}.signup-container{display:flex;justify-content:center;align-items:center;height:100vh;background-color:#f4f4f4}.signup-box{background:#fff;padding:30px;border-radius:8px;box-shadow:0 4px 10px #0000001a;text-align:center;width:350px}.signup-box h2{margin-bottom:20px;color:#333}.signup-form{display:flex;flex-direction:column}.signup-input{padding:10px;margin-bottom:15px;border:1px solid #ccc;border-radius:5px;font-size:16px}.signup-input:focus{border-color:#4f46e5;outline:none}.signup-button{background-color:#4f46e5;color:#fff;padding:10px;border:none;border-radius:5px;font-size:18px;cursor:pointer;transition:background-color .3s}.signup-button:hover{background-color:#0056b3}.auth-signup-link{color:#4f46e5;text-decoration:none;font-weight:600}.signup-error{color:#e3342f;font-size:.95rem;text-align:center;margin-top:1rem}.success-message{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724;padding:10px;border-radius:4px;margin-bottom:15px;text-align:center}.page-header{margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.card{background:#fff;border-radius:.5rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.form-group{margin-bottom:1rem}.form-label{display:block;margin-bottom:.5rem;color:#374151}.form-input{width:100%;padding:.5rem;border:1px solid #d1d5db;border-radius:.375rem}.table{width:100%;border-collapse:collapse}.table th{background-color:#f3f4f6;padding:.75rem;text-align:left}.table td{padding:.75rem;border-top:1px solid #e5e7eb}.repair-form{display:flex;flex-direction:column;gap:1rem;background-color:#fff;padding:20px;border-radius:8px;max-width:600px;margin:0 auto;width:100%;box-sizing:border-box}.repair-form h2{text-align:center;color:#333}.repair-form .error{color:#e3342f;text-align:center}.repair-form input,.repair-form textarea,.repair-form select{padding:10px;border:1px solid #ddd;border-radius:4px;font-size:1rem}.repair-form textarea{resize:vertical;min-height:80px}.repair-form button{background-color:#4f46e5;color:#fff;border:none;padding:12px;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .3s ease}.repair-form button:hover{background-color:#1d4ed8}.new-client-fields{border:1px dashed #aaa;padding:10px;border-radius:4px;margin-top:10px}.new-client-fields h3{margin-top:0;color:#333;font-size:1.1rem;text-align:center}.edit-repair-form .form-group{margin-bottom:15px;display:flex;flex-direction:column}.edit-repair-form label{margin-bottom:5px;font-weight:600;color:#555}.edit-repair-form input,.edit-repair-form textarea,.edit-repair-form select{padding:8px;border:1px solid #ccc;border-radius:4px;font-size:1rem}.btn-save{background-color:#4f46e5;color:#fff}.btn-save:hover{background-color:#1d4ed8}.btn-cancel{background-color:#6c757d;color:#fff}.btn-cancel:hover{background-color:#5a6268}.repair-form .travaux-label,.edit-repair-form .travaux-label{flex-direction:row}.repair-list-container{background:#fff;padding:20px;border-radius:8px;box-shadow:0 4px 10px #0000001a;margin:1rem auto;max-width:100%;overflow-x:auto}.repair-table{width:100%;border-collapse:collapse;min-width:800px}.repair-table th,.repair-table td{padding:10px;border:1px solid #ddd;text-align:left;font-size:.9rem}.repair-table th{background-color:#f4f4f4}.repair-table tr:nth-child(2n){background-color:#f9f9f9}.repair-table button{background-color:#4f46e5;color:#fff;border:none;padding:4px 8px;border-radius:4px;margin:2px;cursor:pointer;transition:background-color .3s;font-size:.8rem}.repair-table button:hover{background-color:#1d4ed8}.icon-button:hover{color:#1d4ed8}.btn-action{background-color:#4f46e5;color:#fff;border:none;padding:4px 8px;border-radius:4px;margin:2px;cursor:pointer;transition:background-color .3s;font-size:.8rem}.repair-table button:disabled{background-color:#ccc!important;color:#888!important;border-color:#ccc!important;cursor:not-allowed;opacity:.7}.repair-table tr.overdue{background-color:#ffecec;border-left:4px solid #e3342f;font-weight:700;color:#a10000}.repairs-page{padding:20px}.add-repair-button{background-color:#4f46e5;color:#fff;border:none;padding:10px 16px;border-radius:4px;cursor:pointer;transition:background-color .3s ease}.add-repair-button:hover{background-color:#1d4ed8}.toggle-checkbox{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;color:#333;cursor:pointer;position:relative;-webkit-user-select:none;user-select:none}.refresh-icon{top:8px;right:8px;width:30px;height:30px;background-color:#f0f0f0;border:1px solid #ddd;border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s ease;margin-left:20%}.repair-sum-card{margin-bottom:1.5rem;padding:1rem 1.25rem;border-radius:12px;background:var(--surface, #ffffff);box-shadow:0 12px 30px #0f172a0f;border:1px solid var(--border, #e5e7eb);display:flex;flex-direction:column;gap:1rem}.repair-sum-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.repair-sum-header-left{display:flex;flex-direction:column;gap:.25rem}.repair-sum-title{margin:0;font-size:1.1rem;font-weight:600;color:var(--text, #111827)}.repair-sum-subtitle{margin:0;font-size:.85rem;color:var(--text-muted, #6b7280)}.repair-sum-header-right{display:flex;flex-direction:column;align-items:flex-end;gap:.15rem;font-size:.85rem;color:var(--text-muted, #4b5563)}.repair-sum-global-count{font-weight:500}.repair-sum-global-amount strong{font-weight:600;color:var(--accent, #c8a97d)}.repair-sum-body{margin-top:-1.5rem}.repair-sum-empty{margin:0;font-size:.9rem;color:var(--text-muted, #6b7280)}.repair-sum-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.repair-sum-item{padding:.5rem 0;border-top:1px dashed var(--border, #e5e7eb)}.repair-sum-item:first-child{border-top:none}.repair-sum-shop-main{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.35rem}.repair-sum-shop-meta{display:flex;align-items:center;gap:.5rem}.repair-sum-shop-dot{width:10px;height:10px;border-radius:999px;background:var(--accent, #c8a97d);box-shadow:0 0 0 4px #c8a97d26}.repair-sum-shop-texts{display:flex;flex-direction:column;gap:.1rem}.repair-sum-shop-name{font-size:.95rem;font-weight:500;color:var(--text, #111827)}.repair-sum-shop-count{font-size:.8rem;color:var(--text-muted, #6b7280)}.repair-sum-shop-amount{font-size:.95rem;font-weight:600;color:var(--text, #111827);white-space:nowrap}.repair-sum-meter{width:100%}.repair-sum-meter-bar{position:relative;width:100%;height:6px;border-radius:999px;background:var(--muted-surface, #f3f4f6);overflow:hidden}.repair-sum-meter-fill{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:linear-gradient(90deg,var(--accent, #c8a97d),var(--accent-strong, #d4af37));transform-origin:left center}@media (max-width: 768px){.repair-sum-header-right{align-items:flex-start}.repair-sum-shop-main{flex-direction:column;align-items:flex-start}.repair-sum-shop-amount{margin-top:.15rem}}.client-form{display:flex;flex-direction:column;gap:1rem;background-color:#fff;padding:20px;border-radius:8px;max-width:600px;margin:0 auto;width:100%;box-sizing:border-box}.client-form h2{text-align:center;color:#333}.client-form .error{color:#e3342f;text-align:center}.client-form input{padding:10px;border:1px solid #ddd;border-radius:4px;font-size:1rem}.client-form button{background-color:#4f46e5;color:#fff;border:none;padding:12px;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .3s ease}.client-form button:hover{background-color:#1d4ed8}.client-list-card{background:#fff;padding:20px;border-radius:8px;box-shadow:0 4px 10px #0000001a;margin:1rem auto;max-width:100%;overflow-x:auto}.client-table{width:100%;border-collapse:collapse;min-width:800px}.client-table th,.client-table td{padding:10px;border:1px solid #ddd;text-align:left;font-size:.9rem}.client-table th{background-color:#f4f4f4}.client-table tr:nth-child(2n){background-color:#f9f9f9}.client-table button{background-color:#4f46e5;color:#fff;border:none;padding:4px 8px;border-radius:4px;margin:2px;cursor:pointer;transition:background-color .3s;font-size:.8rem}.client-table button:hover{background-color:#1d4ed8;color:#fff}.stars{white-space:nowrap}.star{font-size:18px;color:#c7c7c7}.star.is-active{color:#f2b01e}.sr-only{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.ecm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;padding:16px;z-index:1100}.ecm-dialog{width:100%;max-width:760px;background:#fff;border-radius:14px;box-shadow:0 20px 60px #00000038;display:flex;flex-direction:column;overflow:hidden;max-height:min(90vh,980px)}.ecm-header{display:flex;justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid #eef2f7;position:sticky;top:0;background:#fff;z-index:1}.ecm-header-text h2{margin:0;font-size:1.25rem;font-weight:700;color:#0f172a}.ecm-subtitle{margin:6px 0 0;font-size:.9rem;color:#64748b}.ecm-mono{font-family:monospace;background:#f8fafc;border:1px solid #e2e8f0;padding:0 6px;border-radius:6px}.ecm-close{background:transparent;border:none;font-size:26px;color:#64748b;cursor:pointer;border-radius:8px}.ecm-close:hover{background:#f1f5f9;color:#0f172a}.ecm-body{padding:16px 20px 0;overflow-y:auto}.ecm-grid{display:grid;grid-template-columns:1fr;gap:14px}@media (min-width: 640px){.ecm-grid{grid-template-columns:repeat(2,1fr);gap:16px}}.ecm-col-span-2{grid-column:span 1}@media (min-width: 640px){.ecm-col-span-2{grid-column:span 2}}.ecm-field{display:flex;flex-direction:column}.ecm-field label{font-weight:600;color:#334155;margin-bottom:6px}.ecm-field input,.ecm-field select{padding:10px 12px;border:1px solid #dbe2ea;border-radius:10px;font-size:.97rem}.ecm-field input:focus,.ecm-field select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626;outline:none}.ecm-footer{position:sticky;bottom:0;background:linear-gradient(#fffc,#fff);border-top:1px solid #eef2f7;display:flex;justify-content:flex-end;gap:10px;padding:12px 20px;margin-top:16px}.ecm-btn{border:none;border-radius:10px;padding:10px 14px;cursor:pointer;font-size:.97rem}.ecm-btn-primary{background:#3b82f6;color:#fff}.ecm-btn-primary:hover{background:#2563eb}.ecm-btn-ghost{background:#f3f4f6;border:1px solid #e5e7eb;color:#111827}.ecm-btn-ghost:hover{background:#e5e7eb}.ecm-rating-label{display:block;margin-bottom:6px;font-weight:600}.ecm-rating{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ecm-star{border:1px solid #e6e6e6;background:#fff;border-radius:8px;margin:0;font-size:20px;line-height:34px;text-align:center;cursor:pointer;transition:transform .05s ease,border-color .15s ease,background .15s ease}.ecm-star:hover{transform:translateY(-1px)}.ecm-star.is-active{background:#fff8e6;border-color:#f3d37a}@media (max-width: 420px){.ecm-dialog{border-radius:10px}.ecm-header,.ecm-body,.ecm-footer{padding-left:14px;padding-right:14px}}.clients-page{padding:20px}.add-client-button{background-color:#4f46e5;color:#fff;border:none;padding:10px 16px;border-radius:4px;cursor:pointer;transition:background-color .3s ease}.add-client-button:hover{background-color:#1d4ed8}.modal-content{background:#fff;padding:20px;border-radius:8px;position:relative;max-width:600px;width:90%}.settings-page{padding:20px;background:#f7f9fc}.settings-container{display:flex;flex-wrap:wrap;gap:20px;justify-content:center}.left-panel{flex:10 1 300px}.right-panel{flex:1 1 300px;display:flex;flex-direction:column;gap:20px}.card{background-color:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 8px #0000001a}.card .subscription-renew-container{padding:0px 1rem}.form-group{margin-bottom:15px;display:flex;flex-direction:column}.form-label{font-weight:600;margin-bottom:5px;color:#333}.form-input{width:100%;padding:10px;font-size:1rem;border:1px solid #ddd;border-radius:4px;transition:border .3s ease}.form-input.valid{border:2px solid rgb(55,155,55)}.form-input.invalid{border:2px solid rgb(172,16,16)}.submit-button{background-color:#4f46e5;color:#fff;border:none;padding:12px;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .3s ease}.submit-button:hover{background-color:#1d4ed8}.error{color:#e3342f;margin-top:10px;text-align:center}.success{color:#38a169;margin-top:10px;text-align:center}.password-input-container{position:relative;display:flex;align-items:center}.password-input-container .form-input{flex:1;padding-right:2.5rem}.toggle-password-visibility{position:absolute;right:10px;background:transparent;border:none;cursor:pointer;font-size:1.2rem;outline:none}.password-form-container{max-width:600px;width:100%;margin:0 auto;background-color:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 8px #0000001a;box-sizing:border-box}.password-form-container .form-group{margin-bottom:16px;display:flex;flex-direction:column}.password-form-container .form-label{font-size:1rem;font-weight:600;margin-bottom:8px;color:#333}.password-form-container .form-input{padding:12px;border:1px solid #ddd;border-radius:4px;font-size:1rem;width:100%;box-sizing:border-box;transition:border-color .3s ease}.password-form-container .form-input.valid{border:2px solid rgb(55,155,55)}.password-form-container .form-input.invalid{border:2px solid rgb(172,16,16)}.password-form-container .password-input-container{position:relative;display:flex;align-items:center}.password-form-container .password-input-container .form-input{flex:1;padding-right:2.5rem}.password-form-container .toggle-password-visibility{position:absolute;right:10px;background:transparent;border:none;cursor:pointer;font-size:1.2rem;outline:none}.password-form-container .submit-button{background-color:#4f46e5;color:#fff;border:none;padding:12px;border-radius:4px;font-size:1rem;cursor:pointer;width:100%;transition:background-color .3s ease;margin-top:8px}.password-form-container .submit-button:hover{background-color:#1d4ed8}.password-form-container .error,.password-form-container .success{text-align:center;margin-top:10px;font-size:.95rem}.password-form-container .error{color:#e3342f}.password-form-container .success{color:#38a169}@media (max-width: 600px){.password-form-container{padding:16px;margin:0 10px}.password-form-container .form-label,.password-form-container .form-input,.password-form-container .submit-button{font-size:.95rem}}.subscription-status{padding:1.5rem;border-radius:8px;text-align:center;margin:1rem auto}.subscription-status h2{color:#333;margin-bottom:1rem}.subscription-status p{font-size:1.1rem;color:#555}.subscription-renew-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.subscription-renew-container h1{font-size:2rem;margin-bottom:1rem;color:#333}.subscription-renew-container p{font-size:1rem;margin-bottom:1rem;color:#666;max-width:600px}.renew-button{background:#4f46e5;color:#fff;border:none;padding:.8rem 1.5rem;font-size:1.1rem;border-radius:5px;cursor:pointer;margin-bottom:1rem;transition:background .3s}.renew-button:hover{background:#036}.back-button{background:transparent;border:2px solid #4f46e5;color:#4f46e5;padding:.6rem 1.3rem;font-size:1rem;border-radius:5px;cursor:pointer;transition:background .3s,color .3s}.back-button:hover{background:#036;border-color:#036;color:#fff}.dashboard-container{background:linear-gradient(135deg,#4facfe,#00f2fe);padding:40px 30px;border-radius:16px;box-shadow:0 10px 20px #00000026;text-align:center;color:#fff;margin:20px auto;max-width:900px;transition:transform .3s ease,box-shadow .3s ease}.dashboard-container:hover{transform:translateY(-5px);box-shadow:0 12px 24px #0003}.dashboard-icon{font-size:50px;margin-bottom:20px}.dashboard-title{font-size:2.5rem;margin-bottom:10px;font-weight:700}.dashboard-text{font-size:1.25rem;margin-bottom:20px}.global-search-card{background:#fff;padding:20px 20px 16px;border-radius:12px;margin:20px auto 30px;max-width:900px;box-shadow:0 5px 15px #00000014;border:1px solid #e5e7eb}.global-search-card h2{font-size:1.5rem;margin-bottom:12px;color:#111827;text-align:left}.global-search-form{display:flex;gap:10px;align-items:stretch;margin-bottom:10px}.global-search-form input{flex:1;padding:10px 12px;border-radius:8px;border:1px solid #d1d5db;font-size:.95rem;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.global-search-form input:focus{border-color:#4facfe;box-shadow:0 0 0 3px #4facfe40}.global-search-form button{padding:10px 18px;border-radius:8px;border:none;font-size:.95rem;font-weight:600;cursor:pointer;background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff;white-space:nowrap;box-shadow:0 4px 10px #4facfe59;transition:transform .2s ease,box-shadow .2s ease,opacity .15s ease}.global-search-form button:hover{transform:translateY(-1px);box-shadow:0 6px 14px #4facfe73;opacity:.95}.global-search-info{font-size:.9rem;color:#4b5563;margin-bottom:4px}.global-search-error{font-size:.9rem;color:#b91c1c;margin-bottom:4px}.global-search-results{list-style:none;padding:0;margin:8px 0 0;border-top:1px solid #e5e7eb;max-height:260px;overflow-y:auto}.global-search-result-item{display:flex;align-items:flex-start;gap:10px;padding:8px 4px;border-bottom:1px solid #f3f4f6;cursor:pointer;transition:background-color .15s ease,transform .1s ease}.global-search-result-item:hover{background-color:#f3f4ff;transform:translateY(-1px)}.global-search-result-kind{font-size:.8rem;font-weight:700;color:#4f46e5;flex-shrink:0;min-width:15%}.global-search-result-text{display:flex;flex-direction:column}.global-search-result-text strong{font-size:.95rem;color:#111827}.global-search-result-text small{font-size:.8rem;color:#6b7280}.global-search-results::-webkit-scrollbar{width:6px}.global-search-results::-webkit-scrollbar-thumb{background:#cbd5f5;border-radius:999px}.global-search-results::-webkit-scrollbar-track{background:#f9fafb}@media (max-width: 600px){.global-search-form{flex-direction:column;align-items:stretch}.global-search-form button{width:100%}}.quick-links{margin:20px auto;max-width:900px}.quick-links h2{font-size:1.75rem;color:#333;margin-bottom:15px;text-align:center}.quick-links-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:20px}.quick-link{background:#fff;border-radius:12px;text-decoration:none;color:#333;padding:20px;text-align:center;box-shadow:0 5px 15px #0000001a;transition:transform .3s ease,box-shadow .3s ease}.quick-link:hover{transform:translateY(-5px);box-shadow:0 8px 20px #00000026}.quick-link span{display:block}.quick-link span:first-child{font-size:2rem}.quick-link span:last-child{margin-top:8px;font-size:1rem;font-weight:600}.summary-cards-title{font-size:1.75rem;color:#333;margin-bottom:15px;text-align:center}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;margin:30px auto;max-width:900px;padding:0 10px}.summary-cards .card{background:#fff;border-radius:12px;padding:20px 15px;text-align:center;box-shadow:0 4px 12px #0000001a;transition:transform .3s ease,box-shadow .3s ease;position:relative;overflow:hidden}.summary-cards .card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,#4facfe,#00f2fe);border-top-left-radius:12px;border-top-right-radius:12px}.summary-cards .card:hover{transform:translateY(-3px);box-shadow:0 6px 16px #00000026}.summary-cards .card h3{font-size:1.3rem;margin-bottom:6px;color:#333;font-weight:600}.summary-cards .card p{font-size:1.8rem;margin:8px 0;color:#4f46e5;font-weight:700}.summary-cards .card small{font-size:.9rem;color:#777}.notifications{background:#fff;padding:20px;border-radius:12px;margin:30px auto;max-width:900px;box-shadow:0 5px 15px #0000001a}.notifications h2{font-size:1.75rem;margin-bottom:15px;color:#333;border-bottom:2px solid #f0f0f0;padding-bottom:10px}.notifications ul{list-style:none;padding:0;margin:0}.notification-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem;border-bottom:1px solid #e5e7eb;transition:background-color ease-in-out .2s}.notification-content{display:flex;align-items:center;gap:.75rem}.notification-content p{margin:0;font-weight:500;color:#374151}.notification-content small{display:block;color:#6b7280;font-size:.875rem}.notification-delete{background:none;border:none;color:#ef4444;cursor:pointer;font-size:1rem;padding:.25rem;transition:color .2s}.notification-delete:hover{color:#b91c1c}.notif-bell{color:#f59e0b;font-size:1.2rem;transition:opacity .2s}.notification-item:hover{background-color:#d3d3d3;border-left:4px solid #a0a0a0}.notification-item:hover .notif-bell,.notification-item.read .notif-bell{opacity:0}.notification-item.unread{background-color:#ecfdf5;border-left:4px solid #10b981}.notification-item.unread:hover{background-color:#d1fae5}.notif-creator{font-size:.85rem;color:#4f46e5;margin-left:.5rem;text-decoration:none;transition:text-decoration .2s}.notif-creator:hover{text-decoration:underline}@media (max-width: 600px){.notification-content{flex-direction:column;align-items:flex-start;gap:.25rem}.notification-item{flex-direction:column;align-items:flex-start}.notification-delete{align-self:flex-end;margin-top:.5rem}}.recent-activities{background:#fff;padding:20px;border-radius:12px;margin:30px auto;max-width:900px;box-shadow:0 5px 15px #0000001a}.recent-activities h2{font-size:1.75rem;margin-bottom:15px;color:#333;border-bottom:2px solid #f0f0f0;padding-bottom:10px}.recent-activities ul{list-style:none;padding:0;margin:0;max-height:200px;overflow-y:auto}.recent-activities li{border-bottom:1px solid #eee;padding:10px 0}.recent-activities li:last-child{border-bottom:none}.recent-activities p{margin:0;font-size:1rem;color:#555}.recent-activities small{font-size:.875rem;color:#999}.recent-activities ul::-webkit-scrollbar{width:8px}.recent-activities ul::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.recent-activities ul::-webkit-scrollbar-track{background:#f1f1f1}.statistics-page{padding:20px}.page-header{text-align:center;margin-bottom:20px}.error{color:#e3342f;text-align:center;margin-bottom:10px}section{margin-bottom:30px}.general-stats .stats-cards{display:flex;gap:20px;flex-wrap:wrap;justify-content:center}.stat-card{background:#fff;border-radius:8px;box-shadow:0 4px 10px #0000001a;padding:20px;min-width:200px;text-align:center}.stat-card h3{font-size:1.2rem;margin-bottom:10px;color:#333}.stat-card p{font-size:1.5rem;font-weight:700;color:#4f46e5}.stats-table{width:100%;border-collapse:collapse}.stats-table th,.stats-table td{padding:12px 15px;text-align:left;border:1px solid #ddd}.stats-table th{background-color:#f4f4f4}.stats-table tr:nth-child(2n){background-color:#f9f9f9}.confirm-container{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:20px;background-color:#f4f4f4;text-align:center}.confirm-container h1{font-size:2rem;color:#333;margin-bottom:20px}.confirm-container p{font-size:1.2rem;color:#4f46e5;margin-bottom:20px}.login-button{background-color:#4f46e5;color:#fff;border:none;padding:10px 20px;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .3s ease}.login-button:hover{background-color:#1d4ed8}.quote-form{display:flex;flex-direction:column;gap:1rem;background-color:#fff;padding:24px;border-radius:12px;max-width:760px;margin:0 auto;width:100%;box-sizing:border-box}.quote-form h2{text-align:center;font-size:1.75rem;color:#111827;margin-bottom:.5rem}.quote-form .error{color:#e3342f;font-size:.95rem;text-align:center}.quote-form label{font-size:.95rem;font-weight:600;color:#374151;margin-bottom:.25rem}.quote-form input[type=text],.quote-form input[type=number],.quote-form input[type=email],.quote-form select,.quote-form textarea{padding:.7rem .9rem;font-size:1rem;border:1px solid #e5e7eb;border-radius:8px;outline:none;transition:border-color .2s ease,box-shadow .2s ease,background-color .15s ease;width:100%;box-sizing:border-box;background:#fff}.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.quote-form textarea{resize:vertical;min-height:110px}.quote-form fieldset{border:1px solid #e5e7eb;border-radius:12px;padding:16px;background:#fafafa}.quote-form fieldset legend{font-size:.95rem;font-weight:700;color:#111827;padding:0 8px}.form-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.quote-form .form-actions{display:flex;gap:10px;justify-content:flex-end;align-items:center;flex-wrap:wrap}.quote-form .btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem .9rem;border:none;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:transform .1s ease,box-shadow .2s ease,background-color .2s ease}.quote-form .btn:active{transform:translateY(0)}.quote-form .btn-primary{background-color:#4f46e5;color:#fff}.quote-form .btn-primary:hover{background-color:#4338ca}.quote-form .btn-secondary{background-color:#e5e7eb}.quote-form .btn-secondary:hover{background:#d1d5db}.btn-pdf-preview{background-color:#4f46e5;color:#fff}.btn-pdf-preview:hover:not(:disabled){background-color:#4338ca;transform:translateY(-1px)}.btn-pdf-preview:disabled{background-color:#9ca3af;cursor:not-allowed;opacity:.9}.btn-pdf-preview .spinner{width:14px;height:14px}.btn-pdf-preview .spinner.css-spinner{border:2px solid transparent;border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.travaux-fieldset{display:grid;gap:10px}.travaux-item{display:grid;grid-template-columns:1fr 130px;align-items:center;column-gap:14px;row-gap:8px;background:#fff;border:1px solid #eef2f7;border-radius:10px;padding:10px 12px}.travaux-label{display:inline-flex;align-items:center;gap:10px;color:#111827;font-weight:600;line-height:1.2}.travaux-label input[type=checkbox]{width:18px;height:18px;accent-color:#4f46e5}.travaux-price{width:100%;max-width:130px;padding:.5rem .6rem;border:1px solid #e5e7eb;border-radius:8px;text-align:right}.travaux-comment.under-price{grid-column:1 / -1;margin:0;padding:.55rem .7rem;border-radius:8px}.travaux-item:hover{border-color:#dbe3ef;background:#fbfdff}.total-price{text-align:right;font-size:1.05rem;font-weight:700;margin-top:4px;color:#4f46e5}.pdf-preview-container{margin-top:16px;border:1px dashed #e5e7eb;border-radius:12px;background:#fafafa;padding:12px}.pdf-preview-container h3{margin:0 0 8px;font-size:1rem;color:#374151}@media (max-width: 560px){.quote-form{padding:16px}.travaux-item{grid-template-columns:1fr 110px}.travaux-price{max-width:110px}}.quote-table{width:100%;border-collapse:collapse;min-width:800px}.quote-table button{background-color:#4f46e5;color:#fff;border:none;padding:4px 8px;border-radius:4px;margin:2px;cursor:pointer;transition:background-color .3s;font-size:.8rem}.quote-table button:hover{background-color:#1d4ed8}.quote-table button.email-sent{background-color:#10b981;color:#fff;border:none;outline:none}.quote-table tr.overdue{background-color:#ffecec;border-left:4px solid #e3342f;font-weight:700;color:#a10000}.btn-spinner{width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;display:inline-block;vertical-align:middle;animation:spin .6s linear infinite}.btn-sending{opacity:.7;cursor:not-allowed}.modal-content{background:#fff;padding:30px;border-radius:8px;width:90%;max-width:700px;box-shadow:0 4px 8px #0000001a;max-height:90vh;overflow-y:auto}.edit-quote-form{margin-top:20px}.form-row{display:flex;flex-wrap:wrap;margin-bottom:15px;gap:20px}.form-group{flex:1;min-width:200px;display:flex;flex-direction:column}.form-group.full-width{flex:1 1 100%}label{margin-bottom:5px;font-weight:600;color:#555}input[type=text],input[type=email],input[type=number],input[type=date],textarea,select{padding:.75rem 1rem;border:1px solid #ccc;border-radius:4px;font-size:1rem;font-family:inherit}input[type=text]:focus,input[type=email]:focus,input[type=number]:focus,input[type=date]:focus,textarea:focus,select:focus{outline:none;border-color:#007bff;box-shadow:0 0 4px #007bff33}fieldset{border:1px solid #ddd;border-radius:4px;padding:15px;margin-bottom:20px}legend{font-weight:700;padding:0 10px}.btn{padding:10px 20px;border:none;border-radius:4px;font-size:1rem;cursor:pointer}.btn-primary:hover{background-color:#0069d9}.photo-preview{display:block;margin-top:.5rem;max-width:120px;border-radius:4px;box-shadow:0 2px 6px #0000001a}.quotes-page{padding:20px;min-height:80vh;overflow-x:hidden;box-sizing:border-box}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.add-quote-button{background-color:#4f46e5;color:#fff;border:none;padding:10px 16px;border-radius:4px;cursor:pointer;transition:background-color .3s ease}.add-quote-button:hover{background-color:#1d4ed8}.column-toggle{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.column-toggle .toggle-checkbox{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#374151}.quote-list-container{background:#fff;padding:20px;border-radius:8px;box-shadow:0 4px 10px #0000001a;margin:1rem auto;max-width:100%;overflow-x:auto}.quote-table{width:100%;border-collapse:collapse;min-width:600px}.quote-table th,.quote-table td{padding:10px;border:1px solid #ddd;text-align:left;font-size:.9rem}.quote-table th{background-color:#f4f4f4}.quote-table tr:nth-child(2n){background-color:#f9f9f9}.modal-close{position:absolute;top:10px;right:10px;background:none;border:none;font-size:1.5rem;color:#000;cursor:pointer}.depot-vente-form{display:flex;flex-direction:column;gap:1rem;background-color:#fff;padding:20px;border-radius:8px;max-width:600px;margin:0 auto;width:100%;box-sizing:border-box}.depot-vente-form h2{text-align:center;font-size:1.75rem;color:#1f2937;margin-bottom:1rem}.depot-vente-form label{font-size:1rem;font-weight:600;color:#374151;margin-bottom:.25rem}.depot-vente-form input[type=text],.depot-vente-form input[type=number],.depot-vente-form input[type=email],.depot-vente-form select,.depot-vente-form textarea{padding:.75rem 1rem;font-size:1rem;border:1px solid #d1d5db;border-radius:6px;outline:none;transition:border-color .3s ease,box-shadow .3s ease;width:100%;box-sizing:border-box}.depot-vente-form input:focus,.depot-vente-form select:focus,.depot-vente-form textarea:focus{border-color:#4f46e5;box-shadow:0 0 8px #2563eb4d}.depot-vente-form fieldset{border:1px solid #d1d5db;border-radius:6px;padding:1rem;display:flex;flex-direction:column;gap:.5rem}.depot-vente-form fieldset legend{font-size:1rem;font-weight:600;color:#374151;padding:0 .5rem}.depot-vente-form .travaux-label{display:flex;align-items:center;gap:.5rem;font-size:.95rem;color:#4b5563}.depot-vente-form .travaux-label input{width:18px;height:18px;accent-color:#4f46e5}.depot-vente-form textarea{resize:vertical;min-height:100px}.depot-vente-form button[type=submit]{background-color:#4f46e5;color:#fff;padding:.75rem 1rem;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .3s ease,transform .2s ease}.depot-vente-form button[type=submit]:hover{background-color:#1e40af;transform:scale(1.05)}.depot-vente-form .error{color:#e3342f;font-size:.9rem;text-align:center}.depot-vente-list{background:#fff;padding:20px;border-radius:8px;box-shadow:0 4px 10px #0000001a;margin:1rem auto;max-width:100%;overflow-x:auto}.depot-vente-list h2{margin-bottom:10px;font-size:1.5em}.depot-vente-table{width:100%;border-collapse:collapse;margin-top:10px}.depot-vente-table th,.depot-vente-table td{border:1px solid #ddd;padding:10px;text-align:left}.depot-vente-table th{background-color:#f2f2f2}.depot-vente-table tr:nth-child(2n){background-color:#f9f9f9}.depot-vente-table button{background-color:#4f46e5;color:#fff;border:none;padding:5px 8px;border-radius:4px;margin:2px;cursor:pointer;transition:background-color .3s;font-size:.8rem;height:25px}.depot-vente-table button:hover{background-color:#1d4ed8;color:#fff}img.photo-thumbnail{max-width:50px}.modal-content{background:#fff;padding:30px;border-radius:8px;width:90%;max-width:600px;box-shadow:0 4px 10px #0000001a;max-height:90vh;overflow-y:auto}.edit-depot-vente-form .form-group{margin-bottom:15px;display:flex;flex-direction:column}.edit-depot-vente-form label{margin-bottom:5px;font-weight:600;color:#333}.edit-depot-vente-form input,.edit-depot-vente-form textarea,.edit-depot-vente-form select{padding:8px 10px;border:1px solid #ccc;border-radius:4px;font-size:1rem}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.btn{padding:8px 12px;border:none;border-radius:4px;cursor:pointer;font-size:.9rem}.btn-primary{background-color:#4f46e5;color:#fff}.btn-primary:hover{background-color:#1d4ed8}.btn-secondary:hover{background-color:#5a6268}.depot-stats-container{display:flex;flex-wrap:wrap;justify-content:center;gap:2rem;background:#fff;padding:2rem;border-radius:1rem;box-shadow:0 10px 20px #0000001a;margin-bottom:2rem}.stat-item{flex:1 1 200px;text-align:center}.stat-item h3{font-size:1.25rem;color:#4f46e5;margin-bottom:.5rem}.stat-item p{font-size:1.5rem;font-weight:700;color:#1f2937;margin:0}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeInOverlay .3s ease}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.modal-content.sale-modal-content{background:#fff;padding:2rem;border-radius:.75rem;max-width:500px;width:90%;box-shadow:0 10px 25px #0000001a;animation:fadeInModal .3s ease}@keyframes fadeInModal{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.sale-modal-form .form-group{margin-bottom:1rem;display:flex;flex-direction:column}.sale-modal-form label{font-weight:600;margin-bottom:.5rem;color:#333}.sale-modal-form input,.sale-modal-form select{padding:.5rem .75rem;border:1px solid #ccc;border-radius:.5rem;font-size:1rem}.new-client-fields{margin-top:1rem;padding:1rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem}.new-client-fields h3{margin-bottom:.75rem;font-size:1.125rem;color:#4f46e5}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem}.btn{padding:.5rem 1rem;border:none;border-radius:.5rem;font-size:1rem;cursor:pointer;transition:background .3s ease}.btn.btn-primary{background:linear-gradient(to right,#4f46e5,#4f46e5);color:#fff}.btn.btn-primary:hover{background:linear-gradient(to right,#1d4ed8,#4338ca)}.btn.btn-secondary{background:#6c757d;color:#fff}.btn.btn-secondary:hover{background:#5a6268}button[disabled]{opacity:.6;background-color:#ccc!important;color:#888!important;border-color:#ccc!important;cursor:not-allowed;opacity:.7}.table-container{width:100%;overflow-x:auto;margin-bottom:1rem}.depot-vente-table{width:100%;border-collapse:collapse;min-width:600px}.depot-vente-table th,.depot-vente-table td{padding:10px;border:1px solid #ddd;text-align:left;white-space:nowrap}.depot-vente-page{padding:20px;overflow-x:hidden}.add-depot-vente-button{background-color:#4f46e5;color:#fff;border:none;padding:10px 16px;border-radius:4px;cursor:pointer;transition:background-color .3s ease}.add-depot-vente-button:hover{background-color:#1d4ed8}.filter-container{margin-bottom:1rem;display:flex;gap:1rem;flex-wrap:wrap}.filter-container input{padding:8px;border:1px solid #ddd;border-radius:4px;font-size:.9rem}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:10px}.modal-content{background:#fff;padding:20px;border-radius:8px;position:relative;max-width:600px;width:100%;max-height:90vh;overflow-y:auto}.column-toggle{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem;padding:.5rem;background-color:#f8f9fa;border:1px solid #e2e2e2;border-radius:4px}.toggle-checkbox{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;color:#333;cursor:pointer;-webkit-user-select:none;user-select:none;margin-right:10px}.toggle-checkbox input[type=checkbox]{opacity:0;position:absolute;left:-9999px}.checkbox-custom{width:18px;height:18px;border:2px solid #007bff;border-radius:4px;display:inline-block;transition:background .2s ease,border-color .2s ease;position:relative}.toggle-checkbox input[type=checkbox]:checked+.checkbox-custom{background:#007bff;border-color:#007bff}.toggle-checkbox input[type=checkbox]:checked+.checkbox-custom:after{content:"";position:absolute;left:5px;top:2px;width:4px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.refresh-icon{width:30px;height:30px;background-color:#f0f0f0;border:1px solid #ddd;border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s ease;margin-left:20%}.refresh-icon:hover{background-color:#e0e0e0}.refresh-icon svg{transition:transform .2s ease}.refresh-icon:hover svg{transform:rotate(90deg)}@media (max-width: 768px){.filter-container input{max-width:100%}.page-header{flex-direction:column;align-items:flex-start}.add-depot-vente-button{width:100%;text-align:center;margin-top:10px}}.auth-info{color:#38a169;text-align:center}.auth-link{text-align:center;margin-top:1rem}.auth-link a{color:#4f46e5;text-decoration:none}.auth-link a:hover{text-decoration:underline}.auth-container{display:flex;justify-content:center;align-items:center;height:79.5vh;background-color:#f2f2f2}.auth-card{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 8px #0000001a;width:100%;max-width:400px}.auth-title{text-align:center;margin-bottom:1.5rem;font-size:1.75rem;color:#333}.auth-input{padding:.75rem 1rem;font-size:1rem;border:1px solid #ddd;border-radius:4px;transition:border-color .3s ease,box-shadow .3s ease}.auth-button{background-color:#4f46e5;color:#fff;border:none;padding:.75rem;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .3s ease}.auth-error{color:#e3342f;text-align:center}.auth-success{color:#38a169;text-align:center}*,*:before,*:after{box-sizing:border-box}.employee-form{max-width:700px;margin:0 auto;padding:1.5rem;background:#fff;border-radius:8px}.form-title{text-align:center;font-size:1.4rem;margin-bottom:1rem}.form-error{color:#b91c1c;text-align:center;margin-bottom:1rem}.fields-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.fields-grid label{display:flex;flex-direction:column;font-size:.95rem;gap:.4rem}.employee-form .fields-grid input,.employee-form .fields-grid select,.employee-form .fields-grid textarea,.employee-form .fields-grid .password-input-wrapper input{height:44px;padding:.5rem .8rem;border:1px solid #ccc;border-radius:6px;font-size:1rem;line-height:1.2;background:#fff;transition:border-color .12s,box-shadow .12s}.fields-grid input:focus,.fields-grid select:focus,.fields-grid .password-input-wrapper input:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51f}.permissions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.permissions-header h3{font-size:1.1rem}.toggle-btn{background:none;border:none;color:#4f46e5;cursor:pointer;font-size:.9rem}.permissions-container{display:flex;flex-wrap:wrap;gap:1rem;padding:1rem;background:#f9f9f9;border-radius:6px;margin-bottom:1.5rem}.permission-group{flex:1 1 calc(50% - 1rem)}.permission-group-label{font-size:1rem;font-weight:600;margin-bottom:.4rem}.permission-group-items{display:flex;flex-direction:column;gap:.3rem}.checkbox-inline{display:flex;align-items:center;gap:.4rem;font-size:.9rem}.form-actions{display:flex;justify-content:flex-end;gap:1rem}.btn-cancel,.btn-submit{padding:.6rem 1.2rem;border-radius:6px;font-size:1rem;cursor:pointer;border:none;transition:background .2s}.btn-cancel{background:#ddd;color:#333}.btn-cancel:hover{background:#ccc}.btn-submit{background:#4f46e5;color:#fff}.btn-submit:hover{background:#4338ca}@media (max-width: 600px){.permission-group{flex:1 1 100%}}.password-input-wrapper{display:flex;align-items:center;gap:8px}.password-input-wrapper input{flex:1;min-width:0;margin:0}.password-toggle{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 10px;background:#fff;border:1px solid #ccc;border-radius:6px;cursor:pointer}.password-toggle svg{width:20px;height:20px;display:block;color:#333}.password-toggle:focus{outline:none;box-shadow:0 0 0 3px #4f46e51f;border-color:#4f46e5}.employee-form .fields-grid label{display:flex;flex-direction:column;gap:6px}.btn-submit:focus,.btn-cancel:focus,.toggle-btn:focus{outline:none;box-shadow:0 0 0 3px #4f46e514}.employee-list-card{background:#fff;padding:20px;border-radius:8px;box-shadow:0 4px 10px #0000001a;margin:1rem auto;overflow-x:auto}.employee-table{width:100%;border-collapse:collapse;min-width:800px}.employee-table th,.employee-table td{padding:10px;border:1px solid #ddd;text-align:left;font-size:.9rem}.employee-table th{background-color:#f4f4f4}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-box{background:#fff;border-radius:8px;max-width:720px;width:95%;max-height:90vh;overflow-y:auto;padding:2rem;box-shadow:0 8px 24px #0000001a;display:flex;flex-direction:column}.close-btn{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;color:#888;cursor:pointer;transition:color .2s}.close-btn:hover{color:#333}.modal-box h2{text-align:center;margin-bottom:1.5rem;color:#222;font-size:1.5rem}.modal-box h3{margin:0;font-size:1.2rem;color:#444}.section-header{display:flex;justify-content:space-between;align-items:center;margin:1rem 0 .5rem}.toggle-btn{background:none;border:none;display:flex;align-items:center;gap:.25rem;color:#4f46e5;font-weight:500;cursor:pointer;transition:color .2s}.toggle-btn:hover{color:#4338ca}.info-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-bottom:1.5rem}.info-grid label{display:flex;flex-direction:column;font-size:.95rem;color:#333}.info-grid input,.info-grid select{margin-top:.25rem;padding:.6rem 1rem;border:1px solid #ccc;border-radius:6px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.info-grid input:focus,.info-grid select:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e533}.checkbox-inline{display:flex;align-items:center;gap:.5rem;font-size:.95rem;color:#333}label.checkbox-inline{flex-direction:row;margin-top:20px;font-weight:400}.perms-container{display:flex;flex-wrap:wrap;gap:1rem;padding:1rem;background:#f9f9f9;border:1px solid #eee;border-radius:6px;margin-bottom:1.5rem}.perms-container>*{flex:1 1 calc(50% - 1rem)}.perm-group h4{margin-bottom:.5rem;font-size:1rem;color:#444}.perm-items{display:flex;flex-direction:column;gap:.5rem}.perm-items label{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#555}.modal-actions{display:flex;justify-content:flex-end;gap:1rem}.btn-primary,.btn-secondary{padding:.6rem 1.2rem;border-radius:6px;font-size:1rem;cursor:pointer;border:none;transition:background .2s}.btn-primary{background:#4f46e5;color:#fff}.btn-primary:hover{background:#4338ca}.btn-secondary{background:#ddd;color:#333}.btn-secondary:hover{background:#ccc}@media (max-width: 600px){.perms-container>*{flex:1 1 100%}}.employees-page{padding:20px;min-height:80vh;box-sizing:border-box}.employee-list{background:#fff;padding:20px;border-radius:8px;box-shadow:0 4px 10px #0000001a;margin:1rem auto;overflow-x:auto}.employee-table{width:100%;border-collapse:collapse}.employee-table th,.employee-table td{border:1px solid #ddd;padding:10px;text-align:left;font-size:.9rem}.employee-table th{background-color:#f2f2f2}.employee-table tr:nth-child(2n){background-color:#f9f9f9}.employee-table button{background-color:#4f46e5;color:#fff;border:none;padding:4px 8px;border-radius:4px;margin:2px;cursor:pointer;transition:background-color .3s;font-size:.8rem}.employee-table button:hover{background-color:#1d4ed8;color:#fff}.error{color:#e3342f;text-align:center;margin-bottom:1rem}.add-employee-button{background-color:#4f46e5;color:#fff;border:none;padding:10px 16px;border-radius:4px;cursor:pointer;transition:background-color .3s ease}.add-employee-button:hover{background-color:#1d4ed8}.auth-container{height:79.5vh;background-color:#f9fafb;display:flex;align-items:center;justify-content:center;padding:4rem 1rem}.auth-card{background:#fff;padding:2rem;border-radius:1rem;box-shadow:0 20px 25px -5px #0000001a;max-width:400px;width:100%}.auth-title{font-size:1.875rem;font-weight:700;text-align:center;margin-bottom:1.5rem;color:#1f2937}.auth-error{color:#e3342f;margin-bottom:1rem;text-align:center}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-input{padding:.75rem 1rem;font-size:1rem;border:1px solid #ccc;border-radius:4px;transition:border-color .2s ease;color:#000}.auth-input:focus{border-color:#4f46e5;outline:none}.input-error{border-color:#e3342f!important}.field-error{color:#e3342f;font-size:.85rem;margin-top:-8px;margin-bottom:8px;text-align:left}.auth-button{display:block;width:100%;padding:1rem;background-color:#4f46e5;color:#fff;border:none;border-radius:.5rem;font-weight:600;cursor:pointer;transition:background-color .3s ease}.auth-button:hover{background-color:#1d4ed8}.auth-signup{text-align:center;font-size:.9rem;margin-top:1rem;color:#6b7280}.auth-signup-link{color:#4f46e5;text-decoration:none}.auth-signup-link:hover{text-decoration:underline}:root{--brand: #3b82f6;--brand-dark:#1d4ed8;--ink: #0f172a;--text: #334155;--muted:#64748b;--bg:#f8fafc;--card:#ffffff;--gold:#b58e2a;--line:#e5e7eb;--success-bg:#e8fff1;--success:#0f766e;--error-bg:#fff1f1;--error:#b91c1c;--shadow: 0 8px 24px rgba(2,6,23,.06)}html,body{background:radial-gradient(1200px 600px at 50% -200px,#eef2ff,#f8fafc 60%,#f8fafc)}.cvhq-root{min-height:100svh;display:grid;grid-template-rows:auto 1fr auto}.cvhq-hero{border-bottom:1px solid var(--line);background:linear-gradient(90deg,rgba(181,142,42,.25) 0,transparent 25% 75%,rgba(181,142,42,.25)),#fff}.cvhq-hero-inner{max-width:960px;margin:0 auto;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}.cvhq-brand{display:flex;align-items:center;gap:14px;color:var(--ink)}.cvhq-logo{width:36px;height:36px;color:var(--gold)}.cvhq-brand-title{font-weight:600;letter-spacing:.2px;font-size:18px}.cvhq-brand-sub{font-size:12px;color:var(--muted)}.cvhq-badge{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--ink);border:1px solid var(--line);background:#fff;padding:6px 10px;border-radius:999px}.cvhq-lock{font-size:14px}.cvhq-card{max-width:960px;margin:24px auto;padding:clamp(16px,3vw,28px);background:var(--card);border-radius:16px;box-shadow:var(--shadow);border:1px solid var(--line)}.cvhq-title{font-size:clamp(22px,2.2vw,28px);color:var(--ink);margin:0 0 6px}.cvhq-subtitle{color:var(--muted);margin:0 0 18px}.cvhq-piece{color:var(--ink);font-weight:600}.cvhq-feedback{margin:8px 0 18px;padding:12px 14px;border-radius:10px;border:1px solid var(--line);font-weight:500}.cvhq-feedback.success{background:var(--success-bg);color:var(--success);border-color:#99f6e4}.cvhq-feedback.error{background:var(--error-bg);color:var(--error);border-color:#fecaca}.cvhq-skeleton .sk-line{height:14px;background:linear-gradient(90deg,#f3f4f6,#e5e7eb,#f3f4f6);background-size:200% 100%;animation:shimmer 1.1s infinite linear;border-radius:6px;margin-bottom:10px}.cvhq-skeleton .w40{width:40%}.cvhq-skeleton .w60{width:60%}.cvhq-skeleton .sk-table{margin-top:8px}.cvhq-skeleton .sk-row{display:flex;gap:10px;margin-bottom:8px}.cvhq-skeleton .sk-col{flex:1;height:14px;background:linear-gradient(90deg,#f3f4f6,#e5e7eb,#f3f4f6);background-size:200% 100%;animation:shimmer 1.1s infinite linear;border-radius:6px}.cvhq-skeleton .w50{flex:0 0 50%}.cvhq-skeleton .w20{flex:0 0 20%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.cvhq-table-wrap{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.cvhq-table{width:100%;border-collapse:collapse;font-size:15px;color:var(--ink)}.cvhq-table th,.cvhq-table td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--line)}.cvhq-table th{background:#f8fafc;color:var(--text);font-weight:600}.cvhq-total-row td{background:#fcfcfd;font-weight:700}.cvhq-cards{display:none;padding:12px}.q-card{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff;box-shadow:0 2px 6px #0206170a;margin-bottom:10px}.q-card-total{border-width:2px}.q-card-line{display:flex;align-items:center;justify-content:space-between;gap:10px}.q-card-label{color:var(--muted);font-size:13px}.q-card-value{color:var(--ink);font-weight:600}.cvhq-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;flex-wrap:wrap}.cvhq-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;border-radius:12px;font-weight:600;padding:12px 18px;transition:transform .15s ease,box-shadow .2s ease}.cvhq-btn-primary{color:#fff;background:linear-gradient(180deg,var(--brand),var(--brand-dark));box-shadow:0 6px 16px #1d4ed840}.cvhq-btn-primary:hover:not(:disabled){transform:translateY(-1px)}.cvhq-btn-primary:disabled{opacity:.7;cursor:not-allowed;box-shadow:none}.cvhq-btn-loader{display:inline-flex;align-items:center;gap:10px}.cvhq-btn-block{width:100%}.cvhq-help{color:var(--muted);font-size:14px}.cvhq-link{color:var(--brand-dark);text-decoration:none}.cvhq-link:hover{text-decoration:underline}.cvhq-sticky-cta{position:sticky;bottom:0;z-index:20;margin-top:24px;background:linear-gradient(180deg,#fff0,#ffffffe6 30%,#fff 70%);padding:12px 16px;border-top:1px solid var(--line);display:none}.cvhq-footer{max-width:960px;margin:0 auto 20px;padding:0 20px;display:flex;gap:10px;flex-wrap:wrap;justify-content:center;color:var(--muted);font-size:12px}.cvhq-footer .sep{opacity:.5}@media (max-width: 720px){.cvhq-hero-inner{padding:16px}.cvhq-card{margin:12px auto;border-radius:14px}.cvhq-actions{gap:10px}.cvhq-help{width:100%;text-align:center}.cvhq-sticky-cta,.cvhq-table--desktop{display:none}.cvhq-table--mobile,.cvhq-cards{display:block}.cvhq-note{padding:12px;border-radius:10px}.cvhq-note-text{font-size:14px}}.cvhq-note{display:flex;gap:12px;align-items:flex-start;margin:14px 0 8px;padding:12px 14px;border:1px dashed var(--gold);background:#fffaf0;border-radius:12px;color:var(--ink)}.cvhq-note-icon{font-size:20px;line-height:1;color:var(--gold)}.cvhq-note-text{font-size:14px;line-height:1.6}.cvhq-note-text a{color:var(--brand-dark);text-decoration:underline}.cvhq-resend-wrap{margin:14px 0 18px}.cvhq-resend-card{border:1px solid var(--line);background:#fff;border-radius:12px;padding:14px;box-shadow:0 4px 12px #0206170a}.cvhq-resend-form{display:grid;gap:10px}.cvhq-label{font-weight:600;color:var(--ink);font-size:14px}.cvhq-input-row{display:flex;align-items:stretch;gap:10px}.cvhq-input{flex:1 1 auto;min-width:0;height:42px;border:1px solid var(--line);border-radius:10px;padding:0 12px;font-size:15px;color:var(--ink);background:#fff;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.cvhq-input::placeholder{color:#94a3b8}.cvhq-input:focus{border-color:var(--brand);box-shadow:0 0 0 4px #3b82f626}.cvhq-btn-secondary{height:42px;padding:0 14px;background:#f8fafc;border:1px solid var(--line);color:var(--ink);box-shadow:0 2px 6px #0206170a}.cvhq-btn-secondary:hover:not(:disabled){transform:translateY(-1px)}.cvhq-btn-secondary:disabled{opacity:.65;cursor:not-allowed;transform:none;box-shadow:none}.cvhq-helptext{color:var(--muted);font-size:13px;margin-top:-2px}@media (max-width: 640px){.cvhq-input-row{flex-direction:column}.cvhq-btn-secondary{width:100%}}.force-change-password-container{display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:#f8f9fa}.force-change-password-container h1{font-size:2rem;margin-bottom:1rem;color:#333}.force-change-password-container p{font-size:1rem;margin-bottom:2rem;color:#555;text-align:center;max-width:500px}.force-change-password-container form{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:400px}.force-change-password-container input[type=password]{padding:.75rem;font-size:1rem;border:1px solid #ccc;border-radius:.375rem;outline:none;transition:border-color .2s ease}.force-change-password-container input[type=password]:focus{border-color:#4f46e5}.force-change-password-container button[type=submit]{padding:.75rem;font-size:1rem;color:#fff;background-color:#4f46e5;border:none;border-radius:.375rem;cursor:pointer;transition:background-color .2s ease}.force-change-password-container button[type=submit]:hover{background-color:#1e40af}.control-list-container{background:#fff;padding:20px;border-radius:8px;box-shadow:0 4px 10px #0000001a;margin:1rem auto;max-width:100%;overflow-x:auto}.control-table{width:100%;border-collapse:collapse;min-width:800px}.control-table th,.control-table td{padding:10px;border:1px solid #ddd;text-align:left;font-size:.9rem}.control-table th{background-color:#f4f4f4}.control-table tr:nth-child(2n){background-color:#f9f9f9}.control-table button{background-color:#4f46e5;color:#fff;border:none;padding:4px 8px;border-radius:4px;margin:2px;cursor:pointer;transition:background-color .3s;font-size:.8rem}.control-table button:hover{background-color:#1d4ed8}.control-table button:disabled{background-color:#ccc!important;color:#888!important;border-color:#ccc!important;cursor:not-allowed;opacity:.7}.control-table tr.overdue{background-color:#ffecec;border-left:4px solid #e3342f;font-weight:700;color:#a10000}.control-form{display:flex;flex-direction:column;gap:1rem;background-color:#fff;padding:20px;border-radius:8px;max-width:600px;margin:0 auto;width:100%;box-sizing:border-box}.control-form label{font-weight:700}.control-form input,.control-form textarea{padding:8px;border:1px solid #ccc;border-radius:4px}.control-form button{align-self:flex-end;padding:8px 16px;background-color:#4f46e5;color:#fff;border:none;border-radius:4px;cursor:pointer}.modal-content{background:#fff;padding:20px;border-radius:8px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto}.edit-control-form{display:flex;flex-direction:column;gap:1rem;background-color:#fff;padding:20px;border-radius:8px;max-width:600px;margin:0 auto;width:100%;box-sizing:border-box}.edit-control-form .form-group label{font-weight:700}.edit-control-form input,.edit-control-form textarea{padding:8px;border:1px solid #ccc;border-radius:4px}.modal-content{background:#fff;padding:20px;border-radius:8px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;position:relative}.validate-form{display:flex;flex-direction:column;gap:1rem;background-color:#fff;padding:20px;border-radius:8px;max-width:600px;margin:0 auto;width:100%;box-sizing:border-box}.validate-form .form-group label{font-weight:700}.validate-form input,.validate-form select,.validate-form textarea{padding:8px;border:1px solid #ccc;border-radius:4px}.controls-page{padding:20px}.add-control-button{background-color:#4f46e5;color:#fff;border:none;padding:10px 16px;border-radius:4px;cursor:pointer;transition:background-color .3s ease}.add-control-button:hover{background-color:#1d4ed8}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content.payment-validation-modal{background:#fff;border-radius:12px;padding:30px;width:90%;max-width:500px;position:relative;box-shadow:0 8px 24px #00000026;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-close{position:absolute;top:10px;right:15px;background:transparent;border:none;font-size:1.5rem;cursor:pointer}.payment-validation-modal h2{text-align:center;margin-bottom:20px;color:#4f46e5}.payment-details p{margin:10px 0;font-size:1rem;color:#333}.validation-form{display:flex;flex-direction:column;gap:1rem;background-color:#fff;padding:20px;border-radius:8px;max-width:600px;margin:0 auto;width:100%;box-sizing:border-box}.modal-content.payment-validation-modal .validation-form label{padding:0}.validation-form label{display:flex;flex-direction:column;font-size:.95rem;color:#555}.validation-form select,.validation-form input[type=date]{padding:8px 10px;margin-top:5px;border:1px solid #ccc;border-radius:4px;font-size:1rem}.confirm-button{background-color:#4f46e5;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;flex:1;margin-right:10px;transition:background-color .3s}.confirm-button:hover{background-color:#1d4ed8}.cancel-button{background-color:#ccc;color:#333;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;flex:1;transition:background-color .3s}.cancel-button:hover{background-color:#b3b3b3}.late-fee-box{margin:10px 0 16px;padding:10px 12px;border-radius:6px;border:1px solid #e2dfda;background-color:#f8f4ef;font-size:.9rem}.late-fee-box--active{border-color:#b30000;background-color:#fff0f0}.late-fee-title{font-weight:600;margin-bottom:4px}.late-fee-note{margin-top:6px;font-size:.8rem;color:#666}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;overflow-x:hidden;overflow-y:auto}.export-modal{background:#fff;border-radius:12px;width:100%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 4px 20px #00000026;overflow:hidden}.export-modal header,.export-modal footer{padding:1rem 1.5rem;background:#f9fafb;flex-shrink:0}.export-modal header{display:flex;justify-content:space-between;align-items:center}.export-modal header h3{margin:0;font-size:1.25rem;font-weight:600}.modal-body{padding:1rem 1.5rem;flex:1;overflow-y:auto;overflow-x:hidden;display:flex;flex-wrap:wrap;gap:1rem}.filter-group{flex:1 1 45%;min-width:200px;display:flex;flex-direction:column}.filter-group label{font-size:.9rem;margin-bottom:.25rem;color:#374151}.filter-group input,.filter-group select{width:100%;box-sizing:border-box;padding:.5rem;border:1px solid #d1d5db;border-radius:6px;font-size:.95rem;transition:border-color .2s,box-shadow .2s;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.filter-group input:focus,.filter-group select:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 2px #6366f133}.filter-group.date-range{flex:1 1 100%;display:flex;flex-direction:column}.filter-group.date-range .date-inputs{display:flex;gap:.5rem}.filter-group.date-range input{flex:1;margin:0}.btn-close{background:transparent;border:none;font-size:1.3rem;color:#6b7280;cursor:pointer;transition:color .2s}.btn-close:hover{color:#374151}.btn-download{background-color:#4f46e5;color:#fff;border:none;padding:.75rem 1.25rem;border-radius:6px;font-size:1rem;align-self:flex-end;display:inline-flex;align-items:center;gap:.5rem;transition:background-color .2s,transform .1s}.btn-download:hover{background-color:#4338ca;transform:translateY(-1px)}.btn-download:active{transform:translateY(0)}.btn-download:disabled{background-color:#9ca3af;cursor:not-allowed}.warning{display:flex;align-items:center;gap:.25rem;margin-top:.25rem;font-size:.8rem;color:#b45309}.warning:before{content:"⚠️"}@media (max-width: 600px){.modal-body{flex-direction:column;gap:.75rem}.filter-group{flex:1 1 100%}}.payment-list-container{background:#fff;padding:20px;border-radius:8px;box-shadow:0 4px 10px #0000001a;margin:1rem auto;max-width:100%;overflow-x:auto}.payment-table{width:100%;border-collapse:collapse;min-width:800px}.payment-table th,.payment-table td{padding:10px;border:1px solid #ddd;text-align:left;font-size:.9rem}.payment-table th{background-color:#f4f4f4}.payment-table tr:nth-child(2n){background-color:#f9f9f9}.payment-table tr.overdue{background-color:#ffecec;border-left:4px solid #e3342f;font-weight:700;color:#a10000}.payment-table button{background-color:#4f46e5;color:#fff;border:none;padding:4px 8px;border-radius:4px;margin:2px;cursor:pointer;transition:background-color .3s;font-size:.8rem}.payment-table button:hover{background-color:#1d4ed8}.payment-table button:disabled{background-color:#ccc!important;color:#888!important;border-color:#ccc!important;cursor:not-allowed;opacity:.7}.photos-container{display:flex;gap:5px}.photo-thumbnail{width:50px;height:auto;border-radius:4px;object-fit:cover}.payment-list-container h2{margin-top:0}.btn.btn-export{background-color:#4f46e5;color:#fff;border:none;padding:10px 16px;border-radius:4px;cursor:pointer;transition:background-color .3s ease}.btn.btn-export:hover{background-color:#4338ca}.header-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.overdue60-module{background:#f5f3f1;border-radius:8px;padding:12px 16px;margin-bottom:16px;border:1px solid #e2dfda}.overdue60-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.overdue60-header h3{margin:0;font-size:1rem;font-weight:600}.overdue60-count{font-size:.9rem;color:#555}.overdue60-empty{margin:0;font-size:.9rem;color:#777}.overdue60-list{display:flex;flex-direction:column;gap:8px}.overdue60-item{background:#fff;border-radius:6px;padding:8px 10px;border:1px solid #e2dfda;font-size:.9rem}.overdue60-main{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}.overdue60-main strong{font-weight:600}.overdue60-days{font-size:.85rem;color:#b30000}.overdue60-details{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:.85rem}.overdue60-details a{text-decoration:none}.payment-table tr.overdue{background-color:#fff0f0}.payment-table tr.overdue-60{background-color:#000!important;color:#fff!important}.payment-table tr.overdue-60 a{color:#fff!important}.payment-table tr.overdue-60 td{border-color:#333}.overdue60-item.overdue60-clickable{cursor:pointer;transition:background-color .15s ease,transform .1s ease}.overdue60-item.overdue60-clickable:hover{background-color:#ebe4dc;transform:translateY(-1px)}.paiements-page{padding:20px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.add-payment-button{background-color:#4f46e5;color:#fff;border:none;padding:10px 16px;border-radius:4px;cursor:pointer;transition:background-color .3s ease}.add-payment-button:hover{background-color:#1d4ed8}.error{color:red;margin-bottom:10px}.pay-sum-card{margin:8px 0 16px;background:#fff;border:1px solid #e7e7e7;border-radius:12px;padding:14px;box-shadow:0 2px 8px #0000000d}.pay-sum-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}.pay-sum-title{font-size:1.05rem;margin:0}.pay-sum-total{color:#555}.pay-sum-pills{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.pill{display:inline-flex;align-items:center;gap:8px;border:1px solid #e5e7eb;background:#f9fafb;padding:8px 12px;border-radius:999px;font-size:.9rem;cursor:pointer;transition:transform .06s ease,background-color .2s ease,border-color .2s ease}.pill:hover{transform:translateY(-1px);background:#f3f4f6;border-color:#d1d5db}.pill.active{background:#eef2ff;border-color:#c7d2fe}.pill-count{background:#111827;color:#fff;padding:2px 8px;border-radius:999px;font-weight:600;font-size:.8rem}.pill-dot{width:8px;height:8px;border-radius:50%}.pill-dot-warning{background:#f59e0b}.pill-dot-success{background:#10b981}.pill-dot-neutral{background:#9ca3af}.pay-sum-meters{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.meter{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 8px auto;gap:6px 10px;align-items:center}.meter-label{grid-column:1;font-size:.85rem;color:#374151}.meter-bar{grid-column:1 / span 2;height:8px;background:#f3f4f6;border-radius:999px;overflow:hidden;border:1px solid #e5e7eb}.meter-fill{height:100%}.meter-warning{background:#f59e0b}.meter-success{background:#10b981}.meter-neutral{background:#9ca3af}.meter-val{grid-column:2;font-size:.8rem;color:#6b7280}@media (prefers-color-scheme: dark){.pay-sum-card{background:#0f1115;border-color:#242733;box-shadow:none}.pay-sum-total{color:#cbd5e1}.pill{background:#141824;border-color:#232838;color:#e5e7eb}.pill:hover{background:#1a2031;border-color:#2f3851}.pill.active{background:#192142;border-color:#334155}.pill-count{background:#e5e7eb;color:#111827}.meter-bar{background:#1b2132;border-color:#2a344d}.meter-label,.meter-val{color:#cbd5e1}}.pay-sum-right{display:flex;align-items:baseline;gap:14px}.pay-sum-net{color:#111827}@media (prefers-color-scheme: dark){.pay-sum-net{color:#e5e7eb}}.signup-success-container{display:flex;align-items:center;justify-content:center;height:100vh;background:#f8f9fa;padding:20px}.signup-success-box{background:#fff;border-radius:8px;padding:30px;max-width:400px;width:100%;text-align:center;box-shadow:0 4px 10px #0000001a;animation:fadeInUp .5s ease-out}.signup-success-box h1{font-size:2rem;margin-bottom:20px;color:#343a40}.signup-success-box p{font-size:1rem;color:#6c757d;margin-bottom:20px}.signup-success-button{background-color:#007bff;color:#fff;padding:10px 20px;border:none;border-radius:5px;font-size:1rem;cursor:pointer;transition:background-color .3s ease}.signup-success-button:hover{background-color:#0069d9}:root{--clr-primary: #4f46e5;--clr-bg: #f5f7fa;--clr-card: #ffffff;--clr-text: #374151;--clr-subtext: #6b7280;--clr-success-bg: #e6ffed;--transition: .3s ease}.client-history{padding:2rem;background:var(--clr-bg);min-height:100vh}.ch-header{text-align:center;margin-bottom:2rem}.ch-header h1{font-size:1.8rem;margin-bottom:.25rem;color:var(--clr-text)}.ch-client-name{color:var(--clr-primary)}.ch-client-email{font-size:.9rem;color:var(--clr-subtext)}.ch-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;margin-bottom:2rem}.ch-card{background:var(--clr-card);padding:1rem;border-radius:8px;box-shadow:0 4px 12px #0000000d;text-align:center;transition:transform var(--transition)}.ch-card:hover{transform:translateY(-4px)}.ch-card h3{margin-bottom:.5rem;font-size:1rem;color:var(--clr-text)}.ch-card p{font-size:1.4rem;font-weight:600;color:var(--clr-primary)}.ch-card.total{background:#eef2ff}.ch-list{margin-bottom:2rem}.ch-list h2{margin-bottom:.75rem;font-size:1.2rem;color:var(--clr-text)}.ch-list ul{list-style:none;padding:0}.ch-empty-item{color:var(--clr-subtext)}.ch-item{margin-bottom:.5rem}.ch-item a{display:grid;grid-template-columns:1.5fr 1fr 1fr;align-items:center;background:var(--clr-card);padding:.75rem 1rem;border-radius:6px;text-decoration:none;color:var(--clr-text);box-shadow:0 2px 6px #0000000a;transition:background var(--transition),transform var(--transition)}.ch-item a:hover{background:var(--clr-bg);transform:translateY(-2px)}.ch-number{font-weight:500}.ch-date{color:var(--clr-subtext);font-size:.9rem}.ch-amount{text-align:right;font-weight:600;color:var(--clr-primary)}.ch-paid a{background-color:var(--clr-success-bg)}.loading-container,.error-container,.ch-empty{text-align:center;padding:2rem;color:var(--clr-text)}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{font-size:1.1rem;font-weight:500;margin-bottom:.5rem}.loading-subtext{font-size:.875rem;color:var(--clr-subtext)}@media (max-width: 600px){.ch-item a{grid-template-columns:1fr 1fr;grid-template-rows:auto auto;row-gap:.25rem}.ch-amount{grid-column:1 / -1;text-align:left}}.ch-client-email{font-size:.9rem;color:var(--clr-subtext);margin-top:.25rem}.ch-mailto{display:inline-flex;align-items:center;text-decoration:none;color:var(--clr-subtext);transition:color var(--transition)}.ch-mailto-icon{margin-right:.5rem;font-size:1rem}.ch-mailto-text{font-weight:500}.ch-mailto:hover{color:var(--clr-primary)}.ch-client-phone{font-size:.9rem;color:var(--clr-subtext);margin-top:.15rem}.ch-tel{display:inline-flex;align-items:center;text-decoration:none;color:var(--clr-subtext);transition:color var(--transition)}.ch-tel-icon{margin-right:.5rem;font-size:1rem}.ch-tel-text{font-weight:500}.ch-tel:hover{color:var(--clr-primary)}.qr-form{background:#fff;padding:20px;border-radius:8px;max-width:500px;margin:0 auto;display:flex;flex-direction:column}.qr-form h2{margin-bottom:1rem;font-size:1.5rem;color:#333}.qr-form label{margin-top:.75rem;font-weight:600;color:#555}.qr-form select,.qr-form input{margin-top:.25rem;padding:8px;border:1px solid #ccd0d5;border-radius:4px;font-size:.9rem;box-sizing:border-box;width:100%}.qr-form .travaux-fieldset{margin-top:1rem;border:1px solid #e5e7eb;border-radius:4px;padding:10px}.qr-form .travaux-item{display:flex;align-items:center;margin-bottom:8px}.qr-form .travaux-item input[type=checkbox]{margin-right:8px}.qr-form .travaux-price{margin-left:auto;width:80px;padding:6px;border:1px solid #ccd0d5;border-radius:4px}.qr-form .total-price{margin-top:.5rem;font-weight:700;color:#333}.qr-form button{margin-top:1.5rem;background:#4f46e5;color:#fff;border:none;padding:10px;border-radius:4px;cursor:pointer;font-size:1rem;transition:opacity .2s ease}.qr-form button:disabled{opacity:.6;cursor:not-allowed}.qr-list-container{background:#fff;padding:16px;border-radius:8px;box-shadow:0 4px 10px #0000000d;margin:1rem auto;max-width:100%;overflow-x:auto}.qr-table{width:100%;border-collapse:collapse;margin-top:12px}.qr-table th,.qr-table td{padding:10px;border:1px solid #e5e7eb;font-size:.9rem;text-align:left}.qr-table th{background-color:#f3f4f6;font-weight:700}.qr-table tr:nth-child(2n){background-color:#f9fafb}.qr-table tr:hover{background-color:#f1f1f1}.qr-table button{background-color:#4f46e5;color:#fff;border:none;padding:4px 8px;border-radius:4px;margin:2px;cursor:pointer;font-size:.8rem;transition:background-color .3s ease}.qr-table button:hover{background-color:#1d4ed8}.qr-sum-card{margin:8px 0 16px;background:#fff;border:1px solid #e7e7e7;border-radius:12px;padding:14px;box-shadow:0 2px 8px #0000000d}.qr-sum-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}.qr-sum-title{font-size:1.05rem;margin:0}.qr-sum-right{display:flex;align-items:baseline;gap:14px}.qr-sum-net{color:#111827}.qr-sum-pills{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.qr-pill{display:inline-flex;align-items:center;gap:8px;border:1px solid #e5e7eb;background:#f9fafb;padding:8px 12px;border-radius:999px;font-size:.9rem;cursor:pointer;transition:transform .06s ease,background-color .2s ease,border-color .2s ease}.qr-pill:hover{transform:translateY(-1px);background:#f3f4f6;border-color:#d1d5db}.qr-pill.active{background:#eef2ff;border-color:#c7d2fe}.qr-pill-count{background:#111827;color:#fff;padding:2px 8px;border-radius:999px;font-weight:600;font-size:.8rem}.qr-pill-dot{width:8px;height:8px;border-radius:50%;background:#6366f1}.qr-sum-meters{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}@media (min-width: 900px){.qr-sum-meters{grid-template-columns:repeat(3,1fr)}}.qr-meter{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 8px auto;gap:6px 10px;align-items:center}.qr-meter-label{grid-column:1;font-size:.85rem;color:#374151}.qr-meter-bar{grid-column:1 / span 2;height:8px;background:#f3f4f6;border-radius:999px;overflow:hidden;border:1px solid #e5e7eb}.qr-meter-fill{height:100%;background:#6366f1}.qr-meter-val{grid-column:2;font-size:.8rem;color:#6b7280}@media (prefers-color-scheme: dark){.qr-sum-card{background:#0f1115;border-color:#242733;box-shadow:none}.qr-sum-net{color:#e5e7eb}.qr-pill{background:#141824;border-color:#232838;color:#e5e7eb}.qr-pill:hover{background:#1a2031;border-color:#2f3851}.qr-pill.active{background:#192142;border-color:#334155}.qr-pill-count{background:#e5e7eb;color:#111827}.qr-meter-bar{background:#1b2132;border-color:#2a344d}.qr-meter-label,.qr-meter-val{color:#cbd5e1}}.quick-repairs-page{padding:20px;min-height:80vh}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.page-title{font-size:2rem;color:#1f2937;margin:0;font-weight:700}.add-button{background-color:#4f46e5;color:#fff;border:none;padding:10px 16px;border-radius:4px;cursor:pointer;transition:background-color .3s ease}.add-button:hover{background-color:#1d4ed8}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;padding:20px;border-radius:8px;width:90%;max-width:500px;position:relative}.error{color:#dc2626;margin-top:.5rem}.qr-toolbar{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px;flex-wrap:wrap}.qr-filters{flex:1 1 auto;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.qr-sorting{flex:0 0 auto;display:flex;align-items:center;gap:8px;white-space:nowrap}.qr-filters input,.qr-sorting select{padding:8px;border:1px solid #ddd;border-radius:4px;font-size:.9rem;min-width:150px;box-sizing:border-box}@media (max-width: 900px){.qr-sorting{width:100%;justify-content:flex-start;white-space:normal}.qr-count{margin-left:0}}.sav-list-container{background:#fff;padding:20px;border-radius:8px;box-shadow:0 4px 10px #0000001a;margin:1rem auto;max-width:100%;overflow-x:auto}.sav-header-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.sav-table{width:100%;border-collapse:collapse;min-width:800px}.sav-table th,.sav-table td{padding:10px;border:1px solid #ddd;text-align:left;font-size:.9rem}.sav-table th{background-color:#f4f4f4}.sav-table tr:nth-child(2n){background-color:#f9f9f9}.sav-table tr.overdue{background-color:#ffecec;border-left:4px solid #e3342f;font-weight:700;color:#a10000}.sav-table button{background-color:#4f46e5;color:#fff;border:none;padding:4px 8px;border-radius:4px;margin:2px;cursor:pointer;transition:background-color .3s;font-size:.8rem}.sav-table button:hover{background-color:#1d4ed8}.sav-table button:disabled{background-color:#ccc!important;color:#888!important;border-color:#ccc!important;cursor:not-allowed;opacity:.7}.sav-badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:.78rem;font-weight:700;line-height:1;border:1px solid #e5e7eb;background:#f8fafc;color:#111827}.sav-prio-basse{background:#f3faf7;border-color:#c7eed8;color:#065f46}.sav-prio-normal{background:#eef2ff;border-color:#c7d2fe;color:#3730a3}.sav-prio-haute{background:#fff7ed;border-color:#fed7aa;color:#9a3412}.sav-prio-critique{background:#fef2f2;border-color:#fecaca;color:#991b1b}.sav-st-ouvert{background:#ecfeff;border-color:#a5f3fc;color:#155e75}.sav-st-en\ cours{background:#f5f3ff;border-color:#ddd6fe;color:#5b21b6}.sav-st-clôturé{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.sav-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.sav-muted{color:#6b7280}.savm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.savm{width:100%;max-width:980px;max-height:92vh;background:linear-gradient(180deg,#fff,#fcfcfd);border:1px solid #e9eef5;border-radius:16px;box-shadow:0 30px 80px #0206172e,0 10px 30px #0206171f;display:flex;flex-direction:column;overflow:hidden;animation:pop .18s ease-out}@keyframes pop{0%{transform:translateY(8px) scale(.98);opacity:.7}to{transform:translateY(0) scale(1);opacity:1}}.savm-header{position:sticky;top:0;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #edf1f6;z-index:2}.savm-title{font-size:1.05rem;font-weight:700;letter-spacing:.2px}.savm-actions{display:flex;gap:8px}.savm-body{padding:18px;overflow:auto;display:grid;gap:16px}.savm-footer{position:sticky;bottom:0;background:linear-gradient(180deg,#ffffffd9,#fff 90%);border-top:1px solid #edf1f6;padding:12px 18px;display:flex;justify-content:flex-end;gap:10px}.card{background:#fff;border:1px solid #ecf1f7;border-radius:12px;padding:14px;box-shadow:0 6px 20px #0206170a}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:1fr}@media (min-width: 880px){.grid-2{grid-template-columns:1fr 1fr}}.btn{border:1px solid #e3e8ef;background:#f8fafc;color:#0f172a;padding:10px 14px;border-radius:10px;cursor:pointer;font-weight:600;transition:all .15s ease}.btn:hover{background:#f1f5f9}.btn.ghost{background:transparent}.btn.primary{background:#0ea5e9;color:#fff;border-color:#0ea5e9}.btn.primary:hover{filter:brightness(.95)}.btn.tiny{padding:6px 10px;border-radius:8px}.form-row{display:grid;gap:6px;margin-bottom:12px}label{font-weight:600;font-size:.95rem;color:#0f172a}input,select,textarea{border:1px solid #e6ecf2;border-radius:10px;padding:10px 12px;outline:none;background:#fff;transition:border .12s ease,box-shadow .12s ease}input:focus,select:focus,textarea:focus{border-color:#84caff;box-shadow:0 0 0 4px #0ea5e91f}textarea{resize:vertical}.kv{display:grid;grid-template-columns:140px 1fr;gap:8px;padding:6px 0}.k{color:#475569;font-weight:600}.v{color:#0f172a}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.muted{color:#6b7280}.section-title{font-weight:700;margin-bottom:10px}.timeline{position:relative;margin-top:8px}.tl-item{display:grid;grid-template-columns:18px 1fr;gap:10px;margin:10px 0}.tl-dot{width:10px;height:10px;border-radius:50%;background:#0ea5e9;margin-top:6px;box-shadow:0 0 0 4px #0ea5e91f}.tl-date{font-size:.85rem;color:#64748b}.tl-text{margin-top:2px}.assignee-selected{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;background:#f8fafc;border:1px solid #edf2f7;border-radius:10px;margin-bottom:10px}.assignee-selected .left{display:flex;gap:10px;align-items:center}.avatar{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#e0f2fe;color:#0369a1;font-weight:800}.avatar.lg{width:36px;height:36px}.assignee-name{font-weight:700}.assignee-role{font-size:.85rem}.assignee-select{display:grid;gap:8px}.assignee-search{width:100%}.assignee-list{border:1px solid #ecf1f7;border-radius:10px;max-height:220px;overflow:auto;background:#fff}.assignee-item{width:100%;display:flex;align-items:center;gap:10px;padding:8px 10px;border:0;background:transparent;cursor:pointer;border-bottom:1px solid #f3f6fb}.assignee-item:last-child{border-bottom:0}.assignee-item:hover{background:#f8fafc}.assignee-item.selected{background:#e6f6ff}.assignee-meta{display:grid}.assignee-empty{padding:8px 10px}.sav-page{padding:20px}.sav-header{display:flex;justify-content:space-between;align-items:center}.sav-page-title{margin:0 0 8px}.sav-filters{display:flex;gap:8px}.sav-select{border:1px solid #ddd;border-radius:8px;padding:10px 12px;background:#fff}.sav-open-box{position:relative;margin:16px 0 24px;background:#fff;border:1px solid #e7e7e7;border-radius:10px;padding:16px;box-shadow:0 2px 6px #0000000a}.sav-open-box__label{font-weight:600;margin-bottom:8px}.sav-input{width:25rem;max-width:100%;border:1px solid #ddd;border-radius:8px;padding:10px 12px}.sav-seed-loading{margin-top:8px;font-size:.9rem;opacity:.7}.sav-seed-dropdown{position:absolute;z-index:20;left:16px;right:16px;top:calc(100% - 8px);background:#fff;border:1px solid #ddd;border-radius:10px;margin-top:8px;max-height:320px;overflow-y:auto;box-shadow:0 10px 20px #00000014}.sav-seed-item{width:100%;text-align:left;padding:10px 12px;border:0;background:#fff;cursor:pointer}.sav-seed-item:hover,.sav-seed-item[aria-selected=true],.sav-seed-item.is-active{background:#f2f6ff}.sav-seed-line{font-weight:600}.sav-seed-sub{font-size:.9rem;opacity:.8;margin-top:2px}@media (prefers-color-scheme: dark){body{background-color:#242424}a:hover{color:#747bff}.sav-select,.sav-mono,input[type=text]:focus,input[type=email]:focus,input[type=number]:focus,input[type=date]:focus,textarea:focus,select:focus,.sav-seed-line span,.sav-seed-sub,.sav-input{color:#213547}}.valuation-certificate-table{width:100%;border-collapse:collapse;margin-top:20px}.valuation-certificate-table th,.valuation-certificate-table td{border:1px solid #ddd;padding:8px;text-align:left}.valuation-certificate-table th{background-color:#f2f2f2;font-weight:700}button{background:none;border:none;cursor:pointer;margin-right:5px;font-size:1.1rem}.valuation-certificate-table button{background-color:#4f46e5;color:#fff;border:none;padding:4px 8px;border-radius:4px;margin:2px;cursor:pointer;transition:background-color .3s;font-size:.8rem}.valuation-certificate-table button:hover{background-color:#1d4ed8}.column-toggle{display:flex;gap:1rem;flex-wrap:wrap;margin:1rem 0}.column-toggle .toggle-checkbox{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.column-toggle .checkbox-custom{width:16px;height:16px;border:1px solid #d1d5db;border-radius:3px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background-color:#fff;padding:30px;border-radius:10px;max-width:600px;width:100%;box-shadow:0 0 10px #0000004d;overflow-y:auto;max-height:90vh}.edit-valuation-form{display:flex;flex-direction:column;gap:1rem;background-color:#fff;padding:20px;border-radius:8px;max-width:600px;margin:0 auto;width:100%;box-sizing:border-box}.form-group{display:flex;flex-direction:column}.form-group label{font-weight:700;margin-bottom:5px}.form-group input,.form-group select,.form-group textarea{padding:8px;border-radius:5px;border:1px solid #ccc;font-size:14px}.form-row{display:flex;gap:20px;flex-wrap:wrap}.form-row .form-group{flex:1;min-width:45%}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.btn{padding:10px 20px;border:none;border-radius:5px;cursor:pointer}.btn-primary{background-color:#007bff;color:#fff}.btn-secondary{background-color:#6c757d;color:#fff}img{max-width:100px;border-radius:5px;margin-top:10px}.valuation-certificates-container{padding:20px;background:#f7f9fc;min-height:100vh;display:flex;justify-content:center;align-items:flex-start}.valuation-certificates-page{padding:20px;min-height:80vh;overflow-x:hidden;box-sizing:border-box}.valuation-certificates-form{display:flex;flex-direction:column;gap:1rem;background-color:#fff;padding:20px;border-radius:8px;max-width:600px;margin:0 auto;width:100%;box-sizing:border-box}.valuation-certificates-box{background:#fff;border-radius:8px;padding:30px 40px;box-shadow:0 4px 10px #0000001a;width:100%;max-width:800px;margin:0 auto;animation:zoomIn .5s ease-out}.valuation-certificates-box h1{font-size:2.4rem;color:#333;margin-bottom:20px;text-align:center}.valuation-certificates-box p{font-size:1.1rem;color:#555;margin-bottom:30px;text-align:center}.valuation-certificates-button{background-color:#e67e22;color:#fff;padding:12px 25px;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .3s ease;display:block;margin:0 auto}.valuation-certificates-button:hover{background-color:#d35400}.filter-container{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1rem;overflow-x:auto;padding:5px 0}.filter-container input{padding:8px;border:1px solid #ddd;border-radius:4px;font-size:.9rem;min-width:150px;box-sizing:border-box}.add-certificate-button{background-color:#4f46e5;color:#fff;border:none;padding:10px 16px;border-radius:4px;cursor:pointer;transition:background-color .3s ease}.add-certificate-button:hover{background-color:#1d4ed8}.valuation-certificate-list-container{background:#fff;padding:20px;border-radius:8px;box-shadow:0 4px 10px #0000001a;margin:1rem auto;max-width:100%;overflow-x:auto}.valuation-certificate-table{width:100%;border-collapse:collapse;min-width:600px}.valuation-certificate-table th,.valuation-certificate-table td{padding:10px;border:1px solid #ddd;text-align:left;font-size:.9rem}.valuation-certificate-table th{background-color:#f4f4f4;font-weight:700}.valuation-certificate-table tr:nth-child(2n){background-color:#f9f9f9}.valuation-certificate-table tr:hover{background-color:#f1f1f1}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;padding:20px;border-radius:8px;position:relative;max-width:600px;width:90%;max-height:90vh;overflow-y:auto}.modal-close{position:absolute;top:10px;right:10px;background:none;border:none;font-size:1.5rem;cursor:pointer}@keyframes zoomIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.services-container{display:flex;justify-content:center;align-items:center;background:#f7f9fc;height:100vh;padding:20px}.services-box{background:#fff;border-radius:8px;padding:30px 40px;box-shadow:0 4px 10px #0000001a;text-align:center;max-width:600px;width:100%;margin:0 auto;animation:fadeInUp .5s ease-out}.services-box h1{font-size:2.5rem;color:#333;margin-bottom:20px;text-align:center}.services-box p{font-size:1.2rem;color:#6b7280;margin-bottom:30px;text-align:center}.buttons-container{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}.service-button{background-color:#4f46e5;color:#fff;padding:15px 25px;border:none;border-radius:5px;font-size:1rem;cursor:pointer;transition:background-color .3s ease}.service-button:hover{background-color:#1d4ed8}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.track-page{max-width:700px;margin:4rem auto;padding:2rem;background:#fff;border-radius:8px;box-shadow:0 4px 12px #0000000d;font-family:sans-serif}.track-page h1{text-align:center;margin-bottom:1.5rem;color:#333;font-size:1.75rem}.track-form{display:flex;gap:.5rem;margin-bottom:1.5rem}.track-form input{flex:1;padding:.75rem 1rem;border:1px solid #ccc;border-radius:4px;font-size:1rem;transition:border-color .2s}.track-form input:focus{border-color:#4f46e5;outline:none}.btn-primary{background-color:#4f46e5;color:#fff;border:none;padding:.75rem 1.25rem;border-radius:4px;cursor:pointer;font-size:1rem;transition:background-color .3s}.btn-primary:hover,.btn-primary:focus{background-color:#4338ca;outline:none}.error{color:#b91c1c;text-align:center;margin-top:1rem}.progress-bar-container{position:relative;margin-bottom:2rem;margin-top:2rem}.progress-bar-bg{height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;background:#4f46e5;transition:width .5s ease}.progress-text{position:absolute;top:-1.6rem;right:0;font-size:.875rem;color:#555}.progress-list{list-style:none;padding:0;margin:0}.progress-step{display:flex;align-items:center;padding:1rem;border-left:4px solid #e5e7eb;margin-bottom:1rem;transition:border-color .3s}.progress-step.done{border-color:#4f46e5}.step-icon{font-size:1.5rem;margin-right:1rem;color:#ccc;transition:color .3s}.progress-step.done .step-icon{color:#4f46e5}.step-info{line-height:1.2}.step-title{font-weight:600;color:#333}.step-date{font-size:.875rem;color:#555;margin-top:.25rem}.notfound-container{text-align:center;padding:4rem 1rem}.notfound-container h1{font-size:5rem;margin-bottom:1rem;color:#4f46e5}.notfound-container p{font-size:1.25rem;margin-bottom:2rem}.notfound-container a{color:#4f46e5;text-decoration:none;font-weight:500}.notfound-container a:hover{text-decoration:underline}body{margin:0;min-width:320px;background-color:#fafafa;color:#213547;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-synthesis:none;color-scheme:light dark}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#f9f9f9;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: dark){body{background-color:#242424}a:hover{color:#747bff}input[type=text],input[type=email],input[type=number],input[type=date],textarea,select{color:#242424}}
