/* ============================================================
   Brand palette — the portal's accent colour, in one place.

   Everything below derives from the six --oubs-green* tokens, so
   Settings → Appearance can restyle the whole portal by setting
   those tokens inline on <html> (see assets/js/theme.js). Nothing
   here should hardcode a brand hex again — use var() so a theme
   swap reaches it.

   The token names still say "green" because they are referenced
   across every stylesheet and view; the default preset IS green.
   ============================================================ */
:root {
    --oubs-green: #067a43;
    --oubs-green-dark: #035a31;
    --oubs-green-mid: #0d8e4f;
    --oubs-green-soft: #e8f5ec;
    --oubs-green-rgb: 6, 122, 67;
    --oubs-green-dark-rgb: 3, 90, 49;

    --oubs-gold: #d4a31b;
    --oubs-gold-soft: #f6ebc7;
    --oubs-gold-rgb: 212, 163, 27;

    --bs-primary: var(--oubs-green);
    --bs-primary-rgb: var(--oubs-green-rgb);
    --bs-primary-text-emphasis: var(--oubs-green-dark);
    --bs-primary-bg-subtle: var(--oubs-green-soft);
    --bs-primary-border-subtle: rgba(var(--oubs-green-rgb), 0.42);

    --bs-link-color: var(--oubs-green);
    --bs-link-color-rgb: var(--oubs-green-rgb);
    --bs-link-hover-color: var(--oubs-green-dark);
    --bs-link-hover-color-rgb: var(--oubs-green-dark-rgb);

    --bs-focus-ring-color: rgba(var(--oubs-green-rgb), 0.28);
    --bs-info: var(--oubs-green-mid);
    --bs-warning: var(--oubs-gold);
    --bs-warning-rgb: var(--oubs-gold-rgb);
}

.btn-primary,
.text-bg-primary {
    --bs-btn-bg: var(--oubs-green);
    --bs-btn-border-color: var(--oubs-green);
    --bs-btn-hover-bg: var(--oubs-green-dark);
    --bs-btn-hover-border-color: var(--oubs-green-dark);
    --bs-btn-active-bg: var(--oubs-green-dark);
    --bs-btn-active-border-color: var(--oubs-green-dark);
    --bs-btn-focus-shadow-rgb: var(--oubs-green-rgb);
}

/* btn-success doubles as the portal's primary action button ("Review",
   "Open", "Submit") so it follows the accent too. Semantic success
   surfaces — alert-success, text-bg-success badges — stay Bootstrap
   green on purpose: "saved OK" must not turn maroon with the theme. */
.btn-success {
    --bs-btn-bg: var(--oubs-green);
    --bs-btn-border-color: var(--oubs-green);
    --bs-btn-hover-bg: var(--oubs-green-dark);
    --bs-btn-hover-border-color: var(--oubs-green-dark);
    --bs-btn-active-bg: var(--oubs-green-dark);
    --bs-btn-active-border-color: var(--oubs-green-dark);
    --bs-btn-disabled-bg: var(--oubs-green);
    --bs-btn-disabled-border-color: var(--oubs-green);
    --bs-btn-focus-shadow-rgb: var(--oubs-green-rgb);
}

.btn-outline-success {
    --bs-btn-color: var(--oubs-green);
    --bs-btn-border-color: var(--oubs-green);
    --bs-btn-hover-bg: var(--oubs-green);
    --bs-btn-hover-border-color: var(--oubs-green);
    --bs-btn-active-bg: var(--oubs-green);
    --bs-btn-active-border-color: var(--oubs-green);
    --bs-btn-focus-shadow-rgb: var(--oubs-green-rgb);
}

.btn-primary {
    box-shadow: 0 8px 20px rgba(var(--oubs-green-rgb), 0.2), 0 0 0 1px rgba(var(--oubs-gold-rgb), 0.35) inset;
}

.btn-primary:hover {
    box-shadow: 0 10px 22px rgba(var(--oubs-green-dark-rgb), 0.24), 0 0 0 1px rgba(var(--oubs-gold-rgb), 0.5) inset;
}

.badge.text-bg-primary,
.badge.bg-primary {
    background: linear-gradient(135deg, var(--oubs-green) 0%, var(--oubs-green-mid) 72%, var(--oubs-gold) 100%) !important;
    color: #fff !important;
    border: 1px solid rgba(var(--oubs-gold-rgb), 0.6);
}

.badge {
    box-shadow: 0 2px 8px rgba(var(--oubs-gold-rgb), 0.18);
}

.form-control:focus,
.form-select:focus,
.form-check-input:focus {
    border-color: rgba(var(--oubs-green-rgb), 0.5);
    box-shadow: 0 0 0 0.2rem rgba(var(--oubs-green-rgb), 0.14);
}

.nav-pills .nav-link.active,
.pagination .page-item.active .page-link {
    background-color: var(--oubs-green);
    border-color: var(--oubs-green);
}

.page-link,
.text-primary {
    color: var(--oubs-green) !important;
}

.page-link:hover,
.text-primary:hover {
    color: #8f6a05 !important;
}

.border-primary {
    border-color: rgba(var(--oubs-green-rgb), 0.55) !important;
}

::selection {
    background: rgba(var(--oubs-gold-rgb), 0.28);
    color: #132238;
}
