@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Sora:wght@500;600;700;800&display=swap";*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:Plus Jakarta Sans,Segoe UI,sans-serif;background:#eef2f7;color:#0f172a;line-height:1.5}h1,h2,h3,h4{font-family:Sora,Plus Jakarta Sans,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}:root{--primary-gradient: linear-gradient(90deg, #6900fb, #470093);--primary-purple: #6900fb;--primary-blue: #470093;--bg-light: #f4f6f8;--card-bg: #ffffff;--text-dark: #1f2937}.btn-primary{background:var(--primary-gradient);color:#fff;border:none;padding:14px 22px;border-radius:30px;font-weight:600;cursor:pointer;transition:.2s ease}.btn-primary:hover{opacity:.9}.btn-outline{border:2px solid var(--primary-purple);color:var(--primary-purple);background:transparent;padding:12px 20px;border-radius:25px;cursor:pointer}.app-dialog-overlay{position:fixed;inset:0;background:#0f172a85;display:flex;align-items:center;justify-content:center;z-index:1400;padding:16px}.app-dialog-card{width:min(420px,100%);border-radius:14px;border:1px solid #dbe3ee;background:#fff;box-shadow:0 20px 40px #0f172a3d}.app-dialog-header{padding:14px 16px 10px;border-bottom:1px solid #eef2f7}.app-dialog-header h3{margin:0;color:#0f172a;font-size:1rem;font-weight:800}.app-dialog-body{padding:14px 16px}.app-dialog-body p{margin:0;color:#334155;line-height:1.45}.app-dialog-actions{padding:12px 16px 16px;display:flex;justify-content:flex-end;gap:8px}.app-dialog-btn{height:38px;border-radius:9px;border:1px solid transparent;padding:0 14px;font-weight:700;cursor:pointer}.app-dialog-btn-cancel{border-color:#cbd5e1;background:#fff;color:#334155}.app-dialog-btn-confirm{border-color:transparent;background:#6a11cb;color:#fff}.login-wrapper{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:20px;background:#fff}.login-card{display:flex;width:100%;max-width:960px;min-height:600px;background:#ffffffe6;border:1px solid #d7e3f3;border-radius:26px;overflow:hidden;box-shadow:0 28px 60px #0a14281c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.login-left{flex:0 0 47%;min-width:0;background:radial-gradient(circle at 78% 16%,rgba(255,255,255,.24),transparent 30%),radial-gradient(circle at 20% 80%,rgba(167,243,208,.22),transparent 36%),var(--primary-gradient);color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:56px 34px;text-align:center}.logo-strip{width:min(260px,100%);height:74px;border-radius:12px;background:#fffffff5;border:1px solid rgba(255,255,255,.75);box-shadow:0 8px 22px #02061724;display:flex;justify-content:center;align-items:center;margin-bottom:14px;overflow:visible}.logo-strip img{width:100%;height:100%;object-fit:contain;padding:8px 12px}.login-left p{margin:10px 0 0;font-size:.98rem;max-width:28ch;opacity:.95}.login-right{flex:0 0 53%;min-width:0;padding:58px 48px;display:flex;flex-direction:column;justify-content:center;align-items:center}.login-right h2{font-size:1.95rem;font-weight:800;margin:0 0 26px;width:100%;max-width:430px;letter-spacing:-.02em}.login-right label{font-size:.88rem;font-weight:700;margin-bottom:8px;display:block;width:100%;max-width:430px;color:#334155}.login-right input[type=text]{width:100%;max-width:430px;height:50px;padding:0 14px;margin-bottom:22px;border-radius:12px;border:1px solid #ced8e8;background:#fff;font-size:1rem;outline:none;transition:.2s ease}.login-right input[type=text]:focus{border-color:#6900fb;box-shadow:0 0 0 3px #6900fb24}.pin-container{width:100%;max-width:430px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:28px}.pin-container input{height:58px;font-size:1.35rem;text-align:center;border-radius:12px;border:1px solid #ced8e8;outline:none;transition:.2s ease}.pin-container input:focus{border-color:#6900fb;box-shadow:0 0 0 3px #6900fb24}.login-right button{width:100%;max-width:430px;height:52px;border-radius:999px;border:none;background:var(--primary-gradient);color:#fff;font-size:.97rem;font-weight:700;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.login-right button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 26px #6900fb4d}.login-right button:disabled{opacity:.72;cursor:not-allowed}.auth-links{width:100%;max-width:430px;margin-top:14px;display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.auth-links a{text-decoration:none;color:#1e293b;font-size:.87rem;font-weight:700}.auth-links a:hover{color:#6900fb}@media(max-width:900px){.login-card{min-height:0}.login-left,.login-right{padding:44px 30px}}@media(max-width:768px){.login-wrapper{padding:0}.login-card{flex-direction:column;min-height:100vh;border-radius:0;border:none}.login-left,.login-right{flex-basis:auto;width:100%}.login-left{padding:36px 20px}.logo-strip{width:min(220px,100%);height:64px}.login-right{padding:34px 22px 40px}.login-right h2{font-size:1.6rem}}.register-wrapper{min-height:100vh;display:grid;place-items:center;width:100%}.register-card{width:min(560px,100%);border:1px solid #dbe3ee;border-radius:16px;background:#fff;padding:20px;box-shadow:0 16px 34px #0f172a17}.register-card h1{margin:0;font-size:1.7rem}.register-card p{margin:8px 0 0;color:#475569}.register-card form{margin-top:16px;display:grid;gap:8px}.register-card label{font-weight:700;color:#334155;font-size:.9rem}.register-card input{height:42px;border:1px solid #cbd5e1;border-radius:10px;padding:0 12px}.register-card button{margin-top:8px;height:44px;border-radius:999px;border:none;background:linear-gradient(90deg,#0f766e,#0284c7);color:#fff;font-weight:700;cursor:pointer}.register-links{margin-top:14px;display:flex;gap:12px;flex-wrap:wrap}.register-links a{color:#0f172a;font-weight:700;text-decoration:none}.admin-dashboard-page{display:grid;gap:16px;color:#0f172a}.dashboard-top h2{margin:0;font-size:2rem;font-weight:800;letter-spacing:-.02em}.dashboard-top p{margin:4px 0 0;color:#64748b}.dashboard-filter-card{background:linear-gradient(180deg,#fff,#f9fbff);border:1px solid #dbe3ee;border-radius:12px;padding:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end}.filter-field{display:grid;gap:6px}.filter-field label{font-size:.82rem;font-weight:700;color:#334155}.filter-field input{width:100%;min-height:42px;border-radius:8px;border:1px solid #cbd5e1;background:#fff;padding:0 10px;color:#0f172a}.apply-filter-btn{min-height:42px;border:1px solid transparent;border-radius:8px;background:#6a11cb;color:#fff;font-weight:700;cursor:pointer}.apply-filter-btn:disabled{opacity:.6;cursor:not-allowed}.dashboard-error{margin:0;color:#b91c1c;font-weight:700;font-size:.9rem}.financial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.financial-card{border:1px solid #dbe3ee;border-radius:12px;background:#fff;padding:14px;display:flex;align-items:center;gap:12px;box-shadow:0 6px 18px #0f172a0f}.financial-icon{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;color:#fff;flex:0 0 auto}.bg-indigo{background:#4f46e5}.bg-blue{background:#0ea5e9}.bg-red{background:#ef4444}.financial-card p{margin:0;font-size:.83rem;font-weight:700;color:#64748b}.financial-card h3{margin:2px 0 0;font-size:1.2rem;color:#0f172a}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.summary-card{border:1px solid #dbe3ee;border-radius:12px;background:#fff;padding:12px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px}.summary-icon{width:30px;height:30px;border-radius:8px;display:grid;place-items:center}.summary-icon-lead{background:#dbeafe;color:#1d4ed8}.summary-icon-job{background:#dcfce7;color:#15803d}.summary-icon-service{background:#fef3c7;color:#b45309}.summary-card span{color:#334155;font-size:.88rem;font-weight:700}.summary-card strong{color:#0f172a;font-size:1.1rem}.charts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.chart-card{border:1px solid #dbe3ee;border-radius:12px;background:#fff;padding:14px;box-shadow:0 6px 18px #0f172a0f}.chart-card-header{margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid #e9eef7}.chart-card-header h3{margin:0;font-size:1rem;font-weight:800;color:#1e293b}.chart-row-list{display:grid;gap:10px}.chart-row{display:grid;gap:5px}.chart-row-head{display:flex;justify-content:space-between;gap:10px}.chart-label{color:#334155;font-size:.85rem;font-weight:700}.chart-value{color:#0f172a;font-size:.85rem;font-weight:800}.chart-track{height:9px;border-radius:999px;background:#e2e8f0;overflow:hidden}.chart-fill{height:100%;border-radius:999px}.chart-empty{margin:0;color:#64748b;font-size:.9rem}@media(max-width:1024px){.charts-grid{grid-template-columns:1fr}}@media(max-width:900px){.financial-grid,.summary-grid,.dashboard-filter-card{grid-template-columns:1fr}}.app-loader-overlay{position:fixed;inset:0;background:#0f172a80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1500;padding:16px}.app-loader-card{width:min(320px,100%);background:#fff;border:1px solid #dbe3ee;border-radius:14px;box-shadow:0 20px 40px #0f172a40;padding:18px 16px;display:grid;gap:10px;justify-items:center}.app-loader-spinner{width:44px;height:44px;border-radius:50%;border:3px solid #e2e8f0;border-top-color:#6a11cb;border-right-color:#5b6cff;animation:app-loader-spin .9s linear infinite}.app-loader-card p{margin:0;color:#334155;font-weight:700}@keyframes app-loader-spin{to{transform:rotate(360deg)}}.page-container{max-width:1240px;margin:0 auto;padding:8px 0 24px}.page-header{margin-bottom:18px}.page-header h1{margin:0;font-size:1.65rem;font-weight:700;letter-spacing:-.02em;color:#0f172a}.form-grid{display:grid;grid-template-columns:minmax(300px,1.15fr) minmax(280px,.85fr) minmax(300px,1fr);gap:16px;align-items:start}.customer-panel{grid-column:1 / 2}.location-panel{grid-column:2 / 3}.service-panel{grid-column:3 / 4}.full-width{grid-column:1 / -1}.form-card{background:linear-gradient(180deg,#fffffffa,#f8fafcf5);border:1px solid #dbe3ef;border-radius:18px;box-shadow:0 16px 34px #0f172a0f;overflow:hidden}.card-header{padding:14px 18px;border-bottom:1px solid rgba(148,163,184,.22);display:flex;align-items:center;gap:10px;color:#334155}.card-header h3{margin:0;font-size:.98rem;font-weight:700;letter-spacing:-.01em}.customer-card-header{background:linear-gradient(135deg,#eef2ff,#f8f7ff);color:#4338ca}.service-card-header{background:linear-gradient(135deg,#ecfeff,#f4f8ff);color:#0f766e}.location-card-header{background:linear-gradient(135deg,#effdf5,#f7fee7);color:#166534}.card-body,.compact-card-body{overflow:visible!important;height:auto!important;max-height:none!important}.compact-card-body{padding:16px 18px 18px}.input-group{margin-bottom:12px}.input-group label{display:block;margin-bottom:5px;font-size:.79rem;font-weight:700;letter-spacing:.01em;color:#475569}.page-container input,.page-container select,.page-container textarea{width:100%;padding:9px 12px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#0f172a;font-size:.92rem;transition:border-color .2s,box-shadow .2s,background-color .2s}.page-container textarea{resize:vertical;min-height:102px}.page-container input:focus,.page-container select:focus,.page-container textarea:focus,.dropdown-input:focus-within{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1f}.search-control-group{display:grid;grid-template-columns:minmax(0,1fr) 42px;width:100%}.search-control-group input{min-width:0;border-top-right-radius:0;border-bottom-right-radius:0;border-right:none}.search-icon-btn{width:42px;min-width:42px;height:42px;padding:0;border:1px solid #cbd5e1;border-radius:0 10px 10px 0;align-self:stretch;justify-self:stretch}.name-suggestions{margin-top:8px;padding:6px 0;border:1px solid #d8e0eb;border-radius:12px;background:#fff;box-shadow:0 18px 36px #0f172a1a;max-height:240px;overflow-y:auto}.name-suggestions li{padding:10px 12px;display:flex;flex-direction:column;gap:3px;cursor:pointer;border-bottom:1px solid #eef2f7}.name-suggestions li:hover,.name-suggestions li.suggestion-add-new{background:#f8fafc}.suggestion-main{display:flex;justify-content:space-between;align-items:center;gap:10px}.suggestion-main strong{font-weight:700;color:#0f172a}.suggestion-main .subtext,.suggestion-address,.help-text{color:#64748b}.suggestion-main .subtext{font-size:.78rem;font-weight:600}.suggestion-address{font-size:.77rem;line-height:1.35}.error-text{margin:5px 0 0;color:#b91c1c;font-size:.76rem;font-weight:700}.new-customer-note{margin:8px 0 10px;border:1px solid #fcd34d;background:#fffbeb;color:#92400e;border-radius:10px;padding:8px 10px;font-size:.8rem;font-weight:700}.customer-info{margin-top:14px;padding-top:14px;border-top:1px dashed #d6deea}.customer-info h4{margin:0 0 10px;font-size:1rem;color:#0f172a}.add-address-btn{margin-top:6px}.draft-address-preview{margin-top:10px;padding:10px 12px;border:1px solid #dce4ef;border-radius:12px;background:linear-gradient(180deg,#f8fafc,#f1f5f9);display:grid;gap:5px}.section-title{margin:6px 0 10px;font-size:.94rem;font-weight:700;color:#0f172a}.map-preview{overflow:hidden;border-radius:14px;border:1px solid #dce4ef;background:#e2e8f0;min-height:250px}.map-preview iframe{display:block;width:100%;height:250px}.service-form-grid{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1.25fr) minmax(220px,.95fr);gap:14px;align-items:start}.service-form-span-2{grid-column:span 2}.service-form-full{grid-column:1 / -1;margin-bottom:0}.schedule-controls{display:grid;grid-template-columns:minmax(0,1.7fr) 72px 72px 78px;gap:8px}.quotation-picker-group{margin-bottom:0}.dropdown-wrapper{position:relative;width:100%}.dropdown-input{display:flex;align-items:center;min-height:42px;padding:0 10px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;position:relative}.dropdown-search{border:none!important;box-shadow:none!important;outline:none;background:transparent;width:100%;min-width:0;height:100%;padding:0 30px 0 4px!important}.arrow{margin-left:6px;font-size:10px;color:#64748b;cursor:pointer;transition:transform .2s ease}.arrow.open{transform:rotate(180deg)}.dropdown-menu{position:absolute;top:calc(100% + 8px);left:0;width:100%;background:#fff;border:1px solid #dce4ef;border-radius:14px;box-shadow:0 20px 40px #0f172a1f;max-height:280px;overflow-y:auto;z-index:9999}.header-row{background:#f8fafc;border-left:4px solid #6a11cb;font-weight:600}.header-symbol{margin-left:6px;font-size:.72rem;color:#6a11cb;font-weight:600}.dropdown-item{padding:11px 12px;border-bottom:1px solid #eef2f7;display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background:#f8fafc}.item-left{display:flex;flex-direction:column;min-width:0}.item-right{display:flex;align-items:center;gap:10px}.item-title{font-size:.86rem;font-weight:700;color:#0f172a}.item-sub{font-size:.74rem;color:#64748b}.add-btn{padding:7px 11px;border-radius:8px;font-size:.77rem;line-height:1;background:#6a11cb;color:#fff}.add-btn:hover{opacity:.92}.add-btn.added{background:#ede9fe;color:#6a11cb}.item-actions{display:flex;align-items:center;gap:10px}.header-checkbox{font-size:.75rem;color:#64748b;display:flex;align-items:center;gap:4px}.header-checkbox{font-size:.72rem;color:#64748b}.header-checkbox input{transform:scale(.9);cursor:pointer}.quotation-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.8fr);gap:16px;margin-top:14px;align-items:start}.quotation-table{margin-top:0;padding:8px 12px;border:1px solid #dce4ef;border-radius:14px;background:#fff}.qt-row{display:grid;grid-template-columns:minmax(0,2fr) 76px 110px 120px;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #f1f5f9}.qt-row:last-child{border-bottom:none}.qt-header{font-weight:700;font-size:.76rem;letter-spacing:.02em;text-transform:uppercase;color:#64748b}.qt-row input{width:100%;min-width:0;padding:7px 8px;font-size:.84rem;border:1px solid #d7dfeb;background:#f8fafc;border-radius:8px}.item-cell{display:block;min-width:0;font-weight:600;color:#0f172a;word-break:break-word}.total-cell{display:flex;align-items:center;justify-content:space-between;gap:8px}.total-value{font-size:.85rem;font-weight:700;color:#0f172a}.remove-btn{cursor:pointer;font-size:.9rem;color:#94a3b8;transition:color .2s ease,transform .2s ease}.remove-btn:hover{color:#dc2626;transform:scale(1.08)}.quotation-summary{width:100%;padding:12px 14px;border:1px solid #dce4ef;border-radius:14px;background:linear-gradient(180deg,#fcfdff,#f8fafc)}.summary-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:8px 0;font-size:.86rem}.summary-row span:first-child{color:#64748b}.summary-row span:last-child{font-weight:700;color:#0f172a;text-align:right}.summary-row.total{margin-top:6px;padding-top:10px;border-top:1px solid #dbe3ef;font-size:.98rem}.discount-field{display:flex;justify-content:flex-end}.discount-field input{width:96px;text-align:right}.summary-row input[type=checkbox]{width:auto;justify-self:end}.service-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.page-container button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:10px;font-weight:700;cursor:pointer;transition:filter .2s,transform .2s;border:none;font-size:.86rem}.page-container button:hover{filter:brightness(.98)}.page-container .btn-primary{background:linear-gradient(135deg,#6d28d9,#7c3aed);color:#fff}.page-container .btn-secondary{background:#f1f5f9;color:#334155}.page-container .btn-outline{background:#fff;border:1px solid #cbd5e1;color:#334155}.clear-form-btn,.create-lead-btn,.modal-btn{width:auto;flex:0 0 auto}.clear-form-btn{min-width:120px}.create-lead-btn{min-width:170px}.modal-overlay{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal-card{width:min(980px,100%);max-height:92vh;display:flex;flex-direction:column;background:#fff;border-radius:18px;border:1px solid #dbe3ef;box-shadow:0 24px 60px #0f172a2e;overflow:hidden}.modal-header{padding:16px 20px;border-bottom:1px solid #e2e8f0}.modal-header h3{margin:0;font-size:1rem;color:#0f172a}.modal-body{flex:1;overflow-y:auto;padding:20px 24px}.modal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.full-span{grid-column:1 / -1}.quotation-header-row{display:flex;align-items:center;justify-content:space-between}.left-title{font-size:14px;font-weight:600;color:#111827}.right-actions{display:flex;align-items:center}.checkbox-inline{display:flex!important;flex-direction:row!important;align-items:center;gap:6px;font-size:13px;cursor:pointer;white-space:nowrap}.checkbox-inline input{margin:0;width:16px;height:16px;accent-color:#6366f1}.checkbox-inline span{display:inline-block}.address-type-group{max-width:none}.checkbox-group{display:flex;align-items:center;height:100%}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;color:#334155}.inline-btn{flex:0 0 118px;width:118px}.extract-btn{flex:0 0 128px;width:128px}.modal-actions{padding:16px 20px;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;gap:10px}.dropdown-menu::-webkit-scrollbar,.name-suggestions::-webkit-scrollbar,.modal-card::-webkit-scrollbar{width:6px}.dropdown-menu::-webkit-scrollbar-thumb,.name-suggestions::-webkit-scrollbar-thumb,.modal-card::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}@media(max-width:1100px){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-panel,.location-panel,.service-panel,.full-width{grid-column:auto}.service-panel,.full-width{grid-column:1 / -1}.service-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-form-span-2,.service-form-full{grid-column:1 / -1}.quotation-layout{grid-template-columns:1fr}.modal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:768px){.page-container{padding-bottom:18px}.page-header{margin-bottom:14px}.page-header h1{font-size:1.35rem}.form-grid,.service-form-grid,.modal-grid,.schedule-controls,.quotation-layout,.qt-row{grid-template-columns:1fr}.customer-panel,.location-panel,.service-panel,.full-width,.service-form-span-2,.service-form-full{grid-column:1}.compact-card-body,.modal-body,.modal-header,.modal-actions{padding-left:14px;padding-right:14px}.inline-actions,.service-actions{flex-direction:column}.inline-btn,.extract-btn,.modal-btn,.clear-form-btn,.create-lead-btn{width:100%;min-width:0}.qt-row{gap:6px;padding:10px 0}.qt-header{display:none}.quotation-table{padding:10px 12px}.service-actions{margin-top:14px}}.leads-page{display:grid;gap:16px;color:#0f172a}.leads-search-row{display:flex;align-items:center;gap:10px}.search-input-wrap{display:flex;align-items:center;gap:8px;width:min(560px,100%);height:44px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;padding:0 12px}.search-input-wrap svg{color:#64748b;flex:0 0 auto}.search-input-wrap input{border:none;outline:none;width:100%;background:transparent;color:#0f172a;font-size:.95rem}.leads-header h2{margin:0;font-size:2rem;font-weight:800;letter-spacing:-.02em}.leads-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.leads-header-actions{display:flex;align-items:center;gap:10px}.new-lead-btn,.load-more-btn{border:none;border-radius:10px;height:44px;padding:0 16px;font-weight:700;cursor:pointer;width:auto;transition:.2s ease;display:inline-flex;align-items:center;justify-content:center;gap:6px}.new-lead-btn,.load-more-btn{background:#6a11cb;color:#fff}.new-lead-btn:hover,.load-more-btn:hover:not(:disabled){filter:brightness(.96)}.empty-card{border:1px dashed #cbd5e1;border-radius:12px;padding:16px;color:#64748b;text-align:center;background:#fff}.lead-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.lead-group{display:grid;gap:10px}.lead-group-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:4px;border-bottom:1px solid #dbe3ee}.lead-group-header h3{margin:0;font-size:1rem;font-weight:800;color:#1e293b}.lead-group-header span{min-width:26px;height:26px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;color:#334155;background:#e2e8f0}.lead-card{border:1px solid #dbe3ee;border-radius:12px;background:linear-gradient(180deg,#fff,#fcfdff);padding:14px;box-shadow:0 6px 18px #0f172a0f;border-left-width:4px}.lead-card-default{border-left-color:#94a3b8}.lead-card-pending{border-left-color:#f59e0b}.lead-card-approved{border-left-color:#0ea5e9}.lead-card-progress{border-left-color:#6366f1}.lead-card-completed{border-left-color:#22c55e}.lead-card-cancelled{border-left-color:#ef4444}.lead-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.lead-card-top h3{margin:2px 0 0;font-size:1.05rem;color:#0f172a}.lead-label{margin:0;color:#64748b;font-size:.82rem;font-weight:600}.lead-status-pill{align-self:flex-start;padding:6px 10px;border-radius:999px;font-size:.75rem;font-weight:800}.more-btn{border:1px solid #dbe3ee;border-radius:8px;background:#fff;color:#334155;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.card-actions{margin-top:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.card-btn{height:38px;border-radius:8px;font-weight:700;font-size:.85rem;cursor:pointer;width:auto}.btn-subtext{font-size:.72rem;font-weight:600;opacity:.9}.card-btn-primary{border:1px solid transparent;background:#6a11cb;color:#fff}.card-btn-outline{border:1px solid #c7d2fe;background:#fff;color:#5b21b6}.card-btn-success{border:1px solid #86efac;background:#f0fdf4;color:#166534}.card-btn-info{border:1px solid #7dd3fc;background:#f0f9ff;color:#0c4a6e}.card-btn-danger{border:1px solid #fecaca;background:#fef2f2;color:#991b1b}.card-btn:disabled{opacity:.5;cursor:not-allowed}.lead-meta-grid{margin-top:12px;display:grid;gap:8px}.lead-meta-grid p{margin:0;color:#334155;font-size:.9rem;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.inline-status{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;font-size:.74rem;font-weight:800;letter-spacing:.03em}.list-footer{display:flex;align-items:center;justify-content:space-between}.count-text{color:#64748b;font-size:.9rem}.load-more-btn:disabled{opacity:.5;cursor:not-allowed}.details-overlay{position:fixed;inset:0;background:#0f172a80;display:flex;align-items:center;justify-content:center;z-index:1200;padding:16px}.details-card{width:min(760px,100%);max-height:88vh;overflow:auto;border-radius:12px;background:#fff;border:1px solid #dbe3ee}.details-header{padding:14px 16px;border-bottom:1px solid #eef2f7;display:flex;justify-content:space-between;align-items:center}.details-header h3{margin:0}.details-close-btn{border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;color:#0f172a;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 1px 1px #0f172a0d}.details-close-btn span{color:#0f172a;font-size:1.25rem;line-height:1;font-weight:700;transform:translateY(-1px)}.details-close-btn:hover{background:#eef2ff;border-color:#a5b4fc}.loading-card{width:min(420px,100%);padding:24px}.loading-card p{margin:0;color:#334155;font-weight:600;text-align:center}.details-grid{padding:14px 16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}.details-grid p{margin:0;color:#334155}.job-details-card,.lead-details-card{width:min(860px,100%);border:1px solid #d7dff0;box-shadow:0 18px 40px #0f172a2e}.lead-header{background:linear-gradient(90deg,#f7fbff,#eff6ff)}.lead-hero{display:flex;justify-content:space-between;gap:12px;padding:16px;border-bottom:1px solid #eef2f7}.job-header{background:linear-gradient(90deg,#f8f9ff,#f4f7ff)}.job-title{margin:0;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:#64748b;font-weight:700}.job-header h3{margin:4px 0 0;font-size:1.25rem}.job-hero{display:flex;justify-content:space-between;gap:12px;padding:16px;border-bottom:1px solid #eef2f7}.job-customer{margin:0;font-size:1.1rem;font-weight:800;color:#0f172a}.job-subtext{margin:4px 0 0;color:#64748b;font-size:.9rem}.job-status-pill{align-self:flex-start;padding:8px 12px;border-radius:999px;font-size:.8rem;font-weight:800;letter-spacing:.03em}.status-default{background:#e2e8f0;color:#334155}.status-cancelled{background:#fee2e2;color:#991b1b}.status-completed{background:#dcfce7;color:#166534}.status-progress{background:#e0e7ff;color:#3730a3}.status-approved{background:#e0f2fe;color:#0c4a6e}.status-pending{background:#fef3c7;color:#92400e}.job-info-grid{padding:16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.full-span-tech{grid-column:span 3}.job-info-card{border:1px solid #e2e8f0;border-radius:10px;padding:12px;background:#fbfcff}.info-label{margin:0 0 5px;color:#64748b;font-size:.78rem;font-weight:700;letter-spacing:.02em}.info-value{margin:0;color:#0f172a;font-weight:700;line-height:1.35}.job-address-block{margin:0 16px 12px;border:1px solid #e2e8f0;border-radius:10px;padding:12px;background:#fff}.job-footer-meta{margin:0 16px 16px;display:flex;flex-wrap:wrap;gap:8px}.job-footer-meta span{font-size:.8rem;color:#475569;background:#f1f5f9;border:1px solid #dbe3ee;border-radius:999px;padding:4px 10px}.tech-select{width:100%;height:40px;border-radius:8px;border:1px solid #cbd5e1;padding:0 10px;background:#fff;color:#0f172a}.tech-select:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f}.schedule-inline-grid{display:grid;grid-template-columns:1.4fr .7fr .7fr .7fr;gap:8px}.schedule-inline-grid input,.schedule-inline-grid select{width:100%;height:40px;border-radius:8px;border:1px solid #cbd5e1;padding:0 10px;background:#fff;color:#0f172a}.convert-job-card{width:min(520px,100%)}.convert-body{padding:16px;display:grid;gap:12px}.input-block{display:grid;gap:6px}.input-block label{font-size:.9rem;font-weight:700;color:#334155}.convert-body input,.convert-body select,.convert-body textarea{width:100%;border:1px solid #cbd5e1;border-radius:8px;min-height:40px;padding:8px 10px;background:#fff;color:#0f172a;resize:vertical}.update-job-btn{margin-top:10px;width:100%}.invoice-chip{margin-left:6px;display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;border:1px solid #fdba74;background:#fff7ed;color:#9a3412;font-weight:800;font-size:.76rem}.job-finance-strip{margin-top:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.amount-pill{border-radius:10px;padding:8px 10px;border:1px solid #e2e8f0;background:#f8fafc;display:grid;gap:2px}.amount-label{font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.amount-pill strong{font-size:.95rem;color:#0f172a}.amount-pill-due{border-color:#fdba74;background:#fff7ed}.amount-pill-due .amount-label,.amount-pill-due strong{color:#9a3412}.amount-pill-payable{border-color:#bfdbfe;background:#eff6ff}.amount-pill-payable .amount-label,.amount-pill-payable strong{color:#1d4ed8}.convert-actions{padding:12px 16px 16px;border-top:1px solid #eef2f7;display:flex;justify-content:flex-end;gap:8px}@media(max-width:900px){.lead-cards{grid-template-columns:1fr}}@media(max-width:768px){.new-lead-btn{width:100%}.leads-header-actions{width:100%;flex-direction:column}.leads-header-actions .load-more-btn,.leads-search-row,.search-input-wrap{width:100%}.leads-header{flex-direction:column;align-items:stretch}.card-actions{grid-template-columns:1fr}.list-footer{flex-direction:column;align-items:stretch;gap:10px}.details-grid{grid-template-columns:1fr}.job-hero,.lead-hero{flex-direction:column}.job-info-grid{grid-template-columns:1fr}.full-span-tech{grid-column:span 1}.schedule-inline-grid{grid-template-columns:1fr 1fr}.job-finance-strip{grid-template-columns:1fr}}.lead-group-header{padding-bottom:10px;margin-bottom:4px}.lead-group-header h3{font-size:.98rem;font-weight:800;color:#202437}.lead-group-header span{min-width:30px;height:30px;background:#eceff6;color:#4b5567;font-size:.9rem}.lead-card{border:1px solid #e6e9f3;border-radius:12px;background:#fff;padding:0;box-shadow:0 4px 12px #58608814}.lead-card-top{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid #eceff5}.lead-card-top h3{margin:0;font-size:.92rem;font-weight:700}.lead-label{margin-top:2px;font-size:.75rem}.lead-status-pill{padding:4px 10px;font-size:.65rem}.lead-meta-grid{padding:8px 12px;display:flex;flex-direction:column;gap:6px}.service-row,.mobile-row{display:flex;justify-content:space-between;align-items:center}.lead-meta-grid p{font-size:.82rem;margin:0}.service-name,.mobile-text{display:flex;align-items:center;gap:6px}.download-po-btn,.job-report-btn{font-size:.7rem;padding:3px 8px;height:26px}.job-info-line{font-size:.78rem;display:flex;justify-content:space-between}.invoice-chip{font-size:.7rem;padding:2px 6px}.service-row,.mobile-row{gap:12px}.service-name,.mobile-text,.job-info-line{color:#232838}.service-name svg,.mobile-text svg{color:#747b91;flex:0 0 auto}.download-po-btn,.job-report-btn{border:none;background:transparent;color:#6c6f8c;padding:0;border-radius:0;font-size:.85rem;font-weight:500;box-shadow:none}.download-po-btn:hover,.job-report-btn:hover{background:transparent;color:#4f46a5}.invoice-chip{border-color:#d8def0;background:#f6f8fc;color:#515a73}.job-finance-strip{padding:0 18px}.amount-pill{border-radius:14px}.card-actions{margin-top:16px;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 18px 18px}.card-btn{height:46px;border-radius:14px;border:1px solid #cfd4e4;background:#fff;color:#464d68;font-size:.86rem;font-weight:600;box-shadow:0 1px 2px #0f172a0a}.card-btn:hover{transform:translateY(-1px);box-shadow:0 8px 16px #4249681f}.card-btn-primary,.card-btn-outline,.card-btn-success{background:#fff}.card-btn-outline{border-color:#cfd4e4;color:#4a516b}.card-btn-outline:hover{background:#f7f8fc}.card-btn-success{border-color:#cfe1d1;color:#2e6a3c}.empty-card{border-style:solid;border-color:#e3e7f2;border-radius:18px;box-shadow:0 8px 24px #58608814}.assignment-inline-message{margin:10px 0 0;padding:10px 12px;border-radius:10px;font-size:.9rem;font-weight:600}.assignment-inline-message-success{background:#ecfdf5;color:#166534;border:1px solid #bbf7d0}.assignment-inline-message-error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.status-filter-bar{display:flex;overflow-x:auto;gap:10px;padding:10px 0;margin-bottom:12px;scrollbar-width:none}.status-filter-bar::-webkit-scrollbar{display:none}.status-chip{white-space:nowrap;padding:6px 14px;border-radius:20px;border:1px solid #ddd;background:#f5f5f5;cursor:pointer;font-size:13px;transition:.2s;display:flex;align-items:center;gap:6px}.status-chip:hover{background:#eaeaea}.status-count{background:#ddd;border-radius:10px;padding:2px 6px;font-size:11px}.status-chip.active .status-count{background:#fff;color:#007bff}.status-chip.active{background:#6a11cb;color:#fff;border-color:#6a11cb}.service-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.service-name{display:flex;align-items:center;gap:6px;margin:0;flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.download-po-btn{display:flex;align-items:center;gap:6px;padding:4px 10px;font-size:12px;border:1px solid #6A11CB;background-color:#fff;color:#6a11cb;border-radius:10px;cursor:pointer;transition:all .2s ease;flex-shrink:0}.download-po-btn svg{display:block}.download-po-btn:hover{background-color:#007bff;color:#fff}.download-po-btn:hover{background-color:#6a11cb;color:#fff}.mobile-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.mobile-text{display:flex;align-items:center;gap:6px;margin:0;flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.job-report-btn{padding:4px 10px;font-size:12px;border:1px solid #28a745;background-color:#fff;color:#28a745;border-radius:10px;cursor:pointer;transition:all .2s ease;flex-shrink:0}.job-report-btn:hover{background-color:#28a745;color:#fff}.upload-po-wrapper{border:1px solid #c7d2fe;background:#fff;color:#5b21b6;height:45px;border-radius:8px;font-weight:700;font-size:.85rem;cursor:pointer;width:auto;display:flex;align-items:center;justify-content:center}.upload-center{display:flex;align-items:center;justify-content:center;width:100%;height:100%;cursor:pointer}.dialog-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:9999}.dialog-box{background:#fff;width:420px;max-width:90%;border-radius:12px;padding:20px 22px;box-shadow:0 10px 30px #0003;animation:fadeInScale .2s ease}.dialog-box h3{margin:0 0 10px;font-size:18px;font-weight:600}.dialog-box p{margin-bottom:12px;font-size:14px;color:#555}.dialog-textarea{width:100%;min-height:90px;resize:none;padding:10px 12px;border-radius:8px;border:1px solid #ddd;font-size:14px;outline:none;transition:border .2s ease}.dialog-textarea:focus{border-color:#007bff}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.dialog-actions button{padding:8px 16px;border-radius:6px;border:none;font-size:14px;cursor:pointer;transition:.2s}.dialog-actions button:first-child{background:#eee;color:#333}.dialog-actions button:first-child:hover{background:#ddd}.dialog-actions button:last-child{background:#6a11cb;color:#fff}.dialog-actions button:last-child:hover{background:#6a11cb}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.details-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0f172a8c;display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.details-card{background:#fff;width:700px;max-width:95%;height:90vh;max-height:90vh;border-radius:14px;box-shadow:0 20px 40px #00000040;animation:popupFade .2s ease;display:flex;flex-direction:column;overflow:hidden}.details-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid #eee}.details-header h3{font-size:16px;font-weight:600;margin:0}.details-close-btn{border:none;background:transparent;font-size:20px;cursor:pointer;color:#666}.details-close-btn:hover{color:#000}.quotation-body{flex:1;overflow:hidden;display:block;padding:12px;background:#f8fafc}.quotation-img{width:100%;max-height:450px;object-fit:contain;border-radius:8px;background:#fff}.quotation-frame{width:100%;height:100%;border:none;border-radius:8px;background:#fff}.convert-actions{display:flex;justify-content:flex-end;gap:10px;padding:14px 16px;border-top:1px solid #eee}.card-btn{padding:8px 14px;border-radius:8px;font-size:14px;cursor:pointer;border:none;transition:all .2s ease}.card-btn-primary{background:#2563eb;color:#fff}.card-btn-primary:hover{background:#1d4ed8}.card-btn-outline{background:#fff;border:1px solid #c7d2fe;color:#5b21b6}.card-btn-outline:hover{background:#eef2ff}.po-modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:999}.po-modal{width:360px;background:#fff;border-radius:12px;padding:14px;box-shadow:0 10px 30px #0003}.po-header{display:flex;justify-content:space-between;align-items:center}.po-header h3{font-size:1rem}.po-body{margin-top:10px;display:flex;flex-direction:column;gap:8px}.po-body p{font-size:.85rem;margin:0}.po-field input{width:100%;height:32px;padding:4px 8px;border:1px solid #d1d5db;border-radius:6px}.po-total{font-weight:600;margin-top:6px}.po-footer{margin-top:12px;display:flex;justify-content:flex-end;gap:8px}.po-footer button{padding:6px 10px;border-radius:6px;border:1px solid #ccc}.po-footer .primary{background:#2563eb;color:#fff;border:none}.filters-inline{display:flex;align-items:flex-end;gap:10px;margin-left:auto}.filter-group{display:flex;flex-direction:column;gap:4px}.filter-group label{font-size:11px;color:#6b7280}.filter-group input{height:34px;padding:0 8px;border-radius:8px;border:1px solid #e5e7eb;font-size:13px}.btn-apply{height:34px;padding:0 12px;background:#6366f1;color:#fff;border:none;border-radius:8px;cursor:pointer}.btn-clear{height:34px;padding:0 12px;background:#f3f4f6;border:none;border-radius:8px;cursor:pointer}.filter-btn{width:38px;height:38px;border-radius:10px;border:none;background:#f9fafb;color:#6b7280;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.filter-btn:hover{background:#eef2ff;color:#6366f1}.filter-btn.active{background:#6366f1;color:#fff}.date-range{display:flex;align-items:center;gap:6px;border:1px solid #e5e7eb;border-radius:10px;padding:4px 8px;background:#fff}.filters-inline{display:flex;align-items:center;justify-content:flex-start;gap:12px;margin-left:auto}.date-range{display:flex;align-items:center;gap:10px;height:42px;padding:0 12px;border-radius:12px;border:1px solid #e5e7eb;background:#fff;box-shadow:0 4px 12px #0000000d;transition:all .2s ease}.date-range:hover{border-color:#c7d2fe;box-shadow:0 6px 18px #6366f11f}.date-range input{border:none;outline:none;font-size:14px;font-weight:500;color:#111827;background:transparent;cursor:pointer}.range-separator{font-size:16px;color:#9ca3af;font-weight:500}.clear-range{margin-left:6px;border:none;background:#f3f4f6;width:28px;height:28px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.clear-range:hover{background:#fee2e2;color:#ef4444}.filter-group label{font-size:12px;color:#6b7280;margin-bottom:2px}.filter-wrapper{position:relative}.filter-dropdown{position:absolute;top:50%;left:110%;transform:translateY(-50%);box-shadow:0 10px 30px #0000001a;z-index:1000;white-space:nowrap}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:600;border:none;cursor:pointer;transition:all .2s ease}.status-badge.hold{background:#fee2e2;color:#dc2626}.status-badge.hold:hover{background:#fecaca}.status-badge.hold:before{content:"";width:6px;height:6px;background:#dc2626;border-radius:50%;display:inline-block}@keyframes fadeSlide{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes popupFade{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media(max-width:600px){.lead-card-top{align-items:flex-start;flex-direction:column}.lead-status-pill{align-self:flex-start}.service-row,.mobile-row{align-items:flex-start;flex-direction:column}.card-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.details-card{width:95%;border-radius:10px}.quotation-frame,.quotation-img{height:300px}.convert-actions{flex-direction:column}.card-btn{width:100%}}.user-management-page{display:grid;gap:16px;color:#0f172a}.user-management-header h2{margin:0;font-size:2rem;font-weight:800;letter-spacing:-.02em}.user-management-empty{border:1px dashed #cbd5e1;border-radius:12px;padding:16px;color:#64748b;text-align:center;background:#fff}.user-tiles-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.user-tile{border:1px solid #dbe3ee;border-radius:12px;background:linear-gradient(180deg,#fff,#fcfdff);padding:16px;box-shadow:0 6px 18px #0f172a0f;display:grid;justify-items:center;align-content:start;text-align:center;gap:10px}.user-profile-icon{width:56px;height:56px;border-radius:999px;display:grid;place-items:center;background:#e0e7ff;color:#3730a3;font-size:1.3rem;font-weight:800}.user-tile h3{margin:0;font-size:1rem;line-height:1.3}.reset-password-btn{border:1px solid transparent;border-radius:8px;background:#6a11cb;color:#fff;min-height:38px;padding:0 14px;font-weight:700;cursor:pointer;width:100%;max-width:190px}.reset-password-btn:disabled{opacity:.5;cursor:not-allowed}.inline-message{margin:0;font-size:.83rem;font-weight:700}.inline-success{color:#166534}.inline-error{color:#b91c1c}@media(max-width:768px){.user-management-header h2{font-size:1.7rem}.user-tiles-grid{grid-template-columns:1fr}}.customer-list-page{padding:24px;min-height:100vh}.customer-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.customer-list-header h2{margin:0;font-size:28px;font-weight:700;color:#2c3e50}.customer-search-bar{display:flex;align-items:center;gap:12px;background:#fff;padding:12px 18px;border-radius:12px;box-shadow:0 4px 12px #00000014;margin-bottom:28px;border:1px solid rgba(255,255,255,.8)}.search-icon{color:#667eea;flex-shrink:0}.customer-search-bar .search-input{flex:1;border:none;outline:none;font-size:14px;font-family:inherit;color:#2c3e50}.customer-search-bar .search-input::placeholder{color:#999}.search-clear{background:none;border:none;cursor:pointer;color:#999;padding:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.search-clear:hover{color:#667eea}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;background:#fff;border-radius:16px;box-shadow:0 4px 12px #00000014}.empty-state-icon{font-size:48px;margin:0 0 16px}.empty-state-text{font-size:16px;color:#999;margin:0;font-weight:500}.customer-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;padding:1rem 0}.customer-card{background:#fff;border:.5px solid rgba(0,0,0,.1);border-radius:12px;padding:20px;position:relative;overflow:hidden;transition:box-shadow .2s ease}.customer-card:hover{box-shadow:0 4px 16px #00000014}.card-accent{position:absolute;top:0;left:0;right:0;height:2px;background:#7f77dd}.customer-card-header{display:flex;align-items:center;gap:12px;margin-bottom:14px}.customer-avatar{width:40px;height:40px;border-radius:8px;background:#eeedfe;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:500;color:#3c3489;flex-shrink:0}.customer-name{margin:0;font-size:15px;font-weight:600;color:#1a1a2e}.customer-id{margin:2px 0 0;font-size:12px;color:#888}.customer-card-info{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.info-row{display:flex;align-items:center;gap:8px;font-size:13px}.info-icon{color:#7f77dd;flex-shrink:0}.info-label{font-size:11px;font-weight:600;color:#999;text-transform:uppercase;letter-spacing:.04em;min-width:52px}.info-val{color:#333;font-size:13px}.customer-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:.5px solid rgba(0,0,0,.08)}.status-badge{font-size:11px;font-weight:600;padding:3px 10px;border-radius:100px;background:#eaf3de;color:#27500a;letter-spacing:.02em}.customer-card-actions{display:flex;gap:6px}.btn-icon{width:30px;height:30px;border-radius:8px;border:.5px solid rgba(0,0,0,.1);background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,border-color .15s ease;padding:0;color:#555}.btn-icon:hover{background:#f5f5f5}.btn-icon.danger:hover{background:#fcebeb;border-color:#f09595;color:#a32d2d}:root{--primary: #6366f1;--primary-hover: #4f46e5;--primary-light: #eef2ff;--text-main: #0f172a;--text-sub: #64748b;--border: #e2e8f0;--bg-soft: #f8fafc;--danger: #ef4444;--danger-hover: #dc2626}.customer-modal-overlay{position:fixed;inset:0;background:#0f172a8c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1000}.customer-modal{width:min(720px,95%);max-height:85vh;display:flex;flex-direction:column;background:#fff;border-radius:16px;overflow:hidden;border:1px solid var(--border);box-shadow:0 20px 50px #0000001a}.customer-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border);background:#fff;position:sticky;top:0;z-index:10}.customer-modal-header h3{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:600;color:var(--text-main)}.customer-modal-close{background:#f1f5f9;border:none;border-radius:8px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s}.customer-modal-close:hover{background:#e2e8f0}.customer-modal-body{flex:1;overflow-y:auto;padding:20px;scroll-behavior:smooth}.customer-modal-body::-webkit-scrollbar{width:6px}.customer-modal-body::-webkit-scrollbar-thumb{background:#cbd5f5;border-radius:10px}.customer-details{margin-bottom:20px}.customer-details h4{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text-sub);margin-bottom:12px}.customer-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail-item{background:var(--bg-soft);padding:10px 12px;border-radius:10px}.detail-item-label{font-size:11px;color:var(--text-sub)}.detail-item-value{font-size:14px;font-weight:600;color:var(--text-main)}.customer-addresses{margin-top:16px}.customer-addresses h4{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text-sub)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.address-cards{display:flex;flex-direction:column;gap:12px}.address-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:14px;transition:.2s}.address-card:hover{border-color:var(--primary);box-shadow:0 6px 16px #6366f114}.address-card-head{display:flex;justify-content:space-between;margin-bottom:8px}.address-title{display:flex;align-items:center;gap:6px;font-weight:600;color:var(--text-main)}.address-badge,.badge{background:var(--primary-light);color:var(--primary);padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600}.address-card p{font-size:13px;color:var(--text-sub);display:flex;gap:6px;margin:4px 0}.map-btn,.map-open-btn{margin-top:8px;width:100%;display:flex;align-items:center;justify-content:center;gap:6px;background:var(--primary-light);color:var(--primary);border:none;border-radius:8px;padding:8px;font-size:13px;cursor:pointer;transition:.2s}.map-btn:hover{background:#e0e7ff}.address-actions{display:flex;gap:8px;margin-top:10px}.address-actions button{flex:1;padding:8px;border-radius:8px;font-size:13px;border:none;cursor:pointer;transition:.2s;display:flex;align-items:center;justify-content:center;gap:6px}.address-actions .btn-edit{background:#f1f5f9}.address-actions .btn-edit:hover{background:#e2e8f0}.address-actions .btn-delete-address,.address-actions .danger{background:#fee2e2;color:var(--danger)}.address-actions .danger:hover{background:#fecaca}.btn-primary,.btn-add-address{background:var(--primary);color:#fff;padding:8px 14px;border-radius:8px;border:none;font-size:13px;font-weight:600;cursor:pointer;transition:.2s;display:flex;align-items:center;gap:6px}.btn-primary:hover{background:var(--primary-hover)}.customer-form{display:flex;flex-direction:column;gap:12px}.customer-form input{padding:12px;border-radius:10px;border:1px solid var(--border);font-size:14px;transition:.2s}.customer-form input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.checkbox-group{display:flex;align-items:center;gap:8px;background:var(--bg-soft);padding:10px;border-radius:10px}.checkbox-group input{accent-color:var(--primary)}.form-actions,.customer-form-actions{display:flex;gap:10px;margin-top:12px}.btn-save{background:var(--primary);color:#fff;flex:1}.btn-cancel{background:#f1f5f9;color:var(--text-sub);flex:1}.btn-cancel:hover{background:#e2e8f0}@media(max-width:600px){.customer-details-grid,.form-row{grid-template-columns:1fr}.customer-modal{border-radius:12px}}.landing-root{--primary: #6900fb;--secondary: #470093;--surface: #ffffff;--bg-soft: #f6f1ff;--line: rgba(105, 0, 251, .14);color:#2f1d56;background:linear-gradient(180deg,#fbf7ff,#f4ecff);min-height:100vh}.nav-bar{position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f7f9ffe0;border-bottom:1px solid var(--line);padding:10px 16px}.nav-content{width:min(1180px,100%);margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:10px}.brand-logo-link{display:inline-flex;align-items:center}.brand-logo{width:190px;height:46px;border:none;background:transparent;object-fit:contain;padding:0}.brand-kicker{margin:0;font-size:.8rem;color:#6b7280}.brand h1{margin:0;font-size:1.45rem;line-height:1}.nav-links{display:flex;gap:10px 14px;flex-wrap:wrap;justify-content:center}.nav-links a{position:relative;text-decoration:none;color:#2f3f5a;font-weight:600;font-size:.9rem;padding:8px 2px}.nav-links a:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;border-radius:999px;background:linear-gradient(135deg,#6900fb,#470093);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}.nav-links a:hover:after,.nav-links a.active:after{transform:scaleX(1)}.nav-buttons{display:flex;gap:10px;align-items:center}.btn-primary,.btn-ghost{border-radius:12px;padding:10px 16px;font-weight:700;text-decoration:none;border:none;cursor:pointer;font-family:inherit}.btn-primary{background:linear-gradient(135deg,#6900fb,#470093);color:#fff}.btn-ghost{background:#fff;border:1px solid #dccbff;color:#470093}.menu-toggle{display:none;width:38px;height:38px;border-radius:10px;border:1px solid #d1daea;background:#fff}.mobile-menu{width:min(1180px,100%);margin:10px auto 0;border:1px solid #dce5f3;border-radius:14px;background:#fff;padding:12px;display:grid;gap:8px}.mobile-menu a{position:relative;color:#1f3550;text-decoration:none;font-weight:600}.mobile-menu-links{display:grid;border:1px solid #e2d8ff;border-radius:12px;overflow:hidden;background:#fbf8ff}.mobile-menu-links a{padding:12px 14px;border-bottom:1px solid #ece4ff}.mobile-menu-links a:last-child{border-bottom:none}.mobile-menu-links a.active{background:#f4ecff;color:#470093}.mobile-menu-links a.active:after{content:"";position:absolute;left:14px;right:14px;bottom:8px;height:2px;border-radius:999px;background:linear-gradient(135deg,#6900fb,#470093)}.mobile-menu .btn-primary{color:#fff}.hero-section,.section-block,.landing-footer{width:min(1180px,100%);margin-inline:auto}.hero-section{padding:42px 16px 10px;display:grid;grid-template-columns:1.1fr .9fr;gap:26px}.hero-left,.hero-right,.section-block{border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:0 10px 28px #0f172a0d}.hero-left{padding:30px}.hero-badge{display:inline-flex;border-radius:999px;border:1px solid #d9c7ff;background:#f4ecff;padding:6px 12px;font-size:.75rem;font-weight:700}.hero-left h2{margin:12px 0;font-size:clamp(2rem,4vw,3.2rem);line-height:1.05;letter-spacing:-.03em}.hero-left p{margin:0;color:#4b5f77}.hero-pills{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px}.hero-pills span{display:inline-flex;align-items:center;gap:6px;border-radius:999px;border:1px solid #e2d4ff;background:#f8f3ff;padding:6px 10px;font-size:.82rem;font-weight:600}.hero-actions{margin-top:16px;display:flex;gap:10px;flex-wrap:wrap}.hero-right{padding:16px;display:grid;gap:12px}.stats-card,.downloads-card{border:1px solid #dde6f3;border-radius:16px;background:var(--bg-soft);padding:16px}.stats-card h3{margin:0 0 10px;font-size:1rem}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.stat-box{border:1px solid #dce5f3;border-radius:12px;background:#fff;padding:10px}.stat-box strong{display:block;font-size:1.1rem}.stat-box p{margin:4px 0 0;font-size:.78rem;color:#5b6c85}.downloads-card p{margin:0 0 10px;font-weight:700}.downloads-card div{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}.downloads-card a{width:100%;min-height:56px;border-radius:10px;border:1px solid #dce5f3;background:#fff;display:grid;place-items:center}.downloads-card img{height:38px;width:auto}.section-block{margin-top:14px;padding:22px}.section-block h3{margin:0 0 10px;font-size:1.55rem;letter-spacing:-.02em}.section-block p{margin:0;color:#4b5f77}.grid-4,.grid-3{margin-top:14px;display:grid;gap:12px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.card{border:1px solid #dce5f3;border-radius:16px;background:#fff;padding:14px}.card-horizontal{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:10px}.icon-box{width:34px;height:34px;border-radius:10px;background:#f4ecff;color:#470093;display:grid;place-items:center}.card h4{margin:10px 0 6px}.card-horizontal h4{margin:2px 0 6px}.card p{margin:0;font-size:.9rem}.chip-wrap{display:flex;gap:8px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:5px;border-radius:999px;border:1px solid #dce5f3;background:#f7f9ff;padding:7px 11px;font-size:.85rem;font-weight:600}.mobile-showcase{background:linear-gradient(145deg,#6900fb,#470093);color:#fff}.mobile-showcase p,.mobile-showcase h3{color:#fff}.mobile-layout{margin-top:14px;display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center}.carousel-wrap{display:flex;gap:10px;align-items:center;justify-content:center}.carousel-btn{width:34px;height:34px;border-radius:999px;border:1px solid rgba(255,255,255,.45);background:#ffffff29;color:#fff;display:grid;place-items:center}.preview-mobile,.preview-web{border:1px solid rgba(255,255,255,.25);background:#ffffff14;border-radius:16px;padding:10px}.preview-mobile{width:min(250px,100%)}.preview-web{width:min(500px,100%)}.preview-mobile img,.preview-web img{width:100%;display:block;border-radius:10px}.mobile-features{display:grid;gap:10px}.mobile-features article{border-radius:12px;border:1px solid rgba(255,255,255,.25);background:#ffffff14;padding:12px}.mobile-features h4{margin:0}.mobile-features p{margin-top:4px;color:#d8e8ff}.pricing-card ul{list-style:none;margin:10px 0 14px;padding:0;display:grid;gap:7px}.pricing-card li{display:flex;gap:6px;align-items:center;font-size:.9rem}.pricing-card.highlight{border-color:#6900fb;box-shadow:0 16px 30px #6900fb33}.faq-list{display:grid;gap:10px}.faq-item{border:1px solid #dce5f3;border-radius:12px;background:#fff;overflow:hidden}.faq-btn{width:100%;border:none;background:transparent;display:flex;align-items:center;justify-content:space-between;padding:12px;text-align:left;font-weight:700;color:#1f3550}.faq-item p{padding:0 12px 12px}.rotate{transform:rotate(180deg)}.landing-footer{margin-top:16px;border-top:1px solid #d0dae8;padding:24px 16px 26px}.footer-top{display:grid;grid-template-columns:1.2fr 2fr;gap:22px}.footer-brand p{margin:10px 0 0;color:#5b6c85;font-size:.9rem;line-height:1.6;max-width:42ch}.footer-brand h3{margin:0;font-size:1.2rem;line-height:1}.footer-links-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.footer-links-grid section{display:grid;gap:8px}.footer-links-grid h4{margin:0;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#64748b}.footer-links-grid a{text-decoration:none;color:#1f3550;font-weight:500;font-size:.92rem}.footer-link-btn{appearance:none;border:none;background:transparent;text-align:left;padding:0;color:#1f3550;font-weight:500;font-size:.92rem;cursor:pointer;font-family:inherit}.footer-links-grid a:hover,.footer-link-btn:hover{color:#6900fb}.footer-bottom{margin-top:18px;padding-top:14px;border-top:1px solid #dce5f3}.footer-bottom p{margin:0;color:#64748b;font-size:.85rem}.demo-modal-overlay{position:fixed;inset:0;background:#0206177a;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;padding:14px;z-index:210}.demo-modal-card{width:min(760px,100%);border-radius:16px;border:1px solid #dbe5f3;background:#fff;padding:16px}.demo-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.demo-modal-header h3{margin:0;font-size:1.2rem}.demo-modal-header button{width:34px;height:34px;border-radius:10px;border:1px solid #dbe5f3;background:#fff;color:#334155;display:grid;place-items:center}.demo-modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.demo-modal-grid label{display:grid;gap:6px;font-size:.84rem;font-weight:600;color:#334155}.demo-modal-grid input{height:42px;border-radius:10px;border:1px solid #dbe5f3;padding:0 10px;outline:none}.demo-modal-grid span{color:#b91c1c;font-size:.75rem;font-weight:500}.demo-modal-actions{margin-top:12px;display:flex;justify-content:flex-end;gap:10px}.scroll-top-btn{position:fixed;right:18px;bottom:18px;width:56px;height:56px;border-radius:999px;border:2px solid rgba(255,255,255,.65);background:linear-gradient(135deg,#6900fb,#470093);color:#fff;box-shadow:0 16px 30px #6900fb66;display:grid;place-items:center;z-index:150;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.scroll-top-btn:hover{transform:translateY(-2px);box-shadow:0 20px 34px #6900fb73}@media(max-width:1060px){.desktop-only{display:none}.menu-toggle{display:grid;place-items:center}.hero-section,.mobile-layout{grid-template-columns:1fr}.grid-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-top{grid-template-columns:1fr}.footer-links-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.nav-bar{padding:8px}.hero-section{padding:14px 8px 0}.hero-left,.section-block,.hero-right{padding:14px;border-radius:14px}.hero-left h2{font-size:2.2rem}.hero-actions .btn-primary,.hero-actions .btn-ghost{width:100%;text-align:center}.grid-4,.grid-3{grid-template-columns:1fr}.brand h1{font-size:1.2rem}.brand-logo{width:150px;height:40px}.footer-links-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.footer-brand p{font-size:.84rem}.demo-modal-grid{grid-template-columns:1fr}.scroll-top-btn{width:60px;height:60px;right:14px;bottom:22px}}.legal-page{min-height:100vh;background:linear-gradient(180deg,#fff,#f8fafc);padding:24px 16px 36px}.legal-wrap{width:min(940px,100%);margin:0 auto;border:1px solid #dbe3ee;border-radius:16px;background:#fff;padding:clamp(16px,3vw,28px)}.legal-headline{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.legal-headline h1{margin:0;font-size:clamp(1.5rem,3vw,2rem)}.legal-headline a{text-decoration:none;border:1px solid #94a3b8;border-radius:999px;padding:8px 12px;color:#0f172a;font-weight:700;font-size:.88rem}.legal-meta{margin:0 0 18px;color:#64748b;font-size:.9rem}.legal-section{margin-top:14px}.legal-section h2{margin:0 0 6px;font-size:1.1rem}.legal-section p{margin:0;color:#334155}.auth-layout{min-height:100vh;display:flex;justify-content:center;align-items:center;background:#fff;padding:20px}:root{--primary-purple: #6A11CB;--secondary-purple: #5B6CFF;--sidebar-width: 260px;--sidebar-collapsed-width: 80px;--header-height: 64px;--transition: all .3s cubic-bezier(.4, 0, .2, 1)}.admin-layout{display:flex;height:100vh;background:#f4f7fe;overflow:hidden}.admin-sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background:linear-gradient(180deg,var(--secondary-purple),var(--primary-purple));color:#fff;display:flex;flex-direction:column;z-index:1000;transition:var(--transition);padding:0}.sidebar-top{padding:30px 10px;border-bottom:1px solid rgba(255,255,255,.1)}.profile-wrapper{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.sidebar-nav{padding:20px 0;display:flex;flex-direction:column}.sidebar-nav a{display:flex;align-items:center;gap:15px;padding:15px 24px;color:#ffffffb3;text-decoration:none;font-weight:500;transition:.2s;width:100%;box-sizing:border-box}.sidebar-nav a:hover,.sidebar-nav a.active{background:#ffffff26;color:#fff;box-shadow:inset 4px 0 #fff}.admin-topbar{height:var(--header-height);background:#fff;display:flex;align-items:center;justify-content:flex-start;padding:0 24px;border-bottom:1px solid #e9edf7;width:100%}.topbar-right{margin-left:auto}.icon-btn{background:#f4f7fe;border:none;border-radius:8px;padding:8px;cursor:pointer;display:flex;align-items:center;color:#1b2559;transition:.2s}.menu-toggle{width:auto!important;margin:0!important;flex:0 0 auto}.icon-btn:hover{background:#e2e8f0}.logout-link{display:flex;align-items:center;gap:8px;background:var(--primary-purple);color:#fff;border:none;padding:10px 20px;border-radius:10px;cursor:pointer;font-weight:600}.sidebar-collapsed .admin-sidebar{width:var(--sidebar-collapsed-width);min-width:var(--sidebar-collapsed-width)}.sidebar-collapsed .sidebar-nav a{justify-content:center;padding:15px 0}@media(max-width:768px){.admin-sidebar{position:fixed;left:-100%;height:100vh}.sidebar-expanded .admin-sidebar{left:0}.sidebar-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sidebar-expanded .sidebar-overlay{display:block}.admin-main{margin-left:0!important}}.admin-main{flex:1;display:flex;flex-direction:column;overflow:hidden;transition:var(--transition)}.admin-content{flex:1;padding:15px;overflow-y:auto}.page-container{max-width:1000px;margin:0 auto}.page-header{margin-bottom:24px}.page-header h1{margin:0;font-size:1.5rem;color:#111827}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.full-width{grid-column:span 2}@media(max-width:768px){.form-grid{grid-template-columns:1fr}.full-width{grid-column:span 1}}.form-card{background:#fff;border-radius:12px;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a;overflow:hidden;display:flex;flex-direction:column;height:600px}.items-scroll-body::-webkit-scrollbar{width:6px}.items-scroll-body::-webkit-scrollbar-thumb{background:#ccc;border-radius:6px}.card-header{padding:14px 20px;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;gap:10px;color:#374151}.card-header h3{margin:0;font-size:.95rem;font-weight:600}.customer-card-header{background:linear-gradient(90deg,#eef2ff,#f5f3ff);color:#4338ca}.service-card-header{background:linear-gradient(90deg,#ecfeff,#eff6ff);color:#0e7490}.location-card-header{background:linear-gradient(90deg,#f0fdf4,#ecfdf5);color:#166534}.card-body{padding:20px;display:flex;flex-direction:column;height:100%;min-height:0}.input-group{margin-bottom:16px}.search-control-group{display:grid;grid-template-columns:minmax(0,1fr) 44px;width:100%}.search-control-group input{height:44px;box-sizing:border-box;border-top-right-radius:0;border-bottom-right-radius:0;border-right:none;margin:0}.input-group label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:6px}.page-container input,.page-container select{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:.95rem;transition:.2s}.page-container input:focus,.page-container select:focus{outline:none;border-color:#6a11cb;box-shadow:0 0 0 3px #6a11cb1a}.page-container textarea{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:.95rem;transition:.2s;resize:vertical}.page-container textarea:focus{outline:none;border-color:#6a11cb;box-shadow:0 0 0 3px #6a11cb1a}.search-mode-group{display:flex;align-items:center;gap:10px;margin-top:6px}.search-mode-option{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid #d1d5db;border-radius:999px;background:#fff;cursor:pointer;font-size:.9rem;transition:background .2s,border-color .2s,color .2s}.search-mode-option input{display:none}.search-mode-option span{pointer-events:none}.search-mode-option input:checked+span{background:#6a11cb;color:#fff;border-radius:999px;padding:4px 10px}.search-mode-option:hover{border-color:#a5b4fc}.name-suggestions{margin-top:8px;padding:6px 0;border:1px solid #d1d5db;border-radius:8px;background:#fff;max-height:200px;overflow-y:auto}.name-suggestions li{padding:8px 12px;display:flex;flex-direction:column;cursor:pointer;border-bottom:1px solid #f3f4f6}.name-suggestions li:hover{background:#f3f4f6}.name-suggestions li:last-child{border-bottom:none}.name-suggestions li.suggestion-add-new{background:#f8fafc;border-top:1px solid #e5e7eb}.name-suggestions li.suggestion-add-new:hover{background:#eef2ff}.name-suggestions li.suggestion-add-new .suggestion-main strong{color:#4338ca}.suggestion-main{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.suggestion-main strong{font-weight:600;color:#111827}.suggestion-main .subtext{font-size:.85rem;color:#6b7280;font-weight:500}.suggestion-address{font-size:.8rem;color:#9ca3af;line-height:1.3}.button-row{display:flex;gap:12px;margin-top:16px}.page-actions{margin-top:20px;display:flex;justify-content:flex-end;gap:10px}.service-actions{margin-top:14px;display:flex;justify-content:flex-end;gap:10px}.create-lead-btn{min-width:180px;width:auto;flex:0 0 auto}.clear-form-btn{width:auto;flex:0 0 auto;border-radius:10px}.page-container button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:8px;font-weight:600;cursor:pointer;transition:.2s;border:none;font-size:.9rem}.page-container .btn-primary{background:#6a11cb;color:#fff}.page-container .btn-duplicate{color:#374151}.search-icon-btn{height:44px;width:44px;min-width:44px;padding:0;border:1px solid #d1d5db;border-left:1px solid #d1d5db;border-radius:0 8px 8px 0;margin:0;box-sizing:border-box;align-self:stretch;justify-self:stretch}.page-container .btn-outline{background:#fff;border:1px solid #d1d5db;color:#374151;flex:1}.page-container button:hover{filter:brightness(.95)}.page-container button:disabled{opacity:.5;cursor:not-allowed}.input-error{border-color:#dc2626!important;box-shadow:0 0 0 3px #dc26261f!important}.error-text{margin:6px 0 0;color:#b91c1c;font-size:.8rem;font-weight:600}.new-customer-note{margin:6px 0 12px;border:1px solid #f59e0b;background:#fffbeb;color:#92400e;border-radius:8px;padding:8px 10px;font-size:.86rem;font-weight:600}.customer-info{margin-top:15px;padding-top:15px;border-top:1px dashed #e5e7eb}.customer-info h4{margin-bottom:10px;color:#111827}.add-address-btn{margin-top:8px}.help-text{margin:0;color:#6b7280;font-size:.875rem}.draft-address-preview{margin-top:10px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb;display:grid;gap:6px}.section-title{margin:8px 0 12px;font-size:.95rem;color:#111827}.schedule-group{display:block}.schedule-controls{display:grid;grid-template-columns:minmax(0,1fr) 90px 90px 90px;gap:8px}.modal-overlay{position:fixed;inset:0;background:#11182780;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal-card{width:min(840px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:12px;border:1px solid #e5e7eb}.modal-header{padding:16px 20px;border-bottom:1px solid #e5e7eb}.modal-header h3{margin:0}.modal-body{padding:16px 20px}.modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.items-scroll-body{flex:1;overflow-y:auto;min-height:0;padding-right:6px}.checkbox-label{display:flex;align-items:center;gap:8px;font-size:.9rem;color:#374151;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input{width:16px;height:16px;cursor:pointer}.full-span{grid-column:span 2}.address-type-group{max-width:220px}.checkbox-group input{width:auto}.inline-actions{display:flex;gap:8px;align-items:stretch}.inline-actions input{flex:1;min-width:0}.inline-btn{flex:0 0 110px;width:110px;height:44px;border-radius:8px;padding:0 14px;align-self:stretch}.extract-btn{flex:0 0 130px;width:130px;border:1px solid transparent}.modal-actions{padding:16px 20px;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:10px}.modal-btn{width:auto;min-width:130px;flex:0 0 auto}.modal-actions .btn-secondary.modal-btn,.modal-actions .btn-primary.modal-btn{width:auto;flex:0 0 auto}.modal-actions .btn-secondary.modal-btn{background:#f8fafc;border:1px solid #cbd5e1;color:#334155}.item-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid #eee;border-radius:8px;margin-bottom:10px}.item-info{flex:1;min-width:0}.item-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-shrink:0}.item-badge{margin-left:6px;padding:2px 6px;font-size:.7rem;font-weight:600;border-radius:6px;background:#eef2ff;color:#4338ca}@media(max-width:768px){.search-control-group{width:100%}.inline-actions{flex-direction:column}.inline-btn{width:100%}.modal-grid{grid-template-columns:1fr}.full-span{grid-column:span 1}.address-type-group{max-width:none}.service-actions{flex-direction:column}.schedule-controls{grid-template-columns:1fr}}.input-icon{display:flex;align-items:center;gap:8px;border:1px solid #ddd;padding:8px;border-radius:8px}.input-icon input,.input-icon select{border:none;outline:none;width:100%}.list-header{display:flex;justify-content:space-between;align-items:center}.filter-date{border:1px solid #ddd;padding:6px;border-radius:6px}.expense-card{display:flex;justify-content:space-between;align-items:center;background:#f7f5ff;border-left:4px solid #6c3bff;padding:12px;border-radius:10px;margin-bottom:10px}.expense-info{display:flex;flex-direction:column}.expense-right{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;height:100%}.amount{font-weight:600;color:#111827}.expense-actions{display:flex;gap:10px;margin-top:6px}.expense-actions svg{cursor:pointer;color:#6b7280;transition:.2s}.expense-actions svg:hover{color:#111827}.expense-actions .danger{color:#dc2626}.expense-actions .danger:hover{color:#b91c1c}.expense-total{margin-top:12px;text-align:right;font-weight:600;font-size:16px}.expense-images{margin-top:16px}.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:10px;margin-top:8px}.image-grid img{width:100%;height:80px;object-fit:cover;border-radius:8px;cursor:pointer;transition:transform .2s}.image-grid img:hover{transform:scale(1.05)}.modal-overlay{position:fixed;inset:0;background:#0f172a8c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:999}.modal-card{width:90%;max-width:720px;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0003;overflow:hidden;animation:fadeInScale .25s ease}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 24px;border-bottom:1px solid #f1f5f9}.modal-header h2{margin:0;font-size:20px;font-weight:600}.subtitle{font-size:13px;color:#64748b;margin-top:4px}.close-btn{border:none;background:#f1f5f9;border-radius:8px;padding:6px 10px;cursor:pointer;transition:.2s}.close-btn:hover{background:#e2e8f0}.modal-body{padding:20px 24px}.table-wrapper{border-radius:12px;overflow:hidden;border:1px solid #e2e8f0}.expense-table{width:100%;border-collapse:collapse}.expense-table thead{background:#f8fafc}.expense-table th{text-align:left;padding:12px;font-size:13px;color:#64748b}.expense-table td{padding:12px;border-top:1px solid #f1f5f9;font-size:14px}.expense-table tr:hover{background:#f9fafb}.amount{font-weight:600;color:#16a34a}.total-card{margin-top:16px;padding:16px;border-radius:12px;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;display:flex;justify-content:space-between;align-items:center}.total-card span{font-size:14px;opacity:.9}.total-card h3{margin:0;font-size:20px}.attachment-section{margin-top:20px}.attachment-section h4{margin-bottom:10px;font-size:15px}.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:12px}.image-card{border-radius:10px;overflow:hidden;border:1px solid #e2e8f0;transition:transform .2s}.image-card img{width:100%;height:90px;object-fit:cover}.image-card:hover{transform:scale(1.05)}.image-preview-overlay{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000}.image-preview-box{position:relative;max-width:90%;max-height:90%}.image-preview-box img{width:100%;height:100%;object-fit:contain;border-radius:12px}.preview-close{position:absolute;top:-10px;right:-10px;background:#fff;border:none;border-radius:50%;padding:6px 10px;cursor:pointer;font-size:14px}@keyframes fadeInScale{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
