﻿.validation-message {
    color: red;
}
/*:root, [data-bs-theme=light] {
    --bs-light: #F9F9F9;
    --bs-primary: #8B3DFF;
    --bs-secondary: #F1F1F4;
    --bs-success: #17C653;
    --bs-info: #7239EA;
    --bs-warning: #F6C000;
    --bs-danger: #F8285A;
    --bs-dark: #1E2129;*/
/*--bs-success-light: #8b3dff;*/
/* --bs-success: #8B3DFF;
    --bs-text-success: #8B3DFF;*/

/*--bs-success: #17C653;
    --bs-text-success: #17C653;
}*/

:root {
    --bs-purple-light: #E6CCF2;
    --bs-purple: #AC1EA6;
    --bs-purple-inverse: #ffffff;
    --bs-purple-active: #8E188A;
    --bs-filtro: brightness(0) saturate(100%) invert(21%) sepia(80%) saturate(2964%) hue-rotate(288deg) brightness(81%) contrast(98%);
    --bs-filtroDTE: brightness(0) saturate(100%) invert(21%) sepia(80%) saturate(2964%) hue-rotate(288deg) brightness(81%) contrast(98%);
    --bs-cssfiltro: none;
    --bs-font-family: 'Comfortaa', sans-serif;
}

/* ── Compact header & sidebar overrides ── */
[data-kt-app-header-fixed="true"] {
    --bs-app-header-height: 76px !important;
    --bs-app-header-height-actual: 76px !important;
}

#kt_app_header {
    min-height: 76px !important;
    height: 76px !important;
}

#kt_app_header_container {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Estos anchos fijos son sólo para el sidebar de escritorio (icon-rail colapsable).
   En mobile el sidebar pasa a ser un drawer (data-kt-drawer-width="225px" en
   MainLayout.razor) y data-kt-app-sidebar-minimize sigue en "on" igual, así que sin
   este @media el drawer móvil quedaba forzado a 88px en vez de abrir completo. */
@media (min-width: 992px) {
    /* El header (#kt_app_header) y el wrapper (#kt_app_wrapper) se posicionan con
       --bs-app-sidebar-width heredada desde #kt_app_body. Declararla sólo en
       .app-sidebar no alcanza: el header seguía usando el default de Metronic
       (281px) mientras el sidebar medía 230px -> franja blanca al expandir. */
    #kt_app_body {
        --bs-app-sidebar-width: 230px;
        --bs-app-sidebar-width-actual: 230px;
    }

    [data-kt-app-sidebar-minimize="on"] #kt_app_sidebar {
        width: 88px !important;
    }

    [data-kt-app-sidebar-minimize="on"] {
        --bs-app-sidebar-width: 88px !important;
        --bs-app-sidebar-width-actual: 88px !important;
    }

    /* Ancho del sidebar expandido (un poco más angosto) */
    .app-sidebar {
        --bs-app-sidebar-width: 230px;
        width: 230px;
    }

    [data-kt-app-sidebar-minimize="on"] .app-sidebar-logo-default {
        width: 0 !important;
        overflow: hidden;
    }

    [data-kt-app-sidebar-minimize="on"] .app-sidebar-logo-minimize {
        width: 72px !important;
        max-height: 60px !important;
    }
}

#kt_app_sidebar_logo {
    padding: 0.75rem 0.5rem !important;
    display: flex;
    align-items: center;
    justify-content: center;
}

#kt_app_sidebar_menu_scroll {
    margin-left: 8px !important;
    margin-right: 8px !important;
}

/* Cerrar sesion: en flujo normal, pegado al fondo si sobra espacio y debajo del menu (con scroll) si la pantalla es baja */
#kt_app_sidebar_menu_scroll > .menu {
    display: flex;
    flex-direction: column;
    min-height: 100%;
}
#kt_app_sidebar_menu_scroll > .menu > * {
    flex-shrink: 0;
}
.menu-item-logout {
    margin-top: auto;
    padding-top: 1rem;
    padding-bottom: 3rem;
}

/* Boton desconectar: mismo padding que los demas .menu-link (que son <a>) */
.menu-item-logout > .menu-link-logout {
    background: none;
    border: none;
    width: 100%;
    text-align: left;
}
.menu-item-logout > span {
    display: block;
    padding-left: 1rem;
}

