/* ============================================================
   SISTEMA DE DISEÑO COMPACTO Y ELEGANTE (ALTA DENSIDAD)
   Adapta menú lateral, barra superior y vistas internas
   ============================================================ */

/* 1. TIPOGRAFÍA Y CUERPO GENERAL */
html, body {
    font-size: 13px !important;
    line-height: 1.4 !important;
}

/* Títulos y Encabezados Proporcionales */
h1, .h1 { font-size: 1.45rem !important; }
h2, .h2 { font-size: 1.3rem !important; }
h3, .h3 { font-size: 1.15rem !important; }
h4, .h4 { font-size: 1.05rem !important; }
h5, .h5 { font-size: 0.95rem !important; }
h6, .h6 { font-size: 0.85rem !important; }

p {
    margin-bottom: 0.4rem;
}

hr {
    margin: 0.5rem 0 !important;
    opacity: 0.12 !important;
}


/* 2. BARRA LATERAL (SIDEBAR) & MENÚ FUTURISTA 2030 (TEMA CLARO) */
.sidebar-wrapper,
[data-bs-theme] body .sidebar-wrapper,
[data-bs-theme=semi-dark] body .sidebar-wrapper {
    width: 230px !important;
    background-color: #ffffff !important;
    background: linear-gradient(180deg, #ffffff 0%, #fafbfd 100%) !important;
    border-right: 1px solid rgba(226, 232, 240, 0.85) !important;
    box-shadow: 4px 0 24px rgba(15, 23, 42, 0.035) !important;
    z-index: 12 !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* Cabecera del sidebar (Logo centrado y moderno) */
.sidebar-wrapper .sidebar-header,
[data-bs-theme] body .sidebar-wrapper .sidebar-header,
[data-bs-theme=semi-dark] body .sidebar-wrapper .sidebar-header {
    width: 100% !important;
    height: 60px !important;
    background-color: #ffffff !important;
    background: rgba(255, 255, 255, 0.98) !important;
    backdrop-filter: blur(10px) !important;
    border-right: 1px solid rgba(226, 232, 240, 0.85) !important;
    border-bottom: 1px solid rgba(241, 245, 249, 0.9) !important;
    padding: 0 0.75rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1041 !important;
    transition: all 0.3s ease !important;
}

/* Contenedor centrado del logo */
.sidebar-wrapper .sidebar-header .logo-box {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    text-align: center !important;
}

.sidebar-wrapper .sidebar-header .logo-box a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
}

/* Logo más grande, nítido y con micro-interacción */
.sidebar-wrapper .sidebar-header .logo-img {
    height: 40px !important;
    width: auto !important;
    max-width: 180px !important;
    object-fit: contain !important;
    filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.05)) !important;
    transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

.sidebar-wrapper .sidebar-header .logo-box:hover .logo-img {
    transform: scale(1.05);
}

/* Ocultar cualquier texto residual de Mascotas o títulos en header */
.sidebar-wrapper .sidebar-header .logo-name {
    display: none !important;
}

