@charset "UTF-8";

/* Specific CSS to solve specific problems related to SICO */

html {
    font-size: 15px;
}

:root {
    --ins-logo-lg-height: 40px;
}

/* Modal body background */
.bg-body-modal {
    --ins-bg-opacity: -6;
    background-color: rgb(186 218 238 / 20%) !important;
}

.degradedBackground {
    background: linear-gradient(to bottom, #1e2a38 0%, #3e5867 100%);
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-size: cover;
}

.select2-container--default .select2-selection--single .select2-selection__clear {
    height: 34px;
    margin-right: 20px !important;
    font-size: large;
    font-weight: lighter;
    padding-right: 10px;
}

/* Select2 dentro de input-group */
.input-group .select2-container {
    flex: 1 1 auto;
    width: 1px !important;
}

.input-group .select2-container--default .select2-selection--single {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.input-group .select2-container--default.select2-container--focus .select2-selection--single,
.input-group .select2-container--default.select2-container--open .select2-selection--single {
    border-color: #86b7fe;
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

.text-blue {
    --ins-text-opacity: 1;
    color: rgba(rgb(60 86 101), var(--ins-text-opacity)) !important;
}

.w-10 {
    width: 10% !important;
}

/* Select2 Bootstrap 5 — arrow positioning fix */
.select2-container--bootstrap-5 .select2-selection__arrow {
    top: 50%;
    right: 0.75rem;
    transform: translateY(-50%);
    position: absolute;
}

.select2-dropdown.select2-dropdown .select2-results__options {
    max-height: 500px !important;
}

/* Select2 dark mode fix */
[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-dropdown,
[data-bs-theme="dark"] .select2-dropdown {
    background-color: #1e1f27 !important;
    color: #aab8c5 !important;
    border-color: #293036 !important;
}

[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-dropdown .select2-results__options .select2-results__option,
[data-bs-theme="dark"] .select2-dropdown .select2-results__option {
    color: #aab8c5 !important;
}

[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-dropdown .select2-results__options .select2-results__option[role=group] .select2-results__group,
[data-bs-theme="dark"] .select2-dropdown .select2-results__group {
    color: #1AB394 !important;
}

[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-dropdown .select2-results__options .select2-results__option.select2-results__option--highlighted,
[data-bs-theme="dark"] .select2-dropdown .select2-results__option--highlighted.select2-results__option--selectable {
    background-color: #1AB394 !important;
    color: #fff !important;
}

[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-dropdown .select2-results__options .select2-results__option.select2-results__option--selected,
[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-dropdown .select2-results__option[aria-selected=true] {
    background-color: #272832 !important;
    color: #aab8c5 !important;
}

[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-dropdown .select2-search .select2-search__field,
[data-bs-theme="dark"] .select2-dropdown .select2-search__field {
    background-color: #17181e !important;
    color: #aab8c5 !important;
    border-color: #293036 !important;
}

[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-selection,
[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-selection--single {
    background-color: #1e1f27 !important;
    color: #aab8c5 !important;
    border-color: #293036 !important;
}

[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-selection--single .select2-selection__rendered {
    color: #aab8c5 !important;
}

/* FullCalendar — event display fixes */
.fc .fc-daygrid-event {
    margin: 1px 0;
}

.fc-event {
    border-width: 2px !important;
}

.fc-daygrid-event-dot {
    display: none !important;
}

/* Stat card hover lift */
.stat-card {
    transition: all 0.3s ease;
}

    .stat-card:hover {
        transform: translateY(-2px);
        box-shadow: 0 4px 6px rgba(0, 0, 0, .1);
    }

/* Filter card gradient */
.filter-card {
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
}

[data-bs-theme="dark"] .filter-card {
    background: linear-gradient(135deg, #1e1f27 0%, #272832 100%);
}

/* Pre-wrap para texto multilínea */
.text-pre-wrap {
    white-space: pre-wrap;
}

/* ========================================
   UserAccess - Online indicator
   ======================================== */
.online-indicator {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    display: inline-block;
    margin-right: 6px;
}

    .online-indicator.online {
        background-color: #10b981;
        box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.2);
        animation: online-pulse 2s infinite;
    }

    .online-indicator.offline {
        background-color: #6b7280;
    }

@keyframes online-pulse {
    0%, 100% {
        box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.2);
    }

    50% {
        box-shadow: 0 0 0 6px rgba(16, 185, 129, 0.1);
    }
}

.method-badge {
    min-width: 70px;
    text-align: center;
}

.device-icon {
    font-size: 1.5rem;
    opacity: 0.7;
}

.activity-item {
    transition: background-color 0.2s;
}

    .activity-item:hover {
        background-color: rgba(0, 0, 0, 0.02);
    }

@media (max-width: 575.98px) {
    .auth-box {
        padding: 15px;
    }

        .auth-box .card-body {
            padding: 25px;
        }
}

/* Password strength bar - nivel 5 (no incluido en app.min.css) */
.password-bar .strong-bar.bar-active-5 {
    background-color: #0acf97;
}
