/**
 * SAJA user-selectable color themes (html[data-saja-theme]).
 * Default: green (dark green → pistachio soft).
 */

html[data-saja-theme="green"],
html:not([data-saja-theme]) {
    --saja-accent: #1b6b42;
    --saja-accent-soft: #e8f5ec;
    --saja-accent-dark: #0d4a2d;
    --saja-accent-rgb: 27, 107, 66;
    --saja-theme-bar: #1b6b42;
}

html[data-saja-theme="blue"] {
    --saja-accent: #2c7be5;
    --saja-accent-soft: #e7f1ff;
    --saja-accent-dark: #1a56b4;
    --saja-accent-rgb: 44, 123, 229;
    --saja-theme-bar: #2c7be5;
}

html[data-saja-theme="navy"] {
    --saja-accent: #1e3a5f;
    --saja-accent-soft: #e8eef5;
    --saja-accent-dark: #122640;
    --saja-accent-rgb: 30, 58, 95;
    --saja-theme-bar: #1e3a5f;
}

html[data-saja-theme="orange"] {
    --saja-accent: #e65100;
    --saja-accent-soft: #fff3e0;
    --saja-accent-dark: #bf360c;
    --saja-accent-rgb: 230, 81, 0;
    --saja-theme-bar: #e65100;
}

html[data-saja-theme="turquoise"] {
    --saja-accent: #00897b;
    --saja-accent-soft: #e0f2f1;
    --saja-accent-dark: #00695c;
    --saja-accent-rgb: 0, 137, 123;
    --saja-theme-bar: #00897b;
}

html[data-saja-theme="gold"] {
    --saja-accent: #b8860b;
    --saja-accent-soft: #fff8e1;
    --saja-accent-dark: #8b6910;
    --saja-accent-rgb: 184, 134, 11;
    --saja-theme-bar: #b8860b;
}

html[data-saja-theme="bronze"] {
    --saja-accent: #8d6e63;
    --saja-accent-soft: #efebe9;
    --saja-accent-dark: #6d4c41;
    --saja-accent-rgb: 141, 110, 99;
    --saja-theme-bar: #8d6e63;
}

html[data-saja-theme="pink"] {
    --saja-accent: #c2185b;
    --saja-accent-soft: #fce4ec;
    --saja-accent-dark: #880e4f;
    --saja-accent-rgb: 194, 24, 91;
    --saja-theme-bar: #c2185b;
}

html[data-saja-theme="purple"] {
    --saja-accent: #7b1fa2;
    --saja-accent-soft: #f3e5f5;
    --saja-accent-dark: #4a148c;
    --saja-accent-rgb: 123, 31, 162;
    --saja-theme-bar: #7b1fa2;
}

html[data-saja-theme="red"] {
    --saja-accent: #c62828;
    --saja-accent-soft: #ffebee;
    --saja-accent-dark: #8e0000;
    --saja-accent-rgb: 198, 40, 40;
    --saja-theme-bar: #c62828;
}

html[data-saja-theme="black"] {
    --saja-accent: #37474f;
    --saja-accent-soft: #eceff1;
    --saja-accent-dark: #102027;
    --saja-accent-rgb: 55, 71, 79;
    --saja-theme-bar: #263238;
}

