/* BLIA Central Hub accessible reading layer. Intentionally loaded after app.css. */
:root{--read-base:17px;--read-small:15px;--read-medium:17px;--read-heading:34px;--read-button:16px;--read-row:17px;--read-line:1.65}
html[data-text-size="large"]{--read-base:19px;--read-small:17px;--read-medium:19px;--read-heading:38px;--read-button:18px;--read-row:19px;--read-line:1.72}
html[data-text-size="extra-large"]{--read-base:22px;--read-small:19px;--read-medium:22px;--read-heading:42px;--read-button:20px;--read-row:21px;--read-line:1.75}
body{font-size:var(--read-base);line-height:var(--read-line)}
body :is(p,li,dl,dd,dt,td,th,span,div,a,label,button,input,select,textarea){line-height:var(--read-line)}
/* Audit follow-up: minimum readable font size for every legacy <=13px selector. */
body small, body :is(
  .alert,
  .application-fee-note,
  .application-fields .field>span small,
  .application-section-head p,
  .application-section-head>div>span,
  .application-section-head>small,
  .application-signature-note span,
  .application-signature-note strong,
  .attention-grid span,
  .auth-feature-list span,
  .badge,
  .bar-label span,
  .bar-label strong,
  .brand-mark.small,
  .btn,
  .btn-sm,
  .case-hero small,
  .case-hero strong,
  .category-summary-grid small,
  .category-summary-grid span,
  .change-comparison small,
  .change-comparison strong,
  .chapter-card-actions a,
  .chapter-master-card>p,
  .chapter-master-meta a,
  .chapter-master-meta span,
  .chapter-master-stats small,
  .chapter-master-stats strong,
  .chapter-subnav a,
  .check-card small,
  .check-card strong,
  .check-row,
  .checkbox-field>label,
  .choice-field legend,
  .choice-field legend small,
  .choice-row span,
  .choice-row span small,
  .code-pill,
  .data-table td,
  .data-table th,
  .date-stat,
  .detail-grid a,
  .detail-grid small,
  .detail-grid strong,
  .difference-card strong span,
  .drive-link,
  .education-choice-grid span,
  .eyebrow,
  .fee-auto-hint span,
  .fee-reference-grid small,
  .field-help,
  .field>span,
  .finance-action-grid small,
  .finance-alert-card small,
  .finance-cycle-banner small,
  .finance-cycle-banner>div>span,
  .finance-generate-box p,
  .finance-generate-box strong,
  .form-note,
  .ga-action-grid small,
  .ga-case-list small,
  .ga-case-list strong,
  .ga-location-box input,
  .ga-location-box>strong,
  .ga-low-list small,
  .ga-low-list strong,
  .ga-request-picker small,
  .ga-request-picker strong,
  .ga-secondary-actions input,
  .ga-template-contents span,
  .ga-template-item-form input,
  .ga-template-item-form select,
  .ga-template-list small,
  .ga-template-list strong,
  .ga-variant-list small,
  .ga-variant-list strong,
  .info-callout small,
  .info-callout strong,
  .inline-action select,
  .issue-list span,
  .issue-list strong,
  .locked-data div>span,
  .locked-data small,
  .locked-data strong,
  .login-heading>p:last-child,
  .logout-form .btn,
  .member-meta-line,
  .member-profile-title>p:last-child,
  .membership-action-grid small,
  .membership-action-grid>a>small,
  .membership-principle .panel-head p,
  .membership-principle>p,
  .migration-head code,
  .migration-history-panel .panel-head small,
  .migration-meta,
  .migration-notice p,
  .migration-notice strong,
  .migration-panel-head small,
  .migration-status-card small,
  .migration-status-card span,
  .migration-title-line>strong,
  .migration-up-to-date,
  .migration-version,
  .migration-warning-text,
  .mini-case-list small,
  .mini-case-list strong,
  .mono-small,
  .month-column b,
  .month-value small,
  .month-value strong,
  .monthly-head small,
  .monthly-period small,
  .monthly-period span,
  .monthly-period strong,
  .monthly-stats small,
  .nav-item,
  .nav-item em,
  .nav-item-sub,
  .nav-item-sub span,
  .nav-section,
  .org-master-grid small,
  .org-master-grid span,
  .org-master-grid strong,
  .org-shortcuts small,
  .org-shortcuts strong,
  .org-time-card p,
  .org-time-card small,
  .org-time-card>a,
  .org-unit small,
  .org-unit strong,
  .overview-table td,
  .overview-table td small,
  .overview-table th,
  .page-head p:not(.eyebrow),
  .panel-head p,
  .paper-form-intro p,
  .paper-form-intro small,
  .paper-form-intro>div>span,
  .permission-card small,
  .permission-card strong,
  .principle-flow span,
  .principle-flow strong,
  .progress-summary span,
  .remittance-member b,
  .remittance-member span small,
  .remittance-member span strong,
  .remittance-selector .section-label small,
  .remittance-selector .section-label strong,
  .report-activity-main p,
  .report-activity-main small,
  .report-activity-side,
  .report-bars>div>div span,
  .report-bars>div>div strong,
  .report-cycle-strip>div small,
  .report-cycle-strip>div strong,
  .report-export-history small,
  .report-export-history span,
  .report-export-history>strong,
  .report-group-grid small,
  .report-group-grid span,
  .report-hero small,
  .report-lock-banner small,
  .report-lock-banner strong,
  .report-media-list a,
  .report-media-list strong,
  .report-meta-card a,
  .report-meta-card small,
  .report-meta-card span,
  .report-month-chart>div>small,
  .report-month-chart>div>span,
  .report-quality-grid small,
  .report-quality-list span,
  .report-quick-links small,
  .report-quick-links strong,
  .report-section-form>label>span,
  .report-warning-list p,
  .report-warning-list strong,
  .resource-main p,
  .resource-meta,
  .review-note span,
  .review-note strong,
  .row-date small,
  .row-main>p,
  .row-meta,
  .sidebar-brand small,
  .sidebar-user-text small,
  .sidebar-user-text strong,
  .stat-card small,
  .status-tab,
  .summary-box-grid small,
  .summary-box-grid span,
  .task-main span,
  .term-focus>b,
  .term-focus>small,
  .term-focus>span,
  .text-done,
  .text-link,
  .text-warning,
  .timeline-item p,
  .timeline-item small,
  .timeline-item strong,
  .token-once p,
  .topbar-title small,
  .topbar-title span,
  .uniform-choice-grid span,
  .void-payment-form input,
  .workflow-mini,
  .workflow-node small,
  .workflow-node strong,
  .workspace-card small
){font-size:var(--read-small)!important}
body :is(.page-head p,.panel-head p,.field-help,.field>span,.form-note,.row-meta,.row-main>p,.resource-meta,.resource-main p,.monthly-head small,.monthly-period small,.monthly-stats small,.migration-meta,.migration-status-card span,.migration-status-card small,.migration-notice p,.migration-version,.migration-warning-text,.badge,.status-tab,.text-link,.code-pill,.review-note span,.workflow-mini,.drive-link,.sidebar-user-text small,.nav-section,.topbar-title small,.stat-card small,.task-main span,.quick-link small,.field small,.panel small,.data-table td small,.data-table th,.data-table td,.migration-panel-head small,.migration-title-line>strong,.migration-up-to-date,.readonly-box,.token-once p,.audit-filter,.resource-title-line,.row-date small,.monthly-stats strong,.workspace-card small,.attention-grid span,.finance-filter-bar,.form-stack,.alert,.search-bar,.permission-card small,.check-card small){font-size:var(--read-small)!important}
body :is(.data-table td,.stat-card small,.nav-item,.workspace-card strong,.quick-link b,.task-main strong,.sidebar-brand strong,.sidebar-user-text strong,.panel-head h2,.page-head p,.migration-notice strong,.monthly-head strong,.monthly-period strong,.row-title,.resource-title-line strong,.text-link,.alert,.empty-state,.field>span,.field input,.field select,.field textarea,.inline-action select,.search-bar input,.search-bar select){font-size:var(--read-medium)!important}
body :is(.data-table td,.data-table th,.migration-meta,.migration-status-card small,.resource-meta,.row-meta,.field-help,.field>span,.nav-section,.sidebar-user-text small,.panel-head p){color:#435066}
.sidebar .nav-section,.sidebar .sidebar-user-text small{color:#cad1de}
.sidebar .nav-item{min-height:50px;height:auto;padding:9px 12px;line-height:1.4;overflow-wrap:anywhere}
.sidebar{width:300px}
.main-area{margin-left:300px;width:calc(100% - 300px)}
body :is(.page-head h1){font-size:var(--read-heading)!important;line-height:1.25}
body :is(.btn,.btn-sm,.status-tab,.search-bar button,.text-size-button,.icon-btn){font-size:var(--read-button)!important;min-height:48px}
body :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea){font-size:var(--read-medium)!important;min-height:48px}
body input[type="checkbox"],body input[type="radio"]{width:19px;height:19px;accent-color:var(--brand)}
body :is(.badge,.code-pill){min-height:30px;padding:5px 11px;white-space:normal}
.table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.data-table{width:100%;min-width:860px}
.data-table td,.data-table th{padding:14px 17px;line-height:1.55}
body :is(.panel,.form-grid,.migration-panel){min-width:0}
body :is(.btn,a,button,input,select,textarea):focus-visible{outline:3px solid #1d65aa;outline-offset:3px}
.reading-size-control{display:flex;gap:4px;align-items:center;padding:4px;border:1px solid #d4dce7;background:#fff;border-radius:12px}
.reading-size-control>span{font-size:14px;font-weight:700;color:#435066;white-space:nowrap;padding:0 8px}
.reading-size-control button{appearance:none;background:transparent;color:#182033;border:0;border-radius:9px;padding:6px 10px;min-width:52px;cursor:pointer}
.reading-size-control button[aria-pressed="true"]{background:#8b1e2d;color:#fff}
.reading-size-control button:hover:not([aria-pressed="true"]){background:#f1f3f7}
.auth-reading-controls{position:fixed;top:16px;right:16px;z-index:100;box-shadow:0 8px 30px #0002}
@media(max-width:1100px){.stat-grid,.migration-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid.two-one{grid-template-columns:1fr}}
@media(max-width:820px){.sidebar{width:min(90vw,350px)}.main-area{margin-left:0;width:100%}.topbar{height:auto;min-height:64px;gap:8px;padding:8px 12px;flex-wrap:wrap}.topbar-title{min-width:0;flex:1}.page-content{padding:18px 14px}.auth-reading-controls{top:10px;right:10px}.reading-size-control>span{display:none}}
@media(max-width:540px){.stat-grid,.migration-status-grid{grid-template-columns:1fr}.topbar .reading-size-control{order:4;width:100%;justify-content:space-between}.topbar .reading-size-control>span{display:block}.topbar .reading-size-control button{flex:1}.panel-head,.head-actions,.split-actions{flex-wrap:wrap}.data-table{min-width:720px}.form-actions .btn{width:100%}}
@media print{.reading-size-control{display:none!important}}


/* Larger numbers and real headings scale together with reading mode. */
:root{--read-stat:31px;--read-kpi:27px;--read-card-title:20px}
html[data-text-size="large"]{--read-stat:35px;--read-kpi:31px;--read-card-title:23px}
html[data-text-size="extra-large"]{--read-stat:40px;--read-kpi:35px;--read-card-title:26px}
body .stat-card strong{font-size:var(--read-stat)!important;line-height:1.28}
body .migration-status-card strong{font-size:var(--read-kpi)!important;line-height:1.35}
body .panel-head h2,body .login-heading h2{font-size:var(--read-card-title)!important;line-height:1.35}
body .reading-size-control button{font-size:var(--read-button)!important;line-height:1.35;min-height:46px}
body .reading-size-control{flex-shrink:0}
body .reading-size-control button:focus-visible{outline:3px solid #1d65aa;outline-offset:2px}
body :is(.field input,.field select,.field textarea,.search-bar input,.search-bar select,.review-inline input){line-height:1.5}
body :is(.workspace-card,.stat-card,.migration-status-card,.finance-alert-card,.ga-case-list,.report-meta-card){min-width:0;overflow-wrap:anywhere}
body :is(.report-month-chart,.report-group-grid,.report-quality-grid,.finance-action-grid,.ga-action-grid,.permission-grid){max-width:100%;overflow-x:auto}
@media(max-width:1240px){
  .topbar{height:auto;min-height:72px;flex-wrap:wrap;row-gap:10px;padding-top:10px;padding-bottom:10px}
  .topbar .reading-size-control{margin-left:auto}
  .topbar .logout-form{margin-left:0}
}
@media(max-width:820px){
  .topbar .reading-size-control{margin-left:0}
  body .sidebar .nav-item{font-size:var(--read-medium)!important}
}
@media(max-width:540px){
  .topbar-title{max-width:calc(100% - 130px)}
  .topbar .reading-size-control{flex:1 1 100%}
  .reading-size-control button{min-width:0}
}
@media print{
  html,html[data-text-size="large"],html[data-text-size="extra-large"]{
    --read-base:16px;--read-small:13px;--read-medium:15px;--read-heading:30px;
    --read-button:14px;--read-stat:29px;--read-kpi:25px;--read-card-title:17px
  }
  .auth-reading-controls,.reading-size-control{display:none!important}
}
