/* ======================================================================
   NZT WEB - GASTOS MENSUALES
   Ajustes QA visuales 002

   Alcance exclusivo:
   1. Aligerar peso tipografico.
   2. Corregir botones Editar/Eliminar en theme claro y oscuro.
   3. Corregir estado normal/foco/activo del boton Cancelar en eliminacion.

   No modifica HTML funcional, JavaScript, IDs, eventos, endpoints ni datos.
   Se carga despues de gastos-mensuales.mobile-theme.css.
   ====================================================================== */

/* ======================================================================
   01. TIPOGRAFIA MAS LIVIANA
   Conserva jerarquia visual sin dejar toda la pantalla en negrita.
   ====================================================================== */

.nzt-hero h1 {
    font-weight: 800 !important;
}

.nzt-hero p {
    font-weight: 400 !important;
}

.nzt-hero .nzt-btn,
#btnTutorialGastosMensuales {
    font-weight: 700 !important;
}

.nzt-summary-card span {
    font-weight: 600 !important;
}

.nzt-summary-card strong {
    font-weight: 800 !important;
}

.nzt-card-header h2 {
    font-weight: 800 !important;
}

.nzt-card-header p {
    font-weight: 400 !important;
}

.nzt-tab {
    font-weight: 700 !important;
}

.nzt-field label,
.nzt-form-panel label:not(.nzt-switch-line) {
    font-weight: 600 !important;
}

.nzt-field input,
.nzt-field select,
.nzt-custom-select-trigger,
.nzt-custom-select-search {
    font-weight: 500 !important;
}

.nzt-custom-select-option,
.nzt-custom-select-empty,
.nzt-switch-line {
    font-weight: 500 !important;
}

.nzt-btn,
.nzt-gastos-tuto-trigger {
    font-weight: 700 !important;
}

.nzt-badge,
.nzt-cupo-box span {
    font-weight: 600 !important;
}

.nzt-cupo-box strong {
    font-weight: 800 !important;
}

.nzt-error-bloque:not(:empty) {
    font-weight: 600 !important;
}

.nzt-table thead th {
    font-weight: 700 !important;
}

.nzt-table tbody td {
    font-weight: 500 !important;
}

.nzt-gasto-nombre,
.nzt-money {
    font-weight: 700 !important;
}

.nzt-pill {
    font-weight: 600 !important;
}

.nzt-empty,
.nzt-pagination {
    font-weight: 500 !important;
}

.swal2-neon-popup .swal2-title {
    font-weight: 800 !important;
}

.swal2-neon-popup .swal2-html-container,
.swal2-neon-popup .swal2-content {
    font-weight: 500 !important;
}

.swal2-neon-popup .swal2-html-container strong {
    font-weight: 700 !important;
}

.swal2-neon-popup .text-muted {
    font-weight: 500 !important;
}

.swal2-neon-confirm,
.swal2-neon-cancel {
    font-weight: 700 !important;
}

/* ======================================================================
   02. ACCIONES DE TABLA
   Editar: superficie clara + icono cyan.
   Eliminar: superficie coral suave + icono danger.
   ====================================================================== */

.nzt-actions-cell {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    white-space: nowrap !important;
}

.nzt-table .nzt-icon-btn {
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 !important;
    border: 1px solid var(--nzt-mobile-border-strong) !important;
    border-radius: 14px !important;
    background: var(--nzt-mobile-card-strong) !important;
    color: var(--nzt-mobile-cyan-strong) !important;
    box-shadow: 0 7px 17px rgba(39, 90, 111, 0.08) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 15px !important;
    line-height: 1 !important;
    cursor: pointer !important;
    transition: transform 0.16s ease, border-color 0.16s ease, background 0.16s ease, color 0.16s ease, box-shadow 0.16s ease !important;
}

.nzt-table .nzt-icon-btn:hover,
.nzt-table .nzt-icon-btn:focus-visible {
    border-color: var(--nzt-mobile-cyan) !important;
    background: rgba(34, 191, 212, 0.10) !important;
    color: var(--nzt-mobile-cyan-strong) !important;
    box-shadow: 0 0 0 4px rgba(34, 191, 212, 0.10), 0 8px 19px rgba(39, 90, 111, 0.10) !important;
    outline: none !important;
    transform: translateY(-1px) !important;
}

.nzt-table .nzt-icon-btn:active {
    opacity: 0.88 !important;
    transform: scale(0.97) !important;
}

.nzt-table .nzt-icon-btn-danger {
    border-color: rgba(213, 72, 89, 0.30) !important;
    background: rgba(213, 72, 89, 0.08) !important;
    color: var(--nzt-mobile-danger) !important;
    box-shadow: none !important;
}

.nzt-table .nzt-icon-btn-danger:hover,
.nzt-table .nzt-icon-btn-danger:focus-visible {
    border-color: rgba(213, 72, 89, 0.55) !important;
    background: rgba(213, 72, 89, 0.13) !important;
    color: var(--nzt-mobile-danger) !important;
    box-shadow: 0 0 0 4px rgba(213, 72, 89, 0.09) !important;
}

