/* ==========================================================================
   OMS 13 — appearance layer (loaded last on every page)
   1. Appearance switcher (colour theme + light/dark/auto)
   2. Dark mode for everything built before 13.0 (shared CSS, Bootstrap utility
      classes and the inline styles older views carry)
   3. Small refinements shared by light and dark
   Colours come from App\Core\Theme::head(): --forest/--gold (+ -dark/-light/-ink),
   --canvas, --surface, --surface-2, --line, --ink, --ink-2, --ink-3.
   ========================================================================== */

/* ── 1. Appearance switcher ─────────────────────────────────────────────── */
.oms-ap { position: fixed; z-index: 2000; width: 348px; max-width: calc(100vw - 16px); background: var(--surface); color: var(--ink);
  border: 1px solid var(--line); border-radius: 16px; box-shadow: 0 18px 50px rgba(0,0,0,.22); padding: 14px; display: none; font-size: 14px; }
.oms-ap.open { display: block; animation: omsApIn .14s ease-out; }
@keyframes omsApIn { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.oms-ap-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.oms-ap-head strong { font-size: 15px; }
.oms-ap-x { border: 0; background: transparent; color: var(--ink-3); font-size: 22px; line-height: 1; padding: 0 4px; cursor: pointer; }
.oms-ap-label { font-size: 11.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-3); margin: 10px 0 6px; }
.oms-ap-modes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; background: var(--surface-2); padding: 4px; border-radius: 12px; border: 1px solid var(--line); }
.oms-ap-modes button { border: 0; background: transparent; color: var(--ink-2); border-radius: 9px; padding: 7px 4px; display: flex; flex-direction: column; align-items: center; gap: 2px; font-size: 12.5px; font-weight: 600; cursor: pointer; }
.oms-ap-modes button i { font-size: 16px; }
.oms-ap-modes button.on { background: var(--surface); color: var(--forest-ink); box-shadow: 0 1px 3px rgba(0,0,0,.12); }
.oms-ap-themes { display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px; max-height: 260px; overflow-y: auto; }
.oms-ap-themes button { border: 1px solid var(--line); background: var(--surface); color: var(--ink); border-radius: 10px; padding: 7px 8px; display: flex; align-items: center; gap: 8px; font-size: 12.5px; text-align: start; cursor: pointer; min-width: 0; }
.oms-ap-themes button:hover { border-color: var(--forest-ink); }
.oms-ap-themes button.on { border-color: var(--forest-ink); box-shadow: 0 0 0 2px rgba(var(--forest-rgb), .25); font-weight: 700; }
.oms-ap-themes .sw { display: inline-flex; flex-shrink: 0; }
.oms-ap-themes .sw i { width: 14px; height: 22px; display: block; }
.oms-ap-themes .sw i:first-child { border-radius: 6px 0 0 6px; }
.oms-ap-themes .sw i:last-child { border-radius: 0 6px 6px 0; }
.oms-ap-themes .nm { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.oms-ap button:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.oms-ap-fab { position: fixed; z-index: 1990; inset-inline-start: 16px; bottom: 16px; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--line);
  background: var(--surface); color: var(--forest-ink); box-shadow: 0 6px 20px rgba(0,0,0,.18); display: grid; place-items: center; font-size: 19px; cursor: pointer; }
.oms-ap-fab:hover { color: var(--gold); }
@media print { .oms-ap, .oms-ap-fab { display: none !important; } }

/* Switcher buttons in the headers */
#topbar .icon-btn[data-oms-appearance] i, .oms-hdr-icon-btn[data-oms-appearance] i { font-size: 1.05rem; }
.theme-icon-dark { display: none; }
[data-bs-theme=dark] .theme-icon-light { display: none; }
[data-bs-theme=dark] .theme-icon-dark { display: inline-block; }

