/*!
 * Theme Name: Default
 * Package : DashLite
 * Author: Softnio
 * Author URI: http://themeforest.net/user/softnio
 * Version	 :	1.0.0
 * Updated	 :	07.23.2020
**/

/* ============================================================================
   Ajustes móviles (skill mobile-app-ui-design). Reglas globales — theme.css
   está enlazado en todas las páginas via <link id="skin-default">.
   ========================================================================== */

/* 1) Tap targets ≥ 44×44 en pantallas táctiles.
   Los iconos de acción de las grillas (btn-sm btn-icon ~28-32px), la campanita
   del header y los toggles de DataTables quedaban por debajo del mínimo del
   skill. Solo en móvil para no alterar la densidad del escritorio. */
@media (max-width: 767.98px) {
    .btn-icon,
    .nk-quick-nav-icon,
    .dataTables_wrapper .dropdown-toggle,
    .btn-trigger {
        min-width: 44px;
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    /* Ítems del menú de acciones (ver / editar / eliminar) y del dropdown de
       usuario/notificaciones: cómodos al dedo. */
    .dataTables_wrapper .link-list-opt li a,
    .dropdown-menu .link-list li > a,
    .dropdown-menu .link-list .logout-link {
        min-height: 44px;
        align-items: center;
    }

    /* CTAs de texto (Facturar, Guardar, Nueva Venta…): el .btn por defecto queda
       ~36px de alto. Subimos el padding vertical para llegar a ≥44px sin tocar el
       display (así .btn-block del login sigue full-width). Excluimos .btn-sm y
       .btn-icon (acciones compactas / ya normalizadas) y .btn-lg (ya ≥44px). */
    .btn:not(.btn-sm):not(.btn-icon):not(.btn-lg) {
        padding-top: 0.72rem;
        padding-bottom: 0.72rem;
    }
}

/* 2) Cifras tabulares en importes grandes: evita que los números "bailen" al
   actualizarse (total del carrito, KPIs, montos de las tablas). */
.amount,
.nk-sale-data .amount,
#posTotal,
#cv_total {
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum";
}

/* 3) Peak-end: micro-celebración al completar una venta. Confeti puro en CSS
   (sin dependencias); el JS del POS crea el contenedor .tdo-confetti. */
.tdo-confetti {
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 20000;
    overflow: hidden;
}

.tdo-confetti span {
    position: absolute;
    top: -12vh;
    width: 9px;
    height: 14px;
    opacity: 0;
    border-radius: 2px;
    animation: tdo-confetti-fall 1300ms ease-in forwards;
}

@keyframes tdo-confetti-fall {
    0%   { transform: translate3d(0, 0, 0) rotate(0deg); opacity: 1; }
    100% { transform: translate3d(var(--dx, 0), 112vh, 0) rotate(720deg); opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .tdo-confetti span { animation-duration: 1ms; opacity: 0; }
}