/*!
 * ContERP · Soluciones Doma — Paleta corporativa global
 */

:root,
[data-bs-theme="light"] {
    /* Marca — azules más claros */
    --sd-primary: #2d6a9f;
    --sd-primary-mid: #4892bf;
    --sd-primary-dark: #255a85;
    --sd-accent: #52b3f0;
    --sd-accent-dark: #3d9dd4;
    --sd-accent-hover: #2e8bc9;
    --sd-success: #27ae60;
    --sd-success-dark: #219a52;
    --sd-warning: #f39c12;
    --sd-warning-dark: #d68910;
    --sd-danger: #e74c3c;
    --sd-danger-dark: #c0392b;
    --sd-info: #52b3f0;
    --sd-secondary: #5a6a7a;
    --sd-secondary-dark: #4a5568;
    --sd-text: #2a5270;
    --sd-text-muted: #6c7a89;
    --sd-surface: #ffffff;
    --sd-surface-soft: #f4f7fb;
    --sd-surface-muted: #eef2f7;
    --sd-border: rgba(45, 106, 159, 0.14);

    /* Menú superior — azul más sobrio (solo navbar) */
    --sd-navbar: #1e3a5f;
    --sd-navbar-mid: #274d73;
    --sd-navbar-dark: #183552;

    /* Bootstrap 5 */
    --bs-primary: var(--sd-primary);
    --bs-primary-rgb: 45, 106, 159;
    --bs-secondary: var(--sd-secondary);
    --bs-secondary-rgb: 90, 106, 122;
    --bs-success: var(--sd-success);
    --bs-success-rgb: 39, 174, 96;
    --bs-info: var(--sd-info);
    --bs-info-rgb: 82, 179, 240;
    --bs-warning: var(--sd-warning);
    --bs-warning-rgb: 243, 156, 18;
    --bs-danger: var(--sd-danger);
    --bs-danger-rgb: 231, 76, 60;
    --bs-link-color: var(--sd-accent);
    --bs-link-hover-color: var(--sd-accent-hover);
    --bs-body-color: var(--sd-text);
    --bs-body-bg: var(--sd-surface-soft);
    --bs-border-color: var(--sd-border);
    --bs-focus-ring-color: rgba(82, 179, 240, 0.28);
    --bs-emphasis-color: var(--sd-primary-dark);
}

body {
    color: var(--sd-text);
    background-color: var(--sd-surface-soft);
}

a {
    color: var(--sd-accent);
}

a:hover {
    color: var(--sd-accent-hover);
}

/* Barra superior — tono más oscuro, independiente del resto de azules */
.navbar.bg-primary {
    background: linear-gradient(135deg, var(--sd-navbar-dark) 0%, var(--sd-navbar-mid) 52%, var(--sd-navbar) 100%) !important;
}

.bg-primary:not(.navbar) {
    background-color: var(--sd-primary) !important;
}

.navbar-dark .navbar-nav .nav-link {
    color: rgba(255, 255, 255, 0.88);
}

.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link:focus {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.08);
    border-radius: 0.375rem;
}

.navbar-dark .navbar-nav .nav-link.active,
.navbar-dark .navbar-nav .show > .nav-link {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.14);
    border-radius: 0.375rem;
}

/* Botones */
.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--sd-accent-dark);
    --bs-btn-border-color: var(--sd-accent-dark);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--sd-accent);
    --bs-btn-hover-border-color: var(--sd-accent);
    --bs-btn-active-bg: var(--sd-primary-mid);
    --bs-btn-active-border-color: var(--sd-primary-mid);
    --bs-btn-focus-shadow-rgb: 82, 179, 240;
    background: linear-gradient(135deg, var(--sd-accent-dark) 0%, var(--sd-accent) 100%);
    border: none;
}

.btn-primary:hover,
.btn-primary:focus {
    background: linear-gradient(135deg, var(--sd-accent) 0%, #5dade2 100%);
}

.btn-secondary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--sd-secondary);
    --bs-btn-border-color: var(--sd-secondary);
    --bs-btn-hover-bg: var(--sd-secondary-dark);
    --bs-btn-hover-border-color: var(--sd-secondary-dark);
    background: linear-gradient(135deg, var(--sd-secondary) 0%, var(--sd-secondary-dark) 100%);
    border: none;
}

.btn-success {
    --bs-btn-bg: var(--sd-success);
    --bs-btn-border-color: var(--sd-success);
    --bs-btn-hover-bg: var(--sd-success-dark);
    --bs-btn-hover-border-color: var(--sd-success-dark);
}

.btn-info {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--sd-accent);
    --bs-btn-border-color: var(--sd-accent);
    --bs-btn-hover-bg: var(--sd-accent-hover);
    --bs-btn-hover-border-color: var(--sd-accent-hover);
}

.btn-warning {
    --bs-btn-bg: var(--sd-warning);
    --bs-btn-border-color: var(--sd-warning);
    --bs-btn-hover-bg: var(--sd-warning-dark);
    --bs-btn-hover-border-color: var(--sd-warning-dark);
}