/* Sidebar bottom items (version text) */
.menu-item-logout span[style*="color: #9AA1B7"] {
    font-size: 11px !important;
    opacity: 0.7;
}
body {
    font-family: var(--bs-font-family);
}
/* plugins.bundle.css fuerza Inter/Helvetica en los textos de ApexCharts; se usa la fuente de la marca */
.apexcharts-legend-text,
.apexcharts-text,
.apexcharts-title-text {
    font-family: var(--bs-font-family) !important;
}
.btn-link-purple {
    color: var(--bs-purple);
}

.mx-15 {
    margin-right: 15px !important;
    margin-left: 15px !important;
}

.symbol.symbol-balino .symbol-label {
    width: 46px;
    height: 44px;
    border-radius: 10px;
}

.mr-15 {
    margin-right: 15px;
}

.btnSalir {
    bottom: 0;
    position: fixed;
}

.badge-device {
    background-color: #472288;
    color: #ffffff;
}

.badge-web {
    background-color: var(--bs-primary);
    color: #ffffff;
}
.badge-apiweb {
    background-color: #23014e;
    color: #ffffff;
}
.badge-pos {
    background-color: #A171F2;
    color: #ffffff;
}
.badge-enviado {
    background-color: #7fd6a3;
    color: #ffffff;
}
.badge-rechazado {
    background-color: #ed5494;
    color: #ffffff;
}
.badge-pendiente {
    background-color: #eec46a;
    color: #ffffff;
}
.shadowIconMenu {
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.08);
    -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.08);
    -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.08);
    transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

.shadowIconMenu:hover {
    box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.12);
}

/* ── Active menu item indicator ── */
.menu-item .menu-link.active .shadowIconMenu {
    box-shadow: 0 0 0 2px var(--bs-primary);
    background-color: rgba(var(--bs-primary-rgb, 172, 30, 166), 0.08) !important;
}

.menu-item .menu-link.active .shadowIconMenu i {
    color: #1f2937 !important;
}

/* ── Estilo minimalista de iconos (menú expandido) ──
   Quita la caja con sombra/fondo y usa iconos en línea, más pequeños. */
#kt_app_body:not([data-kt-app-sidebar-minimize="on"]) .app-sidebar .menu-link .shadowIconMenu {
    box-shadow: none !important;
    background-color: transparent !important;
    width: auto !important;
    height: auto !important;
    border-radius: 0 !important;
}

#kt_app_body:not([data-kt-app-sidebar-minimize="on"]) .app-sidebar .symbol.symbol-balino .symbol-label {
    width: auto !important;
    height: auto !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background-color: transparent !important;
}

/* Iconos más pequeños y con menos separación del texto en modo expandido */
#kt_app_body:not([data-kt-app-sidebar-minimize="on"]) .app-sidebar .menu-link .shadowIconMenu i {
    font-size: 18px !important;
    color: #9AA1B7;
}

#kt_app_body:not([data-kt-app-sidebar-minimize="on"]) .app-sidebar .mr-15 {
    margin-right: 10px !important;
}

/* Item activo: solo pinta el icono y el texto con el color de marca (sin caja) */
#kt_app_body:not([data-kt-app-sidebar-minimize="on"]) .app-sidebar .menu-link.active .shadowIconMenu {
    box-shadow: none !important;
    background-color: transparent !important;
}

#kt_app_body:not([data-kt-app-sidebar-minimize="on"]) .app-sidebar .menu-link.active .shadowIconMenu i {
    color: var(--bs-primary) !important;
}

#kt_app_body:not([data-kt-app-sidebar-minimize="on"]) .app-sidebar .menu-link.active .menu-title {
    color: var(--bs-primary) !important;
    font-weight: 600;
}

/* ── Encabezados de sección del menú lateral ── */
.menu-heading-item {
    margin-top: 14px;
    margin-bottom: 2px;
    padding-left: 6px;
}

    .menu-heading-item:first-child {
        margin-top: 0;
    }

.menu-heading {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #9AA1B7;
    opacity: 0.85;
}

/* Oculta los encabezados de sección cuando el sidebar está minimizado (solo escritorio;
   en el drawer móvil data-kt-app-sidebar-minimize sigue en "on" pero el drawer muestra
   el menú completo, así que ahí los encabezados deben verse). */
