:root{color:#f4f7fb;background:#070b12;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{color:#f4f7fb;background:#070b12;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.app{grid-template-columns:220px 1fr;min-height:100vh;display:grid}aside{background:#0c121d;border-right:1px solid #1c2939;flex-direction:column;padding:22px 14px;display:flex}.brand{align-items:center;gap:10px;margin:0 8px 28px;display:flex}.brand b,.brand small{display:block}.brand b{letter-spacing:.4px}.brand small{color:#7f91a8;letter-spacing:1.5px;font-size:9px}.mark{background:#087cff;border-radius:10px;padding:10px;font-weight:900}aside button{color:#8fa0b6;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:11px;width:100%;margin:3px 0;padding:12px;display:flex}aside button.active{color:#fff;background:#0c65c9}.logout{margin-top:auto}main{width:100%;min-width:0;max-width:1450px;padding:28px}header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}header small,.card small,.jobs small,.teamCard small,.scheduleRow small{color:#8394aa;display:block}h1{margin:3px 0;font-size:28px}h2{margin:0 0 18px;font-size:18px}h3{align-items:center;gap:7px;margin:0 0 12px;font-size:14px;display:flex}.primary,.ghost,.jobs footer button,.inlineForm button{border:0;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:10px 14px;display:inline-flex}.primary{color:#fff;background:#087cff}.ghost{color:#b8c6d6;background:#0d1622;border:1px solid #26364a}.headerActions,.rowActions,.actions,.sectionTop{align-items:center;gap:10px;display:flex}.sectionTop{justify-content:space-between;margin-bottom:16px}.sectionTop h2{margin:0}.wide{width:100%}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:15px;display:grid}.card,.panel,.customerCard,.teamCard,.miniPanel{background:#0d1420;border:1px solid #1d2a3b;border-radius:13px;padding:18px}.card strong{margin:8px 0;font-size:25px;display:block}.card em{color:#7f91a8;font-size:12px;font-style:normal}.panel{margin-bottom:15px}.muted{color:#8b9cb1}.twocol{grid-template-columns:1fr 1fr;gap:15px;display:grid}.wideleft{grid-template-columns:1.55fr .75fr}.jobs{gap:10px;display:grid}.jobs article{border:1px solid #1c2a3b;border-radius:11px;padding:14px}.jobOpen{width:100%;color:inherit;text-align:left;background:0 0;border:0;grid-template-columns:1fr auto;gap:12px;padding:0;display:grid}.amount{text-align:right;font-weight:700}.progress{background:#1a2636;border-radius:20px;height:6px;margin-top:11px;overflow:hidden}.progress i{background:#1684ff;height:100%;display:block}.jobs footer{color:#9bacbf;justify-content:space-between;align-items:center;margin-top:10px;font-size:12px;display:flex}.jobs footer button{color:#fff;background:#087cff;padding:7px 10px}.dangerText{color:#ff9aa3!important;background:#35161b!important}.stat{border-bottom:1px solid #1c2939;justify-content:space-between;gap:15px;padding:10px 0;display:flex}.stat:last-child{border-bottom:0}.stack{display:grid}.scheduleGrid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;display:grid}.scheduleRow{width:100%;color:inherit;text-align:left;background:0 0;border:0;border-bottom:1px solid #1c2939;grid-template-columns:52px 1fr auto 18px;align-items:center;gap:10px;padding:12px 2px;display:grid}.scheduleRow:last-child{border-bottom:0}.scheduleRow .time{color:#58a9ff;font-weight:700}.responsiveTable{overflow:auto}table{border-collapse:collapse;width:100%;min-width:720px}th,td{text-align:left;border-bottom:1px solid #1c2939;padding:12px;font-size:13px}th{color:#8394aa;font-weight:600}.badge{color:#bdd7f7;background:#102039;border:1px solid #2c4260;border-radius:999px;padding:4px 8px;font-size:11px;display:inline-block}.search{background:#0d1420;border:1px solid #1d2a3b;border-radius:10px;align-items:center;gap:8px;max-width:430px;margin-bottom:15px;padding:0 12px;display:flex}.search input{color:#fff;background:0 0;border:0;outline:none;flex:1;padding:12px}.customerGrid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.customerHead{justify-content:space-between;gap:10px;display:flex}.customerCard p{color:#8b9cb1;line-height:1.6}.customerCard footer{color:#6f829a;border-top:1px solid #1c2939;padding-top:11px;font-size:12px}.teamGrid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.teamCard{gap:13px;display:flex}.avatar{color:#5eb0ff;background:#112943;border-radius:12px;place-items:center;width:46px;height:46px;font-weight:900;display:grid}.teamCard p{color:#8b9cb1;font-size:13px}.error,.notice{border-radius:9px;padding:11px 13px;font-size:13px}.error{color:#ffc8cd;background:#3a1519;border:1px solid #713039}.error.warn{color:#ffe59a;background:#332a10;border-color:#65531c}.notice{color:#bff1cf;background:#102a1e;border:1px solid #245438}.banner{margin-bottom:16px}.login{background:#07111f;place-items:center;min-height:100vh;padding:24px;display:grid}.loginbox{background:#0d1a2b;border:1px solid #1f3550;border-radius:18px;width:min(440px,100%);padding:28px}.loginbox .brand{margin-left:0}.loginbox form{gap:15px;display:grid}.field{color:#9fb0c5;gap:7px;font-size:13px;display:grid}.field input,.field select,.field textarea,.inlineForm input,.inlineForm select{color:#fff;background:#091522;border:1px solid #29415e;border-radius:9px;width:100%;padding:11px;font-size:16px}.field textarea{resize:vertical;min-height:88px}.modalback{z-index:30;background:#000c;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow:auto}.modal{background:#0d1a2b;border:1px solid #29415e;border-radius:16px;width:min(760px,100%);max-height:92vh;padding:22px;overflow:auto}.modalHeader{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.modalHeader h2{margin:0}.iconBtn{color:#a9b7c9;background:0 0;border:0;padding:8px}.formGrid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.formGrid .full{grid-column:1/-1}.actions{justify-content:flex-end;margin-top:10px}.actions>button:not(.primary){color:#fff;background:#101e30;border:1px solid #29415e;border-radius:8px;padding:10px 14px}.quotePreview{background:#0b2036;border:1px solid #23486f;border-radius:10px;justify-content:space-between;padding:14px;display:flex}.detailGrid{grid-template-columns:1fr 1fr;gap:15px;display:grid}.miniPanel{margin-bottom:12px}.checkrow{border-bottom:1px solid #1c2939;align-items:center;gap:9px;padding:7px 0;display:flex}.inlineForm{gap:7px;margin-top:10px;display:flex}.inlineForm button{color:#fff;background:#087cff}.inlineForm.payment{grid-template-columns:1fr 110px auto;display:grid}.uploadBtn{color:#cce7ff;cursor:pointer;background:#102a43;border:1px solid #28517a;border-radius:8px;padding:9px 12px;display:inline-flex}.uploadBtn input{display:none}@media (width<=900px){.app{grid-template-columns:190px 1fr}.metrics{grid-template-columns:1fr 1fr}.twocol,.wideleft,.detailGrid{grid-template-columns:1fr}}@media (width<=700px){.app{display:block}aside{z-index:20;background:#0c121df7;flex-direction:row;padding:9px;display:flex;position:sticky;top:0;overflow:auto}.brand{display:none}aside button{width:auto;min-width:max-content;margin:0 3px;padding:10px}.logout{margin-top:0}main{padding:16px}.headerActions .ghost span{display:none}.metrics{grid-template-columns:1fr 1fr}.formGrid{grid-template-columns:1fr}.formGrid .full{grid-column:auto}.sectionTop{align-items:flex-start}.scheduleGrid,.inlineForm.payment{grid-template-columns:1fr}}@media (width<=430px){.metrics{grid-template-columns:1fr}.headerActions{gap:6px}.primary,.ghost{padding:9px 10px}.modal{padding:16px}.scheduleRow{grid-template-columns:44px 1fr 18px}.scheduleRow strong{display:none}}.jobToolbar{grid-template-columns:minmax(260px,1fr) 170px 160px auto;align-items:center;gap:10px;margin-bottom:16px;display:grid}.jobToolbar .search{max-width:none;margin:0}.jobToolbar>select,.jobToolbar>input{color:#fff;background:#091522;border:1px solid #29415e;border-radius:9px;padding:11px}.jobTable small{color:#8394aa;margin-top:4px;display:block}.clickRow{cursor:pointer}.clickRow:hover{background:#101c2a}.balanceDue{color:#66b5ff}.jobSummary{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px;display:grid}.jobSummary>div{background:#091522;border:1px solid #29415e;border-radius:10px;padding:12px}.jobSummary span{color:#8394aa;margin-bottom:5px;font-size:11px;display:block}.jobSummary strong{font-size:17px}.statusActions{flex-wrap:wrap;gap:7px;margin-bottom:15px;display:flex}.statusActions button{color:#fff;background:#101e30;border:1px solid #29415e;border-radius:8px;padding:8px 10px}.statusActions .primary{background:#087cff;border-color:#087cff}.detailText{line-height:1.65}.formGrid.compact{gap:10px}.modal:has(.jobSummary){width:min(980px,100%)}@media (width<=900px){.jobToolbar,.jobSummary{grid-template-columns:1fr 1fr}}@media (width<=600px){.jobToolbar{grid-template-columns:1fr}.jobSummary{grid-template-columns:1fr 1fr}.statusActions button{flex:45%}}.quoteRow{cursor:pointer}.quoteRow:hover,.quoteRow:focus{background:#101c2a;outline:none}.quoteRow:hover .quoteLink,.quoteRow:focus .quoteLink{color:#58a9ff;text-decoration:underline}.quoteLink{color:#fff}.quoteSummary{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px;display:grid}.quoteSummary>div{background:#091522;border:1px solid #29415e;border-radius:10px;padding:12px}.quoteSummary span{color:#8394aa;margin-bottom:5px;font-size:11px;display:block}.quoteSummary strong{font-size:16px}.quoteActions button:disabled{opacity:.45;cursor:not-allowed}.quoteItemEdit{border-bottom:1px solid #1c2939;grid-template-columns:minmax(180px,2fr) 75px 120px 125px;align-items:end;gap:8px;padding:12px 0;display:grid}.lineTotal{grid-template-columns:1fr auto;align-items:center;gap:4px;display:grid}.lineTotal span{color:#9fb0c5;grid-column:1/-1;font-size:13px}.lineTotal .iconBtn{border-radius:7px;padding:7px}.modal:has(.quoteSummary){width:min(1050px,100%)}@media (width<=900px){.quoteSummary,.quoteItemEdit{grid-template-columns:1fr 1fr}.lineTotal{align-self:end}}@media (width<=520px){.quoteSummary,.quoteItemEdit{grid-template-columns:1fr}}.quoteToolBar{flex-wrap:wrap;gap:8px;margin:-4px 0 15px;display:flex}.depositGrid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.approvalMeta{font-size:12px;line-height:1.5}.estimateBack{z-index:80;background:#000d;padding:24px;position:fixed;inset:0;overflow:auto}.estimateSheet{color:#142033;background:#fff;border-radius:12px;width:min(850px,100%);margin:auto;padding:42px;box-shadow:0 25px 80px #0008}.estimateControls{justify-content:flex-end;gap:8px;margin-bottom:22px;display:flex}.estimateControls button{color:#142033;background:#fff;border:1px solid #ccd7e5;border-radius:8px;padding:9px 12px}.estimateControls .primary{color:#fff;background:#087cff;border-color:#087cff}.estimateHeader{border-bottom:4px solid #087cff;justify-content:space-between;align-items:flex-start;margin-bottom:24px;padding-bottom:22px;display:flex}.estimateHeader h1{letter-spacing:.8px;margin:8px 0 2px;font-size:24px}.estimateHeader p{color:#607087;margin:0}.estimateLogo{color:#fff;background:#087cff;border-radius:11px;place-items:center;width:48px;height:48px;font-weight:900;display:grid}.estimateTitle{text-align:right}.estimateTitle b{color:#087cff;font-size:26px;display:block}.estimateTitle span{font-weight:700}.estimateInfo{grid-template-columns:1.2fr .8fr;gap:30px;margin-bottom:22px;display:grid}.estimateInfo section>span{letter-spacing:1.5px;color:#708198;font-size:10px;font-weight:800}.estimateInfo section>b{margin:7px 0;font-size:18px;display:block}.estimateInfo p{color:#506178;margin:4px 0}.estimateMessage{background:#edf6ff;border-left:4px solid #087cff;margin:18px 0;padding:13px 15px}.estimateTable{min-width:0;margin-top:18px}.estimateTable th{color:#fff;background:#0c1b2e}.estimateTable td,.estimateTable th{border-bottom:1px solid #dbe3ed}.estimateTable td:nth-child(n+2),.estimateTable th:nth-child(n+2){text-align:right}.estimateTotals{width:min(360px,100%);margin:22px 0 28px auto}.estimateTotals p{border-bottom:1px solid #dbe3ed;justify-content:space-between;margin:0;padding:8px 4px;display:flex}.estimateTotals .grand{color:#087cff;border-bottom:2px solid #087cff;font-size:19px}.estimateTotals .deposit{background:#edf6ff;padding:10px}.estimateTerms{border-top:1px solid #dbe3ed;padding-top:18px}.estimateTerms h3{font-size:14px}.estimateTerms p{color:#596a80;font-size:11px;line-height:1.6}.signature{grid-template-columns:1fr 180px;gap:30px;margin-top:28px;display:grid}.signature span{color:#708198;margin-bottom:10px;font-size:10px;display:block}.signature b{border-bottom:1px solid #53657a;padding-bottom:7px;display:block}.estimateFooter{color:#53657a;border-top:4px solid #087cff;justify-content:space-between;gap:12px;margin-top:34px;padding-top:12px;font-size:11px;display:flex}.estimateFooter b{color:#087cff}@media (width<=600px){.depositGrid,.estimateInfo,.signature{grid-template-columns:1fr}.estimateSheet{padding:22px}.estimateHeader{display:block}.estimateTitle{text-align:left;margin-top:20px}.estimateFooter{display:grid}}@media print{body *{visibility:hidden!important}.estimateBack,.estimateBack *{visibility:visible!important}.estimateBack{background:#fff;padding:0;position:absolute;inset:0}.estimateSheet{width:100%;box-shadow:none;border-radius:0;margin:0;padding:24px}.noPrint{display:none!important}.estimateTable{font-size:11px}@page{margin:.35in}}.depositAlert{color:#ffe8a3;background:#2c220c;border:1px solid #6f571d;border-radius:12px;justify-content:space-between;align-items:center;gap:18px;margin:0 0 15px;padding:13px 16px;display:flex}.depositAlert div{gap:2px;display:grid}.depositAlert span{color:#d9c98e;font-size:12px}.depositAlert strong{font-size:20px}.depositDueBadge,.depositPaidBadge{white-space:nowrap;border-radius:999px;margin-top:5px;padding:4px 8px;font-size:10px;font-weight:800;display:inline-block}.depositDueBadge{color:#ffe39a;background:#3b2a0d;border:1px solid #806324}.depositPaidBadge{color:#bff1cf;background:#102a1e;border:1px solid #245438}.amount .depositDueBadge,.amount .depositPaidBadge{width:max-content;margin-left:auto;display:block}.depositPanel{border-color:#38506e}.depositStatusGrid .stat{font-size:13px}.depositBar{background:#1a2636;border-radius:999px;height:7px;margin:10px 0;overflow:hidden}.depositBar i{background:#24b36b;height:100%;display:block}.depositStatusLine{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.sourceQuote{color:#8394aa;font-size:11px}.depositQuick{width:100%;margin-top:10px}@media (width<=700px){.depositAlert,.depositStatusLine{align-items:flex-start}}.depositPartialBadge{color:#ffd56a;background:#3a2c08;border:1px solid #715617;border-radius:999px;align-items:center;padding:4px 9px;font-size:12px;font-weight:700;display:inline-flex}.paymentHistory{border:1px solid var(--line);border-radius:10px;margin:8px 0 12px;overflow:hidden}.paymentHistoryHead,.paymentHistoryRow{grid-template-columns:1fr 1fr auto;align-items:center;gap:12px;padding:9px 10px;display:grid}.paymentHistoryHead{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;background:#0a1626;font-size:11px}.paymentHistoryRow{border-top:1px solid var(--line);font-size:13px}.paymentHistoryRow strong{text-align:right}.paidInFull{color:#8ee8bd;text-align:center;background:#0b2d22;border:1px solid #1f6249;border-radius:9px;margin-top:10px;padding:9px 12px;font-weight:700}.scheduleMetrics{margin-bottom:16px}.scheduleRowV24{grid-template-columns:130px 1fr auto 18px}.scheduleRowV24 .time{font-size:12px}.scheduleBadges{justify-content:flex-end;display:flex}.schedulingPanel{border-color:#31557d}.scheduleReadiness{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.scheduleReadiness small{color:#8394aa;font-size:11px}.scheduleConfirm{align-content:end;gap:5px;display:grid}.scheduleConfirm small{color:#8394aa;font-size:10px;line-height:1.35}.scheduleConfirm button:disabled{opacity:.45;cursor:not-allowed}@media (width<=700px){.scheduleRowV24{grid-template-columns:90px 1fr 18px}.scheduleBadges{display:none}.scheduleReadiness{flex-direction:column;align-items:flex-start}.scheduleConfirm{grid-column:1/-1}}.dispatchBoard{gap:9px;display:grid}.dispatchCard{text-align:left;color:#fff;background:#091522;border:1px solid #233750;border-radius:11px;grid-template-columns:155px 1fr auto;align-items:center;gap:14px;width:100%;padding:13px;display:grid}.dispatchCard:hover{background:#0c1b2c;border-color:#3976b5}.dispatchTime{gap:4px;display:grid}.dispatchTime b{color:#5eafff}.dispatchTime span{color:#899bb1;font-size:10px}.dispatchCard small{color:#899bb1;margin-top:3px;display:block}.dispatchFlags{justify-items:end;gap:5px;display:grid}.lateBadge,.conflictBadge{white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:4px 8px;font-size:10px;font-weight:800;display:inline-flex}.lateBadge{color:#ffc99c;background:#3a1d10;border:1px solid #7b4427}.conflictBadge{color:#ffc8cd;background:#3a1519;border:1px solid #713039}.workloadStrip{border-top:1px solid #1c2939;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin-top:12px;padding-top:12px;display:grid}.workloadStrip>div{background:#0a1625;border-radius:9px;gap:3px;padding:9px 11px;display:grid}.workloadStrip span{color:#899bb1;font-size:11px}.scheduleRowV25{grid-template-columns:140px 1fr minmax(130px,auto) 18px}.scheduleRowV25 .scheduleBadges{justify-items:end;gap:4px;display:grid}.scheduleConflict{color:#ffd0d5;background:#36171b;border:1px solid #70313a;border-radius:9px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:12px;line-height:1.45;display:flex}.fieldHint{color:#58a9ff;margin-top:4px;font-size:10px;display:block}.contactActions{gap:8px;margin-top:10px;display:flex}.contactActions a{color:#cce7ff;background:#102a43;border:1px solid #28517a;border-radius:8px;align-items:center;gap:6px;padding:8px 11px;font-size:12px;text-decoration:none;display:inline-flex}.contactActions a:hover{background:#153a5d}@media (width<=800px){.dispatchCard{grid-template-columns:110px 1fr}.dispatchFlags{grid-column:1/-1;justify-items:start;display:flex}.scheduleRowV25{grid-template-columns:95px 1fr 18px}.scheduleRowV25 .scheduleBadges{display:none}}.scheduleRowV25>span:nth-child(2) b,.scheduleRowV25 small{overflow-wrap:anywhere}@media (width<=700px){.scheduleConflict{grid-template-columns:auto 1fr}.nextSlotBtn{grid-column:1/-1;width:100%}.dispatchCard .stateBadge{justify-self:start}}.stateBadge{white-space:nowrap;border:1px solid #31506f;border-radius:999px;align-items:center;padding:4px 8px;font-size:10px;font-weight:800;display:inline-flex}.stateScheduled{color:#bdd7f7;background:#102039}.stateEnRoute{color:#ffe59a;background:#332a10;border-color:#65531c}.stateWorking{color:#7fc4ff;background:#0c2942;border-color:#245b86}.stateQuality{color:#d7baff;background:#2b2040;border-color:#604889}.stateCompleted{color:#bff1cf;background:#102a1e;border-color:#245438}.stateCancelled{color:#ff9aa3;background:#35161b;border-color:#713039}.scheduleConflict{grid-template-columns:auto 1fr auto;align-items:center;display:grid}.nextSlotBtn{color:#d8ecff;white-space:nowrap;background:#0b3157;border:1px solid #3976b5;border-radius:8px;padding:8px 10px}.nextSlotBtn:hover{background:#104475}.scheduleRowV25{min-height:82px}.workloadStrip>div span+span{color:#58a9ff}.dispatchCard .stateBadge{justify-self:end}@media (width<=700px){.scheduleConflict{grid-template-columns:auto 1fr}.nextSlotBtn{grid-column:1/-1;width:100%}.dispatchCard .stateBadge{justify-self:start}}.nextActionList{gap:10px;display:grid}.nextActionList>div{border-bottom:1px solid var(--line,#223247);padding:10px 0}.nextActionList>div:last-child{border-bottom:0}.nextActionList b,.nextActionList span{display:block}.nextActionList span{color:#91a8c6;margin-top:3px;font-size:13px}.customerWorkflow{grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;display:grid}.customerWorkflow a{color:#c7dcf7;background:#0a1929;border:1px solid #294564;border-radius:8px;align-items:center;gap:6px;padding:9px 10px;font-size:12px;text-decoration:none;display:flex}.customerWorkflow a:hover{color:#fff;border-color:#1683ff}.photoCounts{grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0 12px;display:grid}.photoCounts span{text-align:center;color:#91a8c6;border:1px solid #223b57;border-radius:8px;padding:9px;font-size:12px}.photoCounts b{color:#fff;font-size:18px;display:block}.photoUploadRow{align-items:center;gap:8px;display:flex}.photoUploadRow select{max-width:120px}@media (width<=700px){.customerWorkflow{grid-template-columns:1fr}.photoUploadRow{flex-direction:column;align-items:stretch}.photoUploadRow select{max-width:none}}.customerWorkflow button{color:#c7dcf7;text-align:left;cursor:pointer;background:#0a1929;border:1px solid #294564;border-radius:8px;align-items:center;gap:6px;padding:9px 10px;font-size:12px;display:flex}.customerWorkflow button:hover{color:#fff;border-color:#1683ff}.closedJobBanner{color:#bff1cf;background:#102a1e;border:1px solid #245438;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px;padding:11px 13px;display:flex}.closedJobBanner span{color:#8fc8a6;font-size:12px}.messageComposer{background:#091522;border:1px solid #31557d;border-radius:12px;margin:0 0 15px;padding:14px}.messageComposerHead{justify-content:space-between;align-items:flex-start;display:flex}.messageComposerHead small{color:#8394aa}.messageComposerHead h3{margin:3px 0 0;font-size:16px}.messageRecipient{color:#9fb0c5;align-items:center;gap:8px;padding:9px 0;font-size:12px;display:flex}.messageRecipient b{color:#fff}.messageComposer textarea{resize:vertical;color:#fff;background:#07111d;border:1px solid #29415e;border-radius:9px;width:100%;min-height:110px;padding:11px;line-height:1.5}.messageActions{gap:8px;margin:10px 0;display:flex}.messageActions a{text-decoration:none}.messageComposer>.muted{font-size:11px;display:block}.checkrow:has(input:checked) span{color:#7f91a8;text-decoration:line-through}@media (width<=600px){.closedJobBanner{flex-direction:column;align-items:flex-start}.messageActions{grid-template-columns:1fr 1fr;display:grid}}.financeActions{align-items:center;gap:9px;display:flex}.financeActions select{color:#fff;background:#091522;border:1px solid #29415e;border-radius:9px;padding:10px 12px}.financeMetrics .card:nth-child(3) strong{color:#79dba9}.financeKpiGrid{grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 15px;display:grid}.financeKpi{background:#0d1420;border:1px solid #1d2a3b;border-radius:13px;padding:15px}.financeKpi span,.financeKpi small{color:#8394aa;display:block}.financeKpi b{margin:7px 0;font-size:20px;display:block}.financeKpi small{font-size:10px;line-height:1.35}.targetRow{justify-content:space-between;align-items:end;gap:20px;display:flex}.targetRow>div{gap:4px;display:grid}.targetRow strong{font-size:19px}.targetRow label{color:#8394aa;gap:5px;font-size:11px;display:grid}.targetRow input{color:#fff;background:#091522;border:1px solid #29415e;border-radius:8px;width:150px;padding:9px}.targetBar{background:#162235;border-radius:99px;height:9px;margin:13px 0 7px;overflow:hidden}.targetBar i{background:linear-gradient(90deg,#087cff,#58b3ff);height:100%;display:block}.financeColumns{align-items:start}.cashFlowChart{grid-template-columns:repeat(6,1fr);align-items:end;gap:10px;height:210px;padding:12px 4px 4px;display:grid}.flowMonth{text-align:center;gap:4px;min-width:0;display:grid}.flowBars{justify-content:center;align-items:flex-end;gap:4px;height:135px;display:flex}.flowBars i{border-radius:4px 4px 2px 2px;width:16px;min-height:3px;display:block}.cashInBar{background:#2bc17e}.cashOutBar{background:#ff8d68}.flowMonth b{font-size:11px}.flowMonth small{color:#8394aa;white-space:nowrap;font-size:9px}.flowLegend{color:#8394aa;gap:15px;margin-top:10px;font-size:11px;display:flex}.flowLegend span{align-items:center;gap:6px;display:flex}.flowLegend i{border-radius:50%;width:8px;height:8px;display:inline-block}.cashInDot{background:#2bc17e}.cashOutDot{background:#ff8d68}.receivableList,.recentFinance{display:grid}.receivableList>div,.recentFinance>div{border-bottom:1px solid #1c2939;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.receivableList>div:last-child,.recentFinance>div:last-child{border-bottom:0}.receivableList span,.recentFinance span{min-width:0}.receivableList b,.recentFinance b{display:block}.receivableList small,.recentFinance small{color:#8394aa;margin-top:3px;font-size:11px;display:block}.receivableList>div>strong{color:#ffd274}.financeTable{display:grid}.financeTableHead,.financeTableRow{border-bottom:1px solid #1c2939;grid-template-columns:1.5fr 55px 95px 95px;align-items:center;gap:8px;padding:9px 0;font-size:12px;display:grid}.financeTableHead{color:#8394aa;text-transform:uppercase;letter-spacing:.04em;font-size:10px}.financeTableRow:last-child{border-bottom:0}.financeTableRow span:nth-child(n+2),.financeTableHead span:nth-child(n+2){text-align:right}.categoryBars{gap:12px;display:grid}.categoryBars>div>div:first-child{justify-content:space-between;gap:10px;font-size:12px;display:flex}.categoryTrack{background:#162235;border-radius:99px;height:6px;margin-top:6px;overflow:hidden}.categoryTrack i{background:#ff9b5f;height:100%;display:block}.positiveMoney{color:#7be0ac}.negativeMoney{color:#ff9c87}.financeNote{color:#8799ae;background:#0a121e;border:1px solid #2d3c50;border-radius:10px;margin-top:2px;padding:12px 14px;font-size:11px;line-height:1.5}@media (width<=900px){.financeKpiGrid{grid-template-columns:1fr 1fr}.targetRow{flex-direction:column;align-items:stretch}.targetRow input{width:100%}}@media (width<=600px){.financeActions{flex-direction:column;align-items:stretch}.financeKpiGrid{grid-template-columns:1fr}.cashFlowChart{gap:4px}.flowBars i{width:11px}.financeTableHead,.financeTableRow{grid-template-columns:1fr 42px 75px}.financeTableHead span:last-child,.financeTableRow span:last-child{display:none}}.targetSummary{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px;display:grid}.targetSummary>div{border:1px solid var(--line);background:#05122059;border-radius:10px;padding:10px 12px}.targetSummary span,.targetSummary strong{display:block}.targetSummary strong{margin-top:4px;font-size:18px}.receivableList .receivableRow{text-align:left;border:0;border-bottom:1px solid var(--line);width:100%;color:inherit;cursor:pointer;background:0 0;border-radius:0;justify-content:space-between;align-items:center;padding:11px 0;display:flex}.receivableList .receivableRow:hover{background:#127eff0f;padding-left:8px;padding-right:8px}.receivableRow span,.receivableRow strong{flex-direction:column;gap:3px;display:flex}.receivableRow strong{color:#ffd45a;align-items:flex-end}.receivableRow strong small{color:var(--blue);font-size:10px;font-weight:500}.receivableRow em{border-radius:999px;width:max-content;padding:3px 7px;font-size:10px;font-style:normal;font-weight:700}.dueOverdue{color:#ff9c9c;background:#4b171d;border:1px solid #7a2932}.dueSoon{color:#ffd27a;background:#3d2b08;border:1px solid #795711}.dueNeutral{color:var(--muted);border:1px solid var(--line);background:#0b1a2a}@media (width<=700px){.targetSummary{grid-template-columns:1fr}.receivableList .receivableRow{gap:12px}}.customerCardButton{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer}.customerCardButton:hover{border-color:#268cff;transform:translateY(-1px)}.crmMini{grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0;display:grid}.crmMini span{color:var(--muted);flex-direction:column;gap:3px;font-size:11px;display:flex}.crmMini b{color:var(--text);font-size:13px}.crmProfileTop{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px;display:grid}.crmProfileTop>div{border:1px solid var(--line);background:#071522;border-radius:10px;flex-direction:column;gap:5px;padding:13px;display:flex}.crmProfileTop span{color:var(--muted);font-size:11px}.crmProfileTop strong{font-size:20px}.crmActions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.buttonLike{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.followHero{border:1px solid var(--line);background:#071522;border-radius:9px;flex-direction:column;gap:6px;margin-bottom:10px;padding:12px;display:flex}.followHero span{color:var(--muted);font-size:12px}.crmHistory{flex-direction:column;display:flex}.crmHistory button{text-align:left;border:0;border-bottom:1px solid var(--line);color:var(--text);cursor:pointer;background:0 0;justify-content:space-between;gap:12px;padding:10px 0;display:flex}.crmHistory button:hover b{color:#55a7ff}.crmHistory button span{flex-direction:column;gap:3px;display:flex}.crmHistory small{color:var(--muted)}@media (width<=760px){.crmProfileTop{grid-template-columns:repeat(2,1fr)}.crmMini,.crmDetail{grid-template-columns:1fr}}.customerNameLine,.profileNameRow{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.customerTypeBadge{color:#9fd0ff;background:#0b2842;border:1px solid #2b5b88;border-radius:999px;align-items:center;padding:3px 8px;font-size:10px;font-weight:700;line-height:1.2;display:inline-flex}.editableStat{justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.editableStat select{color:#fff;background:#091522;border:1px solid #29415e;border-radius:8px;max-width:180px;padding:7px 9px}.customerHead>div{min-width:0}.customerCardButton{text-align:left}.topActions{align-items:center;gap:10px;display:flex}.salesFollowAlert{color:#ffd86e;background:#302309;border:1px solid #7a5511;border-radius:12px;margin:14px 0;padding:14px 16px}.salesFollowAlert div{justify-content:space-between;gap:12px;display:flex}.salesFollowAlert span{color:#d5b968}.salesPipelineGrid{grid-template-columns:minmax(0,3fr) minmax(240px,1fr);gap:14px;margin:14px 0;display:grid}.leadColumns{grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;display:grid}.leadColumn{background:#091523;border:1px solid #1d344b;border-radius:10px;min-height:180px;padding:10px}.leadColumnHead{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.leadColumnHead span{background:#14273a;border-radius:999px;padding:2px 7px;font-size:12px}.leadCard{text-align:left;width:100%;color:inherit;background:#0c1b2b;border:1px solid #24435f;border-radius:9px;margin:8px 0;padding:10px;display:block}.leadCard strong,.leadCard span,.leadCard small{display:block}.leadCard span{color:#9ec9f0;margin-top:3px}.leadCard small{color:#89a4bd;margin-top:4px}.leadCard:hover{border-color:#1688ff}.emptyLead{padding:14px 4px;display:block}.dueText{font-weight:700;color:#ff8b73!important}@media (width<=1000px){.salesPipelineGrid{grid-template-columns:1fr}.leadColumns{grid-template-columns:repeat(2,1fr)}}@media (width<=650px){.leadColumns{grid-template-columns:1fr}.topActions{flex-wrap:wrap}}.salesViewTabs{background:#09131f;border:1px solid #1d3044;border-radius:11px;gap:5px;margin:0 0 15px;padding:5px;display:inline-flex}.salesViewTabs button{color:#91a5bc;background:0 0;border:0;border-radius:8px;padding:9px 15px;font-weight:700}.salesViewTabs button span{background:#15283c;border-radius:999px;place-items:center;min-width:20px;height:20px;margin-left:6px;padding:0 6px;font-size:11px;display:inline-grid}.salesViewTabs button.active{color:#fff;background:#087cff}.salesViewTabs button.active span{color:#fff;background:#fff2}.pipelineLegend{grid-template-columns:repeat(4,1fr);gap:8px;margin:4px 0 12px;display:grid}.pipelineLegend span{color:#8298b0;background:#0a1522;border:1px solid #1c3045;border-radius:9px;padding:9px 10px;font-size:11px}.pipelineLegend b{color:#dcecff;margin-bottom:2px;display:block}.leadCard em{color:#55a9ff;margin-top:8px;font-size:11px;font-style:normal;font-weight:700;display:block}.emptyPipeline{text-align:center;background:#0a1420;border:1px dashed #31516f;border-radius:13px;padding:28px}.emptyPipeline h3{font-size:17px;display:block}.emptyPipeline p{color:#8ea3ba;max-width:620px;margin:8px auto 16px;line-height:1.5}.estimateToolbar{justify-content:space-between;align-items:center;gap:12px;margin:3px 0 12px;display:flex}.estimateToolbar>div{flex-direction:column;gap:3px;display:flex}@media (width<=760px){.pipelineLegend{grid-template-columns:1fr 1fr}.salesViewTabs{display:flex}.salesViewTabs button{flex:1}.estimateToolbar{flex-direction:column;align-items:stretch}}@media (width<=480px){.pipelineLegend{grid-template-columns:1fr}}.scheduleGrid{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}.scheduleRowV25{grid-template-columns:minmax(125px,150px) minmax(0,1fr) minmax(130px,max-content) 18px;align-items:center;column-gap:12px}.scheduleRowV25>span:nth-child(2){overflow-wrap:normal;word-break:normal;min-width:0}.scheduleRowV25>span:nth-child(2) b,.scheduleRowV25>span:nth-child(2) small{word-break:normal;overflow-wrap:normal;white-space:normal}.scheduleRowV25 .time{white-space:nowrap;word-break:keep-all}.scheduleRowV25 .scheduleBadges{min-width:130px}@media (width<=1100px){.scheduleGrid{grid-template-columns:1fr}.scheduleRowV25{grid-template-columns:140px minmax(0,1fr) minmax(130px,max-content) 18px}}@media (width<=800px){.scheduleRowV25{grid-template-columns:110px minmax(0,1fr) 18px}.scheduleRowV25 .scheduleBadges{display:none}}@media (width<=520px){.scheduleRowV25{grid-template-columns:1fr 18px;gap:7px 10px}.scheduleRowV25 .time,.scheduleRowV25>span:nth-child(2){grid-column:1/2}.scheduleRowV25>svg{grid-area:1/2/3;align-self:center}.scheduleRowV25 strong{display:block}}.scheduleRowV25{grid-template-columns:minmax(110px,125px) minmax(180px,1fr) minmax(90px,max-content) 16px;column-gap:10px}.scheduleRowV25>span:nth-child(2){min-width:180px}.scheduleRowV25>span:nth-child(2) b{white-space:normal;line-height:1.3;display:block}.scheduleRowV25>span:nth-child(2) small{white-space:normal;margin-top:2px;line-height:1.35;display:block}.scheduleRowV25 .scheduleBadges{flex-wrap:wrap;justify-content:flex-end;gap:5px;min-width:90px;max-width:118px}.scheduleRowV25 .scheduleBadges>*{white-space:nowrap}@media (width<=1100px){.scheduleRowV25{grid-template-columns:125px minmax(180px,1fr) minmax(90px,max-content) 16px}}@media (width<=800px){.scheduleRowV25{grid-template-columns:105px minmax(180px,1fr) 16px}.scheduleRowV25>span:nth-child(2){min-width:0}}@media (width<=520px){.scheduleRowV25{grid-template-columns:minmax(0,1fr) 16px}.scheduleRowV25>span:nth-child(2){min-width:0}}.jobDocumentBar{background:#081522;border:1px solid #24415e;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0;padding:10px 12px;display:flex}.jobDocumentBar>span{align-items:center;gap:7px;margin-right:auto;display:flex}.jobDocumentBar small{color:var(--muted)}.customerDocument{color:#142033;background:#fff;border-radius:12px;margin:12px 0;padding:28px;box-shadow:0 10px 35px #0005}.docHeader{border-bottom:3px solid #0b7cff;justify-content:space-between;gap:24px;padding-bottom:20px;display:flex}.docHeader>div{flex-direction:column;gap:4px;display:flex}.docHeader>div:last-child{text-align:right;align-items:flex-end}.docHeader h2{color:#0b7cff;letter-spacing:.06em;margin:0}.docBrand{letter-spacing:.04em;font-size:21px;font-weight:900}.docBrand span{color:#0b7cff}.docHeader small,.docParties small{color:#64748b}.docParties{grid-template-columns:1fr 1fr;gap:28px;padding:22px 0;display:grid}.docParties>div{flex-direction:column;gap:4px;display:flex}.docLineTable{border:1px solid #dbe5ef;border-radius:8px;overflow:hidden}.docLineHead,.docLine{grid-template-columns:1fr 140px;gap:15px;padding:11px 14px;display:grid}.docLineHead{color:#fff;text-transform:uppercase;background:#0b7cff;font-size:12px;font-weight:800}.docLine strong{text-align:right}.docTotals{width:min(100%,390px);margin:18px 0 18px auto}.docTotals>div{border-bottom:1px solid #dbe5ef;justify-content:space-between;padding:8px 4px;display:flex}.docTotals .docBalance{color:#a21d27;font-size:18px}.docTotals .docPaid{color:#087443;font-size:18px}.docPaymentNote{color:#185b32;background:#eef8f2;border:1px solid #b8e1c7;border-radius:8px;justify-content:space-between;gap:12px;padding:12px;display:flex}.docFooter{text-align:center;color:#536579;border-top:1px solid #dbe5ef;margin-top:22px;padding-top:18px}.docActions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.customerDocument .ghost{color:#142033;border-color:#9fb2c5}.customerDocument .primary{color:#fff}@media (width<=650px){.docHeader,.docParties{grid-template-columns:1fr;display:grid}.docHeader>div:last-child{text-align:left;align-items:flex-start}.docLineHead,.docLine{grid-template-columns:1fr 95px}.customerDocument{padding:18px}.docPaymentNote{flex-direction:column}}@media print{body *{visibility:hidden!important}.customerDocument,.customerDocument *{visibility:visible!important}.customerDocument{width:100%;box-shadow:none;border-radius:0;margin:0;position:absolute;top:0;left:0}.noPrint,.noPrint *{display:none!important}}.docPaymentHistory{color:#173e2a;background:#f8fcf9;border:1px solid #b8e1c7;border-radius:8px;margin-top:18px;overflow:hidden}.docPaymentHistoryTitle{background:#eef8f2;border-bottom:1px solid #cde6d5;justify-content:space-between;gap:16px;padding:11px 14px;font-size:13px;display:flex}.docPaymentHistoryHead,.docPaymentHistoryRow{grid-template-columns:1fr 1fr 120px;align-items:center;gap:14px;padding:10px 14px;display:grid}.docPaymentHistoryHead{color:#43536a;text-transform:uppercase;background:#f3f6f9;border-bottom:1px solid #dbe5ef;font-size:11px;font-weight:800}.docPaymentHistoryRow{color:#142033;border-bottom:1px solid #dbe5ef}.docPaymentHistoryRow:last-child{border-bottom:0}.docPaymentHistoryRow strong{text-align:right}@media (width<=650px){.docPaymentHistoryTitle{flex-direction:column;gap:4px}.docPaymentHistoryHead,.docPaymentHistoryRow{grid-template-columns:1fr 1fr 90px;gap:8px;padding:9px 10px}}.commGrid{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:14px;display:grid}.commQueue,.commHistory{flex-direction:column;display:flex}.commQueueRow,.commHistory>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:14px;padding:12px 0;display:flex}.commQueueRow:last-child,.commHistory>div:last-child{border-bottom:0}.commQueueRow>span:first-child,.commHistory>div>span{flex-direction:column;gap:4px;display:flex}.commQueueRow small,.commHistory small,.commContactPreview span{color:var(--muted)}.commChannels{align-items:center;gap:7px;display:flex}.commChannels a{color:#76baff;border:1px solid #28527a;border-radius:8px;padding:7px 10px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.commChannels a:hover{color:#fff;background:#0b7cff}.commHistory>div>small{text-align:right;max-width:48%}.commContactPreview{border:1px solid var(--line);background:#091522;border-radius:9px;flex-direction:column;align-self:end;gap:4px;padding:10px 12px;display:flex}.field textarea{min-height:110px}@media (width<=900px){.commGrid{grid-template-columns:1fr}}@media (width<=600px){.commQueueRow,.commHistory>div{flex-direction:column}.commHistory>div>small{text-align:left;max-width:none}.commChannels{align-self:flex-start}}.commQueueButton{width:100%;color:inherit;text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px}.commQueueButton:hover,.commQueueButton:focus-visible{background:#0b1b2c;outline:1px solid #28527a;padding-left:10px;padding-right:10px}.commOpenAction{color:#76baff;white-space:nowrap;align-self:center;font-weight:800}.commQueueButton:hover .commOpenAction{color:#fff}.analyticsPeriod{color:#9fc9ff;background:#0b1828;border:1px solid #263d58;border-radius:10px;align-items:center;padding:10px 14px;font-weight:700;display:flex}.analyticsColumns{align-items:start}.analyticsTable{width:100%;overflow:auto}.analyticsTableHead,.analyticsTableRow{border-bottom:1px solid #203248;grid-template-columns:minmax(140px,1.4fr) repeat(5,minmax(76px,.75fr));align-items:center;gap:10px;padding:11px 4px;display:grid}.analyticsTableHead{text-transform:uppercase;color:#8fa8c5;font-size:11px;font-weight:800}.analyticsTableRow{font-size:13px}.analyticsTableHead.service,.analyticsTableRow.service{grid-template-columns:minmax(160px,1.6fr) .5fr .8fr .8fr}.analyticsTableHead.tech,.analyticsTableRow.tech{grid-template-columns:minmax(150px,1.4fr) .45fr .55fr .8fr .8fr}.spendInput{width:100%;min-width:70px;padding:8px!important}.analyticsSave{justify-content:space-between;align-items:center;gap:16px;margin-top:14px;display:flex}.funnelGrid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.funnelGrid>div{background:#081524;border:1px solid #1c3047;border-radius:10px;flex-direction:column;gap:5px;padding:14px;display:flex}.funnelGrid span{color:#8fa8c5;font-size:12px}.funnelGrid b{font-size:24px}.funnelBar{background:#14243a;border-radius:999px;height:8px;margin:18px 0 8px;overflow:hidden}.funnelBar i{background:#1683ff;border-radius:999px;height:100%;display:block}.analyticsReceivables{max-height:420px;overflow:auto}@media (width<=1100px){.analyticsTableHead,.analyticsTableRow{min-width:680px}.funnelGrid{grid-template-columns:repeat(2,1fr)}}@media (width<=700px){.analyticsSave{flex-direction:column;align-items:stretch}.funnelGrid{grid-template-columns:1fr}}.profitabilityMetrics{margin-top:14px}.profitSummary{grid-template-columns:repeat(6,minmax(120px,1fr));gap:10px;margin-bottom:12px;display:grid}.profitSummary>div{background:#081524;border:1px solid #1c3047;border-radius:10px;flex-direction:column;gap:5px;padding:14px;display:flex}.profitSummary b{font-size:20px}.profitabilityHelp{margin-bottom:14px;display:block}.rateGrid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-bottom:18px;display:grid}.rateGrid label{color:#9bb4d0;flex-direction:column;gap:6px;font-size:12px;display:flex}.rateGrid input{width:100%}.analyticsTableHead.profitService,.analyticsTableRow.profitService{grid-template-columns:minmax(150px,1.4fr) .4fr .8fr .8fr .8fr .6fr}.analyticsTableHead.profitTech,.analyticsTableRow.profitTech{grid-template-columns:minmax(150px,1.4fr) .4fr .55fr .7fr .8fr .8fr}.analyticsTableHead.cost,.analyticsTableRow.cost{grid-template-columns:minmax(145px,1.2fr) .7fr .7fr .8fr .8fr .8fr .8fr}.analyticsTableRow.cost small{color:#7893b2;margin-top:3px;display:block}.costInputs input{min-width:75px}@media (width<=1200px){.profitSummary{grid-template-columns:repeat(3,1fr)}.analyticsTableHead.profitService,.analyticsTableRow.profitService,.analyticsTableHead.profitTech,.analyticsTableRow.profitTech,.analyticsTableHead.cost,.analyticsTableRow.cost{min-width:760px}}@media (width<=700px){.profitSummary{grid-template-columns:repeat(2,1fr)}}.ownerForecastGrid{grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;display:grid}.ownerForecastGrid>div{background:#081524;border:1px solid #1c3047;border-radius:10px;flex-direction:column;gap:5px;padding:14px;display:flex}.ownerForecastGrid span,.ownerForecastGrid small{color:#8fa8c5}.ownerForecastGrid span{font-size:12px}.ownerForecastGrid b{font-size:22px}.ownerForecastGrid small{font-size:10px;line-height:1.35}.ownerPriorities{gap:9px;display:grid}.ownerPriority{background:#091522;border:1px solid #263d58;border-left:4px solid #5d89b8;border-radius:9px;flex-direction:column;gap:4px;padding:11px 12px;display:flex}.ownerPriority small{color:#8fa8c5;line-height:1.4}.ownerPriority.warn{border-left-color:#e6b84e}.ownerPriority.danger{border-left-color:#e55f66}.ownerPriority.good{border-left-color:#2bc17e}.ownerPriority.info{border-left-color:#1683ff}.agingGrid{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.agingGrid>div{background:#081524;border:1px solid #1c3047;border-radius:9px;flex-direction:column;gap:5px;padding:12px;display:flex}.agingGrid span{color:#8fa8c5;font-size:11px}.agingGrid b{font-size:18px}.forecastInputs{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.forecastInputs label{color:#9bb4d0;flex-direction:column;gap:6px;font-size:12px;display:flex}.forecastInputs input{width:100%}@media (width<=1100px){.ownerForecastGrid,.forecastInputs{grid-template-columns:repeat(2,1fr)}.agingGrid{grid-template-columns:repeat(3,1fr)}}@media (width<=650px){.ownerForecastGrid,.forecastInputs,.agingGrid{grid-template-columns:1fr}}.financialCommandGrid{grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;display:grid}.financialCommandGrid>div{background:#081524;border:1px solid #1c3047;border-radius:10px;flex-direction:column;gap:5px;padding:14px;display:flex}.financialCommandGrid span,.financialCommandGrid small{color:#8fa8c5}.financialCommandGrid span{font-size:12px}.financialCommandGrid b{font-size:22px}.financialCommandGrid small{font-size:10px;line-height:1.35}.pnlRows .stat{border-bottom:1px solid #203248;padding:10px 0}.pnlRows .stat:last-child{border-bottom:0}.profitTargetLine{background:#081524;border:1px solid #1c3047;border-radius:9px;grid-template-columns:1fr auto;gap:4px 12px;margin-top:12px;padding:12px;display:grid}.profitTargetLine small{color:#8fa8c5;grid-column:1/-1}.allocationGrid{grid-template-columns:repeat(2,1fr);gap:9px;display:grid}.allocationGrid>div{background:#081524;border:1px solid #1c3047;border-radius:9px;flex-direction:column;gap:4px;padding:12px;display:flex}.allocationGrid span,.allocationGrid small{color:#8fa8c5}.allocationGrid b{font-size:18px}.allocationBar{background:#14243a;border-radius:999px;height:8px;margin:14px 0 8px;overflow:hidden}.allocationBar i{background:#2bc17e;border-radius:999px;height:100%;display:block}.momGrid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.momGrid>div{background:#081524;border:1px solid #1c3047;border-radius:10px;flex-direction:column;gap:5px;padding:14px;display:flex}.momGrid span,.momGrid small{color:#8fa8c5}.momGrid b{font-size:20px}.financeCommandInputs{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.financeCommandInputs label{color:#9bb4d0;flex-direction:column;gap:6px;font-size:12px;display:flex}.financeCommandInputs input{width:100%}@media (width<=1100px){.financialCommandGrid,.momGrid,.financeCommandInputs{grid-template-columns:repeat(2,1fr)}}@media (width<=650px){.financialCommandGrid,.momGrid,.allocationGrid,.financeCommandInputs{grid-template-columns:1fr}}.autoNotice{color:#bcdcff;background:#0b2238;border:1px solid #23588c;border-radius:10px;margin:0 0 14px;padding:11px 14px}.automationLayout{grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr);align-items:start;gap:14px;display:grid}.automationQueue{flex-direction:column;gap:9px;display:flex}.automationActionRow{text-align:left;width:100%;color:inherit;background:#071727;border:1px solid #24435f;border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:13px;display:grid}.automationActionRow:hover{background:#0a1d30;border-color:#2589ff}.automationActionRow span:nth-child(2){flex-direction:column;gap:3px;display:flex}.automationActionRow small{color:#8fb4d8}.autoType{text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800}.customerAuto{color:#8ec7ff;background:#0b3153;border:1px solid #1c5c8f}.ownerAuto{color:#ffd978;background:#392d0a;border:1px solid #765f14}.emptyAutomation{color:#88abc9;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:180px;display:flex}.automationRules{flex-direction:column;gap:9px;display:flex}.automationRule{background:#081827;border:1px solid #203b54;border-radius:9px;grid-template-columns:104px 1fr auto;align-items:center;gap:10px;padding:11px;display:grid}.automationRule>div{flex-direction:column;gap:2px;display:flex}.automationRule small{color:#84a8c8}.automationRule label{color:#88abc9;align-items:center;gap:5px;display:flex}.automationRule label input{width:66px}.ruleToggle{color:#a7b7c7;border-color:#42515e;justify-content:center;align-items:center;gap:5px;padding:7px 9px;font-size:11px;display:flex}.ruleToggle.enabled{color:#8de4b8;background:#0b2b20;border-color:#19744d}.automationFootnote{color:#8fb4d8;border:1px solid #24435f;border-radius:9px;margin-top:12px;padding:10px 12px;font-size:12px}.automationReview{flex-direction:column;gap:14px;display:flex}.autoReviewMeta{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.autoReviewMeta>div{background:#081827;border:1px solid #203b54;border-radius:9px;flex-direction:column;gap:3px;padding:10px;display:flex}.autoReviewMeta span{color:#83a8c8;font-size:11px}.autoRecommendation,.ownerAlertText{background:#0a1d30;border-left:3px solid #2589ff;border-radius:8px;padding:12px}.autoRecommendation p{color:#a9c5de;margin:5px 0 0}.ownerAlertText{line-height:1.5}.autoSecondaryActions{flex-wrap:wrap;gap:8px;display:flex}.dangerGhost{color:#ff9aa0!important;border-color:#7d3037!important}@media (width<=1050px){.automationLayout{grid-template-columns:1fr}.automationRule{grid-template-columns:100px 1fr auto}}@media (width<=700px){.automationRule{grid-template-columns:1fr}.automationRule label{justify-self:start}.autoReviewMeta{grid-template-columns:1fr}.automationActionRow{grid-template-columns:1fr auto}.autoType{grid-column:1/-1;justify-self:start}}.cxGrid{grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);align-items:start;gap:14px;display:grid}.cxQueue{flex-direction:column;gap:8px;display:flex}.cxAction{text-align:left;width:100%;color:inherit;background:#071727;border:1px solid #24435f;border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px;display:grid}.cxAction:hover{background:#0a1d30;border-color:#2589ff}.cxAction span:nth-child(2){flex-direction:column;gap:3px;display:flex}.cxAction small{color:#8fb4d8}.cxPill{text-transform:uppercase;letter-spacing:.45px;white-space:nowrap;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800}.cxPill.satisfaction{color:#8ec7ff;background:#0d3150;border:1px solid #1b5a8c}.cxPill.review{color:#91e6b8;background:#173d2a;border:1px solid #28754c}.cxPill.rebook{color:#ffda78;background:#3c310d;border:1px solid #786315}.reputationStats .stat{border-bottom:1px solid #203248;padding:10px 0}.reviewStatusList,.healthList{flex-direction:column;display:flex}.reviewStatusList button,.healthList button{text-align:left;width:100%;color:inherit;background:0 0;border:0;border-bottom:1px solid #203248;justify-content:space-between;align-items:center;padding:11px 0;display:flex}.reviewStatusList button:hover,.healthList button:hover{color:#8fc8ff}.reviewStatusList span,.healthList span{flex-direction:column;gap:3px;display:flex}.reviewStatusList small,.healthList small{color:#86a7c6}.healthGood{color:#5ee39c}.healthWatch{color:#f4cf64}.healthBad{color:#ff747c}.cxSettings{flex-direction:column;gap:10px;display:flex}.twoField{grid-template-columns:1fr 1fr;gap:10px;display:grid}.rebookRules{border-top:1px solid #203248;margin-top:16px;padding-top:14px}.rebookRules>div{border-bottom:1px solid #17283b;grid-template-columns:minmax(140px,1fr) 90px auto auto;align-items:center;gap:8px;padding:8px 0;display:grid}.rebookRules>div>span:first-child{flex-direction:column;gap:2px;display:flex}.rebookRules small{color:#86a7c6}.experienceModal{flex-direction:column;gap:14px;display:flex}.ratingPicker{background:#081827;border:1px solid #203b54;border-radius:10px;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:14px;display:grid}.ratingPicker>div{gap:2px;display:flex}.ratingPicker button{color:#40566d;background:0 0;border:0;padding:2px}.ratingPicker button.selected{color:#f4c34d}.checkLine{color:#b6cae0;align-items:center;gap:9px;display:flex}.checkLine input{width:auto}.cxWarning{color:#ffafb4;background:#32171a;border:1px solid #7d3d42;border-radius:9px;align-items:center;gap:8px;padding:10px 12px;display:flex}@media (width<=1050px){.cxGrid{grid-template-columns:1fr}}@media (width<=700px){.cxAction{grid-template-columns:1fr auto}.cxPill{grid-column:1/-1;justify-self:start}.twoField{grid-template-columns:1fr}.rebookRules>div{grid-template-columns:1fr 80px auto}.rebookRules>div>span:last-of-type{display:none}.ratingPicker{grid-template-columns:1fr}.ratingPicker>div{justify-content:flex-start}}.cxPill.recovery{color:#ffadb3;background:#421c21;border:1px solid #853942}.growthGrid{grid-template-columns:1fr 1fr;gap:14px;margin-top:14px;display:grid}.growthTarget{grid-template-columns:1fr 160px;align-items:end;gap:10px;display:grid}.growthTarget div span,.growthTarget small{color:var(--muted);font-size:12px;display:block}.growthTarget div b{font-size:24px}.growthTarget input{width:100%}.growthTarget .progress{background:#17283c;border-radius:10px;grid-column:1/-1;height:8px;overflow:hidden}.growthTarget .progress i{background:#1683ff;height:100%;display:block}.growthActions{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:18px;display:grid}.priorityList{gap:9px;display:grid}.priority{border:1px solid #29435f;border-left:4px solid #1683ff;border-radius:9px;gap:4px;padding:12px;display:grid}.priority.warn{border-left-color:#f3b51b}.priority.good{border-left-color:#17c982}.priority span{color:var(--muted);font-size:12px}.campaignList{display:grid}.campaignList button{color:inherit;text-align:left;background:0 0;border:0;border-bottom:1px solid #26384c;grid-template-columns:1fr auto 18px;align-items:center;gap:12px;padding:12px 4px;display:grid}.campaignList button span{gap:3px;display:grid}.campaignList small{color:var(--muted)}.growthTable{display:grid}.growthHead,.growthTable>div{border-bottom:1px solid #26384c;grid-template-columns:1.3fr .55fr .7fr .8fr .7fr .55fr;align-items:center;gap:8px;padding:10px 4px;display:grid}.growthHead{color:#83b8ff;text-transform:uppercase;font-size:11px}.neighborhoodList{display:grid}.neighborhoodList>div{border-bottom:1px solid #26384c;justify-content:space-between;padding:11px 2px;display:flex}.neighborhoodList span{align-items:center;gap:7px;display:flex}.playbook{grid-template-columns:1fr 1fr;gap:10px;display:grid}.playbook>div{border:1px solid #263f59;border-radius:9px;gap:5px;padding:12px;display:grid}.playbook span{color:var(--muted);font-size:12px}.campaignForm{gap:10px;display:grid}@media (width<=900px){.growthGrid{grid-template-columns:1fr}.growthActions{grid-template-columns:1fr 1fr}.growthTable{overflow-x:auto}.growthHead,.growthTable>div{min-width:650px}.playbook{grid-template-columns:1fr}}.campaignLeadList{border-top:1px solid #23364b;margin-top:14px}.campaignLeadRow{border-bottom:1px solid #23364b;grid-template-columns:minmax(180px,1.4fr) minmax(130px,1fr) auto;align-items:center;gap:14px;padding:12px 0;display:grid}.campaignLeadRow span{flex-direction:column;gap:3px;min-width:0;display:flex}.campaignLeadRow small{color:#8fb7e8}@media (width<=760px){.campaignLeadRow{grid-template-columns:1fr}.campaignLeadRow>span:last-child{align-items:flex-start}}.opsDateBadge{color:#9ec9ff;white-space:nowrap;background:#0b1d2d;border:1px solid #28445e;border-radius:10px;padding:10px 14px;font-weight:700}.opsMetrics{grid-template-columns:repeat(6,minmax(0,1fr))}.opsTopGrid,.opsBottomGrid{grid-template-columns:minmax(0,1.35fr) minmax(320px,1fr);gap:14px;margin-top:14px;display:grid}.opsJobList{flex-direction:column;display:flex}.opsJobRow{text-align:left;width:100%;color:inherit;background:#081827;border:1px solid #24445f;border-radius:10px;grid-template-columns:145px minmax(0,1fr) 190px 24px;align-items:center;gap:14px;margin-bottom:9px;padding:14px;display:grid}.opsJobRow:hover{background:#0a1d2e;border-color:#1688ff}.opsJobRow.opsRisk{border-left:4px solid #ff5c66}.opsTime,.opsJobMain,.opsVariance{flex-direction:column;gap:3px;min-width:0;display:flex}.opsTime b{color:#47a5ff}.opsTime small,.opsJobMain span,.opsJobMain small,.opsVariance small{color:#8fb6dd}.opsVariance{text-align:right;align-items:flex-end}.opsBad{color:#ff7079!important}.opsGood{color:#35d48c!important}.opsAlerts{flex-direction:column;gap:10px;display:flex}.opsAlert{text-align:left;width:100%;color:inherit;background:#0a1c2b;border:1px solid #284963;border-left-width:4px;border-radius:9px;flex-direction:column;gap:4px;padding:13px 14px;display:flex}.opsAlert.red{border-left-color:#ff5c66}.opsAlert.yellow{border-left-color:#f4bb3c}.opsAlert.blue{border-left-color:#1688ff}.opsAlert span{color:#93badf}.opsClear{color:#59daa0;background:#09231c;border:1px solid #1c714f;border-radius:10px;align-items:center;gap:10px;padding:18px;display:flex}.opsClear div{flex-direction:column;display:flex}.opsClear span{color:#9ccab8}.opsWeekSummary{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.opsWeekSummary>div{background:#081827;border:1px solid #203c55;border-radius:9px;flex-direction:column;gap:4px;padding:12px;display:flex}.opsWeekSummary span{color:#8fb6dd}.opsWeekSummary b{font-size:18px}.opsCapacityGrid{grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;display:grid}.opsDay{background:#081827;border:1px solid #203e58;border-radius:9px;min-width:0;padding:11px}.opsDay>div:first-child{flex-direction:column;gap:2px;display:flex}.opsDay span,.opsDay small{color:#8fb6dd}.opsDay strong{margin:9px 0 5px;display:block}.opsCapTrack{background:#152d45;border-radius:999px;height:7px;margin-bottom:7px;overflow:hidden}.opsCapTrack i{background:#1688ff;border-radius:999px;height:100%;display:block}.opsSettings{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:12px;display:grid}.opsSettings .field{margin:0}.opsSettings button{height:42px}.opsBottomGrid table td,.opsBottomGrid table th{white-space:nowrap}@media (width<=1300px){.opsMetrics{grid-template-columns:repeat(3,minmax(0,1fr))}.opsCapacityGrid{grid-template-columns:repeat(4,minmax(0,1fr))}.opsBottomGrid{grid-template-columns:1fr}.opsWeekSummary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=900px){.opsTopGrid{grid-template-columns:1fr}.opsMetrics{grid-template-columns:repeat(2,minmax(0,1fr))}.opsJobRow{grid-template-columns:105px minmax(0,1fr)}.opsVariance{text-align:left;grid-column:2;align-items:flex-start}.opsJobRow>svg{display:none}.opsCapacityGrid,.opsWeekSummary{grid-template-columns:repeat(2,minmax(0,1fr))}.opsSettings{grid-template-columns:1fr}.opsDateBadge{white-space:normal}}@media (width<=600px){.opsMetrics,.opsCapacityGrid,.opsWeekSummary,.opsJobRow{grid-template-columns:1fr}.opsVariance{grid-column:auto}}.portalWelcome{justify-content:space-between;align-items:center;gap:20px;margin:0 0 18px;display:flex}.portalWelcome h2{margin:4px 0}.roleBadge{color:#7dc5ff;text-transform:uppercase;background:#08243a;border:1px solid #24517a;border-radius:999px;align-items:center;padding:7px 11px;font-size:12px;font-weight:800;display:inline-flex}.role-owner{color:#a9d5ff}.role-manager{color:#ffd76a}.role-technician{color:#5ef0bd}.role-sales{color:#d4b5ff}.fieldJobList{gap:12px;display:grid}.fieldJob{background:#071827;border:1px solid #24445f;border-radius:12px;overflow:hidden}.fieldJobMain{text-align:left;width:100%;color:inherit;background:0 0;border:0;grid-template-columns:115px 1fr auto;align-items:center;gap:16px;padding:18px;display:grid}.fieldJobMain:hover{background:#0a2135}.fieldJobMain p,.fieldJobMain small{color:#82bfff;margin:3px 0}.fieldTime{color:#4da8ff;font-size:18px;font-weight:900}.fieldActions{justify-content:flex-end;gap:8px;padding:0 18px 16px;display:flex}.fieldLink{text-decoration:none}.emptyState{text-align:center;justify-items:center;gap:8px;padding:36px;display:grid}.teamIntro{margin-top:-4px}.teamAccessCard{align-items:flex-start}.teamAccessBody{flex:1;min-width:0}.teamAccessTop{justify-content:space-between;align-items:center;gap:12px;display:flex}.accessLine{color:#8bbce8;align-items:flex-start;gap:7px;margin-top:10px;font-size:12px;display:flex}.teamInviteGuide{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.teamInviteGuide>div{background:#081827;border:1px solid #233f59;border-radius:10px;padding:14px}.teamInviteGuide p{color:#8bbce8;margin:5px 0 0;font-size:12px}@media (width<=760px){.fieldJobMain{grid-template-columns:1fr}.fieldActions{flex-wrap:wrap;justify-content:stretch}.fieldActions>*{flex:1;justify-content:center}.teamInviteGuide{grid-template-columns:1fr}.portalWelcome{align-items:flex-start}.teamAccessTop{flex-direction:column;align-items:flex-start}}.employeeActions{flex-wrap:wrap;gap:7px;margin-top:13px;display:flex}.employeeActions button{padding:7px 9px;font-size:12px}.inactiveEmployee{opacity:.62}.onboardStep{color:inherit;text-align:left;cursor:pointer;background:#081827;border:1px solid #233f59;border-radius:10px;padding:14px}.onboardStep:hover{background:#0a2135;border-color:#1684ff}.onboardStep p{color:#8bbce8;margin:5px 0 0;font-size:12px}.employeeSecurity{align-items:center;gap:8px;margin-top:16px;display:flex}@media (width<=760px){.employeeActions>*{flex:1}.sectionTop{flex-direction:column;align-items:flex-start}.sectionTop .primary{width:100%}}.loginDivider{text-align:center;color:var(--muted);margin:14px 0;font-size:12px}.linkButton{justify-content:center;align-items:center;gap:7px;text-decoration:none;display:inline-flex}.bookingAdminHero{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px;display:flex}.bookingAdminHero h2{margin:0 0 5px}.bookingLinkActions{flex-wrap:wrap;gap:8px;display:flex}.publicLinkBox{flex-direction:column;gap:8px;display:flex}.publicLinkBox code{border:1px solid var(--line);color:#8bc5ff;overflow-wrap:anywhere;background:#071522;border-radius:9px;padding:12px;display:block}.bookingSettingsGrid{grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px;display:grid}.serviceBookingGrid{gap:10px;display:grid}.serviceBookingCard{border:1px solid var(--line);background:#091522;border-radius:10px;grid-template-columns:minmax(180px,1fr) minmax(0,2fr);align-items:end;gap:18px;padding:14px;display:grid}.serviceBookingCard>div:first-child{flex-direction:column;gap:4px;display:flex}.serviceBookingCard small{color:var(--muted)}.serviceBookingFields{grid-template-columns:1fr 1fr 110px 110px auto;align-items:end;gap:8px;display:grid}.serviceBookingFields label{flex-direction:column;gap:5px;display:flex}.serviceBookingFields label span{text-transform:uppercase;color:var(--muted);font-size:10px}.bookingRequestList{flex-direction:column;display:flex}.bookingRequestRow{border:0;border-bottom:1px solid var(--line);width:100%;color:inherit;text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.bookingRequestRow>div{flex-direction:column;gap:4px;display:flex}.bookingRequestRow>div:last-child{flex-direction:row;align-items:flex-end}.bookingRequestRow span,.bookingRequestRow small{color:var(--muted)}.bookingRequestRow:hover b{color:#66b5ff}.publicBooking{color:#f5f9ff;background:radial-gradient(circle at 20% 0,#0c3154 0,#07101b 42%,#050a10 100%);min-height:100vh;padding:28px 16px}.bookingShell{background:#0a1523;border:1px solid #20364f;border-radius:18px;width:min(100%,980px);margin:0 auto;overflow:hidden;box-shadow:0 30px 80px #0008}.bookingPublicHeader{background:#08121e;border-bottom:1px solid #20364f;justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.bookingBrand{align-items:center;gap:11px;display:flex}.bookingBrand .mark{background:#1184ff;border-radius:11px;place-items:center;width:42px;height:42px;font-weight:900;display:grid}.bookingBrand>div:last-child{flex-direction:column;gap:2px;display:flex}.bookingBrand small{color:#86a4c2;letter-spacing:.08em;font-size:10px}.staffLogin{color:#8fc7ff;font-size:12px;text-decoration:none}.bookingProgress{background:#07101a;border-bottom:1px solid #20364f;grid-template-columns:repeat(4,1fr);display:grid}.bookingProgress span{text-align:center;color:#607c98;border-right:1px solid #15283a;padding:11px;font-size:11px;font-weight:700}.bookingProgress span:last-child{border-right:0}.bookingProgress span.on{color:#fff;background:#0b243c}.bookingPublicMain{padding:28px}.bookingIntro{text-align:center;max-width:680px;margin:0 auto 24px}.bookingIntro small,.bookingStepTitle small,.bookingConfirmation>small{color:#65b7ff;letter-spacing:.1em;font-weight:800}.bookingIntro h1{margin:7px 0 10px;font-size:34px}.bookingIntro p{color:#9cb2c8;line-height:1.6}.publicServiceGrid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.publicServiceCard{text-align:left;color:inherit;background:#0b1a2a;border:1px solid #24415e;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:18px;display:flex}.publicServiceCard>div{flex-direction:column;gap:5px;display:flex}.publicServiceCard b{font-size:17px}.publicServiceCard span{color:#69b7ff;font-weight:700}.publicServiceCard small{color:#879eb4;line-height:1.4}.publicServiceCard.selected{background:#0c2238;border-color:#198cff;box-shadow:0 0 0 2px #198cff22}.bookingNav{justify-content:space-between;gap:10px;margin-top:24px;display:flex}.bookingNav button{align-items:center;gap:6px;display:inline-flex}.bookingStepTitle{text-align:center;margin-bottom:22px}.bookingStepTitle h2{margin:6px 0}.datePickerCard{background:#0b1a2a;border:1px solid #24415e;border-radius:14px;flex-direction:column;align-items:center;gap:14px;width:min(100%,480px);margin:0 auto;padding:28px;display:flex}.datePickerCard input{width:100%;padding:12px;font-size:18px}.datePickerCard p{color:#809bb4;text-align:center;font-size:12px}.timeSlotGrid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.timeSlotGrid button{color:#eaf5ff;background:#0b1a2a;border:1px solid #2a4968;border-radius:9px;padding:14px 10px;font-weight:800}.timeSlotGrid button.selected,.timeSlotGrid button:hover{background:#0f7ef0;border-color:#0f7ef0}.publicBookingForm{grid-template-columns:1fr 1fr;gap:12px;display:grid}.bookingSummary{background:#081522;border:1px solid #24415e;border-radius:11px;grid-template-columns:repeat(3,1fr);gap:10px;padding:14px;display:grid}.bookingSummary>div{flex-direction:column;gap:4px;display:flex}.bookingSummary span{text-transform:uppercase;color:#839bb4;font-size:10px}.bookingConfirmation{text-align:center;max-width:650px;margin:12px auto;padding:20px 0}.successIcon{color:#75f0b4;background:#0f563b;border-radius:50%;place-items:center;width:74px;height:74px;margin:0 auto 18px;display:grid}.successIcon svg{width:38px;height:38px}.bookingConfirmation h1{margin:8px 0;font-size:34px}.bookingConfirmation>p{color:#9eb3c8;line-height:1.6}.confirmationCard{text-align:left;grid-template-columns:repeat(2,1fr);gap:8px;margin:22px 0;display:grid}.confirmationCard>div{background:#081522;border:1px solid #24415e;border-radius:9px;flex-direction:column;gap:5px;padding:13px;display:flex}.confirmationCard span{text-transform:uppercase;color:#829bb4;font-size:10px}.bookingContact{margin:18px 0}.bookingPublicFooter{text-align:center;color:#6885a0;letter-spacing:.06em;border-top:1px solid #20364f;padding:15px 20px;font-size:10px}.bookingError,.bookingLoading{border-radius:10px;margin:30px;padding:20px}.bookingError{color:#ffb0b0;background:#42191d;gap:8px;display:flex}.bookingLoading{color:#9cb2c8}.publicBooking .field input,.publicBooking .field select,.publicBooking .field textarea,.publicBooking input,.publicBooking select,.publicBooking textarea{color:#fff;background:#071522;border:1px solid #2a4561}.publicBooking .field span{color:#a7bdd2}@media (width<=900px){.bookingSettingsGrid{grid-template-columns:repeat(2,1fr)}.serviceBookingCard{grid-template-columns:1fr}.serviceBookingFields{grid-template-columns:repeat(2,1fr)}.publicServiceGrid{grid-template-columns:1fr}.timeSlotGrid{grid-template-columns:repeat(3,1fr)}}@media (width<=650px){.bookingAdminHero{flex-direction:column}.bookingLinkActions{width:100%}.bookingLinkActions>*{flex:1}.bookingSettingsGrid,.publicBookingForm{grid-template-columns:1fr}.serviceBookingFields{grid-template-columns:1fr 1fr}.publicBooking{padding:0}.bookingShell{border-left:0;border-right:0;border-radius:0;min-height:100vh}.bookingPublicHeader{padding:14px 16px}.bookingPublicMain{padding:20px 16px}.bookingProgress span{padding:9px 3px;font-size:9px}.bookingIntro h1,.bookingConfirmation h1{font-size:27px}.timeSlotGrid{grid-template-columns:repeat(2,1fr)}.bookingSummary,.confirmationCard{grid-template-columns:1fr}.bookingBrand b{font-size:13px}.staffLogin{font-size:10px}}.pwaStatus{z-index:60;color:#d9edff;background:#0a2034;border:1px solid #285a86;border-radius:12px;align-items:center;gap:10px;max-width:390px;padding:11px 12px;display:flex;position:fixed;bottom:18px;right:18px;box-shadow:0 14px 40px #0008}.pwaStatus>span{gap:2px;min-width:0;display:grid}.pwaStatus small{color:#91b4d2;font-size:11px}.pwaStatus button{color:#fff;background:#087cff;border:0;border-radius:8px;align-items:center;gap:6px;padding:8px 10px;display:inline-flex}.pwaStatus.offline{color:#ffe29a;background:#30250b;border-color:#765c21}.pwaStatus.offline small{color:#d3bd82}.fieldPortalHero{padding:4px 0}.activeJobBanner{background:#09291f;border:1px solid #1c7b5c;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;padding:14px 16px;display:flex}.activeJobBanner>div{gap:3px;display:grid}.activeJobBanner small{color:#72dfb5;font-size:10px;font-weight:800}.activeJobBanner span{color:#a8cbbc;font-size:12px}.fieldJob.current{border-color:#1fc58e;box-shadow:0 0 0 1px #1fc58e33}.fieldTime{gap:4px;display:grid}.fieldTime span{letter-spacing:.09em;color:#6f8fab;font-size:9px}.fieldAdvance{font-weight:800}.techJobModal{gap:12px;display:grid}.techJobStatus{grid-template-columns:.7fr 1.5fr 1fr;gap:8px;display:grid}.techJobStatus>div,.techInfoCard{background:#081725;border:1px solid #24415e;border-radius:11px;padding:13px}.techJobStatus small,.techInfoCard>small{color:#829db8;margin-bottom:5px;font-size:10px;display:block}.techContactBar{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.techContactBar a{color:#d9edff;background:#0b2034;border:1px solid #28517a;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:12px;font-weight:750;text-decoration:none;display:flex}.techInfoCard{gap:8px;display:grid}.techInfoCard h3{margin:0}.techInfoCard>span{color:#9eb8d2}.fieldNote{background:#06111d;border:1px solid #294561;border-radius:9px;margin-top:4px;padding:10px;line-height:1.45}.fieldNote small{color:#59aaff;margin-bottom:5px;font-size:9px;font-weight:800;display:block}.techWorkflow{background:#0a1d30;border:1px solid #2b5c8a;border-radius:12px;gap:10px;padding:14px;display:grid}.techWorkflow>small{color:#71baff;font-size:10px;font-weight:900}.bigFieldAction{width:100%;min-height:52px;font-size:16px;font-weight:900}.workflowSteps{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.workflowSteps i{color:#71849c;background:#13243a;border-radius:999px;place-items:center;height:34px;font-style:normal;font-weight:900;display:grid;position:relative}.workflowSteps i.done{color:#caffeb;background:#0d694b}.workflowSteps i span{color:#7690a9;font-size:8px;font-weight:700;position:absolute;top:37px}.techWorkflow{padding-bottom:26px}.techFieldGrid{grid-template-columns:1fr 1.35fr;gap:12px;display:grid}.techInfoCard select,.techNotes{color:#fff;background:#061421;border:1px solid #2a4867;border-radius:9px;width:100%;padding:11px}.cameraCapture{color:#fff;cursor:pointer;background:#087cff;border-radius:10px;justify-content:center;align-items:center;gap:8px;margin-top:2px;padding:14px;font-weight:900;display:flex}.cameraCapture input{display:none}.checkProgress{background:#0a2034;border-radius:9px;justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.checkProgress b{color:#62bcff}.checkProgress span{color:#9eb8d2;font-size:11px}.fieldCheck{padding:10px 2px}.fieldCheck input{accent-color:#087cff;flex:none;width:22px;height:22px}.techNotes{resize:vertical;min-height:100px}.saveFieldNotes{width:max-content}.techModalActions{margin-top:0}@media (width<=700px){.role-technician{padding-bottom:76px}.role-technician aside{z-index:55;height:68px;padding:7px 8px calc(7px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#07111ff2;border-top:1px solid #20334a;border-right:0;grid-template-columns:1fr 1fr 64px;display:grid;position:fixed;inset:auto 0 0;overflow:visible}.role-technician aside button{flex-direction:column;justify-content:center;gap:2px;width:100%;min-width:0;margin:0;padding:6px 5px;font-size:10px;display:flex}.role-technician aside button svg{width:20px;height:20px}.role-technician aside .logout{color:#e89aa2}.role-technician main{padding:14px 12px 24px}.role-technician header{margin-bottom:14px}.role-technician header h1{font-size:23px}.role-technician .headerActions .primary{display:none}.fieldMetrics{grid-template-columns:1fr 1fr}.fieldJobMain{padding:14px}.fieldActions{grid-template-columns:repeat(3,1fr);padding:0 14px 14px;display:grid}.fieldActions .fieldAdvance{grid-column:1/-1;min-height:46px}.techJobStatus{grid-template-columns:1fr}.techContactBar{grid-template-columns:repeat(3,1fr)}.techContactBar a{flex-direction:column;padding:11px 5px;font-size:12px}.techFieldGrid{grid-template-columns:1fr}.modalback:has(.techJobModal){align-items:end;padding:0}.modal:has(.techJobModal){width:100%;height:96vh;max-height:96vh;padding:16px 14px calc(18px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0}.pwaStatus{max-width:none;bottom:78px;left:10px;right:10px}.role-technician .panel{padding:12px}.role-technician .portalWelcome{margin-bottom:12px}.role-technician .portalWelcome .roleBadge{display:none}}@media (width<=430px){.fieldMetrics{grid-template-columns:1fr 1fr}.fieldMetrics .card{padding:13px}.fieldMetrics .card strong{font-size:21px}.activeJobBanner{flex-direction:column;align-items:stretch}.activeJobBanner .primary{width:100%}.techContactBar{gap:6px}.workflowSteps i span{font-size:7px}}.mobileRoleNav,.mobileMoreBackdrop{display:none}@media (width<=700px){.app:not(.role-technician){padding-bottom:78px;display:block}.app:not(.role-technician)>aside{display:none}.app:not(.role-technician)>main{max-width:none;padding:14px 12px 28px}.app:not(.role-technician)>main>header{gap:10px;margin-bottom:14px}.app:not(.role-technician)>main>header h1{font-size:23px}.app:not(.role-technician) .headerActions .primary{display:none}.mobileRoleNav{z-index:70;min-height:68px;padding:6px 5px calc(6px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#07111ff2;border-top:1px solid #20334a;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 30px #0007}.mobileRoleNav button{color:#7f96ae;background:0 0;border:0;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;padding:5px 2px;font-size:9px;font-weight:750;display:flex}.mobileRoleNav button.active{color:#fff;background:#0b69d0}.mobileRoleNav button span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.mobileMoreBackdrop{z-index:80;background:#0009;align-items:flex-end;padding-top:40px;display:flex;position:fixed;inset:0}.mobileMoreSheet{width:100%;max-height:82vh;padding:16px 14px calc(18px + env(safe-area-inset-bottom));background:#0a1421;border:1px solid #29415d;border-bottom:0;border-radius:20px 20px 0 0;overflow:auto;box-shadow:0 -22px 60px #000b}.mobileMoreHead{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.mobileMoreHead>div{gap:3px;display:grid}.mobileMoreHead small{color:#65b7ff;letter-spacing:.1em;font-size:9px;font-weight:900}.mobileMoreHead b{font-size:18px}.mobileMoreHead>button{color:#dbeaff;background:#0d1b2a;border:1px solid #29415d;border-radius:10px;place-items:center;width:38px;height:38px;display:grid}.mobileMoreGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.mobileMoreGrid button{color:#dcecff;text-align:left;background:#0b1a29;border:1px solid #263e58;border-radius:11px;align-items:center;gap:10px;min-height:52px;padding:12px;font-weight:750;display:flex}.mobileMoreGrid button.active{color:#fff;background:#0b3156;border-color:#1688ff}.mobileSignOut{color:#ffabb4;background:#251118;border:1px solid #62313a;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:12px;padding:12px;font-weight:800;display:flex}.app:not(.role-technician) .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.app:not(.role-technician) .pwaStatus{max-width:none;bottom:78px;left:10px;right:10px}}@media (width<=430px){.mobileMoreGrid,.app:not(.role-technician) .metrics{grid-template-columns:1fr 1fr}}.portalShell{max-width:900px}.portalHero{text-align:center;margin-bottom:24px}.portalHero small{color:#65b7ff;letter-spacing:.1em;font-weight:800}.portalHero h1{margin:7px 0;font-size:34px}.portalHero p{color:#9cb2c8}.portalProgress{grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:20px;display:grid}.portalProgress div{color:#607c98;background:#081522;border:1px solid #20364f;border-radius:10px;flex-direction:column;align-items:center;gap:6px;padding:10px;display:flex}.portalProgress span{background:#12263b;border-radius:50%;place-items:center;width:27px;height:27px;font-weight:900;display:grid}.portalProgress .done{color:#72efba;border-color:#17654d}.portalProgress .done span{color:#fff;background:#0f6f52}.portalProgress small{text-align:center;font-size:10px;font-weight:700}.portalGrid{grid-template-columns:1.2fr .8fr;gap:14px;display:grid}.portalCard{background:#0b1a2a;border:1px solid #24415e;border-radius:13px;margin-bottom:14px;padding:18px}.portalCard h3{margin-top:0}.portalActions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.portalActions a,.portalActions button{color:#dceeff;background:#0a1b2d;border:1px solid #2a4968;border-radius:8px;padding:10px 13px;text-decoration:none}.portalActions .primary{color:#fff;background:#1184ff;border-color:#1184ff}@media (width<=650px){.portalGrid{grid-template-columns:1fr}.portalProgress{gap:4px}.portalProgress div{padding:8px 2px}.portalProgress small{font-size:8px}.portalHero h1{font-size:27px}.portalActions>*{text-align:center;flex:1}}.portalOwnerStatus{justify-content:space-between;align-items:center;gap:12px;margin:8px 0 12px;display:flex}.portalOwnerStatus small{color:var(--muted)}.portalOwnerActions{flex-wrap:wrap;gap:8px;display:flex}.portalOwnerActions button{flex:150px}.dangerSoft{color:#ff8d9b!important;border-color:#7f2e39!important}.portalRequestList{border-top:1px solid var(--border);margin-top:16px;padding-top:12px}.portalRequestList>b{margin-bottom:8px;display:block}.portalRequestRow{border-top:1px solid #ffffff0f;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:9px 0;display:grid}.portalRequestRow small{color:var(--muted)}@media (width<=700px){.portalOwnerStatus{flex-direction:column;align-items:flex-start}.portalOwnerActions{grid-template-columns:1fr;width:100%;display:grid}.portalOwnerActions button{width:100%}.portalRequestRow{grid-template-columns:1fr}.portalRequestRow .statePill{justify-self:start}}.portalRequestCard{border-top:1px solid #ffffff0f;padding:10px 0}.portalRequestCard .portalRequestRow{border-top:0;padding:0}.portalRequestRow>span:first-child{flex-direction:column;gap:3px;display:flex}.portalRequestActions{flex-wrap:wrap;gap:7px;margin-top:9px;display:flex}.portalRequestActions button{padding:8px 10px}.portalResolvedAt{color:var(--muted);margin-top:7px;display:block}.statePill.info{color:#8bc7ff;border-color:#315d86}.portalActions button:disabled{opacity:.55;cursor:not-allowed}@media (width<=700px){.portalRequestActions{grid-template-columns:1fr;display:grid}.portalRequestActions button{width:100%}}.portalPayButton{justify-content:center;align-items:center;gap:8px;width:100%;margin:14px 0 8px;display:flex}.portalPaymentNote{margin-top:8px;line-height:1.45;display:block}.bookingConsent{border:1px solid var(--line,#24425c);background:#13374e59;border-radius:10px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:12px;line-height:1.45;display:flex}.bookingConsent input{flex:none;width:18px;height:18px;margin-top:1px}.customerManageBar{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin:0 0 14px;display:flex}.customerManageBar button{background:#0b1929;border-radius:8px;padding:9px 12px}.customerManageBar .dangerGhost{background:#241116}.customerManageBar button:disabled{opacity:.55;cursor:not-allowed}@media (width<=650px){.customerManageBar{justify-content:stretch}.customerManageBar button{flex:1}}
