/* Client portal typography and spacing consistency overrides */
/* Keep changes minimal and layered on top of theme.min.css */

:root {
  /* Make base text slightly more compact while remaining readable */
  --phoenix-body-font-size: 0.95rem !important;
}

/* Enforce consistent font-family across portal UI elements */
/* Base body typography override (wins over page-level <style> blocks) */
body {
  font-size: var(--phoenix-body-font-size) !important;
  line-height: 1.45 !important;
  font-family: 'Nunito Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol' !important;
}

/* Enforce consistent font-family & size across common UI controls */
.card,
.table,
.form-control,
.form-select,
.btn,
label,
input,
select,
textarea {
  font-family: 'Nunito Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol' !important;
  font-size: var(--phoenix-body-font-size) !important;
}

/* Keep data-dense tables neat and aligned */
.table { font-size: var(--phoenix-body-font-size) !important; }
.table td, .table th { vertical-align: middle; }

/* Apply compact padding globally like Bootstrap's .table-sm */
.table > :not(caption) > * > * {
  padding: .3rem .5rem !important;
}

/* Form labels and controls consistent with body size */
label.form-label { font-size: var(--phoenix-body-font-size) !important; }
.form-control, .form-select { font-size: var(--phoenix-body-font-size) !important; }

/* Buttons consistent, but let utility classes override when needed */
.btn { font-size: var(--phoenix-body-font-size) !important; }
