.advanced-panel{grid-column:1/-1;background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:0 12px 35px rgba(20,35,58,.07)}.advanced-panel h2{margin:0}.advanced-form{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;background:#f4f7f9;padding:16px;border-radius:14px;margin:18px 0}.advanced-form .span-2{grid-column:span 2}.advanced-form .span-all{grid-column:1/-1}.advanced-form .btn{align-self:end;height:44px}.advanced-list{display:grid;gap:10px}.advanced-row{display:grid;grid-template-columns:110px 1.4fr 1fr 120px auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:12px}.advanced-row small{display:block;color:var(--muted)}.advanced-row-actions{display:flex;gap:7px;flex-wrap:wrap}.advanced-row-actions button{border:0;border-radius:8px;padding:8px 10px;font-weight:750;cursor:pointer}.action-main{background:var(--ink);color:#fff}.action-soft{background:#edf1f5;color:var(--ink)}.action-danger{background:#fde2e2;color:#a12828}.status-pill{display:inline-block;border-radius:999px;padding:7px 10px;font-weight:850;font-size:.82rem;background:#e4f0ff;color:#175ea8}.report-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.report-card{padding:18px;border-radius:14px;background:#f4f7f9}.report-card small{display:block;color:var(--muted);font-weight:750}.report-card strong{display:block;font-size:1.55rem;margin-top:4px}.chart{display:flex;align-items:end;gap:10px;min-height:230px;padding:25px 12px 8px;border:1px solid var(--line);border-radius:14px}.chart-col{flex:1;display:flex;flex-direction:column;justify-content:end;align-items:center;gap:7px;height:190px}.chart-bar{width:min(48px,80%);background:linear-gradient(180deg,var(--accent),var(--accent2));border-radius:8px 8px 3px 3px;min-height:3px}.chart-col small{font-size:.72rem;color:var(--muted)}.receipt-photo{width:58px;height:58px;object-fit:cover;border-radius:9px;border:1px solid var(--line)}.booking-screen{display:none;min-height:100vh;background:linear-gradient(145deg,#eef5f7,#fff);padding:35px 20px}.booking-card{max-width:620px;margin:auto;background:#fff;border:1px solid var(--line);border-radius:22px;padding:30px;box-shadow:0 22px 60px rgba(20,35,58,.14)}.booking-card h1{margin:8px 0}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.booking-grid .wide{grid-column:1/-1}.booking-message{margin-top:14px;font-weight:750}.booking-mode .public-site,.booking-mode>.topbar,.booking-mode>.tabs,.booking-mode>.shell,.booking-mode>.auth-screen{display:none!important}.booking-mode .booking-screen{display:block}.feature-note{padding:13px 15px;border:1px solid #f1d77a;border-radius:12px;background:#fff8dc;color:#6d5200;margin:15px 0}.reminder-card{display:grid;grid-template-columns:150px 1fr auto;gap:14px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:12px}.reminder-actions{display:flex;gap:7px}.reminder-actions a{border-radius:8px;padding:8px 10px;font-weight:750;text-decoration:none;background:var(--ink);color:#fff}.advanced-file{padding:9px;background:#fff}@media(max-width:800px){.advanced-form{grid-template-columns:1fr 1fr}.advanced-form .span-2{grid-column:span 2}.advanced-row{grid-template-columns:90px 1fr 100px}.advanced-row .hide-mobile{display:none}.report-grid{grid-template-columns:1fr 1fr}}@media(max-width:500px){.advanced-form,.report-grid,.booking-grid{grid-template-columns:1fr}.advanced-form .span-2,.booking-grid .wide{grid-column:auto}.advanced-row{grid-template-columns:1fr auto}.advanced-row-actions{grid-column:1/-1}.reminder-card{grid-template-columns:1fr}.chart{overflow-x:auto}.chart-col{min-width:42px}}
.tabs{overflow-x:auto;scrollbar-width:thin;white-space:nowrap}.tab{flex:0 0 auto}.estimate-form{border:1px solid var(--line);border-radius:16px;padding:20px;margin:20px 0 28px}.estimate-form h3{margin:4px 0 10px}.estimate-items{display:grid;gap:9px;margin:10px 0}.estimate-item{display:grid;grid-template-columns:minmax(220px,1fr) 90px 120px 110px 42px;gap:9px;align-items:center}.estimate-line-total{text-align:right}.estimate-remove{border:0;border-radius:9px;background:#fde2e2;color:#a12828;font-size:1.25rem;height:42px;cursor:pointer}.estimate-total{display:flex;justify-content:flex-end;gap:30px;align-items:center;border-top:1px solid var(--line);padding-top:14px}.estimate-total strong{font-size:1.45rem}.estimate-list-title{margin-top:24px}@media(max-width:700px){.estimate-item{grid-template-columns:1fr 65px 90px 36px}.estimate-line-total{grid-column:1/-1;text-align:left}.estimate-form{padding:14px}}
[hidden]{display:none!important}
.jobs-head{display:flex;align-items:center;justify-content:space-between;gap:18px}.job-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.job-summary article{padding:18px;border-radius:14px;background:#f4f7f9}.job-summary small{display:block;color:var(--muted);font-weight:750}.job-summary strong{display:block;font-size:1.45rem;margin-top:4px}.job-row{display:grid;grid-template-columns:100px 1.4fr 1fr 110px minmax(190px,auto);gap:14px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:13px}.job-row small{display:block;color:var(--muted);margin-top:4px}.job-closed{opacity:.72;background:#f7faf9}.job-row .status-pill{display:inline-block;margin-bottom:2px}.job-row button:disabled{cursor:default}@media(max-width:850px){.jobs-head{align-items:stretch;flex-direction:column}.job-summary{grid-template-columns:1fr}.job-row{grid-template-columns:90px 1fr 110px}.job-row>div:nth-child(3){grid-column:2}.job-row .advanced-row-actions{grid-column:1/-1}}@media(max-width:520px){.job-row{grid-template-columns:1fr}.job-row>div:nth-child(3),.job-row .advanced-row-actions{grid-column:auto}}
.job-progress-btn{background:#ec8b22;color:#fff;flex:1}.job-progress-btn:hover{background:#cf7214}.dashboard-jobs{grid-column:1/-1;background:#fff;border:2px solid #f0a451;border-radius:18px;padding:24px;box-shadow:0 12px 35px rgba(20,35,58,.07)}.dashboard-jobs h2{margin:0}.dashboard-jobs p{margin:3px 0 0;color:var(--muted)}.dashboard-job-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:18px 0}.dashboard-job-stats>div{background:#fff5e8;border-radius:13px;padding:15px}.dashboard-job-stats small,.dashboard-job-row small{display:block;color:var(--muted)}.dashboard-job-stats strong{display:block;font-size:1.4rem;margin-top:3px}.dashboard-job-list{display:grid;gap:8px}.dashboard-job-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;border:1px solid var(--line);background:#fff;border-radius:11px;padding:13px;cursor:pointer;color:var(--ink)}.dashboard-job-row>span:last-child{text-align:right}@media(max-width:520px){.dashboard-job-stats{grid-template-columns:1fr}.dashboard-job-row{align-items:flex-start}.dashboard-jobs{padding:19px}}
.complimentary-actions{display:grid;gap:14px}.complimentary-actions small{display:block;color:var(--muted);margin-top:8px}.complimentary-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px;border:1px solid var(--line);border-radius:11px}.complimentary-row small{display:block;color:var(--muted);margin-top:3px}.complimentary-success{background:#d9f4e8!important;color:#146c43!important;border-color:#9bd7bd!important}
.industry-list a.industry-pill{text-decoration:none}.industry-list a.industry-pill:hover{border-color:#138a87;color:#0c6866;transform:translateY(-1px)}
.report-filters{display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin:20px 0 8px;padding:16px;background:#f4f7f9;border-radius:14px}.report-filters>div:first-child{min-width:210px}.report-custom{display:flex;gap:12px;align-items:end}.report-custom>div{min-width:160px}.report-range-label{margin:10px 0 16px;color:var(--muted);font-weight:750}.chart-empty{align-self:center;margin:auto;color:var(--muted);font-weight:750}@media(max-width:520px){.report-filters,.report-custom{display:grid;grid-template-columns:1fr;width:100%}.report-filters>div:first-child,.report-custom>div{min-width:0}.report-custom[hidden]{display:none}}
.integration-list{display:grid;gap:10px;margin-top:18px}.integration-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}.integration-row strong,.integration-row small{display:block}.integration-row small{color:var(--muted);margin-top:3px}
.settings-divider{border:0;border-top:1px solid var(--line);margin:24px 0}.percent-field{display:flex;align-items:center;gap:8px}.percent-field span{font-weight:850}.partner-company-list{display:grid;gap:10px;margin-top:16px}.partner-company-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px;border:1px solid var(--line);border-radius:11px}.partner-company-row small,.partner-report-row small{display:block;color:var(--muted);margin-top:3px}.technician-pay-controls{flex-wrap:wrap;justify-content:flex-end}.technician-pay-controls select{width:auto;min-width:135px}.technician-pay-controls input{width:110px}.partner-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;padding:14px}.partner-summary>div{background:#eef7f6;border-radius:11px;padding:13px}.partner-summary small,.partner-summary strong{display:block}.partner-report-list{display:grid}.partner-report-row{display:grid;grid-template-columns:minmax(220px,1fr) 70px 110px 130px;gap:12px;align-items:center;padding:13px 15px;border-top:1px solid var(--line)}@media(max-width:650px){.partner-company-row.technician-pay-row{align-items:stretch;flex-direction:column}.technician-pay-controls{display:grid;grid-template-columns:1fr 1fr;margin-top:8px}.technician-pay-controls select,.technician-pay-controls input{width:100%;min-width:0}.partner-report-row{grid-template-columns:1fr auto}.partner-report-row>span{display:none}}
.messenger{grid-column:1/-1;min-height:640px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 35px rgba(20,35,58,.07);display:grid;grid-template-columns:320px minmax(0,1fr);overflow:hidden}.messenger-contacts{border-right:1px solid var(--line);background:#f8fafb}.messenger-contact-head{padding:22px;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.messenger-contact-head h2{margin:0}.messenger-contact-head p{margin:3px 0 0;color:var(--muted);font-size:.88rem}.messenger-contact-head>span{background:#e6f5f3;color:var(--accent2);border-radius:999px;padding:6px 9px;font-size:.75rem;font-weight:850;white-space:nowrap}.messenger-contact-list{padding:10px;display:grid;gap:5px}.messenger-contact{width:100%;border:0;background:transparent;border-radius:12px;padding:11px;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;text-align:left;align-items:center;color:var(--ink);cursor:pointer}.messenger-contact:hover,.messenger-contact.active{background:#e8f1f3}.messenger-contact.active{box-shadow:inset 3px 0 var(--accent)}.messenger-contact span:nth-child(2){min-width:0}.messenger-contact strong,.messenger-contact small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.messenger-contact small{color:var(--muted);font-size:.8rem;margin-top:2px}.messenger-contact>b{min-width:24px;height:24px;border-radius:999px;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:.75rem}.messenger-avatar{width:42px;height:42px;border-radius:12px;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:900}.messenger-thread{display:grid;grid-template-rows:auto 1fr auto;min-width:0;min-height:640px}.messenger-thread-head{min-height:75px;padding:16px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:15px}.messenger-thread-head strong,.messenger-thread-head small{display:block}.messenger-thread-head small{color:var(--muted);margin-top:3px}.message-channel{padding:6px 10px;border-radius:999px;background:#e6f5f3;color:var(--accent2);font-size:.78rem;font-weight:850}.messenger-thread-body{padding:22px;overflow-y:auto;background:linear-gradient(#f8fafb,#fff);display:flex;flex-direction:column;gap:10px}.message-bubble{max-width:min(75%,620px);padding:11px 13px;border-radius:15px;box-shadow:0 3px 12px rgba(20,35,58,.07)}.message-bubble p{margin:0;overflow-wrap:anywhere}.message-bubble small{display:block;margin-top:6px;font-size:.72rem;opacity:.7}.message-bubble a{display:inline-block;margin-top:8px;color:inherit;font-weight:850}.message-bubble.outgoing{align-self:flex-end;background:var(--accent);color:#fff;border-bottom-right-radius:4px}.message-bubble.incoming{align-self:flex-start;background:#fff;border:1px solid var(--line);border-bottom-left-radius:4px}.messenger-composer{border-top:1px solid var(--line);padding:14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;background:#fff}.messenger-composer textarea{min-height:54px;max-height:140px;resize:vertical}.messenger-compose-actions{display:flex;gap:8px}.messenger-compose-actions .btn{white-space:nowrap}.messenger-empty{margin:auto;color:var(--muted);text-align:center;padding:25px}.messenger-empty.compact{padding:18px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media(max-width:760px){.messenger{grid-template-columns:1fr;min-height:720px}.messenger-contacts{border-right:0;border-bottom:1px solid var(--line)}.messenger-contact-list{display:flex;overflow-x:auto}.messenger-contact{min-width:220px}.messenger-thread{min-height:500px}.messenger-thread-body{min-height:310px}.messenger-composer{grid-template-columns:1fr}.messenger-compose-actions{justify-content:flex-end}.message-bubble{max-width:88%}}@media(max-width:480px){.messenger{border-radius:14px}.messenger-contact-head{padding:16px}.messenger-thread-head{padding:13px 15px}.messenger-thread-body{padding:14px}.messenger-composer{padding:10px}.messenger-compose-actions .btn{flex:1}.message-channel{display:none}}
.technician-access-list{display:grid;gap:10px;margin-top:16px}.technician-access-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:12px}.technician-access-row strong,.technician-access-row small{display:block}.technician-access-row small{color:var(--muted);margin-top:2px}.technician-portal .shell{grid-template-columns:1fr;max-width:1180px}.technician-portal .messenger{display:grid!important}.technician-portal .messenger-contacts{display:none}.technician-portal .messenger{grid-template-columns:1fr}.technician-portal .topbar .step{display:none}@media(max-width:600px){.technician-access-row{grid-template-columns:1fr auto}.technician-access-row .btn{grid-column:1/-1;width:100%}}
.message-head-actions{display:flex;align-items:center;gap:8px}.message-alert-button{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:7px 11px;font:inherit;font-size:.78rem;font-weight:800;cursor:pointer}.message-alert-button:hover{background:#f1f6f7}.job-response-actions{display:flex;gap:8px;margin-top:11px;padding-top:10px;border-top:1px solid rgba(30,54,74,.12)}.job-response-actions button{border:0;border-radius:9px;padding:9px 13px;font:inherit;font-weight:850;cursor:pointer}.job-accept{background:#0b7356;color:#fff}.job-decline{background:#eef1f3;color:#7e2631}.job-response-confirmed{display:inline-flex;margin-top:10px;border-radius:999px;padding:7px 10px;font-size:.8rem;font-weight:850}.job-response-confirmed.accepted{background:#dff5eb;color:#075f46}.job-response-confirmed.declined{background:#fbe5e7;color:#8b2533}.dispatch-state{display:inline-flex;border-radius:999px;padding:3px 7px;font-weight:850;line-height:1.3}.dispatch-state.sent{background:rgba(255,255,255,.18)}.dispatch-state.viewed{background:#d9f0ff;color:#145a7c}.dispatch-state.accepted{background:#dff5eb;color:#075f46}.dispatch-state.declined,.dispatch-state.no-response{background:#fbe5e7;color:#8b2533}.message-bubble.outgoing .dispatch-state.viewed,.message-bubble.outgoing .dispatch-state.accepted,.message-bubble.outgoing .dispatch-state.declined,.message-bubble.outgoing .dispatch-state.no-response{box-shadow:0 0 0 1px rgba(255,255,255,.28)}@media(max-width:480px){.message-head-actions{gap:5px}.message-alert-button{padding:7px 9px}.job-response-actions{display:grid;grid-template-columns:1fr 1fr}.job-response-actions button{min-height:44px}}
.message-bubble small{font-size:.75rem}
