/* Muted dark surfaces with readable text, including Bootstrap utilities. */
:root {
  color-scheme: dark;
  --navy: #b4d8c8;
  --navy-light: #c6e7d8;
  --steel: #a5c4d9;
  --gold: #b4c999;
  --green: #99d7b6;
  --cream: #151d21;
  --cream-dark: #27343a;
  --white: #202b30;
  --text-primary: #e1e9e7;
  --text-muted: #adbdba;
  --border: #39484e;
  --bs-body-bg: #151d21;
  --bs-body-color: #e1e9e7;
  --bs-secondary-color: #adbdba;
  --bs-border-color: #39484e;
}
body { background: var(--cream); }
.navbar, footer.footer { background: #192328 !important; color: var(--text-muted); }
.brand-mark, .navbar-toggler { background: #34574a; }
.card, .card-header, .card.bg-primary, .card.bg-success, .card.bg-info,
.ai-panel-body, .review-panel-body, .ai-suggestion-card, .review-transaction-card,
.category-assistant, .tx-move-panel, .upload-zone, .year-selector-card, .processing-content {
  background: #202b30 !important;
  color: var(--text-primary) !important;
  border-color: var(--border) !important;
}
.card.bg-warning, .review-panel .card-header { background: #383329 !important; color: #eddbb2 !important; }
.ai-panel .card-header, .card-header.bg-success { background: #293e35 !important; }
.ai-panel .card-header h5, .review-panel .card-header h5 { color: #e1e9e7 !important; }
.ai-panel-sub, .review-panel-sub { color: #bdccc5; }
.card-header .badge { color: #e1e9e7; }
.page-title { font-family: inherit; }
.good-faith-banner, .workflow-card, .assistant-ai-box, .file-item, .upload-icon,
.transaction-detail-panel, .apply-all-prompt { background: #25352f; border-color: var(--border); color: var(--text-primary); }
.workflow-card small, .step-number, .hero-eyebrow, .section-eyebrow { color: var(--text-muted); }
.workflow-card>div { border-color: var(--border); }
.form-select, .form-control, .category-search-input {
  background-color: #182227;
  color: var(--text-primary);
  border-color: var(--border);
}
.form-select { padding: 10px 2.5rem 10px 12px; background-position: right .8rem center; }
#viewYear { min-width: 6.5rem; font-size: 14px; font-variant-numeric: tabular-nums; }
.form-control:focus, .form-select:focus { background-color: #182227; color: var(--text-primary); }
.form-control::placeholder, .category-search-input::placeholder { color: #a1b2af; }
.table {
  --bs-table-bg: #202b30;
  --bs-table-color: #e1e9e7;
  --bs-table-striped-bg: #253238;
  --bs-table-striped-color: #e1e9e7;
  --bs-table-hover-bg: #304139;
  --bs-table-hover-color: #f0f5f3;
  --bs-table-border-color: #39484e;
}
.table thead.table-dark th, thead.table-dark th, .table-dark th,
.transaction-detail-panel .table thead th { background: #29383e !important; color: #d1dfdc !important; }
.badge.bg-success, .btn-ai-confirm, .conf-high { background: #29483b !important; color: #b9e6ca; }
.badge.bg-danger, .conf-low, .btn-ai-reject { background: #493433 !important; color: #f1c4bb; }
.badge.bg-info, .badge.bg-secondary { background: #33444c !important; color: #cbdde5; }
.ai-category-badge, .conf-med { background: #3e384e; color: #dbcaf5; }
.gf-stat.gf-ai .gf-amount { color: #cfb9ef; }
.btn-primary, .btn-upload, .btn-process, .btn-success { background: #365f4d !important; border-color: #6c9982 !important; color: #f0f6f3 !important; }
.btn-primary:hover, .btn-upload:hover, .btn-process:hover:not(:disabled), .btn-success:hover { background: #456f5c !important; }
.btn-outline-primary:hover, .btn-outline-info:hover { color: #182227 !important; }
.btn-light { background: #34454b; color: #e1e9e7; border-color: #65777c; }
.btn-outline-secondary { color: #c4d0cf; border-color: #81948f; }
.text-primary { color: #b4d8c8 !important; }
.text-danger { color: #f0b3a9 !important; }
.alert-info { background: #263940; color: #d0e4ed; border-color: #506d78; }
.search-summary { background: #34483f; }
mark.sh { background: #e3d294; color: #202820; }
.tx-move-wrap { position: static; }
.tx-move-panel { position: relative; top: auto; right: auto; margin-top: 8px; }
