/* SSixtoMarca: tema oscuro + acento amarillo corporativo (#F5B800), sobre Bootstrap 5.3 */

:root,
[data-bs-theme=dark] {
    --ss-accent: #F5B800;
    --ss-accent-hover: #ffc933;
    --ss-accent-active: #d9a300;
    --ss-ink: #1c1c1e;
    --ss-nav: #121214;

    --bs-primary: #F5B800;
    --bs-primary-rgb: 245, 184, 0;
    --bs-primary-text-emphasis: #ffd966;
    --bs-primary-bg-subtle: #3a2e05;
    --bs-primary-border-subtle: #6b5409;
    --bs-link-color: #F5B800;
    --bs-link-color-rgb: 245, 184, 0;
    --bs-link-hover-color: #ffc933;
    --bs-link-hover-color-rgb: 255, 201, 51;
    --bs-focus-ring-color: rgba(245, 184, 0, .25);
}

[data-bs-theme=dark] {
    --bs-body-bg: #1c1c1e;
    --bs-body-bg-rgb: 28, 28, 30;
    --bs-secondary-bg: #252528;
    --bs-secondary-bg-rgb: 37, 37, 40;
    --bs-tertiary-bg: #2a2a2d;
    --bs-tertiary-bg-rgb: 42, 42, 45;
    --bs-border-color: #3a3a3e;
    --bs-border-color-translucent: rgba(255, 255, 255, .12);
}

/* barra superior */
.navbar.bg-primary {
    background-color: var(--ss-nav) !important;
    border-bottom: 2px solid var(--ss-accent);
    --bs-navbar-hover-color: var(--ss-accent);
    --bs-navbar-active-color: var(--ss-accent);
}

.navbar .navbar-brand {
    color: #fff;
}

.navbar .nav-link.active,
.navbar .nav-link:hover,
.navbar .nav-link:focus {
    color: var(--ss-accent);
}

/* botones */
.btn-primary {
    --bs-btn-color: var(--ss-ink);
    --bs-btn-bg: var(--ss-accent);
    --bs-btn-border-color: var(--ss-accent);
    --bs-btn-hover-color: var(--ss-ink);
    --bs-btn-hover-bg: var(--ss-accent-hover);
    --bs-btn-hover-border-color: var(--ss-accent-hover);
    --bs-btn-focus-shadow-rgb: 245, 184, 0;
    --bs-btn-active-color: var(--ss-ink);
    --bs-btn-active-bg: var(--ss-accent-active);
    --bs-btn-active-border-color: var(--ss-accent-active);
    --bs-btn-disabled-color: var(--ss-ink);
    --bs-btn-disabled-bg: var(--ss-accent);
    --bs-btn-disabled-border-color: var(--ss-accent);
}

.btn-outline-primary {
    --bs-btn-color: var(--ss-accent);
    --bs-btn-border-color: var(--ss-accent);
    --bs-btn-hover-color: var(--ss-ink);
    --bs-btn-hover-bg: var(--ss-accent);
    --bs-btn-hover-border-color: var(--ss-accent);
    --bs-btn-active-color: var(--ss-ink);
    --bs-btn-active-bg: var(--ss-accent);
    --bs-btn-active-border-color: var(--ss-accent);
    --bs-btn-disabled-color: var(--ss-accent);
    --bs-btn-disabled-border-color: var(--ss-accent);
}

/* elementos activos con texto oscuro sobre amarillo */
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link,
.list-group-item.active,
.dropdown-item.active,
.dropdown-item:active,
.page-item.active .page-link {
    color: var(--ss-ink);
    background-color: var(--ss-accent);
    border-color: var(--ss-accent);
}

.nav-tabs .nav-link.active {
    border-bottom-color: var(--ss-accent);
}

/* formularios */
.form-check-input:checked,
.form-check-input[type=checkbox]:indeterminate {
    background-color: var(--ss-accent);
    border-color: var(--ss-accent);
}