/* Botón cerrar para móviles (diseño flotante a la derecha) */
.sidebar-wrapper .sidebar-header .sidebar-close {
    position: absolute !important;
    right: 10px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    background: #f1f5f9 !important;
    color: #64748b !important;
    display: none;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.sidebar-wrapper .sidebar-header .sidebar-close:hover {
    background: #e2e8f0 !important;
    color: #0f172a !important;
}

/* Área de navegación del menú */
.sidebar-wrapper .sidebar-nav,
[data-bs-theme] body .sidebar-wrapper .sidebar-nav,
[data-bs-theme=semi-dark] body .sidebar-wrapper .sidebar-nav {
    margin-top: 60px !important;
    background: transparent !important;
    padding: 10px 4px !important;
}

.sidebar-wrapper .sidebar-nav ul {
    padding: 2px !important;
    margin: 0 !important;
    list-style: none !important;
}

.sidebar-wrapper .sidebar-nav .metismenu {
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
    background: transparent !important;
}

.sidebar-wrapper .sidebar-nav .metismenu li + li,
.sidebar-wrapper .sidebar-nav .metismenu li:first-child,
.sidebar-wrapper .sidebar-nav .metismenu li:last-child {
    margin: 0 !important;
}

/* Enlaces del menú principal (estilo píldora futurista 2030) */
.sidebar-wrapper .sidebar-nav .metismenu a,
[data-bs-theme] body .sidebar-wrapper .sidebar-nav .metismenu a,
[data-bs-theme=semi-dark] body .sidebar-wrapper .sidebar-nav .metismenu a {
    display: flex !important;
    align-items: center !important;
    padding: 8px 12px !important;
    margin: 1px 6px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #475569 !important;
    border-radius: 9px !important;
    letter-spacing: 0.15px !important;
    background: transparent !important;
    transition: all 0.22s cubic-bezier(0.4, 0, 0.2, 1) !important;
    position: relative !important;
    text-decoration: none !important;
}

/* Contenedor de Íconos de Alta Tecnología */
.sidebar-wrapper .sidebar-nav .metismenu a .parent-icon {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 8px !important;
    background: #f1f5f9 !important;
    color: #64748b !important;
    margin-right: 10px !important;
    transition: all 0.22s ease !important;
}

.sidebar-wrapper .sidebar-nav .metismenu a .parent-icon i,
.sidebar-wrapper .sidebar-nav .metismenu a .parent-icon .material-icons-outlined,
.sidebar-wrapper .sidebar-nav .metismenu a .parent-icon .fas {
    font-size: 17px !important;
    line-height: 1 !important;
    transition: transform 0.22s ease !important;
}

.sidebar-wrapper .sidebar-nav .metismenu a .menu-title {
    font-size: 13px !important;
    margin-left: 0 !important;
    flex-grow: 1 !important;
    color: inherit !important;
}

/* Efecto Hover Futurista (Micro-desplazamiento y brillo sutil) */
.sidebar-wrapper .sidebar-nav .metismenu a:hover,
[data-bs-theme] body .sidebar-wrapper .sidebar-nav .metismenu a:hover,
[data-bs-theme=semi-dark] body .sidebar-wrapper .sidebar-nav .metismenu a:hover {
    background: #f8fafc !important;
    color: #0284c7 !important;
    transform: translateX(3px) !important;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04) !important;
}

.sidebar-wrapper .sidebar-nav .metismenu a:hover .parent-icon {
    background: rgba(14, 165, 233, 0.12) !important;
    color: #0284c7 !important;
    transform: scale(1.06) !important;
}

/* Estado Activo (Píldora brillante con gradiente de 2030) */
.sidebar-wrapper .sidebar-nav .metismenu .mm-active > a,
.sidebar-wrapper .sidebar-nav .metismenu a:active,
[data-bs-theme] body .sidebar-wrapper .sidebar-nav .metismenu .mm-active > a,
[data-bs-theme=semi-dark] body .sidebar-wrapper .sidebar-nav .metismenu .mm-active > a {
    background: linear-gradient(135deg, rgba(14, 165, 233, 0.12) 0%, rgba(59, 130, 246, 0.08) 100%) !important;
    color: #0284c7 !important;
    font-weight: 600 !important;
    box-shadow: inset 3px 0 0 #0284c7, 0 3px 10px rgba(14, 165, 233, 0.08) !important;
}

.sidebar-wrapper .sidebar-nav .metismenu .mm-active > a .parent-icon,
[data-bs-theme] body .sidebar-wrapper .sidebar-nav .metismenu .mm-active > a .parent-icon,
[data-bs-theme=semi-dark] body .sidebar-wrapper .sidebar-nav .metismenu .mm-active > a .parent-icon {
    background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 3px 8px rgba(2, 132, 199, 0.35) !important;
    transform: scale(1.02) !important;
}

/* Flecha desplegable minimalista (Chevron) */
.sidebar-wrapper .sidebar-nav .metismenu .has-arrow:after,
[data-bs-theme=semi-dark] body .sidebar-wrapper .metismenu .has-arrow:after {
    border-color: #94a3b8 !important;
    width: 5px !important;
    height: 5px !important;
    border-width: 1.5px 0 0 1.5px !important;
    right: 12px !important;
    transition: transform 0.22s ease, border-color 0.22s ease !important;
}

.sidebar-wrapper .sidebar-nav .metismenu a:hover.has-arrow:after,
.sidebar-wrapper .sidebar-nav .metismenu .mm-active > a.has-arrow:after {
    border-color: #0284c7 !important;
}

