
:root{--brand-red:#c92332;font-family:Inter,Segoe UI,Arial,sans-serif;color:#202124;background:#f6f6f4;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #d53b48;outline-offset:3px}header{height:100px;background:white;border-bottom:1px solid #e5e5e2;display:flex;align-items:center;justify-content:space-between;padding:0 6%}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;color:#17191b;font-size:20px;font-weight:850;letter-spacing:1px}.brand small{display:block;font-size:9px;letter-spacing:2px;margin-top:5px}.mark{background:#c92332;color:white;width:51px;height:51px;display:grid;place-content:center;font-size:20px;position:relative;border-radius:12px 12px 12px 2px}.mark span{position:absolute;right:4px;top:0;font-size:13px}.header-actions{display:flex;gap:25px;align-items:center}.local{font-size:10px;letter-spacing:1.5px;color:#747777}.outline{background:white;border:1px solid #d5d5d2;padding:12px 17px;border-radius:7px;font-weight:600;font-size:13px}main{max-width:1240px;margin:auto;padding:0 40px}.intro{display:flex;justify-content:space-between;align-items:center;padding:55px 0 38px}.eyebrow{font-size:10px;letter-spacing:2px;color:#bd2330;font-weight:800;margin:0 0 15px}h1{font-size:49px;line-height:1.08;letter-spacing:-2px;margin:0 0 20px;font-weight:750}.muted{color:#777a7b;line-height:1.7;font-size:14px}.intro-note{font-size:10px;letter-spacing:1.5px;color:#727574;padding-right:25px}.intro-note p{font-size:14px;letter-spacing:0;line-height:1.6}.dot{display:inline-block;width:7px;height:7px;border-radius:100%;background:#c92332;margin-right:7px}.workspace{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,1fr);gap:28px;align-items:start}.calculator{border:1px solid #e3e3df;border-radius:13px;background:white;overflow:hidden}.tabs{display:flex;padding:8px;background:#efefec;border-bottom:1px solid #e3e3df;gap:7px}.tabs button{width:50%;border:0;background:transparent;color:#7a7c7d;padding:15px;border-radius:8px;font-size:14px;font-weight:650}.tabs button[aria-selected=true]{background:white;color:#bf2431;box-shadow:0 2px 7px #0000000b}form#estimateForm{padding:30px}.section-heading{display:flex;gap:13px;align-items:center;margin:0 0 25px}.step{font-size:11px;color:#bd2330;font-weight:700;background:#fbeef0;border-radius:8px;padding:11px}h2{font-size:19px;letter-spacing:-.4px;margin:0}.section-heading p{font-size:12px;color:#888;margin:6px 0 0}label{display:block;font-size:12px;font-weight:650;color:#444749;margin-bottom:20px}input:not([type=checkbox]),select{display:block;width:100%;border:1px solid #dddfdf;border-radius:7px;background:#fff;padding:13px 12px;color:#242628;margin-top:9px;min-height:46px}input[type=checkbox]{accent-color:#c92332;width:16px;height:16px;margin:0 10px 0 0}.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.extras-heading{border-top:1px solid #eee;padding-top:25px;margin-top:25px}.extras{display:grid;grid-template-columns:1fr 1fr;gap:10px}.extras label{display:flex;align-items:center;border:1px solid #e3e3df;border-radius:7px;padding:14px 10px;margin:0;font-size:11px;cursor:pointer}.extras label:has(input:checked){border-color:#c92332;background:#fff8f8}.field-note{font-size:11px;line-height:1.6;color:#8b8d8d;margin:13px 0 22px}.primary{background:var(--brand-red);color:white;border:0;border-radius:7px;padding:14px 20px;font-size:13px;font-weight:650}.primary:hover{background:#aa1826}.calculate{width:100%;display:flex;justify-content:space-between;padding:17px 20px}.quote{background:#1b1d20;color:#fff;border-radius:13px;padding:30px;position:sticky;top:20px}.quote-top{display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:1.5px;color:#c6c8cb}.pill{border:1px solid #545053;border-radius:4px;padding:6px;font-size:8px;color:#e0a4a8;letter-spacing:.7px}.quote>p{color:#b0b2b6;font-size:13px;margin-top:35px}.price{font-size:60px;letter-spacing:-2px;font-weight:650;margin-top:10px}.per{font-size:12px;color:#909399}.quote-line{height:1px;background:#393b3e;margin:30px 0 23px}.quote-detail{display:flex;justify-content:space-between;font-size:11px;margin-bottom:17px}.quote-detail span{color:#93979b}.quote-detail strong{font-weight:500}.quote .quote-note{font-size:11px;line-height:1.8;color:#8f9398;margin:30px 0 0}.sample-note{display:flex;gap:13px;padding:20px 7px;color:#898b8b;font-size:11px;line-height:1.8}.sample-note>span{color:#c92332;font-size:24px}.sample-note p{margin:0}.sample-note strong{color:#565959;font-weight:550}#monthly{font-size:13px;color:#ddd;margin-top:20px;padding:14px 0;border-top:1px solid #393b3e}.info-box{background:#f6f6f4;border-radius:8px;padding:20px;font-size:14px;margin:15px 0 25px;line-height:1.6}.info-box p{color:#777;font-size:12px}#ownerBreakdown{margin-top:22px;border-top:1px solid #555;padding-top:18px}#ownerBreakdown h3{font-size:11px;letter-spacing:1px;color:#f2a4ae}#ownerBreakdown p{display:flex;justify-content:space-between;font-size:12px;color:#d0d1d3}#settings{background:white;border:1px solid #ddd;border-radius:12px;padding:30px;margin-top:28px}.settings-title{display:flex;justify-content:space-between;align-items:center;gap:25px}#ruleFields{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 20px;margin-top:25px}#ruleFields h3{grid-column:1/-1;font-size:14px;border-top:1px solid #eee;padding-top:20px}#ruleFields label{margin:0}footer{display:flex;justify-content:space-between;color:#9b9d9d;font-size:9px;letter-spacing:1px;margin:45px 0 25px}dialog{border:1px solid #ddd;border-radius:12px;padding:30px;max-width:440px;width:90%}dialog::backdrop{background:#0008}dialog p{font-size:13px;line-height:1.6;color:#777}dialog label{margin-top:25px}#error,#loginError{color:#c92332;font-size:13px}#saveStatus{font-size:13px}[hidden]{display:none!important}@media(max-width:760px){header{height:80px;padding:0 20px}.local,.intro-note{display:none}.brand{font-size:16px}.brand small{font-size:7px}.mark{width:42px;height:42px}.header-actions{gap:0}main{padding:0 18px}.intro{padding:35px 0 24px}h1{font-size:39px}.workspace{grid-template-columns:1fr;gap:20px}form#estimateForm{padding:22px}.quote{padding:25px}.price{font-size:52px}#ruleFields{grid-template-columns:1fr 1fr}.settings-title{display:block}.settings-title button{margin-top:10px}footer{gap:20px;line-height:1.7}.extras{gap:8px}.extras label{font-size:10px}.two{gap:12px}}


/* v0.2: official branding, local records, and customer estimate documents */
.official-logo{width:54px;height:64px;object-fit:contain;flex-shrink:0}.brand{font-size:18px;letter-spacing:0}.brand small{letter-spacing:1.5px}.login-logo{display:block;width:88px;height:100px;object-fit:contain;margin:0 auto 20px}.connection{font-size:11px;padding:10px 6%;background:#f0f2ee;color:#3f5743;border-bottom:1px solid #e2e5de}.connection.offline{background:#fff0f0;color:#b6202d;font-weight:650}.workspace-nav{max-width:1160px;margin:0 auto;display:flex;gap:25px;padding:17px 0 0;font-size:12px}.workspace-nav a{color:#555;text-decoration:none}.workspace-nav a:hover{color:#bd2330}.room-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.window-label{margin-top:20px}.quote-link{display:block;border-top:1px solid #454545;padding-top:20px;margin-top:25px;color:#f4d6d9;font-size:12px;text-decoration:none}.records-section{background:#fff;border:1px solid #e3e3df;padding:30px;border-radius:13px;margin-top:28px;scroll-margin-top:15px}.record-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:25px}.record-grid>section{min-width:0}.record-grid>section+section{border-left:1px solid #eee;padding-left:30px}h3{font-size:16px}h4{font-size:13px}#customerForm{margin-top:20px}textarea{font:inherit;display:block;resize:vertical;width:100%;border:1px solid #dddfdf;border-radius:7px;padding:13px 12px;margin-top:9px;color:#242628;line-height:1.6;font-size:13px}textarea:focus-visible{outline:3px solid #d53b48;outline-offset:3px}.address-grid{display:grid;grid-template-columns:2fr 1fr 1.2fr;gap:10px}.editor-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}#selectedCustomer{font-size:12px;padding:15px;background:#f6f6f4;border-radius:7px}#draftForm{margin-top:20px}.dark-pill{color:#b52331;border-color:#d9b9bc;white-space:nowrap}#savedSummary{font-size:12px;line-height:1.8;padding:14px;background:#f6f6f4;border-radius:7px}.action-row{display:flex;flex-wrap:wrap;gap:10px}.action-row .outline{font-size:11px;padding:11px 12px}a.outline{text-decoration:none;color:#333;display:inline-block}.history{padding-left:19px;max-height:230px;overflow:auto}.history li{font-size:11px;line-height:1.8;color:#666;margin-bottom:9px}details{border:1px solid #e5e5e2;border-radius:7px;padding:15px;margin-top:20px}summary{font-size:12px;font-weight:650;cursor:pointer}#verbalForm{margin-top:20px}.list-heading{border-top:1px solid #eee;margin-top:30px;padding-top:18px;display:flex;justify-content:space-between;align-items:center;gap:20px}.list-heading label{margin-bottom:0}.estimate-list{margin-top:20px;font-size:13px;color:#777}.estimate-row{display:grid;grid-template-columns:1.3fr 1fr auto;width:100%;text-align:left;gap:10px;align-items:center;border:1px solid #e5e5e2;background:#fff;border-radius:8px;padding:18px;margin-bottom:10px;font-size:12px;color:#323538}.estimate-row:hover{border-color:#c92332;background:#fffafa}.estimate-row span:nth-child(2){font-size:11px;color:#8a6267}button:disabled{cursor:not-allowed;opacity:.5}input:read-only{background:#f5f5f3}input:disabled,textarea:disabled{background:#f5f5f3}#customerStatus,#estimateStatus,#recordsError,#deliveryNotice{font-size:12px;line-height:1.7;overflow-wrap:anywhere}#recordsError{color:#bd2330}#openApproval{font-size:12px;color:#bd2330}#linkPanel{background:#fff4f5;padding:15px;border-radius:8px;margin-top:15px}#linkPanel input{font-size:11px}#recordsLocked{font-size:13px;color:#777;line-height:1.8}.document-body{background:#efefed}.document{max-width:850px;margin:40px auto;padding:45px 55px;background:white;border:1px solid #ddd;border-radius:10px}.document-header{padding:0;height:auto;border-bottom:2px solid #c92332;padding-bottom:25px;display:flex;justify-content:flex-start;gap:25px}.document-logo{width:90px;height:110px;object-fit:contain}.document-header h1{font-size:30px;letter-spacing:-1px;margin:0}.document-header p{font-size:13px;color:#777}.document-header strong{font-size:13px;color:#bd2330}.development-note{background:#fff3f3;padding:12px;font-size:11px;color:#92333a}.doc-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:11px;color:#888}.document section{margin:30px 0}.document section h2{font-size:15px;border-bottom:1px solid #eee;padding-bottom:12px;margin-bottom:15px}.document section p{font-size:13px;line-height:1.8}.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}.document-total{background:#f6f6f4;padding:22px;border-left:3px solid #c92332;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px}.document-total span{font-size:13px}.document-total strong{font-size:32px;letter-spacing:-1px}.document-total p{width:100%;margin:0;color:#777}#approvalForm{margin-top:30px;border-top:1px solid #eee;padding-top:25px}#approvalForm label{margin-top:20px}.confirm-line{display:flex;align-items:flex-start;line-height:1.7}#responseStatus,#documentError{font-size:13px;line-height:1.8;color:#a3212d}.document #acceptanceInfo{font-size:12px}
@media(max-width:1000px){.workspace-nav{padding:16px 30px 0}.record-grid{gap:23px}.record-grid>section+section{padding-left:23px}.list-heading{display:block}.list-heading .two{margin-top:18px}}
@media(max-width:760px){.brand{font-size:14px}.official-logo{width:38px;height:48px}.header-actions .outline{font-size:11px;padding:11px}.workspace-nav{padding:16px 20px 0;gap:18px;font-size:11px}.connection{padding:10px 20px;line-height:1.6}.records-section{padding:22px}.record-grid{grid-template-columns:1fr}.record-grid>section+section{padding:25px 0 0;border-left:0;border-top:1px solid #eee}.estimate-row{grid-template-columns:1fr auto;padding:15px}.estimate-row span:nth-child(2){grid-row:2}.estimate-row strong{grid-column:2;grid-row:1}.list-heading .two{grid-template-columns:1fr}.settings-title .dark-pill{display:inline-block;margin-top:15px}.document{margin:12px;padding:25px 22px}.document-header h1{font-size:26px}.document-logo{width:65px;height:80px}.document-header{gap:15px}.document-total strong{font-size:28px}}
@media print{.document-body{background:white}.document{border:0;margin:0;max-width:none;padding:15px}.no-print,.development-note{display:none!important}.document section{break-inside:avoid}.document-header{print-color-adjust:exact}.document-total{print-color-adjust:exact}}

/* v0.3 owner dashboard and financially private customer totals */
#ruleFields{display:block;margin-top:22px}.pricing-navigation{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}.pricing-navigation a{padding:10px 15px;border:1px solid #e2dada;border-radius:20px;text-decoration:none;color:#92313a;font-size:12px;background:#fffafa}.pricing-navigation a:hover{border-color:#c92332}.pricing-cards{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;align-items:start}.pricing-cards>.pricing-card:first-child{grid-row:span 2}.pricing-card{border:1px solid #e5e5e2;border-radius:10px;padding:22px;scroll-margin-top:20px;background:#fff}.pricing-card>.field-note{margin:10px 0 20px}#ruleFields .pricing-card h3{margin:0;padding:0;border:0;font-size:17px;letter-spacing:-.3px}.pricing-fields{display:grid;grid-template-columns:1fr 1fr;gap:17px 15px}.pricing-fields h4{grid-column:1/-1;border-top:1px solid #eee;margin:6px 0 0;padding-top:20px;font-size:12px;color:#555}.pricing-fields label{font-size:11px}.pricing-fields input{font-size:14px;font-weight:550}.commercial-reference,.owner-formula{grid-column:1/-1;font-size:12px;line-height:1.9;margin:0;background:#f6f6f4;border-radius:7px;padding:15px;color:#555}.owner-advanced{padding:22px;border:1px solid #dfcbd0;background:#fcfafb;scroll-margin-top:20px;margin-top:22px}.owner-advanced>summary{font-size:15px;color:#9f2430}.owner-advanced>.field-note{margin:15px 0 20px}.owner-advanced .pricing-cards>.pricing-card:first-child{grid-row:auto}.owner-formula{font-size:11px}.customer-totals{padding:20px 23px;background:#f6f6f4;border-left:3px solid #c92332}.customer-totals p{display:flex;justify-content:space-between;gap:20px;font-size:13px;line-height:1.8;margin:10px 0}.customer-totals .total{border-top:1px solid #ddd;padding-top:15px;margin-top:17px;font-weight:700}.customer-totals .total strong{font-size:25px;letter-spacing:-.7px}
@media(max-width:900px){.pricing-cards{grid-template-columns:1fr}.pricing-cards>.pricing-card:first-child{grid-row:auto}}
@media(max-width:480px){.pricing-card{padding:17px}.pricing-fields{gap:16px 12px}.pricing-navigation a{padding:9px 12px;font-size:11px}.owner-advanced{padding:17px}.customer-totals{padding:15px}.customer-totals .total strong{font-size:22px}}
#ruleFields>.pricing-cards{grid-template-rows:min-content 1fr}
/* v0.4 scheduling, access vault, policies, and customer handoff */
.signin-body{min-height:100vh;display:grid;place-items:center;background:#f4f4f1;padding:25px}.signin-card{max-width:470px;width:100%;margin:0;padding:35px;background:white;border:1px solid #ddd;border-radius:15px}.signin-card h1{font-size:29px;letter-spacing:-.8px;margin:0}.signin-card .primary{width:100%}.signin-card form{margin-top:25px}#signinError{font-size:13px;color:#bd2330}.visit-fields{margin:25px 0;padding:20px;background:#f6f6f4;border-radius:9px}.visit-fields h3{margin:0 0 20px}.visit-fields label{font-size:11px}#privateAccess{margin-bottom:22px;background:#fff9f0;border-color:#e5d9c5}#privateAccess summary{color:#805a28}#privateAccess label{margin-top:15px}#extraCatalogSection{border-top:1px solid #eee;margin:25px 0;padding-top:15px}#approvedExtras{margin-bottom:20px}.appointment-panel{margin:20px 0;padding:17px;border:1px solid #ddd;border-radius:8px}#presentCustomer{width:100%;padding:17px;margin:6px 0}#ownerWorkflowSettings{margin-top:25px}#ownerWorkflowSettings>h3{margin-top:28px}#catalogEditor{display:grid;grid-template-columns:1fr 1fr;gap:18px}.catalog-item{border:1px solid #ddd;padding:20px;border-radius:9px}.catalog-item label{margin-bottom:12px}.catalog-item input[type=checkbox]{margin-right:9px}.service-policies{border:1px solid #e5e1de;padding:20px;border-radius:9px;background:#fbfaf8}.document .service-policies h3{font-size:12px;margin:18px 0 6px}.document .service-policies p{font-size:12px;margin:0;line-height:1.75}.document .visit-summary{padding:18px;background:#f6f6f4;border-radius:9px}.document .visit-summary p{font-size:12px;margin:7px 0}.document #selectedExtrasList{padding-left:20px;font-size:12px;line-height:1.8}.document #finishPresentation{margin-top:15px}#workflowSettingsStatus,#accessStatus{font-size:12px;line-height:1.7}
@media(max-width:760px){#catalogEditor{grid-template-columns:1fr}.visit-fields{padding:15px}.signin-card{padding:27px}.service-policies{padding:16px}}
/* v0.5 owner-managed individual employee accounts */
#employeeAccounts{scroll-margin-top:20px}.owner-account-note{padding:17px;background:#f6f6f4;border-left:3px solid #c92332;font-size:12px;border-radius:6px;margin:20px 0}.owner-account-note p{line-height:1.7;margin-bottom:0}.employee-row{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:100%;padding:17px;text-align:left;background:white;border:1px solid #ddd;border-radius:8px;margin-bottom:10px;overflow-wrap:anywhere}.employee-row:hover{border-color:#c92332;background:#fffafa}.employee-row strong{font-size:13px}.employee-row span{font-size:11px;color:#747678;line-height:1.7}#employeeStatus{font-size:13px;line-height:1.8;color:#9d2933}#employeeEditor form{margin-top:20px}#employeeAccounts form button{margin-bottom:10px}#employeeCredentialDialog{max-width:480px}#employeeCredentialUsername{font-size:14px;font-weight:700}#employeeTemporaryPassword{font-family:Consolas,monospace;font-size:15px}#employeeCredentialDialog .action-row{margin-top:20px}#employeeLegacyNotice{font-size:12px;line-height:1.8}#passwordChangeStatus{font-size:13px;color:#b52331;line-height:1.7}#passwordChangeLogout{margin-top:12px}

.email-panel{border:1px solid #ddd;border-top:4px solid var(--red,#c8102e);border-radius:12px;padding:20px;margin:20px 0}.email-body{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.65;background:#fafafa;padding:18px;border-radius:8px}#emailConfiguration{margin-top:24px;padding:18px;border:1px solid #ddd;border-radius:12px}#emailConfiguration summary{font-weight:700;cursor:pointer}

#accountSettings{border-top:4px solid #c8102e;scroll-margin-top:90px}.account-password-form{max-width:760px}

.view-loading main{visibility:hidden}.app-screen{padding-top:22px}.screen-heading{margin:0 0 26px}.screen-heading h1{font-size:36px;margin:8px 0}.workflow-card{background:#fff;border:1px solid #e5e5e5;border-radius:14px;padding:26px;margin:20px 0}.app-screen .intro{display:block;padding:10px 0 20px}.app-screen .intro h1{font-size:36px;margin:8px 0}.app-screen .workspace{margin:20px 0}.app-screen #customerForm{max-width:900px}.app-screen #saveCustomer[hidden]{display:none}.estimate-row .manage-action{background:#c92332;color:white;border:0;border-radius:6px;padding:10px 18px}.estimate-row{grid-template-columns:2fr 1fr auto auto}.screen-heading .primary{display:inline-block;text-decoration:none;margin:12px 0}.app-screen #savedActions .email-panel{margin:16px 0}.workflow-card #savedFinancials{margin-top:16px}@media(max-width:760px){.workflow-card{padding:20px}.estimate-row{grid-template-columns:1fr auto;gap:10px}.estimate-row .manage-action{grid-column:2;grid-row:2}.workspace-nav{flex-wrap:wrap}.screen-heading h1,.app-screen .intro h1{font-size:29px}}

.workspace>.calculator{grid-column:1;grid-row:1}
.workspace>aside{grid-column:2;grid-row:1;min-width:0}
.price-controls{margin-top:12px;padding:20px;background:#fff;border:1px solid #ddd;border-radius:14px}
.price-controls h3{margin:0 0 12px}
.price-controls #estimatePrice{font-size:1.5rem;font-weight:700;min-height:52px}
#sellingPriceComparison:not([hidden]){display:flex;flex-wrap:wrap;gap:12px 18px;margin:0 0 18px}
#sellingPriceComparison strong{display:block;color:#202124;font-size:clamp(1.2rem,2vw,1.6rem);font-variant-numeric:tabular-nums}
#sellingPriceWarning{color:#a51d29;font-weight:600}
@media(max-width:760px){
 .workspace>aside{grid-column:1;grid-row:1}
 .workspace>.calculator{grid-row:2}
}

#estimateApprovalSettings input[type="checkbox"]{width:auto;margin:0 6px 0 0}

.quantity-counter{display:grid;grid-template-columns:2.25rem minmax(0,1fr) 2.25rem;align-items:stretch;gap:4px}.quantity-counter button{border:1px solid #ccc;border-radius:6px;background:#fff;color:#222;font-size:1.15rem}.quantity-counter input{min-width:0;width:100%;text-align:center}.quantity-counter input::-webkit-inner-spin-button{appearance:none}#roomUnitRate:not([hidden]),#windowUnitRate,#blindUnitRate{display:flex;align-items:end;flex-wrap:wrap;gap:8px;margin-bottom:8px}

#resFields .room-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px}
.quantity-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
#resFields .quantity-row>label{margin:0;line-height:1.2}
#resFields .quantity-counter{flex:0 0 142px;grid-template-columns:44px 46px 44px;gap:4px}
#resFields .quantity-counter input,#resFields .quantity-counter button{width:100%;min-height:44px;margin:0;padding:0}
.quantity-counter :focus-visible,.unit-row button:focus-visible,#priceControls summary:focus-visible{outline:2px solid #ba2130;outline-offset:2px}
.unit-row:not([hidden]){display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;padding:4px 0}
.unit-row>.quantity-row{display:contents}.unit-row>.quantity-row>.quantity-counter{order:2;margin-left:auto}
.unit-row #windowUnitRate,.unit-row #blindUnitRate,.unit-row #roomUnitRate{align-items:center;margin:0;gap:4px}
.unit-row label:has(input[form=unitRateDefaults]){display:flex;align-items:center;gap:4px;margin:0;white-space:nowrap}
.unit-row input[form=unitRateDefaults]{width:4.5rem;padding:5px;margin:0}
.unit-row button.outline{padding:6px 8px;min-height:36px}
#priceControls summary,#ownerFinancialDetails summary{cursor:pointer;font-weight:700}
#priceControls[open] summary{margin-bottom:12px}
#ownerFinancialDetails{margin:10px 0}
@media(max-width:600px){#resFields .room-grid{grid-template-columns:minmax(0,1fr)}}

.workspace>aside>.quote{position:static}

.layout-prices{width:100%;border-collapse:collapse}.layout-prices td,.layout-prices th{padding:7px;text-align:left;border-bottom:1px solid #ddd}.layout-prices input[type=number]{width:110px}.layout-prices input[type=checkbox]{width:auto}#residentialPricing .pricing-fields{display:block}#residentialPricing select{margin-bottom:12px}.layout-prices input:placeholder-shown{background:#fff4df}

#residentialConditionPricing .pricing-fields{display:block;overflow-x:auto}.condition-prices{width:100%;border-collapse:collapse}.condition-prices th,.condition-prices td{padding:5px;text-align:left}.condition-prices input{min-width:4.25rem;margin:0}.condition-prices label{font-size:0;margin:0}.condition-prices label input{font-size:1rem}#residentialConditionPricing .condition-prices label{display:flex;align-items:center;gap:.25rem}.condition-percent-suffix{font-size:1rem}

.condition-selector{display:flex;align-items:start;gap:8px}.condition-selector>label{flex:1}.condition-selector summary{font-size:1.25rem;padding:3px 8px}.condition-selector details[open]{flex:1;min-width:0}.condition-selector details ul{padding-left:1.1rem}.condition-selector summary:focus-visible{outline:2px solid #ba2130}@media(max-width:600px){.condition-selector{flex-wrap:wrap}.condition-selector details[open]{flex-basis:100%}}

.proposal-editor{margin:12px 0}.proposal-editor textarea{min-height:3rem}.proposal-editor button[aria-pressed=true]{border-color:#b51e2e;color:#a81928}.proposal-option{padding:14px;margin:10px 0;border:1px solid #ddd;border-radius:8px;overflow-wrap:anywhere}.proposal-option h3{margin-top:0}.proposal-option .confirm-line{display:flex;align-items:center;gap:8px}.proposal-option input[type=radio]{width:auto}.proposal-editor .action-row{flex-wrap:wrap}

.condition-selector{position:relative;flex-wrap:nowrap}.condition-selector details[open]{flex:none}.condition-selector #conditionGuideBody{position:absolute;z-index:6;inset-inline-end:0;top:100%;width:min(100%,23rem);max-height:min(18rem,55vh);overflow:auto;padding:12px;background:#fff;color:#222;border:1px solid #ccc;border-radius:8px;box-shadow:0 4px 14px #0002;font-size:.875rem}.condition-selector #conditionGuideBody ul{margin:2px 0 8px}.condition-selector #conditionGuideBody li{margin:2px 0}

.property-type{border:0;margin:0 0 14px;padding:0;min-width:0}.property-type legend{font-weight:650;margin-bottom:7px}.property-type-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.property-type-choices label{position:relative;margin:0;cursor:pointer}.property-type-choices input{position:absolute;opacity:0;width:1px;height:1px}.property-type-choices span{display:flex;align-items:center;justify-content:center;gap:7px;min-height:48px;padding:8px;border:1px solid #ccc;border-radius:7px;background:#f6f6f4;color:#202124}.property-type-choices svg{width:21px;height:21px;flex:none}.property-type-choices input:checked+span{background:var(--brand-red);border-color:var(--brand-red);color:#fff}.property-type-choices input:focus-visible+span,#addCleaningOption:focus-visible{outline:2px solid var(--brand-red);outline-offset:3px}.add-cleaning-option span{font-size:1.15em}.add-cleaning-option:not(:disabled):hover{filter:brightness(.88)}.add-cleaning-option:disabled{opacity:.55;cursor:not-allowed}

#partialCleaningPricing .pricing-fields{display:block;overflow:auto}#partialCleaningPricing .condition-prices input{min-width:5rem}.condition-selector .condition-popover{position:absolute;z-index:6;inset-inline-end:0;top:100%;width:min(100%,23rem);max-height:min(18rem,55vh);overflow:auto;padding:12px;background:#fff;color:#222;border:1px solid #ccc;border-radius:8px;box-shadow:0 4px 14px #0002;font-size:.875rem}#partialMinimum:empty{display:none}

.partial-overall{display:flex;flex-wrap:wrap;align-items:end;gap:.5rem .75rem;margin:.65rem 0}
.partial-overall label{flex:1 1 12rem}
.partial-overall button{min-height:44px}

#assessmentFields,#commercialOwnerPricing,#commercialScopeBuilder{margin-block:1rem}
#commercialTaskRows fieldset{min-width:0;margin:.65rem 0;padding:.55rem .75rem}
.commercial-task,.commercial-library-row{display:flex;flex-wrap:wrap;gap:.4rem .8rem;align-items:center;margin:.35rem 0}
.commercial-task label{display:flex;align-items:center;gap:.55rem;flex:1 1 14rem;margin:0}
.commercial-task input[type=checkbox],#commercialPriceToggle input[type=checkbox]{width:1.1rem;height:1.1rem;flex:none}
.commercial-task select{width:auto;max-width:100%}
.commercial-library-row label{flex:1 1 12rem}

#comFields .commercial-toolbar{position:sticky;top:0;z-index:2;background:#fff;padding:.45rem 0 .5rem;border-bottom:1px solid #ddd}
#commercialTabs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:.3rem}
#commercialTabs button{border:1px solid #ddd;border-radius:.45rem;background:#f5f5f4;color:#222;padding:.45rem .25rem;min-height:44px;font-weight:650;font-size:.82rem;line-height:1.2}
#commercialTabs button[aria-selected=true]{background:var(--brand-red);border-color:var(--brand-red);color:#fff}
#commercialActions .action-row{gap:.35rem;margin:.4rem 0 0}
#commercialActions #saveEstimate{order:-1}
#commercialActions button{min-height:44px;padding:.45rem .65rem;font-size:.82rem}
#commercialActions #estimateStatus{margin:.15rem 0 0;font-size:.82rem}
#commercialActions #estimateStatus:empty{display:none}
#comFields [role=tabpanel]{padding-top:.75rem}
#commercialSpaceCounts,#comFields .two,#comFields .commercial-library-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem .75rem}
#comFields label{margin-bottom:.45rem}
#comFields .commercial-fold{margin:.45rem 0;padding:.45rem .6rem;border:1px solid #ddd;border-radius:.5rem}
#comFields .commercial-fold summary{font-weight:650;cursor:pointer;padding:.35rem 0}
#comFields .commercial-fold summary [data-count]{float:right;margin-left:.25rem;color:#575757;font-size:.8rem;font-weight:500}
#commercialScopeSummary ul{margin:.35rem 0;padding-inline-start:1.3rem;font-size:.86rem}
#commercialTaskRows .commercial-task{margin:.4rem 0}
#commercialTaskRows .commercial-specialty{margin:.4rem 0}
#commercialTaskRows .commercial-specialty label:first-child{display:flex;align-items:center;gap:.5rem}
#commercialTaskRows .commercial-specialty input[type=checkbox]{width:1.1rem;height:1.1rem;flex:none}
#commercialTaskRows .commercial-specialty fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem .75rem}
#commercialTaskRows .commercial-specialty fieldset[hidden],#comFields .legacy-commercial-scope [data-task],#comFields .legacy-commercial-scope #commercialTaskRows>details:not([data-category=windows]):not([data-category=floors]){display:none}
#commercialPricingSummary #ownerBreakdown p{color:#303030}
#commercialPricingSummary #ownerBreakdown h3{color:var(--brand-red)}
@media(max-width:640px){
 #commercialSpaceCounts,#comFields .two,#comFields .commercial-library-row,#commercialTaskRows .commercial-specialty fieldset{grid-template-columns:minmax(0,1fr)}
 #commercialTabs button{font-size:.77rem}
 #comFields .commercial-task label{flex-basis:100%}
}

#commercialTaskRows .commercial-category{margin:.35rem 0;border:1px solid #ddd;border-radius:.5rem}
#commercialTaskRows .commercial-category-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.45rem;padding:.3rem .55rem}
#commercialTaskRows .commercial-category-row label{display:flex;align-items:center;gap:.5rem;min-height:40px;margin:0;font-size:.9rem;font-weight:650}
#commercialTaskRows .commercial-category-row input{width:1.1rem;height:1.1rem;flex:none;accent-color:var(--brand-red)}
#commercialTaskRows .commercial-category-row [data-count]{font-size:.76rem;white-space:nowrap;color:#575757}
#commercialTaskRows [data-edit]{min-height:36px;padding:.25rem .5rem;font-size:.8rem}
#commercialTaskRows .commercial-category-tasks{border-top:1px solid #eee;padding:.3rem .6rem}
#comFields .legacy-commercial-scope #commercialTaskRows>.commercial-category:not([data-category=windows]):not([data-category=floors]){display:none}

#commercialContractInputs fieldset{min-width:0;margin:.55rem 0;padding:.55rem .7rem;border:1px solid #ddd;border-radius:.5rem}
#commercialContractInputs legend{font-weight:650}
#commercialContractInputs input[type=checkbox],#useMonthlyContract{width:1.1rem;height:1.1rem;vertical-align:middle}
.contract-results{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.35rem .8rem;margin:.5rem 0;font-size:.86rem}
.contract-results dd{margin:0;text-align:right;font-weight:650;font-variant-numeric:tabular-nums}

#ownerPricingTabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;max-width:32rem;margin:1rem 0}
#ownerPricingTabs button{min-height:44px;padding:.6rem .4rem;border:1px solid #ddd;border-radius:.45rem;background:#fff;color:#222;font-weight:650}
#ownerPricingTabs button[aria-selected=true]{background:var(--brand-red);color:#fff;border-color:var(--brand-red)}
#commercialPricingPanel>.pricing-card{max-width:44rem}
#commercialPricingPanel .owner-advanced{margin-top:.75rem}
#commercialLegacyFields{margin:.75rem 0}
@media(max-width:480px){#commercialPricingPanel .pricing-fields{grid-template-columns:minmax(0,1fr)}}


.subcontractor-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}
.subcontractor-options section{border:1px solid #ddd;border-radius:.45rem;padding:.5rem;overflow-wrap:anywhere}
#ownerBreakdown .subcontractor-options p,#savedFinancials .subcontractor-options p{display:block;margin:.3rem 0}

.commercial-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
@media(max-width:620px){.commercial-comparison{grid-template-columns:1fr}}

#commercialAcceptanceDialog{width:min(42rem,calc(100% - 2rem));max-height:85vh;overflow:auto;border:1px solid #ccc;border-radius:12px;padding:1.25rem}
#commercialAcceptanceDialog::backdrop{background:#0008}