.form-check-input:checked[type=checkbox] {
    --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%231c1c1e' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}

.form-control:focus,
.form-select:focus,
.form-check-input:focus {
    border-color: var(--ss-accent);
    box-shadow: 0 0 0 .25rem rgba(245, 184, 0, .25);
}

.progress-bar {
    background-color: var(--ss-accent);
    color: var(--ss-ink);
}

/* pantalla de entrada */
.ss-login-card {
    border-radius: .75rem;
    overflow: hidden;
}

.ss-login-logo {
    display: block;
    width: 100%;
    max-width: 420px;
    margin: 1.75rem auto .5rem;
    padding: 0 1.5rem;
}

/* dos logos: el de texto blanco para el tema oscuro y el de texto oscuro para el claro */
.ss-login-logo.ss-logo-claro {
    display: none;
}

[data-bs-theme=light] .ss-login-logo.ss-logo-oscuro {
    display: none;
}

[data-bs-theme=light] .ss-login-logo.ss-logo-claro {
    display: block;
}

.ss-login-card .input-group-text {
    color: var(--ss-accent);
}

[data-bs-theme=light] .ss-login-card .input-group-text {
    color: #8a6400;
}

[data-bs-theme=light] .ss-login-card {
    box-shadow: 0 .5rem 1.5rem rgba(28, 28, 30, .08);
}

/* ---- correcciones del tema oscuro: clases «claras» que usa FS ---- */
[data-bs-theme=dark] {
    --ss-field: #2e2e33;
    --ss-field-border: #50505a;
    --ss-panel: #232326;
}

/* franjas y paneles que FS pinta en claro */
[data-bs-theme=dark] .bg-light {
    background-color: var(--ss-panel) !important;
}

[data-bs-theme=dark] .bg-white {
    background-color: var(--bs-body-bg) !important;
}

[data-bs-theme=dark] .text-dark {
    color: var(--bs-body-color) !important;
}

[data-bs-theme=dark] .table-light,
[data-bs-theme=dark] .table-light > th,
[data-bs-theme=dark] .table-light > td {
    --bs-table-bg: var(--ss-panel);
    --bs-table-color: var(--bs-body-color);
    --bs-table-border-color: var(--bs-border-color);
}

/* campos: más claros que el fondo y con borde visible */
[data-bs-theme=dark] .form-control,
[data-bs-theme=dark] .form-select,
[data-bs-theme=dark] textarea.form-control {
    background-color: var(--ss-field);
    border-color: var(--ss-field-border);
}

[data-bs-theme=dark] .form-control::placeholder {
    color: #8a8a92;
}

[data-bs-theme=dark] .input-group-text {
    background-color: #3a3a40;
    border-color: var(--ss-field-border);
    color: #d6d6da;
}

/* campos de solo lectura o desactivados: apagados pero legibles */
[data-bs-theme=dark] .form-control:disabled,
[data-bs-theme=dark] .form-control[readonly],
[data-bs-theme=dark] .form-select:disabled,
[data-bs-theme=dark] .form-control.bg-light {
    background-color: #26262a !important;
    border-color: #3d3d44;
    color: #a9a9b0;
    opacity: 1;
}

/* botones «claros» */
[data-bs-theme=dark] .btn-light {
    --bs-btn-color: #e6e6e8;
    --bs-btn-bg: #34343a;
    --bs-btn-border-color: #4a4a52;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #43434a;
    --bs-btn-hover-border-color: #5a5a63;
    --bs-btn-active-color: var(--ss-ink);
    --bs-btn-active-bg: var(--ss-accent);
    --bs-btn-active-border-color: var(--ss-accent);
    --bs-btn-disabled-color: #8a8a92;
    --bs-btn-disabled-bg: #2a2a2e;
    --bs-btn-disabled-border-color: #3d3d44;
}

[data-bs-theme=dark] .btn-light.active {
    color: var(--ss-ink);
    background-color: var(--ss-accent);
    border-color: var(--ss-accent);
}

[data-bs-theme=dark] .btn-secondary {
    --bs-btn-border-color: #5a5a63;
}

/* tarjetas, listas y ventanas */
[data-bs-theme=dark] .card,
[data-bs-theme=dark] .modal-content,
[data-bs-theme=dark] .dropdown-menu,
[data-bs-theme=dark] .list-group-item {
    border-color: #3d3d44;
}

[data-bs-theme=dark] .card,
[data-bs-theme=dark] .modal-content {
    background-color: var(--ss-panel);
}

[data-bs-theme=dark] .dropdown-menu {
    background-color: #2a2a2e;
}

/* ---- filas de listados y resultados (Bootstrap no oscurece las variantes table-*) ---- */
[data-bs-theme=dark] .table-danger,
[data-bs-theme=dark] .table-success,
[data-bs-theme=dark] .table-warning,
[data-bs-theme=dark] .table-info,
[data-bs-theme=dark] .table-primary,
[data-bs-theme=dark] .table-secondary {
    --bs-table-color: var(--bs-body-color);
    --bs-table-striped-color: var(--bs-body-color);
    --bs-table-hover-color: #fff;
    --bs-table-active-color: #fff;
}

[data-bs-theme=dark] .table-danger {
    --bs-table-bg: rgba(220, 53, 69, .20);
    --bs-table-striped-bg: rgba(220, 53, 69, .24);
    --bs-table-hover-bg: rgba(220, 53, 69, .32);
    --bs-table-active-bg: rgba(220, 53, 69, .36);
    --bs-table-border-color: rgba(220, 53, 69, .35);
}

[data-bs-theme=dark] .table-success {
    --bs-table-bg: rgba(25, 135, 84, .26);
    --bs-table-striped-bg: rgba(25, 135, 84, .30);
    --bs-table-hover-bg: rgba(25, 135, 84, .38);
    --bs-table-active-bg: rgba(25, 135, 84, .42);
    --bs-table-border-color: rgba(25, 135, 84, .40);
}

[data-bs-theme=dark] .table-warning {
    --bs-table-bg: rgba(245, 184, 0, .18);
    --bs-table-striped-bg: rgba(245, 184, 0, .22);
    --bs-table-hover-bg: rgba(245, 184, 0, .30);
    --bs-table-active-bg: rgba(245, 184, 0, .34);
    --bs-table-border-color: rgba(245, 184, 0, .35);
}

[data-bs-theme=dark] .table-info {
    --bs-table-bg: rgba(13, 202, 240, .16);
    --bs-table-striped-bg: rgba(13, 202, 240, .20);
    --bs-table-hover-bg: rgba(13, 202, 240, .28);
    --bs-table-active-bg: rgba(13, 202, 240, .32);
    --bs-table-border-color: rgba(13, 202, 240, .30);
}

[data-bs-theme=dark] .table-primary {
    --bs-table-bg: rgba(245, 184, 0, .16);
    --bs-table-border-color: rgba(245, 184, 0, .30);
}

[data-bs-theme=dark] .table-secondary {
    --bs-table-bg: rgba(255, 255, 255, .08);
    --bs-table-border-color: rgba(255, 255, 255, .15);
}

/* ---- selectores (Select2 con tema Bootstrap 5) ---- */
[data-bs-theme=dark] .select2-container--bootstrap-5 .select2-selection {
    background-color: var(--ss-field);
    border-color: var(--ss-field-border);
    color: var(--bs-body-color);
}

[data-bs-theme=dark] .select2-container--bootstrap-5 .select2-selection--single {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}

[data-bs-theme=dark] .select2-container--bootstrap-5 .select2-selection--single .select2-selection__rendered,
[data-bs-theme=dark] .select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__choice {
    color: var(--bs-body-color);
}

[data-bs-theme=dark] .select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__choice {
    background-color: #3a3a40;
    border-color: var(--ss-field-border);
}

[data-bs-theme=dark] .select2-container--bootstrap-5 .select2-selection__placeholder {
    color: #8a8a92;
}

[data-bs-theme=dark] .select2-container--bootstrap-5.select2-container--focus .select2-selection,
[data-bs-theme=dark] .select2-container--bootstrap-5.select2-container--open .select2-selection {
    border-color: var(--ss-accent);
    box-shadow: 0 0 0 .25rem rgba(245, 184, 0, .25);
}

[data-bs-theme=dark] .select2-container--bootstrap-5.select2-container--disabled .select2-selection {
    background-color: #26262a;
    color: #a9a9b0;
}

[data-bs-theme=dark] .select2-container--bootstrap-5 .select2-dropdown {
    background-color: #2a2a2e;
    border-color: var(--ss-field-border);
    color: var(--bs-body-color);
}

[data-bs-theme=dark] .select2-container--bootstrap-5 .select2-dropdown .select2-search .select2-search__field {
    background-color: var(--ss-field);
    border-color: var(--ss-field-border);
    color: var(--bs-body-color);
}

[data-bs-theme=dark] .select2-container--bootstrap-5 .select2-dropdown .select2-results__options .select2-results__option {
    color: var(--bs-body-color);
}

[data-bs-theme=dark] .select2-container--bootstrap-5 .select2-dropdown .select2-results__options .select2-results__option[aria-selected=true]:not(.select2-results__option--highlighted),
[data-bs-theme=dark] .select2-container--bootstrap-5 .select2-dropdown .select2-results__options .select2-results__option--selected:not(.select2-results__option--highlighted) {
    background-color: #3a3a40;
}

[data-bs-theme=dark] .select2-container--bootstrap-5 .select2-dropdown .select2-results__options .select2-results__option--highlighted {
    background-color: var(--ss-accent);
    color: var(--ss-ink);
}

/* ---- cuadro JSON del registro (clave/valor) ---- */
[data-bs-theme=dark] .widgetjsonkeyvalue {
    background-color: #26262a;
    border-color: #3d3d44;
    color: #d6d6da;
}

/* =====================================================================
   TEMA CLARO (se activa con ?tema=claro; ?tema=oscuro vuelve al oscuro)
   La barra superior se mantiene oscura con la línea amarilla: es la marca.
   ===================================================================== */
[data-bs-theme=light] {
    --bs-body-bg: #f6f5f1;
    --bs-body-bg-rgb: 246, 245, 241;
    --bs-secondary-bg: #ecebe5;
    --bs-secondary-bg-rgb: 236, 235, 229;
    --bs-tertiary-bg: #f1f0eb;
    --bs-tertiary-bg-rgb: 241, 240, 235;
    --bs-border-color: #d9d7ce;
    --bs-link-color: #8a6400;
    --bs-link-color-rgb: 138, 100, 0;
    --bs-link-hover-color: #5f4500;
    --bs-link-hover-color-rgb: 95, 69, 0;
    --bs-primary-text-emphasis: #5f4500;
    --bs-primary-bg-subtle: #fff3c4;
    --bs-primary-border-subtle: #ffe07a;
    --ss-field-border-light: #c4c1b5;
}

/* el amarillo sobre blanco no se lee: texto en ámbar oscuro */
[data-bs-theme=light] .text-primary {
    color: #8a6400 !important;
}

[data-bs-theme=light] .bg-light {
    background-color: #efeee9 !important;
}

[data-bs-theme=light] .card,
[data-bs-theme=light] .modal-content {
    background-color: #fff;
    border-color: #dcdad1;
}

[data-bs-theme=light] .card-header:not([class*="bg-"]) {
    background-color: #f1f0ea;
}

[data-bs-theme=light] .modal-footer.bg-light {
    background-color: #f1f0ea !important;
}

[data-bs-theme=light] .form-control,
[data-bs-theme=light] .form-select {
    background-color: #fff;
    border-color: var(--ss-field-border-light);
}

[data-bs-theme=light] .form-control:disabled,
[data-bs-theme=light] .form-control[readonly],
[data-bs-theme=light] .form-select:disabled,
[data-bs-theme=light] .form-control.bg-light {
    background-color: #eeede7 !important;
    color: #6b6b72;
    opacity: 1;
}

[data-bs-theme=light] .input-group-text {
    background-color: #ecebe5;
    border-color: var(--ss-field-border-light);
    color: #4a4a50;
}

[data-bs-theme=light] .btn-light {
    --bs-btn-bg: #fff;
    --bs-btn-border-color: #cfcdc3;
    --bs-btn-hover-bg: #efeee8;
    --bs-btn-hover-border-color: #bdbbb0;
    --bs-btn-active-color: var(--ss-ink);
    --bs-btn-active-bg: var(--ss-accent);
    --bs-btn-active-border-color: var(--ss-accent);
}

[data-bs-theme=light] .btn-light.active {
    color: var(--ss-ink);
    background-color: var(--ss-accent);
    border-color: var(--ss-accent);
}

/* botones outline-primary: texto ámbar oscuro (legible) */
[data-bs-theme=light] .btn-outline-primary {
    --bs-btn-color: #8a6400;
}

/* tablas */
[data-bs-theme=light] .table {
    --bs-table-bg: transparent;
}

[data-bs-theme=light] .table-light,
[data-bs-theme=light] .table-light > th,
[data-bs-theme=light] .table-light > td {
    --bs-table-bg: #efeee9;
    --bs-table-border-color: #d9d7ce;
}

/* variantes de fila más suaves que las de Bootstrap */
[data-bs-theme=light] .table-danger {
    --bs-table-bg: #fbe3e5;
    --bs-table-border-color: #f1c9cd;
}

[data-bs-theme=light] .table-success {
    --bs-table-bg: #dff1e6;
    --bs-table-border-color: #c4e3d0;
}

[data-bs-theme=light] .table-warning {
    --bs-table-bg: #fff3c9;
    --bs-table-border-color: #f2e2a0;
}

/* selectores (Select2) */
[data-bs-theme=light] .select2-container--bootstrap-5 .select2-selection {
    border-color: var(--ss-field-border-light);
}

[data-bs-theme=light] .select2-container--bootstrap-5.select2-container--focus .select2-selection,
[data-bs-theme=light] .select2-container--bootstrap-5.select2-container--open .select2-selection {
    border-color: var(--ss-accent);
    box-shadow: 0 0 0 .25rem rgba(245, 184, 0, .25);
}

[data-bs-theme=light] .select2-container--bootstrap-5 .select2-dropdown .select2-results__options .select2-results__option--highlighted {
    background-color: var(--ss-accent);
    color: var(--ss-ink);
}

[data-bs-theme=light] .widgetjsonkeyvalue {
    background-color: #efeee9;
    border-color: #d9d7ce;
}