/* Submenús con línea conectora futurista */
.sidebar-wrapper .sidebar-nav .metismenu ul,
[data-bs-theme] body .sidebar-wrapper .sidebar-nav .metismenu ul,
[data-bs-theme=semi-dark] body .sidebar-wrapper .sidebar-nav .metismenu ul {
    background: transparent !important;
    margin: 2px 6px 4px 22px !important;
    padding: 3px 0 3px 10px !important;
    border-left: 2px solid #e2e8f0 !important;
}

.sidebar-wrapper .sidebar-nav .metismenu ul a,
[data-bs-theme] body .sidebar-wrapper .sidebar-nav .metismenu ul a,
[data-bs-theme=semi-dark] body .sidebar-wrapper .sidebar-nav .metismenu ul a {
    padding: 5px 10px !important;
    font-size: 12.2px !important;
    color: #64748b !important;
    border-radius: 7px !important;
    margin: 2px 0 !important;
    transition: all 0.2s ease !important;
    background: transparent !important;
}

.sidebar-wrapper .sidebar-nav .metismenu ul a i,
.sidebar-wrapper .sidebar-nav .metismenu ul a .material-icons-outlined {
    font-size: 13px !important;
    color: #94a3b8 !important;
    margin-right: 5px !important;
    transition: color 0.2s ease !important;
}

.sidebar-wrapper .sidebar-nav .metismenu ul a:hover {
    background: #f1f5f9 !important;
    color: #0284c7 !important;
    transform: translateX(3px) !important;
}

.sidebar-wrapper .sidebar-nav .metismenu ul a:hover i {
    color: #0284c7 !important;
}

.sidebar-wrapper .sidebar-nav .metismenu ul .mm-active > a {
    background: rgba(14, 165, 233, 0.1) !important;
    color: #0284c7 !important;
    font-weight: 600 !important;
}

/* Separadores de Sección */
.sidebar-wrapper .menu-label,
[data-bs-theme] body .sidebar-wrapper .menu-label,
[data-bs-theme=semi-dark] body .sidebar-wrapper .menu-label {
    color: #94a3b8 !important;
    font-size: 9.5px !important;
    font-weight: 700 !important;
    letter-spacing: 0.8px !important;
    text-transform: uppercase !important;
    padding: 12px 14px 4px 14px !important;
}

/* Barra de scroll moderna */
.sidebar-wrapper [data-simplebar] .simplebar-scrollbar:before {
    background: #cbd5e1 !important;
    opacity: 0.5 !important;
}


/* 3. BARRA SUPERIOR (NAVBAR) COMPACTA Y MODERNA */
.top-header .navbar,
[data-bs-theme] body .top-header .navbar,
[data-bs-theme=semi-dark] body .top-header .navbar {
    height: 60px !important;
    left: 230px !important;
    padding: 0 1.25rem !important;
    gap: 0.75rem !important;
    background: rgba(255, 255, 255, 0.98) !important;
    backdrop-filter: blur(12px) !important;
    border-bottom: 1px solid rgba(226, 232, 240, 0.85) !important;
    box-shadow: 0 2px 12px rgba(15, 23, 42, 0.03) !important;
}

.top-header .navbar .btn-toggle a {
    width: 34px !important;
    height: 34px !important;
    border-radius: 8px !important;
    background: #f1f5f9 !important;
    color: #475569 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.2s ease !important;
}

.top-header .navbar .btn-toggle a:hover {
    background: #e2e8f0 !important;
    color: #0f172a !important;
}

.top-header .navbar .btn-toggle a i,
.top-header .navbar .btn-toggle a .material-icons-outlined {
    font-size: 20px !important;
}

.top-header .navbar .nav-right-links {
    gap: 0.6rem !important;
}

.top-header .navbar .dropdown-toggle img {
    width: 36px !important;
    height: 36px !important;
    border: 2px solid #e2e8f0 !important;
    transition: transform 0.2s ease !important;
}

.top-header .navbar .dropdown-toggle img:hover {
    transform: scale(1.05);
}

.top-header .navbar #fullscreen-btn {
    padding: 4px 9px !important;
    font-size: 12px !important;
    border-radius: 7px !important;
    line-height: 1.2 !important;
}

.top-header .navbar #selectEmpresas {
    height: 32px !important;
    font-size: 12px !important;
    padding: 2px 8px !important;
    border-radius: 7px !important;
}


