﻿/*
  IgnacioQuijasCom V_643
  Ajuste visual definitivo para Tienda, Ventas/Licencias, Migrador SQL y resultados de pago.
  Este archivo se carga al final y usa un nombre nuevo para evitar que el navegador reutilice
  el CSS de V_624/V_625 almacenado en caché.
*/

/* =========================
   ADMIN: COMERCIO Y DATABASE
   ========================= */
.admin-compact-page {
    width: min(1180px, calc(100% - 24px)) !important;
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding: 6px 0 24px !important;
}

.admin-compact-page .admin-compact-header,
.admin-compact-page .page-header.admin-compact-header {
    width: 100% !important;
    max-width: 1180px !important;
    min-height: 0 !important;
    margin: 4px 0 6px !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    grid-template-areas:
        "eyebrow eyebrow"
        "title intro" !important;
    column-gap: 18px !important;
    row-gap: 2px !important;
    align-items: center !important;
    text-align: left !important;
}

.admin-compact-page .admin-compact-header .eyebrow {
    grid-area: eyebrow !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    letter-spacing: .06em !important;
}

.admin-compact-page .admin-compact-header h1,
.admin-compact-page .page-header.admin-compact-header h1 {
    grid-area: title !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 30px !important;
    line-height: 1.04 !important;
    letter-spacing: -.02em !important;
    white-space: nowrap !important;
}

.admin-compact-page .admin-compact-header > p:last-child {
    grid-area: intro !important;
    width: auto !important;
    max-width: 680px !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 13px !important;
    line-height: 1.28 !important;
    text-align: left !important;
}

.admin-compact-page :is(.web04-return-owner-neutral-row-v623, .webplus-return-owner-neutral-row-v623) {
    width: auto !important;
    max-width: none !important;
    margin: 3px 0 6px !important;
    justify-content: flex-start !important;
}

.admin-compact-page :is(.web04-return-owner-neutral-button-v623, .webplus-return-owner-neutral-button-v623) {
    min-height: 28px !important;
    padding: 5px 9px !important;
    font-size: 12px !important;
}

.admin-compact-page .admin-compact-panel,
.admin-compact-page .panel.admin-compact-panel {
    width: 100% !important;
    max-width: none !important;
    margin: 6px 0 !important;
    padding: 10px 12px !important;
    border-radius: 8px !important;
}

.admin-compact-page .admin-compact-panel h2,
.admin-compact-page .commerce-table-panel h2 {
    margin: 0 0 2px !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
}

.admin-compact-page .admin-compact-panel > p,
.admin-compact-page .commerce-admin-heading p,
.admin-compact-page .commerce-table-panel > p {
    margin: 0 0 6px !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
}

.admin-compact-page .commerce-admin-heading {
    gap: 8px !important;
    align-items: center !important;
}

.admin-compact-page .data-grid {
    gap: 5px !important;
}

.admin-compact-page .data-grid div {
    min-height: 30px !important;
    padding: 5px 7px !important;
    border-radius: 5px !important;
    font-size: 12px !important;
}

.admin-compact-page .data-grid div strong {
    font-size: 12px !important;
    line-height: 1.2 !important;
}

.admin-commerce-page .commerce-admin-readiness .commerce-readiness-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.admin-commerce-page .commerce-product-summary {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.admin-commerce-page .commerce-product-editor {
    width: fit-content !important;
    max-width: 100% !important;
    margin: 7px 0 5px !important;
    grid-template-columns: 180px 90px 180px !important;
    gap: 7px !important;
}

.admin-commerce-page .commerce-product-editor label {
    gap: 3px !important;
    font-size: 12px !important;
}

.admin-commerce-page .commerce-product-editor input,
.admin-commerce-page .commerce-product-editor select {
    min-height: 30px !important;
    height: 30px !important;
    padding: 4px 7px !important;
    font-size: 13px !important;
}

.admin-commerce-page .commerce-admin-note {
    margin: 2px 0 6px !important;
    font-size: 11px !important;
}

.admin-compact-page .button-primary,
.admin-compact-page .button-secondary {
    min-height: 28px !important;
    padding: 5px 9px !important;
    font-size: 12px !important;
}

.admin-compact-page .alert {
    margin-top: 6px !important;
    padding: 6px 8px !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
}

.admin-commerce-page .admin-compact-summary {
    width: 100% !important;
    max-width: none !important;
    margin: 6px 0 !important;
    padding: 0 !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 6px !important;
}

.admin-commerce-page .admin-compact-summary article {
    min-height: 54px !important;
    padding: 7px 8px !important;
    gap: 2px !important;
}

.admin-commerce-page .admin-compact-summary article span {
    font-size: 11px !important;
}

.admin-commerce-page .admin-compact-summary article strong {
    font-size: 17px !important;
    line-height: 1.05 !important;
}

.admin-compact-page .commerce-table-panel {
    margin: 6px 0 !important;
    padding: 9px 11px !important;
}

.admin-compact-page .table-scroll {
    max-height: 260px !important;
    overflow: auto !important;
}

.admin-compact-page .table-scroll table,
.admin-database-page .table {
    font-size: 11px !important;
}

.admin-compact-page .table-scroll th,
.admin-compact-page .table-scroll td,
.admin-database-page .table th,
.admin-database-page .table td {
    padding: 5px 6px !important;
    line-height: 1.2 !important;
}

.admin-database-page .database-status-panel .data-grid.two-cols {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.admin-database-page .actions {
    margin-top: 6px !important;
    gap: 5px !important;
}

.admin-database-page .table {
    min-width: 840px !important;
    margin-top: 3px !important;
}

/* AdminKey: cuadro pequeño y utilizable */
.admin-lock {
    width: min(380px, calc(100% - 24px)) !important;
    margin: 18px auto !important;
    padding: 14px !important;
}

.admin-lock h1 {
    margin: 0 0 8px !important;
    font-size: 22px !important;
    line-height: 1.08 !important;
}

.admin-lock .eyebrow {
    margin: 0 0 2px !important;
    font-size: 11px !important;
}

.admin-lock input {
    min-height: 32px !important;
    height: 32px !important;
    padding: 5px 8px !important;
}

/* =========================
   TIENDA: WEB+ Y WEB04+
   ========================= */
#window-store-page-root {
    min-height: 100vh !important;
    padding: 8px 12px 24px !important;
}

#window-store-page-root :is(.webplus-commerce-page-header-v623, .web04-commerce-page-header-v623) {
    width: min(1040px, 100%) !important;
    max-width: 1040px !important;
    min-height: 0 !important;
    margin: 2px auto 4px !important;
    padding: 0 !important;
    text-align: center !important;
}

#window-store-page-root :is(.webplus-window-store-page-eyebrow-v623, .web04-window-store-page-eyebrow-v623) {
    margin: 0 0 2px !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
}

#window-store-page-root :is(.webplus-commerce-page-header-v623, .web04-commerce-page-header-v623) h1 {
    width: auto !important;
    max-width: none !important;
    margin: 0 0 3px !important;
    padding: 0 !important;
    font-size: 32px !important;
    line-height: 1.04 !important;
    letter-spacing: -.02em !important;
    white-space: nowrap !important;
}

#window-store-page-root :is(.webplus-commerce-page-header-v623, .web04-commerce-page-header-v623) > p:last-child {
    width: min(760px, 100%) !important;
    margin: 0 auto !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
}

#window-store-page-root :is(.webplus-window-store-page-return-row-v623, .web04-window-store-page-return-row-v623) {
    width: min(1040px, 100%) !important;
    margin: 3px auto 5px !important;
}

#window-store-page-root :is(.webplus-window-store-page-return-button-v623, .web04-window-store-page-return-button-v623) {
    min-height: 28px !important;
    padding: 5px 9px !important;
    font-size: 12px !important;
}

#window-store-page-root :is(.webplus-commerce-layout-v623, .web04-commerce-layout-v623) {
    width: min(1040px, 100%) !important;
    margin: 6px auto 0 !important;
    grid-template-columns: minmax(0, 1.05fr) minmax(330px, .95fr) !important;
    gap: 10px !important;
    align-items: start !important;
}

#window-store-page-root :is(.webplus-commerce-layout-v623.webplus-store-no-product-v623, .web04-commerce-layout-v623.web04-store-no-product-v623) {
    width: min(760px, 100%) !important;
    grid-template-columns: 1fr !important;
    justify-items: end !important;
}

#window-store-page-root :is(.webplus-commerce-layout-v623.webplus-store-no-product-v623, .web04-commerce-layout-v623.web04-store-no-product-v623) :is(.webplus-commerce-buyer-card-v623, .web04-commerce-buyer-card-v623) {
    width: 100% !important;
}

#window-store-page-root :is(.webplus-commerce-notice-stack-v623, .web04-commerce-notice-stack-v623) {
    display: grid !important;
    gap: 8px !important;
    margin: 0 0 10px !important;
}

#window-store-page-root :is(.webplus-commerce-inline-alert-v623, .web04-commerce-inline-alert-v623) {
    margin: 0 !important;
    padding: 8px 10px !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
    white-space: normal !important;
}

#window-store-page-root :is(.webplus-commerce-product-card-v623, .web04-commerce-product-card-v623,
                            .webplus-commerce-buyer-card-v623, .web04-commerce-buyer-card-v623) {
    padding: 10px 11px !important;
    border-radius: 8px !important;
}

#window-store-page-root :is(.webplus-commerce-product-heading-v623, .web04-commerce-product-heading-v623) {
    gap: 7px !important;
}

#window-store-page-root :is(.webplus-commerce-product-heading-v623, .web04-commerce-product-heading-v623) h2 {
    margin: 0 !important;
    font-size: 27px !important;
    line-height: 1.05 !important;
    letter-spacing: -.015em !important;
}

#window-store-page-root :is(.webplus-commerce-buyer-card-v623, .web04-commerce-buyer-card-v623) h2 {
    margin: 0 !important;
    font-size: 17px !important;
    line-height: 1.15 !important;
}

#window-store-page-root :is(.webplus-commerce-product-card-v623, .web04-commerce-product-card-v623,
                            .webplus-commerce-buyer-card-v623, .web04-commerce-buyer-card-v623) > p {
    margin: 4px 0 6px !important;
    font-size: 12px !important;
    line-height: 1.28 !important;
}

#window-store-page-root :is(.webplus-commerce-feature-list-v623, .web04-commerce-feature-list-v623) {
    margin: 6px 0 !important;
    gap: 4px !important;
}

#window-store-page-root :is(.webplus-commerce-feature-list-v623, .web04-commerce-feature-list-v623) div {
    min-height: 28px !important;
    padding: 5px 7px !important;
    font-size: 11px !important;
}

#window-store-page-root :is(.webplus-commerce-price-block-v623, .web04-commerce-price-block-v623) {
    margin: 6px 0 !important;
    padding: 7px 8px !important;
    border-radius: 7px !important;
}

#window-store-page-root :is(.webplus-commerce-price-block-v623, .web04-commerce-price-block-v623) strong {
    font-size: 20px !important;
    line-height: 1.1 !important;
}

#window-store-page-root :is(.webplus-commerce-buyer-card-v623, .web04-commerce-buyer-card-v623) .webplus-form-grid-v623,
#window-store-page-root :is(.webplus-commerce-buyer-card-v623, .web04-commerce-buyer-card-v623) .web04-form-grid-v623 {
    gap: 5px 7px !important;
}

