/* ==========================================================================
   Readable typography — loaded last on public pages, lab CMS and reports
   ========================================================================== */

:root {
  --readable-body: 16px;
  --readable-text: 15px;
  --readable-label: 13px;
  --readable-small: 12px;
  --readable-micro: 11px;
}

/* Base */

body {
  font-size: var(--readable-body) !important;
  line-height: 1.65;
}

p,
li {
  font-size: var(--readable-text) !important;
  line-height: 1.75;
}

small {
  font-size: var(--readable-small) !important;
  line-height: 1.5;
}

.eyebrow {
  font-size: 12px !important;
  letter-spacing: .1em !important;
}

.form-note {
  font-size: var(--readable-small) !important;
  line-height: 1.7 !important;
}

/* Header / topbar */

.topbar,
.topbar-note span,
.topbar-links a,
.topbar-links .portal-link,
.topbar-links .staff-link {
  font-size: var(--readable-label) !important;
}

.brand-text strong {
  font-size: 17px !important;
  line-height: 1.3 !important;
}

.brand-text span {
  font-size: 11.5px !important;
  letter-spacing: .08em !important;
}

.primary-nav a {
  font-size: 14px !important;
}

.header-actions .login-link {
  font-size: 14px !important;
}

/* Buttons, tags, dialogs, forms */

.btn {
  font-size: 14px !important;
}

.btn-sm {
  font-size: 13px !important;
}

.tag {
  font-size: 11px !important;
}

.dialog-head h2 {
  font-size: 21px !important;
  line-height: 1.3 !important;
}

.dialog-head p {
  font-size: 13px !important;
}

.dialog-body {
  font-size: 14px !important;
}

.dialog-actions .btn {
  font-size: 13.5px !important;
}

.toast {
  font-size: 13px !important;
}

.field {
  font-size: 13px !important;
}

.field input,
.field select,
.field textarea {
  font-size: 15px !important;
}

.field-help {
  font-size: 12px !important;
}

.form-alert {
  font-size: 13px !important;
  line-height: 1.6 !important;
}

/* Page hero / home */

.page-lede {
  font-size: 16px !important;
  line-height: 1.8 !important;
}

.breadcrumbs,
.breadcrumbs a,
.breadcrumbs span {
  font-size: 12.5px !important;
}

.page-fact div strong {
  font-size: 30px !important;
}

.page-fact div span {
  font-size: 13px !important;
}

.hero-actions .btn {
  font-size: 15px !important;
}

.hero-note {
  font-size: 13px !important;
  line-height: 1.7 !important;
}

.section-title {
  font-size: clamp(28px, 3.4vw, 42px) !important;
  line-height: 1.25 !important;
}

.section-head-side p {
  font-size: 15px !important;
  line-height: 1.75 !important;
}

.link-arrow {
  font-size: 13px !important;
}

.specialty-card h3 {
  font-size: 18px !important;
  line-height: 1.35 !important;
}

.specialty-card p {
  font-size: 14px !important;
  line-height: 1.55 !important;
}

.specialty-card small {
  font-size: 12px !important;
}

.specialty-icon {
  width: 44px !important;
  height: 44px !important;
}

.test-card h3 {
  font-size: 17px !important;
  line-height: 1.4 !important;
}

.test-card p {
  font-size: 14px !important;
  line-height: 1.55 !important;
}

.test-card .test-price {
  font-size: 15px !important;
}

.test-card .test-category {
  font-size: 12px !important;
}

.test-icon {
  width: 42px !important;
  height: 42px !important;
}

.step h3 {
  font-size: 18px !important;
  line-height: 1.35 !important;
}

.step p {
  font-size: 14px !important;
  line-height: 1.7 !important;
}

.step-num {
  width: 38px !important;
  height: 38px !important;
  font-size: 15px !important;
}

.home-report-card h2 {
  font-size: clamp(26px, 3vw, 34px) !important;
}

.home-report-card p {
  font-size: 15px !important;
  line-height: 1.7 !important;
}

.report-lookup input {
  font-size: 14px !important;
}