/* 4. CONTENEDOR PRINCIPAL Y ELIMINACIÓN DE PIE DE PÁGINA */
.main-wrapper {
    margin-top: 60px !important;
    margin-left: 230px !important;
    padding-bottom: 10px !important;
}

.main-wrapper .main-content {
    padding: 0.85rem 1rem !important;
}

/* Ocultar footer completamente del sistema */
.page-footer,
footer.page-footer {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    pointer-events: none !important;
}

/* Ocultar toolbar de depuración y botón de llama (CodeIgniter DebugBar) */
#toolbarContainer,
.ci-debugbar,
#ci-history,
#debug-icon,
#debug-bar,
#toolbar-wrapper,
[id^="ci-debugbar"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}


/* Estado contraído / Toggled en Desktop (min-width: 1200px) */
@media screen and (min-width: 1200px) {
    body.toggled .top-header .navbar {
        left: 70px !important;
    }
    body.toggled .main-wrapper {
        margin-left: 70px !important;
    }
    body.toggled .page-footer {
        left: 70px !important;
    }
    body.toggled:not(.sidebar-hovered) .sidebar-wrapper {
        width: 70px !important;
    }
    body.toggled:not(.sidebar-hovered) .sidebar-wrapper .sidebar-header {
        width: 70px !important;
        justify-content: center !important;
    }
    body.toggled:not(.sidebar-hovered) .sidebar-wrapper .sidebar-header .logo-img {
        max-width: 44px !important;
        height: 28px !important;
    }
    body.toggled:not(.sidebar-hovered) .sidebar-wrapper .metismenu a {
        justify-content: center !important;
        margin: 2px 8px !important;
        padding: 8px 0 !important;
    }
    body.toggled:not(.sidebar-hovered) .sidebar-wrapper .metismenu a .parent-icon {
        margin-right: 0 !important;
    }
    body.toggled:not(.sidebar-hovered) .sidebar-wrapper .metismenu a .menu-title {
        display: none !important;
    }
    body.toggled:not(.sidebar-hovered) .sidebar-wrapper .metismenu .has-arrow:after {
        display: none !important;
    }
    body.toggled.sidebar-hovered .sidebar-wrapper {
        width: 230px !important;
    }
    body.toggled.sidebar-hovered .sidebar-wrapper .sidebar-header {
        width: 230px !important;
    }
}

/* Estado Responsive / Pantallas medianas y móviles (max-width: 1199px) */
@media only screen and (max-width: 1199px) {
    .sidebar-wrapper,
    [data-bs-theme] body .sidebar-wrapper,
    [data-bs-theme=semi-dark] body .sidebar-wrapper {
        left: -260px !important;
        width: 230px !important;
        box-shadow: none !important;
        z-index: 1040 !important;
    }

    .sidebar-wrapper .sidebar-header,
    [data-bs-theme] body .sidebar-wrapper .sidebar-header,
    [data-bs-theme=semi-dark] body .sidebar-wrapper .sidebar-header {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
    }

    .sidebar-wrapper .sidebar-header .sidebar-close {
        display: flex !important;
    }

    .top-header .navbar,
    [data-bs-theme] body .top-header .navbar,
    [data-bs-theme=semi-dark] body .top-header .navbar {
        left: 0 !important;
        height: 58px !important;
        padding: 0 0.85rem !important;
        z-index: 1000 !important;
    }

    .main-wrapper {
        margin-left: 0 !important;
        margin-top: 58px !important;
    }

    .page-footer {
        left: 0 !important;
    }

    /* Menú lateral abierto en móvil */
    body.toggled .sidebar-wrapper,
    .toggled .sidebar-wrapper {
        width: 230px !important;
        left: 0 !important;
        box-shadow: 10px 0 35px rgba(0, 0, 0, 0.25) !important;
    }

    body.toggled .sidebar-wrapper .sidebar-header,
    .toggled .sidebar-wrapper .sidebar-header {
        width: 100% !important;
        left: 0 !important;
    }

    body.toggled .top-header .navbar,
    .toggled .top-header .navbar {
        left: 0 !important;
    }

    body.toggled .page-footer,
    .toggled .page-footer {
        left: 0 !important;
    }

    body.toggled .main-wrapper,
    .toggled .main-wrapper {
        margin-left: 0 !important;
    }

    /* Overlay oscuro semitransparente al abrir menú */
    .overlay {
        display: none !important;
    }

    body.toggled .overlay,
    .toggled .overlay {
        display: block !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        background: rgba(15, 23, 42, 0.45) !important;
        backdrop-filter: blur(4px) !important;
        z-index: 1030 !important;
        cursor: pointer !important;
    }
}

