/* Shared typography and responsive contracts for all portal surfaces. */
:root{font-size:100%;--muted:#526978;font-family:'Segoe UI',Arial,sans-serif}
body{font-size:1rem;line-height:1.6}button,input,select,textarea{font:inherit}textarea{resize:vertical}
h1{font-size:clamp(1.7rem,2.5vw,2.15rem);line-height:1.25;letter-spacing:-.02em}h2{font-size:1.2rem;line-height:1.4;letter-spacing:0}h3{font-size:1.075rem;line-height:1.5}
p,li{overflow-wrap:break-word}main p,.page-heading p,.r-prose p,.platform-card p,.draft-card p{font-size:1rem;line-height:1.75}
.button,.chip,.nav-item,.field,.select,.search-input,.admin-account,.row-title,.title-button,.check-label,.role-checks label,.text-link,.source-link,summary{font-size:.875rem;line-height:1.5}
small,.data-note,.small-note,.record-id,.eyebrow,.version,.demo-tag,.demo-banner,.map-caption,.stat-note,.row-meta,.panel-subtitle,.status,.activity-time,.activity-detail,.library-meta,.timeline-notice{font-size:.8125rem;line-height:1.6;letter-spacing:normal}
.brand small{font-size:.75rem;line-height:1.4}.brand>span{line-height:1.25}.button,.chip,.icon-button{min-height:44px;white-space:normal;height:auto}.icon-button{min-width:44px}.button.ghost{padding:8px 4px}.status{white-space:normal;text-align:start}.button:disabled{cursor:not-allowed}
.page,.page-heading>div,.panel,.platform-card,.reform-card,.stat,.form-panel,.field,.follow-grid>*,.form-grid>*,.dashboard-grid>*,.bottom-grid>*,.r-link-grid>*,.card-top>*,.card-bottom>*,.document-line>div,.reform-row>*{min-width:0}
.record-actions,.card-bottom,.card-top,.panel-head,.facts-inline,.form-bottom,.page-heading,.toolbar,.notification>div,.related-links{flex-wrap:wrap}
.page-heading{align-items:flex-start}.page-heading h1{overflow-wrap:anywhere}.record-actions .button{max-width:100%}.field input,.field textarea,.field select{max-width:100%;min-width:0;font-size:1rem;line-height:1.5}.field input:not([type=checkbox]),.field select{min-height:46px}
.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-number{font-size:clamp(1.6rem,3vw,2.15rem);overflow-wrap:anywhere}.stat-top{font-size:.875rem;align-items:flex-start}.stats .stat-note{font-size:.8125rem}
.table-wrap,.v-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}table{border-collapse:collapse}th,td{font-size:.875rem;line-height:1.6}.r-prose{overflow-wrap:anywhere}
dialog{max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain}.dialog-inner{min-width:0;overflow-wrap:anywhere}.dialog-inner h2{padding-right:12px}.toast{max-width:calc(100vw - 32px);width:max-content;text-align:center;overflow-wrap:anywhere}
.account-password{margin-top:28px;border-top:1px solid var(--line);padding-top:18px}.account-password form{margin-top:18px}.account-panel h3{margin-top:30px}.user-row>.button{margin:5px 4px 5px 0}
footer{font-size:.8125rem;flex-wrap:wrap}.sidebar .version{font-size:.75rem}.nav-label{font-size:.75rem}.sidebar-bottom{margin-top:35px}.nav-item{min-height:44px;overflow-wrap:anywhere}
@media(max-width:1100px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.bottom-grid{grid-template-columns:1fr}.quality-row{align-items:flex-start}.topbar{padding-inline:20px;gap:16px}.header-actions{gap:10px}.r-link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.topbar{height:auto;min-height:88px;padding:14px 16px;flex-wrap:wrap}.brand{gap:9px}.brand>span{font-size:1.15rem}.brand img{width:36px;height:36px}.header-actions{margin-left:auto}.header-actions .account-link{font-size:.875rem}.sidebar{top:0;padding-top:24px;max-height:100dvh}.page{margin-left:0}main{padding:24px 18px 32px}.portal-definition{padding:12px 18px;line-height:1.6}.demo-banner{padding:12px 18px;flex-wrap:wrap;gap:6px 12px}.r-link-grid,.follow-grid,.form-grid{grid-template-columns:1fr}.r-search{padding:20px}.form-panel,.platform-card,.draft-card{padding:20px}.admin-tabs .button{font-size:.875rem}.map-caption{font-size:.8125rem}.search-wrap{min-width:0;width:100%;flex-basis:100%}.toolbar>.field{max-width:100%}.v-dl{grid-template-columns:1fr}.facts-inline strong{font-size:1.1rem}.r-checks li{flex-direction:column;gap:10px}.r-check-state{align-self:flex-start}.dialog-inner{padding:22px}.reform-row{grid-template-columns:34px minmax(0,1fr);padding:18px}.row-status{grid-column:2;justify-content:flex-start}.r-release-state{padding:22px}.quality-row .button{white-space:normal}.panel-head{padding:20px}.form-bottom .field{min-width:0}footer{padding:22px 18px}}
@media(max-width:400px){.brand{flex:1}.brand small{max-width:170px}.topbar .header-actions{width:100%;justify-content:space-between}.header-actions .account-actions{flex:1}.account-actions .button{flex:1}.stats{gap:10px}.stat{padding:14px}.stat-icon{display:none}.r-search>div{flex-direction:column}.record-actions{align-items:stretch}.record-actions .button{flex-basis:100%}.card-bottom{align-items:stretch}.card-bottom .button{width:100%}.r-link-grid{gap:12px}.form-panel{padding:18px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.topbar,.sidebar,.demo-banner,footer,.record-actions,.admin-tabs{display:none!important}.page{margin:0}main{max-width:none;padding:0}.panel{break-inside:avoid}body{background:white}a{text-decoration:underline}}

.map-caption{color:#47606e}.map-caption a{color:inherit}
.page-heading h1{font-size:clamp(1.7rem,2.5vw,2.15rem)}
.page-heading>.button{font-size:.875rem;width:auto;height:auto;min-height:44px;padding:10px 16px}
.page-heading>.button .button-text{display:inline}
@media(max-width:900px){.sidebar{top:var(--header-height,94px);max-height:calc(100dvh - var(--header-height,94px))}}