.report-lookup button {
  font-size: 13px !important;
}

.report-lookup--hero input {
  font-size: 15px !important;
}

.report-lookup--hero button {
  font-size: 14px !important;
}

.footer-note {
  font-size: 12.5px !important;
}

.footer-brand p {
  font-size: 14px !important;
  line-height: 1.75 !important;
}

.footer-contact span,
.footer-contact a {
  font-size: 13px !important;
}

.footer-col h3 {
  font-size: 15px !important;
}

.footer-col ul li,
.footer-col ul a,
.footer-col ul span {
  font-size: 13px !important;
  line-height: 1.7 !important;
}

.footer-bottom p {
  font-size: 12px !important;
}

.cta-band h2 {
  font-size: clamp(30px, 3.6vw, 42px) !important;
}

.cta-inner p {
  font-size: 15px !important;
  line-height: 1.7 !important;
}

.cta-actions .btn {
  font-size: 14px !important;
}

.cta-contact,
.cta-contact a,
.cta-contact span {
  font-size: 14px !important;
}

.cta-contact small {
  font-size: 12px !important;
}

.empty-panel {
  font-size: 14px !important;
}

/* Tests catalog */

.catalog-toolbar .search-field label {
  font-size: 13px !important;
}

.catalog-toolbar input,
.catalog-toolbar select {
  font-size: 15px !important;
  min-height: 44px !important;
}

.catalog-info p {
  font-size: 14px !important;
}

.catalog-info .btn {
  font-size: 13px !important;
}

/* Lab login / registration */

.lab-login-back {
  font-size: 13px !important;
}

.lab-eyebrow {
  font-size: 12px !important;
}

.lab-login-visual > p {
  font-size: 16px !important;
  line-height: 1.8 !important;
}

.lab-login-points li {
  font-size: 14px !important;
}

.lab-login-demo {
  font-size: 13px !important;
  line-height: 1.7 !important;
}

.lab-login-card > p {
  font-size: 14px !important;
  line-height: 1.7 !important;
}

.lab-login-card h2 {
  font-size: clamp(28px, 3vw, 36px) !important;
}

.lab-login-foot {
  font-size: 12.5px !important;
}

.lab-demo-btn {
  font-size: 13px !important;
}

.lab-field {
  font-size: 13px !important;
}

.lab-field input,
.lab-field select,
.lab-field textarea,
.lab-filter-bar input,
.lab-filter-bar select,
.lab-toolbar input,
.lab-toolbar select,
.lab-date-field input {
  font-size: 15px !important;
}

.lab-image-preview {
  font-size: 12px !important;
}

.lab-check {
  font-size: 13px !important;
}

/* Lab workspace shell */

.lab-sidebar-brand strong {
  font-size: 15px !important;
  line-height: 1.35 !important;
}

.lab-sidebar-brand span {
  font-size: 11px !important;
}

.lab-nav-label {
  font-size: 12px !important;
}

.lab-nav-link {
  font-size: 14px !important;
  line-height: 1.45 !important;
}

.lab-nav-link small {
  font-size: 11.5px !important;
}

.lab-user-chip strong {
  font-size: 13px !important;
}

.lab-user-chip div > span {
  font-size: 12px !important;
}

.lab-topbar-title strong {
  font-size: 16px !important;
}

.lab-topbar-title span {
  font-size: 12.5px !important;
}

.lab-public-btn {
  font-size: 13px !important;
}

.lab-topbar-user span {
  font-size: 13px !important;
}

.lab-topbar-user small {
  font-size: 12px !important;
}

/* Lab pages, cards, tables */

.lab-page-head p {
  font-size: 14px !important;
}

.lab-page-actions .btn {
  font-size: 13px !important;
}

.lab-kpi small {
  font-size: 12px !important;
}

.lab-kpi strong {
  font-size: 22px !important;
}

.lab-kpi div > span {
  font-size: 11.5px !important;
}

.lab-card-head h2 {
  font-size: 17px !important;
  line-height: 1.4 !important;
}

.lab-link {
  font-size: 13px !important;
}

