/* ─── Topbar / Navbar ────────────────────────────────────────────────────── */
.navbar.navbar-bg {
    --bs-navbar-padding-y: 0.35rem;
    --bs-navbar-padding-x: 0.85rem;
    padding: 0.35rem 0.85rem !important;
    min-height: 52px;
    align-items: center;
}

/* Todos los elementos interactivos del topbar: misma altura 36px */
.navbar .nav-icon,
.navbar .btn,
.navbar-toolbar .nav-item .nav-icon {
    width: 36px !important;
    height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    flex-shrink: 0;
    border-radius: 8px;
}

/* Buscador: form y input-group alineados */
#frmlatfinsoc {
    display: flex;
    align-items: center;
    margin: 0;
}

.input-group-navbar {
    height: 36px;
    align-items: center !important;
    flex-wrap: nowrap;
}

.input-group-navbar .form-control {
    height: 36px !important;
    min-height: 0 !important;
    padding: 0 10px !important;
    font-size: .875rem;
    line-height: 36px !important;
    border-radius: 8px 0 0 8px !important;
    align-self: center !important;
}

.input-group-navbar .btn {
    height: 36px !important;
    min-height: 0 !important;
    align-self: center !important;
    border-radius: 0 8px 8px 0 !important;
}

/* Avatar: mismo tamaño que los botones */
.navbar .avatar {
    width: 32px !important;
    height: 32px !important;
}

/* Badge empresa en el topbar */
.navbar .navbar-nav .nav-item.d-flex {
    height: 36px;
    align-items: center;
}

/* ─── Foto socio ─────────────────────────────────────────────────────────── */
.fotosocio {
    border-radius: 14px !important;
    border: 2px solid var(--bs-border-color) !important;
}

/* ─── Cards globales ─────────────────────────────────────────────────────── */
.card {
    border-radius: 14px !important;
    overflow: hidden !important;
}
/* Cards con dropdowns internos: sin overflow:hidden ni backdrop-filter
   (backdrop-filter crea stacking context que atrapa position:fixed) */
.user-card {
    overflow: visible !important;
}
html[data-theme="dark"] .user-card {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}
.card-header:first-child {
    border-radius: 13px 13px 0 0 !important;
}
.card-footer:last-child {
    border-radius: 0 0 13px 13px !important;
}

/* ─── Inputs y selects ───────────────────────────────────────────────────── */
.form-control,
.form-select {
    border-radius: 10px !important;
}
.input-group > .form-control:first-child,
.input-group > .form-select:first-child {
    border-radius: 10px 0 0 10px !important;
}
.input-group > .form-control:last-child,
.input-group > .btn:last-child {
    border-radius: 0 10px 10px 0 !important;
}
.input-group-navbar .form-control {
    border-radius: 10px 0 0 10px !important;
}
.input-group-navbar .btn:last-child {
    border-radius: 0 10px 10px 0 !important;
}
#btnClearSearch {
    border-radius: 0 !important;
}

/* ─── Botones ────────────────────────────────────────────────────────────── */
.btn {
    border-radius: 8px !important;
}
.btn-sm { border-radius: 7px !important; }
.btn.rounded-pill, .badge.rounded-pill { border-radius: 999px !important; }

/* ─── Modales ────────────────────────────────────────────────────────────── */
.modal-content {
    border-radius: 16px !important;
}
.modal-header {
    border-radius: 15px 15px 0 0 !important;
}
.modal-footer {
    border-radius: 0 0 15px 15px !important;
}

/* ─── Sidebar item activo — acento lateral ice-blue ─────────────────────── */
.sidebar-link.active,
a.sidebar-link.active {
    position: relative;
}
.sidebar-link.active::before,
a.sidebar-link.active::before {
    content: '';
    position: absolute;
    left: 0;
    top: 6px;
    bottom: 6px;
    width: 3px;
    border-radius: 0 2px 2px 0;
    background: var(--artic-brand, oklch(0.80 0.13 215));
    box-shadow: 0 0 8px var(--artic-brand, oklch(0.80 0.13 215));
}

/* ─── Tabla estándar Artic ───────────────────────────────────────────────── */
.tbl-artic-wrap {
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid var(--bs-border-color);
}
.tbl-artic thead th {
    background: #1e3a5f !important;
    color: #e8f0fe !important;
    font-size: .78rem;
    font-weight: 500;
    white-space: nowrap;
    vertical-align: middle !important;
}
.tbl-artic tbody td {
    font-size: .82rem;
    background: var(--bs-body-bg) !important;
    color: var(--bs-body-color) !important;
    vertical-align: middle;
}
.tbl-artic tbody tr:hover td { background: var(--bs-secondary-bg) !important; }

