/* V431 typography contract. One role, one scale; do not change logo or icon geometry. */
:root{--sl-text-page:32px;--sl-text-section:24px;--sl-text-card:20px;--sl-text-body:16px;--sl-text-label:14px;--sl-text-help:14px;--sl-text-meta:13px;--sl-text-action:15px;--sl-text-metric:30px;--sl-ink:#243b34;--sl-muted:#596d65}
@media(max-width:760px){:root{--sl-text-page:28px;--sl-text-section:22px;--sl-text-card:18px;--sl-text-metric:28px}}
html body #root :is(#customer-main,#provider-main,main.adminMain,main.dashboardMain,[role="dialog"],dialog,.publicActivityDialog,.activityDialog){font-size:var(--sl-text-body)!important;line-height:1.65!important}
html body #root :is(#customer-main,#provider-main,main.adminMain,main.dashboardMain,[role="dialog"],dialog,.publicActivityDialog,.activityDialog) h1{font-size:var(--sl-text-page)!important;font-weight:700!important;line-height:1.4!important;letter-spacing:-.02em!important;word-break:keep-all;overflow-wrap:anywhere}
html body #root :is(#customer-main,#provider-main,main.adminMain,main.dashboardMain,[role="dialog"],dialog,.publicActivityDialog,.activityDialog) h2{font-size:var(--sl-text-section)!important;font-weight:700!important;line-height:1.4!important;letter-spacing:-.02em!important;word-break:keep-all;overflow-wrap:anywhere}
html body #root :is(#customer-main,#provider-main,main.adminMain,main.dashboardMain,[role="dialog"],dialog,.publicActivityDialog,.activityDialog) h3{font-size:var(--sl-text-card)!important;font-weight:700!important;line-height:1.4!important;letter-spacing:-.02em!important;word-break:keep-all;overflow-wrap:anywhere}
html body #root :is(#customer-main,#provider-main,main.adminMain,main.dashboardMain,[role="dialog"],dialog,.publicActivityDialog,.activityDialog) h4{font-size:var(--sl-text-body)!important;font-weight:700!important;line-height:1.4!important;letter-spacing:-.02em!important;word-break:keep-all;overflow-wrap:anywhere}
html body #root :is(#customer-main,#provider-main,main.adminMain,main.dashboardMain,[role="dialog"],dialog,.publicActivityDialog,.activityDialog) :is(p,li){font-size:var(--sl-text-body)!important;font-weight:400!important;line-height:1.7!important;overflow-wrap:anywhere}
html body #root :is(#customer-main,#provider-main,main.adminMain,main.dashboardMain,[role="dialog"],dialog,.publicActivityDialog,.activityDialog) :is(label,dt,th,legend){font-size:var(--sl-text-label)!important;font-weight:600!important;line-height:1.6!important;word-break:keep-all;overflow-wrap:anywhere}
html body #root :is(#customer-main,#provider-main,main.adminMain,main.dashboardMain,[role="dialog"],dialog,.publicActivityDialog,.activityDialog) dt{color:var(--sl-muted)!important;font-weight:500!important}
html body #root :is(#customer-main,#provider-main,main.adminMain,main.dashboardMain,[role="dialog"],dialog,.publicActivityDialog,.activityDialog) dd{font-size:var(--sl-text-body)!important;font-weight:500!important;line-height:1.7!important;overflow-wrap:anywhere}
html body #root :is(#customer-main,#provider-main,main.adminMain,main.dashboardMain,[role="dialog"],dialog,.publicActivityDialog,.activityDialog) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=hidden]),select,textarea){font-size:var(--sl-text-body)!important;font-weight:400!important;line-height:1.5!important}
html body #root :is(#customer-main,#provider-main,main.adminMain,main.dashboardMain,[role="dialog"],dialog,.publicActivityDialog,.activityDialog) :is(small,.helpText,.hint,.fieldHint,.privacyNote,.quoteHint,.formHint,.privateTag,.serviceRegionsV428,.couponUnavailableV429){font-size:var(--sl-text-help)!important;font-weight:400!important;line-height:1.65!important}
html body #root :is(#customer-main,#provider-main,main.adminMain,main.dashboardMain,[role="dialog"],dialog,.publicActivityDialog,.activityDialog) :is(time,figcaption,.statusBadge,.chatResourceBadge,.requestMeta,.chatListContextV392,.chatTimeline article footer){font-size:var(--sl-text-meta)!important;font-weight:500!important;line-height:1.5!important}
html body #root :is(#customer-main,#provider-main,main.adminMain,main.dashboardMain,[role="dialog"],dialog,.publicActivityDialog,.activityDialog) :is(button,.primaryButton,.secondaryButton,.providerPrimary,.providerSecondary,summary){font-size:var(--sl-text-action)!important;font-weight:600!important;line-height:1.5!important;white-space:normal;overflow-wrap:anywhere}
html body #root :is(#customer-main,#provider-main,main.adminMain,main.dashboardMain,[role="dialog"],dialog,.publicActivityDialog,.activityDialog) :is(button,.primaryButton,.secondaryButton) :is(strong,b){font-size:inherit!important;font-weight:600!important}
html body #root :is(#customer-main,#provider-main,main.adminMain,main.dashboardMain,[role="dialog"],dialog,.publicActivityDialog,.activityDialog) :is(p,dd,li) :is(strong,b){font-weight:650!important}
html body #root :is(#customer-main,#provider-main,main.adminMain,main.dashboardMain,[role="dialog"],dialog,.publicActivityDialog,.activityDialog) :is(.infoBanner,.errorBanner,.successBanner,.emptyState,.emptyPanel,.hubEmpty){font-size:var(--sl-text-help)!important;line-height:1.65!important}
html body #root :is(#customer-main,#provider-main,main.adminMain,main.dashboardMain,[role="dialog"],dialog,.publicActivityDialog,.activityDialog) :is(.pageHeading,.providerHero,.hubHero,.careHero,.interiorHero,.workHeading,.journeyHeader)>:is(p,span){font-size:var(--sl-text-body)!important;line-height:1.65!important}
html body #root :is(#customer-main,#provider-main,main.adminMain,main.dashboardMain,[role="dialog"],dialog,.publicActivityDialog,.activityDialog) :is(.providerQuoteSubject,.progressTitleV416,.hubWorkCard>strong,.chatListCopyV392>strong,.areaServiceCardV429 strong,.middleAreaSummary strong,.selectedServiceGroup .selectionList strong,.addressList article>strong){font-size:var(--sl-text-card)!important;font-weight:650!important;line-height:1.5!important}
html body #root :is(#customer-main,#provider-main,main.adminMain,main.dashboardMain,[role="dialog"],dialog,.publicActivityDialog,.activityDialog) :is(.chatListCopyV392>p,.chatTimeline article>div>p){font-size:var(--sl-text-body)!important;line-height:1.7!important;font-weight:400!important}
html body #root :is(#customer-main,#provider-main,main.adminMain,main.dashboardMain,[role="dialog"],dialog,.publicActivityDialog,.activityDialog) :is(.couponNumbersV428 strong,.profileMetricsV392 dd,.quoteTotals>strong,.walletBalance strong){font-size:var(--sl-text-metric)!important;font-weight:750!important;line-height:1.3!important}
html body #root :is(#customer-main,#provider-main,main.adminMain,main.dashboardMain,[role="dialog"],dialog,.publicActivityDialog,.activityDialog) :is(.couponNumbersV428 strong,.profileMetricsV392 dd) small{font-size:var(--sl-text-body)!important;font-weight:500!important}
html body #root :is(#customer-main,#provider-main,main.adminMain,main.dashboardMain,[role="dialog"],dialog,.publicActivityDialog,.activityDialog) :is(.providerQuoteCard dt,.providerQuoteCard dd,.providerQuoteOpen,.quoteStatusFilters button,.quoteExampleApply,.serviceShareActions button){font-size:var(--sl-text-label)!important;line-height:1.55!important}
html body #root :is(#customer-main,#provider-main,main.adminMain,main.dashboardMain,[role="dialog"],dialog,.publicActivityDialog,.activityDialog) :is(.quoteModeTabsV430,.activityModeTabsV430,.quoteStatusFilters){flex-wrap:wrap;gap:8px}
html body #root :is(#customer-main,#provider-main,main.adminMain,main.dashboardMain,[role="dialog"],dialog,.publicActivityDialog,.activityDialog) :is(.quoteShareV430,.quoteShareV430 span,.quoteImageStepsV430 li){font-size:var(--sl-text-help)!important;line-height:1.65!important}
html body #root :is(#customer-main,#provider-main,main.adminMain,main.dashboardMain,[role="dialog"],dialog,.publicActivityDialog,.activityDialog) :is(.notificationCard>h3,.notificationCard h2){font-size:var(--sl-text-card)!important;line-height:1.5!important}
html body #root main.adminMain :is(td,th){font-size:14px!important;line-height:1.6!important;padding-top:10px;padding-bottom:10px}
html body #root :is(.customerBottomNav,.providerBottomNav) :is(span,small){font-size:13px!important;font-weight:600!important;line-height:1.3!important}
/* V431: request labels and values */
html body #root #customer-main .requestJourney .reviewList{display:grid!important;grid-template-columns:150px minmax(0,1fr)!important;gap:0!important;margin:12px 0!important;padding:0!important}
html body #root #customer-main .requestJourney .reviewList .reviewPair{display:contents!important}
html body #root #customer-main .requestJourney .requestFactsV417>div,html body #root #customer-main .requestJourney .detailCard .answerRow{display:grid!important;grid-template-columns:150px minmax(0,1fr)!important;gap:0!important;margin:0!important;padding:0!important;border:0!important;align-items:stretch!important}
html body #root #customer-main .requestJourney .reviewList dt,html body #root #customer-main .requestJourney .requestFactsV417 dt,html body #root #customer-main .requestJourney .detailCard .answerRow dt{display:flex!important;align-items:flex-start!important;gap:8px!important;background:#f1f5f4!important;color:#566a64!important;font-size:14px!important;font-weight:500!important;line-height:1.6!important;padding:14px 12px!important;margin:0!important;border:0!important;border-bottom:1px solid #dce6e2!important;border-radius:0!important;word-break:keep-all!important;overflow-wrap:anywhere!important;min-width:0}
html body #root #customer-main .requestJourney .reviewList dd,html body #root #customer-main .requestJourney .requestFactsV417 dd,html body #root #customer-main .requestJourney .detailCard .answerRow dd{display:block!important;background:#fff!important;color:#203b33!important;font-size:16px!important;font-weight:600!important;line-height:1.7!important;padding:13px 16px!important;margin:0!important;border:0!important;border-bottom:1px solid #dce6e2!important;border-radius:0!important;word-break:keep-all!important;overflow-wrap:anywhere!important;min-width:0;white-space:pre-wrap!important}
html body #root #customer-main .requestJourney dt svg{width:17px!important;height:17px!important;min-width:17px!important;flex:0 0 17px!important;margin-top:2px!important}
html body #root #customer-main .requestJourney .requestFactsV417 dd small{display:block!important;font-size:14px!important;font-weight:400!important;color:#64756e!important;line-height:1.6!important;margin-top:5px!important}
@media(max-width:600px){
html body #root #customer-main .requestJourney .reviewList,html body #root #customer-main .requestJourney .requestFactsV417>div,html body #root #customer-main .requestJourney .detailCard .answerRow{grid-template-columns:minmax(0,1fr)!important}
html body #root #customer-main .requestJourney .reviewList dt,html body #root #customer-main .requestJourney .requestFactsV417 dt,html body #root #customer-main .requestJourney .detailCard .answerRow dt{font-size:14px!important;padding:9px 12px 6px!important;border-bottom:0!important;border-radius:8px 8px 0 0!important}
html body #root #customer-main .requestJourney .reviewList dd,html body #root #customer-main .requestJourney .requestFactsV417 dd,html body #root #customer-main .requestJourney .detailCard .answerRow dd{padding:9px 12px 14px!important;margin-bottom:12px!important;border:1px solid #e1e9e5!important;border-top:0!important;border-radius:0 0 8px 8px!important}
}
html body #root :is(#customer-main,#provider-main,main.adminMain,main.dashboardMain,[role="dialog"],dialog) :is(.quoteTotals>span,.quoteFundingStatus span,.hvProviderCouponGuide span,.hvCouponFlow span,.customerSection header span,.homeProposalHeaderActions span,.serviceCard>span,.completionPolicyState>span,.amountCompare span,.activityBreakdownV429 span,.activityAiLabelV429,.publicActivityDialogV423 header span){font-size:var(--sl-text-help)!important;line-height:1.65!important;font-weight:400!important}
html body #root :is(#customer-main,#provider-main,main.adminMain,main.dashboardMain,[role="dialog"],dialog) :is(.livingCalendarCopy em,.hubUrgentStrip span,.hubNextSchedule span,.hubDomain,.roomStatus,.workStatus,.requestDomainBadge,.photoRoleCard b,.activityStatusV429,.livingCheckGrid>article>i,.customerSectionLink span){font-size:var(--sl-text-meta)!important;line-height:1.5!important}
html body #root :is(#customer-main,#provider-main,main.adminMain,main.dashboardMain,[role="dialog"],dialog) :is(.serviceIdentityV416 strong,.activityBreakdownV429 b){font-size:var(--sl-text-body)!important;line-height:1.6!important;font-weight:600!important}
html body #root .customerSearchValidationV431{width:100%;margin:8px 0 0!important;font-size:14px!important;font-weight:500!important;line-height:1.6!important;color:#a3342c!important;background:#fff3f0;border:1px solid #e7b8b1;border-radius:8px;padding:8px 10px!important}

html body #root :is(#customer-main,#provider-main) :is(.hvAfterIssue span,.livingRequestCta span,.accountMeta span,.providerGuidance){font-size:var(--sl-text-help)!important;line-height:1.65!important;font-weight:400!important}
html body #root :is(#customer-main,#provider-main) :is(.majorGrid span,.livingToday header>b,.authenticatedFileVisual>span){font-size:var(--sl-text-meta)!important;line-height:1.5!important}
html body #root :is(#customer-main,#provider-main) .liveActivityDomain{font-size:var(--sl-text-meta)!important;line-height:1.5!important}
