/* Shared reading scale and title spacing. Loaded after each module's own layout. */
html:root body:is(.msp-product,.msp-access,.msp-onboarding){font-size:15px!important;line-height:1.55}
html:root body.msp-product .main{min-width:0}
html:root body.msp-product .main :is(.page-head,.head){padding-bottom:20px!important;margin-bottom:24px!important;gap:20px;align-items:flex-start;min-width:0}
html:root body.msp-product .main :is(.page-head,.head)>div{min-width:0}
html:root body.msp-product .main :is(.page-head h1,.head h1){font-size:clamp(28px,2.3vw,34px)!important;line-height:1.3!important;letter-spacing:-.025em!important;margin:8px 0 14px!important;overflow-wrap:anywhere}
html:root body.msp-product .main :is(.page-head p,.head p){font-size:16px!important;line-height:1.65!important;margin:0!important;max-width:880px;color:var(--msp-muted)!important}
html:root body.msp-product .main .eyebrow{font-size:12px!important;line-height:1.6!important;letter-spacing:.06em}
html:root body.msp-product .main :is(.section-head,.panel-head,.drawer-head,.ps-modal-head){gap:16px;align-items:flex-start;flex-wrap:wrap;padding-bottom:18px!important;margin-bottom:18px;min-width:0}
html:root body.msp-product .main :is(.section-head h2,.panel-head h2){font-size:22px!important;line-height:1.4!important;margin:0!important;overflow-wrap:anywhere}
html:root body.msp-product .main :is(.section-head p,.panel-head p,.section-head .muted,.panel-head .muted){font-size:14px!important;line-height:1.65!important;margin:8px 0 0;max-width:820px;color:var(--msp-muted)!important}
html:root body.msp-product :is(.drawer-title,.ps-modal-head h3,.section-title,.finance-section-title,.sim-title){font-size:20px!important;line-height:1.4!important;margin-bottom:12px;overflow-wrap:anywhere}
html:root body.msp-product .main :is(.small,.muted,.hint,.note,.foot,.section-help,.vat-help,.finance-note,.fiscal-note,.shipping-note,.sim-sub,.result-sub,.read-note,.tax-line small,.commercial-detail,.first-step-helper,.first-step-detail){font-size:14px!important;line-height:1.65!important;overflow-wrap:anywhere}
html:root body.msp-product .main :is(.notice,.explain,.preview,.callout,.guide-box,.fiscal-box){padding:16px!important;line-height:1.65!important;overflow-wrap:anywhere}
html:root body.msp-product .main :is(.notice,.explain,.preview,.status,.empty,.flex-entry p){font-size:14px!important;line-height:1.65!important}
html:root body.msp-product .main :is(label,.field label,.form label,.field>label,.fiscal-box label,.price-control label){font-size:14px!important;line-height:1.55!important}
html:root body.msp-product :is(input:not([type=radio]):not([type=checkbox]):not([type=hidden]),select,textarea){font-size:16px!important;line-height:1.5!important;min-height:44px!important;max-width:100%}
html:root body.msp-product .main :is(.tabs,.filters,.controls,.actions,.drawer-actions){gap:12px;flex-wrap:wrap}
html:root body.msp-product .main :is(.tab,.tabs button,.btn,.button,.action-btn,.filter-control,.textbtn,.linkbtn,.help-btn){font-size:14px!important;line-height:1.45!important;min-height:44px!important;height:auto!important;white-space:normal}
html:root body.msp-product .main :is(.table-wrap,.finance-table-wrap,.scenario-table-wrap){max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
html:root body.msp-product .main table th{font-size:13px!important;line-height:1.5!important;padding-top:14px!important;padding-bottom:14px!important;white-space:normal}
html:root body.msp-product .main table td{font-size:14px!important;line-height:1.55!important;padding-top:13px!important;padding-bottom:13px!important}
html:root body.msp-product .main :is(.card small,.card em,.kpi-label,.kpi-note,.detail label,.compare-helper,.scenario-choice small,.plan-limits span){font-size:14px!important;line-height:1.55!important;white-space:normal}
html:root body.msp-product .main .flex-entry strong{font-size:16px!important;line-height:1.5!important}
html:root body.msp-product :is(.sidebar .nav a,.module-menu a,.msp-mobile-nav nav a){font-size:14px!important;line-height:1.5!important;white-space:normal;min-height:46px;height:auto!important;gap:10px}
html:root body.msp-product .sidebar .nav a{padding:10px 12px!important}
html:root body.msp-product .sidebar{overflow-y:auto}
html:root body.msp-product :is(.module-menu,.msp-mobile-nav nav){max-height:min(70dvh,600px);overflow-y:auto;overscroll-behavior-y:contain}
html:root body.msp-product .sidebar :is(.help-copy,.help-button,.demo-cta){font-size:14px!important;line-height:1.6!important}
html:root body.msp-product :is(.sidebar .tagline,.brand-tagline){font-size:12px!important;line-height:1.6!important}
html:root body.msp-product .topbar :is(.shell-name,.store-chip,.user-chip,.store-name,.user-name){font-size:14px!important;line-height:1.4!important}
html:root body.msp-product>main:not(.main) .screen p{font-size:15px!important;line-height:1.65!important}
html:root body.msp-product>main:not(.main) .screen b{font-size:14px!important;line-height:1.5}
html:root body.msp-product>main:not(.main) .screen span{font-size:13px!important;line-height:1.5}
html:root body.msp-product>main:not(.main) :is(.intro,.note){font-size:15px!important;line-height:1.65!important}
html:root body.msp-access .card h2{font-size:28px!important;line-height:1.35!important;margin:0 0 22px!important}
html:root body.msp-access :is(label,.note,.trial,.access-note,.account-hint,.error){font-size:15px!important;line-height:1.65!important}
html:root body.msp-onboarding :is(.intro p,.card p,.status,.helper,.notice){font-size:16px!important;line-height:1.65!important;overflow-wrap:anywhere}
html:root body.msp-onboarding .intro h1{line-height:1.3!important;margin-bottom:18px}
html:root body.msp-onboarding .step{gap:20px}
@media(max-width:820px){html:root body.msp-product .main :is(.page-head,.head){flex-wrap:wrap;padding-bottom:16px!important;margin-bottom:20px!important}html:root body.msp-product .main :is(.page-head h1,.head h1){font-size:28px!important;line-height:1.3!important}html:root body.msp-product .main :is(.page-head p,.head p){font-size:15px!important}html:root body.msp-product .main :is(.section-head,.panel-head){flex-direction:column;gap:12px}html:root body.msp-product .main :is(.section-head h2,.panel-head h2){font-size:20px!important}}
@media(max-width:580px){html:root body.msp-product .main :is(.notice,.explain,.preview,.callout,.guide-box,.fiscal-box){padding:14px!important}html:root body.msp-product .main table :is(th,td){padding-top:12px!important;padding-bottom:12px!important}}
/* Center financing headings; the numeric values retain their existing alignment. */
html:root body.msp-product .finance-table thead th:nth-child(n){text-align:center!important;vertical-align:middle!important;font-size:14px!important;line-height:1.5!important;padding:14px 10px!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important}
html:root body.msp-product .finance-action-bar{justify-content:flex-end;gap:12px;margin-top:18px}