#window-store-page-root :is(.webplus-commerce-buyer-card-v623, .web04-commerce-buyer-card-v623) label {
    gap: 2px !important;
    font-size: 11px !important;
}

#window-store-page-root :is(.webplus-commerce-buyer-card-v623, .web04-commerce-buyer-card-v623) input {
    min-height: 30px !important;
    height: 30px !important;
    padding: 4px 7px !important;
    font-size: 12px !important;
}

#window-store-page-root :is(.webplus-commerce-privacy-check-v623, .web04-commerce-privacy-check-v623) {
    margin: 6px 0 !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
}

#window-store-page-root :is(.webplus-commerce-buy-button-v623, .web04-commerce-buy-button-v623) {
    width: auto !important;
    min-width: 210px !important;
    min-height: 30px !important;
    padding: 5px 10px !important;
    font-size: 12px !important;
}

#window-store-page-root :is(.webplus-alert-v623, .web04-alert-v623) {
    margin-top: 5px !important;
    padding: 6px 8px !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
}

/* =========================
   RESULTADOS DE PAGO
   ========================= */
#window-payment-result-root {
    min-height: 100vh !important;
    padding: 8px 12px 24px !important;
}

#window-payment-result-root :is(.webplus-payment-result-header-v623, .web04-payment-result-header-v623) {
    width: min(760px, 100%) !important;
    margin: 2px auto 5px !important;
    padding: 0 !important;
}

#window-payment-result-root :is(.webplus-payment-result-header-v623, .web04-payment-result-header-v623) h1 {
    margin: 0 0 3px !important;
    font-size: 30px !important;
    line-height: 1.05 !important;
}

#window-payment-result-root :is(.webplus-payment-result-header-v623, .web04-payment-result-header-v623) > p:last-child {
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
}

#window-payment-result-root :is(.webplus-payment-result-panel-v623, .web04-payment-result-panel-v623) {
    width: min(620px, 100%) !important;
    margin: 7px auto !important;
    padding: 11px 12px !important;
}

#window-payment-result-root :is(.webplus-payment-result-status-v623, .web04-payment-result-status-v623) div {
    padding: 6px 8px !important;
    font-size: 12px !important;
}

/* =========================
   RESPONSIVE
   ========================= */
@media (max-width: 900px) {
    .admin-compact-page .admin-compact-header {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "eyebrow"
            "title"
            "intro" !important;
    }

    .admin-compact-page .admin-compact-header h1 {
        white-space: normal !important;
    }

    .admin-commerce-page .commerce-admin-readiness .commerce-readiness-grid,
    .admin-commerce-page .commerce-product-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .admin-commerce-page .admin-compact-summary {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    #window-store-page-root :is(.webplus-commerce-layout-v623, .web04-commerce-layout-v623) {
        width: min(620px, 100%) !important;
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 620px) {
    .admin-compact-page {
        width: calc(100% - 12px) !important;
    }

    .admin-compact-page .admin-compact-header h1,
    #window-store-page-root :is(.webplus-commerce-page-header-v623, .web04-commerce-page-header-v623) h1,
    #window-payment-result-root :is(.webplus-payment-result-header-v623, .web04-payment-result-header-v623) h1 {
        font-size: 24px !important;
        white-space: normal !important;
    }

    .admin-commerce-page .commerce-admin-readiness .commerce-readiness-grid,
    .admin-commerce-page .commerce-product-summary,
    .admin-database-page .database-status-panel .data-grid.two-cols,
    .admin-commerce-page .admin-compact-summary,
    .admin-commerce-page .commerce-product-editor {
        width: 100% !important;
        grid-template-columns: 1fr !important;
    }

    #window-store-page-root {
        padding-inline: 6px !important;
    }

    #window-store-page-root :is(.webplus-commerce-product-heading-v623, .web04-commerce-product-heading-v623) h2 {
        font-size: 23px !important;
    }

    #window-store-page-root :is(.webplus-commerce-buy-button-v623, .web04-commerce-buy-button-v623) {
        width: 100% !important;
    }
}

/* V_627: estados de pago claros, compactos y sin botón superior duplicado */
#window-payment-result-root .payment-state-value {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 7px !important;
}

#window-payment-result-root .payment-state-value::before {
    content: "";
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    border-radius: 50%;
    background: #94a3b8;
    box-shadow: 0 0 0 3px rgb(148 163 184 / 12%);
}

#window-payment-result-root .payment-state-approved {
    color: #86efac !important;
}

#window-payment-result-root .payment-state-approved::before {
    background: #22c55e;
    box-shadow: 0 0 0 3px rgb(34 197 94 / 14%);
}

#window-payment-result-root .payment-state-pending {
    color: #fde68a !important;
}

#window-payment-result-root .payment-state-pending::before {
    background: #eab308;
    box-shadow: 0 0 0 3px rgb(234 179 8 / 14%);
}

#window-payment-result-root .payment-state-rejected {
    color: #fda4af !important;
}

#window-payment-result-root .payment-state-rejected::before {
    background: #f43f5e;
    box-shadow: 0 0 0 3px rgb(244 63 94 / 14%);
}

#window-payment-result-root .payment-state-unknown {
    color: #cbd5e1 !important;
}

/* =========================
   V_628 — RESULTADO DE PAGO EN MODAL
   La tienda permanece visible detrás; la X o Escape cierran el resultado.
   ========================= */
body:has(#window-payment-result-root) {
    overflow: hidden !important;
}

#window-payment-result-root {
    position: relative !important;
    min-height: 100vh !important;
    padding: 0 !important;
    overflow: hidden !important;
    isolation: isolate !important;
}

#window-payment-result-root > #window-store-page-root {
    height: 100vh !important;
    min-height: 100vh !important;
    overflow: hidden !important;
    pointer-events: none !important;
    user-select: none !important;
    filter: saturate(.72) brightness(.58) !important;
}

#window-payment-result-root :is(.webplus-payment-modal-backdrop-v623, .web04-payment-modal-backdrop-v623) {
    position: fixed !important;
    inset: 0 !important;
    z-index: 12000 !important;
    display: grid !important;
    place-items: center !important;
    padding: 18px !important;
    overflow: auto !important;
    background: rgb(2 6 23 / 64%) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
}

#window-payment-result-root :is(.webplus-payment-modal-dialog-v623, .web04-payment-modal-dialog-v623) {
    position: relative !important;
    width: min(540px, calc(100vw - 28px)) !important;
    max-height: calc(100vh - 36px) !important;
    margin: auto !important;
    padding: 18px 18px 16px !important;
    overflow: auto !important;
    border-width: 3px !important;
    border-radius: 13px !important;
    box-shadow: 0 24px 70px rgb(0 0 0 / 48%) !important;
    outline: none !important;
}

#window-payment-result-root :is(.webplus-payment-modal-approved-v623, .web04-payment-modal-approved-v623) {
    border-color: rgb(34 197 94 / 58%) !important;
    box-shadow: 0 24px 70px rgb(0 0 0 / 48%), 0 0 0 1px rgb(34 197 94 / 12%) inset !important;
}

#window-payment-result-root :is(.webplus-payment-modal-pending-v623, .web04-payment-modal-pending-v623) {
    border-color: rgb(234 179 8 / 58%) !important;
    box-shadow: 0 24px 70px rgb(0 0 0 / 48%), 0 0 0 1px rgb(234 179 8 / 12%) inset !important;
}

#window-payment-result-root :is(.webplus-payment-modal-rejected-v623, .web04-payment-modal-rejected-v623) {
    border-color: rgb(244 63 94 / 58%) !important;
    box-shadow: 0 24px 70px rgb(0 0 0 / 48%), 0 0 0 1px rgb(244 63 94 / 12%) inset !important;
}

#window-payment-result-root :is(.webplus-payment-modal-close-v623, .web04-payment-modal-close-v623) {
    position: absolute !important;
    top: 9px !important;
    right: 10px !important;
    z-index: 2 !important;
    display: inline-grid !important;
    place-items: center !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    margin: 0 !important;
    padding: 0 0 3px !important;
    border: 2px solid rgb(148 163 184 / 82%) !important;
    border-radius: 9px !important;
    background: rgb(15 23 42 / 92%) !important;
    box-shadow: 0 0 0 4px rgb(148 163 184 / 18%) !important;
    outline: none !important;
    color: #f8fafc !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 27px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

#window-payment-result-root :is(.webplus-payment-modal-approved-v623, .web04-payment-modal-approved-v623) :is(.webplus-payment-modal-close-v623, .web04-payment-modal-close-v623) {
    border-color: rgb(134 239 172 / 90%) !important;
    box-shadow: 0 0 0 4px rgb(34 197 94 / 26%) !important;
}

#window-payment-result-root :is(.webplus-payment-modal-pending-v623, .web04-payment-modal-pending-v623) :is(.webplus-payment-modal-close-v623, .web04-payment-modal-close-v623) {
    border-color: rgb(253 224 71 / 90%) !important;
    box-shadow: 0 0 0 4px rgb(234 179 8 / 28%) !important;
}

#window-payment-result-root :is(.webplus-payment-modal-rejected-v623, .web04-payment-modal-rejected-v623) :is(.webplus-payment-modal-close-v623, .web04-payment-modal-close-v623) {
    border-color: rgb(251 113 133 / 90%) !important;
    box-shadow: 0 0 0 4px rgb(244 63 94 / 26%) !important;
}

#window-payment-result-root :is(.webplus-payment-modal-close-v623, .web04-payment-modal-close-v623):hover,
#window-payment-result-root :is(.webplus-payment-modal-close-v623, .web04-payment-modal-close-v623):focus-visible {
    background: rgb(15 23 42 / 100%) !important;
    outline: none !important;
}

#window-payment-result-root :is(.webplus-payment-modal-approved-v623, .web04-payment-modal-approved-v623) :is(.webplus-payment-modal-close-v623, .web04-payment-modal-close-v623):hover,
#window-payment-result-root :is(.webplus-payment-modal-approved-v623, .web04-payment-modal-approved-v623) :is(.webplus-payment-modal-close-v623, .web04-payment-modal-close-v623):focus-visible {
    border-color: rgb(187 247 208 / 98%) !important;
    box-shadow: 0 0 0 4px rgb(34 197 94 / 36%) !important;
}

#window-payment-result-root :is(.webplus-payment-modal-pending-v623, .web04-payment-modal-pending-v623) :is(.webplus-payment-modal-close-v623, .web04-payment-modal-close-v623):hover,
#window-payment-result-root :is(.webplus-payment-modal-pending-v623, .web04-payment-modal-pending-v623) :is(.webplus-payment-modal-close-v623, .web04-payment-modal-close-v623):focus-visible {
    border-color: rgb(254 240 138 / 98%) !important;
    box-shadow: 0 0 0 4px rgb(234 179 8 / 38%) !important;
}

