@import "https://fonts.googleapis.com/css2?family=Hanken+Grotesk:wght@400;500;600;700;800;900&family=IBM+Plex+Mono:wght@500;600;700&display=swap";
:root{--font-sans:"Hanken Grotesk", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;--bg:#f8faf8;--surface:#fff;--surface-2:#f2f6f4;--surface-3:#e8efec;--surface-muted:var(--surface-2);--ink:#14221f;--text:#33423e;--text-soft:#64716d;--text-mute:#89938f;--ink-muted:var(--text-soft);--border:#dfe7e3;--border-strong:#c5d1cc;--line:var(--border);--line-strong:var(--border-strong);--primary:#004d40;--navy-50:#e9f4f2;--navy-100:#cce2dd;--navy-500:#0b6a5a;--navy-600:#005b4e;--navy-700:#004d40;--green:#2e7d58;--green-strong:#004d40;--green-bg:#e7f5ee;--green-ink:#176143;--mint:var(--green-bg);--blue:#2f65a8;--blue-bg:#e7f0fb;--blue-soft:var(--blue-bg);--blue-ink:#255184;--sched-50:#e8f1f8;--sched-600:#285f8f;--sched-700:#1f4c73;--amber:#bd7a1b;--amber-bg:#fff5db;--amber-soft:var(--amber-bg);--amber-ink:#7b4f0a;--red:#b42318;--red-bg:#feecea;--red-soft:var(--red-bg);--red-ink:#8e1f16;--teal:#278f87;--teal-bg:#e4f5f3;--teal-ink:#1c6862;--violet:#6941c6;--violet-bg:#eee8ff;--violet-soft:var(--violet-bg);--violet-ink:#5630a9;--shadow:0 1px 2px #14221f0d, 0 10px 28px #14221f12;--shadow-soft:0 1px 2px #14221f0d;--sh-sm:0 1px 2px #14221f0d;--sh-md:0 1px 2px #14221f0f, 0 10px 24px #14221f12;--sh-lg:0 18px 42px #14221f1f;--sh-pop:0 24px 68px #14221f2e;--radius:8px;--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-pill:999px}.role-home-header .eyebrow,.calendar-command-page .eyebrow,.jobs-queue-page .eyebrow,.analytics-page .eyebrow{color:var(--green-strong)}.role-home-metrics,.jobs-kpi-strip,.calendar-kpi-strip,.analytics-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.analytics-header .actions{align-items:center}.analytics-kpis{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.analytics-static-action{color:var(--ink-muted);cursor:default;opacity:.72}.analytics-toolbar{grid-template-columns:auto minmax(0,1fr);align-items:end;gap:14px;margin-bottom:16px;display:grid}.analytics-filter-form{flex-wrap:wrap;justify-content:flex-end;align-items:end;gap:10px;display:flex}.analytics-filter-form label{gap:5px;min-width:150px;display:grid}.analytics-filter-form label span{color:var(--ink-muted);font-size:12px;font-weight:800}.analytics-filter-form input,.analytics-filter-form select{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--ink);font:inherit;padding:9px 10px}.analytics-kpi{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-height:114px;box-shadow:var(--shadow-soft);align-content:center;gap:6px;padding:16px;display:grid}.analytics-kpi p,.analytics-kpi span{color:var(--ink-muted);margin:0;font-size:12px;font-weight:800}.analytics-kpi strong{color:var(--ink);font-family:var(--font-mono);font-size:clamp(22px,2.2vw,31px)}.analytics-kpi-success{border-left:4px solid var(--green)}.analytics-kpi-warning{border-left:4px solid var(--amber)}.analytics-kpi-info{border-left:4px solid var(--blue)}.analytics-kpi-danger{border-left:4px solid var(--red)}.analytics-grid{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);align-items:start;gap:16px;display:grid}.analytics-wide{grid-column:span 1}.analytics-chart-card{gap:15px;min-width:0;display:grid}.analytics-panel-header{justify-content:space-between;gap:12px;display:flex}.analytics-panel-header h3{align-items:center;gap:8px;margin:0;font-size:16px;display:inline-flex}.analytics-panel-header p{color:var(--ink-muted);margin:4px 0 0;font-size:13px;line-height:1.45}.analytics-bars{border-bottom:1px solid var(--line);grid-template-columns:repeat(6,minmax(0,1fr));align-items:end;gap:13px;min-height:260px;padding:8px 4px 44px;display:grid;position:relative}.analytics-bar{grid-template-rows:20px minmax(0,1fr) 18px;place-items:end center;gap:7px;min-width:0;height:210px;display:grid}.analytics-bar>span{color:var(--ink-muted);font-family:var(--font-mono);font-size:11px;font-weight:800}.analytics-bar-track{background:var(--surface-3);border-radius:5px 5px 0 0;flex-direction:column;justify-content:flex-end;width:min(40px,68%);min-height:4px;display:flex;overflow:hidden}.analytics-bar-track i,.analytics-legend i{display:block}.analytics-bar strong{color:var(--ink-muted);font-size:12px}.bar-labor{background:var(--navy-600)}.bar-material{background:var(--teal)}.bar-other{background:var(--text-mute)}.analytics-legend{color:var(--ink-muted);flex-wrap:wrap;gap:14px;font-size:12px;font-weight:800;display:flex;position:absolute;bottom:11px;left:0;right:0}.analytics-legend span{align-items:center;gap:6px;display:inline-flex}.analytics-legend i{border-radius:3px;width:11px;height:11px}.analytics-funnel,.analytics-rank-list{gap:10px;display:grid}.analytics-funnel-row,.analytics-rank-row{align-items:center;gap:9px;display:grid}.analytics-funnel-row{grid-template-columns:minmax(92px,.65fr) 34px minmax(0,1fr)}.analytics-rank-row{grid-template-columns:minmax(140px,1fr) minmax(70px,.55fr) 42px 92px}.analytics-funnel-row span,.analytics-rank-row span,.analytics-rank-row small{color:var(--ink-muted);font-size:12px;font-weight:800}.analytics-funnel-row strong,.analytics-rank-row strong{color:var(--ink);font-family:var(--font-mono)}.analytics-rank-row>div{gap:3px;min-width:0;display:grid}.analytics-rank-row>div strong{overflow-wrap:anywhere;font-family:var(--font-sans)}.analytics-funnel-row i,.analytics-rank-row i{background:var(--surface-3);border-radius:999px;height:8px;overflow:hidden}.analytics-funnel-row b,.analytics-rank-row b{border-radius:inherit;background:var(--green);height:100%;display:block}.analytics-table{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.analytics-table-head,.analytics-table-row{align-items:center;gap:10px;display:grid}.sales-performance-table .analytics-table-head,.sales-performance-table .analytics-table-row{grid-template-columns:minmax(160px,1.1fr) repeat(5,minmax(92px,.75fr))}.installer-performance-table .analytics-table-head,.installer-performance-table .analytics-table-row{grid-template-columns:minmax(160px,1.2fr) repeat(4,minmax(100px,.8fr))}.analytics-table-head{border-bottom:1px solid var(--line);background:var(--surface-2);min-height:38px;color:var(--ink-muted);text-transform:uppercase;padding:0 12px;font-size:11px;font-weight:850}.analytics-table-row{border-bottom:1px solid var(--line);min-height:62px;padding:9px 12px}.analytics-table-row:last-child{border-bottom:0}.analytics-table-row span{gap:3px;min-width:0;display:grid}.analytics-table-row strong{overflow-wrap:anywhere;color:var(--ink);font-size:13px}.analytics-table-row small{overflow-wrap:anywhere;color:var(--ink-muted);font-size:12px}.analytics-deal-row{grid-template-columns:92px minmax(140px,1fr) minmax(120px,.8fr) minmax(90px,.55fr) minmax(120px,.75fr) auto}.analytics-feedback-panel{gap:14px;display:grid}.analytics-feedback-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.analytics-feedback-summary span{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);align-content:center;gap:5px;min-height:86px;padding:12px;display:grid}.analytics-feedback-summary svg{color:var(--green)}.analytics-feedback-summary strong{color:var(--ink);font-family:var(--font-mono);font-size:20px}.analytics-feedback-summary small{color:var(--ink-muted);font-size:12px;font-weight:800}.analytics-feedback-list .dense-row{grid-template-columns:76px minmax(90px,.45fr) minmax(130px,1fr) minmax(120px,.75fr) minmax(116px,.75fr) auto}.compact-metric{min-height:108px;padding:15px}.compact-metric .metric-value{font-size:clamp(22px,2vw,30px)}.role-home-layout{grid-template-columns:minmax(0,1fr) minmax(280px,.34fr);align-items:start;gap:16px;display:grid}.role-home-primary{min-width:0}.role-home-side{gap:10px;display:grid;position:sticky;top:92px}.role-snapshot{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-soft);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px 10px;padding:13px;display:grid}.role-snapshot:hover{border-color:var(--line-strong);background:var(--surface-muted)}.role-snapshot svg{color:var(--green-strong)}.role-snapshot span,.role-snapshot small{overflow-wrap:anywhere;min-width:0}.role-snapshot span{font-weight:850}.role-snapshot strong{font-family:var(--font-mono);font-size:18px}.role-snapshot small{color:var(--ink-muted);grid-column:2/-1;font-size:12px;font-weight:700}.dense-list,.dashboard-decision-list{gap:8px;display:grid}.dense-row{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);grid-template-columns:auto minmax(160px,.55fr) minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:10px 12px;display:grid}.dense-row:hover,.dense-row.active{border-color:var(--line-strong);background:var(--surface-muted)}.dense-row strong,.dense-row span{overflow-wrap:anywhere;min-width:0}.dense-row>span:not(.status-badge){color:var(--ink-muted);font-size:13px}.dense-table{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}.dense-table-head,.dense-table-row{align-items:center;gap:10px;display:grid}.dense-table-head{border-bottom:1px solid var(--line);background:var(--surface-2);min-height:38px;color:var(--ink-muted);text-transform:uppercase;padding:0 12px;font-size:11px;font-weight:850}.dense-table-row{border-bottom:1px solid var(--line);min-height:58px;color:var(--ink);padding:9px 12px}.dense-table-row:last-child{border-bottom:0}.dense-table-row:hover,.dense-table-row.active{background:var(--surface-muted)}.dense-table-row.active{box-shadow:inset 3px 0 0 var(--green-strong)}.dense-table-row span,.dense-table-row strong,.dense-table-row small{overflow-wrap:anywhere;min-width:0}.dense-table-row>span{align-content:center;gap:3px;display:grid}.dense-table-row strong{color:var(--ink);font-size:13px}.dense-table-row small{color:var(--ink-muted);align-items:center;gap:5px;font-size:12px;line-height:1.25;display:inline-flex}.jobs-dense-table .dense-table-head,.jobs-dense-table .dense-table-row{grid-template-columns:132px minmax(140px,1fr) minmax(150px,1.1fr) minmax(145px,.9fr) minmax(130px,.9fr)}.invoice-list,.message-center-list{gap:0;display:grid}.invoice-row,.message-row,.complaint-row,.work-order-row{grid-template-columns:116px minmax(170px,1.1fr) minmax(140px,.9fr) minmax(160px,1fr) minmax(130px,.8fr)}.invoice-row{grid-template-columns:104px minmax(150px,1fr) minmax(120px,.8fr) minmax(170px,1.1fr) minmax(130px,.8fr) minmax(130px,.8fr)}.queue-detail-layout-wide{grid-template-columns:minmax(0,1fr) minmax(320px,.34fr)}.queue-toolbar{gap:16px}.queue-search-form{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-width:min(360px,100%);padding:8px 10px;display:grid}.queue-search-form input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0}.queue-segments{justify-content:flex-start;padding-bottom:2px;overflow-x:auto}.queue-segments .segment-link{gap:8px}.queue-segments .segment-link span{min-width:22px;color:inherit;text-align:center;font-family:var(--font-mono);background:#ffffffb8;border-radius:999px;padding:1px 6px;font-size:11px}.queue-pagination{color:var(--ink-muted);justify-content:flex-end;align-items:center;gap:10px;font-size:13px;font-weight:800;display:flex}.queue-pagination [aria-disabled=true]{pointer-events:none;opacity:.45}.selected-case-heading{gap:5px;display:grid}.selected-case-heading h3,.selected-case-heading p{margin:0}.compact-checklist{gap:7px;margin:0;padding:0;list-style:none;display:grid}.compact-checklist li{color:var(--amber);align-items:center;gap:7px;font-size:13px;font-weight:800;display:inline-flex}.calendar-command-layout{grid-template-columns:minmax(230px,.28fr) minmax(0,1fr) minmax(300px,.33fr);align-items:start;gap:16px;display:grid}.calendar-backlog-panel,.calendar-detail-panel{position:sticky;top:92px}.calendar-backlog-row{grid-template-columns:auto minmax(78px,.45fr) minmax(0,1fr)}.calendar-backlog-row small{color:var(--ink-muted);grid-column:2/-1}.calendar-weather-note,.weather-row-note{align-items:center;gap:5px;font-weight:850;display:inline-flex;color:var(--amber)!important}.calendar-board-panel{gap:14px;min-width:0;display:grid}.calendar-board-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.calendar-board-header h3{margin:2px 0 0}.calendar-load-summary{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.calendar-load-summary span{border:1px solid var(--line);background:var(--surface-2);color:var(--ink-muted);border-radius:999px;gap:6px;padding:5px 8px;font-size:12px;font-weight:800;display:inline-flex}.calendar-load-summary strong{color:var(--ink);font-family:var(--font-mono)}.calendar-period-nav{align-items:center;gap:6px;display:inline-flex}.calendar-period-nav .icon-button{justify-content:center;width:34px;min-width:34px;padding-inline:0}.calendar-period-today{justify-content:center;min-width:78px}.calendar-resource-board{border:1px solid var(--line);border-radius:var(--radius);min-width:0;overflow-x:auto}.calendar-days-row,.calendar-resource-row{grid-template-columns:180px repeat(var(--calendar-day-count,5), minmax(132px, 1fr));min-width:calc(180px + var(--calendar-day-count,5) * 132px);display:grid}.calendar-resource-board-day .calendar-days-row,.calendar-resource-board-day .calendar-resource-row{grid-template-columns:180px repeat(var(--calendar-day-count,1), minmax(260px, 1fr));min-width:calc(180px + var(--calendar-day-count,1) * 260px)}.calendar-resource-board-month .calendar-days-row,.calendar-resource-board-month .calendar-resource-row{grid-template-columns:150px repeat(var(--calendar-day-count,20), minmax(82px, 1fr));min-width:calc(150px + var(--calendar-day-count,20) * 82px)}.calendar-days-row{background:var(--surface-2);min-height:40px;color:var(--ink-muted);text-transform:uppercase;font-size:11px;font-weight:850}.calendar-days-row span,.calendar-resource-cell,.calendar-team-cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px}.calendar-days-row span:last-child,.calendar-resource-cell:last-child{border-right:0}.calendar-team-cell{background:var(--surface);align-content:start;gap:5px;display:grid}.calendar-team-cell strong{overflow-wrap:anywhere}.calendar-team-cell small{color:var(--ink-muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.calendar-resource-cell{background:#ffffffbd;align-content:start;gap:6px;min-height:88px;display:grid}.calendar-booking-pill{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);gap:2px;padding:8px;display:grid}.calendar-booking-pill:hover,.calendar-booking-pill.active{border-color:var(--green-strong);background:var(--mint)}.calendar-booking-pill span,.calendar-booking-pill small,.calendar-booking-pill em{color:var(--ink-muted);font-size:11px;font-style:normal;font-weight:800}.calendar-booking-pill strong{overflow-wrap:anywhere;font-size:13px}.calendar-booking-pill em{color:var(--amber);align-items:center;gap:4px;display:inline-flex}.calendar-detail-panel{gap:12px;display:grid}.calendar-inline-scheduler{border-top:1px solid var(--line);gap:12px;padding-top:12px;display:grid}.calendar-inline-scheduler .schedule-toolbar{flex-direction:column;align-items:stretch}.calendar-inline-scheduler .schedule-toolbar .button{width:100%}.calendar-inline-scheduler .slot-grid,.calendar-inline-scheduler .installer-grid,.calendar-inline-scheduler .field-grid.compact{grid-template-columns:1fr}.calendar-inline-scheduler .slot-grid{max-height:330px;padding-right:4px;overflow:auto}.calendar-inline-scheduler .slot-button{min-height:74px;padding:10px}.calendar-inline-scheduler .schedule-details{gap:12px;padding:12px}.work-order-dense-table .dense-table-head,.work-order-dense-table .dense-table-row{grid-template-columns:132px minmax(170px,1.2fr) minmax(170px,1fr) 92px 92px}.complaint-workspace{grid-template-columns:minmax(0,1fr) minmax(320px,.36fr)}.complaints-dense-table .dense-table-head,.complaints-dense-table .dense-table-row{grid-template-columns:132px minmax(190px,1.2fr) minmax(150px,.9fr) minmax(130px,.8fr) minmax(130px,.8fr)}.admin-users-layout{align-items:start}.admin-users-list-panel,.admin-user-detail-panel,.admin-user-create-form,.admin-user-edit-form,.admin-offboarding-form{gap:14px;display:grid}.admin-users-table .dense-table-head,.admin-users-table .dense-table-row{grid-template-columns:minmax(170px,1.2fr) minmax(110px,.7fr) minmax(145px,.9fr) minmax(130px,.8fr) 104px}.admin-user-row{text-align:left;background:0 0;border-left:0;border-right:0;border-radius:0;width:100%}.admin-user-row:first-of-type{border-top:0}.admin-user-create-form,.admin-user-edit-form,.admin-offboarding-form{border-top:1px solid var(--line);padding-top:14px}.admin-workload-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.admin-workload-stat{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);color:var(--ink-muted);gap:2px;padding:9px;font-size:12px;font-weight:800;display:grid}.admin-workload-stat strong{color:var(--ink);font-family:var(--font-mono);font-size:18px}.admin-workload-stat.active{border-color:var(--amber);background:var(--amber-bg);color:var(--amber-ink)}.admin-acknowledge{grid-column:1/-1}.admin-services-layout{align-items:start}.admin-services-list-panel,.admin-service-detail-panel,.admin-service-create-form,.admin-service-detail-panel form,.admin-service-section{gap:14px;display:grid}.admin-services-table .dense-table-head,.admin-services-table .dense-table-row{grid-template-columns:minmax(190px,1.25fr) minmax(130px,.75fr) minmax(118px,.7fr) minmax(90px,.55fr) minmax(118px,.7fr)}.admin-service-row{text-align:left;background:0 0;border-left:0;border-right:0;border-radius:0;width:100%}.admin-service-row:first-of-type{border-top:0}.admin-service-create-form,.admin-service-section{border-top:1px solid var(--line);padding-top:14px}.admin-service-section h4{align-items:center;gap:7px;margin:0;display:inline-flex}.inline-flags{flex-wrap:wrap;gap:10px;display:flex}.inline-flags label{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);color:var(--ink-muted);align-items:center;gap:7px;padding:8px 10px;font-size:13px;font-weight:800;display:inline-flex}.service-margin-preview{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.service-margin-preview span{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);color:var(--ink-muted);gap:3px;padding:10px;font-size:12px;font-weight:800;display:grid}.service-margin-preview strong{color:var(--ink);font-family:var(--font-mono);font-size:18px}.complaint-detail-panel{gap:13px;display:grid;position:sticky;top:92px}.complaint-detail-panel .complaint-update{margin-top:6px}.message-channel-mark.compact{border-radius:var(--radius);width:30px;height:30px}.job-case-focus{grid-template-columns:minmax(260px,.36fr) minmax(0,1fr);align-items:stretch;gap:16px;margin-bottom:16px;display:grid}@media (max-width:1180px){.role-home-layout,.calendar-command-layout,.queue-detail-layout,.queue-detail-layout-wide,.complaint-workspace,.job-case-focus,.analytics-grid,.analytics-toolbar{grid-template-columns:1fr}.role-home-side,.calendar-backlog-panel,.calendar-detail-panel,.queue-detail-panel,.complaint-detail-panel{position:static}}@media (max-width:760px){.role-home-metrics,.jobs-kpi-strip,.calendar-kpi-strip,.analytics-kpis,.loading-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-toolbar{align-items:stretch}.analytics-filter-form{justify-content:stretch}.analytics-filter-form label,.analytics-filter-form .button{width:100%}.analytics-bars{gap:8px;min-height:230px}.analytics-bar{height:180px}.analytics-table{background:0 0;border:0}.analytics-table-head{display:none}.analytics-table-row,.sales-performance-table .analytics-table-row,.installer-performance-table .analytics-table-row{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:8px}.analytics-deal-row,.analytics-feedback-summary,.analytics-feedback-list .dense-row,.root-cause-summary,.root-cause-grid{grid-template-columns:1fr}.analytics-rank-row{grid-template-columns:minmax(0,1fr) 56px}.analytics-rank-row i,.analytics-rank-row>span{grid-column:1/-1}.loading-layout{grid-template-columns:1fr}.dense-table{background:0 0;border:0}.dense-table-head{display:none}.dense-table-row,.jobs-dense-table .dense-table-row,.invoice-row,.message-row,.complaint-row,.work-order-dense-table .dense-table-row,.complaints-dense-table .dense-table-row,.admin-services-table .dense-table-row{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);grid-template-columns:1fr;gap:7px;margin-bottom:8px}.dense-row,.dashboard-decision-row,.calendar-backlog-row{grid-template-columns:1fr}.queue-toolbar,.calendar-board-header{flex-direction:column;align-items:stretch}.queue-search-form{min-width:0}.role-snapshot{grid-template-columns:auto minmax(0,1fr)}.role-snapshot strong{grid-column:2}.service-margin-preview{grid-template-columns:1fr}}*{box-sizing:border-box}html{background:var(--bg);color:var(--text)}body{background:var(--surface-2);color:var(--text);font-family:var(--font-sans);letter-spacing:0;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.mono,.metric-value,.approval-price strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums}button{cursor:pointer}.login-page{background:linear-gradient(135deg, #d8f3dc85, transparent 38%), linear-gradient(315deg, #dbeafeb8, transparent 42%), var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border:1px solid var(--line);border-radius:var(--radius);width:min(430px,100%);box-shadow:var(--shadow);background:#fffffff0;gap:16px;padding:24px;display:grid}.approval-shell{gap:18px;width:min(920px,100%);margin:0 auto;display:grid}.approval-summary,.approval-document,.approval-actions,.approval-success{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#fffffff0}.approval-summary{justify-content:space-between;gap:20px;padding:24px;display:flex}.approval-summary h1{margin:4px 0 0;font-size:34px;line-height:1.08}.approval-summary p{color:var(--ink-muted);margin:8px 0 0}.approval-price{align-content:center;justify-items:end;min-width:160px;display:grid}.approval-price span{color:var(--ink-muted);font-size:13px;font-weight:800}.approval-price strong{margin-top:4px;font-size:28px}.approval-document{padding:26px;line-height:1.62}.approval-document h1,.approval-document h2{line-height:1.15}.approval-document h1{margin-top:0}.approval-actions{gap:14px;padding:22px;display:grid}.approval-check{color:var(--ink-muted);grid-template-columns:20px minmax(0,1fr);align-items:start;gap:10px;line-height:1.45;display:grid}.approval-check input{margin-top:3px}.approval-success{color:var(--green-strong);grid-template-columns:28px minmax(0,1fr);gap:10px;padding:18px;display:grid}.approval-success p{color:var(--ink-muted);margin:4px 0 0}.approval-success.muted{color:var(--ink-muted)}.app-shell{grid-template-columns:60px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:var(--surface);z-index:20;flex-direction:column;align-items:center;height:100vh;padding:12px 0;display:flex;position:sticky;top:0}.brand{border-radius:10px;justify-content:center;align-items:center;width:40px;min-height:40px;margin-bottom:10px;display:flex;position:relative}.brand-mark{border-radius:var(--radius);background:var(--primary);place-items:center;width:32px;height:32px;display:grid;position:relative}.brand-mark:after{content:"";background:#fff;position:absolute;inset:0;-webkit-mask:url(/cleanor-mark.svg) 50%/62% no-repeat;mask:url(/cleanor-mark.svg) 50%/62% no-repeat}.brand-title{margin:0;font-size:17px;font-weight:800;display:none}.brand-subtitle{min-width:0;color:var(--ink-muted);text-overflow:ellipsis;margin:2px 0 0;font-size:13px;overflow:hidden}.nav-group{flex-direction:column;align-items:center;gap:4px;width:100%;display:flex}.nav-link{width:40px;height:40px;color:var(--ink-muted);border-radius:10px;justify-content:center;align-items:center;font-weight:650;transition:background .16s,color .16s;display:flex;position:relative}.nav-command-button{background:0 0;border:0;padding:0}.nav-link:hover,.nav-link.active{background:var(--surface-muted);color:var(--ink)}.nav-link.pending:after{content:"";background:var(--primary);border-radius:999px;width:6px;height:6px;position:absolute;bottom:7px;right:7px;box-shadow:0 0 0 3px #004d401f}.nav-link.active{background:var(--mint);color:var(--primary)}.nav-link.active svg{color:var(--primary)}.nav-label,.nav-kbd{display:none}.nav-tip{z-index:40;pointer-events:none;white-space:nowrap;background:var(--ink);color:#fff;box-shadow:var(--shadow);opacity:0;border-radius:6px;padding:5px 9px;font-size:11.5px;font-weight:750;transition:opacity .12s,transform .12s;position:absolute;top:50%;left:calc(100% + 10px);transform:translateY(-50%)translate(-4px)}.nav-link:hover .nav-tip,.brand:hover .nav-tip,.role-switch-button:hover .nav-tip,.role-panel:hover .nav-tip{opacity:1;transform:translateY(-50%)}.sidebar-footer{flex-direction:column;align-items:center;gap:8px;width:100%;margin-top:auto;display:flex}.role-panel{border:1px solid var(--line);background:var(--mint);width:34px;height:34px;color:var(--primary);border-radius:999px;place-items:center;font-size:11px;font-weight:850;display:grid;position:relative}.role-avatar{display:block}.role-panel .eyebrow,.role-panel .role-name,.role-panel .brand-subtitle{display:none}.demo-switcher{justify-content:center;width:100%;display:flex;position:relative}.role-switch-button{width:40px;height:40px;color:var(--ink-muted);background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.role-switch-copy,.role-chevron{display:none}.role-dot{color:#fff;border-radius:8px;place-items:center;width:28px;height:28px;font-size:11px;font-weight:850;display:grid}.demo-role-grid{z-index:60;border:1px solid var(--line);background:var(--surface);width:216px;box-shadow:var(--shadow);border-radius:10px;flex-direction:column;gap:6px;padding:7px;display:flex;position:absolute;bottom:0;left:calc(100% + 10px)}.demo-role-button{border-radius:var(--radius);min-height:38px;color:var(--ink-muted);text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:6px 8px;font-size:13px;font-weight:800;display:flex}.demo-role-button:disabled{cursor:not-allowed;opacity:.72}.logout-button{width:40px;height:40px;min-height:0;color:var(--ink-muted);background:0 0;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:0;margin-top:0;padding:0;font-weight:750;display:inline-flex}.logout-button:hover{background:var(--surface-muted);color:var(--ink);border-color:#0000}.logout-button span{display:none}.main{min-width:0}.topbar-title{min-width:220px}.topbar{z-index:10;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f6f7f3e0;justify-content:space-between;align-items:center;gap:16px;min-height:76px;padding:18px 32px;display:flex;position:sticky;top:0}.topbar h1{margin:0;font-size:18px}.topbar p{color:var(--ink-muted);margin:4px 0 0;font-size:13px}.route-loading-page{gap:16px;display:grid}.loading-strip,.loading-layout,.loading-panel,.loading-list{gap:12px;display:grid}.loading-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.loading-layout{grid-template-columns:minmax(0,1fr) minmax(300px,.34fr);align-items:start}.loading-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-soft);padding:16px}.loading-block,.loading-card,.loading-line{border-radius:var(--radius);background:var(--surface-3);position:relative;overflow:hidden}.loading-block:after,.loading-card:after,.loading-line:after{content:"";background:linear-gradient(90deg,#0000,#ffffff94,#0000);animation:1.1s ease-in-out infinite loading-shimmer;position:absolute;inset:0;transform:translate(-100%)}.loading-block{min-height:96px}.loading-card{min-height:56px}.loading-line{height:12px}.loading-line.short{width:46%}.loading-line.medium{width:70%}@keyframes loading-shimmer{to{transform:translate(100%)}}.command-overlay{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#14221f52;place-items:start center;padding:min(10vh,84px) 18px 18px;display:grid;position:fixed;inset:0}.command-palette{border:1px solid var(--line);background:var(--surface);width:min(720px,100%);box-shadow:var(--sh-pop);border-radius:14px;overflow:hidden}.command-field{border-bottom:1px solid var(--line);background:var(--surface);grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;gap:10px;min-height:58px;padding:0 14px;display:grid}.command-field svg{color:var(--ink-muted)}.command-field input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;font-size:17px;font-weight:650}.command-field input::placeholder{color:#7b877d}.command-field button{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);width:28px;height:28px;color:var(--ink-muted);place-items:center;padding:0;display:grid}.command-field kbd{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-muted);color:var(--ink-muted);font-family:var(--font-mono);padding:4px 7px;font-size:11px;font-weight:800}.command-popover{background:var(--surface);gap:8px;padding:12px;display:grid}.command-popover-header{color:var(--ink-muted);justify-content:space-between;gap:10px;font-size:12px;display:flex}.command-popover-header strong{color:var(--ink)}.global-search-results{gap:6px;display:grid}.global-search-result{border-radius:var(--radius);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px;display:grid}.global-search-result:hover{background:var(--surface-muted)}.global-search-result strong{overflow-wrap:anywhere;min-width:0;font-size:14px;display:block}.global-search-result p,.global-search-message{color:var(--ink-muted);margin:3px 0 0;font-size:12px;line-height:1.35}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.page-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.page-header h2{margin:0;font-size:30px;line-height:1.1}.page-header p{max-width:760px;color:var(--ink-muted);margin:8px 0 0;line-height:1.55}.actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.button,.icon-button{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);min-height:40px;color:var(--ink);justify-content:center;align-items:center;gap:8px;padding:9px 13px;font-weight:750;display:inline-flex}.button.primary{border-color:var(--green-strong);background:var(--green-strong);color:#fff}.button:disabled{cursor:not-allowed;opacity:.68}.icon-button{width:40px;padding:0}.grid{gap:18px;display:grid}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px;display:grid}.metric-card,.panel,.job-card,.calendar-slot,.work-order-card,.service-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.metric-card{padding:18px}.metric-card p{margin:0}.metric-label{color:var(--ink-muted);font-size:13px;font-weight:700}.metric-value{margin-top:10px;font-size:30px;font-weight:850}.metric-detail{color:var(--ink-muted);margin-top:8px;font-size:13px}.metric-trend{background:var(--surface-muted);color:var(--green-strong);border-radius:999px;margin-top:14px;padding:4px 9px;font-size:12px;font-weight:800;display:inline-flex}.command-center,.demo-flow{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:stretch;gap:18px;margin-bottom:20px;padding:20px;display:grid}.command-main,.demo-flow>div:first-child{align-content:center;gap:10px;display:grid}.command-main h3,.demo-flow h3{margin:0;font-size:22px}.command-main p,.demo-flow p{color:var(--ink-muted);margin:0;line-height:1.55}.command-snapshot{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.command-snapshot div{border:1px solid var(--line);border-radius:var(--radius);background:#fbfcf8;gap:5px;min-height:76px;padding:12px;display:grid}.command-snapshot span,.demo-step small,.role-queue p,.role-queue small{color:var(--ink-muted);font-size:12px;font-weight:750}.command-snapshot strong{overflow-wrap:anywhere;min-width:0;line-height:1.35}.job-case-overview{grid-template-columns:minmax(0,1.15fr) minmax(280px,.65fr) minmax(340px,1fr);align-items:stretch;gap:16px;margin-bottom:20px;display:grid}.job-journey-panel,.job-owner-panel,.job-readiness-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);padding:16px}.job-owner-panel{align-content:start;gap:12px;display:grid}.job-owner-panel h3{margin:0;font-size:20px;line-height:1.2}.job-owner-panel p{color:var(--ink-muted);margin:0;line-height:1.5}.job-owner-actions{flex-wrap:wrap;gap:8px;margin-top:2px;display:flex}.job-journey{gap:8px;margin:14px 0 0;padding:0;list-style:none;display:grid}.job-journey li{border-radius:var(--radius);grid-template-columns:30px minmax(0,1fr);align-items:start;gap:9px;padding:8px;display:grid}.job-journey li.current{background:var(--blue-soft)}.job-journey li.done{background:var(--mint)}.job-journey li.upcoming{background:var(--surface-muted)}.job-journey li>span{background:var(--surface);width:30px;height:30px;color:var(--ink-muted);border-radius:999px;place-items:center;font-size:12px;font-weight:900;display:grid}.job-journey li.current>span{color:var(--blue)}.job-journey li.done>span{color:var(--green-strong)}.job-journey strong{font-size:13px;display:block}.job-journey small{color:var(--ink-muted);margin-top:2px;font-size:12px;line-height:1.35;display:block}.readiness-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.readiness-item{border:1px solid var(--line);border-radius:var(--radius);background:#fbfcf8;gap:6px;padding:10px;display:grid}.readiness-item.done{background:#d8f3dc6b}.readiness-item strong{font-size:13px}.readiness-item small{color:var(--ink-muted);font-size:12px;line-height:1.35}.demo-step-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.demo-step{border:1px solid var(--line);border-radius:var(--radius);background:#fbfcf8;grid-template-columns:22px 18px minmax(0,1fr);align-items:center;gap:8px;padding:10px;display:grid}.demo-step>span{background:var(--green-strong);color:#fff;border-radius:999px;place-items:center;width:22px;height:22px;font-size:12px;font-weight:850;display:grid}.demo-step strong,.demo-step small{overflow-wrap:anywhere;grid-column:3;min-width:0}.demo-step small{margin-top:-5px}.content-grid{grid-template-columns:minmax(0,1.4fr) minmax(360px,.6fr);align-items:start;gap:18px;display:grid}.panel{padding:20px}.panel-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.panel-header h3{margin:0;font-size:17px}.panel-header p{color:var(--ink-muted);margin:4px 0 0;font-size:13px}.panel-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.role-queue-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.role-queue{align-content:start;gap:12px;min-width:0;display:grid}.role-queue h4{margin:0;font-size:15px}.role-queue p{margin:5px 0 0;line-height:1.45}.role-queue ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.role-queue li a{border:1px solid var(--line);border-radius:var(--radius);background:#fbfcf8;gap:6px;padding:11px;display:grid}.role-queue strong{overflow-wrap:anywhere;min-width:0;font-size:14px}.dashboard-snapshot-panel{align-content:start;display:grid}.dashboard-snapshot-grid,.dashboard-shortcuts{gap:10px;display:grid}.dashboard-snapshot-item{border:1px solid var(--line);border-radius:var(--radius);background:#fbfcf8;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;display:grid}.dashboard-snapshot-item:hover{border-color:var(--line-strong);background:var(--surface-muted)}.dashboard-snapshot-item svg{color:var(--green-strong)}.dashboard-snapshot-item span{overflow-wrap:anywhere;min-width:0;color:var(--ink-muted);font-size:13px;font-weight:800}.dashboard-snapshot-item strong{font-family:var(--font-mono);color:var(--ink);font-size:16px}.dashboard-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.jobs-command{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);align-items:stretch;gap:18px;margin-bottom:18px;padding:20px;display:grid}.queue-detail-layout{grid-template-columns:minmax(0,1fr) minmax(310px,.42fr);align-items:start;gap:16px;display:grid}.queue-list-panel{gap:14px;display:grid}.queue-list-panel .panel-header{margin-bottom:0}.queue-detail-panel{gap:12px;display:grid;position:sticky;top:90px}.queue-detail-panel h3,.queue-detail-panel p{margin:0}.queue-detail-panel h3{overflow-wrap:anywhere}.queue-detail-total{color:var(--ink);font-size:28px}.jobs-command-main h3{margin:7px 0;font-size:24px;line-height:1.15}.jobs-command-main p{max-width:760px;color:var(--ink-muted);margin:0 0 14px;line-height:1.55}.jobs-command-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.jobs-command-stats div{border-left:3px solid var(--line-strong);align-content:center;gap:4px;padding-left:12px;display:grid}.jobs-command-stats div:last-child{grid-column:1/-1}.jobs-command-stats span{color:var(--ink-muted);font-size:12px;font-weight:800}.jobs-command-stats strong{font-size:24px}.jobs-board{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px;display:grid}.job-lane{align-content:start;gap:10px;min-width:0;display:grid}.job-lane-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:10px;display:flex}.job-lane-header span{align-items:center;gap:7px;font-weight:850;display:inline-flex}.job-lane-header p{color:var(--ink-muted);margin:5px 0 0;font-size:12px;line-height:1.35}.job-lane-header strong{background:var(--surface-muted);min-width:30px;height:30px;color:var(--ink-muted);border-radius:999px;place-items:center;font-size:13px;display:grid}.job-lane-list{gap:9px;display:grid}.job-board-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);gap:7px;padding:11px;display:grid}.job-board-card:hover{border-color:var(--line-strong);box-shadow:0 8px 20px #18201b12}.job-board-card-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.job-board-card strong,.job-board-card span{overflow-wrap:anywhere;min-width:0}.job-board-card>span,.job-board-card small{color:var(--ink-muted);font-size:12px}.job-board-card small{align-items:center;gap:5px;display:inline-flex}.job-board-card em{color:var(--blue);font-size:12px;font-style:normal;font-weight:850}.jobs-list-panel{margin-bottom:14px}.job-list{gap:12px;display:grid}.job-card{grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:16px;display:grid}.job-card h3,.job-card h4{margin:0;font-size:16px}.job-meta{color:var(--ink-muted);flex-wrap:wrap;gap:8px 14px;margin-top:10px;font-size:13px;display:flex}.job-side{justify-items:end;gap:10px;display:grid}.status-badge{border-radius:999px;align-items:center;gap:6px;width:fit-content;padding:5px 9px;font-size:12px;font-weight:800;display:inline-flex}.progress-track{background:var(--surface-muted);border-radius:999px;height:9px;overflow:hidden}.progress-bar{border-radius:inherit;background:linear-gradient(90deg, var(--green), #6a994e);height:100%}.workflow-list{gap:10px;display:grid}.workflow-step{grid-template-columns:26px minmax(0,1fr);align-items:start;gap:10px;display:grid}.workflow-dot{border:1px solid var(--line-strong);background:var(--surface);width:26px;height:26px;color:var(--ink-muted);border-radius:999px;place-items:center;font-size:12px;font-weight:850;display:grid}.workflow-step.done .workflow-dot{border-color:var(--green);background:var(--green);color:#fff}.workflow-step.current .workflow-dot{border-color:var(--amber);background:var(--amber-soft);color:var(--amber)}.workflow-title{margin:0;font-weight:800}.workflow-description{color:var(--ink-muted);margin:3px 0 0;font-size:13px;line-height:1.45}.table-like{gap:8px;display:grid}.calendar-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.calendar-day{align-content:start;gap:10px;display:grid}.calendar-day h3{margin:0 0 4px;font-size:14px}.calendar-slot{gap:8px;padding:12px;display:grid}.calendar-slot small{color:var(--ink-muted);align-items:center;gap:5px;display:inline-flex}.calendar-slot p{color:var(--ink-muted);margin:0;font-size:12px;line-height:1.4}.calendar-time{color:var(--ink-muted);font-size:12px;font-weight:750}.work-order-command{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);align-items:stretch;gap:18px;margin-bottom:18px;padding:20px;display:grid}.work-order-command h3{margin:7px 0;font-size:22px}.work-order-command p{color:var(--ink-muted);margin:0 0 14px;line-height:1.55}.work-order-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.work-order-kpis div{border:1px solid var(--line);border-radius:var(--radius);background:#fbfcf8;gap:5px;padding:12px;display:grid}.work-order-kpis span{color:var(--ink-muted);font-size:12px;font-weight:750}.work-order-kpis strong{font-size:24px}.work-order-list-panel{margin-bottom:16px}.installer-workspace{grid-template-columns:minmax(280px,.55fr) minmax(0,1fr);align-items:start;gap:16px;margin-bottom:16px;display:grid}.installer-current-card,.installer-action-panel{align-self:start}.installer-current-card{gap:14px;display:grid}.installer-current-card .panel-header{margin-bottom:0}.installer-action-panel{padding:0;overflow:clip}.work-order-grid,.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.work-order-card,.service-card{padding:18px}.work-order-card-top,.work-order-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.work-order-card-top{margin-bottom:12px}.work-order-heading{margin-top:12px}.work-order-card h3,.service-card h3{margin:0}.service-card p,.work-order-card p{color:var(--ink-muted);line-height:1.5}.work-order-facts,.proof-strip{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.work-order-facts span{background:var(--surface-muted);color:var(--ink-muted);border-radius:999px;align-items:center;gap:6px;padding:6px 9px;font-size:12px;font-weight:750;display:inline-flex}.work-order-detail{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.work-order-detail summary{border:1px solid var(--line-strong);border-radius:var(--radius);cursor:pointer;background:#fbfcf8;justify-content:space-between;align-items:center;gap:10px;min-height:40px;padding:9px 12px;font-weight:850;display:flex}.work-order-detail summary::-webkit-details-marker{display:none}.work-order-detail[open] summary svg{transform:rotate(180deg)}.customer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.customer-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);gap:14px;padding:16px;display:grid}.customer-card-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.customer-card h3{margin:8px 0 0;font-size:18px;line-height:1.2}.customer-card-header>strong{text-align:right;min-width:max-content;font-size:20px}.customer-health{flex-wrap:wrap;gap:8px;display:flex}.customer-section{border-top:1px solid var(--line);gap:8px;padding-top:12px;display:grid}.customer-section ul{gap:7px;margin:0;padding:0;list-style:none;display:grid}.customer-section li{color:var(--ink-muted);align-items:center;gap:7px;font-size:13px;line-height:1.4;display:flex}.customer-section p{color:var(--ink-muted);margin:0;font-size:13px}.work-order-actions{gap:14px;margin-top:0;padding:16px;display:grid}.work-order-toolbar{flex-wrap:wrap;gap:10px;display:flex}.work-order-completion-gate{z-index:2;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;justify-content:space-between;align-items:center;gap:12px;margin:4px -16px -16px;padding:14px 16px;display:flex;position:sticky;bottom:0}.work-order-completion-gate strong{display:block}.work-order-completion-gate p{color:var(--ink-muted);margin:3px 0 0;font-size:13px;font-weight:750}.work-order-checks{gap:10px;display:grid}.evidence-panel{border:1px solid var(--line);border-radius:var(--radius);background:#fbfcf8;gap:12px;padding:12px;display:grid}.evidence-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.evidence-header strong{margin-bottom:3px;display:block}.evidence-header p{margin:0;font-size:13px}.media-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:10px;display:grid}.media-form .full{grid-column:1/-1}.media-form .button{align-self:end}.evidence-requirements{flex-wrap:wrap;gap:8px;display:flex}.evidence-grid,.job-media-grid,.approval-document .report-media-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.evidence-thumb,.job-media-thumb,.approval-document .report-media-grid figure,.approval-document .report-media-pair figure{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:0;margin:0;overflow:hidden}.evidence-thumb img,.job-media-thumb img,.approval-document .report-media-grid img,.approval-document .report-media-pair img{aspect-ratio:4/3;object-fit:cover;background:var(--surface-muted);width:100%;display:block}.evidence-thumb figcaption,.job-media-thumb figcaption,.approval-document .report-media-grid figcaption,.approval-document .report-media-pair figcaption{gap:3px;padding:9px;display:grid}.evidence-thumb strong,.job-media-thumb strong{font-size:13px}.evidence-thumb span,.job-media-thumb span,.job-media-thumb small,.approval-document .report-media-grid figcaption,.approval-document .report-media-pair figcaption{color:var(--ink-muted);font-size:12px;line-height:1.35}.customer-report{gap:18px;display:grid}.report-hero{border-bottom:1px solid var(--line);gap:6px;padding-bottom:16px;display:grid}.report-hero h1{color:var(--ink);margin:0;font-size:26px;line-height:1.15}.report-hero p,.report-section p{color:var(--ink-muted);margin:0;line-height:1.55}.report-section{gap:10px;display:grid}.report-section h2,.report-section h3{color:var(--ink);margin:0}.report-section h2{font-size:18px}.report-section h3{font-size:14px}.report-section ul{color:var(--ink-muted);gap:7px;margin:0;padding-left:18px;display:grid}.report-callout{border:1px solid color-mix(in srgb, var(--green-strong) 22%, var(--line));border-radius:var(--radius);background:#f5f8ef;gap:5px;padding:12px;display:grid}.report-callout strong{color:var(--green-strong)}.approval-document .report-media-pairs{grid-template-columns:1fr;gap:10px;display:grid}.report-media-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.report-media-missing{background:var(--surface-muted);align-content:center;min-height:140px;display:grid}.job-media-thumb small{flex-wrap:wrap;align-items:center;gap:5px;display:inline-flex}.checklist{gap:8px;margin:14px 0 0;padding:0;list-style:none;display:grid}.checklist li{color:var(--ink-muted);align-items:flex-start;gap:8px;font-size:13px;display:flex}.quote-actions{justify-items:end;gap:8px;display:grid}.manual-approval-form{border:1px solid var(--line);border-radius:var(--radius);background:#fbfcf8;justify-self:stretch;gap:10px;width:min(420px,100%);padding:12px;display:grid}.manual-approval-form .button{justify-self:end}.approval-link{color:var(--blue);font-size:13px;font-weight:800}.quote-list{gap:10px;margin:14px 0 0;padding:0;list-style:none;display:grid}.quote-list li{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.quote-list p{color:var(--ink-muted);margin:3px 0 0;font-size:13px}.quote-status{background:var(--surface-muted);color:var(--ink-muted);border-radius:999px;padding:4px 8px;font-size:12px;font-weight:800}.segment-control{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);flex-wrap:wrap;gap:4px;padding:4px;display:inline-flex}.segment-link{border-radius:calc(var(--radius) - 2px);min-height:32px;color:var(--ink-muted);align-items:center;padding:6px 10px;font-size:13px;font-weight:800;display:inline-flex}.segment-link-stacked{flex-direction:column;align-items:flex-start;gap:1px;min-width:104px;line-height:1.12}.segment-link-stacked small{color:var(--text-mute);white-space:nowrap;font-size:10.5px;font-weight:800}.segment-link-stacked.active small{color:var(--text-soft)}.invoice-list{gap:12px;display:grid}.invoice-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);grid-template-columns:minmax(0,1fr) minmax(180px,auto);align-items:start;gap:16px;padding:15px;display:grid}.invoice-main{min-width:0}.invoice-title{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.invoice-title h3{overflow-wrap:anywhere;min-width:0;margin:0;font-size:16px}.invoice-lines{flex-wrap:wrap;gap:7px;margin-top:12px;display:flex}.invoice-line-pill{background:var(--surface-muted);max-width:100%;color:var(--ink-muted);border-radius:999px;align-items:center;gap:5px;padding:5px 8px;font-size:12px;font-weight:750;display:inline-flex}.invoice-side{text-align:right;justify-items:end;gap:6px;display:grid}.invoice-side strong{font-size:22px}.invoice-side small{color:var(--ink-muted);justify-content:flex-end;align-items:center;gap:5px;font-size:12px;font-weight:750;display:inline-flex}.complaint-form,.complaint-update{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.quality-weekly{gap:14px;margin-top:18px;display:grid}.quality-weekly-header{justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.quality-weekly-header h3{margin:4px 0 0;font-size:18px}.quality-metrics-grid{grid-template-columns:repeat(auto-fit,minmax(148px,1fr))}.quality-root-cause{gap:14px;margin-top:18px;display:grid}.root-cause-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.root-cause-summary span{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);gap:4px;padding:12px;display:grid}.root-cause-summary strong{color:var(--ink);font-family:var(--font-mono);font-size:22px}.root-cause-summary small{color:var(--ink-muted);font-size:12px;font-weight:800}.root-cause-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;display:grid}.root-cause-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);align-content:start;gap:10px;min-width:0;padding:12px;display:grid}.root-cause-card h4{color:var(--ink);align-items:center;gap:6px;margin:0;font-size:13px;display:inline-flex}.root-cause-card h4 svg{color:var(--green)}.root-cause-list{gap:10px;display:grid}.root-cause-row{gap:5px;display:grid}.root-cause-row div{gap:2px;min-width:0;display:grid}.root-cause-row strong{overflow-wrap:anywhere;color:var(--ink);font-size:12px}.root-cause-row span,.root-cause-row small{color:var(--ink-muted);font-size:11px;font-weight:750}.root-cause-row i{border-radius:var(--r-pill);background:var(--surface-3);height:7px;overflow:hidden}.root-cause-row b{border-radius:inherit;background:var(--green);height:100%;display:block}.complaint-list{gap:12px;display:grid}.complaint-workspace{grid-template-columns:minmax(0,1fr) minmax(300px,.38fr);align-items:start;gap:16px;display:grid}.complaint-primary-stack{gap:16px;display:grid}.complaint-workspace>.panel{position:sticky;top:90px}.complaint-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);gap:14px;padding:14px;display:grid}.complaint-card-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.complaint-card h3{margin:8px 0 0;font-size:17px}.complaint-card p{color:var(--ink-muted);margin:6px 0 0;line-height:1.45}.complaint-mini-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.complaint-mini-list li{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);gap:7px;padding:12px;display:grid}.complaint-mini-list p,.complaint-mini-list small{color:var(--ink-muted);margin:0;line-height:1.45}.danger-text{color:var(--red)!important}.lead-layout{grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);align-items:start;gap:18px;display:grid}.lead-map-toolbar{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:10px;margin-bottom:12px;display:grid}.lead-google-map{border:1px solid var(--line);border-radius:var(--radius);background:#eef3ef;min-height:420px;overflow:hidden}.lead-google-map.hidden{display:none}.lead-map{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(90deg,#2d6a4f14 1px,#0000 1px) 0 0/54px 54px,linear-gradient(0deg,#2d6a4f14 1px,#0000 1px) 0 0/54px 54px,linear-gradient(135deg,#edf5ec,#f7faf4 55%,#e8f1ea);min-height:420px;position:relative;overflow:hidden}.lead-map-street{background:#fffc;border-radius:999px;position:absolute;box-shadow:inset 0 0 0 1px #c4cec2b3}.lead-map-street.horizontal{height:28px;left:-8%;right:-8%;transform:rotate(-8deg)}.lead-map-street.horizontal.top{top:22%}.lead-map-street.horizontal.bottom{bottom:25%}.lead-map-street.vertical{width:30px;top:-8%;bottom:-8%;transform:rotate(14deg)}.lead-map-street.vertical.left{left:28%}.lead-map-street.vertical.right{right:22%}.lead-pin{z-index:2;background:var(--green);color:#fff;border:2px solid #fff;border-radius:999px;place-items:center;width:34px;height:34px;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 10px 24px #18201b38}.lead-pin.status-neutral{background:var(--ink-muted)}.lead-map-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:10px;display:flex}.lead-map-actions .form-hint,.lead-map-mode{color:var(--ink-muted);margin:0;font-size:12px;font-weight:750}.lead-map-mode{margin-top:8px}.lead-create{grid-area:1/2/span 2}.field-grid.compact{gap:12px}.lead-list{grid-column:1;gap:12px;display:grid}.lead-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);gap:14px;padding:16px;display:grid}.lead-card.active{border-color:var(--green)}.lead-card-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.lead-card h3{margin:8px 0 0;font-size:17px}.lead-card p{color:var(--ink-muted);margin:5px 0 0;line-height:1.45}.lead-house-history{border:1px solid var(--amber);border-radius:var(--r-md);background:var(--amber-bg);gap:10px;padding:12px;display:grid}.lead-house-history strong,.lead-house-history p{margin:0}.lead-house-history p,.lead-history-row small{color:var(--amber-ink);line-height:1.35}.lead-history-list{gap:8px;display:grid}.lead-history-row{border-top:1px solid #bd7a1b3d;grid-template-columns:auto minmax(0,1fr);align-items:flex-start;gap:10px;padding-top:8px;display:grid}.lead-history-row:first-child{border-top:0;padding-top:0}.lead-history-row div{gap:3px;min-width:0;display:grid}.lead-history-row a,.lead-history-row div>span{color:var(--ink);font-weight:700;text-decoration:none}.lead-badges{flex-wrap:wrap;gap:6px;display:flex}.lead-conversion{border-top:1px solid var(--line);padding-top:12px}.lead-conversion summary{color:var(--green-strong);cursor:pointer;align-items:center;gap:8px;font-weight:850;display:inline-flex}.lead-conversion .field-grid{margin-top:14px}.lead-created{color:var(--ink-muted);font-size:12px;font-weight:750}.schedule-form{gap:14px;display:grid}.schedule-toolbar{flex-wrap:wrap;gap:10px;display:flex}.slot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.slot-button{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-height:86px;color:var(--ink);text-align:left;gap:4px;padding:12px;display:grid}.slot-button:hover,.slot-button.selected{border-color:var(--green);background:var(--mint)}.slot-button:disabled{cursor:not-allowed;opacity:.55}.slot-button span,.slot-button small{color:var(--ink-muted);font-size:13px}.slot-weather-note{color:var(--amber);align-items:center;gap:5px;font-size:12px;font-style:normal;font-weight:850;display:inline-flex}.schedule-details{border:1px solid var(--line);border-radius:var(--radius);background:#fbfcf8;gap:16px;padding:14px;display:grid}.field-grid.compact{grid-template-columns:minmax(160px,220px) minmax(180px,1fr);gap:12px}.weather-check{align-self:end}.weather-check span,.installer-choice span{align-items:center;gap:6px;display:inline-flex}.installer-picker{gap:10px;display:grid}.installer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.installer-choice{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px 10px;padding:10px;font-weight:800;display:grid}.installer-choice small{color:var(--ink-muted);grid-column:2;font-size:12px;font-weight:750}.installer-choice.disabled{opacity:.55}.message-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.message-list li{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:12px}.message-list p{color:var(--ink-muted);margin:4px 0;font-size:13px;line-height:1.45}.message-list small{color:var(--ink-muted);font-size:12px;font-weight:750}.automation-timeline{gap:10px;margin:0;padding:0;list-style:none;display:grid}.automation-timeline li{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;padding:12px;display:grid}.automation-timeline p{color:var(--ink-muted);margin:4px 0;font-size:13px;line-height:1.45}.automation-timeline small{color:var(--ink-muted);align-items:center;gap:5px;font-size:12px;font-weight:750;display:inline-flex}.message-center-list{gap:12px;display:grid}.message-center-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);grid-template-columns:42px minmax(0,1fr);gap:12px;padding:14px;display:grid}.message-channel-mark{border-radius:var(--radius);background:var(--surface-muted);width:42px;height:42px;color:var(--green-strong);place-items:center;display:grid}.message-center-main{min-width:0}.message-center-main h3{overflow-wrap:anywhere;margin:9px 0 0;font-size:16px}.message-center-main p{color:var(--ink-muted);margin:6px 0 0;line-height:1.45}.template-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.template-management-panel{margin-top:18px}.template-toolbar{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.template-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);gap:14px;padding:16px;display:grid}.template-card-header{grid-template-columns:42px minmax(0,1fr);align-items:start;gap:12px;display:grid}.template-card h3{margin:8px 0 0;font-size:17px}.template-card p,.template-trigger span,.template-preview p{color:var(--ink-muted);margin:0;line-height:1.45}.template-trigger,.template-preview{gap:5px;display:grid}.template-preview{border:1px solid var(--line);border-radius:var(--radius);background:#fbfcf8;padding:12px}.template-label{align-items:center;gap:6px;margin-bottom:8px;display:inline-flex}.variable-list{flex-wrap:wrap;gap:6px;display:flex}.template-usage-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.template-usage-grid span,.template-review-meta{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2);color:var(--ink-muted);padding:8px 9px;font-size:12px;font-weight:750}.template-review-meta{align-items:center;gap:7px;display:flex}.template-review-form{gap:10px;display:grid}.template-review-form textarea{min-height:76px}.template-review-actions{flex-wrap:wrap;gap:8px;display:flex}.form-error{color:var(--red);margin:0;font-size:13px;font-weight:700}.form-success{color:var(--green-strong);margin:0;font-size:13px;font-weight:800}.form-hint{color:var(--ink-muted);align-items:center;gap:6px;margin:0;font-size:13px;font-weight:700;display:inline-flex}.form-shell{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:20px;display:grid}.step-list{gap:8px;display:grid;position:sticky;top:100px}.step-button{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);text-align:left;width:100%;color:var(--ink-muted);align-items:center;gap:10px;padding:11px 12px;font-weight:750;display:flex}.step-button.active{border-color:var(--green);background:var(--mint);color:var(--green-strong)}.step-button.complete{color:var(--green-strong)}.step-button>svg,.step-button>span:first-child{flex:0 0 22px;width:22px}.wizard-section-header{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px;display:flex}.wizard-section-header h4{margin:0;font-size:16px}.wizard-section-header p{color:var(--ink-muted);margin:6px 0 0;line-height:1.45}.wizard-section-header.compact{margin-bottom:10px}.wizard-command{border:1px solid var(--line);border-radius:var(--radius);background:#f7fbf5;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px;padding:14px;display:grid}.wizard-command div{gap:4px;display:grid}.wizard-command span,.review-item span{color:var(--ink-muted);text-transform:uppercase;font-size:12px;font-weight:800}.wizard-command strong,.review-item strong{overflow-wrap:anywhere;min-width:0;line-height:1.35}.service-choice-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.service-choice{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);text-align:left;min-height:158px;color:var(--ink);align-content:start;gap:8px;padding:14px;display:grid}.service-choice.active{border-color:var(--green);background:var(--mint);box-shadow:inset 0 0 0 1px var(--green)}.service-choice strong{line-height:1.25}.service-choice p{color:var(--ink-muted);margin:0;font-size:13px;line-height:1.45}.service-meta{color:var(--green-strong);align-self:end;font-size:12px;font-weight:800}.service-addons{margin-top:18px}.addon-grid,.option-stack{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.check-field{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-height:42px;color:var(--ink);grid-template-columns:20px minmax(0,1fr);align-items:center;gap:8px;padding:10px 11px;font-weight:750;display:grid}.check-field.full{grid-column:1/-1}.check-field input{width:16px;height:16px}.photo-draft-form{grid-template-columns:minmax(160px,.8fr) minmax(180px,1fr) minmax(220px,1.1fr) auto;align-items:end;gap:12px;margin-top:18px;display:grid}.photo-draft-list{gap:10px;margin-top:16px;display:grid}.photo-draft-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;display:grid}.photo-draft-card svg{color:var(--green-strong)}.photo-draft-card p,.photo-draft-card small{color:var(--ink-muted);margin:3px 0 0}.photo-draft-card small{overflow-wrap:anywhere;display:block}.review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.review-item{border:1px solid var(--line);border-radius:var(--radius);background:#fff;gap:5px;padding:13px;display:grid}.validation-summary{gap:14px;margin-top:18px;display:grid}.validation-summary h4{margin:0}.empty-state.success{border-color:var(--green);color:var(--green-strong);align-items:center;gap:8px;display:flex}.empty-state p,.submit-message{margin:0}.submit-message{color:var(--ink-muted);margin-top:6px;font-size:13px;font-weight:750}.form-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);padding:22px}.wizard-progress{background:var(--surface-muted);border-radius:999px;height:6px;margin:-4px 0 18px;overflow:hidden}.wizard-progress span{border-radius:inherit;background:var(--green);height:100%;transition:width .18s;display:block}.wizard-source-banner,.lead-source-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--mint);justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;padding:13px;display:flex}.wizard-source-banner strong,.lead-source-panel h3{color:var(--green-strong);margin:4px 0 0;display:block}.wizard-source-banner>span{color:var(--green-strong);font-family:var(--font-mono);flex:none;font-weight:850}.form-panel h3{margin:0;font-size:22px}.form-panel>p{color:var(--ink-muted);margin:8px 0 20px;line-height:1.5}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.field{gap:7px;display:grid}.field.full{grid-column:1/-1}.field label,.field span{font-size:13px;font-weight:800}.field input,.field select,.field textarea{border:1px solid var(--line-strong);border-radius:var(--radius);width:100%;min-height:42px;color:var(--ink);background:#fff;padding:10px 11px}.field textarea{resize:vertical;min-height:112px}.segmented-field{border:1px solid var(--line-strong);border-radius:var(--radius);background:#fff;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:6px;padding:5px;display:grid}.segmented-field button{min-height:34px;color:var(--ink-muted);background:0 0;border:0;border-radius:6px;padding:7px 9px;font-weight:850}.segmented-field button.active,.segmented-field button[aria-pressed=true]{background:var(--green);color:#fff}.form-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-top:22px;padding-top:18px;display:flex}.form-shell .form-footer{z-index:3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;margin-bottom:-22px;margin-left:-22px;margin-right:-22px;padding-bottom:18px;padding-left:22px;padding-right:22px;position:sticky;bottom:0}.issues{gap:10px;margin-top:18px;display:grid}.issue{border:1px solid var(--line);border-left:4px solid var(--amber);border-radius:var(--radius);background:#fffaf0;padding:11px 12px}.issue.blocking{border-left-color:var(--red);background:#fff7f5}.issue.warning{border-left-color:var(--amber);background:#fffaf0}.issue p{color:var(--ink-muted);margin:0;font-size:13px}.issue strong{color:var(--ink);align-items:center;gap:6px;margin-bottom:3px;display:flex}.weather-advisory{border:1px solid var(--line);border-left:4px solid var(--amber);border-radius:var(--radius);background:#fffaf0;gap:8px;padding:11px 12px;display:grid}.weather-advisory strong{color:var(--ink);align-items:center;gap:7px;display:inline-flex}.weather-advisory p{color:var(--ink-muted);margin:0;font-size:13px;line-height:1.45}.weather-advisory ul{color:var(--ink-muted);gap:5px;margin:0;padding-left:18px;font-size:12px;line-height:1.4;display:grid}.weather-advisory-notice{border-left-color:var(--blue);background:var(--blue-bg)}.weather-advisory-warning{border-left-color:var(--amber);background:#fffaf0}.weather-advisory-danger{border-left-color:var(--red);background:#fff7f5}.weather-advisory-none{border-left-color:var(--green);background:var(--mint)}.weather-advisory-compact ul{display:none}.empty-state{border:1px dashed var(--line-strong);border-radius:var(--radius);color:var(--ink-muted);background:#fff9;padding:22px}h1,h2,h3,h4{color:var(--ink);letter-spacing:0}.app-shell{background:var(--surface-2)}.sidebar{border-right-color:var(--border);background:var(--surface);box-shadow:1px 0 #ffffffb8}.brand{border-radius:var(--r-md)}.brand>div:not(.brand-mark){display:none}.brand:hover{background:var(--surface-2)}.brand-mark{border-radius:var(--r-md);background:var(--primary);width:32px;height:32px;box-shadow:inset 0 0 0 1px #ffffff1f}.nav-group{gap:3px;padding-inline:8px}.nav-separator{background:var(--border);width:28px;height:1px;margin:5px 0}.nav-link{border-radius:var(--r-md);width:40px;height:38px;color:var(--text-mute)}.nav-link:hover{background:var(--surface-3);color:var(--ink)}.nav-link.pending{background:var(--surface-3);color:var(--navy-700)}.nav-link.pending:after{content:"";border-radius:var(--r-pill);background:var(--navy-700);width:6px;height:6px;position:absolute;bottom:7px;right:7px;box-shadow:0 0 0 3px #004d401f}.nav-link.active{background:var(--navy-50);color:var(--navy-700);box-shadow:inset 0 0 0 1px var(--navy-100), 0 1px 2px #14221f0a}.nav-link.active:before{content:"";border-radius:var(--r-pill);background:var(--navy-700);width:3px;height:18px;position:absolute;top:50%;left:4px;transform:translateY(-50%)}.nav-signal{border:1.5px solid var(--surface);background:var(--blue);border-radius:50%;width:7px;height:7px;position:absolute;top:7px;right:7px}.nav-signal-warning{background:var(--amber)}.nav-signal-danger{background:var(--red)}.nav-tip{border-radius:var(--r-sm);box-shadow:var(--sh-lg);background:#17211f}.role-switch-button{border-radius:var(--r-md)}.role-switch-button:hover,.role-switch-button[aria-expanded=true]{background:var(--surface-3)}.role-dot{border-radius:var(--r-md);width:28px;height:28px;font-size:13px}.role-admin{background:var(--navy-700)}.role-sales{background:var(--blue)}.role-operations{background:var(--teal)}.role-installer{background:var(--green)}.role-finance{background:var(--amber)}.demo-role-grid{border-color:var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-pop)}.demo-role-button{border-radius:var(--r-md)}.demo-role-button:hover,.demo-role-button.active{background:var(--navy-50);color:var(--navy-700)}.role-panel{border-color:var(--border);background:var(--navy-50);color:var(--navy-700)}.logout-button{border-radius:var(--r-md)}.topbar{border-bottom-color:var(--border);background:#ffffffe0;min-height:70px;box-shadow:0 1px #ffffffd1}.topbar h1{font-size:17px;font-weight:850}.topbar p{color:var(--text-mute)}.global-search-field,.global-search-popover{border-color:var(--border);border-radius:var(--r-md);box-shadow:var(--sh-sm)}.global-search-field{background:var(--surface);min-height:38px}.global-search-field:focus-within{border-color:var(--navy-500);box-shadow:0 0 0 3px #004d401a}.page{padding:24px}.page-header{gap:18px;margin-bottom:20px}.page-header h2{font-size:25px;font-weight:850;line-height:1.12}.page-header p{max-width:820px;color:var(--text-soft);margin-top:6px;font-size:13.5px;line-height:1.5}.button,.icon-button{border-color:var(--border-strong);border-radius:var(--r-md);background:var(--surface);min-height:36px;color:var(--ink);box-shadow:var(--sh-sm);padding:8px 12px;font-size:13px;font-weight:800}.button:hover,.icon-button:hover{border-color:var(--navy-100);background:var(--surface-2)}.button.primary{border-color:var(--primary);background:var(--primary);color:#fff;box-shadow:0 6px 16px #004d4029}.button.primary:hover{background:var(--navy-600)}.button.warning{background:var(--amber-bg);color:var(--amber-ink);border-color:#efd28b}.metric-card,.panel,.job-card,.calendar-slot,.work-order-card,.service-card,.customer-card,.template-card,.form-panel,.invoice-card,.complaint-card,.lead-card{border-color:var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-sm)}.metric-card{min-height:126px;padding:15px 16px}.metric-label,.wizard-command span,.review-item span{color:var(--text-mute);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:700}.metric-value{color:var(--ink);letter-spacing:0;margin-top:8px;font-size:28px;font-weight:800}.metric-detail{color:var(--text-soft);margin-top:6px}.metric-trend{border-radius:var(--r-pill);background:var(--green-bg);color:var(--green-ink);margin-top:12px;padding:3px 8px;font-size:11.5px}.panel,.form-panel{padding:18px}.panel-header{border-bottom:1px solid var(--border);align-items:flex-start;margin-bottom:14px;padding-bottom:13px}.panel-header h3{font-size:16px;font-weight:850}.panel-header p{color:var(--text-soft);line-height:1.45}.command-center,.demo-flow,.jobs-command,.work-order-command{border-color:var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-sm);padding:18px}.command-snapshot div,.readiness-item,.work-order-kpis div,.evidence-panel,.schedule-details,.template-preview,.manual-approval-form,.review-item,.wizard-command,.role-queue li a,.demo-step{border-color:var(--border);border-radius:var(--r-md);background:var(--surface-2)}.demo-step>span{background:var(--navy-700)}.role-queue li a:hover,.job-board-card:hover,.lead-card:hover,.invoice-card:hover,.message-center-card:hover,.complaint-card:hover{border-color:var(--border-strong);box-shadow:var(--sh-md)}.status-badge,.quote-status{border-radius:var(--r-pill);min-height:22px;padding:3px 8px;font-size:11px;font-weight:850;line-height:1}.status-badge span[aria-hidden]{font-size:9px}.status-neutral{background:var(--surface-3);color:var(--text-soft)}.status-info{background:var(--sched-50);color:var(--sched-700)}.status-warning{background:var(--amber-bg);color:var(--amber-ink)}.status-success{background:var(--green-bg);color:var(--green-ink)}.status-danger{background:var(--red-bg);color:var(--red-ink)}.status-done{background:var(--violet-bg);color:var(--violet-ink)}.quote-status{background:var(--surface-3);width:fit-content;color:var(--text-soft);align-items:center;display:inline-flex}.segment-control{border-color:var(--border-strong);border-radius:var(--r-md);background:var(--surface-2);padding:3px}.segment-link{border-radius:var(--r-sm);min-height:30px;color:var(--text-soft);font-size:12px}.segment-link.active{background:var(--surface);color:var(--ink);box-shadow:var(--sh-sm)}.field{gap:6px}.field label,.field span{color:var(--text-soft);font-size:12px;font-weight:800}.field input,.field select,.field textarea{border-color:var(--border-strong);border-radius:var(--r-md);background:var(--surface);min-height:38px;color:var(--ink);padding:8px 10px;font-size:13.5px}.field textarea{min-height:104px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--navy-500);outline:0;box-shadow:0 0 0 3px #004d401a}.approval-check{border-radius:var(--r-md);color:var(--text-soft)}.approval-check input{accent-color:var(--primary)}.issue{border-color:#f0d69a;border-left-color:var(--amber);background:var(--amber-bg)}.issue.blocking{border-color:#f3b8b0;border-left-color:var(--red);background:var(--red-bg)}.issue p{color:var(--text-soft)}.empty-state{border-color:var(--border-strong);border-radius:var(--r-lg);color:var(--text-soft);background:#ffffffb8}.job-card,.work-order-card,.lead-card,.invoice-card,.complaint-card,.message-center-card,.template-card,.customer-card{background:var(--surface)}.job-meta,.work-order-facts,.proof-strip,.invoice-lines{gap:7px 10px}.job-meta span,.work-order-facts span,.invoice-line-pill,.message-list small,.automation-timeline small{color:var(--text-soft)}.invoice-card,.message-center-card{border-radius:var(--r-lg)}.invoice-card{padding:14px}.invoice-side strong{color:var(--ink);font-family:var(--font-mono);font-size:22px;font-weight:700}.message-channel-mark{border-radius:var(--r-md);background:var(--navy-50);color:var(--navy-700)}.message-center-card{padding:13px}.complaint-card{position:relative;overflow:hidden}.complaint-card:before{content:"";background:var(--red);width:3px;position:absolute;inset:0 auto 0 0}.lead-layout{grid-template-columns:minmax(0,1fr) minmax(340px,380px);gap:18px}.content-grid>*,.lead-layout>*,.form-shell>*,.job-case-overview>*,.work-order-grid>*,.jobs-board>*,.role-queue-grid>*{min-width:0}.lead-map-panel{min-height:560px}.lead-google-map,.lead-map{border-color:var(--border);border-radius:var(--r-lg);min-height:450px}.lead-map{isolation:isolate;background:radial-gradient(circle at 18% 18%,#ffffffbf 0 11%,#0000 12%),radial-gradient(circle at 72% 72%,#d5e7dfc7 0 15%,#0000 16%),linear-gradient(135deg,#e8f1ec,#f7faf6 48%,#dfeae4)}.lead-map:before,.lead-map:after{content:"";z-index:0;pointer-events:none;border-radius:50%;position:absolute}.lead-map:before{aspect-ratio:1;background:#97becb52;width:42%;bottom:-22%;right:-12%}.lead-map:after{aspect-ratio:1.5;background:#d3e2d3b3;width:30%;top:48%;left:-8%}.lead-map-street{z-index:1;background:#ffffffd6;box-shadow:inset 0 0 0 1px #beccc6b8,0 4px 10px #14221f0a}.lead-map-legend,.lead-map-callout{z-index:4;border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--sh-md);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe0;position:absolute}.lead-map-legend{flex-wrap:wrap;gap:8px;max-width:calc(100% - 24px);padding:8px 10px;display:flex;top:12px;left:12px}.lead-map-legend span{color:var(--text-soft);align-items:center;gap:5px;font-size:11px;font-weight:800;display:inline-flex}.legend-dot{border-radius:50%;width:8px;height:8px}.legend-dot.status-info{background:var(--sched-600)}.legend-dot.status-warning{background:var(--amber)}.legend-dot.status-success{background:var(--green)}.legend-dot.status-danger{background:var(--red)}.lead-map-callout{gap:6px;width:min(280px,100% - 28px);padding:12px;display:grid;top:56px;right:14px}.lead-map-callout strong{min-width:0;color:var(--ink);overflow-wrap:anywhere}.lead-map-callout p,.lead-map-callout small{color:var(--text-soft);margin:0;font-size:12px;line-height:1.35}.lead-pin{z-index:2;border-width:2px;border-radius:50% 50% 50% 0;width:34px;height:34px;transform:translate(-50%,-78%)rotate(-45deg);box-shadow:0 11px 22px #14221f3d}.lead-pin svg{transform:rotate(45deg)}.lead-pin.active{outline:5px solid #004d4024;width:42px;height:42px}.lead-pin.status-info{background:var(--sched-600)}.lead-pin.status-warning{background:var(--amber)}.lead-pin.status-success{background:var(--green)}.lead-pin.status-danger{background:var(--red)}.lead-create{align-self:start}.lead-card.active{border-color:var(--navy-500);background:var(--navy-50);box-shadow:inset 3px 0 0 var(--navy-600), var(--sh-sm)}.lead-layout{grid-template-columns:minmax(0,1fr) minmax(340px,390px);align-items:stretch;min-height:calc(100vh - 164px)}.lead-map-panel{grid-template-rows:auto auto minmax(430px,1fr) auto;min-height:calc(100vh - 164px);display:grid;position:sticky;top:90px}.lead-map-toolbar{grid-template-columns:repeat(auto-fit,minmax(138px,1fr))}.lead-google-map,.lead-map{height:100%;min-height:min(680px,100vh - 360px)}.lead-list{grid-area:1/2;align-self:stretch;max-height:calc(100vh - 164px);padding-right:2px;overflow:auto}.lead-create{z-index:70;width:min(430px,100vw - 32px);max-height:calc(100vh - 116px);box-shadow:var(--sh-pop);position:fixed;top:92px;right:24px;overflow:auto}.lead-queue-header,.lead-card-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.lead-queue-header{z-index:3;border:1px solid var(--border);border-radius:var(--r-md);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffeb;padding:12px;position:sticky;top:0}.lead-queue-header h3{margin:3px 0 0;font-size:18px}.lead-queue-header p{color:var(--muted);margin:4px 0 0;font-size:12px;font-weight:750}.lead-queue-pagination{border:1px solid var(--border);border-radius:var(--r-md);background:#ffffffd1;justify-content:center;padding:10px}.lead-selected-card{border:1px solid var(--navy-500);border-radius:var(--r-md);background:var(--navy-50);box-shadow:inset 3px 0 0 var(--navy-600), var(--sh-sm);gap:8px;padding:14px;display:grid}.lead-selected-card strong,.lead-selected-card p,.lead-selected-card small{overflow-wrap:anywhere;min-width:0;margin:0}.lead-selected-card p,.lead-selected-card small{color:var(--text-soft);line-height:1.35}.lead-selected-card .button{justify-self:start;margin-top:4px}.territory-summary{border:1px solid var(--border);border-radius:var(--r-sm);background:#ffffff9e;gap:6px;padding:9px;display:grid}.territory-summary span,.territory-fit{min-width:0;color:var(--text-soft);overflow-wrap:anywhere;align-items:center;gap:6px;font-size:12px;font-weight:800;display:inline-flex}.territory-summary small{color:var(--amber-ink);font-size:12px;font-weight:750;line-height:1.35}.territory-fit.status-success{color:var(--green-strong)}.territory-fit.status-warning{color:var(--amber-ink)}.territory-fit.status-info{color:var(--sched-700)}.territory-recommendation{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-muted);gap:10px;margin-top:12px;padding:12px;display:grid}.territory-recommendation.warning{border-color:var(--amber);background:var(--amber-bg)}.territory-recommendation strong,.territory-recommendation p{margin:0}.territory-recommendation p{color:var(--text-soft);font-size:12px;line-height:1.4}.territory-owner-actions{flex-wrap:wrap;gap:8px;display:flex}.lead-card-actions{flex-wrap:wrap;justify-content:flex-end}.lead-map-callout .button{justify-self:start;margin-top:4px}.calendar-grid{gap:10px}.calendar-day{min-width:0}.calendar-day h3{color:var(--text-soft);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:700}.calendar-slot{border-left:3px solid var(--sched-600);padding:12px}.calendar-time{color:var(--text-mute);font-family:var(--font-mono)}.work-order-command{background:var(--surface)}.work-order-command h3,.jobs-command-main h3,.command-main h3,.demo-flow h3{font-size:20px;line-height:1.2}.work-order-kpis strong,.jobs-command-stats strong{color:var(--ink);font-family:var(--font-mono);font-size:23px}.work-order-facts span{border-radius:var(--r-pill);background:var(--surface-2)}.public-page{background:var(--surface-3);min-height:100vh;padding:0 24px 88px}.public-brandbar{background:var(--primary);color:#fff;align-items:center;gap:10px;height:58px;margin-inline:-24px;padding:0 max(24px,50vw - 406px);display:flex}.public-brandbar strong{font-size:15px;font-weight:850}.public-brandbar span:last-child{color:#ffffffc7;margin-left:auto;font-size:12px;font-weight:750}.public-logo{border-radius:var(--r-md);background:#fff;width:30px;height:30px;position:relative}.public-logo:after{content:"";background:var(--primary);position:absolute;inset:0;-webkit-mask:url(/cleanor-mark.svg) 50%/60% no-repeat;mask:url(/cleanor-mark.svg) 50%/60% no-repeat}.approval-shell{gap:18px;width:min(860px,100%);margin-top:28px}.approval-summary,.approval-document,.approval-actions,.approval-success{border-color:var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--sh-sm)}.approval-summary{padding:26px 28px}.approval-summary h1{letter-spacing:0;font-size:29px}.approval-price strong{color:var(--ink);font-size:32px;font-weight:700}.approval-document{padding:26px 28px}.approval-actions{padding:18px}.approval-success{color:var(--green-ink)}.report-feedback-form h2{margin:2px 0 4px;font-size:24px;line-height:1.12}.report-feedback-form p{color:var(--ink-muted);margin:0}.report-rating-field{border:0;gap:8px;min-width:0;padding:0;display:grid}.report-rating-field legend,.report-feedback-field span{color:var(--ink-muted);text-transform:uppercase;font-size:12px;font-weight:850}.report-rating-options{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.report-rating-options label input{opacity:0;pointer-events:none;position:absolute}.report-rating-options span{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);width:100%;min-height:42px;color:var(--ink-muted);cursor:pointer;justify-content:center;align-items:center;gap:5px;font-weight:850;display:inline-flex}.report-rating-options input:checked+span{border-color:var(--green);background:var(--green-bg);color:var(--green-strong)}.report-feedback-field{gap:8px;display:grid}.report-feedback-field textarea{resize:vertical;min-height:112px}.report-feedback-thanks{align-items:start}.report-observability{gap:8px;margin-top:8px;display:grid}.report-observability>p{color:var(--ink-muted);margin:0;font-size:12px;font-weight:750}.report-feedback-summary{border-left:3px solid var(--green);gap:5px;padding-left:10px;display:grid}.report-feedback-summary strong{color:var(--green-strong);align-items:center;gap:5px;display:inline-flex}.report-feedback-summary span,.report-feedback-summary p{color:var(--ink-muted);margin:0;font-size:12px}@media (max-width:1100px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;align-items:stretch;gap:10px;max-width:100vw;height:auto;padding:12px 16px;display:flex;position:static;overflow:hidden}.brand{flex:none;justify-content:flex-start;gap:10px;width:auto;margin-bottom:0}.brand>div:not(.brand-mark),.brand-title{display:block}.brand-mark{flex:none}.nav-group{contain:paint;flex-direction:row;flex:auto;align-items:center;gap:6px;min-width:0;max-width:100%;padding-bottom:3px;display:flex;overflow:auto hidden}.nav-separator{flex:none;width:1px;height:28px;margin:0 2px}.nav-link{white-space:nowrap;flex:none;justify-content:flex-start;gap:8px;width:auto;height:auto;min-height:38px;padding:8px 11px}.nav-label{display:inline}.nav-kbd{border:1px solid var(--line);border-radius:var(--r-xs);background:var(--surface);color:var(--text-mute);font-family:var(--font-mono);padding:1px 5px;font-size:10px;font-weight:800;display:inline-flex}.nav-link.active:before{width:14px;height:3px;top:auto;bottom:5px;left:8px;transform:none}.nav-tip{display:none}.sidebar-footer{flex-direction:row;flex:none;justify-content:flex-end;align-items:center;gap:10px;margin-top:0;padding-top:0}.sidebar-footer .role-panel{display:none}.demo-switcher{align-items:center;width:auto;margin-bottom:0}.role-switch-button{border:1px solid var(--line);background:var(--surface);gap:8px;width:auto;min-height:38px;padding:4px 9px}.role-switch-copy,.role-chevron{display:grid}.role-switch-copy{justify-items:start;line-height:1.1}.role-switch-copy .eyebrow{color:var(--ink-muted);text-transform:uppercase;font-size:10px;font-weight:800}.role-switch-copy .role-name{color:var(--ink);align-items:center;gap:5px;font-size:12px;font-weight:850;display:inline-flex}.demo-role-grid{width:min(320px,80vw);display:flex;inset:calc(100% + 8px) 0 auto auto;overflow-x:auto}.demo-role-button{flex:none;min-width:92px}.logout-button{border-color:var(--line);width:auto;height:38px;margin-top:0;padding:8px 12px}.logout-button span{display:inline}.content-grid,.form-shell,.installer-workspace,.lead-layout,.complaint-workspace,.queue-detail-layout,.command-center,.demo-flow,.job-case-overview,.work-order-command,.jobs-command{grid-template-columns:1fr}.lead-create,.lead-list{grid-area:auto;width:auto;max-height:none;position:static;overflow:visible}.lead-map-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.lead-map-panel{min-height:auto;position:static}.queue-detail-panel,.complaint-workspace>.panel{position:static}.approval-summary{display:grid}.approval-price{justify-items:start}.metrics-grid,.calendar-grid,.work-order-grid,.service-grid,.customer-grid,.jobs-board,.role-queue-grid,.template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.step-list{position:static}.wizard-command,.photo-draft-form{grid-template-columns:1fr}}@media (max-width:720px){.page,.topbar{padding:20px}.sidebar{flex-wrap:wrap;padding:14px}.sidebar-footer{justify-content:space-between;width:100%}.demo-switcher{flex:auto}.role-switch-button{justify-content:flex-start;width:100%}.logout-button{height:38px}.page-header,.job-card,.invoice-card,.lead-card-header,.complaint-card-header{grid-template-columns:1fr}.page-header,.topbar,.job-card,.invoice-card,.lead-card-header,.complaint-card-header{flex-direction:column;align-items:stretch}.topbar-title{width:100%;min-width:0}.topbar .actions{width:100%}.lead-map-toolbar,.lead-map-actions{flex-direction:column;grid-template-columns:1fr;align-items:stretch}.lead-layout,.lead-layout>*,.lead-map-panel,.lead-create,.lead-list,.lead-card{width:100%;min-width:0;max-width:100%}.lead-map-street.horizontal{left:-4%;right:-4%}.lead-map-callout{width:auto;left:12px;right:12px}.lead-queue-header,.lead-card-actions,.work-order-completion-gate,.wizard-source-banner,.lead-source-panel{flex-direction:column;align-items:stretch}.installer-action-panel,.work-order-completion-gate .button{width:100%}.form-shell .form-footer{margin-bottom:0;margin-left:0;margin-right:0;padding-bottom:0;padding-left:0;padding-right:0;position:static}.command-overlay{align-items:start;padding-top:12px}.command-palette{border-radius:var(--r-lg)}.command-field{grid-template-columns:auto minmax(0,1fr) auto auto}.command-field input{font-size:15px}.command-field kbd{display:none}.metrics-grid,.calendar-grid,.work-order-grid,.service-grid,.customer-grid,.jobs-board,.role-queue-grid,.command-snapshot,.jobs-command-stats,.readiness-grid,.work-order-kpis,.demo-step-list,.template-grid,.slot-grid,.field-grid,.addon-grid,.complaint-form,.complaint-update,.option-stack,.review-grid,.service-choice-grid,.report-media-pair{grid-template-columns:1fr}.form-footer{flex-direction:column;align-items:stretch}.form-footer .actions{width:100%}.form-footer .button{flex:auto}.job-side{justify-items:start}.invoice-side{text-align:left;justify-items:start}.invoice-side small{justify-content:flex-start}}
