/* Paleta corporativa SIBALnet — se invierte con data-bs-theme (Bootstrap 5.3+). */

:root,
[data-bs-theme="dark"] {
    color-scheme: dark;
    --sibal-bg-1: #252D3A;
    --sibal-bg-2: #2C3645;
    --sibal-surface: #1E2633;
    --sibal-text: #ECF0F1;
    --sibal-muted: #BDC3C7;
    --sibal-muted-2: #95A5A6;
    --sibal-muted-3: #7F8C9B;
    --sibal-faint: #4A5A6D;
    --sibal-accent: #3A8BD4;
    --sibal-accent-2: #2C5F9E;
    --sibal-accent-light: #6FB1E8;
    --sibal-card: rgba(52, 73, 94, 0.4);
    --sibal-border: rgba(255, 255, 255, 0.12);
    --sibal-header-border: rgba(255, 255, 255, 0.1);
    --sibal-panel-shade: rgba(0, 0, 0, 0.18);
    --sibal-on-accent: #ffffff;
    --sibal-control-bg: rgba(37, 45, 58, 0.85);
    --sibal-control-bg-muted: rgba(37, 45, 58, 0.45);
    --sibal-control-inset: rgba(0, 0, 0, 0.25);
    --sibal-control-border: rgba(255, 255, 255, 0.15);
    --sibal-btn-bg: rgba(37, 45, 58, 0.7);
    --sibal-header-bg: rgba(37, 45, 58, 0.5);
    --sibal-elevated: rgba(44, 54, 69, 0.95);
    --sibal-toolbar-bg: rgba(24, 32, 44, 0.96);
    --sibal-datasheet-bg: rgba(15, 32, 48, 0.85);
    --sibal-select2-bg: #111b27;
    --sibal-select2-search: #0d1520;
    --sibal-link-highlight: #F1C40F;
    --sibal-link-highlight-hover: #F9E79F;
    --sibal-info-fg: #BFDCF5;
    --bs-body-bg: var(--sibal-bg-1);
    --bs-body-color: var(--sibal-text);
}

[data-bs-theme="light"] {
    color-scheme: light;
    --sibal-bg-1: #eef2f6;
    --sibal-bg-2: #f7f9fc;
    --sibal-surface: #ffffff;
    --sibal-text: #1e2633;
    --sibal-muted: #4a5563;
    --sibal-muted-2: #5c6b7a;
    --sibal-muted-3: #6b7c8d;
    --sibal-faint: #9aa8b5;
    --sibal-accent: #2C5F9E;
    --sibal-accent-2: #1e4a7a;
    --sibal-accent-light: #3A8BD4;
    --sibal-card: #ffffff;
    --sibal-border: rgba(30, 38, 51, 0.14);
    --sibal-header-border: rgba(30, 38, 51, 0.12);
    --sibal-panel-shade: rgba(30, 38, 51, 0.06);
    --sibal-on-accent: #ffffff;
    --sibal-control-bg: #ffffff;
    --sibal-control-bg-muted: #e8eef5;
    --sibal-control-inset: #f3f6fa;
    --sibal-control-border: rgba(30, 38, 51, 0.22);
    --sibal-btn-bg: #ffffff;
    --sibal-header-bg: #e8eef5;
    --sibal-elevated: #ffffff;
    --sibal-toolbar-bg: rgba(255, 255, 255, 0.97);
    --sibal-datasheet-bg: #ffffff;
    --sibal-select2-bg: #ffffff;
    --sibal-select2-search: #ffffff;
    --sibal-link-highlight: #b45309;
    --sibal-link-highlight-hover: #92400e;
    --sibal-info-fg: #1e4a7a;
    --bs-body-bg: var(--sibal-bg-1);
    --bs-body-color: var(--sibal-text);
}

/* Contraste de controles: el texto ya sigue --sibal-text; el fondo no puede quedarse oscuro. */
[data-bs-theme="light"] .btn-tool-primario,
[data-bs-theme="light"] .btn-tool-primario:hover,
[data-bs-theme="light"] .login-btn {
    color: var(--sibal-on-accent);
}

[data-bs-theme="light"] .btn-tool-primario i,
[data-bs-theme="light"] .login-btn i {
    color: var(--sibal-on-accent);
}

[data-bs-theme="light"] .login-form input,
[data-bs-theme="dark"] .login-form input {
    background-color: var(--sibal-control-bg);
    color: var(--sibal-text);
    caret-color: var(--sibal-text);
}

[data-bs-theme="light"] .login-form input::placeholder,
[data-bs-theme="dark"] .login-form input::placeholder {
    color: var(--sibal-muted-2);
    opacity: 1;
}

.js-theme-toggle {
    cursor: pointer;
}

.login-theme-toggle {
    position: absolute;
    top: 1rem;
    right: 1rem;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    border: 1px solid var(--sibal-border);
    background: var(--sibal-surface);
    color: var(--sibal-text);
    border-radius: 999px;
    padding: 0.4rem 0.75rem;
    font-size: 0.85rem;
    font-family: inherit;
}

.login-theme-toggle:hover {
    border-color: var(--sibal-accent);
    color: var(--sibal-accent);
}

.login-panel {
    position: relative;
}
