/* Shared type scale: readable labels, clear controls and restrained account identity. */
.portal,.auth{--ink:#172b43;--muted:#4f6075;font-size:15px;line-height:1.65}
.portal.dark{--ink:#f1f5fa;--muted:#b9c7d8}
.portal :is(small,.eyebrow,.nav-label,.kpi-label,.panel-head small,.chart-axis,.chart-legend,.table-footer,.workspace-footer,.ring-legend,.ring-center small,.status,.activity-item small,.details-list dt){font-size:13px;line-height:1.6;letter-spacing:0}
.portal :is(.eyebrow,.nav-label){font-size:12px;letter-spacing:.08em;font-weight:600}
.portal .page-head p,.portal .callout,.portal .invite p{font-size:15px;line-height:1.75}
.portal :is(label,.sidebar nav>a,.sidebar summary,.sidebar details a,.sidebar-bottom a,.sidebar-bottom button,.table-link,.button){font-size:14px;line-height:1.6}
.portal :is(input,select,textarea){font-size:16px;line-height:1.5}
.portal label small{font-size:13px;line-height:1.7;font-weight:400}
.portal :is(.button,.table-link){min-height:44px;display:inline-flex;align-items:center;gap:8px}
.portal table{font-size:14px}
.portal th{font-size:12px;letter-spacing:0;text-transform:none;white-space:normal}
.portal th button{font:inherit;min-height:36px}
.portal td{line-height:1.65}
.portal .page-head h1{font-size:clamp(28px,3vw,40px);font-weight:650;letter-spacing:-.035em}
.portal .panel-head h2{font-size:19px;line-height:1.4;font-weight:600}
.portal .kpi small,.portal .kpi-label{font-size:13px}
.portal .kpi-label{min-height:0;text-transform:none}
.portal .kpi-label>span{display:none}
.portal .kpi-value{font-variant-numeric:tabular-nums;letter-spacing:-.035em}
.portal .empty-state{font-size:14px;line-height:1.75}
.portal .empty-state strong{font-size:17px}
.portal .return-policy>span{font-size:12px;letter-spacing:.04em}
.portal .return-policy p,.portal .return-policy>a{font-size:14px}
.portal .table-footer{gap:16px;flex-wrap:wrap}
.portal td[data-kind=actions]{white-space:normal;min-width:145px}
.record-actions{display:flex;flex-wrap:wrap;gap:4px 16px;align-items:center}
.record-actions .table-link{font-weight:600}
.record-note{font-size:13px;color:var(--muted)}
.portal .document-summary{margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:var(--card);padding:20px 24px;border:1px solid var(--line);border-radius:10px}
.document-summary strong{font-size:16px}.document-summary p{font-size:14px;color:var(--muted);margin:4px 0 0}
.portal .invite-box{min-width:0;max-width:100%}.portal .invite input{font-size:16px;min-width:0;text-overflow:ellipsis}
.portal :is(.panel-head small,label small):empty{display:none}
.auth :is(.eyebrow,.auth-links,.auth-foot,.auth-story>a:last-child){font-size:13px!important;line-height:1.7;letter-spacing:.02em}
.auth .auth-box>p,.auth .form-message{font-size:15px;line-height:1.75}
.auth .auth-story p{font-size:15px;line-height:1.8}
.auth label{font-size:15px}.auth label input:not([type=checkbox]){font-size:16px}
.auth .auth-foot{font-size:13px!important}
@media(max-width:650px){
 .portal :is(small,.kpi small,.kpi-label,.panel-head small,.chart-axis,.chart-legend,.table-footer,.workspace-footer,.ring-center small,.status,.activity-item small,label small,.details-list dt){font-size:13px;line-height:1.6}
 .portal .mobile-nav>a{font-size:12px;min-height:56px;line-height:1.4}
 .portal .kpi{min-height:156px;padding:18px 15px}.portal .kpi-label{min-height:40px}
 .portal .kpi-value{font-size:clamp(23px,6vw,30px)}.portal .kpi.value-long .kpi-value{font-size:28px}
 .portal .table-toolbar input,.portal .mobile-table-sort select{font-size:16px}
 .portal .table-footer>span{font-size:13px;max-width:100%}
 .portal td::before{font-size:13px!important;line-height:1.6;letter-spacing:0!important;text-transform:none!important}
 .portal .details-list{grid-template-columns:minmax(0,1fr);gap:6px}
 .portal .details-list dd{font-size:15px;line-height:1.7;margin-bottom:15px;overflow-wrap:anywhere}
 .portal .page-head .eyebrow{font-size:12px;letter-spacing:.035em;overflow-wrap:anywhere}
 .portal .document-summary{padding:18px}.portal .document-summary .button{width:100%;justify-content:center}
 .portal .record-actions{gap:4px 12px}.portal .record-actions .table-link{min-height:44px}
 .portal .invite input{font-size:16px}.portal .ring-center strong{font-size:24px}
 .portal .ring-center.very-compact strong{font-size:18px}
 .admin-portal .topbar{position:sticky;top:0;z-index:30}
 .auth .auth-story>a:last-child{max-width:132px}
}
/* Public pages keep their established layout; small captions use a readable floor. */
body:not(.portal):not(.auth) :is(.eyebrow,.section-subtitle,.sub-title,[class*="-eyebrow"],[class*="-kicker"],[class*="-label"],[class*="-caption"]){font-size:13px!important;line-height:1.65!important;letter-spacing:.05em!important}
body:not(.portal):not(.auth) :is(footer,.footer) :is(p,a,small,li,span){font-size:14px!important;line-height:1.8!important}
@media(max-width:650px){
 body.mv11-home .mv11-hero-description{font-size:15px!important;line-height:1.7!important;max-width:310px}
 body.mv11-home :is(.mv11-hero-actions .mv11-button,.mv11-hero-link){font-size:14px!important;min-height:46px}
 body.mv11-home .mv11-hero .mv11-kicker{font-size:12px!important;letter-spacing:.04em!important;max-width:300px}
}