#window-payment-result-root :is(.webplus-payment-modal-rejected-v623, .web04-payment-modal-rejected-v623) :is(.webplus-payment-modal-close-v623, .web04-payment-modal-close-v623):hover,
#window-payment-result-root :is(.webplus-payment-modal-rejected-v623, .web04-payment-modal-rejected-v623) :is(.webplus-payment-modal-close-v623, .web04-payment-modal-close-v623):focus-visible {
    border-color: rgb(253 164 175 / 98%) !important;
    box-shadow: 0 0 0 4px rgb(244 63 94 / 36%) !important;
}

#window-payment-result-root :is(.webplus-payment-modal-header-v623, .web04-payment-modal-header-v623) {
    margin: 0 42px 12px 0 !important;
    padding: 0 !important;
    text-align: left !important;
}

#window-payment-result-root :is(.webplus-payment-modal-eyebrow-v623, .web04-payment-modal-eyebrow-v623) {
    margin: 0 0 3px !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
}

#window-payment-result-root :is(.webplus-payment-modal-header-v623, .web04-payment-modal-header-v623) h2 {
    margin: 0 0 5px !important;
    padding: 0 !important;
    font-size: 25px !important;
    line-height: 1.08 !important;
    letter-spacing: -.015em !important;
}

#window-payment-result-root :is(.webplus-payment-modal-header-v623, .web04-payment-modal-header-v623) > p:last-child {
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
}

#window-payment-result-root :is(.webplus-payment-modal-status-v623, .web04-payment-modal-status-v623) {
    margin: 0 !important;
    gap: 6px !important;
}

#window-payment-result-root :is(.webplus-payment-modal-status-v623, .web04-payment-modal-status-v623) > div {
    min-height: 36px !important;
    padding: 7px 9px !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
}

#window-payment-result-root :is(.webplus-payment-modal-status-v623, .web04-payment-modal-status-v623) strong {
    max-width: 68% !important;
    text-align: right !important;
    overflow-wrap: anywhere !important;
}

#window-payment-result-root :is(.webplus-payment-modal-loading-v623, .web04-payment-modal-loading-v623,
                                .webplus-payment-modal-message-v623, .web04-payment-modal-message-v623) {
    margin-top: 9px !important;
    padding: 8px 10px !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
}

#window-payment-result-root .payment-state-value {
    justify-content: flex-end !important;
}

@media (max-width: 620px) {
    #window-payment-result-root :is(.webplus-payment-modal-backdrop-v623, .web04-payment-modal-backdrop-v623) {
        padding: 9px !important;
        place-items: center !important;
    }

    #window-payment-result-root :is(.webplus-payment-modal-dialog-v623, .web04-payment-modal-dialog-v623) {
        width: min(100%, 520px) !important;
        max-height: calc(100vh - 18px) !important;
        padding: 15px 13px 13px !important;
        border-radius: 11px !important;
    }

    #window-payment-result-root :is(.webplus-payment-modal-header-v623, .web04-payment-modal-header-v623) {
        margin-right: 40px !important;
    }

    #window-payment-result-root :is(.webplus-payment-modal-header-v623, .web04-payment-modal-header-v623) h2 {
        font-size: 22px !important;
    }

    #window-payment-result-root :is(.webplus-payment-modal-status-v623, .web04-payment-modal-status-v623) > div {
        align-items: flex-start !important;
        gap: 8px !important;
    }

    #window-payment-result-root :is(.webplus-payment-modal-status-v623, .web04-payment-modal-status-v623) strong {
        max-width: 62% !important;
    }
}


/* =========================
   V_633 — TIENDA COMO VENTANA MODAL
   Sustituye "Volver al anterior" por una X de cierre.
   ========================= */
body:has(#window-store-page-root) {
    overflow: hidden !important;
}

#window-store-page-root:is(.webplus-store-modal-host-v623, .web04-store-modal-host-v623) {
    position: fixed !important;
    inset: 0 !important;
    z-index: 11000 !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 100vh !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    isolation: isolate !important;
    background: transparent !important;
}

#window-store-page-root :is(.webplus-store-modal-backdrop-v623, .web04-store-modal-backdrop-v623) {
    position: absolute !important;
    inset: 0 !important;
    display: grid !important;
    place-items: center !important;
    padding: 14px !important;
    overflow: auto !important;
    background: rgb(2 6 23 / 76%) !important;
    backdrop-filter: blur(5px) !important;
    -webkit-backdrop-filter: blur(5px) !important;
}

#window-store-page-root :is(.webplus-store-modal-dialog-v623, .web04-store-modal-dialog-v623) {
    position: relative !important;
    width: min(1040px, calc(100vw - 28px)) !important;
    max-height: calc(100vh - 28px) !important;
    margin: auto !important;
    padding: 14px 16px 16px !important;
    overflow: auto !important;
    border: 2px solid rgb(250 204 21 / 62%) !important;
    border-radius: 13px !important;
    outline: none !important;
    box-shadow: 0 24px 80px rgb(0 0 0 / 58%), 0 0 0 1px rgb(250 204 21 / 12%) inset !important;
}

#window-store-page-root :is(.webplus-store-modal-close-v623, .web04-store-modal-close-v623) {
    position: absolute !important;
    top: 9px !important;
    right: 10px !important;
    z-index: 4 !important;
    display: inline-grid !important;
    place-items: center !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    margin: 0 !important;
    padding: 0 0 3px !important;
    border: 2px solid rgb(253 224 71 / 92%) !important;
    border-radius: 9px !important;
    background: rgb(8 12 20 / 96%) !important;
    box-shadow: 0 0 0 4px rgb(234 179 8 / 28%) !important;
    outline: none !important;
    color: #fff7c2 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 27px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

#window-store-page-root :is(.webplus-store-modal-close-v623, .web04-store-modal-close-v623):hover,
#window-store-page-root :is(.webplus-store-modal-close-v623, .web04-store-modal-close-v623):focus-visible {
    border-color: rgb(254 240 138 / 100%) !important;
    background: rgb(15 18 25 / 100%) !important;
    box-shadow: 0 0 0 4px rgb(234 179 8 / 38%) !important;
    outline: none !important;
}

#window-store-page-root :is(.webplus-window-store-page-header-v623, .web04-window-store-page-header-v623) {
    padding-right: 48px !important;
}

#window-store-page-root :is(.webplus-window-store-page-return-row-v623, .web04-window-store-page-return-row-v623) {
    display: none !important;
}

@media (max-width: 720px) {
    #window-store-page-root :is(.webplus-store-modal-backdrop-v623, .web04-store-modal-backdrop-v623) {
        padding: 8px !important;
    }

    #window-store-page-root :is(.webplus-store-modal-dialog-v623, .web04-store-modal-dialog-v623) {
        width: calc(100vw - 16px) !important;
        max-height: calc(100vh - 16px) !important;
        padding: 12px 10px 14px !important;
    }
}

/* V_635: catálogo multiproducto y comprador recordado */
#window-store-page-root :is(.webplus-store-catalog-dialog-v623, .web04-store-catalog-dialog-v623) {
    width: min(980px, calc(100vw - 28px)) !important;
    max-height: calc(100vh - 28px) !important;
    padding: 12px 14px 14px !important;
}

#window-store-page-root :is(.webplus-store-catalog-header-v623, .web04-store-catalog-header-v623) {
    width: min(900px, 100%) !important;
    margin: 0 auto 8px !important;
    padding: 0 48px 0 0 !important;
    text-align: center !important;
}

#window-store-page-root :is(.webplus-store-catalog-header-v623, .web04-store-catalog-header-v623) h1 {
    margin: 1px 0 2px !important;
    font-size: 30px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

#window-store-page-root :is(.webplus-store-catalog-header-v623, .web04-store-catalog-header-v623) > p:last-child {
    max-width: 720px !important;
    margin: 0 auto !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
}

#window-store-page-root :is(.webplus-store-catalog-missing-v623, .web04-store-catalog-missing-v623) {
    width: min(520px, 100%) !important;
    margin: 10px auto 0 !important;
    padding: 10px 12px !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
}

#window-store-page-root :is(.webplus-store-catalog-layout-v623, .web04-store-catalog-layout-v623) {
    display: grid !important;
    grid-template-columns: 300px minmax(0, 1fr) !important;
    gap: 10px !important;
    width: min(920px, 100%) !important;
    margin: 0 auto !important;
    align-items: stretch !important;
}

#window-store-page-root :is(.webplus-store-product-list-v623, .web04-store-product-list-v623,
                            .webplus-store-product-detail-v623, .web04-store-product-detail-v623) {
    min-width: 0 !important;
    padding: 10px !important;
    border-radius: 10px !important;
}

#window-store-page-root :is(.webplus-store-product-list-v623, .web04-store-product-list-v623) > header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    margin: 0 0 7px !important;
}

#window-store-page-root :is(.webplus-store-product-list-v623, .web04-store-product-list-v623) > header h2 {
    margin: 0 !important;
    font-size: 16px !important;
    line-height: 1.1 !important;
}

#window-store-page-root :is(.webplus-store-product-list-v623, .web04-store-product-list-v623) > header span {
    display: inline-grid !important;
    place-items: center !important;
    min-width: 24px !important;
    height: 22px !important;
    padding: 0 7px !important;
    border: 1px solid rgb(250 204 21 / 35%) !important;
    border-radius: 999px !important;
    font-size: 11px !important;
}

#window-store-page-root :is(.webplus-store-product-scroll-v623, .web04-store-product-scroll-v623) {
    display: grid !important;
    gap: 6px !important;
    max-height: min(430px, calc(100vh - 210px)) !important;
    padding-right: 3px !important;
    overflow-y: auto !important;
}

#window-store-page-root :is(.webplus-store-product-button-v623, .web04-store-product-button-v623) {
    display: grid !important;
    grid-template-columns: 82px minmax(0, 1fr) !important;
    gap: 8px !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 62px !important;
    margin: 0 !important;
    padding: 6px !important;
    border: 1px solid rgb(148 163 184 / 20%) !important;
    border-radius: 8px !important;
    background: rgb(5 12 24 / 66%) !important;
    color: inherit !important;
    text-align: left !important;
    cursor: pointer !important;
}

#window-store-page-root :is(.webplus-store-product-button-v623, .web04-store-product-button-v623):hover,
#window-store-page-root :is(.webplus-store-product-button-v623, .web04-store-product-button-v623).selected {
    border-color: rgb(250 204 21 / 66%) !important;
    background: rgb(20 28 42 / 88%) !important;
    box-shadow: 0 0 0 1px rgb(250 204 21 / 12%) inset !important;
}

#window-store-page-root :is(.webplus-store-product-thumb-v623, .web04-store-product-thumb-v623) {
    position: relative !important;
    display: block !important;
    width: 82px !important;
    height: 50px !important;
    overflow: hidden !important;
    border-radius: 6px !important;
    background: rgb(2 6 14 / 92%) !important;
}

#window-store-page-root :is(.webplus-store-product-thumb-v623, .web04-store-product-thumb-v623) img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

#window-store-page-root :is(.webplus-store-product-status-v623, .web04-store-product-status-v623) {
    position: absolute !important;
    right: 3px !important;
    bottom: 3px !important;
    max-width: calc(100% - 6px) !important;
    padding: 2px 5px !important;
    border-radius: 999px !important;
    background: rgb(3 7 18 / 88%) !important;
    font-size: 8px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
}

#window-store-page-root :is(.webplus-store-product-status-v623.webplus-available-v623, .web04-store-product-status-v623.web04-available-v623) {
    color: #86efac !important;
}