.lab-hint {
  font-size: 12px !important;
}

.lab-count {
  font-size: 12px !important;
}

.lab-muted {
  font-size: 13.5px !important;
  line-height: 1.65 !important;
}

.lab-empty h3 {
  font-size: 16px !important;
}

.lab-empty p {
  font-size: 13.5px !important;
  line-height: 1.6 !important;
}

.lab-table {
  font-size: 14px !important;
}

.lab-table th {
  font-size: 12px !important;
  letter-spacing: .04em !important;
}

.lab-table td {
  font-size: 14px !important;
  line-height: 1.55 !important;
}

.lab-cell-sub {
  font-size: 11.5px !important;
  line-height: 1.45 !important;
}

.lab-cell-tests {
  font-size: 13px !important;
}

.lab-mono {
  font-size: 13px !important;
}

.lab-row-btn,
.lab-mini-btn {
  font-size: 12.5px !important;
}

.lab-badge {
  font-size: 12px !important;
}

.lab-filter-bar input,
.lab-filter-bar select,
.lab-toolbar input,
.lab-toolbar select {
  min-height: 40px !important;
}

.lab-tabs .lab-tab {
  font-size: 13.5px !important;
}

.lab-tab span {
  font-size: 11.5px !important;
}

.lab-date-field {
  font-size: 12.5px !important;
}

.lab-worklist-row strong {
  font-size: 13.5px !important;
}

.lab-worklist-row span {
  font-size: 11.5px !important;
}

.lab-quick strong {
  font-size: 13.5px !important;
}

.lab-quick small {
  font-size: 11.5px !important;
}

.lab-test-option-main strong {
  font-size: 13.5px !important;
}

.lab-test-option-main small {
  font-size: 11.5px !important;
}

.lab-test-option-price {
  font-size: 13px !important;
}

.lab-cart-item strong {
  font-size: 13.5px !important;
}

.lab-cart-item span {
  font-size: 11.5px !important;
}

.lab-cart-item-right > span {
  font-size: 12.5px !important;
}

.lab-billing-row {
  font-size: 13px !important;
}

.lab-billing-input input,
.lab-discount-controls select,
.lab-discount-controls input {
  font-size: 14px !important;
  min-height: 38px !important;
}

.lab-billing-row strong {
  font-size: 14px !important;
}

.lab-billing-input input {
  font-size: 14px !important;
}

.lab-billing-total {
  font-size: 14px !important;
}

.lab-billing-total strong {
  font-size: 18px !important;
}

.lab-billing .lab-field {
  font-size: 12px !important;
}

.lab-billing .lab-field input,
.lab-billing .lab-field select,
.lab-billing .lab-field textarea {
  font-size: 14px !important;
}

.lab-patient-found {
  font-size: 12.5px !important;
}

.lab-suggest-btn strong {
  font-size: 13px !important;
}

.lab-suggest-btn span {
  font-size: 12px !important;
}

.lab-worklist-btn strong {
  font-size: 13.5px !important;
}

.lab-worklist-btn > span {
  font-size: 11.5px !important;
}

.lab-editor-head h2 {
  font-size: 19px !important;
}

.lab-editor-head p {
  font-size: 12.5px !important;
}

.lab-editor-status > span {
  font-size: 11px !important;
}

.lab-samples-strip > span {
  font-size: 11.5px !important;
}

.lab-result-card-head h3 {
  font-size: 15px !important;
}

.lab-result-card-head span {
  font-size: 11.5px !important;
}

.lab-result-table input,
.lab-result-table select,
.lab-result-table textarea {
  font-size: 13px !important;
  min-height: 36px !important;
}

.lab-result-qc input {
  font-size: 13px !important;
}

.lab-editor-actions .btn {
  font-size: 13px !important;
}

.lab-flag {
  font-size: 10.5px !important;
}

.lab-letter-preview-note {
  font-size: 11.5px !important;
}

/* Order detail / success / dialogs */

.lab-confirm-text {
  font-size: 14px !important;
  line-height: 1.7 !important;
}

.lab-success-head h3 {
  font-size: 16px !important;
}

