﻿/* === Default Brand Theme: Navy / Black / White === */
:root {
    --cui-primary:          #1e3a5f;
    --cui-primary-rgb:      30, 58, 95;
    --cui-link-color:       #1e3a5f;
    --cui-link-color-rgb:   30, 58, 95;
    --cui-focus-ring-color: rgba(30, 58, 95, .25);
}

/* === btn-primary explicit override (CoreUI may not inherit :root CSS vars) === */
.btn-primary {
    --cui-btn-bg:                 #1e3a5f;
    --cui-btn-border-color:       #1e3a5f;
    --cui-btn-hover-bg:           #162c4a;
    --cui-btn-hover-border-color: #162c4a;
    --cui-btn-active-bg:          #0d2137;
    --cui-btn-active-border-color:#0d2137;
    --cui-btn-disabled-bg:        #1e3a5f;
    --cui-btn-disabled-border-color: #1e3a5f;
}

/* === Dark navbar: white links (CoreUI may not fully apply navbar-dark) === */
.navbar-dark .nav-link,
.navbar-dark .navbar-nav .nav-link {
    color: rgba(255, 255, 255, 0.9);
}
.navbar-dark .nav-link:hover,
.navbar-dark .navbar-nav .nav-link:hover {
    color: #ffffff;
}

/* === Logo visibility on dark navbar === */
.navbar-dark .navbar-brand img {
    filter: brightness(0) invert(1);
}

/* App layout — full-height flex column so footer sticks to bottom */
body.c-app {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

/* Select2 Global Styles */
.select2-container--bootstrap-5 .select2-selection {
    min-height: 38px;
}

/* Fix para el botón de limpiar (X) que aparece sobre el texto seleccionado */
.select2-container--bootstrap-5 .select2-selection--single .select2-selection__clear {
    position: absolute;
    right: 25px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
}

.select2-container--bootstrap-5 .select2-selection--single .select2-selection__rendered {
    padding-right: 50px;
}


/* DataTables Processing Overlay Fix */
div.dataTables_wrapper {
    position: relative;
}

.dataTables_processing {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -60%) !important;
    z-index: 1050 !important;
    margin: 0 !important;
    padding: 0.72rem 1.5rem !important;
    border-radius: 0.5rem !important;
    font-size: 1rem !important;
    backdrop-filter: blur(4px);
    font-weight: 600;
    box-shadow: 0 4px 12px rgba(4, 64, 136, 0.2) !important;
}

.card {
    transition: transform 0.2s;
}
    /* Exclude cards that contain dropdowns or interactive tables from hover effect */
    .card:hover:not(:has(.dropdown-menu)) {
        transform: translateY(-2px);
    }

/*Effect on buttons*/
.btn {
    transition: all 0.3s;
}

    .btn:hover {
        transform: translateY(-2px);
        box-shadow: 0 7px 14px rgba(4,64,136,.2), 0 3px 6px rgba(0,0,0,.08);
    }


/* Ensure SweetAlert uses CoreUI theme colors */
/* SweetAlert2 CoreUI Theme Integration */

/* Apply CoreUI background to all popups */
.swal2-popup {
    background-color: var(--cui-body-bg) !important;
    color: var(--cui-body-color) !important;
}

/* Title styling */
.swal2-title {
    color: var(--cui-body-color) !important;
}

/* Content styling */
.swal2-html-container {
    color: var(--cui-body-color) !important;
}

/* Icon colors (use CoreUI variables where possible) */
.swal2-icon.swal2-success [class^='swal2-success-line'] {
    background-color: var(--cui-success) !important;
}

.swal2-icon.swal2-success .swal2-success-ring {
    border-color: var(--cui-success) !important;
}

.swal2-icon.swal2-error {
    border-color: var(--cui-danger) !important;
    color: var(--cui-danger) !important;
}

.swal2-icon.swal2-warning {
    border-color: var(--cui-warning) !important;
    color: var(--cui-warning) !important;
}

.swal2-icon.swal2-info {
    border-color: var(--cui-info) !important;
    color: var(--cui-info) !important;
}