/* ── 2. Dark mode ──────────────────────────────────────────────────────── */
[data-bs-theme=dark] { color-scheme: dark; --gray-50: #1a201f; --gray-100: #202726; --gray-200: #2a3230; --gray-300: #39423f; --gray-500: #97a39f; --gray-600: #b3bdb9; --gray-700: #cfd7d4; --gray-800: #e6ecea;
  --shadow-sm: 0 1px 2px rgba(0,0,0,.4); --shadow: 0 1px 2px rgba(0,0,0,.35), 0 10px 28px rgba(0,0,0,.35);
  --bs-secondary-color: #a9b6b1; --bs-emphasis-color: #f2f6f4; --bs-heading-color: #eef3f1; --bs-card-bg: var(--surface); }
[data-bs-theme=dark] body { background-color: var(--canvas) !important; color: var(--ink); }
[data-bs-theme=dark] body.oms-app { background: var(--canvas) !important; }

/* Bootstrap light-only utilities used across the views */
[data-bs-theme=dark] .bg-white, [data-bs-theme=dark] .bg-body { background-color: var(--surface) !important; }
[data-bs-theme=dark] .bg-light, [data-bs-theme=dark] .bg-body-tertiary, [data-bs-theme=dark] .bg-body-secondary { background-color: var(--surface-2) !important; }
[data-bs-theme=dark] .text-dark, [data-bs-theme=dark] .text-black, [data-bs-theme=dark] .link-dark { color: var(--ink) !important; }
[data-bs-theme=dark] .text-body-secondary, [data-bs-theme=dark] .text-muted { color: var(--ink-3) !important; }
[data-bs-theme=dark] .text-primary { color: var(--forest-ink) !important; }
[data-bs-theme=dark] .text-success { color: #5fd39a !important; }
[data-bs-theme=dark] .text-danger { color: #ff8a80 !important; }
[data-bs-theme=dark] .text-warning { color: var(--gold-ink) !important; }
[data-bs-theme=dark] .text-info { color: #6ccfe6 !important; }
[data-bs-theme=dark] .text-secondary { color: var(--ink-2) !important; }
[data-bs-theme=dark] .border, [data-bs-theme=dark] .border-top, [data-bs-theme=dark] .border-bottom, [data-bs-theme=dark] .border-start, [data-bs-theme=dark] .border-end { border-color: var(--line) !important; }
[data-bs-theme=dark] .table-light, [data-bs-theme=dark] .table > thead.table-light > tr > th { --bs-table-bg: var(--surface-2); --bs-table-color: var(--ink-2); --bs-table-border-color: var(--line); color: var(--ink-2); }
[data-bs-theme=dark] .table { --bs-table-bg: transparent; --bs-table-color: var(--ink); --bs-table-striped-bg: rgba(255,255,255,.03); --bs-table-hover-bg: rgba(255,255,255,.045); --bs-table-hover-color: var(--ink); --bs-table-border-color: var(--line); }
[data-bs-theme=dark] .table-warning { --bs-table-bg: rgba(var(--gold-rgb), .14); --bs-table-color: var(--ink); }
[data-bs-theme=dark] .table-success { --bs-table-bg: rgba(46,160,90,.16); --bs-table-color: var(--ink); }
[data-bs-theme=dark] .table-danger { --bs-table-bg: rgba(220,60,60,.16); --bs-table-color: var(--ink); }
[data-bs-theme=dark] .table-info { --bs-table-bg: rgba(60,160,220,.14); --bs-table-color: var(--ink); }
[data-bs-theme=dark] .btn-light { --bs-btn-bg: var(--surface-2); --bs-btn-color: var(--ink); --bs-btn-border-color: var(--line); --bs-btn-hover-bg: var(--line); --bs-btn-hover-color: var(--ink); }
[data-bs-theme=dark] .btn-outline-dark { --bs-btn-color: var(--ink); --bs-btn-border-color: var(--line); --bs-btn-hover-bg: var(--ink); --bs-btn-hover-color: var(--canvas); }
[data-bs-theme=dark] .btn-outline-secondary { background: transparent !important; color: var(--ink-2) !important; border-color: var(--line) !important; }
[data-bs-theme=dark] .btn-outline-secondary:hover { color: var(--forest-ink) !important; border-color: var(--forest-ink) !important; }
[data-bs-theme=dark] .btn-outline-primary, [data-bs-theme=dark] .btn-outline-success { color: var(--forest-ink) !important; border-color: rgba(var(--forest-rgb), .7) !important; }
[data-bs-theme=dark] .btn-outline-primary:hover, [data-bs-theme=dark] .btn-outline-success:hover { color: #fff !important; background: var(--forest) !important; }
[data-bs-theme=dark] .btn-close { filter: invert(1) grayscale(100%) brightness(200%); }
[data-bs-theme=dark] .form-control, [data-bs-theme=dark] .form-select { background-color: var(--surface-2); color: var(--ink); border-color: var(--line); }
[data-bs-theme=dark] .form-control::placeholder { color: var(--ink-3); }
[data-bs-theme=dark] .form-control:disabled, [data-bs-theme=dark] .form-control[readonly] { background-color: var(--canvas); }
[data-bs-theme=dark] .input-group-text { background: var(--surface-2); color: var(--ink-2); border-color: var(--line); }
[data-bs-theme=dark] .list-group-item { background: var(--surface); color: var(--ink); border-color: var(--line); }
[data-bs-theme=dark] .dropdown-menu { --bs-dropdown-bg: var(--surface); --bs-dropdown-color: var(--ink); --bs-dropdown-link-color: var(--ink); --bs-dropdown-link-hover-bg: var(--surface-2); --bs-dropdown-border-color: var(--line); --bs-dropdown-divider-bg: var(--line); }
[data-bs-theme=dark] .modal-content { background: var(--surface); color: var(--ink); }
[data-bs-theme=dark] .modal-footer, [data-bs-theme=dark] .modal-header { border-color: var(--line); }
[data-bs-theme=dark] .card, [data-bs-theme=dark] .portal-card { background: var(--surface); color: var(--ink); border-color: var(--line); }
[data-bs-theme=dark] .card-header, [data-bs-theme=dark] .card-footer { background: var(--surface-2); border-color: var(--line); color: var(--ink); }
[data-bs-theme=dark] .accordion { --bs-accordion-bg: var(--surface); --bs-accordion-color: var(--ink); --bs-accordion-btn-color: var(--ink); --bs-accordion-btn-bg: var(--surface); --bs-accordion-active-color: var(--forest-ink); --bs-accordion-border-color: var(--line); }
[data-bs-theme=dark] body .accordion-item { background: var(--surface); }
[data-bs-theme=dark] .nav-tabs { --bs-nav-tabs-border-color: var(--line); }
[data-bs-theme=dark] body .nav-tabs .nav-link.active { color: var(--forest-ink); background: transparent; }
[data-bs-theme=dark] .nav-link { color: var(--ink-2); }
[data-bs-theme=dark] .page-link { background: var(--surface); border-color: var(--line); color: var(--forest-ink); }
[data-bs-theme=dark] .progress { background-color: var(--surface-2); }
[data-bs-theme=dark] .alert-warning { --bs-alert-bg: rgba(var(--gold-rgb), .14); --bs-alert-color: #f3d79a; --bs-alert-border-color: rgba(var(--gold-rgb), .35); }
[data-bs-theme=dark] .alert-success { --bs-alert-bg: rgba(46,160,90,.15); --bs-alert-color: #9be3ba; --bs-alert-border-color: rgba(46,160,90,.35); }
[data-bs-theme=dark] .alert-danger { --bs-alert-bg: rgba(220,60,60,.15); --bs-alert-color: #ffb4ac; --bs-alert-border-color: rgba(220,60,60,.35); }
[data-bs-theme=dark] .alert-info { --bs-alert-bg: rgba(60,160,220,.14); --bs-alert-color: #a8dcf2; --bs-alert-border-color: rgba(60,160,220,.32); }
[data-bs-theme=dark] .alert-secondary, [data-bs-theme=dark] .alert-light { --bs-alert-bg: var(--surface-2); --bs-alert-color: var(--ink-2); --bs-alert-border-color: var(--line); }
[data-bs-theme=dark] .badge.bg-light, [data-bs-theme=dark] .badge.text-bg-light { background: var(--surface-2) !important; color: var(--ink) !important; }
[data-bs-theme=dark] .bg-primary-subtle, [data-bs-theme=dark] .bg-success-subtle { background-color: rgba(var(--forest-rgb), .22) !important; }
[data-bs-theme=dark] .bg-warning-subtle { background-color: rgba(var(--gold-rgb), .18) !important; }
[data-bs-theme=dark] .bg-danger-subtle { background-color: rgba(220,60,60,.18) !important; }
[data-bs-theme=dark] .bg-info-subtle { background-color: rgba(60,160,220,.16) !important; }
[data-bs-theme=dark] .bg-secondary-subtle { background-color: var(--surface-2) !important; }
[data-bs-theme=dark] .text-primary-emphasis, [data-bs-theme=dark] .text-success-emphasis { color: var(--forest-ink) !important; }
[data-bs-theme=dark] .bg-opacity-10.bg-primary, [data-bs-theme=dark] .bg-primary.bg-opacity-10 { background-color: rgba(var(--forest-rgb), .25) !important; }
[data-bs-theme=dark] .shadow-sm { box-shadow: 0 1px 3px rgba(0,0,0,.45) !important; }
[data-bs-theme=dark] hr { border-color: var(--line); opacity: 1; }
[data-bs-theme=dark] code { color: #f0a6c8; }
[data-bs-theme=dark] img:not([src$=".svg"]):not(.no-dim) { filter: brightness(.94); }

/* Inline styles in older views: light surfaces become dark surfaces */
[data-bs-theme=dark] [style*="background:#fff"], [data-bs-theme=dark] [style*="background: #fff"], [data-bs-theme=dark] [style*="background:white"],
[data-bs-theme=dark] [style*="background: white"], [data-bs-theme=dark] [style*="background-color:#fff"], [data-bs-theme=dark] [style*="background-color: #fff"],
[data-bs-theme=dark] [style*="background:#f8f9fa"], [data-bs-theme=dark] [style*="background: #f8f9fa"], [data-bs-theme=dark] [style*="background:#f9fafb"],
[data-bs-theme=dark] [style*="background: #f9fafb"], [data-bs-theme=dark] [style*="background:#f3f4f6"], [data-bs-theme=dark] [style*="background: #f3f4f6"],
[data-bs-theme=dark] [style*="background:#fafafa"], [data-bs-theme=dark] [style*="background: #fafafa"], [data-bs-theme=dark] [style*="background:#f5f5f5"],
[data-bs-theme=dark] [style*="background: #f5f5f5"], [data-bs-theme=dark] [style*="background:#f1f5f9"], [data-bs-theme=dark] [style*="background: #f1f5f9"],
[data-bs-theme=dark] [style*="background:#f8fafc"], [data-bs-theme=dark] [style*="background: #f8fafc"], [data-bs-theme=dark] [style*="background:#faf8f3"],
[data-bs-theme=dark] [style*="background: #faf8f3"], [data-bs-theme=dark] [style*="background:#fffdf7"], [data-bs-theme=dark] [style*="background:#fffaf0"],
[data-bs-theme=dark] [style*="background: #fffaf0"], [data-bs-theme=dark] [style*="background:#f7faf8"], [data-bs-theme=dark] [style*="background: #f7faf8"] {
  background: var(--surface-2) !important;
}
[data-bs-theme=dark] [style*="color:#111"], [data-bs-theme=dark] [style*="color: #111"], [data-bs-theme=dark] [style*="color:#1f2937"], [data-bs-theme=dark] [style*="color: #1f2937"],
[data-bs-theme=dark] [style*="color:#374151"], [data-bs-theme=dark] [style*="color: #374151"], [data-bs-theme=dark] [style*="color:#12302a"], [data-bs-theme=dark] [style*="color: #12302a"],
[data-bs-theme=dark] [style*="color:#333"], [data-bs-theme=dark] [style*="color: #333"], [data-bs-theme=dark] [style*="color:#222"], [data-bs-theme=dark] [style*="color: #222"],
[data-bs-theme=dark] [style*="color:#0f172a"], [data-bs-theme=dark] [style*="color: #0f172a"], [data-bs-theme=dark] [style*="color:#1e293b"], [data-bs-theme=dark] [style*="color: #1e293b"],
[data-bs-theme=dark] [style*="color:#000"], [data-bs-theme=dark] [style*="color: #000"], [data-bs-theme=dark] [style*="color:var(--forest-dark)"], [data-bs-theme=dark] [style*="color: var(--forest-dark)"] {
  color: var(--ink) !important;
}
[data-bs-theme=dark] [style*="color:#6b7280"], [data-bs-theme=dark] [style*="color: #6b7280"], [data-bs-theme=dark] [style*="color:#4b5563"], [data-bs-theme=dark] [style*="color: #4b5563"],
[data-bs-theme=dark] [style*="color:#64748b"], [data-bs-theme=dark] [style*="color: #64748b"], [data-bs-theme=dark] [style*="color:#555"], [data-bs-theme=dark] [style*="color: #555"],
[data-bs-theme=dark] [style*="color:#666"], [data-bs-theme=dark] [style*="color: #666"], [data-bs-theme=dark] [style*="color:#4a5f58"], [data-bs-theme=dark] [style*="color: #4a5f58"] {
  color: var(--ink-2) !important;
}
[data-bs-theme=dark] [style*="color:var(--forest)"], [data-bs-theme=dark] [style*="color: var(--forest)"] { color: var(--forest-ink) !important; }
[data-bs-theme=dark] [style*="border:1px solid #e"], [data-bs-theme=dark] [style*="border: 1px solid #e"], [data-bs-theme=dark] [style*="border-color:#e"], [data-bs-theme=dark] [style*="border-bottom:1px solid #e"], [data-bs-theme=dark] [style*="border-top:1px solid #e"] { border-color: var(--line) !important; }

/* Shared admin/portal pieces */
[data-bs-theme=dark] body .portal-page-header h1, [data-bs-theme=dark] body .portal-stat-card .num, [data-bs-theme=dark] body .section-title,
[data-bs-theme=dark] body .oms-empty-page h1, [data-bs-theme=dark] body .oms-empty-page h2, [data-bs-theme=dark] #topbar .tb-drop-head,
[data-bs-theme=dark] .np .page-head h1, [data-bs-theme=dark] .np .h2, [data-bs-theme=dark] .np .ledger b, [data-bs-theme=dark] .portal-list-info h4 { color: var(--ink) !important; }
[data-bs-theme=dark] body .portal-stat-card { border-inline-start-color: var(--forest-ink); }
[data-bs-theme=dark] body .portal-card-header { background: var(--forest-dark) !important; border-bottom: 1px solid var(--line); }
[data-bs-theme=dark] body #main-content .modal-header:not([class*="bg-"]), [data-bs-theme=dark] body .portal-wrap .modal-header { background: var(--forest-dark) !important; }
[data-bs-theme=dark] body .table thead th { background: var(--surface-2); color: var(--ink-2); }
[data-bs-theme=dark] body .portal-badge-success { background: rgba(var(--forest-rgb), .25); color: var(--forest-ink); }
[data-bs-theme=dark] body .portal-badge-pending { background: rgba(var(--gold-rgb), .2); color: var(--gold-ink); }
[data-bs-theme=dark] .portal-badge-danger { background: rgba(220,60,60,.2); color: #ffb4ac; }
[data-bs-theme=dark] .portal-badge-info { background: rgba(60,160,220,.18); color: #a8dcf2; }
[data-bs-theme=dark] .portal-alert-info { background: rgba(60,160,220,.14); color: #a8dcf2; }
[data-bs-theme=dark] .portal-alert-warning { background: rgba(var(--gold-rgb), .14); color: #f3d79a; }
[data-bs-theme=dark] .portal-alert-success { background: rgba(46,160,90,.15); color: #9be3ba; }
[data-bs-theme=dark] .bi-legend { background: rgba(var(--gold-rgb), .1); border-color: rgba(var(--gold-rgb), .3); color: var(--ink-2); }
[data-bs-theme=dark] .bi-col-ar > .form-control, [data-bs-theme=dark] .bi-col-ar > input, [data-bs-theme=dark] .bi-col-ar > textarea { background-color: var(--surface-2); }
[data-bs-theme=dark] .bi-col-ar .bi-lang { background: rgba(var(--gold-rgb), .2); color: var(--gold-ink); }
[data-bs-theme=dark] .bi-val .ar { color: var(--gold-ink); }
/* links: zero-specificity wrapper so any class that colours a link still wins */
:where([data-bs-theme=dark]) a { color: var(--forest-ink); }
:where([data-bs-theme=dark]) a:hover { color: var(--bs-link-hover-color); }

/* App shell */
[data-bs-theme=dark] #sidebar { background-color: var(--sidebar-bg); border-inline-end: 1px solid var(--line); }
[data-bs-theme=dark] #sidebar .sb-nav a.active { background: rgba(255,255,255,.1); color: #fff; box-shadow: inset 3px 0 0 var(--gold); }
[data-bs-theme=dark] #topbar .icon-btn, [data-bs-theme=dark] #topbar .lang-switch, [data-bs-theme=dark] #topbar .search-wrap input { background: var(--surface); border-color: var(--line); color: var(--ink); }
[data-bs-theme=dark] #topbar .icon-btn { color: var(--forest-ink); }
[data-bs-theme=dark] #topbar .lang-switch a.is-on { background: var(--forest); color: #fff; }

/* Portals (.np) */
[data-bs-theme=dark] .np { --green: var(--forest-ink); --green-deep: var(--ink); --green-soft: rgba(var(--forest-rgb), .22); --gold-soft: rgba(var(--gold-rgb), .16);
  --danger: #ff8a80; --danger-soft: rgba(220,60,60,.18); --ok: #6fdba4; --ok-soft: rgba(46,160,90,.18); --warn: #f3c46d; --warn-soft: rgba(var(--gold-rgb), .16); }
[data-bs-theme=dark] .np .hero { background: var(--forest-dark); border: 1px solid var(--line); }
[data-bs-theme=dark] .np .pill-grey { background: var(--surface-2); }

/* Public website */
[data-bs-theme=dark] .oms-hdr { background: var(--surface) !important; border-bottom-color: var(--line) !important; }
[data-bs-theme=dark] .oms-hdr-link, [data-bs-theme=dark] .oms-hdr-dropdown-menu li a { color: var(--ink-2) !important; }
[data-bs-theme=dark] .oms-hdr-link:hover, [data-bs-theme=dark] .oms-hdr-dropdown-menu li a:hover { color: var(--ink) !important; background: var(--surface-2) !important; }
[data-bs-theme=dark] .oms-hdr-brand, [data-bs-theme=dark] .oms-hdr-toggler { color: var(--ink) !important; }
[data-bs-theme=dark] .oms-hdr-icon-btn { background: var(--surface-2) !important; color: var(--forest-ink) !important; }
[data-bs-theme=dark] .oms-hdr-lang { color: var(--forest-ink) !important; border-color: var(--line) !important; }
[data-bs-theme=dark] .oms-hdr-lang:hover { background: var(--forest) !important; color: #fff !important; }
[data-bs-theme=dark] .oms-hdr-dropdown-menu, [data-bs-theme=dark] .oms-hdr-nav { background: var(--surface) !important; }
[data-bs-theme=dark] .content-card { background: var(--surface) !important; border-color: var(--line) !important; }
[data-bs-theme=dark] .content-card .card-body h5 { color: var(--ink) !important; }
[data-bs-theme=dark] .section-subtitle { color: var(--ink-2) !important; }
[data-bs-theme=dark] .section-tag { color: var(--gold-ink) !important; }
[data-bs-theme=dark] .section-title em { color: var(--gold) !important; }
[data-bs-theme=dark] .feature-icon { background: rgba(var(--forest-rgb), .25) !important; color: var(--forest-ink) !important; }

/* Application forms (their own scaffold: --cream, --white, --ink-mid, --border …) */
[data-bs-theme=dark]:root { --cream: var(--canvas); --white: var(--surface); --ink-mid: var(--ink-2); --muted: var(--ink-3); --border: var(--line); --border-light: var(--line); }

/* Charts drawn on canvas keep a transparent background */
[data-bs-theme=dark] canvas { filter: none !important; }

/* ── 3. Refinements (light and dark) ───────────────────────────────────── */
/* Gold buttons: a shade that carries white text (3:1+) */
body .btn-warning, body .btn-donate, body .portal-btn-gold, .oms-hdr-donate, .oms-ftr-btn, .btn-gold { background: var(--gold-btn) !important; border-color: var(--gold-btn) !important; color: #fff !important; }
body .btn-warning:hover, body .btn-donate:hover, body .portal-btn-gold:hover, .oms-hdr-donate:hover, .oms-ftr-btn:hover, .btn-gold:hover { background: color-mix(in srgb, var(--gold-btn) 85%, #000) !important; border-color: color-mix(in srgb, var(--gold-btn) 85%, #000) !important; }
/* Bootstrap colours that never got the theme */
.btn-check:checked + .btn-outline-primary, .btn-outline-primary.active, .btn-check:checked + .btn-outline-success { background: var(--forest) !important; border-color: var(--forest) !important; color: #fff !important; }
.badge.bg-warning, .badge.text-bg-warning { color: #3b2a00 !important; }
.badge.bg-info, .badge.text-bg-info { color: #062c36 !important; }
.badge.bg-light { color: var(--ink) !important; }
body { text-rendering: optimizeLegibility; }
:where(.btn, .form-control, .form-select) { transition: background-color .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } }
::selection { background: rgba(var(--gold-rgb), .35); }
[data-bs-theme=dark] ::-webkit-scrollbar { width: 11px; height: 11px; }
[data-bs-theme=dark] ::-webkit-scrollbar-thumb { background: #3a4542; border-radius: 8px; border: 3px solid var(--canvas); }
[data-bs-theme=dark] ::-webkit-scrollbar-track { background: var(--canvas); }

/* Public pages: tinted bands and the application-form hero */
[data-bs-theme=dark] .section-parch, [data-bs-theme=dark] .section-cream, [data-bs-theme=dark] .section-alt { background: var(--surface-2) !important; }
[data-bs-theme=dark] .form-hero h1, [data-bs-theme=dark] .form-hero h2, [data-bs-theme=dark] .form-hero p { color: #fff !important; }
[data-bs-theme=dark] .bi-lang { background: rgba(var(--forest-rgb), .28); color: var(--forest-ink); }

/* Phones: wide gutters (g-4/g-5) no longer push the page sideways */
@media (max-width: 767.98px) { .container > .row.g-4, .container > .row.g-5, .container > .row.g-lg-5, .row.g-5 { --bs-gutter-x: 1.5rem; } }
