/* Theme: flatly with the app's primary #28536B (bslib bs_theme primary),
   plus the inline rules from R/ui.R and the layout_sidebar structure. */

:root {
  --bs-primary: #28536B;
  --bs-primary-rgb: 40, 83, 107;
  --bs-body-font-family: "Source Sans 3", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --bs-font-monospace: "Fira Code", SFMono-Regular, Menlo, monospace;
}

body { font-family: var(--bs-body-font-family); }
code, pre { font-family: var(--bs-font-monospace); }

.bg-primary { background-color: #28536B !important; }
a { color: #28536B; }

.btn-primary {
  --bs-btn-bg: #28536B;
  --bs-btn-border-color: #28536B;
  --bs-btn-hover-bg: #204357;
  --bs-btn-hover-border-color: #1e3f52;
  --bs-btn-active-bg: #1e3f52;
  --bs-btn-active-border-color: #1c3b4d;
  --bs-btn-disabled-bg: #28536B;
  --bs-btn-disabled-border-color: #28536B;
}

.form-check-input:checked {
  background-color: #28536B;
  border-color: #28536B;
}

.progress-bar { background-color: #28536B; }

/* Inline styles from R/ui.R */
.ipa-output { font-size: 1.15rem; line-height: 1.7; }
.help-note { color: #5f6b73; }
.card-action { padding: .15rem .55rem; font-size: .8rem; }
.copy-feedback { font-size: .8rem; color: #198754; min-width: 3.4rem; }

/* layout_sidebar equivalent */
.layout-sidebar {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}

.app-sidebar {
  background: var(--bs-tertiary-bg, #f8f9fa);
  border: 1px solid var(--bs-border-color, #dee2e6);
  border-radius: .5rem;
  padding: 1rem;
}

@media (max-width: 767.98px) {
  .layout-sidebar { grid-template-columns: 1fr; }
}

.table-wrap { overflow-x: auto; }
.table-wrap table td, .table-wrap table th { white-space: nowrap; }

.bi { vertical-align: -0.125em; }