/* Alto de encabezado uniforme — cubre Bootstrap .table-sm que tiene mayor especificidad */
.content thead th {
    height: 2.2rem !important;
    vertical-align: middle !important;
}

/* ─── Select2 ──────────────────────────────────────────────────────────────── */
.select2-container--bootstrap-5 .select2-selection--single .select2-selection__rendered {
    color: var(--cui-body-color, var(--bs-body-color)) !important;
}

/* ─── Lobibox ───────────────────────────────────────────────────────────────── */
body.lobibox-open .lobibox-body-text {
    color: var(--bs-body-color) !important;
}

/* ══════════════════════════════════════════════════════════════════════════════
   TEMA OSCURO — Artic · Navy oceánico + glassmorphism
   ══════════════════════════════════════════════════════════════════════════════ */

html[data-theme="dark"] {
    /* Artic design tokens */
    --artic-surface:      rgba(255,255,255,0.04);
    --artic-surface-hi:   rgba(255,255,255,0.07);
    --artic-surface-solid:oklch(0.22 0.022 240);
    --artic-border:       rgba(255,255,255,0.08);
    --artic-border-hi:    rgba(255,255,255,0.14);
    --artic-brand:        oklch(0.80 0.13 215);
    --artic-brand-soft:   oklch(0.80 0.13 215 / 0.16);
    --artic-teal:         oklch(0.74 0.11 195);
    --artic-success:      oklch(0.74 0.13 155);
    --artic-danger:       oklch(0.68 0.18 25);
    --artic-warning:      oklch(0.80 0.14 75);

    /* Bootstrap variables */
    --bs-body-bg:         oklch(0.18 0.022 240);
    --bs-body-bg-rgb:     19, 25, 40;
    --bs-body-color:      oklch(0.97 0.005 240);
    --bs-body-color-rgb:  240, 243, 248;
    --bs-secondary-bg:    oklch(0.22 0.022 240);
    --bs-tertiary-bg:     oklch(0.24 0.022 240);
    --bs-secondary-color: oklch(0.62 0.012 240);
    --bs-border-color:    rgba(255,255,255,0.08);
    --bs-primary:         oklch(0.80 0.13 215);
    --bs-primary-rgb:     122, 191, 230;
    --bs-link-color:      oklch(0.80 0.13 215);
    --bs-link-color-rgb:  122, 191, 230;
    --bs-emphasis-color:  oklch(0.97 0.005 240);
}

.grayscale {
    filter: grayscale(100%);
    opacity: 0.6;
}

/* ── Layout: topbar full-width + sidebar debajo ─────────────────────────── */
.wrapper {
    flex-direction: column !important;
}
.wrapper > .navbar {
    flex-shrink: 0;
    width: 100%;
}
.wrapper-body {
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
}
.wrapper-body .main {
    flex: 1 1 auto;
    min-width: 0;
    overflow-y: auto;
}
.wrapper-body #sidebar {
    height: 100%;
    flex-shrink: 0;
}

/* Fondo con orbes — va en .wrapper que es el contenedor real */
html[data-theme="dark"] .wrapper {
    background:
        radial-gradient(80% 60% at 80% -10%, oklch(0.38 0.12 215 / 0.40), transparent 70%),
        radial-gradient(70% 50% at 0% 110%,  oklch(0.40 0.10 195 / 0.32), transparent 60%),
        #0d1420 !important;
    min-height: 100vh;
}