.btn-danger {
    --bs-btn-bg: var(--sd-danger);
    --bs-btn-border-color: var(--sd-danger);
    --bs-btn-hover-bg: var(--sd-danger-dark);
    --bs-btn-hover-border-color: var(--sd-danger-dark);
}

.btn-outline-primary {
    --bs-btn-color: var(--sd-accent-dark);
    --bs-btn-border-color: var(--sd-accent);
    --bs-btn-hover-bg: var(--sd-accent);
    --bs-btn-hover-border-color: var(--sd-accent);
}

.btn-link {
    --bs-btn-color: var(--sd-accent);
    --bs-btn-hover-color: var(--sd-accent-hover);
}

/* Formularios */
.form-control:focus,
.form-select:focus {
    border-color: var(--sd-accent);
    box-shadow: 0 0 0 0.2rem rgba(82, 179, 240, 0.22);
}

.form-check-input:checked {
    background-color: var(--sd-accent);
    border-color: var(--sd-accent);
}

/* Navegación lateral / pestañas */
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
    background-color: var(--sd-primary);
}

.nav-tabs .nav-link.active {
    color: var(--sd-primary);
    border-color: var(--sd-border) var(--sd-border) var(--sd-surface);
}

.list-group-item.active {
    background-color: var(--sd-primary);
    border-color: var(--sd-primary);
}

/* Tarjetas y tablas */
.card {
    border-color: var(--sd-border);
}

.card-header,
.card-footer {
    background-color: var(--sd-surface-muted);
    border-color: var(--sd-border);
}

.table-primary {
    --bs-table-bg: rgba(30, 58, 95, 0.08);
    --bs-table-color: var(--sd-text);
}

.table-hover > tbody > tr:hover > * {
    --bs-table-bg-state: rgba(82, 179, 240, 0.07);
}

/* Alertas */
.alert-primary {
    --bs-alert-color: var(--sd-primary);
    --bs-alert-bg: rgba(45, 106, 159, 0.08);
    --bs-alert-border-color: rgba(45, 106, 159, 0.16);
}

.alert-success {
    --bs-alert-color: var(--sd-success-dark);
    --bs-alert-bg: rgba(39, 174, 96, 0.1);
    --bs-alert-border-color: rgba(39, 174, 96, 0.2);
}

.alert-warning {
    --bs-alert-color: var(--sd-warning-dark);
    --bs-alert-bg: rgba(243, 156, 18, 0.12);
    --bs-alert-border-color: rgba(243, 156, 18, 0.25);
}

.alert-danger {
    --bs-alert-color: var(--sd-danger-dark);
    --bs-alert-bg: rgba(231, 76, 60, 0.1);
    --bs-alert-border-color: rgba(231, 76, 60, 0.2);
}

.alert-info {
    --bs-alert-color: var(--sd-accent-hover);
    --bs-alert-bg: rgba(82, 179, 240, 0.1);
    --bs-alert-border-color: rgba(82, 179, 240, 0.22);
}

/* Badges y textos */
.text-primary {
    color: var(--sd-primary) !important;
}

.text-success {
    color: var(--sd-success) !important;
}

.text-danger {
    color: var(--sd-danger) !important;
}

.text-warning {
    color: var(--sd-warning-dark) !important;
}

.text-info {
    color: var(--sd-accent) !important;
}

.text-muted {
    color: var(--sd-text-muted) !important;
}

.bg-light {
    background-color: var(--sd-surface-muted) !important;
}

.bg-info {
    background-color: var(--sd-accent) !important;
}

.bg-success {
    background-color: var(--sd-success) !important;
}

.bg-warning {
    background-color: var(--sd-warning) !important;
}

.bg-danger {
    background-color: var(--sd-danger) !important;
}

.badge.text-bg-primary,
.badge.bg-primary {
    background: linear-gradient(135deg, var(--sd-primary) 0%, var(--sd-primary-mid) 100%) !important;
}

.badge.text-bg-info,
.badge.bg-info {
    background-color: var(--sd-accent) !important;
}

/* Paginación y dropdown */
.page-link {
    color: var(--sd-accent);
}

.page-item.active .page-link {
    background-color: var(--sd-primary);
    border-color: var(--sd-primary);
}

.dropdown-item.active,
.dropdown-item:active {
    background-color: var(--sd-primary);
}

/* Barra de progreso y carga */
.progress-bar {
    background-color: var(--sd-accent);
}

.pace .pace-progress {
    background: linear-gradient(90deg, var(--sd-accent-dark), var(--sd-accent));
}

/* Select2 / widgets comunes */
.select2-container--bootstrap-5 .select2-dropdown .select2-results__option--highlighted.select2-results__option--selectable {
    background-color: var(--sd-accent);
}

.select2-container--bootstrap-5.select2-container--focus .select2-selection,
.select2-container--bootstrap-5.select2-container--open .select2-selection {
    border-color: var(--sd-accent);
    box-shadow: 0 0 0 0.2rem rgba(82, 179, 240, 0.22);
}
