/* =====================================================================
   NZT WEB · ESTADISTICAS · THEME 002 RECONSTRUIDO
   Fuente visual: themes y componentes oficiales de NZT Mobile.
   Alcance: fachada exclusiva de /estadisticas. No altera funcionalidad.
   ===================================================================== */

html {
    --nzt-est-bg: #f8fcfe;
    --nzt-est-bg-soft: #eefaff;
    --nzt-est-bg-deep: #e5f6fb;
    --nzt-est-surface: rgba(255, 255, 255, 0.96);
    --nzt-est-surface-soft: #f4fbfd;
    --nzt-est-card: #ffffff;
    --nzt-est-card-soft: #f4fbfd;
    --nzt-est-card-strong: #ffffff;
    --nzt-est-border: rgba(15, 134, 158, 0.10);
    --nzt-est-border-strong: rgba(15, 134, 158, 0.22);
    --nzt-est-cyan: #22bfd4;
    --nzt-est-cyan-strong: #0c94aa;
    --nzt-est-cyan-soft: rgba(34, 191, 212, 0.10);
    --nzt-est-text: #10212f;
    --nzt-est-text-soft: #405466;
    --nzt-est-muted: #7f8b96;
    --nzt-est-success: #15966a;
    --nzt-est-danger: #d54859;
    --nzt-est-warning: #b98916;
    --nzt-est-violet: #8b5cf6;
    --nzt-est-shadow: rgba(39, 90, 111, 0.18);
    --nzt-est-overlay: rgba(9, 22, 34, 0.42);
    --nzt-est-shadow-card: 0 16px 38px rgba(39, 90, 111, 0.11);
    --nzt-est-shadow-card-hover: 0 20px 46px rgba(39, 90, 111, 0.16);
    --nzt-est-radius-xl: 28px;
    --nzt-est-radius-lg: 24px;
    --nzt-est-radius-md: 20px;
    --nzt-est-radius-sm: 16px;
}

html.nztm-dark,
body.nztm-dark {
    --nzt-est-bg: #073346;
    --nzt-est-bg-soft: #0a4053;
    --nzt-est-bg-deep: #062b3c;
    --nzt-est-surface: rgba(7, 45, 61, 0.96);
    --nzt-est-surface-soft: #0a3a4e;
    --nzt-est-card: #082f43;
    --nzt-est-card-soft: #0a3a4e;
    --nzt-est-card-strong: #062b3c;
    --nzt-est-border: rgba(78, 191, 218, 0.16);
    --nzt-est-border-strong: rgba(70, 215, 237, 0.34);
    --nzt-est-cyan: #32d9ec;
    --nzt-est-cyan-strong: #14bad2;
    --nzt-est-cyan-soft: rgba(50, 217, 236, 0.12);
    --nzt-est-text: #f7fbfd;
    --nzt-est-text-soft: #d6e2e8;
    --nzt-est-muted: #a5b8c5;
    --nzt-est-success: #43d79f;
    --nzt-est-danger: #f06d7d;
    --nzt-est-warning: #e4c14d;
    --nzt-est-violet: #a78bfa;
    --nzt-est-shadow: rgba(0, 17, 28, 0.42);
    --nzt-est-overlay: rgba(2, 17, 26, 0.64);
    --nzt-est-shadow-card: 0 17px 42px rgba(0, 17, 28, 0.28);
    --nzt-est-shadow-card-hover: 0 22px 50px rgba(0, 17, 28, 0.38);
}

html,
body.nzt-estadisticas-v2 {
    min-height: 100%;
}

body.nzt-estadisticas-v2 {
    margin: 0 !important;
    padding: 18px !important;
    color: var(--nzt-est-text) !important;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    background:
        radial-gradient(circle at 8% -4%, rgba(34, 191, 212, 0.14), transparent 27%),
        radial-gradient(circle at 92% 3%, rgba(89, 132, 255, 0.08), transparent 28%),
        linear-gradient(180deg, var(--nzt-est-bg) 0%, var(--nzt-est-bg-soft) 52%, var(--nzt-est-bg-deep) 100%) !important;
    background-attachment: fixed !important;
    overflow-x: hidden;
}

html.nztm-dark body.nzt-estadisticas-v2,
body.nzt-estadisticas-v2.nztm-dark {
    background:
        radial-gradient(circle at 9% -5%, rgba(50, 217, 236, 0.13), transparent 28%),
        radial-gradient(circle at 92% 4%, rgba(64, 145, 180, 0.11), transparent 29%),
        linear-gradient(180deg, var(--nzt-est-bg-soft) 0%, var(--nzt-est-bg) 52%, var(--nzt-est-bg-deep) 100%) !important;
}

body.nzt-estadisticas-v2 *,
body.nzt-estadisticas-v2 *::before,
body.nzt-estadisticas-v2 *::after {
    box-sizing: border-box;
}

body.nzt-estadisticas-v2 button,
body.nzt-estadisticas-v2 input,
body.nzt-estadisticas-v2 select,
body.nzt-estadisticas-v2 textarea {
    font: inherit;
}

body.nzt-estadisticas-v2 .nzt-page {
    width: min(1440px, 100%) !important;
    max-width: 1440px !important;
    margin: 0 auto !important;
    padding: 0 0 34px !important;
}

/* ---------------------------------------------------------------------
   ENCABEZADO OFICIAL
   --------------------------------------------------------------------- */
body.nzt-estadisticas-v2 .nzt-hero {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 22px !important;
    min-height: 132px !important;
    margin: 0 0 18px !important;
    padding: 24px 26px !important;
    border: 1px solid var(--nzt-est-border) !important;
    border-radius: var(--nzt-est-radius-xl) !important;
    background:
        radial-gradient(circle at 2% 0%, rgba(34, 191, 212, 0.10), transparent 34%),
        radial-gradient(circle at 98% 0%, rgba(96, 165, 250, 0.06), transparent 34%),
        var(--nzt-est-card) !important;
    box-shadow: var(--nzt-est-shadow-card) !important;
    color: var(--nzt-est-text) !important;
    overflow: visible !important;
}

html.nztm-dark body.nzt-estadisticas-v2 .nzt-hero,
body.nzt-estadisticas-v2.nztm-dark .nzt-hero {
    background:
        radial-gradient(circle at 2% 0%, rgba(50, 217, 236, 0.12), transparent 34%),
        radial-gradient(circle at 98% 0%, rgba(64, 145, 180, 0.10), transparent 34%),
        var(--nzt-est-card) !important;
}

body.nzt-estadisticas-v2 .nzt-kicker,
body.nzt-estadisticas-v2 .nzt-eyebrow,
body.nzt-estadisticas-v2 .nzt-section-head .nzt-eyebrow {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 0 7px !important;
    color: var(--nzt-est-cyan-strong) !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
}

body.nzt-estadisticas-v2 .nzt-hero h1 {
    margin: 0 !important;
    color: var(--nzt-est-text) !important;
    font-size: clamp(27px, 2.5vw, 35px) !important;
    line-height: 1.08 !important;
    font-weight: 900 !important;
    letter-spacing: -0.035em !important;
}