/* Watermark copo de nieve */
html[data-theme="dark"]::after {
    content: '';
    position: fixed;
    right: -120px;
    bottom: -160px;
    width: 520px;
    height: 520px;
    pointer-events: none;
    opacity: 0.04;
    transform: rotate(15deg);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237abfe8' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg%3E%3Cline x1='12' y1='2.5' x2='12' y2='21.5'/%3E%3Cline x1='9.5' y1='5' x2='12' y2='7.5'/%3E%3Cline x1='14.5' y1='5' x2='12' y2='7.5'/%3E%3Cline x1='9.5' y1='19' x2='12' y2='16.5'/%3E%3Cline x1='14.5' y1='19' x2='12' y2='16.5'/%3E%3C/g%3E%3Cg transform='rotate(60 12 12)'%3E%3Cline x1='12' y1='2.5' x2='12' y2='21.5'/%3E%3Cline x1='9.5' y1='5' x2='12' y2='7.5'/%3E%3Cline x1='14.5' y1='5' x2='12' y2='7.5'/%3E%3Cline x1='9.5' y1='19' x2='12' y2='16.5'/%3E%3Cline x1='14.5' y1='19' x2='12' y2='16.5'/%3E%3C/g%3E%3Cg transform='rotate(120 12 12)'%3E%3Cline x1='12' y1='2.5' x2='12' y2='21.5'/%3E%3Cline x1='9.5' y1='5' x2='12' y2='7.5'/%3E%3Cline x1='14.5' y1='5' x2='12' y2='7.5'/%3E%3Cline x1='9.5' y1='19' x2='12' y2='16.5'/%3E%3Cline x1='14.5' y1='19' x2='12' y2='16.5'/%3E%3C/g%3E%3Ccircle cx='12' cy='12' r='1.4' fill='%237abfe8' stroke='none'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 0;
}

html[data-theme="dark"] .wrapper-body,
html[data-theme="dark"] .main,
html[data-theme="dark"] .content,
html[data-theme="dark"] .body {
    background: transparent !important;
}

/* CoreUI overrides — variables propias que pueden pisar los nuestros */
html[data-theme="dark"] {
    --cui-body-bg: #0d1420;
    --cui-secondary-bg: rgba(255,255,255,0.05);
    --cui-border-color: rgba(255,255,255,0.08);
    --cui-body-color: oklch(0.97 0.005 240);
}

/* Sidebar — vidrio sobre el gradiente del wrapper */
html[data-theme="dark"] .sidebar,
html[data-theme="dark"] #sidebar {
    background: rgba(0,0,0,0.25) !important;
    backdrop-filter: blur(24px) saturate(140%);
    -webkit-backdrop-filter: blur(24px) saturate(140%);
}
html[data-theme="dark"] #sidebar .sidebar-content,
html[data-theme="dark"] #sidebar .simplebar-mask,
html[data-theme="dark"] #sidebar .simplebar-content-wrapper,
html[data-theme="dark"] #sidebar .simplebar-content {
    background: transparent !important;
}

html[data-theme="dark"] #sidebar {
    border-right: 1px solid rgba(255,255,255,0.08) !important;
    box-shadow: none !important;
}

html[data-theme="dark"] .sidebar-link,
html[data-theme="dark"] a.sidebar-link {
    color: oklch(0.78 0.01 240) !important;
}

html[data-theme="dark"] .sidebar-link:hover,
html[data-theme="dark"] a.sidebar-link:hover {
    background-color: rgba(255,255,255,0.06) !important;
    color: oklch(0.97 0.005 240) !important;
}

html[data-theme="dark"] .sidebar-link.active,
html[data-theme="dark"] a.sidebar-link.active {
    background-color: oklch(0.80 0.13 215 / 0.16) !important;
    color: oklch(0.80 0.13 215) !important;
}

