/* ==========================================================
   SpaMaster 360 v26.4 — POS Recovery Safe
   Base estable v26.2 + mejoras sin romper layout.
   ========================================================== */

/* Recuperar layout normal de Caja POS */
#view-pos,
.pos-pro,
.pos-shell,
.pos-page,
.pos-module{
    overflow:visible!important;
}

#view-pos .pos-head,
#view-pos .pos-filter-pro,
#view-pos .pos-kpis,
#view-pos .pos-status,
#view-pos .pos-tabs,
#view-pos .pos-panel,
#view-pos .pos-movement-panel{
    width:auto!important;
    max-width:none!important;
    transform:none!important;
}

/* Quitar cualquier clase accidental que pudiera venir de caché */
#view-pos .pos-head.pos-status-card,
#view-pos .pos-filter-pro.pos-status-card,
#view-pos .pos-kpis.pos-status-card,
#view-pos .pos-tabs.pos-status-card,
#view-pos .pos-panel.pos-status-card,
#view-pos .pos-movement-panel.pos-status-card{
    min-height:initial!important;
    padding:initial!important;
    display:block!important;
}

/* Botones Nueva venta / Nuevo gasto: más color + hover, usando IDs reales */
html body #posNewSaleBtn{
    color:#fff!important;
    background:
        radial-gradient(circle at 24% 14%, rgba(255,255,255,.32), transparent 33%),
        linear-gradient(135deg,#22D87A 0%,#16A34A 56%,#0D7A3D 100%)!important;
    border-color:rgba(255,255,255,.36)!important;
    box-shadow:
        0 18px 44px rgba(22,163,74,.30),
        0 0 0 6px rgba(22,163,74,.09),
        inset 0 1px 0 rgba(255,255,255,.36)!important;
}

html body #posNewExpenseBtn{
    color:#fff!important;
    background:
        radial-gradient(circle at 24% 14%, rgba(255,255,255,.30), transparent 33%),
        linear-gradient(135deg,#FF6B6B 0%,#EF4444 56%,#B91C1C 100%)!important;
    border-color:rgba(255,255,255,.34)!important;
    box-shadow:
        0 18px 44px rgba(239,68,68,.30),
        0 0 0 6px rgba(239,68,68,.09),
        inset 0 1px 0 rgba(255,255,255,.34)!important;
}

html body #posNewSaleBtn .sm360-liquid-btn-text,
html body #posNewExpenseBtn .sm360-liquid-btn-text{
    color:#fff!important;
}

html body #posNewSaleBtn .sm360-liquid-btn-icon,
html body #posNewExpenseBtn .sm360-liquid-btn-icon{
    background:rgba(255,255,255,.22)!important;
    border:1px solid rgba(255,255,255,.26)!important;
    box-shadow:
        0 10px 24px rgba(0,0,0,.12),
        inset 0 1px 0 rgba(255,255,255,.40)!important;
}

html body #posNewSaleBtn,
html body #posNewExpenseBtn{
    transition:
        transform .18s cubic-bezier(.2,.8,.2,1),
        box-shadow .18s ease,
        filter .18s ease!important;
}

html body #posNewSaleBtn:hover{
    transform:translateY(-3px) scale(1.015)!important;
    filter:saturate(1.12) brightness(1.03)!important;
    box-shadow:
        0 24px 56px rgba(22,163,74,.38),
        0 0 0 7px rgba(22,163,74,.12),
        inset 0 1px 0 rgba(255,255,255,.42)!important;
}

html body #posNewExpenseBtn:hover{
    transform:translateY(-3px) scale(1.015)!important;
    filter:saturate(1.12) brightness(1.03)!important;
    box-shadow:
        0 24px 56px rgba(239,68,68,.38),
        0 0 0 7px rgba(239,68,68,.12),
        inset 0 1px 0 rgba(255,255,255,.40)!important;
}

html body #posNewSaleBtn:active,
html body #posNewExpenseBtn:active{
    transform:translateY(0) scale(.99)!important;
}

/* Alerta específica: no debe afectar ningún contenedor padre */
#posSpaRequired{
    margin-top:12px!important;
    border-radius:16px!important;
    padding:12px 16px!important;
    color:#92400E!important;
    background:
        linear-gradient(135deg,rgba(255,251,235,.94),rgba(255,255,255,.78))!important;
    border:1px solid rgba(245,158,11,.38)!important;
    box-shadow:
        0 12px 28px rgba(245,158,11,.10),
        inset 0 1px 0 rgba(255,255,255,.86)!important;
    font-family:var(--sc-font-display,"General Sans",sans-serif)!important;
    font-size:13.5px!important;
    font-weight:760!important;
}

/* Cuando JS determine que hay spa seleccionado */
#posSpaRequired.sm360-hidden{
    display:none!important;
}

/* Estado de caja: diseño seguro solo en el contenedor real */
.pos-cash-status,
.pos-cash-state,
.pos-open-state{
    border-radius:22px!important;
    background:
        radial-gradient(circle at 4% 14%, rgba(94,43,255,.06), transparent 26%),
        linear-gradient(135deg,rgba(255,255,255,.88),rgba(255,255,255,.68))!important;
    border:1px solid rgba(148,163,184,.18)!important;
    box-shadow:
        0 16px 40px rgba(15,23,42,.065),
        inset 0 1px 0 rgba(255,255,255,.82)!important;
}

/* Buscar el bloque por botones, sin re-layout agresivo */
#posOpenCashBtn,
#posCloseCashBtn{
    min-height:46px!important;
    border-radius:16px!important;
    font-family:var(--sc-font-display,"General Sans",sans-serif)!important;
    font-weight:850!important;
    transition:transform .16s ease, box-shadow .16s ease, filter .16s ease!important;
}

#posOpenCashBtn{
    background:linear-gradient(135deg,#2563EB,#1D4ED8)!important;
    box-shadow:
        0 16px 36px rgba(37,99,235,.26),
        inset 0 1px 0 rgba(255,255,255,.28)!important;
}

#posCloseCashBtn{
    background:linear-gradient(135deg,#7C3AED,#5E2BFF)!important;
    box-shadow:
        0 16px 36px rgba(94,43,255,.26),
        inset 0 1px 0 rgba(255,255,255,.28)!important;
}

#posOpenCashBtn:hover,
#posCloseCashBtn:hover{
    transform:translateY(-2px)!important;
    filter:saturate(1.08)!important;
}

/* Mejorar el texto del estado de caja sin romper distribución */
#view-pos .pos-cash-status strong,
#view-pos .pos-cash-state strong,
#view-pos .pos-open-state strong{
    font-family:var(--sc-font-display,"General Sans",sans-serif)!important;
    font-weight:850!important;
    color:#0F172A!important;
    letter-spacing:-.02em!important;
}

#view-pos .pos-cash-status span,
#view-pos .pos-cash-state span,
#view-pos .pos-open-state span{
    color:#64748B!important;
    font-weight:650!important;
}

/* Selector Todos más pequeño */
.sc-spa-card--todos .sc-spa-card__icon{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
}
.sc-spa-card--todos .sc-spa-card__icon::before{
    width:15px!important;
    height:15px!important;
}