@media (min-width: 992px) {
    [data-kt-app-sidebar-minimize="on"] .menu-heading-item {
        display: none;
    }
}

/* Reduce el tamaño de la letra de los items del menú lateral */
.menu-title {
    font-size: 13px !important;
}

.fs-16 {
    font-size: 16px;
}

.ml-13 {
    margin-left: 13px !important;
}

.empresaHeader {
    font-size: 18px;
    color: white;
    -webkit-text-stroke: 0.3px;
    letter-spacing: 0.01em;
}

.badge.badge-balino {
    width: 50px;
    height: 50px
}

.btnHeader {
    color: white;
    background-color: white;
    border-radius: 50%;
    width: 42px !important;
    height: 42px !important;
}

    .btnHeader i {
        font-size: 20px;
    }

.modal-header {
    background-color: var(--bs-primary);
    display: block !important;
}

.modal-title {
    color: white;
    font-size: 24px;
    text-align: center;
}

.modal-body label {
    font-size: 16px;
    font-weight: 700;
}

.btn-check:active + .btn.btn-outline.btn-outline-primary, .btn-check:checked + .btn.btn-outline.btn-outline-primary, .btn.btn-outline.btn-outline-primary.active, .btn.btn-outline.btn-outline-primary.show, .btn.btn-outline.btn-outline-primary:active:not(.btn-active), .btn.btn-outline.btn-outline-primary:focus:not(.btn-active), .btn.btn-outline.btn-outline-primary:hover:not(.btn-active), .show > .btn.btn-outline.btn-outline-primary {
    color: white !important;
    background-color: var(--bs-primary) !important;
}

.symbol.symbol-124px > img {
    width: 124px;
    height: 124px
}

.symbol.symbol-124px .symbol-label {
    width: 124px;
    height: 124px
}

.symbol.symbol-124px.symbol-fixed .symbol-label {
    width: 124px;
    height: 124px
}

.symbol.symbol-124px.symbol-fixed > img {
    width: 124px;
    height: 124px;
    max-width: none
}

.symbol.symbol-124px.symbol-2by3 .symbol-label {
    height: 124px;
    width: 187.5px
}

.symbol.symbol-124px.symbol-2by3 > img {
    height: 124px;
    width: 187.5px;
    max-width: none
}

.afecta {
    /*background-image: url('/img/DTE/Afecta.png');*/
    background: url('/img/DTE/Afecta.png') no-repeat;
}

    .afecta:hover {
        filter: var(--bs-cssfiltro);
        /*filter: brightness(0) saturate(100%) invert(21%) sepia(80%) saturate(2964%) hue-rotate(288deg) brightness(81%) contrast(98%);*/
        /*background-image: url('../img/dte/AfectaHover.png');*/
    }

.img-hover:hover {
    filter: var(--bs-cssfiltro);
    /*filter: brightness(0) saturate(100%) invert(21%) sepia(80%) saturate(2964%) hue-rotate(288deg) brightness(81%) contrast(98%);*/
}

.exenta {
    background-image: url('../img/dte/Exenta.png');
}

    .exenta:hover {
        filter: var(--bs-cssfiltro);
        /*filter: brightness(0) saturate(100%) invert(21%) sepia(80%) saturate(2964%) hue-rotate(288deg) brightness(81%) contrast(98%);*/
        /*background-image: url('../img/dte/ExentaHover.png');*/
    }

.guiaDespacho {
    background-image: url('../img/dte/GuiaDespacho.png');
}

    .guiaDespacho:hover {
        filter: var(--bs-cssfiltro);
        /*background-image: url('../img/dte/GuiaDespachoHover.png');*/
        /*filter: brightness(0) saturate(100%) invert(21%) sepia(80%) saturate(2964%) hue-rotate(288deg) brightness(81%) contrast(98%);*/
    }

.notaCredito {
    background-image: url('../img/dte/NotaCredito.png');
    background-size: contain;
    background-repeat: no-repeat;
}
    .notaCredito:hover {
        filter: var(--bs-cssfiltro);
        /*filter: brightness(0) saturate(100%) invert(21%) sepia(80%) saturate(2964%) hue-rotate(288deg) brightness(81%) contrast(98%);*/
    }