#window-store-page-root :is(.webplus-store-product-status-v623.webplus-coming-v623, .web04-store-product-status-v623.web04-coming-v623) {
    color: #fde047 !important;
}

#window-store-page-root :is(.webplus-store-product-copy-v623, .web04-store-product-copy-v623) {
    display: grid !important;
    min-width: 0 !important;
    gap: 3px !important;
}

#window-store-page-root :is(.webplus-store-product-copy-v623, .web04-store-product-copy-v623) strong {
    overflow: hidden !important;
    font-size: 13px !important;
    line-height: 1.1 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

#window-store-page-root :is(.webplus-store-product-copy-v623, .web04-store-product-copy-v623) small {
    display: -webkit-box !important;
    overflow: hidden !important;
    color: rgb(203 213 225 / 78%) !important;
    font-size: 10px !important;
    line-height: 1.15 !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
}

#window-store-page-root :is(.webplus-store-product-detail-v623, .web04-store-product-detail-v623) {
    display: flex !important;
    flex-direction: column !important;
    min-height: 360px !important;
}

#window-store-page-root :is(.webplus-store-product-detail-top-v623, .web04-store-product-detail-top-v623) {
    display: grid !important;
    grid-template-columns: 142px minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: center !important;
}

#window-store-page-root :is(.webplus-store-product-detail-image-v623, .web04-store-product-detail-image-v623) {
    width: 142px !important;
    height: 86px !important;
    object-fit: cover !important;
    border: 1px solid rgb(148 163 184 / 24%) !important;
    border-radius: 8px !important;
}

#window-store-page-root :is(.webplus-store-product-detail-top-v623, .web04-store-product-detail-top-v623) h2 {
    margin: 2px 0 5px !important;
    font-size: 26px !important;
    line-height: 1.02 !important;
}

#window-store-page-root :is(.webplus-store-product-description-v623, .web04-store-product-description-v623) {
    margin: 10px 0 8px !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
}

#window-store-page-root :is(.webplus-store-product-meta-v623, .web04-store-product-meta-v623) {
    display: grid !important;
    gap: 5px !important;
    margin: 0 !important;
}

#window-store-page-root :is(.webplus-store-product-meta-v623, .web04-store-product-meta-v623) > div {
    min-height: 32px !important;
    padding: 6px 8px !important;
    font-size: 11px !important;
}

#window-store-page-root :is(.webplus-store-product-price-v623, .web04-store-product-price-v623) {
    margin: 8px 0 0 !important;
    padding: 8px 10px !important;
    border: 1px solid rgb(250 204 21 / 25%) !important;
    border-radius: 8px !important;
    text-align: right !important;
}

#window-store-page-root :is(.webplus-store-product-price-v623, .web04-store-product-price-v623) strong {
    font-size: 18px !important;
}

#window-store-page-root :is(.webplus-store-product-notice-v623, .web04-store-product-notice-v623) {
    margin: 7px 0 0 !important;
    padding: 7px 9px !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
}

#window-store-page-root :is(.webplus-store-product-buy-v623, .web04-store-product-buy-v623) {
    align-self: flex-end !important;
    min-width: 210px !important;
    min-height: 34px !important;
    margin-top: 9px !important;
    padding: 7px 12px !important;
    font-size: 12px !important;
}

#window-store-page-root :is(.webplus-store-checkout-backdrop-v623, .web04-store-checkout-backdrop-v623) {
    position: fixed !important;
    inset: 0 !important;
    z-index: 10010 !important;
    display: grid !important;
    place-items: center !important;
    padding: 14px !important;
    background: rgb(1 5 14 / 72%) !important;
    backdrop-filter: blur(5px) !important;
}

#window-store-page-root :is(.webplus-store-checkout-dialog-v623, .web04-store-checkout-dialog-v623) {
    position: relative !important;
    width: min(520px, calc(100vw - 28px)) !important;
    max-height: calc(100vh - 30px) !important;
    padding: 16px !important;
    overflow: auto !important;
    border: 3px solid rgb(250 204 21 / 60%) !important;
    border-radius: 12px !important;
    box-shadow: 0 24px 80px rgb(0 0 0 / 62%) !important;
}

#window-store-page-root :is(.webplus-store-checkout-close-v623, .web04-store-checkout-close-v623) {
    position: absolute !important;
    top: 9px !important;
    right: 10px !important;
    display: inline-grid !important;
    place-items: center !important;
    width: 36px !important;
    height: 36px !important;
    padding: 0 0 3px !important;
    border: 2px solid rgb(253 224 71 / 92%) !important;
    border-radius: 9px !important;
    background: rgb(8 12 20 / 96%) !important;
    box-shadow: 0 0 0 4px rgb(234 179 8 / 28%) !important;
    color: #fff7c2 !important;
    font-size: 27px !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

#window-store-page-root :is(.webplus-store-checkout-header-v623, .web04-store-checkout-header-v623) {
    padding-right: 46px !important;
}

#window-store-page-root :is(.webplus-store-checkout-header-v623, .web04-store-checkout-header-v623) h2 {
    margin: 2px 0 3px !important;
    font-size: 23px !important;
    line-height: 1.05 !important;
}

#window-store-page-root :is(.webplus-store-checkout-header-v623, .web04-store-checkout-header-v623) > p:last-child {
    margin: 0 0 10px !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
}

#window-store-page-root :is(.webplus-store-saved-customer-v623, .web04-store-saved-customer-v623) {
    display: grid !important;
    gap: 3px !important;
    padding: 10px 11px !important;
    border: 1px solid rgb(34 197 94 / 34%) !important;
    border-radius: 8px !important;
    background: rgb(5 20 18 / 45%) !important;
}

#window-store-page-root :is(.webplus-store-saved-customer-v623, .web04-store-saved-customer-v623) span,
#window-store-page-root :is(.webplus-store-saved-customer-v623, .web04-store-saved-customer-v623) small {
    font-size: 11px !important;
}

#window-store-page-root :is(.webplus-store-saved-customer-v623, .web04-store-saved-customer-v623) strong {
    font-size: 17px !important;
}

#window-store-page-root :is(.webplus-store-checkout-actions-v623, .web04-store-checkout-actions-v623) {
    display: flex !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    margin-top: 10px !important;
}

#window-store-page-root :is(.webplus-store-customer-lookup-v623, .web04-store-customer-lookup-v623) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 8px !important;
    align-items: end !important;
}

#window-store-page-root :is(.webplus-store-customer-lookup-v623, .web04-store-customer-lookup-v623) label {
    display: grid !important;
    gap: 4px !important;
    font-size: 11px !important;
}

#window-store-page-root :is(.webplus-store-customer-lookup-v623, .web04-store-customer-lookup-v623) input {
    min-height: 34px !important;
    padding: 6px 8px !important;
}

#window-store-page-root :is(.webplus-store-new-customer-link-v623, .web04-store-new-customer-link-v623) {
    display: block !important;
    margin: 9px 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #7dd3fc !important;
    font-size: 11px !important;
    text-decoration: underline !important;
    cursor: pointer !important;
}

#window-store-page-root :is(.webplus-store-new-customer-grid-v623, .web04-store-new-customer-grid-v623) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
}

#window-store-page-root :is(.webplus-store-new-customer-grid-v623, .web04-store-new-customer-grid-v623) label:last-child {
    grid-column: 1 / -1 !important;
}

.admin-commerce-page .commerce-admin-product-selector {
    display: grid !important;
    gap: 4px !important;
    min-width: 230px !important;
    font-size: 11px !important;
}

.admin-commerce-page .commerce-admin-product-selector select {
    min-height: 32px !important;
    padding: 5px 8px !important;
}

@media (max-width: 760px) {
    #window-store-page-root :is(.webplus-store-catalog-layout-v623, .web04-store-catalog-layout-v623) {
        grid-template-columns: 1fr !important;
    }

    #window-store-page-root :is(.webplus-store-product-scroll-v623, .web04-store-product-scroll-v623) {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        max-height: 210px !important;
    }

    #window-store-page-root :is(.webplus-store-product-detail-top-v623, .web04-store-product-detail-top-v623) {
        grid-template-columns: 110px minmax(0, 1fr) !important;
    }

    #window-store-page-root :is(.webplus-store-product-detail-image-v623, .web04-store-product-detail-image-v623) {
        width: 110px !important;
        height: 70px !important;
    }
}

@media (max-width: 520px) {
    #window-store-page-root :is(.webplus-store-product-scroll-v623, .web04-store-product-scroll-v623) {
        grid-template-columns: 1fr !important;
    }

    #window-store-page-root :is(.webplus-store-product-button-v623, .web04-store-product-button-v623) {
        grid-template-columns: 72px minmax(0, 1fr) !important;
    }

    #window-store-page-root :is(.webplus-store-product-thumb-v623, .web04-store-product-thumb-v623) {
        width: 72px !important;
        height: 46px !important;
    }

    #window-store-page-root :is(.webplus-store-customer-lookup-v623, .web04-store-customer-lookup-v623),
    #window-store-page-root :is(.webplus-store-new-customer-grid-v623, .web04-store-new-customer-grid-v623) {
        grid-template-columns: 1fr !important;
    }

    #window-store-page-root :is(.webplus-store-checkout-actions-v623, .web04-store-checkout-actions-v623) {
        flex-direction: column !important;
    }
}

/* V_640: precio internacional base USD y conversión informativa a MXN */
#window-store-page-root :is(.webplus-store-international-price-v623, .web04-store-international-price-v623) {
    display: grid !important;
    gap: 4px !important;
    padding: 9px 11px !important;
}

#window-store-page-root :is(.webplus-store-price-line-v623, .web04-store-price-line-v623) {
    display: flex !important;
    align-items: baseline !important;
    justify-content: flex-end !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
}

#window-store-page-root :is(.webplus-store-price-line-v623, .web04-store-price-line-v623) strong {
    font-size: 24px !important;
    line-height: 1 !important;
}

#window-store-page-root :is(.webplus-store-price-line-v623, .web04-store-price-line-v623) span {
    font-size: 15px !important;
    font-weight: 700 !important;
    opacity: .92 !important;
}

#window-store-page-root :is(.webplus-store-international-price-v623, .web04-store-international-price-v623) small {
    display: block !important;
    text-align: right !important;
    font-size: 10px !important;
    line-height: 1.3 !important;
    opacity: .78 !important;
}

#window-store-page-root :is(.webplus-store-rate-fallback-v623, .web04-store-rate-fallback-v623) {
    color: #facc15 !important;
    opacity: 1 !important;
}

#window-store-page-root :is(.webplus-store-checkout-price-v623, .web04-store-checkout-price-v623) {
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    align-items: baseline !important;
    gap: 4px 12px !important;
    margin-top: 8px !important;
    padding: 8px 10px !important;
    border: 1px solid rgb(250 204 21 / 34%) !important;
    border-radius: 8px !important;
    background: rgb(15 23 42 / 42%) !important;
}

#window-store-page-root :is(.webplus-store-checkout-price-v623, .web04-store-checkout-price-v623) strong {
    font-size: 20px !important;
}

#window-store-page-root :is(.webplus-store-checkout-price-v623, .web04-store-checkout-price-v623) span {
    justify-self: end !important;
    font-weight: 700 !important;
}