body.nzt-estadisticas-v2 .nzt-hero p {
    max-width: 770px !important;
    margin: 8px 0 0 !important;
    color: var(--nzt-est-muted) !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    font-weight: 500 !important;
}

body.nzt-estadisticas-v2 .nzt-hero-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    flex: 0 0 auto !important;
}

body.nzt-estadisticas-v2 .nzt-btn {
    min-height: 44px !important;
    padding: 0 16px !important;
    border: 1px solid var(--nzt-est-border-strong) !important;
    border-radius: 999px !important;
    background: var(--nzt-est-card) !important;
    color: var(--nzt-est-text-soft) !important;
    box-shadow: 0 9px 22px rgba(39, 90, 111, 0.07) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: transform .16s ease, border-color .16s ease, background .16s ease, color .16s ease, box-shadow .16s ease !important;
}

body.nzt-estadisticas-v2 .nzt-btn:hover,
body.nzt-estadisticas-v2 .nzt-btn:focus-visible {
    border-color: var(--nzt-est-cyan) !important;
    color: var(--nzt-est-cyan-strong) !important;
    background: var(--nzt-est-surface-soft) !important;
    box-shadow: 0 0 0 4px var(--nzt-est-cyan-soft), 0 12px 26px rgba(39, 90, 111, 0.10) !important;
    transform: translateY(-1px) !important;
    outline: none !important;
}

body.nzt-estadisticas-v2 .nzt-btn:active {
    transform: translateY(1px) scale(.985) !important;
}

body.nzt-estadisticas-v2 .nzt-btn-primary {
    border-color: rgba(12, 148, 170, 0.28) !important;
    background: linear-gradient(135deg, var(--nzt-est-cyan), var(--nzt-est-cyan-strong)) !important;
    color: #ffffff !important;
    box-shadow: 0 13px 28px rgba(12, 148, 170, 0.20) !important;
}

body.nzt-estadisticas-v2 .nzt-btn-primary:hover,
body.nzt-estadisticas-v2 .nzt-btn-primary:focus-visible {
    color: #ffffff !important;
    filter: brightness(1.03) !important;
}

body.nzt-estadisticas-v2 .nzt-theme-toggle-est {
    min-width: 112px !important;
}

body.nzt-estadisticas-v2 .nzt-btn-tutorial-est {
    width: 64px !important;
    min-width: 64px !important;
    height: 54px !important;
    min-height: 54px !important;
    padding: 0 4px !important;
    flex-direction: column !important;
    gap: 3px !important;
    border-radius: 18px !important;
    border-color: var(--nzt-est-border-strong) !important;
    background: var(--nzt-est-cyan-soft) !important;
    color: var(--nzt-est-cyan-strong) !important;
}

body.nzt-estadisticas-v2 .nzt-btn-tutorial-est i {
    font-size: 16px !important;
}

body.nzt-estadisticas-v2 .nzt-btn-tutorial-est span {
    font-size: 9px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}

body.nzt-estadisticas-v2 .nzt-month-pill {
    min-height: 52px !important;
    min-width: 270px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding: 5px 8px !important;
    border: 1px solid var(--nzt-est-border-strong) !important;
    border-radius: 20px !important;
    background: var(--nzt-est-card) !important;
    box-shadow: 0 9px 22px rgba(39, 90, 111, 0.07) !important;
}

body.nzt-estadisticas-v2 .nzt-month-pill button {
    width: 40px !important;
    height: 40px !important;
    flex: 0 0 40px !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: var(--nzt-est-cyan-soft) !important;
    color: var(--nzt-est-cyan-strong) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
}

body.nzt-estadisticas-v2 .nzt-month-pill span {
    min-width: 145px !important;
    color: var(--nzt-est-text) !important;
    text-align: center !important;
    font-size: 14px !important;
    font-weight: 900 !important;
}

/* ---------------------------------------------------------------------
   PESTANAS Y PANELES SIN TELON
   --------------------------------------------------------------------- */
body.nzt-estadisticas-v2 .nzt-tabs {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
}

body.nzt-estadisticas-v2 .nzt-tab {
    min-height: 58px !important;
    padding: 10px 12px !important;
    border: 1px solid var(--nzt-est-border) !important;
    border-radius: 19px !important;
    background: var(--nzt-est-card) !important;
    color: var(--nzt-est-muted) !important;
    box-shadow: 0 10px 25px rgba(39, 90, 111, 0.07) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    text-align: center !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    cursor: pointer !important;
    transition: transform .16s ease, border-color .16s ease, background .16s ease, color .16s ease, box-shadow .16s ease !important;
}

body.nzt-estadisticas-v2 .nzt-tab i {
    margin: 0 !important;
    color: var(--nzt-est-cyan-strong) !important;
}

body.nzt-estadisticas-v2 .nzt-tab:hover {
    border-color: var(--nzt-est-border-strong) !important;
    transform: translateY(-1px) !important;
}

body.nzt-estadisticas-v2 .nzt-tab.active {
    border-color: var(--nzt-est-cyan) !important;
    background: var(--nzt-est-cyan-soft) !important;
    color: var(--nzt-est-cyan-strong) !important;
    box-shadow: 0 0 0 4px rgba(34, 191, 212, 0.07), 0 13px 30px rgba(39, 90, 111, 0.11) !important;
}

body.nzt-estadisticas-v2 .nzt-panel {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}

body.nzt-estadisticas-v2 .nzt-panel.active {
    display: block !important;
}

body.nzt-estadisticas-v2 .nzt-grid {
    display: grid !important;
    gap: 14px !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    background: transparent !important;
}

body.nzt-estadisticas-v2 .nzt-grid-one {
    grid-template-columns: minmax(0, 1fr) !important;
}