.cargaMasiva {
    background-image: url('../img/dte/CargaMasiva.png');
    background-size: contain;
    background-repeat: no-repeat;
}

    .cargaMasiva:hover {
        filter: var(--bs-cssfiltro);
        /*filter: brightness(0) saturate(100%) invert(21%) sepia(80%) saturate(2964%) hue-rotate(288deg) brightness(81%) contrast(98%);*/
    }
.empresaNombre {
    font-size: 28px;
    font-weight: 600;
}

.chkLabel {
    font-size: 14px;
    font-weight: 500;
}

.form-select {
    height: 54px !important;
}

.form-control {
    height: 54px !important;
}

.tableTH {
    text-align: center !important;
    color: #272833 !important;
    font-size: 12px !important;
}

.tituloDocumento {
    font-size: 16px;
    font-weight: 700;
}

.btn {
    height: 44px;
    font-size: 16px;
    font-weight: 700;
    /*width: 197px;*/
}

.btn231 {
    width: 231px !important;
}

.btn > i {
    font-size: 24px;
}

.card-label {
    font-size: 24px !important;
}

#loader {
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 99999;
    background: rgb(214, 214, 214, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.9;
}

    #loader .loading-icon {
        width: 150px;
        height: auto;
    }

.DashboardTableTH {
    font-size: 12px;
    font-weight: 600;
    color: #272833;
}

.page-heading {
    font-size: 20px !important;
}

.IndicadorTexto {
    color: #9AA1B7;
    font-size: 16px;
    font-weight: 700;
}

.IndicadorMonto {
    color: #2D3748;
    font-size: 21px;
    font-weight: 700;
}

.headerNotificaciones {
    background-color: var(--bs-purple);
}

.tituloNotificaciones {
    font-size: 24px;
}

.k-list .k-item.k-state-selected, .k-list-optionlabel.k-state-selected {
    color: #ffffff;
    background-color: var(--bs-primary-active) !important;
}
.k-grid-header .k-grid-filter, .k-grid-header .k-header-column-menu {
    bottom: 1rem !important;
}

.k-grid .k-alt {
    background-color: #F2F2F2 !important;
}

.k-grid-header .k-header {
    color: #181C32;
    font-size: 14px;
    font-weight: bold;
}
.k-pager-numbers .k-link.k-state-selected {
    border-color: var(--bs-primary) !important;
    color: #ffffff !important;
    background-color: var(--bs-primary) !important;
}

.k-pager-numbers .k-link {
    border-color: #dee2e6;
    color: var(--bs-primary) !important;
    background-color: #ffffff;
}

.k-pager-nav.k-link, .k-pager-refresh {
    border-color: #dee2e6;
    color: var(--bs-primary) !important;
    background-color: #ffffff;
}
.k-grid-header, .k-header, th.k-header, .k-grid-header-wrap, .k-grouping-header, .k-grouping-header .k-group-indicator, .k-grid td, .k-grid-footer, .k-grid-footer-wrap, .k-grid-content-locked, .k-grid-footer-locked, .k-grid-header-locked, .k-filter-row > td, .k-filter-row > th {
    /*border-color: rgba(0, 0, 0, 0.08);*/
    border-color: white !important;
    border-bottom: 1px solid #E7E7ED !important;
    background-color: white !important;
}
.k-pager-wrap.k-widget.k-floatwrap.telerik-blazor.k-grid-pager {
    background-color: white;
}
.k-grid {
    border-color: white;
    color: #424242;
    background-color: white;
}
/* Drawer móvil: sin barra de scroll horizontal (solo vertical cuando el menú es alto) */
#kt_app_sidebar_menu_scroll {
    overflow-x: hidden !important;
    /* Safari muestra la barra vertical (~15px) como franja gris y recorta los ítems del menú;
       se oculta la barra pero el scroll sigue funcionando */
    scrollbar-width: none;
    -ms-overflow-style: none;
}

#kt_app_sidebar_menu_scroll::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}

/* Touch targets en móvil/tablet: paginadores (incl. Anterior/Siguiente) */
@media (max-width: 991.98px) {
    .pagination .page-link {
        min-height: 40px;
        min-width: 40px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
}