#window-store-page-root :is(.webplus-store-checkout-price-v623, .web04-store-checkout-price-v623) small {
    grid-column: 1 / -1 !important;
    font-size: 10px !important;
    opacity: .78 !important;
}

@media (max-width: 620px) {
    #window-store-page-root :is(.webplus-store-price-line-v623, .web04-store-price-line-v623) {
        justify-content: flex-start !important;
    }

    #window-store-page-root :is(.webplus-store-international-price-v623, .web04-store-international-price-v623) small {
        text-align: left !important;
    }

    #window-store-page-root :is(.webplus-store-checkout-price-v623, .web04-store-checkout-price-v623) {
        grid-template-columns: 1fr !important;
    }

    #window-store-page-root :is(.webplus-store-checkout-price-v623, .web04-store-checkout-price-v623) span {
        justify-self: start !important;
    }
}

/* V_641: catálogo de precios y selector automático de plataformas */
.admin-commerce-page :is(.commerce-price-catalog-panel, .commerce-provider-panel) {
    margin-top: 10px !important;
}

.admin-commerce-page :is(.commerce-price-editor, .commerce-provider-editor) {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(130px, 1fr)) !important;
    gap: 8px !important;
    align-items: end !important;
}

.admin-commerce-page .commerce-product-status-editor {
    grid-template-columns: minmax(180px, 280px) !important;
}

.admin-commerce-page .commerce-inline-check {
    display: flex !important;
    min-height: 34px !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 7px !important;
}

.admin-commerce-page .commerce-inline-check input[type="checkbox"] {
    width: 17px !important;
    height: 17px !important;
    margin: 0 !important;
}

.admin-commerce-page .commerce-provider-variant {
    grid-column: span 2 !important;
}

.admin-commerce-page :is(.commerce-price-history, .commerce-provider-summary) {
    margin-top: 9px !important;
}

@media (max-width: 900px) {
    .admin-commerce-page :is(.commerce-price-editor, .commerce-provider-editor) {
        grid-template-columns: repeat(2, minmax(130px, 1fr)) !important;
    }
}

@media (max-width: 560px) {
    .admin-commerce-page :is(.commerce-price-editor, .commerce-provider-editor) {
        grid-template-columns: 1fr !important;
    }

    .admin-commerce-page .commerce-provider-variant {
        grid-column: auto !important;
    }
}


/* V_643: Admin Comercio compacto dentro de modal con X */
body:has(#admin-commerce-modal-host) {
    overflow: hidden !important;
}

#admin-commerce-modal-host.admin-commerce-modal-host {
    position: fixed !important;
    inset: 0 !important;
    z-index: 12000 !important;
    outline: none !important;
}

#admin-commerce-modal-host .admin-commerce-modal-backdrop {
    position: absolute !important;
    inset: 0 !important;
    display: grid !important;
    place-items: center !important;
    padding: 14px !important;
    overflow: hidden !important;
    background: rgb(2 6 23 / 72%) !important;
    backdrop-filter: blur(5px) !important;
}

#admin-commerce-modal-host .admin-commerce-modal-dialog {
    position: relative !important;
    width: min(1040px, calc(100vw - 28px));
    max-width: calc(100vw - 20px) !important;
    max-height: calc(100vh - 28px) !important;
    margin: 0 !important;
    padding: 12px 14px 16px !important;
    overflow: auto !important;
    border: 2px solid rgb(250 204 21 / 62%) !important;
    border-radius: 13px !important;
    background: linear-gradient(135deg, rgb(2 18 27 / 98%), rgb(15 23 42 / 98%)) !important;
    box-shadow: 0 24px 80px rgb(0 0 0 / 58%), 0 0 0 1px rgb(250 204 21 / 12%) inset !important;
}

#admin-commerce-modal-host .admin-commerce-modal-close {
    position: sticky !important;
    top: 0 !important;
    float: right !important;
    z-index: 30 !important;
    display: inline-grid !important;
    place-items: center !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    margin: 0 0 -36px 8px !important;
    padding: 0 0 3px !important;
    border: 2px solid rgb(253 224 71 / 92%) !important;
    border-radius: 9px !important;
    background: rgb(8 12 20 / 96%) !important;
    box-shadow: 0 0 0 4px rgb(234 179 8 / 28%) !important;
    outline: none !important;
    color: #fff7c2 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 27px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    cursor: default !important;
}

#admin-commerce-modal-host .admin-commerce-modal-close:hover,
#admin-commerce-modal-host .admin-commerce-modal-close:focus-visible {
    border-color: rgb(254 240 138 / 100%) !important;
    background: rgb(15 18 25 / 100%) !important;
    box-shadow: 0 0 0 4px rgb(234 179 8 / 38%) !important;
}

#admin-commerce-modal-host .admin-compact-header {
    grid-template-columns: auto minmax(0, 1fr) !important;
    padding-right: 50px !important;
    margin: 0 0 5px !important;
}

#admin-commerce-modal-host .admin-compact-header h1 {
    font-size: 24px !important;
}

#admin-commerce-modal-host .admin-compact-header > p:last-child {
    max-width: 560px !important;
    font-size: 11px !important;
}

#admin-commerce-modal-host .admin-compact-panel,
#admin-commerce-modal-host .commerce-table-panel {
    margin: 5px 0 !important;
    padding: 8px 10px !important;
}

#admin-commerce-modal-host .commerce-admin-heading {
    display: flex !important;
    justify-content: space-between !important;
    align-items: end !important;
    gap: 10px !important;
}

#admin-commerce-modal-host .commerce-admin-product-selector {
    min-width: 0 !important;
    width: 190px !important;
}

#admin-commerce-modal-host .commerce-admin-product-selector select {
    width: 190px !important;
}

#admin-commerce-modal-host .commerce-readiness-grid {
    width: fit-content !important;
    max-width: 100% !important;
    grid-template-columns: 150px 100px 145px minmax(210px, 260px) minmax(210px, 260px) !important;
    gap: 5px !important;
}

#admin-commerce-modal-host .commerce-readiness-grid > div {
    min-width: 0 !important;
}

#admin-commerce-modal-host .commerce-readiness-webhook strong,
#admin-commerce-modal-host .commerce-break-text {
    display: block !important;
    max-width: 230px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

#admin-commerce-modal-host .commerce-product-summary {
    width: fit-content !important;
    max-width: 100% !important;
    grid-template-columns: 190px 190px 140px 140px 165px 120px !important;
}

#admin-commerce-modal-host .commerce-product-status-editor {
    width: 180px !important;
    grid-template-columns: 180px !important;
}

#admin-commerce-modal-host .commerce-price-editor {
    width: fit-content !important;
    max-width: 100% !important;
    grid-template-columns: 110px 78px 145px minmax(180px, 260px) !important;
    gap: 7px !important;
}

#admin-commerce-modal-host .commerce-price-editor label,
#admin-commerce-modal-host .commerce-provider-editor label {
    min-width: 0 !important;
    font-size: 11px !important;
}

#admin-commerce-modal-host .commerce-price-editor input,
#admin-commerce-modal-host .commerce-price-editor select,
#admin-commerce-modal-host .commerce-provider-editor input,
#admin-commerce-modal-host .commerce-provider-editor select {
    width: 100% !important;
    min-height: 30px !important;
    height: 30px !important;
    padding: 4px 7px !important;
    font-size: 12px !important;
}

#admin-commerce-modal-host .commerce-inline-check {
    width: max-content !important;
    min-height: 30px !important;
    padding-right: 8px !important;
}

#admin-commerce-modal-host .commerce-provider-summary {
    width: fit-content !important;
    max-width: 100% !important;
    grid-template-columns: 190px 145px 145px 110px !important;
}

#admin-commerce-modal-host .commerce-provider-editor {
    width: fit-content !important;
    max-width: 100% !important;
    grid-template-columns: 190px 210px 185px 125px 115px 135px !important;
    gap: 7px !important;
    align-items: end !important;
}

#admin-commerce-modal-host .commerce-provider-field-number {
    width: 125px !important;
}

#admin-commerce-modal-host .commerce-provider-field-priority {
    width: 90px !important;
}

#admin-commerce-modal-host .commerce-provider-field-currency {
    width: 78px !important;
}

#admin-commerce-modal-host .commerce-provider-variant {
    grid-column: span 2 !important;
    width: 250px !important;
}

#admin-commerce-modal-host .table-scroll {
    max-height: 190px !important;
}

#admin-commerce-modal-host .admin-compact-summary {
    grid-template-columns: repeat(6, 120px) !important;
    width: fit-content !important;
    max-width: 100% !important;
}

@media (max-width: 1040px) {
    #admin-commerce-modal-host .commerce-readiness-grid,
    #admin-commerce-modal-host .commerce-product-summary,
    #admin-commerce-modal-host .commerce-price-editor,
    #admin-commerce-modal-host .commerce-provider-summary,
    #admin-commerce-modal-host .commerce-provider-editor {
        grid-template-columns: repeat(3, minmax(150px, 1fr)) !important;
        width: 100% !important;
    }

    #admin-commerce-modal-host .commerce-provider-variant {
        grid-column: span 2 !important;
        width: auto !important;
    }
}

@media (max-width: 700px) {
    #admin-commerce-modal-host .admin-commerce-modal-backdrop {
        padding: 6px !important;
    }

    #admin-commerce-modal-host .admin-commerce-modal-dialog {
        width: calc(100vw - 12px) !important;
        max-height: calc(100vh - 12px) !important;
        padding: 10px !important;
    }

    #admin-commerce-modal-host .admin-compact-header {
        display: block !important;
        padding-right: 44px !important;
    }

    #admin-commerce-modal-host .admin-compact-header h1 {
        white-space: normal !important;
    }

    #admin-commerce-modal-host .commerce-admin-heading {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    #admin-commerce-modal-host .commerce-admin-product-selector,
    #admin-commerce-modal-host .commerce-admin-product-selector select {
        width: 100% !important;
    }

    #admin-commerce-modal-host .commerce-readiness-grid,
    #admin-commerce-modal-host .commerce-product-summary,
    #admin-commerce-modal-host .commerce-price-editor,
    #admin-commerce-modal-host .commerce-provider-summary,
    #admin-commerce-modal-host .commerce-provider-editor,
    #admin-commerce-modal-host .admin-compact-summary {
        grid-template-columns: 1fr !important;
        width: 100% !important;
    }

    #admin-commerce-modal-host .commerce-provider-variant,
    #admin-commerce-modal-host .commerce-provider-field-number,
    #admin-commerce-modal-host .commerce-provider-field-priority,
    #admin-commerce-modal-host .commerce-provider-field-currency {
        grid-column: auto !important;
        width: 100% !important;
    }
}


/* V_644: panel principal de Administración como modal compacto */
body:has(#admin-main-modal-host) {
    overflow: hidden !important;
}

#admin-main-modal-host.admin-main-modal-host {
    position: fixed !important;
    inset: 0 !important;
    z-index: 11900 !important;
    outline: none !important;
}

#admin-main-modal-host .admin-main-modal-backdrop {
    position: absolute !important;
    inset: 0 !important;
    display: grid !important;
    place-items: center !important;
    padding: 14px !important;
    overflow: hidden !important;
    background: rgb(2 6 23 / 72%) !important;
    backdrop-filter: blur(5px) !important;
}