/* Map Falcon theme tokens to user accent (loaded after theme.min.css) */
html[data-saja-theme] {
    --falcon-primary: var(--saja-accent);
    --falcon-primary-rgb: var(--saja-accent-rgb);
    --falcon-link-color: var(--saja-accent);
    --falcon-link-hover-color: var(--saja-accent-dark);
    --falcon-info: var(--saja-accent);
    --falcon-info-rgb: var(--saja-accent-rgb);
    --falcon-btn-falcon-primary-color: var(--saja-accent);
    --falcon-btn-link-color: var(--saja-accent);
    --falcon-component-active-bg: var(--saja-accent);
    --falcon-form-check-input-checked-bg-color: var(--saja-accent);
    --falcon-form-check-input-checked-border-color: var(--saja-accent);
    --falcon-form-check-input-indeterminate-bg-color: var(--saja-accent);
    --falcon-form-check-input-indeterminate-border-color: var(--saja-accent);
    --falcon-nav-pills-link-active-bg: var(--saja-accent);
    --falcon-pagination-active-bg: var(--saja-accent);
    --falcon-pagination-active-border-color: var(--saja-accent);
    --falcon-pagination-hover-bg: var(--saja-accent);
    --falcon-pagination-hover-border-color: var(--saja-accent);
    --falcon-navbar-light-brand-color: var(--saja-accent);
    --falcon-navbar-dark-brand-color: var(--saja-accent);
    --falcon-navbar-vertical-link-active-color: var(--saja-accent);
    --falcon-dropdown-link-active-bg: var(--saja-accent);
    --falcon-input-btn-focus-color: rgba(var(--saja-accent-rgb), 0.25);
    --falcon-form-select-focus-box-shadow: 0 0 0 0.25rem rgba(var(--saja-accent-rgb), 0.25);
    --falcon-form-range-thumb-bg: var(--saja-accent);
}

/* Accent-driven UI hooks — use background shorthand to beat Falcon gradients */
.btn-primary,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.show > .btn-primary.dropdown-toggle,
.bg-primary {
    background: var(--saja-accent) !important;
    background-color: var(--saja-accent) !important;
    border-color: var(--saja-accent) !important;
}
.btn-primary:hover,
.btn-primary:focus-visible {
    background: var(--saja-accent-dark) !important;
    background-color: var(--saja-accent-dark) !important;
    border-color: var(--saja-accent-dark) !important;
}
.btn-outline-primary {
    color: var(--saja-accent) !important;
    border-color: var(--saja-accent) !important;
    background: transparent !important;
    background-color: transparent !important;
}
.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active,
.btn-check:checked + .btn-outline-primary,
.btn-check:checked + .btn-outline-primary:hover,
.btn-check:checked + .btn-outline-primary:focus,
.btn-check:checked + .btn-outline-primary:active {
    background: var(--saja-accent) !important;
    background-color: var(--saja-accent) !important;
    border-color: var(--saja-accent) !important;
    color: #fff !important;
}
.saja-location-scope .btn-outline-primary:not(:hover):not(:focus) {
    background: transparent !important;
    color: var(--saja-accent) !important;
}
.text-primary { color: var(--saja-accent) !important; }
a.text-primary:hover { color: var(--saja-accent-dark) !important; }
.badge-soft-primary,
.badge.bg-soft-primary {
    background: var(--saja-accent-soft) !important;
    color: var(--saja-accent) !important;
}
.badge-soft-success { background: var(--saja-accent-soft) !important; color: var(--saja-accent) !important; }

.navbar-vertical .navbar-nav .nav-link.active,
.navbar-vertical .navbar-nav .nav-link:hover {
    color: var(--saja-accent);
}
.navbar-vertical .navbar-nav .nav-link.active .nav-link-icon {
    color: var(--saja-accent);
}