/* Teléfonos móviles pequeños */
@media only screen and (max-width: 768px) {
    .top-header .navbar {
        gap: 0.5rem !important;
        padding: 0 0.65rem !important;
    }

    .top-header .navbar .nav-right-links {
        gap: 0.35rem !important;
    }

    .top-header .navbar #selectEmpresas {
        max-width: 130px !important;
        font-size: 11px !important;
        padding: 2px 6px !important;
        height: 28px !important;
    }

    .top-header .navbar #fullscreen-btn {
        padding: 3px 6px !important;
        font-size: 11px !important;
    }

    .top-header .navbar .dropdown-toggle img {
        width: 32px !important;
        height: 32px !important;
    }
}


/* 5. VISTAS DE ADENTRO: BREADCRUMBS Y ENCABEZADOS DE PÁGINA */
.main-wrapper .main-content .page-breadcrumb {
    margin-bottom: 0.65rem !important;
}

.main-wrapper .main-content .breadcrumb-title {
    font-size: 15px !important;
    padding-right: 0.65rem !important;
    line-height: 1.3 !important;
}

.main-wrapper .main-content .page-breadcrumb .breadcrumb li.breadcrumb-item {
    font-size: 12px !important;
}

.main-wrapper .main-content .page-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
    font-size: 12px !important;
    padding-right: 0.35rem !important;
}


/* 6. VISTAS DE ADENTRO: TARJETAS (CARDS) */
.card {
    margin-bottom: 0.85rem !important;
    border-radius: 8px !important;
}

.card-header {
    padding: 0.5rem 0.85rem !important;
    font-size: 13px !important;
}

.card-body {
    padding: 0.85rem !important;
}

.card-footer {
    padding: 0.5rem 0.85rem !important;
    font-size: 12px !important;
}

.card-title {
    font-size: 14px !important;
    font-weight: 600 !important;
    margin-bottom: 0.35rem !important;
}


/* Tarjetas métricas del Dashboard (.custom-card) */
.custom-card {
    background: #fff;
    border-radius: 8px !important;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08) !important;
    transition: all 0.25s ease;
}

.custom-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 5px 14px rgba(0, 0, 0, 0.12) !important;
}