#admin-main-modal-host .admin-main-modal-dialog {
    position: relative !important;
    width: min(760px, calc(100vw - 28px));
    max-height: calc(100vh - 28px) !important;
    margin: 0 !important;
    padding: 14px 16px 16px !important;
    overflow: auto !important;
    border: 2px solid rgb(250 204 21 / 62%) !important;
    border-radius: 13px !important;
    background: linear-gradient(135deg, rgb(2 18 27 / 98%), rgb(15 23 42 / 98%)) !important;
    box-shadow: 0 24px 80px rgb(0 0 0 / 58%), 0 0 0 1px rgb(250 204 21 / 12%) inset !important;
}

#admin-main-modal-host .admin-main-modal-close {
    position: sticky !important;
    top: 0 !important;
    float: right !important;
    z-index: 30 !important;
    display: inline-grid !important;
    place-items: center !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    margin: 0 0 -36px 8px !important;
    padding: 0 0 3px !important;
    border: 2px solid rgb(253 224 71 / 92%) !important;
    border-radius: 9px !important;
    background: rgb(8 12 20 / 96%) !important;
    box-shadow: 0 0 0 4px rgb(234 179 8 / 28%) !important;
    outline: none !important;
    color: #fff7c2 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 27px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    cursor: default !important;
}

#admin-main-modal-host .admin-main-modal-close:hover,
#admin-main-modal-host .admin-main-modal-close:focus-visible {
    border-color: rgb(254 240 138 / 100%) !important;
    background: rgb(15 18 25 / 100%) !important;
    box-shadow: 0 0 0 4px rgb(234 179 8 / 38%) !important;
    outline: none !important;
}

#admin-main-modal-host .admin-main-modal-header {
    margin: 0 0 8px !important;
    padding: 0 50px 0 0 !important;
    text-align: left !important;
}

#admin-main-modal-host .admin-main-modal-header .eyebrow {
    margin: 0 0 2px !important;
    font-size: 10px !important;
    line-height: 1.15 !important;
    letter-spacing: .06em !important;
}

#admin-main-modal-host .admin-main-modal-header h1 {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 26px !important;
    line-height: 1.05 !important;
    letter-spacing: -.02em !important;
    white-space: normal !important;
}

#admin-main-modal-host .admin-main-modal-header > p:last-child {
    max-width: 620px !important;
    margin: 3px 0 0 !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
}

#admin-main-modal-host .admin-main-diagnostic-panel {
    margin: 0 0 8px !important;
    padding: 9px 10px !important;
    border-radius: 9px !important;
}

#admin-main-modal-host .admin-main-diagnostic-panel h2 {
    margin: 0 0 6px !important;
    font-size: 16px !important;
    line-height: 1.1 !important;
}

#admin-main-modal-host .admin-main-diagnostic-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 5px !important;
}

#admin-main-modal-host .admin-main-diagnostic-grid > div {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 2px !important;
    min-width: 0 !important;
    padding: 6px 8px !important;
    border: 1px solid rgb(148 163 184 / 14%) !important;
    border-radius: 7px !important;
    background: rgb(2 10 20 / 46%) !important;
}

#admin-main-modal-host .admin-main-diagnostic-grid span {
    font-size: 10px !important;
    line-height: 1.1 !important;
    color: rgb(203 213 225 / 82%) !important;
}

#admin-main-modal-host .admin-main-diagnostic-grid strong {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
}

#admin-main-modal-host .admin-main-server-time {
    grid-column: span 2 !important;
}

#admin-main-modal-host .admin-main-module-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
}

#admin-main-modal-host .admin-main-module-card {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 9px 10px !important;
    border-radius: 9px !important;
}

#admin-main-modal-host .admin-main-module-card > div {
    min-width: 0 !important;
}

#admin-main-modal-host .admin-main-module-card h2 {
    margin: 0 0 2px !important;
    font-size: 16px !important;
    line-height: 1.1 !important;
}

#admin-main-modal-host .admin-main-module-card p {
    display: -webkit-box !important;
    margin: 0 !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    font-size: 10.5px !important;
    line-height: 1.25 !important;
}

#admin-main-modal-host .admin-main-module-card .button-secondary {
    flex: 0 0 auto !important;
    min-height: 29px !important;
    padding: 5px 8px !important;
    white-space: nowrap !important;
    font-size: 11px !important;
}

@media (max-width: 700px) {
    #admin-main-modal-host .admin-main-modal-backdrop {
        padding: 6px !important;
    }

    #admin-main-modal-host .admin-main-modal-dialog {
        width: calc(100vw - 12px) !important;
        max-height: calc(100vh - 12px) !important;
        padding: 10px !important;
    }

    #admin-main-modal-host .admin-main-modal-header {
        padding-right: 44px !important;
    }

    #admin-main-modal-host .admin-main-diagnostic-grid,
    #admin-main-modal-host .admin-main-module-grid {
        grid-template-columns: 1fr !important;
    }

    #admin-main-modal-host .admin-main-server-time {
        grid-column: auto !important;
    }

    #admin-main-modal-host .admin-main-module-card {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    #admin-main-modal-host .admin-main-module-card .button-secondary {
        width: fit-content !important;
    }
}

/* V_645: todas las ventanas secundarias de Administración usan modal compacta con X */
body:has(.admin-child-modal-host) {
    overflow: hidden !important;
}

.admin-child-modal-host {
    position: fixed !important;
    inset: 0 !important;
    z-index: 12100 !important;
    outline: none !important;
}

.admin-child-modal-backdrop {
    position: absolute !important;
    inset: 0 !important;
    display: grid !important;
    place-items: center !important;
    padding: 14px !important;
    overflow: hidden !important;
    background: rgb(2 6 23 / 74%) !important;
    backdrop-filter: blur(5px) !important;
}

.admin-child-modal-dialog {
    position: relative !important;
    width: min(980px, calc(100vw - 28px));
    max-height: calc(100vh - 28px) !important;
    margin: 0 !important;
    padding: 14px 16px 16px !important;
    overflow: auto !important;
    border: 2px solid rgb(250 204 21 / 62%) !important;
    border-radius: 13px !important;
    background: linear-gradient(135deg, rgb(2 18 27 / 98%), rgb(15 23 42 / 98%)) !important;
    box-shadow: 0 24px 80px rgb(0 0 0 / 58%), 0 0 0 1px rgb(250 204 21 / 12%) inset !important;
}

.admin-subscribers-modal-dialog {
    width: min(1060px, calc(100vw - 28px));
}

.admin-database-modal-dialog {
    width: min(1100px, calc(100vw - 28px));
}

.admin-newsletter-modal-dialog {
    width: min(720px, calc(100vw - 28px));
}

.admin-child-modal-close {
    position: sticky !important;
    top: 0 !important;
    float: right !important;
    z-index: 30 !important;
    display: inline-grid !important;
    place-items: center !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    margin: 0 0 -36px 8px !important;
    padding: 0 0 3px !important;
    border: 2px solid rgb(253 224 71 / 92%) !important;
    border-radius: 9px !important;
    background: rgb(8 12 20 / 96%) !important;
    box-shadow: 0 0 0 4px rgb(234 179 8 / 28%) !important;
    outline: none !important;
    color: #fff7c2 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 27px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    cursor: default !important;
}

.admin-child-modal-close:hover,
.admin-child-modal-close:focus-visible {
    border-color: rgb(254 240 138 / 100%) !important;
    background: rgb(15 18 25 / 100%) !important;
    box-shadow: 0 0 0 4px rgb(234 179 8 / 38%) !important;
    outline: none !important;
}

.admin-child-modal-header {
    margin: 0 0 8px !important;
    padding: 0 50px 0 0 !important;
    text-align: left !important;
}

.admin-child-modal-header .eyebrow {
    margin: 0 0 2px !important;
    font-size: 10px !important;
    line-height: 1.15 !important;
    letter-spacing: .06em !important;
}

.admin-child-modal-header h1 {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 25px !important;
    line-height: 1.05 !important;
    letter-spacing: -.02em !important;
    white-space: normal !important;
}

.admin-child-modal-header > p:last-child {
    max-width: 720px !important;
    margin: 3px 0 0 !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
}

.admin-child-toolbar,
.admin-child-content-panel {
    margin: 6px 0 0 !important;
    padding: 9px 10px !important;
    border-radius: 9px !important;
}

.admin-child-toolbar .actions,
.admin-database-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin: 0 !important;
}

.admin-child-toolbar :is(button, a),
.admin-database-actions button {
    min-height: 30px !important;
    padding: 5px 10px !important;
    font-size: 12px !important;
}

.admin-child-message {
    margin: 7px 0 0 !important;
    padding: 7px 9px !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
}

.admin-child-empty {
    margin: 0 !important;
    padding: 10px !important;
    font-size: 12px !important;
    color: rgb(203 213 225 / 78%) !important;
}

.admin-child-section-heading h2,
.admin-newsletter-content h2 {
    margin: 0 0 6px !important;
    font-size: 16px !important;
    line-height: 1.1 !important;
}

.admin-child-table-scroll {
    max-height: 420px !important;
    overflow: auto !important;
    border-radius: 7px !important;
}

.admin-database-table-scroll {
    max-height: 390px !important;
}

.admin-child-table {
    width: max-content !important;
    min-width: 100% !important;
    font-size: 11px !important;
}

.admin-child-table th,
.admin-child-table td {
    padding: 6px 8px !important;
    white-space: nowrap !important;
}

.admin-database-status-grid {
    display: grid !important;
    grid-template-columns: minmax(170px, 220px) minmax(240px, 1fr) 110px !important;
    gap: 6px !important;
    margin: 0 0 7px !important;
}

.admin-database-status-grid > div {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 2px !important;
    min-width: 0 !important;
    padding: 7px 8px !important;
    border: 1px solid rgb(148 163 184 / 14%) !important;
    border-radius: 7px !important;
    background: rgb(2 10 20 / 46%) !important;
}

.admin-database-status-grid span {
    font-size: 10px !important;
    color: rgb(203 213 225 / 78%) !important;
}

.admin-database-status-grid strong {
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
    font-size: 11px !important;
}

.admin-newsletter-content > p {
    margin: 0 0 8px !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
}

.admin-newsletter-form-grid {
    display: grid !important;
    grid-template-columns: minmax(260px, 1fr) 150px !important;
    gap: 8px !important;
    width: 100% !important;
}

.admin-newsletter-form-grid label {
    min-width: 0 !important;
    font-size: 11px !important;
}

.admin-newsletter-form-grid input {
    width: 100% !important;
    min-height: 31px !important;
    height: 31px !important;
    padding: 5px 7px !important;
    font-size: 12px !important;
}

.admin-newsletter-editor {
    width: 100% !important;
    min-height: 180px !important;
    max-height: 260px !important;
    margin-top: 8px !important;
    padding: 8px !important;
    resize: vertical !important;
    font-size: 12px !important;
}

