/**
 * BIABS readable typography — public site, dashboard, and legacy pages.
 */

:root {
  --biabs-text: #0f172a;
  --biabs-text-secondary: #334155;
  --biabs-text-muted: #475569;
  --biabs-text-size: 1rem;
  --biabs-text-size-sm: 0.9375rem;
}

body {
  font-size: var(--biabs-text-size);
  color: var(--biabs-text);
  line-height: 1.55;
}

body.biabs-public-site,
body.biabs-dashboard {
  font-size: var(--biabs-text-size);
  color: var(--biabs-text);
}

body.biabs-public-site .biabs-section p,
body.biabs-public-site .biabs-section-alt p,
body.biabs-public-site .card-body p,
body.biabs-dashboard .biabs-dashboard-main p,
body.biabs-dashboard .card-body p {
  color: var(--biabs-text-secondary);
}

/* Home hero sits inside .biabs-public-main — keep light text on dark gradient */
body.biabs-public-site .biabs-hero,
body.biabs-public-site .biabs-hero p,
body.biabs-public-site .biabs-hero .lead,
body.biabs-public-site .biabs-hero .biabs-hero-intro,
body.biabs-public-site .biabs-hero h1,
body.biabs-public-site .biabs-hero .biabs-hero-title-inline,
body.biabs-public-site .biabs-hero small,
body.biabs-public-site .biabs-hero .small,
body.biabs-public-site .biabs-hero strong {
  color: #fff;
}

.text-muted,
.text-secondary {
  color: var(--biabs-text-muted) !important;
}

small,
.small {
  font-size: var(--biabs-text-size-sm) !important;
  color: var(--biabs-text-muted);
}

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  color: var(--biabs-text);
}

.form-label {
  color: #1e293b;
  font-weight: 600;
  font-size: var(--biabs-text-size-sm);
  margin-bottom: 0.35rem;
}

.form-control,
.form-select,
textarea.form-control {
  font-size: var(--biabs-text-size);
  color: var(--biabs-text);
}

.form-control::placeholder {
  color: #64748b;
  opacity: 1;
}

.table {
  font-size: var(--biabs-text-size-sm);
  color: var(--biabs-text-secondary);
}

.table thead th {
  color: #1e293b;
  font-weight: 700;
  font-size: var(--biabs-text-size-sm);
}

.table tbody td {
  color: var(--biabs-text-secondary);
}

.card {
  color: var(--biabs-text-secondary);
}

.card-header {
  font-size: var(--biabs-text-size);
  font-weight: 600;
  color: var(--biabs-text);
}

.card-title {
  color: var(--biabs-text);
  font-weight: 700;
}

.biabs-public-page-title,
.biabs-dashboard-page-title {
  color: var(--biabs-text);
  font-size: 1.625rem;
}

.biabs-public-page-subtitle,
.biabs-dashboard-page-subtitle {
  color: var(--biabs-text-muted);
  font-size: var(--biabs-text-size-sm);
}

.biabs-public-site .biabs-nav-org {
  font-size: 1.1rem;
}

.biabs-public-site .biabs-nav-tagline {
  font-size: 0.78rem;
  color: rgba(241, 245, 249, 0.95);
}

.biabs-public-site .biabs-navbar .nav-link {
  font-size: var(--biabs-text-size-sm);
  font-weight: 600;
}

body.biabs-public-site .biabs-section .lead,
body.biabs-public-site .card-body .lead {
  color: var(--biabs-text-secondary);
  font-size: 1.0625rem;
}

.btn {
  font-size: var(--biabs-text-size-sm);
  font-weight: 600;
}

.alert {
  font-size: var(--biabs-text-size-sm);
  color: var(--biabs-text-secondary);
}

.badge {
  font-size: 0.8125rem;
  font-weight: 600;
}

.list-group-item {
  color: var(--biabs-text-secondary);
  font-size: var(--biabs-text-size-sm);
}

.modal-body:not(.biabs-letter-modal-body) {
  color: var(--biabs-text-secondary);
  font-size: var(--biabs-text-size-sm);
}

/* Request letter modal — do not override injected letter document colors */
#letterModal .modal-body.biabs-letter-modal-body,
#letterModal .biabs-letter-scroll,
#letterModal .biabs-letter-preview,
#letterModal .biabs-letter-preview-inner {
  color: inherit;
  font-size: inherit;
}

#letterModal .modal-header h1,
#letterModal .modal-header h2,
#letterModal .modal-header h3,
#letterModal .modal-header h4,
#letterModal .modal-header h5,
#letterModal .modal-header h6,
#letterModal .modal-header .modal-title {
  color: #fff !important;
}

#letterModal .biabs-letter-preview-inner h1,
#letterModal .biabs-letter-preview-inner h2,
#letterModal .biabs-letter-preview-inner h3,
#letterModal .biabs-letter-preview-inner h4,
#letterModal .biabs-letter-preview-inner h5,
#letterModal .biabs-letter-preview-inner h6 {
  color: inherit;
}

.biabs-report-meta,
.biabs-report-table caption {
  color: var(--biabs-text-muted);
}

/* Report sheet header — white text on blue gradient (override global h1/p colors) */
.biabs-report-sheet-hdr,
.biabs-report-sheet-hdr h1,
.biabs-report-sheet-hdr p {
  color: #fff !important;
}

.biabs-report-sheet-hdr p {
  color: rgba(255, 255, 255, 0.95) !important;
}