html.nztm-dark .nzt-table .nzt-icon-btn,
body.nztm-dark .nzt-table .nzt-icon-btn {
    border-color: var(--nzt-mobile-border-strong) !important;
    background: var(--nzt-mobile-surface-elevated) !important;
    color: var(--nzt-mobile-cyan) !important;
    box-shadow: 0 8px 18px rgba(0, 17, 28, 0.24) !important;
}

html.nztm-dark .nzt-table .nzt-icon-btn:hover,
html.nztm-dark .nzt-table .nzt-icon-btn:focus-visible,
body.nztm-dark .nzt-table .nzt-icon-btn:hover,
body.nztm-dark .nzt-table .nzt-icon-btn:focus-visible {
    background: rgba(50, 217, 236, 0.14) !important;
    color: var(--nzt-mobile-cyan) !important;
}

html.nztm-dark .nzt-table .nzt-icon-btn-danger,
body.nztm-dark .nzt-table .nzt-icon-btn-danger {
    border-color: rgba(240, 109, 125, 0.42) !important;
    background: rgba(240, 109, 125, 0.11) !important;
    color: var(--nzt-mobile-danger) !important;
    box-shadow: none !important;
}

html.nztm-dark .nzt-table .nzt-icon-btn-danger:hover,
html.nztm-dark .nzt-table .nzt-icon-btn-danger:focus-visible,
body.nztm-dark .nzt-table .nzt-icon-btn-danger:hover,
body.nztm-dark .nzt-table .nzt-icon-btn-danger:focus-visible {
    background: rgba(240, 109, 125, 0.17) !important;
}

/* ======================================================================
   03. CANCELAR EN CONFIRMACION DE ELIMINACION
   Evita el gris oscuro producido por el estado de foco inicial.
   ====================================================================== */

.swal2-neon-popup .swal2-neon-cancel,
.swal2-neon-popup .swal2-cancel.swal2-neon-cancel {
    border: 1px solid var(--nzt-mobile-border-strong) !important;
    background: var(--nzt-mobile-card-strong) !important;
    color: var(--nzt-mobile-text-soft) !important;
    box-shadow: 0 7px 18px rgba(39, 90, 111, 0.08) !important;
    opacity: 1 !important;
}

.swal2-neon-popup .swal2-neon-cancel:hover,
.swal2-neon-popup .swal2-cancel.swal2-neon-cancel:hover {
    border-color: var(--nzt-mobile-cyan) !important;
    background: rgba(34, 191, 212, 0.09) !important;
    color: var(--nzt-mobile-cyan-strong) !important;
    box-shadow: 0 8px 19px rgba(39, 90, 111, 0.10) !important;
    opacity: 1 !important;
}

.swal2-neon-popup .swal2-neon-cancel:focus,
.swal2-neon-popup .swal2-neon-cancel:focus-visible,
.swal2-neon-popup .swal2-cancel.swal2-neon-cancel:focus,
.swal2-neon-popup .swal2-cancel.swal2-neon-cancel:focus-visible {
    border-color: var(--nzt-mobile-cyan) !important;
    background: var(--nzt-mobile-card-strong) !important;
    color: var(--nzt-mobile-text) !important;
    box-shadow: 0 0 0 4px rgba(34, 191, 212, 0.13), 0 8px 19px rgba(39, 90, 111, 0.10) !important;
    outline: none !important;
    opacity: 1 !important;
}

.swal2-neon-popup .swal2-neon-cancel:active,
.swal2-neon-popup .swal2-cancel.swal2-neon-cancel:active {
    border-color: var(--nzt-mobile-border-strong) !important;
    background: var(--nzt-mobile-surface-soft) !important;
    color: var(--nzt-mobile-text) !important;
    box-shadow: none !important;
    opacity: 0.94 !important;
    transform: scale(0.985) !important;
}

html.nztm-dark .swal2-neon-popup .swal2-neon-cancel,
html.nztm-dark .swal2-neon-popup .swal2-cancel.swal2-neon-cancel,
body.nztm-dark .swal2-neon-popup .swal2-neon-cancel,
body.nztm-dark .swal2-neon-popup .swal2-cancel.swal2-neon-cancel {
    border-color: var(--nzt-mobile-border-strong) !important;
    background: var(--nzt-mobile-surface-elevated) !important;
    color: var(--nzt-mobile-text-soft) !important;
    box-shadow: 0 8px 18px rgba(0, 17, 28, 0.24) !important;
}

html.nztm-dark .swal2-neon-popup .swal2-neon-cancel:hover,
html.nztm-dark .swal2-neon-popup .swal2-neon-cancel:focus,
html.nztm-dark .swal2-neon-popup .swal2-neon-cancel:focus-visible,
body.nztm-dark .swal2-neon-popup .swal2-neon-cancel:hover,
body.nztm-dark .swal2-neon-popup .swal2-neon-cancel:focus,
body.nztm-dark .swal2-neon-popup .swal2-neon-cancel:focus-visible {
    border-color: var(--nzt-mobile-cyan) !important;
    background: rgba(50, 217, 236, 0.12) !important;
    color: var(--nzt-mobile-text) !important;
    box-shadow: 0 0 0 4px rgba(50, 217, 236, 0.11) !important;
}
