/* =========================================
   Bootstrap → LSSA Token Bridge
   Loaded AFTER bootstrap.min.css and BEFORE site.css.
   Redirects Bootstrap's --bs-* variables to our --ls-* tokens so every
   Bootstrap component (badges, tables, form-controls, modals, etc.)
   inherits the green accent and dark surfaces automatically.
   ========================================= */

:root,
[data-bs-theme="dark"],
[data-bs-theme="light"] {
    /* Body */
    --bs-body-bg: var(--ls-bg-base);
    --bs-body-color: var(--ls-text);
    --bs-body-color-rgb: 255, 255, 255;
    --bs-body-bg-rgb: 18, 18, 18;

    /* Links */
    --bs-link-color: var(--ls-accent);
    --bs-link-color-rgb: 0, 188, 140;
    --bs-link-hover-color: var(--ls-accent);
    --bs-link-hover-color-rgb: 0, 188, 140;

    /* Semantic colors */
    --bs-primary: var(--ls-accent);
    --bs-primary-rgb: 0, 188, 140;
    --bs-success: var(--ls-success);
    --bs-success-rgb: 45, 206, 137;
    --bs-info: var(--ls-info);
    --bs-info-rgb: 52, 152, 219;
    --bs-warning: var(--ls-warning);
    --bs-warning-rgb: 246, 194, 62;
    --bs-danger: var(--ls-danger);
    --bs-danger-rgb: 231, 76, 60;

    /* Surfaces */
    --bs-dark: var(--ls-bg-panel);
    --bs-dark-rgb: 26, 26, 26;
    --bs-secondary-bg: var(--ls-bg-card);
    --bs-secondary-bg-rgb: 30, 30, 30;
    --bs-tertiary-bg: var(--ls-bg-input);
    --bs-tertiary-bg-rgb: 43, 43, 43;

    /* Borders */
    --bs-border-color: var(--ls-border);
    --bs-border-color-translucent: var(--ls-border-subtle);

    /* Emphasis / muted text */
    --bs-emphasis-color: var(--ls-text);
    --bs-emphasis-color-rgb: 255, 255, 255;
    --bs-secondary-color: var(--ls-text-muted);
    --bs-secondary-color-rgb: 160, 160, 160;
    --bs-tertiary-color: var(--ls-text-faint);
}

/* ---- Baseline surfaces for Bootstrap components not overridden elsewhere ---- */

body {
    background-color: var(--ls-bg-base);
    color: var(--ls-text);
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* Form controls inherit token surface */
.form-control,
.form-select {
    background-color: var(--ls-bg-input);
    color: var(--ls-text);
    border-color: var(--ls-border);
}

.form-control:focus,
.form-select:focus {
    background-color: var(--ls-bg-input);
    color: var(--ls-text);
    border-color: var(--ls-accent);
    box-shadow: 0 0 0 0.2rem var(--ls-accent-glow);
}

.form-control::placeholder {
    color: var(--ls-text-faint);
}

/* Cards default to token surface */
.card {
    background-color: var(--ls-bg-card);
    border-color: var(--ls-border-subtle);
    color: var(--ls-text);
}

/* Tables */
.table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--ls-text);
    --bs-table-border-color: var(--ls-border-subtle);
    --bs-table-striped-bg: rgba(255, 255, 255, 0.03);
    --bs-table-hover-bg: var(--ls-neutral-bg);
    --bs-table-hover-color: var(--ls-text);
    color: var(--ls-text);
}

/* Dropdowns — keep legacy support; specific layouts override */
.dropdown-menu {
    --bs-dropdown-bg: var(--ls-bg-input);
    --bs-dropdown-color: var(--ls-text);
    --bs-dropdown-border-color: var(--ls-border-subtle);
    --bs-dropdown-link-color: var(--ls-text);
    --bs-dropdown-link-hover-bg: var(--ls-neutral-bg);
    --bs-dropdown-link-hover-color: var(--ls-text);
    --bs-dropdown-link-active-bg: var(--ls-accent-bg);
    --bs-dropdown-link-active-color: var(--ls-accent);
}

/* Close button visible on dark backgrounds (modal headers etc.) */
.btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
}

/* Links default to accent */
a {
    color: var(--ls-accent);
}

a:hover {
    color: var(--ls-accent);
    filter: brightness(1.15);
}
