/* Shared reading scale. Keep business logic and the existing visual theme intact. */
body.readable-ui {
  --muted: #58665f;
  font-size: 16px;
  line-height: 1.65;
  color: #253630;
}
body.readable-ui *, body.readable-ui *::before, body.readable-ui *::after { letter-spacing: 0; }
body.readable-ui .brand { font-size: 21px; line-height: 1.4; }
body.readable-ui .brand-sub { font-size: 14px; color: #58665f; }
body.readable-ui .topnav a,
body.readable-ui .workspace-menu > summary,
body.readable-ui .workspace-menu-panel > a,
body.readable-ui .workspace-menu-panel > button { font-size: 16px; min-height: 44px; }
body.readable-ui .topbar-inner { flex-wrap: wrap; gap: 14px 24px; }
body.readable-ui .page-title { font-size: 30px; line-height: 1.4; }
body.readable-ui .main-content h2 { font-size: 24px; line-height: 1.45; }
body.readable-ui .main-content h3 { font-size: 20px; line-height: 1.5; }
body.readable-ui .main-content p { font-size: 16px; line-height: 1.75; }
body.readable-ui :is(.status-text, .muted, .section-kicker, .eyebrow, small, .menu-label,
  .brand-sub, .membership-top-label, .my-case-meta, .my-case-sub, .my-package-desc,
  .my-payment-code, .my-payment-details, .quota-guidance, .upload-file-hint,
  .upload-status-help, .upload-quota-inline, .upload-status-list, .flow-steps,
  .liw-label, .liw-preset-caption, .liw-step small, .liw-case-choice span,
  .review-metrics span, .regional-source-card small, .regional-hero-note) {
  font-size: 14px;
  line-height: 1.65;
}
body.readable-ui .muted, body.readable-ui small { color: var(--muted); }
body.readable-ui :is(.my-case-title, .upload-file-field > span, .regional-tab,
  .liw-step, .liw-case-choice strong, label, .report-chapters a) { font-size: 16px; }
body.readable-ui .btn,
body.readable-ui .login-tab,
body.readable-ui .ops-failed-table .btn {
  font-size: 16px;
  line-height: 1.5;
  min-height: 44px;
  padding: 10px 16px;
  white-space: normal;
  overflow-wrap: anywhere;
}
body.readable-ui .ops-failed-table .btn { padding: 8px 12px; }
body.readable-ui input:not([type=checkbox]):not([type=radio]),
body.readable-ui select, body.readable-ui textarea,
body.readable-ui .regional-hero .regional-field-region input { font-size: 16px; line-height: 1.6; min-height: 44px; }
body.readable-ui input::placeholder, body.readable-ui textarea::placeholder { color: #63726a; }
body.readable-ui .regional-hero .regional-quick-form label { font-size: 16px; }
body.readable-ui .data-table,
body.readable-ui .data-table td { font-size: 16px; line-height: 1.65; color: #35483e; }
body.readable-ui .data-table th { font-size: 15px; line-height: 1.6; color: #43574b; font-weight: 600; }
body.readable-ui .data-table :is(td, th) { padding: 14px 16px; }
body.readable-ui .table-wrap { max-width: 100%; overflow-x: auto; }
body.readable-ui :is(.tag, .badge, .status-badge, .quality-badge) { font-size: 14px; line-height: 1.6; }
body.readable-ui .review-metrics strong { font-size: 30px; line-height: 1.3; overflow-wrap: anywhere; }
body.readable-ui .review-metrics > * { min-width: 0; }
body.readable-ui #open-packages { font-size: 16px; }
body.readable-ui .flow-steps li,
body.readable-ui .upload-boundary-note,
body.readable-ui .upload-boundary-note :is(summary, li) { font-size: 14px; line-height: 1.65; }
body.readable-ui .main-content p[style*="font-size"] { font-size: 14px !important; }
body.readable-ui .section-head { flex-wrap: wrap; gap: 14px; }
body.readable-ui :is(.liw-progress, .liw-flow-grid, .liw-calc-grid) { grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); }
body.readable-ui .feedback-fab { font-size: 16px; min-height: 44px; }
body.readable-ui :is(.my-soft-note, .my-package-badge, .ops-updated-at,
  .result-metadata, .result-metadata .kv-grid, .priority-badge, .quickview-tail,
  .review-priorities li span, .liw-step i) { font-size: 14px; line-height: 1.65; }
body.readable-ui :is(.review-priorities li, .review-next > strong, .liw-step span) { font-size: 16px; line-height: 1.65; }
body.readable-ui .review-quality-card strong { font-size: 18px; }
body.readable-ui .main-content summary { font-size: 16px; line-height: 1.6; }
body.readable-ui .btn[style*="font-size"] { font-size: 16px !important; }
/* Legacy report/ops rules contain !important sizes. A scoped layer gives the
   reading scale precedence without duplicating their increasingly specific selectors. */
@layer readable-type {
  body.readable-ui :is(.btn, .login-tab, table td) { font-size: 16px !important; line-height: 1.65 !important; }
  body.readable-ui table th { font-size: 15px !important; line-height: 1.6 !important; }
  body.readable-ui :is(small, .ops-status-pill, .ops-ocr-badge,
    .ops-status-issue-cell strong, .ops-reason-action-cell p span,
    .ops-failure-chip span, .ops-alert, .my-referral-stat span,
    .liw-card > span, .liw-stat > span, .liw-step i,
    .manager-action-title b, .manager-action-title span,
    .industry-candidate-card em, .industry-candidate-card > span,
    .industry-candidate-head span, .monthly-coverage-summary,
    .monthly-coverage-summary > *, .relationship-card > span,
    .risk-action-column-head > span, .risk-action-item-head > span,
    .risk-action-next > span, .verification-question-item > span,
    .score-marker span, .score-number-block > span, .score-scale span,
    .score-verdict > *, .value-card > span, .debt-credit-advice > span,
    .debt-action-callout > strong, .evidence-row > span, .evidence-row > strong,
    .monthly-legend, .retention-summary-card > span, .trust-evidence-head > span,
    .trust-evidence-title > span, .compare-label, .compare-value,
    .monthly-scroll-hint, .stacked-legend-item > span, .stacked-segment,
    .technical-details) { font-size: 14px !important; line-height: 1.65 !important; }
}
@media (max-width: 760px) {
  body.readable-ui .topbar-inner { gap: 10px 14px; padding: 14px 0; }
  body.readable-ui .brand-wrap { min-width: 0; }
  body.readable-ui .brand-sub { white-space: normal; }
  body.readable-ui .topnav { flex-wrap: wrap; gap: 4px 12px; }
  body.readable-ui .topnav a { padding: 10px 4px; }
  body.readable-ui .workspace-menu-panel { max-width: calc(100vw - 28px); }
  body.readable-ui .page-title-row { flex-wrap: wrap; gap: 14px; }
  body.readable-ui .flow-steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.readable-ui .review-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.readable-ui .data-table :is(td, th) { padding: 12px; }
  body.readable-ui .liw-case-toolbar { grid-template-columns: minmax(0, 1fr); }
  body.readable-ui .feedback-fab { font-size: 0; width: 44px; height: 44px; }
}