html[data-theme="dark"] .sidebar-header {
    color: oklch(0.48 0.012 240) !important;
    font-size: 11px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

html[data-theme="dark"] .sidebar-brand2 {
    border-bottom: 1px solid rgba(255,255,255,0.08);
}

/* Navbar — vidrio */
html[data-theme="dark"] .navbar,
html[data-theme="dark"] .navbar-bg,
html[data-theme="dark"] header.navbar {
    background: rgba(0,0,0,0.20) !important;
    backdrop-filter: blur(24px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(24px) saturate(140%) !important;
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
    box-shadow: none !important;
}

html[data-theme="dark"] .navbar .nav-icon,
html[data-theme="dark"] .navbar .nav-link {
    color: oklch(0.78 0.01 240) !important;
}

html[data-theme="dark"] .navbar .nav-icon:hover,
html[data-theme="dark"] .navbar .nav-link:hover {
    color: oklch(0.97 0.005 240) !important;
}

html[data-theme="dark"] .navbar .form-control {
    background-color: rgba(255,255,255,0.06) !important;
    border-color: rgba(255,255,255,0.10) !important;
    color: oklch(0.97 0.005 240) !important;
}

html[data-theme="dark"] .navbar .form-control::placeholder {
    color: oklch(0.48 0.012 240);
}

/* Cards — vidrio */
html[data-theme="dark"] .card {
    background: rgb(18 26 38 / 44%) !important;
    backdrop-filter: blur(20px) saturate(140%);
    -webkit-backdrop-filter: blur(20px) saturate(140%);
    border-color: rgba(255,255,255,0.14) !important;
    box-shadow:
        0 2px 12px rgba(0,0,0,0.30),
        inset 0 1px 0 rgba(255,255,255,0.08) !important;
}

/* Card dentro de card — fondo diferenciado sin doble blur */
html[data-theme="dark"] .card .card {
    background: rgba(255,255,255,0.03) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border-color: rgba(255,255,255,0.12) !important;
    box-shadow: none !important;
}

html[data-theme="dark"] .card-header {
    background: rgba(255,255,255,0.03) !important;
    border-bottom-color: rgba(255,255,255,0.10) !important;
    color: oklch(0.97 0.005 240) !important;
}

html[data-theme="dark"] .card-body {
    color: oklch(0.78 0.01 240);
}

/* Tablas */
html[data-theme="dark"] .table {
    --bs-table-bg:         oklch(0.22 0.022 240);
    --bs-table-border-color: rgba(255,255,255,0.07);
    --bs-table-color:      oklch(0.97 0.005 240);
    --bs-table-hover-bg:   rgba(255,255,255,0.05);
    --bs-table-striped-bg: rgba(255,255,255,0.03);
}

/* Inputs */
html[data-theme="dark"] .form-control,
html[data-theme="dark"] .form-select {
    background-color: rgba(255,255,255,0.06) !important;
    border-color: rgba(255,255,255,0.10) !important;
    color: oklch(0.97 0.005 240) !important;
}

html[data-theme="dark"] .form-control::placeholder {
    color: oklch(0.48 0.012 240);
}

html[data-theme="dark"] .form-control:focus,
html[data-theme="dark"] .form-select:focus {
    border-color: oklch(0.80 0.13 215) !important;
    box-shadow: 0 0 0 3px oklch(0.80 0.13 215 / 0.18) !important;
    background-color: rgba(255,255,255,0.08) !important;
}

html[data-theme="dark"] .form-select option,
html[data-theme="dark"] select option {
    background-color: #1a2535;
    color: #e0eaf8;
}

/* Dropdown */
html[data-theme="dark"] .dropdown-menu {
    background-color: oklch(0.21 0.022 240 / 0.96) !important;
    backdrop-filter: blur(24px) saturate(160%);
    -webkit-backdrop-filter: blur(24px) saturate(160%);
    border-color: rgba(255,255,255,0.14) !important;
    box-shadow: 0 24px 60px rgba(0,0,0,0.5) !important;
}

html[data-theme="dark"] .dropdown-item {
    color: oklch(0.97 0.005 240) !important;
}

html[data-theme="dark"] .dropdown-item:hover,
html[data-theme="dark"] .dropdown-item:focus {
    background-color: rgba(255,255,255,0.07) !important;
    color: oklch(0.97 0.005 240) !important;
}

html[data-theme="dark"] .dropdown-divider {
    border-color: rgba(255,255,255,0.08) !important;
}

/* Modales */
html[data-theme="dark"] .modal-content {
    background-color: oklch(0.22 0.022 240 / 0.95) !important;
    backdrop-filter: blur(28px) saturate(140%);
    -webkit-backdrop-filter: blur(28px) saturate(140%);
    border-color: rgba(255,255,255,0.14) !important;
    box-shadow: 0 28px 80px rgba(0,0,0,0.6) !important;
}

html[data-theme="dark"] .modal-header,
html[data-theme="dark"] .modal-footer {
    border-color: rgba(255,255,255,0.08) !important;
}

/* Texto muted */
html[data-theme="dark"] .text-muted {
    color: oklch(0.62 0.012 240) !important;
}

/* Footer */
html[data-theme="dark"] .footer {
    background: rgba(255,255,255,0.03) !important;
    border-top: 1px solid rgba(255,255,255,0.08) !important;
}


/* ══════════════════════════════════════════════════════════════════════════════
   TEMA CLARO — Artic · Off-white frío + glassmorphism
   ══════════════════════════════════════════════════════════════════════════════ */

html[data-theme="light"] {
    /* Artic design tokens */
    --artic-surface:      rgba(255,255,255,0.65);
    --artic-surface-hi:   rgba(255,255,255,0.85);
    --artic-surface-solid:oklch(0.99 0.005 230);
    --artic-border:       rgba(15,23,42,0.07);
    --artic-border-hi:    rgba(15,23,42,0.12);
    --artic-brand:        oklch(0.55 0.14 215);
    --artic-brand-soft:   oklch(0.55 0.14 215 / 0.10);
    --artic-teal:         oklch(0.55 0.11 195);
    --artic-success:      oklch(0.52 0.14 155);
    --artic-danger:       oklch(0.55 0.20 25);
    --artic-warning:      oklch(0.65 0.15 75);

    /* Bootstrap variables */
    --bs-body-bg:         oklch(0.985 0.005 230);
    --bs-body-bg-rgb:     249, 250, 252;
    --bs-body-color:      oklch(0.22 0.02 240);
    --bs-body-color-rgb:  28, 35, 55;
    --bs-secondary-bg:    rgba(255,255,255,0.85);
    --bs-tertiary-bg:     oklch(0.96 0.005 230);
    --bs-secondary-color: oklch(0.52 0.018 240);
    --bs-border-color:    rgba(15,23,42,0.07);
    --bs-primary:         oklch(0.55 0.14 215);
    --bs-primary-rgb:     37, 128, 185;
    --bs-link-color:      oklch(0.55 0.14 215);
    --bs-link-color-rgb:  37, 128, 185;
    --bs-emphasis-color:  oklch(0.22 0.02 240);
}

/* Fondo con orbes suaves */
html[data-theme="light"] {
    background:
        radial-gradient(70% 50% at 90% -10%, oklch(0.85 0.10 215 / 0.35), transparent 60%),
        radial-gradient(60% 40% at 0%  110%, oklch(0.85 0.08 195 / 0.30), transparent 60%),
        oklch(0.985 0.005 230);
    min-height: 100vh;
}

/* Watermark copo de nieve — light */
html[data-theme="light"]::after {
    content: '';
    position: fixed;
    right: -120px;
    bottom: -160px;
    width: 520px;
    height: 520px;
    pointer-events: none;
    opacity: 0.06;
    transform: rotate(15deg);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232580b9' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg%3E%3Cline x1='12' y1='2.5' x2='12' y2='21.5'/%3E%3Cline x1='9.5' y1='5' x2='12' y2='7.5'/%3E%3Cline x1='14.5' y1='5' x2='12' y2='7.5'/%3E%3Cline x1='9.5' y1='19' x2='12' y2='16.5'/%3E%3Cline x1='14.5' y1='19' x2='12' y2='16.5'/%3E%3C/g%3E%3Cg transform='rotate(60 12 12)'%3E%3Cline x1='12' y1='2.5' x2='12' y2='21.5'/%3E%3Cline x1='9.5' y1='5' x2='12' y2='7.5'/%3E%3Cline x1='14.5' y1='5' x2='12' y2='7.5'/%3E%3Cline x1='9.5' y1='19' x2='12' y2='16.5'/%3E%3Cline x1='14.5' y1='19' x2='12' y2='16.5'/%3E%3C/g%3E%3Cg transform='rotate(120 12 12)'%3E%3Cline x1='12' y1='2.5' x2='12' y2='21.5'/%3E%3Cline x1='9.5' y1='5' x2='12' y2='7.5'/%3E%3Cline x1='14.5' y1='5' x2='12' y2='7.5'/%3E%3Cline x1='9.5' y1='19' x2='12' y2='16.5'/%3E%3Cline x1='14.5' y1='19' x2='12' y2='16.5'/%3E%3C/g%3E%3Ccircle cx='12' cy='12' r='1.4' fill='%232580b9' stroke='none'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 0;
}

html[data-theme="light"] body,
html[data-theme="light"] .wrapper,
html[data-theme="light"] .wrapper-body,
html[data-theme="light"] .main,
html[data-theme="light"] .content,
html[data-theme="light"] .body {
    background: transparent !important;
}

/* Sidebar — vidrio */
html[data-theme="light"] #sidebar,
html[data-theme="light"] #sidebar .sidebar-content,
html[data-theme="light"] #sidebar .simplebar-mask,
html[data-theme="light"] #sidebar .simplebar-content-wrapper,
html[data-theme="light"] #sidebar .simplebar-content {
    background: rgba(255,255,255,0.65) !important;
    backdrop-filter: blur(24px) saturate(140%);
    -webkit-backdrop-filter: blur(24px) saturate(140%);
}

html[data-theme="light"] #sidebar {
    border-right: 1px solid rgba(15,23,42,0.07) !important;
    box-shadow: none !important;
}