.lab-success-head p {
  font-size: 13px !important;
}

.lab-success-grid span,
.lab-detail-grid span {
  font-size: 11.5px !important;
}

.lab-success-grid strong,
.lab-detail-grid strong {
  font-size: 14px !important;
}

.lab-success-tests,
.lab-success-samples {
  font-size: 12.5px !important;
}

.lab-success-tests span,
.lab-success-samples span {
  font-size: 12px !important;
}

.lab-order-detail-head h3 {
  font-size: 25px !important;
}

.lab-order-detail-head p {
  font-size: 13px !important;
}

.lab-detail-title {
  font-size: 12px !important;
}

.lab-report-preview {
  font-size: 12px !important;
}

/* Letterhead / report / receipt / labels */

.lab-letterhead-text h1 {
  font-size: 22px !important;
  line-height: 1.3 !important;
}

.lab-letterhead-text p {
  font-size: 11.5px !important;
  line-height: 1.55 !important;
}

.lab-letterhead-meta p {
  font-size: 11px !important;
  line-height: 1.55 !important;
}

.lab-letterhead-logo {
  width: 62px !important;
  height: 62px !important;
}

.lab-report-sheet,
.lab-receipt-sheet {
  font-size: 13px !important;
}

.lab-report-title h2,
.lab-receipt-title h2 {
  font-size: 25px !important;
}

.lab-report-kicker {
  font-size: 10.5px !important;
}

.lab-report-title-meta span {
  font-size: 11px !important;
}

.lab-report-title-meta strong {
  font-size: 12px !important;
}

.lab-report-patient span {
  font-size: 11px !important;
}

.lab-report-patient strong {
  font-size: 12.5px !important;
}

.lab-report-group h3 {
  font-size: 11.5px !important;
}

.lab-report-table {
  font-size: 12.5px !important;
}

.lab-report-table th {
  font-size: 11.5px !important;
}

.lab-report-test-name {
  font-size: 13px !important;
}

.lab-report-text h4 {
  font-size: 13.5px !important;
}

.lab-report-text p {
  font-size: 12px !important;
  line-height: 1.65 !important;
}

.lab-report-remarks p {
  font-size: 12px !important;
}

.lab-report-remarks h3 {
  font-size: 11px !important;
}

.lab-signature strong {
  font-size: 12px !important;
}

.lab-signature span,
.lab-signature small {
  font-size: 10.5px !important;
}

.lab-report-footer {
  font-size: 11.5px !important;
}

.lab-receipt-table {
  font-size: 12.5px !important;
}

.lab-receipt-table th {
  font-size: 11.5px !important;
}

.lab-receipt-totals > div {
  font-size: 12.5px !important;
}

.lab-receipt-totals strong {
  font-size: 12.5px !important;
}

.lab-receipt-foot {
  font-size: 11.5px !important;
}

.lab-receipt-sign strong {
  font-size: 11.5px !important;
}

.lab-label-sheet-head {
  font-size: 13.5px !important;
}

.lab-sample-label-head {
  font-size: 11px !important;
}

.lab-sample-label-head span {
  font-size: 10px !important;
}

.lab-sample-label-body p {
  font-size: 10.5px !important;
}

.lab-label-patient {
  font-size: 13px !important;
}

/* Public report page */

.lab-report-toolbar-brand {
  font-size: 14px !important;
}

.lab-report-error h1 {
  font-size: 28px !important;
}

.lab-report-error p {
  font-size: 15px !important;
  line-height: 1.7 !important;
}

/* Give data tables room now that text is larger */

@media (max-width: 1400px) {
  .lab-grid--two {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Print sizing */

@media print {
  .lab-report-sheet,
  .lab-receipt-sheet {
    font-size: 12.5px !important;
  }

  .lab-report-table {
    font-size: 12px !important;
  }

  .lab-report-table th {
    font-size: 11px !important;
  }

  .lab-report-text p,
  .lab-report-patient strong {
    font-size: 12px !important;
  }

  .lab-report-footer {
    font-size: 11px !important;
  }
}