body.nzt-estadisticas-v2 .nzt-grid-two {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

body.nzt-estadisticas-v2 .nzt-grid-three {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

body.nzt-estadisticas-v2 .nzt-grid-four {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

body.nzt-estadisticas-v2 .nzt-card-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
    background: transparent !important;
}

body.nzt-estadisticas-v2 .nzt-card {
    position: relative !important;
    min-width: 0 !important;
    padding: 18px !important;
    border: 1px solid var(--nzt-est-border) !important;
    border-radius: var(--nzt-est-radius-lg) !important;
    background: var(--nzt-est-card) !important;
    color: var(--nzt-est-text) !important;
    box-shadow: var(--nzt-est-shadow-card) !important;
    overflow: visible !important;
    transition: transform .17s ease, border-color .17s ease, box-shadow .17s ease !important;
}

body.nzt-estadisticas-v2 .nzt-card:hover {
    border-color: var(--nzt-est-border-strong) !important;
    box-shadow: var(--nzt-est-shadow-card-hover) !important;
    transform: translateY(-1px) !important;
}

body.nzt-estadisticas-v2 .nzt-card-title {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 0 14px !important;
    color: var(--nzt-est-cyan-strong) !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
    font-weight: 900 !important;
    letter-spacing: 0.13em !important;
    text-transform: uppercase !important;
}

body.nzt-estadisticas-v2 .nzt-card-title i {
    color: var(--nzt-est-cyan-strong) !important;
}

/* ---------------------------------------------------------------------
   ANALISIS
   --------------------------------------------------------------------- */
body.nzt-estadisticas-v2 .nzt-metric {
    min-height: 122px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

body.nzt-estadisticas-v2 .nzt-metric span {
    display: block !important;
    margin: 0 !important;
    color: var(--nzt-est-muted) !important;
    font-size: 10px !important;
    line-height: 1.35 !important;
    font-weight: 900 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
}

body.nzt-estadisticas-v2 .nzt-metric strong {
    display: block !important;
    margin: 8px 0 0 !important;
    color: var(--nzt-est-text) !important;
    font-size: clamp(22px, 2vw, 30px) !important;
    line-height: 1.08 !important;
    font-weight: 900 !important;
    letter-spacing: -0.025em !important;
    font-variant-numeric: tabular-nums !important;
}

body.nzt-estadisticas-v2 .nzt-metric small {
    display: block !important;
    margin: 7px 0 0 !important;
    color: var(--nzt-est-muted) !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
    font-weight: 500 !important;
}

body.nzt-estadisticas-v2 .nzt-main-card {
    min-height: 205px !important;
}

body.nzt-estadisticas-v2 .nzt-main-card p {
    margin: 0 !important;
    color: var(--nzt-est-text-soft) !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    font-weight: 550 !important;
}

body.nzt-estadisticas-v2 .nzt-budget-value {
    margin: 15px 0 11px !important;
    color: var(--nzt-est-cyan-strong) !important;
    font-size: clamp(36px, 3.8vw, 48px) !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: -0.04em !important;
    font-variant-numeric: tabular-nums !important;
}

body.nzt-estadisticas-v2 .nzt-status-line {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    margin-top: 16px !important;
    color: var(--nzt-est-muted) !important;
    font-size: 12px !important;
    font-weight: 650 !important;
}

body.nzt-estadisticas-v2 .nzt-status-badge {
    min-height: 34px !important;
    padding: 0 13px !important;
    border: 1px solid var(--nzt-est-cyan) !important;
    border-radius: 999px !important;
    background: var(--nzt-est-cyan-soft) !important;
    color: var(--nzt-est-cyan-strong) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
}

body.nzt-estadisticas-v2 .nzt-status-badge.peligro {
    border-color: var(--nzt-est-danger) !important;
    background: color-mix(in srgb, var(--nzt-est-danger) 10%, transparent) !important;
    color: var(--nzt-est-danger) !important;
}

body.nzt-estadisticas-v2 .nzt-status-badge.atento {
    border-color: var(--nzt-est-warning) !important;
    background: color-mix(in srgb, var(--nzt-est-warning) 10%, transparent) !important;
    color: var(--nzt-est-warning) !important;
}

body.nzt-estadisticas-v2 .nzt-status-badge.tranquilo {
    border-color: var(--nzt-est-success) !important;
    background: color-mix(in srgb, var(--nzt-est-success) 10%, transparent) !important;
    color: var(--nzt-est-success) !important;
}

body.nzt-estadisticas-v2 .nzt-advice-box,
body.nzt-estadisticas-v2 .nzt-feria-text {
    margin-top: 14px !important;
    padding: 14px !important;
    border: 1px solid var(--nzt-est-border-strong) !important;
    border-radius: var(--nzt-est-radius-sm) !important;
    background: var(--nzt-est-cyan-soft) !important;
    color: var(--nzt-est-cyan-strong) !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
    font-weight: 650 !important;
}

/* Score: card flotante, no lienzo gigante */
body.nzt-estadisticas-v2 .nzt-score-card {
    --score-color: var(--nzt-est-success);
    --score-soft: color-mix(in srgb, var(--score-color) 11%, transparent);
    --score-border: color-mix(in srgb, var(--score-color) 68%, transparent);
    --score-glow: color-mix(in srgb, var(--score-color) 22%, transparent);
    width: min(720px, 100%) !important;
    max-width: 720px !important;
    min-height: 320px !important;
    margin: 0 auto !important;
    padding: 20px !important;
    border-color: var(--score-border) !important;
    background: var(--nzt-est-card) !important;
    box-shadow: 0 18px 44px var(--score-glow), var(--nzt-est-shadow-card) !important;
    overflow: hidden !important;
}

body.nzt-estadisticas-v2 .nzt-score-card::before,
body.nzt-estadisticas-v2 .nzt-score-card::after {
    content: none !important;
    display: none !important;
}

body.nzt-estadisticas-v2 .nzt-score-card.critico {
    --score-color: var(--nzt-est-danger);
}

body.nzt-estadisticas-v2 .nzt-score-card.riesgo {
    --score-color: #fb923c;
}

body.nzt-estadisticas-v2 .nzt-score-card.atento {
    --score-color: var(--nzt-est-warning);
}

body.nzt-estadisticas-v2 .nzt-score-card.sano {
    --score-color: #20bcae;
}

body.nzt-estadisticas-v2 .nzt-score-card.solido {
    --score-color: var(--nzt-est-success);
}

body.nzt-estadisticas-v2 .nzt-score-card .nzt-card-title {
    min-height: auto !important;
    margin: 0 !important;
    padding: 0 0 15px !important;
    border-bottom: 1px solid var(--nzt-est-border) !important;
    color: var(--nzt-est-muted) !important;
}

body.nzt-estadisticas-v2 .nzt-score-card .nzt-card-title i {
    color: var(--score-color) !important;
}

body.nzt-estadisticas-v2 .nzt-score-layout {
    display: grid !important;
    grid-template-columns: 132px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 24px !important;
    padding: 24px 10px 12px !important;
}

body.nzt-estadisticas-v2 .nzt-score-ring {
    width: 126px !important;
    height: 126px !important;
    margin: 0 !important;
    border-radius: 50% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    background:
        radial-gradient(circle at center, var(--nzt-est-card) 0 53%, transparent 54%),
        conic-gradient(var(--score-color) calc(var(--score-value, 0) * 1%), rgba(127, 139, 150, 0.19) 0) !important;
    box-shadow: 0 0 24px var(--score-glow) !important;
}

body.nzt-estadisticas-v2 .nzt-score-ring strong {
    color: var(--score-color) !important;
    font-size: 36px !important;
    line-height: .95 !important;
    font-weight: 900 !important;
    letter-spacing: -0.055em !important;
}

body.nzt-estadisticas-v2 .nzt-score-ring span {
    margin-top: 7px !important;
    color: var(--nzt-est-muted) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

body.nzt-estadisticas-v2 .nzt-score-body {
    min-width: 0 !important;
    text-align: left !important;
}

body.nzt-estadisticas-v2 .nzt-score-state {
    min-height: 32px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 13px !important;
    border: 1px solid var(--score-color) !important;
    border-radius: 999px !important;
    background: var(--score-soft) !important;
    color: var(--score-color) !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
}

body.nzt-estadisticas-v2 .nzt-score-body p {
    margin: 12px 0 16px !important;
    color: var(--nzt-est-text-soft) !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    font-weight: 650 !important;
}

body.nzt-estadisticas-v2 .nzt-score-bar {
    height: 8px !important;
    margin: 0 0 9px !important;
    border-radius: 999px !important;
    overflow: hidden !important;
    background: rgba(127, 139, 150, 0.16) !important;
}

body.nzt-estadisticas-v2 .nzt-score-bar-fill {
    height: 100% !important;
    border-radius: 999px !important;
    background: var(--score-color) !important;
    box-shadow: 0 0 12px var(--score-glow) !important;
}

body.nzt-estadisticas-v2 .nzt-score-body small {
    color: var(--nzt-est-muted) !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
    font-weight: 650 !important;
}

/* ---------------------------------------------------------------------
   TARJETAS EN ESTADISTICAS: SOLO THEMES, SIN NUEVO DESARROLLO
   --------------------------------------------------------------------- */
body.nzt-estadisticas-v2 .nzt-tarjeta-card {
    --card-accent: var(--nzt-est-cyan);
    --card-soft: var(--nzt-est-cyan-soft);
    --card-border: var(--nzt-est-border-strong);
    --card-glow: rgba(34, 191, 212, 0.12);
    padding: 19px !important;
    border: 1px solid var(--card-border) !important;
    border-radius: var(--nzt-est-radius-lg) !important;
    background:
        radial-gradient(circle at 100% 0%, var(--card-soft), transparent 39%),
        var(--nzt-est-card) !important;
    box-shadow: var(--nzt-est-shadow-card) !important;
    color: var(--nzt-est-text) !important;
    overflow: hidden !important;
}

body.nzt-estadisticas-v2 .nzt-tarjeta-card::before {
    opacity: .22 !important;
}

body.nzt-estadisticas-v2 .nzt-tarjeta-card.sana {
    --card-accent: var(--nzt-est-success);
    --card-soft: color-mix(in srgb, var(--nzt-est-success) 10%, transparent);
    --card-border: color-mix(in srgb, var(--nzt-est-success) 42%, transparent);
}

body.nzt-estadisticas-v2 .nzt-tarjeta-card.media {
    --card-accent: var(--nzt-est-warning);
    --card-soft: color-mix(in srgb, var(--nzt-est-warning) 10%, transparent);
    --card-border: color-mix(in srgb, var(--nzt-est-warning) 45%, transparent);
}

body.nzt-estadisticas-v2 .nzt-tarjeta-card.alta,
body.nzt-estadisticas-v2 .nzt-tarjeta-card.critica {
    --card-accent: var(--nzt-est-danger);
    --card-soft: color-mix(in srgb, var(--nzt-est-danger) 10%, transparent);
    --card-border: color-mix(in srgb, var(--nzt-est-danger) 45%, transparent);
}

body.nzt-estadisticas-v2 .nzt-tarjeta-card.inactiva {
    --card-accent: var(--nzt-est-muted);
    --card-soft: rgba(127, 139, 150, 0.08);
    --card-border: rgba(127, 139, 150, 0.25);
}

body.nzt-estadisticas-v2 .nzt-tarjeta-head h3,
body.nzt-estadisticas-v2 .nzt-tarjeta-card h3,
body.nzt-estadisticas-v2 .nzt-card-available strong,
body.nzt-estadisticas-v2 .nzt-card-mini strong,
body.nzt-estadisticas-v2 .nzt-card-row strong {
    color: var(--nzt-est-text) !important;
}

body.nzt-estadisticas-v2 .nzt-tarjeta-subtitle,
body.nzt-estadisticas-v2 .nzt-card-available span,
body.nzt-estadisticas-v2 .nzt-card-mini span,
body.nzt-estadisticas-v2 .nzt-card-row,
body.nzt-estadisticas-v2 .nzt-tarjeta-msg,
body.nzt-estadisticas-v2 .nzt-progress-caption {
    color: var(--nzt-est-muted) !important;
}

body.nzt-estadisticas-v2 .nzt-card-mini {
    border-color: var(--nzt-est-border) !important;
    background: var(--nzt-est-card-soft) !important;
}

body.nzt-estadisticas-v2 .nzt-card-status {
    border-color: var(--card-border) !important;
    background: var(--card-soft) !important;
    color: var(--card-accent) !important;
    box-shadow: none !important;
}

body.nzt-estadisticas-v2 .nzt-progress {
    background: rgba(127, 139, 150, 0.16) !important;
}

/* ---------------------------------------------------------------------
   ENCABEZADOS DE MODULO
   --------------------------------------------------------------------- */
body.nzt-estadisticas-v2 .nzt-section-head,
body.nzt-estadisticas-v2 .nzt-proy-head {
    margin: 2px 0 17px !important;
    padding: 0 2px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.nzt-estadisticas-v2 .nzt-section-head h2,
body.nzt-estadisticas-v2 .nzt-proy-head h2 {
    margin: 0 !important;
    color: var(--nzt-est-text) !important;
    font-size: clamp(24px, 2.2vw, 31px) !important;
    line-height: 1.12 !important;
    font-weight: 900 !important;
    letter-spacing: -0.025em !important;
}

body.nzt-estadisticas-v2 .nzt-section-head p,
body.nzt-estadisticas-v2 .nzt-proy-head p {
    max-width: 800px !important;
    margin: 7px 0 0 !important;
    color: var(--nzt-est-muted) !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    font-weight: 500 !important;
}

/* ---------------------------------------------------------------------
   COMPRAS TARJETA / CUOTAS
   --------------------------------------------------------------------- */
body.nzt-estadisticas-v2 .nzt-compras-tc-head {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 18px !important;
}

body.nzt-estadisticas-v2 .nzt-compras-tc-summary {
    margin-bottom: 14px !important;
}

body.nzt-estadisticas-v2 .nzt-compras-tc-card {
    margin-bottom: 14px !important;
    overflow: visible !important;
}

body.nzt-estadisticas-v2 .nzt-compras-tc-toolbar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin: 0 0 14px !important;
    padding: 0 0 14px !important;
    border-bottom: 1px solid var(--nzt-est-border) !important;
}

body.nzt-estadisticas-v2 .nzt-compras-tc-toolbar span,
body.nzt-estadisticas-v2 .nzt-compras-tc-month-head span {
    display: block !important;
    color: var(--nzt-est-muted) !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    letter-spacing: .13em !important;
    text-transform: uppercase !important;
}

body.nzt-estadisticas-v2 .nzt-compras-tc-toolbar strong,
body.nzt-estadisticas-v2 .nzt-compras-tc-month-head strong,
body.nzt-estadisticas-v2 .nzt-compras-tc-card-head strong,
body.nzt-estadisticas-v2 .nzt-compras-tc-installment strong {
    color: var(--nzt-est-text) !important;
}

body.nzt-estadisticas-v2 .nzt-compras-tc-list {
    display: grid !important;
    gap: 13px !important;
}

body.nzt-estadisticas-v2 .nzt-compras-tc-month {
    padding: 15px !important;
    border: 1px solid var(--nzt-est-border) !important;
    border-radius: 20px !important;
    background: var(--nzt-est-card-soft) !important;
    box-shadow: none !important;
}

body.nzt-estadisticas-v2 .nzt-compras-tc-month-head {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 14px !important;
    margin-bottom: 13px !important;
}

body.nzt-estadisticas-v2 .nzt-compras-tc-month-head b {
    color: var(--nzt-est-cyan-strong) !important;
    font-size: 18px !important;
    font-weight: 900 !important;
}

body.nzt-estadisticas-v2 .nzt-compras-tc-card-list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 11px !important;
}

body.nzt-estadisticas-v2 .nzt-compras-tc-commitment {
    padding: 13px !important;
    border: 1px solid var(--nzt-est-border) !important;
    border-radius: 17px !important;
    background: var(--nzt-est-card) !important;
    box-shadow: 0 8px 20px rgba(39, 90, 111, 0.06) !important;
}

body.nzt-estadisticas-v2 .nzt-compras-tc-card-head b {
    color: var(--nzt-est-success) !important;
}

body.nzt-estadisticas-v2 .nzt-compras-tc-card-head span,
body.nzt-estadisticas-v2 .nzt-compras-tc-installment span,
body.nzt-estadisticas-v2 .nzt-compras-tc-installment em,
body.nzt-estadisticas-v2 .nzt-compras-tc-installment.muted {
    color: var(--nzt-est-muted) !important;
}

body.nzt-estadisticas-v2 .nzt-compras-tc-installment {
    border-top-color: var(--nzt-est-border) !important;
}

body.nzt-estadisticas-v2 .nzt-compras-tc-installment b {
    color: var(--nzt-est-warning) !important;
}

/* ---------------------------------------------------------------------
   CATEGORIAS OFICIALES MOBILE
   --------------------------------------------------------------------- */
body.nzt-estadisticas-v2 .nzt-kpi-value {
    color: var(--nzt-est-text) !important;
    font-size: 28px !important;
    line-height: 1.1 !important;
    font-weight: 900 !important;
    font-variant-numeric: tabular-nums !important;
}

body.nzt-estadisticas-v2 .nzt-category-summary-card p {
    margin: 8px 0 0 !important;
    color: var(--nzt-est-muted) !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    font-weight: 500 !important;
}

body.nzt-estadisticas-v2 .nzt-category-filters-card {
    margin-bottom: 14px !important;
}

body.nzt-estadisticas-v2 .nzt-category-filter-grid {
    display: grid !important;
    grid-template-columns: 150px 150px minmax(210px, 1fr) auto auto !important;
    gap: 10px !important;
    align-items: end !important;
}

body.nzt-estadisticas-v2 .nzt-category-field label {
    display: block !important;
    margin: 0 0 7px !important;
    color: var(--nzt-est-text-soft) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

body.nzt-estadisticas-v2 .nzt-category-field input,
body.nzt-estadisticas-v2 .nzt-category-field select {
    width: 100% !important;
    min-height: 48px !important;
    padding: 0 13px !important;
    border: 1px solid var(--nzt-est-border-strong) !important;
    border-radius: 16px !important;
    background: var(--nzt-est-surface-soft) !important;
    color: var(--nzt-est-text) !important;
    outline: none !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

body.nzt-estadisticas-v2 .nzt-category-field input:focus,
body.nzt-estadisticas-v2 .nzt-category-field select:focus {
    border-color: var(--nzt-est-cyan) !important;
    box-shadow: 0 0 0 4px var(--nzt-est-cyan-soft) !important;
}

html.nztm-dark body.nzt-estadisticas-v2 .nzt-category-field input[type="date"],
body.nzt-estadisticas-v2.nztm-dark .nzt-category-field input[type="date"] {
    color-scheme: dark !important;
}

body.nzt-estadisticas-v2 .nzt-category-toolbar {
    display: flex !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    margin: 0 0 14px !important;
}

body.nzt-estadisticas-v2 .nzt-category-filter {
    min-height: 44px !important;
    padding: 0 15px !important;
    border: 1px solid var(--nzt-est-border) !important;
    border-radius: 999px !important;
    background: var(--nzt-est-card) !important;
    color: var(--nzt-est-muted) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    cursor: pointer !important;
}

body.nzt-estadisticas-v2 .nzt-category-filter.active {
    border-color: var(--nzt-est-cyan) !important;
    background: var(--nzt-est-cyan-soft) !important;
    color: var(--nzt-est-cyan-strong) !important;
    box-shadow: 0 0 0 4px rgba(34, 191, 212, 0.06) !important;
}

body.nzt-estadisticas-v2 .nzt-category-table {
    display: flex !important;
    flex-direction: column !important;
    gap: 9px !important;
    margin-top: 14px !important;
}

body.nzt-estadisticas-v2 .nzt-category-header,
body.nzt-estadisticas-v2 .nzt-category-row {
    display: grid !important;
    grid-template-columns: 44px minmax(260px, 1fr) 150px 150px !important;
    gap: 12px !important;
    align-items: center !important;
}

body.nzt-estadisticas-v2 .nzt-category-header {
    padding: 0 13px 7px !important;
    color: var(--nzt-est-muted) !important;
    font-size: 10px !important;
    line-height: 1.3 !important;
    font-weight: 900 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
}

body.nzt-estadisticas-v2 .nzt-category-row {
    min-height: 84px !important;
    padding: 13px !important;
    border: 1px solid var(--nzt-est-border) !important;
    border-radius: 18px !important;
    background: var(--nzt-est-card-soft) !important;
    box-shadow: 0 7px 18px rgba(39, 90, 111, 0.05) !important;
}

body.nzt-estadisticas-v2 .nzt-category-row.alta {
    border-color: color-mix(in srgb, var(--nzt-est-warning) 45%, transparent) !important;
}

body.nzt-estadisticas-v2 .nzt-category-row.critica {
    border-color: color-mix(in srgb, var(--nzt-est-danger) 48%, transparent) !important;
}

body.nzt-estadisticas-v2 .nzt-category-rank {
    width: 38px !important;
    height: 38px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 13px !important;
    background: var(--nzt-est-cyan-soft) !important;
    color: var(--nzt-est-cyan-strong) !important;
    font-size: 13px !important;
    font-weight: 900 !important;
}

body.nzt-estadisticas-v2 .nzt-category-name-block strong {
    color: var(--nzt-est-text) !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    font-weight: 900 !important;
}

body.nzt-estadisticas-v2 .nzt-category-name-block small {
    margin-top: 4px !important;
    color: var(--nzt-est-muted) !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
    font-weight: 550 !important;
}

body.nzt-estadisticas-v2 .nzt-category-type {
    min-height: 31px !important;
    width: max-content !important;
    max-width: 100% !important;
    padding: 0 11px !important;
    border: 1px solid var(--nzt-est-border) !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    justify-self: start !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
}

body.nzt-estadisticas-v2 .nzt-category-type.cash {
    border-color: var(--nzt-est-cyan) !important;
    background: var(--nzt-est-cyan-soft) !important;
    color: var(--nzt-est-cyan-strong) !important;
}

body.nzt-estadisticas-v2 .nzt-category-type.tarjeta {
    border-color: var(--nzt-est-violet) !important;
    background: color-mix(in srgb, var(--nzt-est-violet) 10%, transparent) !important;
    color: var(--nzt-est-violet) !important;
}

body.nzt-estadisticas-v2 .nzt-category-type.pago-tarjeta,
body.nzt-estadisticas-v2 .nzt-category-type.pago_tarjeta {
    border-color: var(--nzt-est-success) !important;
    background: color-mix(in srgb, var(--nzt-est-success) 10%, transparent) !important;
    color: var(--nzt-est-success) !important;
}

body.nzt-estadisticas-v2 .nzt-category-money {
    color: var(--nzt-est-danger) !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    font-weight: 900 !important;
    text-align: right !important;
    font-variant-numeric: tabular-nums !important;
}

body.nzt-estadisticas-v2 .nzt-pagination {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 11px !important;
    flex-wrap: wrap !important;
    margin-top: 15px !important;
    color: var(--nzt-est-muted) !important;
    font-size: 12px !important;
    font-weight: 650 !important;
}

body.nzt-estadisticas-v2 .nzt-page-btn {
    min-height: 42px !important;
    padding: 0 14px !important;
    border: 1px solid var(--nzt-est-border) !important;
    border-radius: 15px !important;
    background: var(--nzt-est-card-soft) !important;
    color: var(--nzt-est-text-soft) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

body.nzt-estadisticas-v2 .nzt-page-btn:disabled {
    opacity: .36 !important;
}

/* ---------------------------------------------------------------------
   PROYECCION: CARDS FLOTANTES, SIN FONDO/TELON
   --------------------------------------------------------------------- */
body.nzt-estadisticas-v2 #panelProyeccion,
body.nzt-estadisticas-v2 #contenedorProyeccionGrupos {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.nzt-estadisticas-v2 .nzt-proy-head {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 18px !important;
    flex-wrap: wrap !important;
}

body.nzt-estadisticas-v2 .nzt-proy-head-actions {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

body.nzt-estadisticas-v2 .nzt-proy-metric {
    min-height: 122px !important;
    background: var(--nzt-est-card) !important;
}

body.nzt-estadisticas-v2 .nzt-proy-info-card {
    margin: 0 0 16px !important;
    padding: 16px 18px !important;
}

body.nzt-estadisticas-v2 .nzt-proy-info-row {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
}

body.nzt-estadisticas-v2 .nzt-proy-info-pill {
    min-height: 42px !important;
    padding: 0 13px !important;
    border: 1px solid var(--nzt-est-border) !important;
    border-radius: 999px !important;
    background: var(--nzt-est-card-soft) !important;
    color: var(--nzt-est-text-soft) !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

body.nzt-estadisticas-v2 .nzt-proy-info-pill i {
    color: var(--nzt-est-cyan-strong) !important;
}

body.nzt-estadisticas-v2 .nzt-proy-info-note {
    flex: 1 1 340px !important;
    color: var(--nzt-est-muted) !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
    font-weight: 550 !important;
}

body.nzt-estadisticas-v2 .nzt-proy-info-note strong {
    color: var(--nzt-est-text) !important;
}

body.nzt-estadisticas-v2 .nzt-proy-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 15px !important;
    align-items: start !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.nzt-estadisticas-v2 .nzt-proy-card {
    position: relative !important;
    overflow: hidden !important;
    border: 1px solid var(--nzt-est-border-strong) !important;
    border-radius: var(--nzt-est-radius-lg) !important;
    background: var(--nzt-est-card) !important;
    box-shadow: var(--nzt-est-shadow-card) !important;
    transition: transform .17s ease, border-color .17s ease, box-shadow .17s ease !important;
}

body.nzt-estadisticas-v2 .nzt-proy-card:hover {
    border-color: var(--nzt-est-cyan) !important;
    box-shadow: var(--nzt-est-shadow-card-hover) !important;
    transform: translateY(-1px) !important;
}

body.nzt-estadisticas-v2 .nzt-proy-card-header {
    width: 100% !important;
    padding: 20px !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--nzt-est-text) !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 36px !important;
    gap: 14px !important;
    align-items: start !important;
    text-align: left !important;
}

body.nzt-estadisticas-v2 .nzt-proy-card-title-wrap h3,
body.nzt-estadisticas-v2 .nzt-proy-card-month,
body.nzt-estadisticas-v2 .nzt-proy-item-name,
body.nzt-estadisticas-v2 .nzt-proy-item-registered-body strong {
    color: var(--nzt-est-text) !important;
}

body.nzt-estadisticas-v2 .nzt-proy-card-title-wrap h3 {
    margin: 0 0 9px !important;
    font-size: 19px !important;
    line-height: 1.25 !important;
    font-weight: 900 !important;
}

body.nzt-estadisticas-v2 .nzt-proy-card-meta {
    display: flex !important;
    align-items: baseline !important;
    gap: 8px !important;
    margin-bottom: 7px !important;
}

body.nzt-estadisticas-v2 .nzt-proy-card-meta strong {
    color: var(--nzt-est-text) !important;
    font-size: 20px !important;
    font-weight: 900 !important;
}

body.nzt-estadisticas-v2 .nzt-proy-card-meta span,
body.nzt-estadisticas-v2 .nzt-proy-card-state,
body.nzt-estadisticas-v2 .nzt-proy-item-money,
body.nzt-estadisticas-v2 .nzt-proy-item-registered-body span,
body.nzt-estadisticas-v2 .nzt-proy-card-help {
    color: var(--nzt-est-muted) !important;
}

body.nzt-estadisticas-v2 .nzt-proy-card-link,
body.nzt-estadisticas-v2 .nzt-proy-card-icon {
    color: var(--nzt-est-cyan-strong) !important;
}

body.nzt-estadisticas-v2 .nzt-proy-card-icon {
    width: 36px !important;
    height: 36px !important;
    border-radius: 14px !important;
    background: var(--nzt-est-cyan-soft) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

body.nzt-estadisticas-v2 .nzt-proy-card-body {
    display: none !important;
    padding: 0 18px 18px !important;
    background: transparent !important;
}

body.nzt-estadisticas-v2 .nzt-proy-card.abierta .nzt-proy-card-body {
    display: block !important;
}

body.nzt-estadisticas-v2 .nzt-proy-card-month {
    margin-bottom: 13px !important;
    padding-top: 15px !important;
    border-top: 1px solid var(--nzt-est-border) !important;
    font-size: 14px !important;
    font-weight: 900 !important;
}

body.nzt-estadisticas-v2 .nzt-proy-items {
    display: flex !important;
    flex-direction: column !important;
    gap: 9px !important;
    max-height: 440px !important;
    overflow-y: auto !important;
    padding-right: 3px !important;
}

body.nzt-estadisticas-v2 .nzt-proy-item {
    padding: 13px !important;
    border: 1px solid var(--nzt-est-border) !important;
    border-radius: 18px !important;
    background: var(--nzt-est-card-soft) !important;
    overflow: hidden !important;
}

body.nzt-estadisticas-v2 .nzt-proy-item:hover {
    border-color: var(--nzt-est-border-strong) !important;
    background: var(--nzt-est-surface-soft) !important;
}

body.nzt-estadisticas-v2 .nzt-proy-item-main {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin-bottom: 11px !important;
}

body.nzt-estadisticas-v2 .nzt-proy-register-row {
    display: grid !important;
    grid-template-columns: minmax(120px, 160px) minmax(145px, 180px) minmax(165px, 1fr) !important;
    gap: 9px !important;
    align-items: center !important;
}

body.nzt-estadisticas-v2 .nzt-proy-register-monto,
body.nzt-estadisticas-v2 .nzt-proy-register-fecha {
    width: 100% !important;
    min-width: 0 !important;
    height: 46px !important;
    padding: 0 12px !important;
    border: 1px solid var(--nzt-est-border-strong) !important;
    border-radius: 15px !important;
    background: var(--nzt-est-surface-soft) !important;
    color: var(--nzt-est-text) !important;
    outline: none !important;
    font-size: 13px !important;
    font-weight: 750 !important;
}

body.nzt-estadisticas-v2 .nzt-proy-register-monto:focus,
body.nzt-estadisticas-v2 .nzt-proy-register-fecha:focus {
    border-color: var(--nzt-est-cyan) !important;
    box-shadow: 0 0 0 4px var(--nzt-est-cyan-soft) !important;
}

html.nztm-dark body.nzt-estadisticas-v2 .nzt-proy-register-fecha,
body.nzt-estadisticas-v2.nztm-dark .nzt-proy-register-fecha {
    color-scheme: dark !important;
}

body.nzt-estadisticas-v2 .nzt-proy-register-btn,
body.nzt-estadisticas-v2 .nzt-proy-batch-register {
    min-height: 46px !important;
    border-color: rgba(12, 148, 170, 0.28) !important;
    background: linear-gradient(135deg, var(--nzt-est-cyan), var(--nzt-est-cyan-strong)) !important;
    color: #ffffff !important;
}

body.nzt-estadisticas-v2 .nzt-proy-batch-toolbar,
body.nzt-estadisticas-v2 .nzt-proy-toolbar,
body.nzt-estadisticas-v2 .nzt-proy-actions-row {
    border: 1px solid var(--nzt-est-border) !important;
    border-radius: 17px !important;
    background: var(--nzt-est-card-soft) !important;
    color: var(--nzt-est-text) !important;
    box-shadow: none !important;
}

body.nzt-estadisticas-v2 .nzt-proy-select-all,
body.nzt-estadisticas-v2 .nzt-proy-batch-select {
    border-color: var(--nzt-est-border-strong) !important;
    background: var(--nzt-est-card) !important;
    color: var(--nzt-est-cyan-strong) !important;
}

body.nzt-estadisticas-v2 .nzt-proy-item.completado {
    min-height: 74px !important;
    border-color: color-mix(in srgb, var(--nzt-est-success) 40%, transparent) !important;
    background: color-mix(in srgb, var(--nzt-est-success) 8%, var(--nzt-est-card)) !important;
    opacity: 1 !important;
}

body.nzt-estadisticas-v2 .nzt-proy-item-registered-icon {
    background: color-mix(in srgb, var(--nzt-est-success) 12%, transparent) !important;
    color: var(--nzt-est-success) !important;
}

body.nzt-estadisticas-v2 .nzt-proy-card-actions {
    border-top-color: var(--nzt-est-border) !important;
}

body.nzt-estadisticas-v2 .nzt-proy-card-help {
    padding: 10px 14px !important;
    border: 1px solid var(--nzt-est-border) !important;
    border-radius: 15px !important;
    background: var(--nzt-est-card-soft) !important;
    text-align: center !important;
}

body.nzt-estadisticas-v2 .nzt-proy-pagination,
body.nzt-estadisticas-v2 .nzt-proy-pagination-inner {
    background: transparent !important;
}

body.nzt-estadisticas-v2 .nzt-proy-pagination-inner span {
    border-color: var(--nzt-est-border) !important;
    background: var(--nzt-est-card) !important;
    color: var(--nzt-est-muted) !important;
}

body.nzt-estadisticas-v2 .nzt-toast {
    border-color: var(--nzt-est-border-strong) !important;
    background: var(--nzt-est-card-strong) !important;
    color: var(--nzt-est-text) !important;
    box-shadow: var(--nzt-est-shadow-card-hover) !important;
}

/* ---------------------------------------------------------------------
   TABLAS, LISTAS Y ESTADOS VACIOS
   --------------------------------------------------------------------- */
body.nzt-estadisticas-v2 .nzt-table-wrap,
body.nzt-estadisticas-v2 .nzt-table-shell {
    border: 1px solid var(--nzt-est-border) !important;
    border-radius: 18px !important;
    background: var(--nzt-est-card) !important;
    overflow-x: auto !important;
}

body.nzt-estadisticas-v2 .nzt-table th {
    padding: 12px !important;
    border-bottom: 1px solid var(--nzt-est-border) !important;
    background: var(--nzt-est-card-soft) !important;
    color: var(--nzt-est-muted) !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
}

body.nzt-estadisticas-v2 .nzt-table td,
body.nzt-estadisticas-v2 .nzt-table tr:nth-child(even) td {
    padding: 12px !important;
    border-bottom: 1px solid var(--nzt-est-border) !important;
    background: var(--nzt-est-card) !important;
    color: var(--nzt-est-text-soft) !important;
    font-size: 13px !important;
}

body.nzt-estadisticas-v2 .nzt-money,
body.nzt-estadisticas-v2 .nzt-chart-amount {
    color: var(--nzt-est-danger) !important;
}

body.nzt-estadisticas-v2 .nzt-empty {
    min-height: 150px !important;
    width: 100% !important;
    padding: 26px 15px !important;
    border: 1px solid var(--nzt-est-border) !important;
    border-radius: var(--nzt-est-radius-lg) !important;
    background: var(--nzt-est-card) !important;
    color: var(--nzt-est-muted) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    text-align: center !important;
    box-shadow: var(--nzt-est-shadow-card) !important;
}

/* ---------------------------------------------------------------------
   TUTORIAL: SIN CORRER ENCABEZADO NI DEJAR RESIDUOS
   --------------------------------------------------------------------- */
body.nzt-estadisticas-v2 .nzt-est-tutorial-target-active {
    transform: none !important;
    margin: inherit !important;
    outline: 2px solid var(--nzt-est-cyan) !important;
    outline-offset: 4px !important;
    box-shadow: 0 0 0 5px var(--nzt-est-cyan-soft), var(--nzt-est-shadow-card-hover) !important;
}

body.nzt-estadisticas-v2 .nzt-hero.nzt-est-tutorial-target-active {
    width: auto !important;
    min-height: 132px !important;
    margin: 0 0 18px !important;
    padding: 24px 26px !important;
}

body.nzt-estadisticas-v2 .nzt-est-tutorial-card {
    border: 1px solid var(--nzt-est-border-strong) !important;
    border-radius: 24px !important;
    background: var(--nzt-est-card-strong) !important;
    color: var(--nzt-est-text) !important;
    box-shadow: 0 24px 64px var(--nzt-est-shadow) !important;
}

body.nzt-estadisticas-v2 .nzt-est-tutorial-card h3 {
    color: var(--nzt-est-text) !important;
}

body.nzt-estadisticas-v2 .nzt-est-tutorial-card p,
body.nzt-estadisticas-v2 .nzt-est-tutorial-progress {
    color: var(--nzt-est-muted) !important;
}

body.nzt-estadisticas-v2 .nzt-est-tutorial-kicker {
    color: var(--nzt-est-cyan-strong) !important;
}

body.nzt-estadisticas-v2 .nzt-est-tutorial-btn-primary {
    border-color: var(--nzt-est-cyan-strong) !important;
    background: var(--nzt-est-cyan-strong) !important;
    color: #ffffff !important;
}

body.nzt-estadisticas-v2 .nzt-est-tutorial-btn-ghost,
body.nzt-estadisticas-v2 .nzt-est-tutorial-btn-skip {
    border-color: var(--nzt-est-border) !important;
    background: var(--nzt-est-card-soft) !important;
    color: var(--nzt-est-text-soft) !important;
}

/* ---------------------------------------------------------------------
   RESPONSIVE
   --------------------------------------------------------------------- */
@media (max-width: 1180px) {
    body.nzt-estadisticas-v2 .nzt-grid-four,
    body.nzt-estadisticas-v2 .nzt-grid-three,
    body.nzt-estadisticas-v2 .nzt-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body.nzt-estadisticas-v2 .nzt-category-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body.nzt-estadisticas-v2 .nzt-category-filter-grid .nzt-btn {
        width: 100% !important;
    }

    body.nzt-estadisticas-v2 .nzt-proy-register-row {
        grid-template-columns: 1fr 1fr !important;
    }

    body.nzt-estadisticas-v2 .nzt-proy-register-btn {
        grid-column: 1 / -1 !important;
    }
}

@media (max-width: 920px) {
    body.nzt-estadisticas-v2 {
        padding: 12px !important;
    }

    body.nzt-estadisticas-v2 .nzt-hero {
        align-items: flex-start !important;
        flex-direction: column !important;
    }

    body.nzt-estadisticas-v2 .nzt-hero-actions {
        width: 100% !important;
        justify-content: flex-start !important;
    }

    body.nzt-estadisticas-v2 .nzt-month-pill {
        flex: 1 1 260px !important;
    }

    body.nzt-estadisticas-v2 .nzt-tabs {
        display: flex !important;
        overflow-x: auto !important;
        padding-bottom: 4px !important;
        scrollbar-width: thin !important;
    }

    body.nzt-estadisticas-v2 .nzt-tab {
        min-width: 155px !important;
        flex: 0 0 155px !important;
    }

    body.nzt-estadisticas-v2 .nzt-grid-two,
    body.nzt-estadisticas-v2 .nzt-proy-grid {
        grid-template-columns: 1fr !important;
    }

    body.nzt-estadisticas-v2 .nzt-category-header {
        display: none !important;
    }

    body.nzt-estadisticas-v2 .nzt-category-row {
        grid-template-columns: 42px minmax(0, 1fr) !important;
        align-items: start !important;
    }

    body.nzt-estadisticas-v2 .nzt-category-row > *:nth-child(3),
    body.nzt-estadisticas-v2 .nzt-category-row > *:nth-child(4) {
        grid-column: 2 / 3 !important;
    }

    body.nzt-estadisticas-v2 .nzt-category-money {
        text-align: left !important;
    }

    body.nzt-estadisticas-v2 .nzt-compras-tc-card-list {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 640px) {
    body.nzt-estadisticas-v2 {
        padding: 9px !important;
    }

    body.nzt-estadisticas-v2 .nzt-hero {
        min-height: 0 !important;
        padding: 20px !important;
        border-radius: 24px !important;
    }

    body.nzt-estadisticas-v2 .nzt-hero.nzt-est-tutorial-target-active {
        min-height: 0 !important;
        padding: 20px !important;
    }

    body.nzt-estadisticas-v2 .nzt-hero-actions {
        gap: 8px !important;
    }

    body.nzt-estadisticas-v2 .nzt-theme-toggle-est,
    body.nzt-estadisticas-v2 .nzt-hero-actions > .nzt-btn-ghost[data-nzt-volver] {
        flex: 1 1 112px !important;
        min-width: 0 !important;
    }

    body.nzt-estadisticas-v2 .nzt-btn-tutorial-est {
        flex: 0 0 64px !important;
    }

    body.nzt-estadisticas-v2 .nzt-month-pill {
        order: 4 !important;
        flex: 1 1 100% !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    body.nzt-estadisticas-v2 .nzt-grid-four,
    body.nzt-estadisticas-v2 .nzt-grid-three,
    body.nzt-estadisticas-v2 .nzt-grid-two,
    body.nzt-estadisticas-v2 .nzt-card-grid {
        grid-template-columns: 1fr !important;
    }

    body.nzt-estadisticas-v2 .nzt-card,
    body.nzt-estadisticas-v2 .nzt-score-card {
        border-radius: 21px !important;
    }

    body.nzt-estadisticas-v2 .nzt-score-layout {
        grid-template-columns: 1fr !important;
        justify-items: center !important;
        gap: 18px !important;
    }

    body.nzt-estadisticas-v2 .nzt-score-body {
        width: 100% !important;
        text-align: center !important;
    }

    body.nzt-estadisticas-v2 .nzt-score-state {
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body.nzt-estadisticas-v2 .nzt-category-filter-grid {
        grid-template-columns: 1fr !important;
    }

    body.nzt-estadisticas-v2 .nzt-compras-tc-head,
    body.nzt-estadisticas-v2 .nzt-compras-tc-toolbar,
    body.nzt-estadisticas-v2 .nzt-compras-tc-month-head,
    body.nzt-estadisticas-v2 .nzt-proy-head {
        flex-direction: column !important;
    }

    body.nzt-estadisticas-v2 .nzt-compras-tc-head .nzt-btn,
    body.nzt-estadisticas-v2 .nzt-proy-head-actions,
    body.nzt-estadisticas-v2 .nzt-proy-head-actions .nzt-btn {
        width: 100% !important;
    }

    body.nzt-estadisticas-v2 .nzt-proy-register-row {
        grid-template-columns: 1fr !important;
    }

    body.nzt-estadisticas-v2 .nzt-proy-register-btn {
        grid-column: auto !important;
    }

    body.nzt-estadisticas-v2 .nzt-proy-item-main,
    body.nzt-estadisticas-v2 .nzt-compras-tc-card-head,
    body.nzt-estadisticas-v2 .nzt-compras-tc-installment {
        grid-template-columns: 1fr !important;
        flex-direction: column !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.nzt-estadisticas-v2 *,
    body.nzt-estadisticas-v2 *::before,
    body.nzt-estadisticas-v2 *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}