html[data-theme="light"] .sidebar-link,
html[data-theme="light"] a.sidebar-link {
    color: oklch(0.40 0.02 240) !important;
}

html[data-theme="light"] .sidebar-link:hover,
html[data-theme="light"] a.sidebar-link:hover {
    background-color: rgba(15,23,42,0.05) !important;
    color: oklch(0.22 0.02 240) !important;
}

html[data-theme="light"] .sidebar-link.active,
html[data-theme="light"] a.sidebar-link.active {
    background-color: oklch(0.55 0.14 215 / 0.10) !important;
    color: oklch(0.55 0.14 215) !important;
}

html[data-theme="light"] .sidebar-header {
    color: oklch(0.65 0.012 240) !important;
    font-size: 11px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

html[data-theme="light"] .sidebar-brand2 {
    border-bottom: 1px solid rgba(15,23,42,0.07);
}

/* Navbar — vidrio */
html[data-theme="light"] .navbar,
html[data-theme="light"] .navbar-bg {
    background: rgba(255,255,255,0.65) !important;
    backdrop-filter: blur(24px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(24px) saturate(140%) !important;
    border-bottom: 1px solid rgba(15,23,42,0.07) !important;
    box-shadow: none !important;
}

/* Cards — vidrio */
html[data-theme="light"] .card {
    background: rgba(255,255,255,0.65) !important;
    backdrop-filter: blur(20px) saturate(140%);
    -webkit-backdrop-filter: blur(20px) saturate(140%);
    border-color: rgba(15,23,42,0.12) !important;
    box-shadow:
        0 2px 12px rgba(15,23,42,0.10),
        inset 0 1px 0 rgba(255,255,255,0.75) !important;
}

/* Card dentro de card — fondo diferenciado sin doble blur */
html[data-theme="light"] .card .card {
    background: rgba(15,23,42,0.04) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border-color: rgba(15,23,42,0.10) !important;
    box-shadow: none !important;
}

html[data-theme="light"] .card-header {
    background: rgba(255,255,255,0.50) !important;
    border-bottom-color: rgba(15,23,42,0.09) !important;
    color: oklch(0.22 0.02 240) !important;
}

/* Inputs */
html[data-theme="light"] .form-control,
html[data-theme="light"] .form-select {
    background-color: rgba(255,255,255,0.85) !important;
    border-color: rgba(15,23,42,0.12) !important;
    color: oklch(0.22 0.02 240) !important;
}

html[data-theme="light"] .form-control:focus,
html[data-theme="light"] .form-select:focus {
    border-color: oklch(0.55 0.14 215) !important;
    box-shadow: 0 0 0 3px oklch(0.55 0.14 215 / 0.15) !important;
}

html[data-theme="light"] .form-select option,
html[data-theme="light"] select option {
    background-color: #ffffff;
    color: #1a2535;
}

/* Dropdown */
html[data-theme="light"] .dropdown-menu {
    background-color: oklch(0.99 0.005 230 / 0.96) !important;
    backdrop-filter: blur(24px) saturate(160%);
    -webkit-backdrop-filter: blur(24px) saturate(160%);
    border-color: rgba(15,23,42,0.12) !important;
    box-shadow: 0 24px 60px rgba(15,23,42,0.18) !important;
}

html[data-theme="light"] .dropdown-item {
    color: oklch(0.22 0.02 240) !important;
}

html[data-theme="light"] .dropdown-item:hover {
    background-color: rgba(15,23,42,0.05) !important;
}

/* Modales */
html[data-theme="light"] .modal-content {
    background-color: rgba(255,255,255,0.92) !important;
    backdrop-filter: blur(28px) saturate(140%);
    -webkit-backdrop-filter: blur(28px) saturate(140%);
    border-color: rgba(15,23,42,0.12) !important;
    box-shadow: 0 28px 80px rgba(15,23,42,0.20) !important;
}

html[data-theme="light"] .modal-header,
html[data-theme="light"] .modal-footer {
    border-color: rgba(15,23,42,0.07) !important;
}

/* Footer */
html[data-theme="light"] .footer {
    background: rgba(255,255,255,0.65) !important;
    border-top: 1px solid rgba(15,23,42,0.07) !important;
}

/* ─── Toast nativo Artic ────────────────────────────────────────────────────── */
@keyframes _artic_toast_in {
    from { opacity:0; transform:translateX(20px); }
    to   { opacity:1; transform:translateX(0);    }
}

/* ─── Lobibox — override estilo sistema (modales) ──────────────────────────── */

/* ── Notify (toast) ── */
.lobibox-notify {
    background: var(--bs-body-bg) !important;
    border: 1px solid var(--bs-border-color) !important;
    border-left-width: 4px !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 32px rgba(0,0,0,.2) !important;
    color: var(--bs-body-color) !important;
    font-family: inherit !important;
    min-height: 70px !important;
}
.lobibox-notify:hover {
    background: var(--bs-secondary-bg) !important;
    border-color: var(--bs-border-color) !important;
}

/* Accent izquierdo por tipo */
.lobibox-notify.lobibox-notify-success { border-left-color: #198754 !important; }
.lobibox-notify.lobibox-notify-error   { border-left-color: #dc3545 !important; }
.lobibox-notify.lobibox-notify-warning { border-left-color: #e67e22 !important; }
.lobibox-notify.lobibox-notify-info    { border-left-color: var(--artic-brand, #7abfe6) !important; }

/* Ícono — reducido y coloreado */
.lobibox-notify .lobibox-notify-icon > div .icon-el { font-size: 30px !important; }
.lobibox-notify.lobibox-notify-success .icon-el { color: #198754 !important; }
.lobibox-notify.lobibox-notify-error   .icon-el { color: #dc3545 !important; }
.lobibox-notify.lobibox-notify-warning .icon-el { color: #e67e22 !important; }
.lobibox-notify.lobibox-notify-info    .icon-el { color: var(--artic-brand, #7abfe6) !important; }

/* Título y mensaje */
.lobibox-notify .lobibox-notify-title {
    font-size: .85rem !important;
    font-weight: 700 !important;
    color: var(--bs-body-color) !important;
}
.lobibox-notify .lobibox-notify-msg {
    font-size: .78rem !important;
    color: var(--bs-secondary-color) !important;
}

/* Botón cerrar */
.lobibox-notify .lobibox-close { color: var(--bs-secondary-color) !important; }
.lobibox-notify .lobibox-close:hover {
    background-color: var(--bs-secondary-bg) !important;
    color: var(--bs-body-color) !important;
}

/* Barra de progreso */
.lobibox-notify .lobibox-delay-indicator { background: var(--bs-border-color) !important; height: 2px !important; }
.lobibox-notify.lobibox-notify-success .lobibox-delay-indicator > div { background: #198754 !important; }
.lobibox-notify.lobibox-notify-error   .lobibox-delay-indicator > div { background: #dc3545 !important; }
.lobibox-notify.lobibox-notify-warning .lobibox-delay-indicator > div { background: #e67e22 !important; }
.lobibox-notify.lobibox-notify-info    .lobibox-delay-indicator > div { background: var(--artic-brand, #7abfe6) !important; }

/* ── Alert / Confirm (modal) ── */
.lobibox {
    background: var(--bs-body-bg) !important;
    border: 1px solid var(--bs-border-color) !important;
    border-radius: 14px !important;
    box-shadow: 0 20px 60px rgba(0,0,0,.25) !important;
    overflow: hidden !important;
}

/* Header base */
.lobibox .lobibox-header {
    color: var(--bs-body-color) !important;
    border-bottom: 1px solid var(--bs-border-color) !important;
    font-size: .95rem !important;
    font-weight: 700 !important;
    padding: 12px 16px !important;
}

/* Header tintado por tipo */
.lobibox.lobibox-confirm .lobibox-header,
.lobibox.lobibox-info    .lobibox-header { background: rgba(122,191,230,.2) !important; border-bottom-color: rgba(122,191,230,.3) !important; }
.lobibox.lobibox-success .lobibox-header { background: rgba(25,135,84,.2)   !important; border-bottom-color: rgba(25,135,84,.3)   !important; }
.lobibox.lobibox-error   .lobibox-header { background: rgba(220,53,69,.2)   !important; border-bottom-color: rgba(220,53,69,.3)   !important; }
.lobibox.lobibox-warning .lobibox-header { background: rgba(230,126,34,.2)  !important; border-bottom-color: rgba(230,126,34,.3)  !important; }

/* Borde superior de acento por tipo */
.lobibox.lobibox-confirm,
.lobibox.lobibox-info    { border-top: 2px solid var(--artic-brand, #7abfe6) !important; }
.lobibox.lobibox-success { border-top: 2px solid #198754 !important; }
.lobibox.lobibox-error   { border-top: 2px solid #dc3545 !important; }
.lobibox.lobibox-warning { border-top: 2px solid #e67e22 !important; }

.lobibox .lobibox-header .btn-close { color: var(--bs-secondary-color) !important; }

.lobibox .lobibox-body {
    background: var(--bs-body-bg) !important;
    color: var(--bs-body-color) !important;
    padding: 18px 20px !important;
}
.lobibox .lobibox-body .lobibox-body-text-wrapper {
    color: var(--bs-body-color) !important;
    font-size: .88rem !important;
    line-height: 1.55 !important;
}

/* Ícono con fondo circular coloreado */
.lobibox .lobibox-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important; height: 36px !important;
    border-radius: 50% !important;
    font-size: 18px !important;
    flex-shrink: 0 !important;
}
.lobibox.lobibox-confirm .lobibox-icon,
.lobibox.lobibox-info    .lobibox-icon { background: rgba(122,191,230,.15) !important; color: var(--artic-brand, #7abfe6) !important; }
.lobibox.lobibox-success .lobibox-icon { background: rgba(25,135,84,.15)   !important; color: #198754 !important; }
.lobibox.lobibox-error   .lobibox-icon { background: rgba(220,53,69,.15)   !important; color: #dc3545 !important; }
.lobibox.lobibox-warning .lobibox-icon { background: rgba(230,126,34,.15)  !important; color: #e67e22 !important; }

/* Footer */
.lobibox .lobibox-footer {
    background: var(--bs-secondary-bg) !important;
    border-top: 1px solid var(--bs-border-color) !important;
    padding: 12px 16px !important;
    gap: 8px !important;
}

/* Botones — base */
.lobibox .lobibox-btn {
    border-radius: 8px !important;
    font-size: .82rem !important;
    font-weight: 600 !important;
    padding: 7px 18px !important;
    border-width: 1px !important;
    border-style: solid !important;
    transition: filter .15s !important;
    cursor: pointer !important;
}
.lobibox .lobibox-btn:hover { filter: brightness(1.1) !important; }

/* Botón cancelar / no — siempre neutral */
.lobibox .lobibox-btn-no,
.lobibox .lobibox-btn-cancel {
    background: transparent !important;
    border-color: var(--bs-border-color) !important;
    color: var(--bs-body-color) !important;
}

/* Botón primario (yes / ok) — coloreado por tipo del modal */
.lobibox.lobibox-confirm .lobibox-btn-yes,
.lobibox.lobibox-confirm .lobibox-btn-default,
.lobibox.lobibox-info    .lobibox-btn-yes,
.lobibox.lobibox-info    .lobibox-btn-default {
    background: var(--artic-brand, #7abfe6) !important;
    border-color: var(--artic-brand, #7abfe6) !important;
    color: #0d1420 !important;
}
.lobibox.lobibox-success .lobibox-btn-yes,
.lobibox.lobibox-success .lobibox-btn-default {
    background: #198754 !important; border-color: #198754 !important; color: #fff !important;
}
.lobibox.lobibox-error .lobibox-btn-yes,
.lobibox.lobibox-error .lobibox-btn-default {
    background: #dc3545 !important; border-color: #dc3545 !important; color: #fff !important;
}
.lobibox.lobibox-warning .lobibox-btn-yes,
.lobibox.lobibox-warning .lobibox-btn-default {
    background: #e67e22 !important; border-color: #e67e22 !important; color: #fff !important;
}

/* ── Texto en tema oscuro — mayor especificidad para ganar a reglas dobles de Lobibox ── */
html[data-theme="dark"] .lobibox-notify,
html[data-theme="dark"] .lobibox-notify.lobibox-notify-success,
html[data-theme="dark"] .lobibox-notify.lobibox-notify-error,
html[data-theme="dark"] .lobibox-notify.lobibox-notify-warning,
html[data-theme="dark"] .lobibox-notify.lobibox-notify-info,
html[data-theme="dark"] .lobibox-notify.lobibox-notify-default {
    color: var(--bs-body-color) !important;
}

html[data-theme="dark"] .lobibox-notify .lobibox-notify-title { color: var(--bs-body-color) !important; }
html[data-theme="dark"] .lobibox-notify .lobibox-notify-msg   { color: var(--bs-secondary-color) !important; }

html[data-theme="dark"] .lobibox,
html[data-theme="dark"] .lobibox .lobibox-body,
html[data-theme="dark"] .lobibox .lobibox-body-text-wrapper   { color: var(--bs-body-color) !important; }
html[data-theme="dark"] .lobibox .lobibox-header              { color: var(--bs-body-color) !important; }