.swal2-icon.swal2-question {
    border-color: var(--cui-primary) !important;
    color: var(--cui-primary) !important;
}

/* Input fields styling */
.swal2-input,
.swal2-textarea,
.swal2-select {
    background-color: var(--cui-input-bg) !important;
    border-color: var(--cui-border-color) !important;
    color: var(--cui-body-color) !important;
}

    .swal2-input:focus,
    .swal2-textarea:focus,
    .swal2-select:focus {
        border-color: var(--cui-primary) !important;
        box-shadow: 0 0 0 0.25rem rgba(var(--cui-primary-rgb), 0.25) !important;
    }

/* Validation message */
.swal2-validation-message {
    background-color: var(--cui-danger-bg-subtle) !important;
    color: var(--cui-danger-text-emphasis) !important;
    border-color: var(--cui-danger-border-subtle) !important;
}

/* Footer styling */
.swal2-footer {
    border-top-color: var(--cui-border-color) !important;
    color: var(--cui-text-muted) !important;
}

/* Close button */
.swal2-close {
    color: var(--cui-body-color) !important;
}

    .swal2-close:hover {
        color: var(--cui-danger) !important;
    }

/* Actions container - add spacing for Bootstrap buttons */
.swal2-actions {
    gap: 0.5rem;
}

/* Override default button styling when using Bootstrap classes */
.swal2-styled.btn {
    margin: 0 !important;
    padding: 0.375rem 0.75rem !important;
    font-size: 1rem !important;
    border-radius: var(--cui-border-radius) !important;
}

/* Ensure buttons use CoreUI colors when not using Bootstrap classes */
.swal2-confirm:not(.btn) {
    background-color: var(--cui-primary) !important;
    border-color: var(--cui-primary) !important;
}

.swal2-cancel:not(.btn) {
    background-color: var(--cui-secondary) !important;
    border-color: var(--cui-secondary) !important;
}

.swal2-deny:not(.btn) {
    background-color: var(--cui-danger) !important;
    border-color: var(--cui-danger) !important;
}

/* Progress steps */
.swal2-progress-steps .swal2-progress-step {
    background-color: var(--cui-primary) !important;
}

    .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step {
        background-color: var(--cui-primary) !important;
    }

.swal2-progress-steps .swal2-progress-step-line {
    background-color: var(--cui-border-color) !important;
}

/* Timer progress bar */
.swal2-timer-progress-bar {
    background-color: var(--cui-primary) !important;
}

/* Loader */
.swal2-loader {
    border-color: var(--cui-primary) transparent var(--cui-primary) transparent !important;
}

/* Dark mode support - automatically handled by CoreUI variables */
[data-coreui-theme="dark"] .swal2-popup {
    background-color: var(--cui-body-bg) !important;
    color: var(--cui-body-color) !important;
}

/* Form controls inside SweetAlert should match CoreUI */
.swal2-popup .form-control,
.swal2-popup .form-select {
    background-color: var(--cui-input-bg) !important;
    border-color: var(--cui-border-color) !important;
    color: var(--cui-body-color) !important;
}

    .swal2-popup .form-control:focus,
    .swal2-popup .form-select:focus {
        border-color: var(--cui-primary) !important;
        box-shadow: 0 0 0 0.25rem rgba(var(--cui-primary-rgb), 0.25) !important;
    }

/* Badge styling inside SweetAlert */
.swal2-popup .badge {
    /* Inherits from Bootstrap/CoreUI */
}

/* Code blocks */
.swal2-popup code {
    background-color: var(--cui-secondary-bg) !important;
    color: var(--cui-emphasis-color) !important;
}

/* Borders */
.swal2-popup .border {
    border-color: var(--cui-border-color) !important;
}

/* Background utilities */
.swal2-popup .bg-light {
    background-color: var(--cui-light-bg-subtle) !important;
}

.swal2-popup .bg-secondary {
    background-color: var(--cui-secondary-bg-subtle) !important;
}

/* Text utilities */
.swal2-popup .text-muted {
    color: var(--cui-text-muted) !important;
}