.clientes {
    background: linear-gradient(135deg, #4caf50, #2196f3);
}

.medicamentos {
    background: linear-gradient(135deg, #ff9800, #f44336);
}

.mascotas {
    background: linear-gradient(135deg, #2196f3, #9c27b0);
}

.cuentas-cobrar {
    background: linear-gradient(135deg, #673ab7, #3f51b5);
}

.cuentas-pagar {
    background: linear-gradient(135deg, #e91e63, #f44336);
}

.ventas {
    background: linear-gradient(135deg, #3f51b5, #00bcd4);
}

.custom-card .card-body {
    padding: 0.75rem 0.85rem !important;
}

.custom-icon-bg,
.wh-42 {
    width: 38px !important;
    height: 38px !important;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(255, 255, 255, 0.2);
}

.custom-icon-bg i,
.custom-icon-bg .fas,
.custom-icon {
    font-size: 1.15rem !important;
}

.custom-card h3 {
    font-size: 1.35rem !important;
    font-weight: 600;
    color: #fff !important;
    margin-bottom: 0 !important;
}

.custom-card p {
    font-size: 12px !important;
    margin-bottom: 0 !important;
}

.text-white {
    color: #fff !important;
}


/* 7. VISTAS DE ADENTRO: TABLAS Y DATATABLES COMPACTAS */
.table {
    font-size: 12px !important;
    margin-bottom: 0.4rem !important;
}

.table > :not(caption) > * > * {
    padding: 5px 8px !important;
}

.table th {
    padding: 6px 8px !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0.2px !important;
    vertical-align: middle !important;
}

.table td {
    padding: 5px 8px !important;
    font-size: 12px !important;
    vertical-align: middle !important;
}

.table-responsive {
    margin-bottom: 0.4rem !important;
}

/* DataTables Controles */
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_paginate {
    font-size: 12px !important;
    margin-top: 0.3rem !important;
    margin-bottom: 0.3rem !important;
}

.dataTables_wrapper .dataTables_filter input {
    height: 28px !important;
    font-size: 12px !important;
    padding: 2px 8px !important;
    border-radius: 4px !important;
}

.dataTables_wrapper .dataTables_length select {
    height: 28px !important;
    font-size: 12px !important;
    padding: 2px 6px !important;
    border-radius: 4px !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
    padding: 2px 7px !important;
    font-size: 11.5px !important;
}

.dt-paging {
    float: right;
}

div.dt-buttons {
    margin-bottom: 0.35rem !important;
}

div.dt-buttons .btn {
    font-size: 11.5px !important;
    padding: 3px 8px !important;
}

.dt-buttons .btn-secondary {
    background-color: transparent;
    border: none;
    padding: 4px;
}


/* 8. VISTAS DE ADENTRO: FORMULARIOS, INPUTS Y SELECTS COMPACTOS */
.form-control,
.form-select {
    font-size: 12px !important;
    min-height: 31px !important;
    padding: 0.25rem 0.55rem !important;
    border-radius: 4px !important;
}

.form-control-sm,
.form-select-sm {
    font-size: 11px !important;
    min-height: 26px !important;
    padding: 0.18rem 0.45rem !important;
}

.form-label,
label {
    font-size: 11.5px !important;
    margin-bottom: 0.2rem !important;
    font-weight: 500 !important;
}

.form-group {
    margin-bottom: 0.65rem !important;
}

/* Espaciado general compacto de Bootstrap */
.mb-3 {
    margin-bottom: 0.65rem !important;
}

.mb-4 {
    margin-bottom: 0.9rem !important;
}

.input-group-text {
    font-size: 12px !important;
    padding: 0.25rem 0.55rem !important;
}

.input-group > .btn {
    font-size: 12px !important;
    padding: 0.25rem 0.65rem !important;
}

/* Select2 compacto */
.select2-container .select2-selection--single {
    height: 31px !important;
    font-size: 12px !important;
}

.select2-container--bootstrap-5 .select2-selection {
    min-height: 31px !important;
    font-size: 12px !important;
    padding: 0.25rem 0.5rem !important;
}

.select2-container--bootstrap-5 .select2-selection--single .select2-selection__rendered {
    font-size: 12px !important;
    line-height: 22px !important;
}

.select2-results__option {
    font-size: 12px !important;
    padding: 4px 8px !important;
}


/* 9. VISTAS DE ADENTRO: BOTONES Y BADGES COMPACTOS */
.btn {
    font-size: 12px !important;
    padding: 0.28rem 0.65rem !important;
    border-radius: 4px !important;
    line-height: 1.35 !important;
}

.btn-sm {
    font-size: 11px !important;
    padding: 0.18rem 0.45rem !important;
    border-radius: 3px !important;
    line-height: 1.2 !important;
}

.btn-lg {
    font-size: 13px !important;
    padding: 0.38rem 0.85rem !important;
}

.btn i,
.btn .fas,
.btn .fa,
.btn span.material-icons-outlined {
    font-size: 12.5px !important;
    vertical-align: middle !important;
}

.badge {
    font-size: 10.5px !important;
    padding: 0.25em 0.5em !important;
    font-weight: 500 !important;
}


/* 10. VISTAS DE ADENTRO: MODALES, DROPDOWNS Y ALERTAS */
.modal-header {
    padding: 0.55rem 0.85rem !important;
}

.modal-title {
    font-size: 14px !important;
    font-weight: 600 !important;
}

.modal-body {
    padding: 0.85rem !important;
    font-size: 12.5px !important;
}

.modal-footer {
    padding: 0.45rem 0.85rem !important;
}

.dropdown-menu {
    font-size: 12px !important;
    border-radius: 6px !important;
    padding: 0.3rem 0 !important;
}

.dropdown-item {
    font-size: 12px !important;
    padding: 0.3rem 0.75rem !important;
}

.dropdown-user .user-name {
    font-size: 13px !important;
}

.alert {
    padding: 0.45rem 0.75rem !important;
    font-size: 12px !important;
    margin-bottom: 0.65rem !important;
    border-radius: 5px !important;
}

.fc-toolbar-title {
    text-transform: uppercase;
    font-size: 1.15rem !important;
}
