﻿/* Please see documentation at https://docs.microsoft.com/aspnet/core/client-side/bundling-and-minification
for details on configuring this project to bundle and minify static web assets. */

a.navbar-brand {
    white-space: normal;
    text-align: center;
    word-break: break-all;
}

/* Provide sufficient contrast against white background */
a {
    color: #0366d6;
}

.btn-primary {
    color: #fff;
    background-color: #1b6ec2;
    border-color: #1861ac;
}

.btn-tertiary {
    color: #fff;
    background-color: #ffc107;
    border-color: #1861ac;
}
.nav-link {
    display: block;
    padding: 0.5rem 0rem !important;
}

.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
    color: #fff;
    background-color: #1b6ec2;
    border-color: #1861ac;
}

/* Sticky footer styles
-------------------------------------------------- */
html {
    font-size: 9px !important;
}
table {
    font-size: 9px !important;
}
body {
    /*font-size: 0.7rem;*/
    /*font-weight: lighter !important;*/
    line-height: normal;
}

@media (min-width: 768px) {
    html {
        font-size: 11px !important;
    }
    table {
        font-size: 11px !important;
    }
}

.border-top {
    border-top: 1px solid #e5e5e5;
}

.border-bottom {
    border-bottom: 1px solid #e5e5e5;
}

.box-shadow {
    box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05);
}

button.accept-policy {
    font-size: 1rem;
    line-height: inherit;
}
ul {
    padding: 0
} 
/* Sticky footer styles
-------------------------------------------------- */
html {
    position: relative;
    min-height: 100%;
    overflow-y: hidden;
}

body {
    /* Margin bottom by footer height */
    margin-bottom: 0px;
    display: flex;
    flex-direction: column;
}

.footer {
    position: fixed;
    background-color: #ffffff;
    bottom: 0;
    width: 100%;
    white-space: nowrap;
    line-height: 60px; /* Vertically center the text there */
}


.cabeceraListado {
    background-color: #ccc;
    height: 35px;
    text-align: center;
    padding: 5px;
    font-weight: bold;
}

.labelProdList {
    font-weight: bold;
    text-align: center;
    font-size: 15px;
    margin-top: 14px;
}

.dataTables_wrapper .dataTables_filter {
    float: none;
    text-align: center;
    width: 100%;
}

.rowNoStock {
    background-color: #fbd8cc !important;
}

#headerBarButtons {
    padding-left: 15px;
    float: left;
    width:auto;
}

.headerButton {
    /*min-width: 110px;*/
    min-width: fit-content;
    max-width: fit-content;
}


#headerBar {
    display: flex;
    background-color: #002050;
}

#customerName {
    color: white;
    font-size: 15px;
    font-weight: bold;
    margin-right: 20px;
    /*float: left;*/
}

#customerNumber {
    /* margin-left: 30px;*/
    margin-right: 20px;
}
#orderCode {
    
    
}
.UserHeader {
    color: white;
    font-size: 15px;
    font-weight: bold;
    /*float: left;*/
}

.mt-10{
    margin-top: 10px;
}

.mb-10 {
    margin-bottom: 10px;
}

.mw-100{
    min-width:100px;
}

.fl{
    float:left;
}

.h-5{
    height: 5px;
}


.fr {
    float: right;
}

.fc {
    float: none;
}
#customerIcon {
    width: 32px;
    float: left;
    margin-left: 2px;
    margin-right: 5px;
    margin-top: 10px;
}

#customerSpan {
    /* float: right; */
    margin: 5px;
    /* justify-content: center; */
    /* align-items: center; */
    /* text-align: center; */
    display: flex;
    justify-content: space-evenly;
    align-items: center;
}

#navBarColumn1 {
    flex: 15%;
    min-width: 170px;
    align-content: center;
}

#navBarColumn2 {
    flex: 80%;
    max-width: 43%;
    align-content: center;
}

#navBarColumn3 {
    flex: 20%;
    /*float: right;*/
    margin-left: 10px;
    /*max-width: 75%;*/
    display:flex;
    justify-content:center;
}

#contenedorPrincipalRow {
    white-space: nowrap;
    overflow-x: scroll;
    overflow-y: hidden;
    height: 90%;
}

.dataTables_scrollBody {
    max-height: calc(100vh - 250px) !important;
}

#modalSpecialProducts .dataTables_scrollBody {
    max-height: calc(100vh - 350px) !important;
}

.resume-table-container {
    margin-top: 12px;
    margin-bottom: 26px;
}

#prodList .prom-product-row {
    background-color: #edffea;
    height: 36px;
}

#prodList .prom-recarga-row {
    background-color: #FAB3A5;
    height: 36px;
}


#prodList td.sorting_1 {
    background-color: rgb(10,10,10,0.05);
}

.dataLabel {
    font-weight: bold;
}


.inputResumen {
    width: 100%;
    background-color: #f9f9f9;
    border: 0;
    text-align: right;
    height: 18px;
}

.inputResumen-text {
    width: 100%;
    background-color: #f9f9f9;
    border: 0;
    height: 18px;
}

.alert-banner {
    position: absolute;
    width: 100%;
    z-index: 1;
    display: none;
}