.saja-theme-picker {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(5.5rem, 1fr));
    gap: .65rem;
}
.saja-theme-option {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .35rem;
    padding: .55rem .35rem;
    border: 2px solid var(--saja-line, #e3e6ed);
    border-radius: .75rem;
    background: #fff;
    cursor: pointer;
    transition: border-color .15s, box-shadow .15s, transform .1s;
    text-align: center;
}
.saja-theme-option:hover {
    border-color: var(--saja-accent);
    box-shadow: 0 4px 12px rgba(0, 0, 0, .08);
}
.saja-theme-option.is-active {
    border-color: var(--saja-accent);
    box-shadow: 0 0 0 3px var(--saja-accent-soft);
}
.saja-theme-swatch {
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .08);
}
.saja-theme-option-label {
    font-size: .68rem;
    font-weight: 700;
    color: var(--saja-text, #344050);
    line-height: 1.25;
}

/* Readable button labels across all SAJA color themes */
.btn-primary,
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.disabled,
.btn-primary:disabled {
    color: #fff !important;
}
.btn-success,
.btn-success:hover,
.btn-success:focus,
.btn-success:active {
    color: #fff !important;
}
.btn-danger,
.btn-danger:hover,
.btn-danger:focus,
.btn-danger:active {
    color: #fff !important;
}
.btn-info,
.btn-info:hover,
.btn-info:focus,
.btn-info:active {
    color: #fff !important;
}
.btn-secondary,
.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary:active {
    color: #fff !important;
}
.btn-warning,
.btn-warning:hover,
.btn-warning:focus,
.btn-warning:active {
    color: #1a1a1a !important;
}
.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active,
.btn-check:checked + .btn-outline-primary {
    color: #fff !important;
}
.btn-outline-success:hover,
.btn-outline-success:focus,
.btn-outline-success:active,
.btn-check:checked + .btn-outline-success {
    color: #fff !important;
}
.btn-outline-danger:hover,
.btn-outline-danger:focus,
.btn-outline-danger:active,
.btn-check:checked + .btn-outline-danger {
    color: #fff !important;
}
.btn-light,
.btn-falcon-default,
.btn-outline-secondary {
    color: var(--saja-text, #344050) !important;
}
.btn-light:hover,
.btn-falcon-default:hover,
.btn-outline-secondary:hover {
    color: var(--saja-text, #344050) !important;
}
.btn-link {
    color: var(--saja-accent) !important;
    text-decoration: none;
}
.btn-link:hover {
    color: var(--saja-accent-dark) !important;
}
.card .btn,
.content .btn,
form .btn {
    font-weight: 600;
}
.setting-toggle {
    display: none !important;
}

/* Falcon / Bootstrap accents → user theme */
.text-info,
a.text-info:hover {
    color: var(--saja-accent) !important;
}
.bg-info,
.btn-info {
    background-color: var(--saja-accent) !important;
    border-color: var(--saja-accent) !important;
}
.btn-info:hover,
.btn-info:focus {
    background-color: var(--saja-accent-dark) !important;
    border-color: var(--saja-accent-dark) !important;
}
.bg-card-gradient {
    background: linear-gradient(135deg, var(--saja-accent-dark) 0%, var(--saja-accent) 52%, color-mix(in srgb, var(--saja-accent) 65%, white) 100%) !important;
}
.form-check-input:checked,
.form-switch .form-check-input:checked {
    background-color: var(--saja-accent) !important;
    border-color: var(--saja-accent) !important;
}
.form-control:focus,
.form-select:focus {
    border-color: color-mix(in srgb, var(--saja-accent) 55%, var(--saja-line)) !important;
    box-shadow: 0 0 0 .2rem rgba(var(--saja-accent-rgb), .15) !important;
}
.page-link,
.pagination .page-item.active .page-link {
    color: var(--saja-accent);
}
.page-item.active .page-link {
    background-color: var(--saja-accent) !important;
    border-color: var(--saja-accent) !important;
}
.nav-tabs .nav-link.active,
.nav-pills .nav-link.active {
    color: var(--saja-accent) !important;
}
.spinner-border.text-primary,
.text-info > .fas,
.text-info > .far,
.text-info > .fab {
    color: var(--saja-accent) !important;
}
.hover-primary:hover,
.dropdown-item.hover-primary:hover {
    color: var(--saja-accent) !important;
}
.notification-indicator-primary::before {
    background-color: var(--saja-accent) !important;
}

.alert-info {
    background-color: var(--saja-accent-soft) !important;
    border-color: color-mix(in srgb, var(--saja-accent) 28%, white) !important;
    color: var(--saja-accent-dark) !important;
}

.alert-info .alert-link {
    color: var(--saja-accent-dark) !important;
}

/* Legacy mobile palette → user theme */
.bg-default,
.card.bg-default {
    background-color: var(--saja-accent-soft) !important;
    color: var(--saja-accent-dark) !important;
    border-color: color-mix(in srgb, var(--saja-accent) 22%, white) !important;
}
.text-default {
    color: var(--saja-accent) !important;
}
.bg-default-light {
    background-color: var(--saja-accent-soft) !important;
}

.progress-bar.bg-primary {
    background-color: var(--saja-accent) !important;
}