@media (max-width: 720px) {
    .admin-child-modal-backdrop {
        padding: 6px !important;
    }

    .admin-child-modal-dialog,
    .admin-subscribers-modal-dialog,
    .admin-database-modal-dialog,
    .admin-newsletter-modal-dialog {
        width: calc(100vw - 12px) !important;
        max-height: calc(100vh - 12px) !important;
        padding: 10px !important;
    }

    .admin-child-modal-header {
        padding-right: 44px !important;
    }

    .admin-child-modal-header h1 {
        font-size: 22px !important;
    }

    .admin-database-status-grid,
    .admin-newsletter-form-grid {
        grid-template-columns: 1fr !important;
    }
}


/* V_654: integración real de Brevo, prueba individual e historial compacto */
body:has(#admin-newsletter-modal-v654-host) {
    overflow: hidden !important;
}

#admin-newsletter-modal-v654-host {
    position: fixed !important;
    inset: 0 !important;
    z-index: 13000 !important;
    display: block !important;
    outline: none !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-modal-v654-backdrop {
    position: absolute !important;
    inset: 0 !important;
    display: grid !important;
    place-items: center !important;
    padding: 12px !important;
    overflow: hidden !important;
    background: rgb(2 6 23 / 76%) !important;
    backdrop-filter: blur(5px) !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-modal-v654-dialog {
    position: relative !important;
    width: min(820px, calc(100vw - 24px));
    max-height: calc(100vh - 24px) !important;
    margin: 0 !important;
    padding: 12px 14px 14px !important;
    overflow: auto !important;
    border: 2px solid rgb(250 204 21 / 64%) !important;
    border-radius: 13px !important;
    background: linear-gradient(135deg, rgb(2 18 27 / 99%), rgb(15 23 42 / 99%)) !important;
    box-shadow: 0 24px 80px rgb(0 0 0 / 60%), 0 0 0 1px rgb(250 204 21 / 12%) inset !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-modal-v654-close {
    position: absolute !important;
    top: 10px !important;
    right: 11px !important;
    z-index: 10 !important;
    display: inline-grid !important;
    place-items: center !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    padding: 0 0 3px !important;
    border: 2px solid rgb(253 224 71 / 94%) !important;
    border-radius: 9px !important;
    background: rgb(8 12 20 / 98%) !important;
    box-shadow: 0 0 0 4px rgb(234 179 8 / 28%) !important;
    color: #fff7c2 !important;
    text-decoration: none !important;
    font: 400 27px/1 Arial, Helvetica, sans-serif !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-modal-v654-close:hover,
#admin-newsletter-modal-v654-host .admin-newsletter-modal-v654-close:focus-visible {
    border-color: rgb(254 240 138 / 100%) !important;
    background: rgb(15 18 25 / 100%) !important;
    box-shadow: 0 0 0 4px rgb(234 179 8 / 38%) !important;
    outline: none !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-modal-v654-header {
    margin: 0 0 8px !important;
    padding: 0 48px 0 0 !important;
    text-align: left !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-modal-v654-header .eyebrow {
    margin: 0 0 2px !important;
    font-size: 10px !important;
    line-height: 1.15 !important;
    letter-spacing: .06em !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-modal-v654-header h1 {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 25px !important;
    line-height: 1.05 !important;
    letter-spacing: -.02em !important;
    white-space: normal !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-modal-v654-header > p:last-child {
    max-width: 690px !important;
    margin: 3px 0 0 !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-modal-v654-content {
    margin: 0 0 8px !important;
    padding: 9px 10px !important;
    border-radius: 9px !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-section-heading {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin-bottom: 7px !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-section-heading h2 {
    margin: 0 !important;
    font-size: 16px !important;
    line-height: 1.1 !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-section-heading p {
    margin: 3px 0 0 !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-ready-badge {
    flex: 0 0 auto !important;
    padding: 4px 8px !important;
    border: 1px solid rgb(148 163 184 / 35%) !important;
    border-radius: 999px !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-ready-badge.is-ready {
    border-color: rgb(34 197 94 / 55%) !important;
    color: #86efac !important;
    background: rgb(20 83 45 / 25%) !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-ready-badge.is-missing {
    border-color: rgb(245 158 11 / 55%) !important;
    color: #fde68a !important;
    background: rgb(120 53 15 / 22%) !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-status-grid {
    display: grid !important;
    grid-template-columns: 112px 112px minmax(240px, 1fr) 112px !important;
    gap: 7px !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-status-grid > div {
    min-width: 0 !important;
    padding: 6px 7px !important;
    border: 1px solid rgb(148 163 184 / 18%) !important;
    border-radius: 7px !important;
    background: rgb(2 8 20 / 48%) !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-status-grid span {
    display: block !important;
    margin-bottom: 2px !important;
    font-size: 9px !important;
    opacity: .72 !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-status-grid strong {
    display: block !important;
    overflow: hidden !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-test-grid {
    display: grid !important;
    grid-template-columns: minmax(230px, 290px) minmax(300px, 1fr) !important;
    gap: 8px !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-test-grid label,
#admin-newsletter-modal-v654-host .admin-newsletter-v654-message-label {
    display: grid !important;
    gap: 4px !important;
    min-width: 0 !important;
    font-size: 10px !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-test-grid input {
    width: 100% !important;
    height: 31px !important;
    min-height: 31px !important;
    padding: 5px 7px !important;
    font-size: 11px !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-modal-v654-editor {
    width: 100% !important;
    min-height: 105px !important;
    max-height: 180px !important;
    margin-top: 0 !important;
    padding: 7px !important;
    resize: vertical !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-message-label {
    margin-top: 7px !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-actions {
    display: flex !important;
    justify-content: flex-end !important;
    margin-top: 7px !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-actions button,
#admin-newsletter-modal-v654-host .admin-newsletter-v654-refresh {
    min-height: 30px !important;
    padding: 5px 10px !important;
    font-size: 10px !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-result {
    display: grid !important;
    gap: 3px !important;
    margin: 7px 0 0 !important;
    padding: 7px 9px !important;
    font-size: 10px !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-result small {
    overflow-wrap: anywhere !important;
    font-size: 9px !important;
    opacity: .8 !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-panel {
    margin-bottom: 0 !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-table-wrap {
    max-height: 180px !important;
    overflow: auto !important;
    border: 1px solid rgb(148 163 184 / 16%) !important;
    border-radius: 7px !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-table {
    width: 100% !important;
    min-width: 710px !important;
    border-collapse: collapse !important;
    table-layout: fixed !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-table th,
#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-table td {
    padding: 5px 6px !important;
    border-bottom: 1px solid rgb(148 163 184 / 12%) !important;
    overflow: hidden !important;
    font-size: 9px !important;
    line-height: 1.2 !important;
    text-align: left !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-table th:nth-child(1),
#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-table td:nth-child(1) { width: 44px !important; }
#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-table th:nth-child(2),
#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-table td:nth-child(2) { width: 210px !important; }
#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-table th:nth-child(3),
#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-table td:nth-child(3) { width: 78px !important; }
#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-table th:nth-child(4),
#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-table td:nth-child(4) { width: 130px !important; }
#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-table th:nth-child(5),
#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-table td:nth-child(5) { width: 130px !important; }
#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-table th:nth-child(6),
#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-table td:nth-child(6) { width: 150px !important; }

#admin-newsletter-modal-v654-host .admin-newsletter-v654-status {
    display: inline-block !important;
    padding: 3px 6px !important;
    border: 1px solid rgb(148 163 184 / 28%) !important;
    border-radius: 999px !important;
    font-size: 8px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-status.is-sent {
    border-color: rgb(34 197 94 / 45%) !important;
    color: #86efac !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-status.is-failed {
    border-color: rgb(244 63 94 / 48%) !important;
    color: #fda4af !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-status.is-sending {
    border-color: rgb(245 158 11 / 48%) !important;
    color: #fde68a !important;
}

@media (max-width: 760px) {
    #admin-newsletter-modal-v654-host .admin-newsletter-modal-v654-backdrop {
        padding: 5px !important;
    }

    #admin-newsletter-modal-v654-host .admin-newsletter-modal-v654-dialog {
        width: calc(100vw - 10px) !important;
        max-height: calc(100vh - 10px) !important;
        padding: 10px !important;
    }

    #admin-newsletter-modal-v654-host .admin-newsletter-v654-status-grid,
    #admin-newsletter-modal-v654-host .admin-newsletter-v654-test-grid {
        grid-template-columns: 1fr !important;
    }

    #admin-newsletter-modal-v654-host .admin-newsletter-modal-v654-header h1 {
        font-size: 22px !important;
    }
}

/* V_654: campaña masiva, confirmación final, conteos y cancelación de suscripción */
#admin-newsletter-modal-v654-host .admin-newsletter-modal-v654-dialog {
    width: min(980px, calc(100vw - 24px));
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-status-grid {
    grid-template-columns: 105px 105px minmax(250px, 1fr) 105px 115px !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-campaign-panel {
    border-color: rgb(99 102 241 / 30%) !important;
    background: linear-gradient(135deg, rgb(30 27 75 / 22%), rgb(2 8 20 / 54%)) !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-subscriber-badge {
    flex: 0 0 auto !important;
    padding: 4px 8px !important;
    border: 1px solid rgb(96 165 250 / 42%) !important;
    border-radius: 999px !important;
    color: #bfdbfe !important;
    background: rgb(30 64 175 / 22%) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-campaign-summary {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    font-size: 10px !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-prepare-campaign,
#admin-newsletter-modal-v654-host .admin-newsletter-v654-send-campaign,
#admin-newsletter-modal-v654-host .admin-newsletter-v654-confirm-actions button {
    min-height: 30px !important;
    padding: 5px 10px !important;
    font-size: 10px !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-confirmation {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding: 8px 9px !important;
    border: 1px solid rgb(245 158 11 / 46%) !important;
    border-radius: 8px !important;
    background: rgb(120 53 15 / 18%) !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-confirmation strong {
    display: block !important;
    margin-bottom: 2px !important;
    color: #fde68a !important;
    font-size: 11px !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-confirmation p {
    margin: 0 !important;
    font-size: 10px !important;
    line-height: 1.3 !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-confirm-actions {
    display: flex !important;
    flex: 0 0 auto !important;
    gap: 7px !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-send-campaign {
    border-color: rgb(244 63 94 / 55%) !important;
    background: linear-gradient(135deg, #7f1d1d, #9f1239) !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-result {
    display: grid !important;
    gap: 3px !important;
    margin: 0 0 8px !important;
    padding: 7px 9px !important;
    font-size: 10px !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-result small {
    overflow-wrap: anywhere !important;
    font-size: 9px !important;
    opacity: .82 !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-table {
    min-width: 1040px !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-table th:nth-child(1),
#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-table td:nth-child(1) { width: 44px !important; }
#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-table th:nth-child(2),
#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-table td:nth-child(2) { width: 76px !important; }
#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-table th:nth-child(3),
#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-table td:nth-child(3) { width: 190px !important; }
#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-table th:nth-child(4),
#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-table td:nth-child(4) { width: 76px !important; }
#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-table th:nth-child(5),
#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-table td:nth-child(5),
#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-table th:nth-child(6),
#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-table td:nth-child(6),
#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-table th:nth-child(7),
#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-table td:nth-child(7),
#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-table th:nth-child(8),
#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-table td:nth-child(8) { width: 72px !important; }
#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-table th:nth-child(9),
#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-table td:nth-child(9),
#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-table th:nth-child(10),
#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-table td:nth-child(10) { width: 128px !important; }
#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-table th:nth-child(11),
#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-table td:nth-child(11) { width: 170px !important; }

.newsletter-unsubscribe-v654-page {
    min-height: 100vh !important;
    display: grid !important;
    place-items: center !important;
    padding: 20px !important;
    background: radial-gradient(circle at top, #172554 0, #020617 58%, #000 100%) !important;
}

.newsletter-unsubscribe-v654-card {
    width: min(520px, 100%) !important;
    padding: 24px !important;
    border: 2px solid rgb(250 204 21 / 62%) !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, rgb(2 18 27 / 98%), rgb(15 23 42 / 98%)) !important;
    box-shadow: 0 24px 80px rgb(0 0 0 / 58%) !important;
    text-align: center !important;
}

.newsletter-unsubscribe-v654-eyebrow {
    margin: 0 0 5px !important;
    color: #facc15 !important;
    font-size: 11px !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

.newsletter-unsubscribe-v654-card h1 {
    margin: 0 0 15px !important;
    font-size: 28px !important;
    line-height: 1.1 !important;
}

.newsletter-unsubscribe-v654-message,
.newsletter-unsubscribe-v654-result {
    margin: 0 0 15px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}

.newsletter-unsubscribe-v654-home {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 38px !important;
    padding: 7px 14px !important;
    text-decoration: none !important;
}

@media (max-width: 760px) {
    #admin-newsletter-modal-v654-host .admin-newsletter-v654-status-grid {
        grid-template-columns: 1fr 1fr !important;
    }

    #admin-newsletter-modal-v654-host .admin-newsletter-v654-campaign-summary,
    #admin-newsletter-modal-v654-host .admin-newsletter-v654-confirmation {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    #admin-newsletter-modal-v654-host .admin-newsletter-v654-confirm-actions {
        justify-content: flex-end !important;
    }
}

.newsletter-unsubscribe-v654-confirm {
    min-height: 38px !important;
    padding: 7px 14px !important;
}


/* V_654: historial Newsletter en modal redimensionable y respuesta visual uniforme en Administración */
#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-panel {
    margin-bottom: 0 !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-launcher {
    align-items: center !important;
    margin-bottom: 0 !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-open-history {
    min-height: 30px !important;
    padding: 5px 12px !important;
    font-size: 10px !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-modal-backdrop {
    position: fixed !important;
    inset: 0 !important;
    z-index: 13200 !important;
    display: grid !important;
    place-items: center !important;
    padding: 18px !important;
    background: rgb(0 3 10 / 82%) !important;
    backdrop-filter: blur(6px) !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-modal {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    width: min(1120px, calc(100vw - 36px));
    height: min(680px, calc(100vh - 36px));
    min-width: min(680px, calc(100vw - 36px)) !important;
    min-height: 320px !important;
    max-width: calc(100vw - 20px) !important;
    max-height: calc(100vh - 20px) !important;
    margin: 0 !important;
    padding: 12px !important;
    overflow: hidden !important;
    resize: both !important;
    border: 2px solid rgb(250 204 21 / 68%) !important;
    border-radius: 12px !important;
    background: linear-gradient(135deg, rgb(2 18 27 / 100%), rgb(15 23 42 / 100%)) !important;
    box-shadow: 0 28px 90px rgb(0 0 0 / 72%), 0 0 0 1px rgb(250 204 21 / 14%) inset !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-header {
    flex: 0 0 auto !important;
    min-height: 38px !important;
    padding: 2px 48px 9px 2px !important;
    border-bottom: 1px solid rgb(148 163 184 / 18%) !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-header h2 {
    margin: 0 !important;
    font-size: 19px !important;
    line-height: 1.2 !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-close {
    position: absolute !important;
    top: 9px !important;
    right: 10px !important;
    z-index: 4 !important;
    display: inline-grid !important;
    place-items: center !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    padding: 0 0 3px !important;
    border: 2px solid rgb(253 224 71 / 94%) !important;
    border-radius: 9px !important;
    background: rgb(8 12 20 / 98%) !important;
    box-shadow: 0 0 0 3px rgb(234 179 8 / 25%) !important;
    color: #fff7c2 !important;
    font: 400 25px/1 Arial, Helvetica, sans-serif !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-list {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    margin-top: 9px !important;
    overflow: auto !important;
    border: 1px solid rgb(148 163 184 / 18%) !important;
    border-radius: 8px !important;
    background: rgb(2 8 20 / 50%) !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-pagination {
    flex: 0 0 auto !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 43px !important;
    padding: 8px 2px 0 !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-pagination strong {
    min-width: 0 !important;
    text-align: center !important;
    color: rgb(226 232 240 / 92%) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-pagination button {
    min-width: 92px !important;
    min-height: 30px !important;
    padding: 5px 12px !important;
    font-size: 10px !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-state {
    margin: 0 !important;
    padding: 18px !important;
    color: rgb(203 213 225 / 82%) !important;
    font-size: 12px !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-modal .admin-newsletter-v654-history-table {
    width: max-content !important;
    min-width: 100% !important;
    table-layout: auto !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-modal .admin-newsletter-v654-history-table thead th {
    position: sticky !important;
    top: 0 !important;
    z-index: 2 !important;
    background: rgb(8 18 32 / 99%) !important;
    box-shadow: 0 1px 0 rgb(148 163 184 / 25%) !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-modal .admin-newsletter-v654-history-table th,
#admin-newsletter-modal-v654-host .admin-newsletter-v654-history-modal .admin-newsletter-v654-history-table td {
    padding: 7px 9px !important;
    font-size: 10px !important;
}

/* Todos los botones de las ventanas Admin conservan la flecha normal y muestran hover/clic. */
:is(
    #admin-main-modal-host,
    #admin-commerce-modal-host,
    #admin-newsletter-modal-v654-host,
    .admin-child-modal-host,
    .admin-lock
) :is(
    button,
    a.button-primary,
    a.button-secondary,
    a.button-ghost,
    .admin-main-modal-close,
    .admin-commerce-modal-close,
    .admin-child-modal-close,
    .admin-newsletter-modal-v654-close,
    .admin-newsletter-v654-history-close
) {
    cursor: default !important;
    transition: transform 80ms ease, filter 100ms ease, box-shadow 100ms ease, border-color 100ms ease !important;
    transform-origin: center !important;
}

:is(
    #admin-main-modal-host,
    #admin-commerce-modal-host,
    #admin-newsletter-modal-v654-host,
    .admin-child-modal-host,
    .admin-lock
) :is(
    button:not(:disabled),
    a.button-primary,
    a.button-secondary,
    a.button-ghost,
    .admin-main-modal-close,
    .admin-commerce-modal-close,
    .admin-child-modal-close,
    .admin-newsletter-modal-v654-close,
    .admin-newsletter-v654-history-close
):hover {
    transform: translateY(-1px) !important;
    filter: brightness(1.18) saturate(1.08) !important;
    border-color: rgb(186 230 253 / 82%) !important;
    box-shadow: 0 0 0 2px rgb(56 189 248 / 28%), 0 7px 15px rgb(0 0 0 / 38%) !important;
}

:is(
    #admin-main-modal-host,
    #admin-commerce-modal-host,
    #admin-newsletter-modal-v654-host,
    .admin-child-modal-host,
    .admin-lock
) :is(
    button:not(:disabled),
    a.button-primary,
    a.button-secondary,
    a.button-ghost,
    .admin-main-modal-close,
    .admin-commerce-modal-close,
    .admin-child-modal-close,
    .admin-newsletter-modal-v654-close,
    .admin-newsletter-v654-history-close
):active {
    transform: translateY(2px) scale(.985) !important;
    filter: brightness(.88) saturate(.95) !important;
    border-color: rgb(253 224 71 / 92%) !important;
    box-shadow: inset 0 4px 9px rgb(0 0 0 / 68%), 0 0 0 2px rgb(250 204 21 / 42%) !important;
}

:is(
    #admin-main-modal-host,
    #admin-commerce-modal-host,
    #admin-newsletter-modal-v654-host,
    .admin-child-modal-host,
    .admin-lock
) button:disabled {
    cursor: default !important;
    transform: none !important;
    filter: none !important;
}

@media (max-width: 720px) {
    #admin-newsletter-modal-v654-host .admin-newsletter-v654-history-modal-backdrop {
        padding: 7px !important;
    }

    #admin-newsletter-modal-v654-host .admin-newsletter-v654-history-pagination {
        grid-template-columns: 1fr 1fr !important;
        gap: 7px !important;
    }

    #admin-newsletter-modal-v654-host .admin-newsletter-v654-history-pagination strong {
        grid-column: 1 / -1 !important;
        grid-row: 1 !important;
    }

    #admin-newsletter-modal-v654-host .admin-newsletter-v654-history-modal {
        width: calc(100vw - 14px) !important;
        height: calc(100vh - 14px) !important;
        min-width: 0 !important;
        min-height: 260px !important;
        max-width: calc(100vw - 14px) !important;
        max-height: calc(100vh - 14px) !important;
        resize: none !important;
    }
}

/* V_659: control total del Newsletter desde PostgreSQL. */
#admin-newsletter-modal-v654-host .admin-newsletter-v659-webhook-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-top: 12px !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v659-webhook-actions button {
    min-height: 31px !important;
    padding: 5px 12px !important;
    font-size: 10px !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v659-webhook-result {
    margin-top: 10px !important;
}

#admin-newsletter-modal-v654-host .admin-newsletter-v659-events-modal {
    width: min(1240px, calc(100vw - 36px));
}


/* V_665: ventanas informativas de Administración redimensionables.
   Los diálogos dedicados únicamente a confirmar/cancelar conservan tamaño fijo. */
@media (min-width: 761px) {
    #admin-main-modal-host .admin-main-modal-dialog,
    #admin-commerce-modal-host .admin-commerce-modal-dialog,
    #admin-newsletter-modal-v654-host .admin-newsletter-modal-v654-dialog,
    .admin-child-modal-dialog {
        min-height: 280px !important;
        max-width: calc(100vw - 20px) !important;
        max-height: calc(100vh - 20px) !important;
        resize: both !important;
        scrollbar-gutter: stable !important;
    }

    #admin-main-modal-host .admin-main-modal-dialog {
        min-width: min(520px, calc(100vw - 28px)) !important;
    }

    #admin-commerce-modal-host .admin-commerce-modal-dialog {
        min-width: min(680px, calc(100vw - 28px)) !important;
    }

    #admin-newsletter-modal-v654-host .admin-newsletter-modal-v654-dialog {
        min-width: min(560px, calc(100vw - 24px)) !important;
    }

    .admin-child-modal-dialog {
        min-width: min(560px, calc(100vw - 28px)) !important;
    }

    .admin-subscribers-modal-dialog,
    .admin-database-modal-dialog {
        min-width: min(680px, calc(100vw - 28px)) !important;
    }
}

@media (max-width: 760px) {
    #admin-main-modal-host .admin-main-modal-dialog,
    #admin-commerce-modal-host .admin-commerce-modal-dialog,
    #admin-newsletter-modal-v654-host .admin-newsletter-modal-v654-dialog,
    .admin-child-modal-dialog {
        resize: none !important;
    }
}