.promotionDetailsTable tr td div:not(:first-child) {
    margin-top: 8px;
}

.dropdown-user{
    left: 200px!important;
}

.menu-item-seleccionado {
    color: white !important;
    background-color: grey;
    padding: 10px !important;
}

.menu-item-sin-seleccionar {
    color: white !important;
    padding: 10px !important;
}

.titulo-menu {
    margin-left: 1%;
    color: white !important;
}




@media screen and (max-width: 9000px) {

    .navbar-expand-lg .navbar-collapse {
        flex-basis: auto;
    }

    .flex-derecha {
        width: auto;
        position: absolute;
        height: auto;
        top: 50px;
        right: 0;
        z-index: 1;
    }

    .collapse:not(.show) {
        display: none !important;
    }

    .nav-item {
        width: 250px;
    }
}

.cursor-pointer{
    cursor: pointer;
}

.rounded-40 {
    border-radius: .40rem !important;
}

.user-text{
    text-align: end;
    width: max-content;
}

.tab {
    width: 100px!important;
    text-align: center;
}

.center {
    text-align: center
}

/* Contenedor superior de toasts (no bloquea interacción y no tapa el loader) */
.ap-bs-toast-container {
    position: fixed;
    top: 50px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    gap: 10px;
    pointer-events: none;
    max-width: 90vw;
}

    /* Base del toast (Bootstrap ya aporta estilos, añadimos ajustes) */
    .ap-bs-toast-container .toast.ap-toast-base {
        pointer-events: auto;
        backdrop-filter: blur(4px);
    }

/* Variante más ancha */
.toast.ap-toast-wide {
    max-width: 600px;
    width: 600px;
}

/* Variante a casi todo el ancho */
.toast.ap-toast-full {
    width: min(1000px, 96vw);
    max-width: 1000px;
}

/* Asegurar que el loader queda por encima si se ajusta su z-index */
#divLoading.is-active {
    z-index: 4000 !important;
}

/* Cerrar botón blanco cuando fondo oscuro */
.toast-header .close.text-white span {
    color: #fff;
}

/* --- Ajuste de tamaño de fuente para toasts (más grande y legible) --- */
.ap-bs-toast-container .toast.ap-toast-base,
.toast.ap-toast-wide,
.toast.ap-toast-full {
    font-size: 1.15rem; /* cuerpo */
    line-height: 1.35;
}

    .ap-bs-toast-container .toast.ap-toast-base .toast-header {
        font-size: 1.1rem; /* cabecera */
        font-weight: 600;
    }

    .ap-bs-toast-container .toast.ap-toast-base .toast-body {
        font-size: 1.2rem; /* mensaje principal */
        font-weight: 500;
    }

    /* Botón cerrar un poco más grande */
    .ap-bs-toast-container .toast.ap-toast-base .close span {
        font-size: 1.4rem;
    }

/* En pantallas pequeñas reducimos ligeramente para no desbordar */
@media (max-width: 480px) {
    .ap-bs-toast-container .toast.ap-toast-base,
    .toast.ap-toast-wide,
    .toast.ap-toast-full {
        font-size: 1rem;
    }

        .ap-bs-toast-container .toast.ap-toast-base .toast-body {
            font-size: 1.05rem;
        }
}



.ap-loader-overlay,
#divLoading.ap-loader-overlay {
    position: fixed;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,0.75);
    backdrop-filter: blur(3px);
    z-index: 5000;
    font-family: inherit;
}

#divLoading.is-active {
    display: flex !important;
}

/* Forzar eliminación total de cualquier marco (border / shadow) del contenedor del spinner */
#divLoading .ap-loader-content {
    border: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
}

/* Si algún estilo heredado aplica borde vía pseudo-elementos, los anulamos */
#divLoading .ap-loader-content::before,
#divLoading .ap-loader-content::after {
    display: none !important;
    content: none !important;
}

#divLoading .ap-spinner {
    width: 48px;
    height: 48px;
    margin: 0 auto 16px;
    border: 6px solid #e2e6ea;
    border-top-color: #007bff;
    border-radius: 50%;
    animation: ap-spin .85s linear infinite;
}

#divLoading .ap-loader-text {
    font-size: 1.05rem;
    font-weight: 600;
    color: #222;
    word-break: break-word;
}

/* Animaciones */
@keyframes ap-spin {
    to {
        transform: rotate(360deg);
    }
}

@keyframes ap-fade-in {
    from {
        opacity: 0;
        transform: scale(.95);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* Aseguramos que otros loaders antiguos no oculten el nuevo */
.loader.loader-default#divLoading {
    display: none;
}



#openedOrdersList th, #openedOrdersList td {
    white-space: nowrap;
}

.cell-date {
    text-align: center;
}

.cell-amount {
    text-align: right;
}

.cell-action {
    text-align: center;
}

.ap-spin-refresh {
    animation: ap-refresh-spin .8s linear infinite;
}

@keyframes ap-refresh-spin {
    to {
        transform: rotate(360deg);
    }
}

.toast-body b, .toast-body strong {
    font-weight: bold !important;
}