/* ==========================================================================
   Painel administrativo — layout e componentes
   ========================================================================== */

/* ---------- Tela de login ---------- */
.admin-login {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px 20px;
    background:
        radial-gradient(circle at 20% 20%, rgba(14, 22, 122, 0.10), transparent 60%),
        radial-gradient(circle at 80% 80%, rgba(14, 22, 122, 0.08), transparent 60%),
        var(--color-bg);
}

.admin-login__card {
    width: 100%;
    max-width: 420px;
    background: var(--color-surface);
    padding: 36px 32px 28px;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    display: flex;
    flex-direction: column;
    gap: 16px;
    animation: adminFade 320ms cubic-bezier(0.16, 1, 0.3, 1);
}

.admin-login__brand {
    text-align: center;
    margin-bottom: 4px;
}

.admin-login__brand img {
    height: 52px;
    display: inline-block;
}

.admin-login__title {
    font-size: 22px;
    font-weight: 800;
    text-align: center;
    color: var(--color-text);
    letter-spacing: -0.01em;
}

.admin-login__subtitle {
    text-align: center;
    color: var(--color-text-muted);
    font-size: 14px;
    margin-bottom: 10px;
}

.admin-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.admin-field__label {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--color-text-muted);
}

.admin-field__wrap {
    position: relative;
    display: block;
}

.admin-field__icon {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--color-text-muted);
    pointer-events: none;
    font-size: 14px;
}

.admin-field__toggle-pass {
    position: absolute;
    right: 4px;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: none;
    border-radius: 8px;
    background: transparent;
    color: var(--color-text-muted);
    cursor: pointer;
    transition: color var(--transition), background var(--transition);
}

.admin-field__toggle-pass:hover {
    color: var(--color-primary);
    background: rgba(14, 22, 122, 0.06);
}

.admin-field__toggle-pass:focus {
    outline: none;
}

.admin-field__toggle-pass:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.admin-field__toggle-pass i {
    font-size: 17px;
    line-height: 1;
}

/* Inputs do painel: padding equilibrado (sem reserva para ícone à esquerda). */
.admin-field__input {
    box-sizing: border-box;
    width: 100%;
    min-height: 40px;
    padding-left: 12px;
    padding-right: 12px;
    padding-top: 0;
    padding-bottom: 0;
    background: var(--color-bg);
    border: 1.5px solid var(--color-border);
    border-radius: var(--radius-sm);
    font-size: 14px;
    color: var(--color-text);
    transition: border-color var(--transition), box-shadow var(--transition), background var(--transition);
}

/* Login admin/vendedor: campo alto + padding esquerdo para ícone fixo (40px). */
.admin-login .admin-field__input {
    min-height: 48px;
    height: 48px;
    padding-left: 40px;
    padding-right: 16px;
    font-size: 15px;
}

.admin-field__input:focus {
    outline: none;
    border-color: var(--color-primary);
    background: #ffffff;
    box-shadow: 0 0 0 4px rgba(14, 22, 122, 0.10);
}

.admin-field__input--invalid,
.admin-field__input--invalid:focus {
    border-color: #c62828;
    background: #fff8f8;
    box-shadow: 0 0 0 4px rgba(198, 40, 40, 0.12);
}

.admin-field__error {
    margin: 4px 0 0;
    font-size: 13px;
    line-height: 1.35;
    color: #b71c1c;
}

.admin-field__hint {
    margin: 6px 0 0;
    font-size: 12px;
    line-height: 1.45;
    color: var(--color-text-muted);
}

.admin-login__submit {
    margin-top: 8px;
    padding: 14px 18px;
    border-radius: var(--radius-pill);
    background: var(--color-primary);
    color: #ffffff;
    font-weight: 700;
    font-size: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    transition: background var(--transition), transform var(--transition);
}

.admin-login__submit:hover {
    background: var(--color-primary-light);
}

.admin-login__submit:active {
    transform: scale(0.99);
    background: var(--color-primary-dark);
}

.admin-login__back {
    text-align: center;
    font-size: 13px;
    color: var(--color-text-muted);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-top: 2px;
    transition: color var(--transition);
}

.admin-login__back:hover {
    color: var(--color-primary);
}

.admin-alert {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border-radius: var(--radius-sm);
    font-size: 14px;
    font-weight: 600;
}

.admin-alert--error {
    background: rgba(220, 38, 38, 0.10);
    color: #b91c1c;
}

/* ---------- Vendedores ---------- */
.admin-seller-create {
    margin-top: 20px;
}

.admin-sellers__row {
    display: grid;
    grid-template-columns: minmax(220px, 1.35fr) minmax(150px, 1fr) 0.62fr 0.48fr 0.74fr 0.82fr 0.52fr;
    gap: 12px;
    align-items: center;
    padding: 12px 20px;
    border-bottom: 1px solid var(--color-border);
    font-size: 14px;
}

.admin-sellers__row:last-child {
    border-bottom: none;
}

.admin-sellers__person {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.admin-sellers__person strong {
    color: var(--color-text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-sellers__person small {
    color: var(--color-text-muted);
    font-size: 12px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-sellers__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    flex-wrap: wrap;
}

.admin-sellers__delete-form {
    display: inline;
    margin: 0;
}

.admin-sellers__events-cell {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    min-width: 0;
}

.admin-sellers__event-badge {
    text-decoration: none;
    color: inherit;
    max-width: 100%;
}

.admin-sellers__event-badge:hover {
    filter: brightness(1.06);
}

.admin-sellers__event-badge:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.admin-sellers__event-badge--archived {
    opacity: 0.72;
}

.admin-sellers__event-none {
    color: var(--color-text-muted);
    font-weight: 600;
}

/* ---------- Shell do dashboard ---------- */
.admin-shell {
    min-height: 100vh;
    background: var(--color-bg);
    display: flex;
    flex-direction: column;
    /* Altura da barra fixa (desktop): padding 14×2 + conteúdo ~40px; JS refina em admin.js */
    --admin-topbar-height: 68px;
}

.admin-topbar {
    position: sticky;
    top: 0;
    z-index: 110;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 28px;
    background: var(--color-surface);
    box-shadow: var(--shadow-sm);
    gap: 20px;
}

.admin-topbar__brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.admin-topbar__brand-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    color: inherit;
    text-decoration: none;
}

.admin-topbar__brand img,
.admin-topbar__brand .admin-brand-logo {
    height: 40px;
}

/* Logos claro / escuro (painel admin) */
.admin-brand-logo--dark {
    display: none;
}

html.admin-theme--dark .admin-brand-logo--light {
    display: none;
}

html.admin-theme--dark .admin-brand-logo--dark {
    display: block;
}

.admin-login__brand .admin-brand-logo {
    height: 52px;
    display: inline-block;
}

html.admin-theme--dark .admin-login__brand .admin-brand-logo--dark {
    display: inline-block;
}

.admin-topbar__badge {
    padding: 4px 10px;
    border-radius: var(--radius-pill);
    background: rgba(14, 22, 122, 0.10);
    color: var(--color-primary);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.admin-topbar__meta {
    display: inline-flex;
    align-items: center;
    gap: 18px;
    color: var(--color-text);
    font-size: 14px;
    flex-wrap: wrap;
    flex-shrink: 0;
    min-width: 0;
}

.admin-topbar__event-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 8px;
    background: var(--color-primary);
    color: #fff;
    border-radius: var(--radius-pill);
    font-size: 11px;
    font-weight: 600;
    line-height: 1.2;
    max-width: 130px;
    min-width: 0;
    overflow: hidden;
    flex-shrink: 1;
}

.admin-topbar__event-badge--in-brand {
    display: none;
}

.admin-topbar__event-badge-text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}

.admin-topbar__user,
.admin-topbar__clock {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--color-text-muted);
    font-weight: 500;
}

.admin-topbar__user i,
.admin-topbar__clock i {
    color: var(--color-primary);
}

.admin-topbar__logout-form {
    margin: 0;
}

.admin-topbar__logout {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: var(--radius-pill);
    background: var(--color-bg);
    color: var(--color-text);
    font-weight: 600;
    font-size: 14px;
    border: 1.5px solid var(--color-border);
    transition: border-color var(--transition), color var(--transition), background var(--transition);
}

.admin-topbar__logout:hover {
    border-color: var(--color-primary);
    color: var(--color-primary);
}

.admin-topbar__reset-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 12px;
    border-radius: var(--radius-md);
    border: 1px solid rgba(220, 38, 38, 0.35);
    background: rgba(220, 38, 38, 0.08);
    color: #b91c1c;
    font-size: 13px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    transition: background var(--transition), border-color var(--transition), color var(--transition);
}

.admin-topbar__reset-btn:hover {
    background: rgba(220, 38, 38, 0.14);
    border-color: #dc2626;
    color: #991b1b;
}

.admin-topbar__reset-btn:focus-visible {
    outline: 2px solid #dc2626;
    outline-offset: 2px;
}

.admin-topbar__reset-btn i {
    font-size: 14px;
}

.admin-topbar__theme-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border-radius: var(--radius-pill);
    background: var(--color-bg);
    color: var(--color-text-muted);
    border: 1.5px solid var(--color-border);
    cursor: pointer;
    transition: border-color var(--transition), color var(--transition), background var(--transition);
}

.admin-topbar__theme-toggle:hover {
    border-color: var(--color-primary);
    color: var(--color-primary);
}

.admin-topbar__theme-toggle:focus {
    outline: none;
}

.admin-topbar__theme-toggle:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.admin-topbar__theme-toggle i {
    font-size: 15px;
    line-height: 1;
}

/* ---------- Main ---------- */
.admin-main {
    max-width: 1360px;
    width: 100%;
    margin: 0 auto;
    padding: 32px 28px 56px;
    display: flex;
    flex-direction: column;
    gap: 28px;
}

/* Detalhe do produto (biblioteca): mais largura para card + histórico lado a lado. */
.admin-main--product-detail {
    max-width: min(1680px, 100%);
}

/* Catálogo no painel do vendedor: mesma largura lógica que a tela pública (sem coluna estreita). */
.admin-main.admin-main--catalog-embed {
    max-width: none;
    width: 100%;
    padding: 0;
    gap: 0;
}

.admin-main.admin-main--catalog-embed .admin-flashes {
    padding: 20px 32px 0;
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
}

/* Catálogo embutido: busca/carrinho grudam abaixo da admin-topbar (mobile + desktop) */
.admin-main.admin-main--catalog-embed .topbar {
    position: sticky;
    top: var(--admin-topbar-height);
    z-index: 100;
}

/* Desktop: topbar do painel fixa no topo (sticky quebra com overflow-x no body) */
@media (min-width: 901px) {
    .admin-shell > .admin-topbar {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        width: 100%;
    }

    .admin-shell > .admin-main {
        padding-top: calc(var(--admin-topbar-height) + 32px);
    }

    .admin-shell > .admin-main.admin-main--catalog-embed {
        padding-top: var(--admin-topbar-height);
    }
}

.admin-section {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.admin-section__header {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.admin-section__header--row {
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.admin-section__title {
    font-size: 20px;
    font-weight: 800;
    color: var(--color-text);
    letter-spacing: -0.01em;
}

.admin-section__subtitle {
    color: var(--color-text-muted);
    font-size: 14px;
}

.admin-section__header--collapsible {
    align-items: center;
}

.admin-section__header--collapsible .admin-section__collapse-toggle {
    flex-shrink: 0;
}

.admin-section__collapse-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    padding: 0;
    border: 1.5px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-surface);
    color: var(--color-primary);
    font-size: 14px;
    cursor: pointer;
    transition: background 0.12s ease, border-color 0.12s ease, transform 0.1s ease;
    box-shadow: var(--shadow-sm);
}

.admin-section__collapse-toggle:hover {
    background: rgba(14, 22, 122, 0.06);
    border-color: rgba(14, 22, 122, 0.2);
}

.admin-section__collapse-toggle:active {
    transform: scale(0.96);
}

.admin-section__collapse-toggle:focus {
    outline: none;
}

.admin-section__collapse-toggle:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.admin-section__collapse-toggle i {
    transition: transform 0.2s ease;
}

.admin-section__panel[hidden] {
    display: none;
}

/* ---------- KPIs ---------- */
.admin-kpis {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 18px;
}

.kpi {
    position: relative;
    background: var(--color-surface);
    padding: 22px 22px 18px;
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
    display: flex;
    flex-direction: column;
    gap: 6px;
    overflow: hidden;
}

.kpi::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: var(--color-primary);
    opacity: 0.65;
}

.kpi--primary::before { background: var(--color-primary); }
.kpi--success::before { background: #0f9d58; }

.kpi__icon {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: rgba(14, 22, 122, 0.08);
    color: var(--color-primary);
    display: grid;
    place-items: center;
    font-size: 18px;
    margin-bottom: 2px;
}

.kpi--success .kpi__icon {
    background: rgba(15, 157, 88, 0.12);
    color: #0f9d58;
}

.kpi__label {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-text-muted);
}

.kpi__value {
    font-size: 28px;
    font-weight: 800;
    color: var(--color-text);
    letter-spacing: -0.02em;
    font-variant-numeric: tabular-nums;
    line-height: 1.1;
}

.kpi__hint {
    color: var(--color-text-muted);
    font-size: 13px;
}

a.kpi,
.kpi--link {
    text-decoration: none;
    color: inherit;
    cursor: pointer;
    transition: box-shadow 0.15s ease, transform 0.15s ease;
}

a.kpi:hover,
.kpi--link:hover {
    box-shadow: var(--shadow-md);
    transform: translateY(-1px);
}

a.kpi:focus-visible,
.kpi--link:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.kpi__link-arrow {
    position: absolute;
    top: 16px;
    right: 16px;
    display: grid;
    place-items: center;
    font-size: 13px;
    line-height: 1;
    color: var(--color-text-muted);
    opacity: 0.45;
    pointer-events: none;
    transition: opacity 0.15s ease, transform 0.15s ease, color 0.15s ease;
}

a.kpi:hover .kpi__link-arrow,
.kpi--link:hover .kpi__link-arrow {
    opacity: 0.9;
    color: var(--color-primary);
    transform: translateX(2px);
}

.kpi--link.kpi--warn .kpi__link-arrow {
    color: #a5620a;
    opacity: 0.6;
}

.kpi--link.kpi--warn:hover .kpi__link-arrow {
    color: #e8890b;
    opacity: 1;
}

/* ---------- Dashboard de vendas (detalhe do evento) ---------- */
.admin-event-dash-sales {
    margin-top: 28px;
    padding-top: 26px;
    border-top: 1px solid var(--color-border);
}

.admin-event-dash-sales__intro {
    margin-bottom: 18px;
}

.admin-event-dash-sales__title {
    margin: 0 0 6px;
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--color-text);
    letter-spacing: -0.02em;
}

.admin-event-dash-sales__subtitle {
    margin: 0;
    font-size: 14px;
    color: var(--color-text-muted);
    line-height: 1.45;
    max-width: 720px;
}

.admin-kpis--sales-dash {
    margin-bottom: 22px;
}

.admin-event-dash-sales__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
    gap: 20px;
    align-items: start;
}

.admin-event-dash-sales__panel {
    background: var(--color-surface);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
    padding: 18px 20px 20px;
    overflow-x: auto;
}

.admin-event-dash-sales__panel-title {
    margin: 0 0 8px;
    font-size: 15px;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--color-text);
}

.admin-event-dash-sales__panel-title i {
    color: var(--color-primary);
    opacity: 0.9;
}

.admin-event-dash-sales__panel-hint {
    margin: 0 0 14px;
    font-size: 12px;
    color: var(--color-text-muted);
    line-height: 1.4;
}

.admin-event-dash-sales__table.admin-table {
    box-shadow: none;
    background: var(--color-bg);
    border-radius: var(--radius-sm);
    border: 1px solid var(--color-border);
}

.admin-event-dash-sales__table .admin-table__head {
    font-size: 11px;
}

/* Linhas base (grid definido por modificador --by-day / --top-skus abaixo da regra global .admin-table__head) */
.admin-event-dash-sales__row {
    border-bottom: 1px solid var(--color-border);
    font-size: 14px;
}

.admin-event-dash-sales__table > .admin-event-dash-sales__row:last-child {
    border-bottom: none;
}

.admin-event-dash-sales__row.admin-table__head {
    background: rgba(14, 22, 122, 0.06);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--color-text-muted);
    font-size: 11px;
    border-bottom: 1px solid var(--color-border);
}

.admin-event-dash-sales__rank {
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    color: var(--color-text-muted);
}

.admin-event-dash-sales__sku {
    font-size: 12px;
    padding: 2px 6px;
    border-radius: 6px;
    background: rgba(14, 22, 122, 0.06);
    word-break: break-all;
}

.admin-event-dash-sales__prod-name {
    min-width: 0;
}

.admin-event-dash-sales__prod-name a {
    font-weight: 600;
    color: var(--color-primary);
    text-decoration: none;
}

.admin-event-dash-sales__prod-name a:hover {
    text-decoration: underline;
}

.admin-event-dash-sales__empty {
    margin: 0;
    padding: 14px 4px 6px;
    font-size: 14px;
    color: var(--color-text-muted);
}

/* ---------- Tabela de transações ---------- */
.admin-table {
    background: var(--color-surface);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
    overflow: hidden;
}

.admin-table__head,
.admin-tx__row {
    display: grid;
    grid-template-columns: 40px 1.4fr 1.2fr 0.6fr 0.9fr 0.8fr;
    gap: 12px;
    align-items: center;
    padding: 14px 20px;
}

.admin-table--with-payment > .admin-table__head,
.admin-table--with-payment .admin-tx__row {
    grid-template-columns: 40px 1.35fr 1.1fr 0.55fr 0.85fr 0.8fr 0.75fr;
}

.admin-table__head {
    background: var(--color-bg);
    border-bottom: 1px solid var(--color-border);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-text-muted);
}

/* Dashboard do evento — vendas: grids próprias (neutraliza a grid genérica de 6 colunas em .admin-table__head) */
.admin-event-dash-sales__table--by-day > .admin-event-dash-sales__row {
    display: grid;
    grid-template-columns: minmax(128px, 1fr) minmax(5rem, auto);
    column-gap: 20px;
    row-gap: 4px;
    align-items: center;
    padding: 11px 16px;
}

.admin-event-dash-sales__table--by-day > .admin-event-dash-sales__row.admin-table__head {
    padding-top: 10px;
    padding-bottom: 10px;
}

.admin-event-dash-sales__table--by-day > .admin-event-dash-sales__row:not(.admin-table__head):nth-child(even) {
    background: rgba(14, 22, 122, 0.04);
}

.admin-event-dash-sales__cell--day {
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.02em;
    color: var(--color-text);
}

.admin-event-dash-sales__table--by-day > .admin-table__head .admin-event-dash-sales__cell--day {
    font-weight: 700;
    letter-spacing: 0.07em;
    color: var(--color-text-muted);
}

.admin-event-dash-sales__cell--orders {
    justify-self: end;
    text-align: right;
    font-variant-numeric: tabular-nums;
    min-width: 5rem;
}

.admin-event-dash-sales__table--by-day > .admin-table__head .admin-event-dash-sales__cell--orders {
    font-weight: 700;
}

.admin-event-dash-sales__table--top-skus > .admin-event-dash-sales__row.admin-event-dash-sales__row--top:not(.admin-table__head) {
    display: grid;
    grid-template-columns: 36px minmax(76px, 1fr) minmax(0, 1.55fr) minmax(3.25rem, auto) minmax(5.5rem, auto);
    column-gap: 14px;
    row-gap: 6px;
    align-items: center;
    padding: 11px 14px;
    min-width: min(100%, 520px);
}

.admin-event-dash-sales__table--top-skus > .admin-table__head.admin-event-dash-sales__row.admin-event-dash-sales__row--top {
    display: grid;
    grid-template-columns: 36px minmax(76px, 1fr) minmax(0, 1.55fr) minmax(3.25rem, auto) minmax(5.5rem, auto);
    column-gap: 14px;
    row-gap: 6px;
    align-items: center;
    padding: 11px 14px;
    min-width: min(100%, 520px);
}

.admin-event-dash-sales__table--top-skus > .admin-event-dash-sales__row--top:not(.admin-table__head):nth-child(even) {
    background: rgba(14, 22, 122, 0.04);
}

.admin-event-dash-sales__table--top-skus .admin-table__col--num {
    justify-self: end;
    text-align: right;
}

.admin-event-dash-sales__table--top-skus .admin-event-dash-sales__rank {
    justify-self: center;
    text-align: center;
}

/* Top 3 — medalhas (ouro, prata, bronze) */
.admin-event-dash-sales__table--top-skus .admin-event-dash-sales__rank--gold,
.admin-event-dash-sales__table--top-skus .admin-event-dash-sales__rank--silver,
.admin-event-dash-sales__table--top-skus .admin-event-dash-sales__rank--bronze {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}

.admin-event-dash-sales__table--top-skus .admin-event-dash-sales__rank--gold {
    background: linear-gradient(145deg, #ffe566 0%, #f5c518 48%, #d4a017 100%);
    color: #5c4500;
    border: 1.5px solid #c9a018;
    box-shadow:
        0 1px 4px rgba(212, 160, 23, 0.35),
        inset 0 1px 0 rgba(255, 255, 255, 0.45);
}

.admin-event-dash-sales__table--top-skus .admin-event-dash-sales__rank--silver {
    background: linear-gradient(145deg, #f4f4f4 0%, #c8c8c8 48%, #9a9a9a 100%);
    color: #3d3d3d;
    border: 1.5px solid #a0a0a0;
    box-shadow:
        0 1px 4px rgba(120, 120, 120, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.55);
}

.admin-event-dash-sales__table--top-skus .admin-event-dash-sales__rank--bronze {
    background: linear-gradient(145deg, #e8a86a 0%, #cd7f32 48%, #a0522d 100%);
    color: #3d1f08;
    border: 1.5px solid #9a5520;
    box-shadow:
        0 1px 4px rgba(160, 82, 45, 0.32),
        inset 0 1px 0 rgba(255, 220, 180, 0.35);
}

/* Top-SKUs — mobile ≤900px: card com rank à esquerda, nome + sku à direita, métricas em pills */
@media (max-width: 900px) {
    .admin-event-dash-sales__table--top-skus > .admin-table__head.admin-event-dash-sales__row.admin-event-dash-sales__row--top {
        display: none;
    }

    .admin-event-dash-sales__table--top-skus > .admin-event-dash-sales__row.admin-event-dash-sales__row--top:not(.admin-table__head) {
        grid-template-columns: 36px 1fr 1fr;
        grid-template-areas:
            "rank product product"
            "rank sku     sku"
            ".    units   revenue";
        column-gap: 10px;
        row-gap: 6px;
        padding: 14px 12px;
        min-width: unset;
        align-items: start;
    }

    .admin-event-dash-sales__table--top-skus .admin-event-dash-sales__rank:not(.admin-event-dash-sales__rank--gold):not(.admin-event-dash-sales__rank--silver):not(.admin-event-dash-sales__rank--bronze) {
        grid-area: rank;
        align-self: start;
        margin-top: 3px;
        width: 30px;
        height: 30px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        background: rgba(14, 22, 122, 0.09);
        font-size: 13px;
        font-weight: 800;
        color: var(--color-primary);
    }

    .admin-event-dash-sales__table--top-skus .admin-event-dash-sales__rank--gold,
    .admin-event-dash-sales__table--top-skus .admin-event-dash-sales__rank--silver,
    .admin-event-dash-sales__table--top-skus .admin-event-dash-sales__rank--bronze {
        grid-area: rank;
        align-self: start;
        margin-top: 3px;
        width: 30px;
        height: 30px;
    }

    /* SKU — 2ª célula */
    .admin-event-dash-sales__table--top-skus > .admin-event-dash-sales__row--top:not(.admin-table__head) > :nth-child(2) {
        grid-area: sku;
        align-self: start;
    }

    /* Nome do produto — 3ª célula */
    .admin-event-dash-sales__table--top-skus > .admin-event-dash-sales__row--top:not(.admin-table__head) > :nth-child(3) {
        grid-area: product;
        font-size: 14px;
        font-weight: 600;
        align-self: start;
        line-height: 1.3;
    }

    /* Unidades — 4ª célula */
    .admin-event-dash-sales__table--top-skus > .admin-event-dash-sales__row--top:not(.admin-table__head) > :nth-child(4) {
        grid-area: units;
        justify-self: start;
        text-align: center;
        padding: 7px 12px;
        border-radius: 12px;
        background: rgba(14, 22, 122, 0.07);
        min-width: 0;
        width: 100%;
    }

    /* Receita — 5ª célula */
    .admin-event-dash-sales__table--top-skus > .admin-event-dash-sales__row--top:not(.admin-table__head) > :nth-child(5) {
        grid-area: revenue;
        justify-self: end;
        text-align: center;
        padding: 7px 12px;
        border-radius: 12px;
        background: rgba(14, 22, 122, 0.07);
        min-width: 0;
        width: 100%;
    }

    /* Labels nas pills */
    .admin-event-dash-sales__table--top-skus > .admin-event-dash-sales__row--top:not(.admin-table__head) > :nth-child(4)::before {
        content: "Unid.";
        display: block;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--color-text-muted);
        margin-bottom: 2px;
    }

    .admin-event-dash-sales__table--top-skus > .admin-event-dash-sales__row--top:not(.admin-table__head) > :nth-child(5)::before {
        content: "Receita";
        display: block;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--color-text-muted);
        margin-bottom: 2px;
    }
}

/* Vendedores: o seletor genérico .admin-table__head usa grid de 6 colunas (transações). Repete a grid de 7 colunas das linhas. */
.admin-sellers .admin-table__head.admin-sellers__row {
    grid-template-columns: minmax(220px, 1.35fr) minmax(150px, 1fr) 0.62fr 0.48fr 0.74fr 0.82fr 0.52fr;
    padding: 12px 20px;
}

.admin-sellers .admin-sellers__row > .admin-table__col--num {
    justify-self: center;
}

@media (max-width: 760px) {
    .admin-sellers {
        display: block;
        background: transparent;
        box-shadow: none;
    }

    .admin-sellers .admin-table__head {
        display: none;
    }

    .admin-sellers__row {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        grid-template-areas:
            "person status"
            "events events"
            "sales revenue"
            "login action";
        margin-bottom: 12px;
        border: 1px solid var(--color-border);
        border-radius: var(--radius-md);
        background: var(--color-surface);
        box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
        padding: 14px;
        border-bottom: none;
        gap: 10px 12px;
    }

    .admin-sellers__row > :nth-child(1) { grid-area: person; }
    .admin-sellers__row > :nth-child(2) { grid-area: events; }
    .admin-sellers__row > :nth-child(3) {
        grid-area: status;
        justify-self: end;
    }
    .admin-sellers__row:not(.admin-table__head) > :nth-child(4).admin-table__col--num {
        grid-area: sales;
        justify-self: start;
        align-self: center;
        text-align: left;
        font-size: 13px;
        min-width: 0;
    }
    .admin-sellers__row:not(.admin-table__head) > :nth-child(4).admin-table__col--num::before {
        content: "Vendas: ";
        font-weight: 700;
        color: var(--color-text-muted);
    }
    .admin-sellers__row:not(.admin-table__head) > :nth-child(5).admin-table__col--num {
        grid-area: revenue;
        justify-self: end;
        align-self: center;
        text-align: right;
        font-size: 13px;
        min-width: 0;
    }
    .admin-sellers__row:not(.admin-table__head) > :nth-child(5).admin-table__col--num::before {
        content: "Faturamento: ";
        font-weight: 700;
        color: var(--color-text-muted);
    }
    .admin-sellers__row > :nth-child(6) {
        grid-area: login;
        font-size: 12px;
        color: var(--color-text-muted);
    }
    .admin-sellers__row > :nth-child(7) {
        grid-area: action;
        justify-self: end;
    }
}

.admin-table__col--num {
    text-align: center;
    font-variant-numeric: tabular-nums;
}

.admin-table__col--toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Histórico de transações (admin dashboard): coluna Vendedor ao lado do Status */
.admin-table--tx-wide > .admin-table__head,
.admin-table--tx-wide .admin-tx__row {
    grid-template-columns: 40px 1.05fr 0.95fr 0.48fr 0.7fr 0.72fr 0.95fr 0.65fr;
}

.admin-table--tx-wide .admin-table__col--seller {
    min-width: 0;
    font-size: 13px;
    font-weight: 600;
    color: var(--color-text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-tx {
    border-bottom: 1px solid var(--color-border);
}

.admin-tx:last-child {
    border-bottom: none;
}

.admin-tx__row {
    width: 100%;
    background: transparent;
    border: none;
    cursor: pointer;
    text-align: left;
    font: inherit;
    color: inherit;
    transition: background var(--transition);
}

.admin-tx__chevron {
    transition: transform var(--transition);
    color: var(--color-text-muted);
}

.admin-tx__row.is-open .admin-tx__chevron {
    transform: rotate(90deg);
    color: var(--color-primary);
}

.admin-tx__order strong {
    color: var(--color-primary);
    font-weight: 700;
    letter-spacing: 0.02em;
}

.admin-tx__order-inner {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    max-width: 100%;
}

.admin-tx__order-ref {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.admin-tx__order-client {
    font-size: 11px;
    font-weight: 400;
    color: var(--color-text-muted);
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

.admin-tx__copy-order {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 26px;
    height: 26px;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--color-text-muted);
    cursor: pointer;
    transition:
        color var(--transition),
        background var(--transition),
        transform 0.12s ease;
}

.admin-tx__copy-order:hover {
    color: var(--color-primary);
    background: rgba(14, 22, 122, 0.08);
}

.admin-tx__copy-order:active {
    transform: scale(0.94);
}

.admin-tx__copy-order:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.admin-tx__copy-order i {
    font-size: 12px;
    line-height: 1;
}

.admin-tx__copy-order.is-done {
    color: #0c8a4d;
    background: rgba(15, 157, 88, 0.12);
}

.admin-tx__status-stack {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    max-width: 100%;
}

.admin-tx__restore-cart {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    flex-shrink: 0;
    color: var(--color-primary);
    background: rgba(14, 22, 122, 0.07);
    text-decoration: none;
    transition: background var(--transition), color var(--transition),
        transform var(--transition);
}

.admin-tx__restore-cart:hover {
    background: rgba(14, 22, 122, 0.13);
    color: var(--color-primary-dark);
}

.admin-tx__restore-cart:active {
    transform: scale(0.96);
}

.admin-tx__restore-cart:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.admin-tx__restore-cart i {
    font-size: 13px;
}

.admin-tx__discard-form {
    display: inline-flex;
    margin: 0;
    padding: 0;
}

.admin-tx__discard-cart {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    flex-shrink: 0;
    border: none;
    cursor: pointer;
    padding: 0;
    font: inherit;
    color: #c62828;
    background: rgba(198, 40, 40, 0.08);
    transition: background var(--transition), color var(--transition),
        transform var(--transition);
}

.admin-tx__discard-cart:hover {
    background: rgba(198, 40, 40, 0.14);
    color: #b71c1c;
}

.admin-tx__discard-cart:active {
    transform: scale(0.96);
}

.admin-tx__discard-cart:focus-visible {
    outline: 2px solid #c62828;
    outline-offset: 2px;
}

.admin-tx__discard-cart i {
    font-size: 13px;
}

.admin-tx__handover-form {
    display: inline-flex;
    margin: 0;
    padding: 0;
}

.admin-tx__handover-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    flex-shrink: 0;
    border: none;
    background: transparent;
    color: var(--color-text-muted);
    cursor: pointer;
    transition: background 0.12s, transform 0.1s, color 0.12s;
}

.admin-tx__handover-btn:hover {
    background: rgba(15, 157, 88, 0.14);
    color: #0c8a4d;
}

.admin-tx__handover-btn:active {
    transform: scale(0.96);
}

.admin-tx__handover-btn:focus-visible {
    outline: 2px solid #0c8a4d;
    outline-offset: 2px;
}

.admin-tx__handover-btn i {
    font-size: 15px;
}

.admin-tx__handover-done {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    color: #0c8a4d;
}

.admin-tx__handover-done i {
    font-size: 15px;
}

.admin-tx__row[role="button"]:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.admin-badge { 
    display: inline-block;
    padding: 4px 10px;
    border-radius: var(--radius-pill);
    font-size: 12px;
    font-weight: 700;
    text-transform: capitalize;
}

.admin-badge--success {
    background: rgba(15, 157, 88, 0.12);
    color: #0c8a4d;
}

.admin-badge--neutral {
    background: var(--color-bg);
    color: var(--color-text-muted);
}

.admin-badge--info {
    background: rgba(37, 99, 235, 0.12);
    color: #1d4ed8;
}

/* ---------- Detalhes da transação ---------- */
.admin-tx__details {
    border-top: 1px dashed var(--color-border);
}

.admin-tx__details-inner {
    padding: 18px 28px 22px 68px;
}

.admin-tx__details-title {
    font-size: 14px;
    font-weight: 700;
    color: var(--color-text);
    letter-spacing: 0.02em;
    text-transform: uppercase;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.admin-tx__details-count {
    padding: 2px 10px;
    border-radius: var(--radius-pill);
    background: var(--color-surface);
    color: var(--color-text-muted);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
}

.admin-tx__items {
    background: var(--color-surface);
    border-radius: var(--radius-sm);
    overflow: hidden;
    border: 1px solid var(--color-border);
}

.admin-tx__items-head,
.admin-tx__items-row {
    display: grid;
    grid-template-columns: 1.5fr 0.8fr 1fr 0.5fr 0.75fr 0.75fr;
    gap: 12px;
    padding: 10px 14px;
    font-size: 13px;
    align-items: center;
}

.admin-tx__items-head {
    background: var(--color-bg);
    color: var(--color-text-muted);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: 11px;
}

.admin-tx__items-row + .admin-tx__items-row {
    border-top: 1px dashed var(--color-border);
}

.admin-tx__items-row--editable {
    position: relative;
    padding-right: 52px;
}

.admin-tx__sku-input,
.admin-tx__qty-input {
    width: 100%;
    max-width: 140px;
    box-sizing: border-box;
    border: 1px solid var(--color-border);
    border-radius: 6px;
    padding: 4px 8px;
    font: inherit;
    font-size: 12px;
    background: var(--color-bg);
    color: var(--color-text);
}

.admin-tx__qty-input {
    max-width: 72px;
    text-align: right;
}

.admin-tx__item-actions {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    gap: 4px;
}

.admin-tx__item-edit,
.admin-tx__item-confirm,
.admin-tx__item-cancel {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: var(--color-text-muted);
    cursor: pointer;
}

.admin-tx__item-confirm[hidden],
.admin-tx__item-cancel[hidden] {
    display: none;
}

.admin-tx__item-edit:hover,
.admin-tx__item-edit:focus-visible {
    color: var(--color-primary);
    background: color-mix(in srgb, var(--color-primary) 10%, transparent);
}

.admin-tx__item-confirm {
    color: #1b7f3a;
}

.admin-tx__item-confirm:hover,
.admin-tx__item-confirm:focus-visible {
    background: color-mix(in srgb, #1b7f3a 12%, transparent);
}

.admin-tx__item-cancel:hover,
.admin-tx__item-cancel:focus-visible {
    color: var(--color-danger, #b42318);
    background: color-mix(in srgb, #b42318 10%, transparent);
}

.admin-tx__items-row.is-editing .admin-tx__sku-view,
.admin-tx__items-row.is-editing .admin-tx__qty-view {
    display: none;
}

.admin-tx__product {
    font-weight: 600;
    color: var(--color-text);
}

.admin-tx__product-link {
    color: inherit;
    text-decoration: none;
    font-weight: inherit;
}

.admin-tx__product-link:hover,
.admin-tx__product-link:focus-visible {
    color: var(--color-primary);
    text-decoration: underline;
}

.admin-tx__promo-label {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    font-weight: 600;
    color: #0d7a4a;
}

.admin-tx__promo-label i {
    margin-right: 4px;
    opacity: 0.85;
}

.admin-tx__price-original {
    display: block;
    text-decoration: line-through;
    color: var(--color-text-muted);
    font-size: 12px;
    font-weight: 500;
}

.admin-tx__summary-row--discount strong {
    color: #0d7a4a;
}

.admin-tx__items + .admin-tx__details-title {
    margin-top: 22px;
}

.admin-tx__client {
    background: var(--color-surface);
    border-radius: var(--radius-sm);
    border: 1px solid var(--color-border);
    padding: 14px 16px;
}

.admin-tx__client-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 14px 22px;
    margin: 0;
}

.admin-tx__client-item {
    margin: 0;
}

.admin-tx__client-item dt {
    margin: 0 0 4px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--color-text-muted);
}

.admin-tx__client-item dd {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    color: var(--color-text);
    line-height: 1.35;
    word-break: break-word;
}

.admin-tx__client-item--wide {
    grid-column: 1 / -1;
}

.admin-tx__client-cro-num {
    font-variant-numeric: tabular-nums;
}

.admin-tx__client-link {
    color: var(--color-primary);
    text-decoration: none;
    word-break: break-all;
}

.admin-tx__client-link:hover {
    text-decoration: underline;
}

.admin-tx__summary {
    margin-top: 14px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 12px 16px;
    background: var(--color-surface);
    border-radius: var(--radius-sm);
    border: 1px solid var(--color-border);
}

.admin-tx__summary-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    font-size: 14px;
    color: var(--color-text-muted);
}

.admin-tx__summary-row strong {
    font-size: 15px;
    font-weight: 700;
    color: var(--color-text);
}

.admin-tx__summary-row--total {
    padding-top: 10px;
    border-top: 1px dashed var(--color-border);
}

/* ---------- Retirada pendente (entrega parcial) ---------- */
.admin-tx__delivery {
    margin: 14px 0;
    padding: 14px 16px;
    background: rgba(232, 137, 11, 0.07);
    border: 1px solid rgba(232, 137, 11, 0.35);
    border-radius: var(--radius-md);
}

.admin-tx__delivery-title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 4px;
    font-size: 14px;
    font-weight: 800;
    color: #a5620a;
}

.admin-tx__delivery-hint {
    margin: 0 0 10px;
    font-size: 13px;
    color: var(--color-text-muted);
}

.admin-tx__delivery-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
    border-top: 1px dashed rgba(232, 137, 11, 0.35);
}

.admin-tx__delivery-batch {
    margin: 0 0 4px;
}

.admin-tx__delivery-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 4px 0 10px;
}

.admin-tx__delivery-select-all {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    color: var(--color-text-muted);
    cursor: pointer;
    user-select: none;
}

.admin-tx__delivery-check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    margin: 0;
    cursor: pointer;
}

.admin-tx__delivery-checkbox,
.admin-tx__delivery-check-all {
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: #a5620a;
    cursor: pointer;
}

.admin-tx__delivery-product {
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex: 1 1 140px;
    min-width: 0;
}

.admin-tx__delivery-qty {
    font-size: 13px;
    color: var(--color-text-muted);
    font-variant-numeric: tabular-nums;
    margin-left: auto;
}

.admin-tx__delivery-form {
    margin: 0;
}

.admin-tx__delivery-sel-count:not([hidden])::before {
    content: '(';
}

.admin-tx__delivery-sel-count:not([hidden])::after {
    content: ')';
}

.admin-tx__delivery-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px 6px;
    line-height: 1;
    vertical-align: middle;
}

html.admin-theme--dark .admin-tx__delivery {
    background: rgba(232, 137, 11, 0.10);
    border-color: rgba(232, 137, 11, 0.45);
}

html.admin-theme--dark .admin-tx__delivery-title {
    color: #f3a83c;
}

html.admin-theme--dark .admin-tx__delivery-checkbox,
html.admin-theme--dark .admin-tx__delivery-check-all {
    accent-color: #f3a83c;
}

.admin-tx__summary-row--total strong {
    font-size: 18px;
    font-weight: 800;
    color: var(--color-primary);
    font-variant-numeric: tabular-nums;
}

.admin-tx__actions {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px dashed var(--color-border);
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: flex-start;
}

.admin-tx__actions form {
    margin: 0;
}

.admin-tx__note {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

.admin-tx__note-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.admin-tx__note-delete-form {
    margin: 0;
}

.admin-tx__note-preview {
    margin: 0;
    width: 100%;
    font-size: 13px;
    line-height: 1.45;
    color: var(--color-text);
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: 8px;
    padding: 10px 12px;
    white-space: pre-wrap;
}

.admin-tx__note-preview i {
    margin-right: 6px;
    color: var(--color-primary);
}

.admin-tx__note-form {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

.admin-tx__note-form[hidden] {
    display: none !important;
}

.admin-tx__note-input {
    min-height: 88px;
    resize: vertical;
    width: 100%;
}

.admin-tx__note-hint {
    margin: 0;
    font-size: 12px;
    color: var(--color-text-muted);
}

/* AUT — código de autorização da maquininha */
.admin-mov__aut {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: 4px;
    padding: 2px 7px;
    color: var(--color-text);
    user-select: all;
}

.admin-empty {
    padding: 64px 20px;
    text-align: center;
    color: var(--color-text-muted);
}

.admin-empty i {
    font-size: 32px;
    color: var(--color-primary);
    opacity: 0.6;
    display: block;
    margin-bottom: 10px;
}

@keyframes adminFade {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
}

/* ==========================================================================
   Menu de navegação (topbar)
   ========================================================================== */
.admin-nav {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex: 1;
    justify-content: center;
    flex-wrap: wrap;
    min-height: 36px;
}

.admin-nav__item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px 13px;
    min-height: 36px;
    border-radius: var(--radius-pill);
    font-size: 13px;
    font-weight: 600;
    color: var(--color-text-muted);
    transition: background var(--transition), color var(--transition);
}

.admin-nav__item:hover {
    background: rgba(14, 22, 122, 0.06);
    color: var(--color-primary);
}

.admin-nav__item.is-active {
    background: rgba(14, 22, 122, 0.10);
    color: var(--color-primary);
}

.admin-nav__item i {
    font-size: 13px;
}

.admin-nav__grid {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex: 1;
    min-width: 0;
}

.admin-nav__label {
    min-width: 0;
}

/* Links do evento na topbar (badge fica no brand) */
.admin-event-nav__links {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    justify-content: center;
    min-width: 0;
}

.admin-nav--event {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    min-width: 0;
}

/* ==========================================================================
   Navegação inferior mobile — só ≤767px (desktop usa admin-nav na topbar)
   ========================================================================== */
.admin-bottom-nav {
    display: none;
}

@media (max-width: 767px) {
    .admin-nav {
        display: none !important;
    }

    .admin-bottom-nav {
        display: flex;
        align-items: stretch;
        justify-content: space-between;
        gap: 2px;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 120;
        background: var(--color-surface);
        border-top: 1px solid var(--color-border);
        box-shadow: 0 -2px 14px rgba(0, 0, 0, 0.08);
        padding: 6px 4px calc(6px + env(safe-area-inset-bottom, 0px));
    }

    .admin-bottom-nav__item {
        flex: 1 1 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 3px;
        min-width: 0;
        padding: 4px 2px;
        border-radius: var(--radius-sm);
        color: var(--color-text-muted);
        text-decoration: none;
        transition: color var(--transition);
    }

    .admin-bottom-nav__item i {
        font-size: 16px;
        line-height: 1;
    }

    .admin-bottom-nav__badge {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        max-width: 100%;
        padding: 1px 7px;
        border-radius: var(--radius-pill);
        background: transparent;
        color: inherit;
        font-size: 9.5px;
        font-weight: 700;
        letter-spacing: 0.02em;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        transition: background var(--transition), color var(--transition);
    }

    .admin-bottom-nav__item.is-active {
        color: var(--color-primary);
    }

    .admin-bottom-nav__item.is-active .admin-bottom-nav__badge {
        background: rgba(14, 22, 122, 0.10);
    }

    .admin-bottom-nav__item:hover {
        color: var(--color-primary);
    }

    /* Reserva espaço no fim da página para a barra fixa não cobrir conteúdo */
    .admin-main {
        padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px));
    }
}

/* ==========================================================================
   Flash messages
   ========================================================================== */
.admin-flashes {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 8px;
}

.admin-flash {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 16px;
    border-radius: var(--radius-sm);
    font-size: 14px;
    font-weight: 600;
    background: var(--color-surface);
    box-shadow: var(--shadow-sm);
    border-left: 4px solid var(--color-primary);
}

.admin-flash > span {
    white-space: pre-line;
    line-height: 1.45;
}

.admin-flash > i {
    margin-top: 0.15em;
}

.admin-flash--success {
    border-left-color: #0f9d58;
    color: #0c8a4d;
}

.admin-flash--error {
    border-left-color: #dc2626;
    color: #b91c1c;
}

/* ==========================================================================
   Botões genéricos
   ========================================================================== */
.admin-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 16px;
    border-radius: var(--radius-pill);
    font-size: 14px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    border: 1.5px solid transparent;
    transition: background var(--transition), border-color var(--transition),
                color var(--transition), transform var(--transition);
    white-space: nowrap;
}

.admin-btn--primary {
    background: var(--color-primary);
    color: #fff;
}

.admin-btn--primary:hover {
    background: var(--color-primary-light);
}

.admin-btn--success {
    background: #0c8a4d;
    color: #fff;
}

.admin-btn--success:hover:not(:disabled) {
    background: #0a7340;
}

.admin-btn--ghost {
    background: var(--color-surface);
    color: var(--color-text);
    border-color: var(--color-border);
}

.admin-btn--ghost:hover {
    border-color: var(--color-primary);
    color: var(--color-primary);
}

.admin-btn--warn {
    background: #e8890b;
    color: #fff;
}
.admin-btn--warn:hover { background: #c37506; }

.admin-btn--danger {
    color: #b91c1c;
}
.admin-btn--danger:hover {
    border-color: #dc2626;
    color: #b91c1c;
}

.admin-btn--danger-solid {
    background: #dc2626;
    color: #fff;
    border-color: #dc2626;
}
.admin-btn--danger-solid:hover:not(:disabled) {
    background: #b91c1c;
    border-color: #b91c1c;
    color: #fff;
    transform: translateY(-1px);
}

/* Botão compacto — só ícone, quadrado levemente arredondado em azul */
.admin-btn--icon-only {
    width: 36px;
    height: 36px;
    min-width: 36px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: var(--radius-sm);
    line-height: 1;
    background: rgba(14, 22, 122, 0.10);
    color: var(--color-primary);
    box-shadow: none;
}

.admin-btn--icon-only:hover,
.admin-btn--icon-only:focus-visible {
    background: rgba(14, 22, 122, 0.16);
    color: var(--color-primary-dark);
    transform: translateY(-1px);
}

.admin-btn--icon-only:active {
    transform: translateY(0);
    background: rgba(14, 22, 122, 0.20);
}

.admin-btn--ghost.admin-btn--icon-only {
    background: rgba(14, 22, 122, 0.10);
    color: var(--color-primary);
    border: none;
}

.admin-btn--ghost.admin-btn--icon-only:hover,
.admin-btn--ghost.admin-btn--icon-only:focus-visible {
    background: rgba(14, 22, 122, 0.16);
    color: var(--color-primary-dark);
    border: none;
}

.admin-btn--icon-only.admin-btn--sm,
.admin-btn--sm.admin-btn--icon-only {
    width: 32px;
    height: 32px;
    min-width: 32px;
    font-size: 14px;
}

.admin-btn--danger.admin-btn--icon-only {
    background: rgba(220, 38, 38, 0.12);
    color: #dc2626;
    box-shadow: none;
}

.admin-btn--danger.admin-btn--icon-only:hover,
.admin-btn--danger.admin-btn--icon-only:focus-visible {
    background: rgba(220, 38, 38, 0.22);
    color: #b91c1c;
    transform: translateY(-1px);
}

.admin-btn--danger.admin-btn--icon-only:active {
    transform: translateY(0);
    background: rgba(220, 38, 38, 0.28);
}

.admin-event-header__delete-form {
    display: inline-flex;
    margin: 0;
}

.admin-reset-form {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    width: 100%;
}

.admin-reset-confirm {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 14px;
    line-height: 1.45;
    color: var(--color-text);
    cursor: pointer;
}

.admin-reset-confirm input {
    margin-top: 3px;
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    accent-color: #dc2626;
}

.admin-btn--block {
    width: 100%;
}

.admin-btn--sm {
    padding: 6px 12px;
    font-size: 13px;
}

.admin-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.admin-breadcrumb {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    align-self: flex-start;
    margin-bottom: 10px;
    padding: 7px 14px 7px 11px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-decoration: none;
    color: var(--color-primary);
    background: color-mix(in srgb, var(--color-primary) 11%, var(--color-surface));
    border: 1px solid color-mix(in srgb, var(--color-primary) 26%, var(--color-border));
    border-radius: var(--radius-pill);
    box-shadow: 0 1px 3px color-mix(in srgb, var(--color-primary) 14%, transparent);
    transition:
        background var(--transition),
        border-color var(--transition),
        box-shadow var(--transition),
        color var(--transition),
        transform var(--transition);
}

.admin-breadcrumb i {
    font-size: 11px;
    opacity: 0.92;
    transform: translateX(0);
    transition: transform var(--transition);
}

.admin-breadcrumb:hover {
    color: var(--color-primary-dark);
    background: color-mix(in srgb, var(--color-primary) 17%, var(--color-surface));
    border-color: color-mix(in srgb, var(--color-primary) 38%, var(--color-border));
    box-shadow: 0 3px 10px color-mix(in srgb, var(--color-primary) 18%, transparent);
}

.admin-breadcrumb:hover i {
    transform: translateX(-2px);
}

.admin-breadcrumb:active {
    transform: translateY(1px);
    box-shadow: 0 1px 4px color-mix(in srgb, var(--color-primary) 12%, transparent);
}

.admin-breadcrumb:focus {
    outline: none;
}

.admin-breadcrumb:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 3px;
}

/* ==========================================================================
   Filtros (barra de busca + selects)
   ========================================================================== */
.admin-filters {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
    align-items: end;
    padding: 16px;
    background: var(--color-surface);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
}

.admin-filter {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.admin-filter--wide {
    grid-column: 1 / -1;
}

/* Busca por nome / descrição: faixa um pouco mais larga que um único filtro */
.admin-filter--search {
    grid-column: span 2;
    max-width: 24rem;
}

@media (max-width: 640px) {
    .admin-filter--search {
        grid-column: 1 / -1;
        max-width: none;
    }
}

/* Admin — inputs de data nos filtros (mobile): largura contida para não estourar o grid */
@media (max-width: 900px) {
    .admin-shell:has(.admin-nav--admin) .admin-filter:has(> .admin-filter__input[type="date"]) {
        min-width: 0;
        max-width: 100%;
    }

    .admin-shell:has(.admin-nav--admin) .admin-filters .admin-filter__input[type="date"] {
        width: min(100%, 9.75rem);
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
        font-size: 13px;
        padding-inline: 10px;
    }
}

.admin-filter__hint {
    font-size: 12px;
    color: var(--color-text-muted);
    line-height: 1.35;
    margin-top: 2px;
}

.admin-filter__label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-text-muted);
}

.admin-filter__wrap {
    position: relative;
}

.admin-filter__icon {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--color-text-muted);
    font-size: 13px;
    pointer-events: none;
}

.admin-filter__wrap .admin-filter__input {
    padding-left: 38px;
}

.admin-filter__input {
    width: 100%;
    height: 42px;
    padding: 0 14px;
    background: var(--color-bg);
    border: 1.5px solid var(--color-border);
    border-radius: var(--radius-sm);
    font-size: 14px;
    color: var(--color-text);
    transition: border-color var(--transition), background var(--transition);
    cursor: pointer;
}

.admin-filter__input:focus {
    outline: none;
    border-color: var(--color-primary);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(14, 22, 122, 0.10);
}

/* Ocupa a linha inteira no grid para não ficar preso numa coluna estreita/desalinhada */
.admin-filters > .admin-filters__actions {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
}

/* Paginação (estoque admin e similares) */
.admin-pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 20px;
    padding: 14px 16px;
    background: var(--color-surface);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
}

.admin-pagination__summary {
    margin: 0;
    font-size: 14px;
    color: var(--color-text-muted);
    line-height: 1.4;
}

.admin-pagination__summary strong {
    color: var(--color-text);
    font-weight: 700;
}

.admin-pagination__nav {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.admin-pagination__disabled {
    pointer-events: none;
    opacity: 0.45;
}

/* ==========================================================================
   KPI variante warn
   ========================================================================== */
.kpi--warn::before { background: #e8890b; }
.kpi--warn .kpi__icon {
    background: rgba(232, 137, 11, 0.12);
    color: #c37506;
}

/* ==========================================================================
   Badges adicionais
   ========================================================================== */
.admin-badge--warn {
    background: rgba(232, 137, 11, 0.15);
    color: #a5620a;
}

.admin-badge--danger {
    background: rgba(220, 38, 38, 0.12);
    color: #b91c1c;
}

/* ==========================================================================
   Tabela de estoque
   ========================================================================== */

/* Legenda acima da tabela de estoque (promoção, preço e retirada pendente) */
.admin-stock-legend {
    margin: 0 0 14px;
    padding: 12px 14px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-bg);
    font-size: 13px;
    line-height: 1.45;
    color: var(--color-text-muted);
}

.admin-stock-legend__list {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.admin-stock-legend__item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.admin-stock-legend__sample {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
}

.admin-stock-legend__sample--promo .admin-stock__promo-tag-icon {
    cursor: default;
}

.admin-stock-legend__sample--delivery .admin-stock__delivery-wrap {
    pointer-events: none;
}

.admin-stock-legend__sample--price .admin-stock__price-flag {
    font-size: 16px;
    line-height: 1;
}

.admin-stock-legend__sample--tx-delivery .admin-tx__delivery-badge {
    pointer-events: none;
}

.admin-stock-legend__text {
    color: var(--color-text-muted);
}

html.admin-theme--dark .admin-stock-legend {
    background: var(--admin-surface-raised, var(--color-bg));
    border-color: var(--color-border);
}

.admin-stock {
    font-size: 14px;
}

/* Promoções: tooltips sobem acima da linha — não clipar na .admin-table (overflow:hidden global) */
.admin-stock.admin-table {
    overflow: visible;
}

.admin-stock .admin-stock__row {
    overflow: visible;
}

.admin-stock__product,
.admin-stock__product > span:last-child {
    overflow: visible;
}

/* Desktop: ganha um pouco de largura usando o padding lateral do .admin-main */
@media (min-width: 901px) {
    .admin-stock.admin-table {
        width: calc(100% + 32px);
        margin-left: -16px;
        margin-right: -16px;
        overflow: visible;
    }
}

.admin-stock .admin-badge {
    font-size: 12px;
}

/* Cabeçalhos da tabela de estoque (sobrescreve .admin-table__head 12px) */
.admin-stock .admin-table__head {
    font-size: 14px;
}

.admin-stock__row {
    display: grid;
    gap: 12px;
    align-items: center;
    padding: 14px 20px;
    border-bottom: 1px solid var(--color-border);
}

.admin-stock .admin-stock__row:last-child { border-bottom: none; }

/* Desktop (≥901px): colunas proporcionais na largura da linha; produto com faixa estável para não invadir as demais colunas. */
@media (min-width: 901px) {
    .admin-stock__row:has(.admin-stock__promo-wrap:not([hidden]):hover),
    .admin-stock__row:has(.admin-stock__promo-wrap:not([hidden]):focus-within) {
        position: relative;
        z-index: 40;
    }

    .admin-stock .admin-stock__row {
        column-gap: 24px;
    }

    .admin-stock:has(.admin-stock__actions-head) .admin-stock__row {
        grid-template-columns:
            minmax(200px, 3.2fr)
            minmax(84px, 0.75fr)
            minmax(64px, 0.52fr)
            minmax(56px, 0.52fr)
            minmax(96px, 0.9fr)
            minmax(50px, 0.58fr);
    }

    .admin-stock:not(:has(.admin-stock__actions-head)) .admin-stock__row {
        grid-template-columns:
            minmax(200px, 3.35fr)
            minmax(84px, 0.78fr)
            minmax(64px, 0.54fr)
            minmax(56px, 0.54fr)
            minmax(104px, 0.95fr);
    }

    .admin-stock__row > :nth-child(1) {
        min-width: 0;
        padding-right: 28px;
        overflow: visible;
    }

    /* Texto do produto (nome + meta) pode encolher dentro da célula para o ellipsis funcionar */
    .admin-stock__row > :nth-child(1) .admin-stock__product > span:last-child {
        min-width: 0;
        flex: 1 1 auto;
    }

    /* Vendas/Preço, estoque, mínimo: números centralizados */
    .admin-stock:not(.admin-stock--library) .admin-stock__row > :nth-child(2),
    .admin-stock:not(.admin-stock--library) .admin-stock__row > :nth-child(3),
    .admin-stock:not(.admin-stock--library) .admin-stock__row > :nth-child(4) {
        justify-self: stretch;
        text-align: center;
    }

    /* Situação: badges no início da coluna (evita “colar” tudo à direita da row) */
    .admin-stock:not(.admin-stock--library) .admin-stock__row > :nth-child(5) {
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap;
        gap: 6px;
        min-width: 0;
    }

    .admin-stock__row > .admin-stock__actions-head,
    .admin-stock__row > .admin-stock__actions {
        justify-self: end;
    }

    /* Biblioteca geral: sem Mínimo nem Situação (por evento). */
    .admin-stock.admin-stock--library:has(.admin-stock__actions-head) .admin-stock__row {
        grid-template-columns:
            minmax(200px, 3.55fr)
            minmax(92px, 1fr)
            minmax(84px, 0.78fr)
            minmax(72px, 0.58fr)
            minmax(56px, 0.68fr);
    }

    .admin-stock.admin-stock--library:has(.admin-stock__actions-head) .admin-stock__row > :nth-child(5) {
        display: flex;
        justify-content: flex-end;
        align-items: center;
        text-align: initial;
        justify-self: end;
    }
}

.admin-stock__variant {
    display: block;
    font-size: 11px;
    font-weight: 600;
    color: var(--color-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    line-height: 1.3;
    margin-top: 1px;
}

.admin-stock__subtitle {
    display: block;
    font-size: 10.5px;
    font-weight: 500;
    color: var(--color-text-muted);
    line-height: 1.3;
    margin-top: 2px;
    opacity: 0.8;
}

.admin-section__variant {
    font-size: 13px;
    font-weight: 600;
    color: var(--color-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    margin-top: 2px;
}

.admin-stock__meta {
    display: flex;
    justify-content: center;
}

.admin-stock__toolbar {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 12px;
}

.admin-stock__product {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.admin-stock__select-checkbox {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    accent-color: var(--color-primary);
    cursor: pointer;
}

.admin-stock__product-head {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.admin-stock__product strong {
    display: block;
    color: var(--color-text);
    font-weight: 700;
    font-size: 14px;
    line-height: 1.35;
    white-space: normal;
    overflow-wrap: break-word;
    word-break: break-word;
}

.admin-stock__product-name-row {
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    overflow: visible;
}

.admin-stock__product-name-row strong {
    display: inline;
    font-weight: 700;
    font-size: 14px;
    line-height: 1.35;
    color: var(--color-text);
    white-space: normal;
    overflow-wrap: break-word;
    word-break: break-word;
}

.admin-stock__delivery-wrap {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
    vertical-align: middle;
}

.admin-stock__delivery-wrap[hidden] {
    display: none !important;
}

.admin-stock__delivery-count {
    font-size: 13px;
    font-weight: 800;
    color: #a5620a;
    font-variant-numeric: tabular-nums;
    line-height: 1;
}

html.admin-theme--dark .admin-stock__delivery-count {
    color: #f3a83c;
}

.admin-section__title .admin-stock__delivery-wrap {
    margin-left: 8px;
    vertical-align: middle;
}

.admin-section__title .product-card__promo-name {
    margin-left: 8px;
    vertical-align: middle;
}

/* Promo no estoque: tooltip só ao passar o cursor (ou foco) sobre o ícone */
.admin-stock__promo-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
}

.admin-stock__promo-wrap[hidden] {
    display: none !important;
}

.admin-stock__promo-tag-icon[hidden] {
    display: none !important;
}

/* Ícone de promoção ao lado do nome (estoque admin/vendedor — sem position:absolute do card) */
.admin-stock__promo-tag-icon {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin: 0;
    padding: 0;
    color: #7c3aed;
    font-size: 13px;
    line-height: 1;
    background: transparent;
    border: none;
    box-shadow: none;
    pointer-events: auto;
    cursor: help;
    outline-offset: 2px;
}

.admin-stock__promo-tooltip-panel {
    position: absolute;
    left: 50%;
    bottom: calc(100% + 10px);
    transform: translateX(-50%);
    z-index: 50;
    box-sizing: border-box;
    max-width: min(300px, 78vw);
    width: max-content;
    padding: 9px 11px;
    border-radius: 8px;
    background: #1e1b4b;
    color: #f8fafc;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
    text-align: left;
    white-space: normal;
    word-break: break-word;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.28);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.admin-stock__promo-tooltip-panel--empty {
    display: none !important;
}

.admin-stock__promo-tooltip-panel:not(.admin-stock__promo-tooltip-panel--empty)::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border: 6px solid transparent;
    border-top-color: #1e1b4b;
}

@media (min-width: 901px) {
    .admin-stock__promo-tag-icon:hover
        + .admin-stock__promo-tooltip-panel:not(.admin-stock__promo-tooltip-panel--empty),
    .admin-stock__promo-tag-icon:focus-visible
        + .admin-stock__promo-tooltip-panel:not(.admin-stock__promo-tooltip-panel--empty) {
        opacity: 1;
        visibility: visible;
    }
}

.admin-stock__status-cell {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}

.admin-badge--promo-stock {
    background: rgba(124, 58, 237, 0.10);
    color: #6d28d9;
    border: 1px solid rgba(124, 58, 237, 0.20);
    display: none;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    font-weight: 600;
    padding: 3px 10px;
    max-width: min(160px, 100%);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-stock__promo-name-badge[hidden] {
    display: none !important;
}

.admin-stock__product .admin-stock__meta {
    display: block;
    justify-content: unset;
    margin-top: 2px;
    color: var(--color-text-muted);
    font-size: 14px;
    line-height: 1.35;
    white-space: normal;
    word-break: break-word;
}

.admin-stock__sku-code {
    font-size: 14px;
    font-family: ui-monospace, Menlo, Consolas, monospace;
    color: var(--color-primary);
    font-weight: 600;
}

.admin-stock__thumb {
    width: 40px;
    height: 40px;
    border-radius: var(--radius-sm);
    object-fit: cover;
    background: var(--color-bg);
    flex-shrink: 0;
    cursor: zoom-in;
    transition: box-shadow var(--transition), transform var(--transition);
}

.admin-stock__thumb:hover {
    box-shadow: 0 0 0 2px var(--color-primary), var(--shadow-sm);
}

.admin-stock__thumb:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.admin-stock__thumb--no-zoom {
    cursor: default;
    pointer-events: none;
}

.admin-stock__thumb--no-zoom:hover {
    box-shadow: none;
}

.admin-stock__qty strong {
    font-size: 14px;
    color: var(--color-primary);
    font-variant-numeric: tabular-nums;
}

.admin-stock__actions,
.admin-stock__actions-head {
    display: flex;
    justify-content: flex-end;
}

/* ==========================================================================
   Página de produto (entrada/saída/ajuste)
   ========================================================================== */
.admin-product {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 24px;
    align-items: start;
}

.admin-product__card {
    background: var(--color-surface);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.admin-product__image {
    width: 100%;
    aspect-ratio: 1 / 1;
    background: var(--color-bg);
    border-radius: var(--radius-sm);
    overflow: hidden;
}

.admin-product__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.admin-product__meta {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    font-size: 14px;
}

.admin-product__meta > div {
    display: flex;
    justify-content: space-between;
    padding: 8px 0;
    border-bottom: 1px dashed var(--color-border);
}

.admin-product__meta > div:last-child { border-bottom: none; }

.admin-product__meta dt {
    color: var(--color-text-muted);
    font-weight: 600;
    font-size: 13px;
}

.admin-product__meta dd strong {
    font-size: 20px;
    color: var(--color-primary);
    font-variant-numeric: tabular-nums;
}

.admin-product__inline-form {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding-top: 8px;
    border-top: 1px solid var(--color-border);
}

.admin-product__inline-wrap {
    display: flex;
    gap: 8px;
}

.admin-product__inline-wrap .admin-field__input {
    flex: 1;
    padding-left: 14px;
    height: 42px;
}

.admin-product__meta-price {
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.admin-product__meta-price dt {
    flex: 0 0 auto;
}

.admin-product__meta-price dd {
    margin: 0;
    flex: 1 1 auto;
    min-width: 0;
}

.admin-product__price-form {
    margin: 0;
    width: 100%;
}

.admin-product__price-wrap {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
}

.admin-product__price-prefix {
    font-weight: 700;
    font-size: 14px;
    color: var(--color-text-muted);
    flex-shrink: 0;
}

.admin-product__price-input {
    width: 110px;
    height: 36px;
    padding: 4px 10px;
    font-size: 15px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    text-align: right;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    background: var(--color-surface);
    color: var(--color-text);
    transition: border-color var(--transition);
}

.admin-product__price-input:focus {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: 0 0 0 3px rgba(14, 22, 122, 0.10);
}

.admin-product__price-save {
    flex-shrink: 0;
    min-width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0 10px;
    border-radius: var(--radius-sm);
    background: var(--color-primary);
    color: white;
    border: none;
    cursor: pointer;
    transition: background var(--transition), transform 0.1s;
}

.admin-product__price-save:hover {
    background: #0a1160;
    transform: translateY(-1px);
}

.admin-product__price-hint {
    margin: 6px 0 0;
    font-size: 12px;
    font-weight: 500;
    color: var(--color-text-muted);
    text-align: right;
}

.admin-product__price-restore {
    margin-top: 8px;
    width: 100%;
    justify-content: center;
}

.admin-product__toggle {
    margin: 0;
}

.admin-product__status {
    align-self: center;
}

.admin-product__forms {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}

/* Biblioteca: card à esquerda + histórico de movimentações à direita */
.admin-product--detail-split {
    grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
    gap: 28px;
    width: 100%;
}

.admin-product__history {
    gap: 12px;
    min-width: 0;
    margin: 0;
    padding: 18px 20px;
    background: var(--color-surface);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
}

.admin-product__history .admin-section__header {
    gap: 6px;
}

.admin-product__movements-table {
    width: 100%;
    min-width: 0;
    overflow-x: auto;
    border-radius: var(--radius-sm);
}

.admin-product__movements-table .admin-mov__row {
    min-width: 640px;
}

.admin-product__movements-table .admin-mov__row--with-event {
    grid-template-columns: 1.1fr 0.9fr minmax(104px, 1.15fr) 0.5fr 0.65fr 1.35fr 0.65fr;
    min-width: 720px;
}

.admin-card {
    background: var(--color-surface);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
    padding: 20px 22px;
    border-left: 4px solid var(--color-border);
}

.admin-card--entrada { border-left-color: #0f9d58; }
.admin-card--saida   { border-left-color: #e8890b; }
.admin-card--ajuste  { border-left-color: var(--color-primary); }

.admin-card__header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
}

/* Cards expansíveis (estoque do produto no evento): só o cabeçalho visível até expandir */
.admin-card--collapsible:not(.is-expanded) .admin-card__header--toggle {
    margin-bottom: 0;
}

.admin-card--collapsible.is-expanded .admin-card__header--toggle {
    margin-bottom: 16px;
}

.admin-card__header--toggle {
    width: 100%;
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
    cursor: pointer;
    font: inherit;
    color: inherit;
    text-align: left;
    border-radius: var(--radius-sm);
    align-items: flex-start;
}

.admin-card__header--toggle:focus {
    outline: none;
}

.admin-card__header--toggle:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 3px;
}

.admin-card__toggle-chevron {
    margin-left: auto;
    flex-shrink: 0;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    color: var(--color-text-muted);
    transition: transform 0.2s ease, background 0.15s ease, color 0.15s ease;
}

.admin-card__header--toggle:hover .admin-card__toggle-chevron {
    background: var(--color-bg);
    color: var(--color-text);
}

.admin-card--collapsible.is-expanded .admin-card__toggle-chevron {
    transform: rotate(180deg);
}

.admin-card__collapsible-panel[hidden] {
    display: none !important;
}

.admin-card__icon {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: var(--color-bg);
    color: var(--color-primary);
    display: grid;
    place-items: center;
    font-size: 16px;
}

.admin-card__icon--positive {
    background: rgba(15, 157, 88, 0.12);
    color: #0c8a4d;
}

.admin-card__icon--negative {
    background: rgba(232, 137, 11, 0.12);
    color: #c37506;
}

.admin-card__title {
    font-size: 16px;
    font-weight: 800;
    color: var(--color-text);
}

.admin-card__subtitle {
    font-size: 13px;
    color: var(--color-text-muted);
}

.admin-card__form {
    display: grid;
    gap: 14px;
}

/* Cards compactos (uma linha / poucos campos, ex.: adicionar ao evento). */
.admin-card.admin-card--form .admin-card__form {
    gap: 10px;
}

.admin-card__form .admin-btn { grid-column: 1 / -1; }

.admin-field--wide { grid-column: 1 / -1; }

.admin-field__required { color: #dc2626; }

/* Formulários em cards do painel: altura confortável, sem inset de ícone. */
.admin-card__form .admin-field__input {
    min-height: 42px;
    height: 42px;
    padding-left: 12px;
    padding-right: 12px;
}

/* Espaço para botão “mostrar senha/PIN” (depois de qualquer padding horizontal base). */
.admin-field__wrap--has-toggle .admin-field__input {
    padding-right: 44px;
}

/* ==========================================================================
   Importação de XLS — card de upload de planilha
   ========================================================================== */

.admin-card--import-xls .admin-card__subtitle {
    margin: -4px 0 6px;
    font-size: 13px;
    color: var(--color-text-muted);
    line-height: 1.5;
}

.admin-import-xls__drop-zone {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 108px;
    border: 2px dashed var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-surface-alt, #f8fafc);
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s;
    outline: none;
}

.admin-import-xls__drop-zone:hover,
.admin-import-xls__drop-zone:focus-visible {
    border-color: var(--color-primary);
    background: rgba(79, 70, 229, 0.04);
}

.admin-import-xls__drop-zone--drag {
    border-color: var(--color-primary);
    background: rgba(79, 70, 229, 0.08);
}

.admin-import-xls__drop-zone--has-file {
    border-color: #16a34a;
    background: rgba(22, 163, 74, 0.05);
}

/* O <input type="file"> fica oculto mas acessível */
.admin-import-xls__input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
    z-index: 1;
}

.admin-import-xls__drop-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    pointer-events: none;
    user-select: none;
    padding: 20px;
    text-align: center;
}

.admin-import-xls__icon {
    font-size: 28px;
    color: var(--color-primary);
    opacity: 0.75;
}

.admin-import-xls__drop-zone--has-file .admin-import-xls__icon {
    color: #16a34a;
    opacity: 1;
}

.admin-import-xls__label {
    font-size: 13px;
    color: var(--color-text-muted);
}

.admin-import-xls__hint {
    font-size: 12px;
    color: var(--color-text-muted);
    opacity: 0.75;
}

.admin-import-xls__drop-zone--has-file .admin-import-xls__hint {
    color: #15803d;
    font-weight: 600;
    opacity: 1;
}

/* ==========================================================================
   Movimentações
   ========================================================================== */
.admin-mov__row {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr 0.5fr 0.7fr 1.4fr 0.7fr;
    gap: 12px;
    align-items: center;
    padding: 12px 20px;
    border-bottom: 1px solid var(--color-border);
    font-size: 14px;
}

.admin-mov__row--wide {
    grid-template-columns: 1.1fr 1.4fr 0.9fr 0.5fr 0.7fr 1.4fr 0.7fr;
}

/* Listagens globais com coluna de evento (ex.: admin movimentações gerais) */
.admin-mov__row--wide-events {
    grid-template-columns: 1.1fr 1.4fr 0.9fr minmax(104px, 1.15fr) 0.5fr 0.65fr 1.35fr 0.65fr;
}

/* Dashboard do evento — movimentações recentes (sem colunas Evento / Usuário) */
.admin-mov__row--wide-event-dash {
    grid-template-columns: 1.1fr 1.4fr 0.9fr 0.5fr 0.65fr 1.35fr;
}

.admin-table > .admin-mov__row:last-child { border-bottom: none; }
.admin-table > .admin-mov__wrapper:last-child .admin-mov__row { border-bottom: none; }

.admin-mov__badge {
    padding: 4px 10px;
    border-radius: var(--radius-pill);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.admin-mov__badge--entrada { background: rgba(15, 157, 88, 0.15); color: #0c8a4d; }
.admin-mov__badge--saida   { background: rgba(232, 137, 11, 0.15); color: #a5620a; }
.admin-mov__badge--venda   { background: rgba(14, 22, 122, 0.12); color: var(--color-primary); }
.admin-mov__badge--pendente { background: rgba(232, 137, 11, 0.18); color: #a5620a; }
.admin-mov__badge--ajuste  { background: rgba(107, 114, 128, 0.15); color: #4b5563; }
.admin-mov__badge--inicial { background: rgba(14, 22, 122, 0.08); color: var(--color-primary); white-space: nowrap; }

.admin-mov__type-cell {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

.admin-mov__event-cell {
    display: flex;
    justify-content: center;
    min-width: 0;
}

.admin-table .admin-nav__event-badge.admin-mov__event-badge {
    max-width: 100%;
    font-size: 11px;
    padding: 3px 9px;
}

.admin-mov__event-none {
    color: var(--color-text-muted);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.admin-mov__event-unknown {
    font-size: 11px;
    font-weight: 600;
    color: var(--color-text-muted);
}

.admin-mov__delta {
    font-variant-numeric: tabular-nums;
    font-weight: 800;
}
.admin-mov__delta--positive { color: #0c8a4d; }
.admin-mov__delta--negative { color: #b91c1c; }
.admin-mov__delta--neutral {
    color: var(--color-text-muted);
    font-variant-numeric: tabular-nums;
}

.admin-mov__product {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.admin-mov__product a,
.admin-mov__product > span {
    color: var(--color-text);
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-mov__product a:hover { color: var(--color-primary); }

.admin-mov__product small {
    color: var(--color-text-muted);
    font-size: 11px;
}

.admin-mov__product small code.admin-mov__sku {
    font-size: inherit;
    font-weight: 600;
    padding: 1px 5px;
    border-radius: 4px;
    background: rgba(14, 22, 122, 0.07);
    color: var(--color-text);
}

.admin-mov__reason {
    color: var(--color-text-muted);
    font-size: 13px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-mov__reason code {
    background: var(--color-bg);
    color: var(--color-primary);
    padding: 1px 6px;
    border-radius: 4px;
    font-size: 12px;
    margin-right: 6px;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
}

.admin-mov__order-link {
    display: inline;
    text-decoration: none;
    color: inherit;
    vertical-align: baseline;
}

.admin-mov__order-link code {
    margin-right: 6px;
    transition: background 0.12s, color 0.12s, box-shadow 0.12s;
}

.admin-mov__order-link:hover code {
    background: rgba(14, 22, 122, 0.12);
    color: var(--color-primary-dark, #0a1060);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.admin-mov__order-link:focus-visible {
    outline: none;
}

.admin-mov__order-link:focus-visible code {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

html.admin-theme--dark .admin-mov__order-link:hover code {
    background: var(--admin-tint-strong);
    color: var(--color-primary-light);
}

/* Vendedor — vendas do produto (/vendedor/estoque/<id>) */
.admin-table--seller-product-sales .admin-mov__row {
    grid-template-columns:
        minmax(140px, 1.15fr)
        minmax(88px, 0.7fr)
        minmax(96px, 0.7fr)
        minmax(96px, 0.7fr)
        minmax(220px, 2fr);
    gap: 16px 28px;
    padding: 14px 24px;
}

.admin-table--seller-product-sales.admin-table--seller-product-sales-events .admin-mov__row {
    grid-template-columns:
        minmax(132px, 1.1fr)
        minmax(84px, 0.65fr)
        minmax(88px, 0.65fr)
        minmax(88px, 0.65fr)
        minmax(200px, 1.7fr)
        minmax(120px, 1fr);
}

.admin-table--seller-product-sales .admin-mov__reason {
    overflow: visible;
    text-overflow: unset;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
    line-height: 1.45;
}

@media (min-width: 901px) {
    .admin-table--seller-product-sales .admin-mov__row {
        min-width: 720px;
    }

    .admin-table--seller-product-sales.admin-table--seller-product-sales-events .admin-mov__row {
        min-width: 860px;
    }
}

/* ==========================================================================
   Responsivo
   ========================================================================== */
@media (max-width: 1100px) {
    .admin-product {
        grid-template-columns: 1fr;
    }

    .admin-product--detail-split .admin-product__history {
        padding: 16px;
    }

    .admin-product__movements-table .admin-mov__row {
        min-width: 0;
    }
}

@media (max-width: 900px) {
    .admin-topbar {
        flex-wrap: nowrap;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
    }
    .admin-topbar__brand {
        order: 1;
        flex: 1 1 auto;
        width: auto;
        max-width: 55%;
        min-width: 0;
        justify-content: flex-start;
    }
    .admin-topbar__meta {
        order: 2;
        flex: 0 1 auto;
        width: auto;
        max-width: 100%;
        min-width: 0;
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: flex-end;
        gap: 8px 10px;
    }
    .admin-topbar__event-badge {
        max-width: 92px;
        font-size: 10px;
        padding: 3px 7px;
        flex-shrink: 1;
    }
    .admin-topbar__user {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        flex: 1 1 auto;
        max-width: 36%;
    }
    .admin-topbar__clock {
        flex-shrink: 0;
        font-size: 12px;
        gap: 6px;
    }
    .admin-topbar__logout-form {
        flex-shrink: 0;
        margin: 0;
    }
    .admin-topbar__logout {
        padding: 8px;
        gap: 0;
        border: none;
        background: transparent;
        color: #c62828;
        border-radius: 10px;
    }
    .admin-topbar__logout:hover {
        color: #b71c1c;
        background: rgba(198, 40, 40, 0.1);
        border-color: transparent;
    }
    .admin-topbar__logout:focus-visible {
        outline: 2px solid #c62828;
        outline-offset: 2px;
    }
    .admin-topbar__logout i {
        font-size: 18px;
    }
    .admin-topbar__logout-label {
        display: none;
    }

    .admin-topbar__reset-label {
        display: none;
    }

    .admin-topbar__reset-btn {
        padding: 8px;
        gap: 0;
    }

    /* Mobile estreito (≤767px): topbar só com marca + meta (nav vai para bottom) */
    @media (max-width: 767px) {
        .admin-topbar {
            justify-content: space-between;
            align-items: center;
            gap: 8px 10px;
            flex-wrap: nowrap;
        }

        .admin-topbar__brand {
            order: 1;
            flex: 1 1 auto;
            width: auto;
            max-width: calc(100% - 120px);
            min-width: 0;
            justify-content: flex-start;
            flex-wrap: nowrap;
            gap: 6px;
        }

        .admin-topbar__brand-link {
            gap: 6px 8px;
            flex-shrink: 0;
        }

        .admin-topbar__brand img,
        .admin-topbar__brand .admin-brand-logo {
            height: 32px;
            flex-shrink: 0;
        }

        .admin-topbar__badge {
            flex-shrink: 0;
            font-size: 9px;
            padding: 3px 6px;
            letter-spacing: 0.06em;
        }

        .admin-topbar__brand .admin-event-nav__badge {
            max-width: 120px;
            font-size: 10px;
            padding: 3px 6px;
            gap: 4px;
        }

        .admin-topbar__brand .admin-event-nav__select {
            max-width: 72px;
            font-size: 10px;
        }

        .admin-topbar__event-badge--in-brand {
            display: inline-flex;
            max-width: 76px;
            font-size: 9px;
            padding: 2px 6px;
            flex-shrink: 1;
        }

        .admin-topbar__event-badge--in-meta {
            display: none !important;
        }

        .admin-topbar__meta {
            order: 2;
            flex: 0 0 auto;
            width: auto;
            max-width: none;
            justify-content: flex-end;
            gap: 10px;
        }

        .admin-topbar__user {
            display: none;
        }

        .admin-topbar__clock {
            display: none;
        }

        .admin-topbar__theme-toggle {
            width: 34px;
            height: 34px;
            flex-shrink: 0;
        }

        .admin-shell {
            --admin-topbar-height: 64px;
        }

        .admin-main {
            padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px));
        }
    }

    .admin-card__form {
        grid-template-columns: 1fr;
    }
    .admin-stock__row {
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "product qty"
            "price   min"
            "status  status";
        align-items: start;
        gap: 10px 12px;
        padding: 14px;
        border: 1px solid var(--color-border);
        border-radius: var(--radius-md);
        background: var(--color-surface);
        box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
        margin-bottom: 12px;
    }
    .admin-stock__row:has(.admin-stock__actions) {
        grid-template-areas:
            "product qty"
            "price   min"
            "status  actions";
    }

    /* Biblioteca geral no mobile: produto, estoque, categoria, preço + ações (sem situação). */
    .admin-stock.admin-stock--library .admin-stock__row:has(.admin-stock__actions) {
        grid-template-areas:
            "product qty"
            "category category"
            "price actions";
    }

    .admin-stock.admin-stock--library .admin-stock__row > :nth-child(5)::before {
        content: none !important;
        margin-right: 0 !important;
    }

    .admin-stock.admin-stock--library .admin-stock__row > :nth-child(5) {
        grid-area: actions;
        justify-content: flex-end;
        align-self: center;
        justify-self: end;
        display: flex;
        color: var(--color-text);
        font-size: inherit;
        min-width: 0;
    }

    .admin-stock.admin-stock--library .admin-stock__row > :nth-child(1) {
        grid-area: product;
        align-self: center;
    }

    .admin-stock.admin-stock--library .admin-stock__row > :nth-child(2) {
        grid-area: category;
        display: inline-flex;
        align-items: center;
        min-width: 0;
        font-size: 14px;
        color: var(--color-text-muted);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .admin-stock.admin-stock--library .admin-stock__row > :nth-child(2)::before {
        content: "Categoria";
        margin-right: 6px;
        color: var(--color-text-muted);
        font-size: 14px;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
    }

    .admin-stock.admin-stock--library .admin-stock__row > :nth-child(3) {
        grid-area: price;
        display: inline-flex;
        align-items: center;
        min-width: 0;
        font-size: 14px;
        color: var(--color-text-muted);
    }

    .admin-stock.admin-stock--library .admin-stock__row > :nth-child(3)::before {
        content: "Preço";
        margin-right: 6px;
        color: var(--color-text-muted);
        font-size: 14px;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
    }

    .admin-stock.admin-stock--library .admin-stock__row > :nth-child(4) {
        grid-area: qty;
        align-self: center;
        justify-self: end;
        min-width: 56px;
        padding: 8px 10px;
        border-radius: 14px;
        background: rgba(14, 22, 122, 0.08);
        text-align: center;
    }

    .admin-stock:not(.admin-stock--library) .admin-stock__row > :nth-child(1) {
        grid-area: product;
        align-self: center;
    }
    .admin-stock:not(.admin-stock--library) .admin-stock__row > :nth-child(2),
    .admin-stock:not(.admin-stock--library) .admin-stock__row > :nth-child(4) {
        display: inline-flex;
        align-items: center;
        min-width: 0;
        font-size: 14px;
        color: var(--color-text-muted);
    }
    .admin-stock:not(.admin-stock--library):not([data-admin-event-stock]):not([data-seller-stock-list]) .admin-stock__row > :nth-child(2)::before { content: "Preço"; }
    [data-admin-event-stock] .admin-stock__row > :nth-child(2)::before { content: "Preço"; }
    [data-admin-event-stock] .admin-stock__row > :nth-child(3)::before { content: "Vendas"; }
    [data-seller-stock-list] .admin-stock__row > :nth-child(2)::before { content: "Vendas"; }
    .admin-stock:not(.admin-stock--library):not([data-admin-event-stock]) .admin-stock__row > :nth-child(4)::before { content: "Mín."; }
    [data-admin-event-stock] .admin-stock__row > :nth-child(5)::before { content: "Mín."; }
    .admin-stock:not(.admin-stock--library):not([data-admin-event-stock]) .admin-stock__row > :nth-child(2)::before,
    .admin-stock:not(.admin-stock--library):not([data-admin-event-stock]) .admin-stock__row > :nth-child(4)::before,
    [data-admin-event-stock] .admin-stock__row > :nth-child(2)::before,
    [data-admin-event-stock] .admin-stock__row > :nth-child(3)::before,
    [data-admin-event-stock] .admin-stock__row > :nth-child(5)::before {
        margin-right: 6px;
        color: var(--color-text-muted);
        font-size: 14px;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
    }
    .admin-stock:not(.admin-stock--library) .admin-stock__row > :nth-child(2) {
        grid-area: price;
    }
    [data-admin-event-stock] .admin-stock__row > :nth-child(3) {
        grid-area: sales;
        display: inline-flex;
        align-items: center;
        min-width: 0;
        font-size: 14px;
        color: var(--color-text-muted);
    }
    [data-admin-event-stock] .admin-stock__row > :nth-child(4) {
        grid-area: qty;
        align-self: center;
        justify-self: end;
        min-width: 56px;
        padding: 8px 10px;
        border-radius: 14px;
        background: rgba(14, 22, 122, 0.08);
        text-align: center;
    }
    [data-admin-event-stock] .admin-stock__row > :nth-child(5) {
        grid-area: min;
        justify-self: end;
        display: inline-flex;
        align-items: center;
        min-width: 0;
        font-size: 14px;
        color: var(--color-text-muted);
    }
    [data-admin-event-stock] .admin-stock__row > :nth-child(6) {
        grid-area: status;
        align-self: center;
        min-width: 0;
    }
    [data-admin-event-stock] .admin-stock__row > :nth-child(7) {
        grid-area: actions;
        justify-content: flex-end;
        align-self: center;
    }
    [data-admin-event-stock] .admin-stock__row:has(.admin-stock__actions) {
        grid-template-areas:
            "product product"
            "price   sales"
            "qty     min"
            "status  actions";
    }
    [data-admin-event-stock] .admin-stock__row:not(:has(.admin-stock__actions)) {
        grid-template-areas:
            "product product"
            "price   sales"
            "qty     min"
            "status  status";
    }
    .admin-stock:not(.admin-stock--library):not([data-admin-event-stock]) .admin-stock__row > :nth-child(4) {
        grid-area: min;
        justify-self: end;
    }
    .admin-stock:not(.admin-stock--library):not([data-admin-event-stock]) .admin-stock__row > :nth-child(3) {
        grid-area: qty;
        align-self: center;
        justify-self: end;
        min-width: 56px;
        padding: 8px 10px;
        border-radius: 14px;
        background: rgba(14, 22, 122, 0.08);
        text-align: center;
    }
    .admin-stock:not(.admin-stock--library) .admin-stock__row > :nth-child(5) {
        grid-area: status;
        align-self: center;
        min-width: 0;
    }
    .admin-stock:not(.admin-stock--library) .admin-stock__row > :nth-child(6) {
        grid-area: actions;
        justify-content: flex-end;
        align-self: center;
    }
    .admin-stock__product {
        gap: 10px;
    }
    .admin-stock__thumb {
        width: 46px;
        height: 46px;
        border-radius: 12px;
    }
    .admin-stock__product strong {
        display: -webkit-box;
        line-clamp: 2;
        -webkit-box-orient: vertical;
        white-space: normal;
        line-height: 1.25;
        font-size: 14px;
    }
    .admin-stock__product-name-row strong {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        white-space: normal;
        line-height: 1.25;
        font-size: 14px;
    }
    .admin-stock__product .admin-stock__meta {
        font-size: 14px;
    }
    .admin-stock__sku-code {
        font-size: 14px;
    }
    .admin-stock__qty strong {
        font-size: 14px;
    }
    .admin-stock__actions .admin-btn {
        width: 38px;
        height: 38px;
        justify-content: center;
        padding: 0;
        border-radius: 12px;
    }
    .admin-stock__actions .admin-btn i {
        font-size: 14px;
    }
    .admin-stock {
        display: block;
        background: transparent;
        box-shadow: none;
        overflow: visible;
    }
    .admin-stock .admin-stock__row {
        overflow: visible;
    }
    .admin-stock .admin-table__head { display: none; }

    /* Estoque ≤900px (mobile + tablet): badge roxo na situação; sem ícone/tooltip ao lado do nome */
    .admin-stock .admin-stock__promo-wrap {
        display: none !important;
    }

    .admin-stock__promo-name-badge:not([hidden]) {
        display: inline-flex;
    }

    .admin-stock__status-cell {
        width: 100%;
    }

    .admin-badge--promo-stock {
        max-width: min(220px, 100%);
    }

    /* Movimentações — mesmo “card” visual do estoque (mobile) */
    .admin-table:has(.admin-mov__wrapper),
    .admin-table:has(> .admin-mov__row:not(.admin-table__head)) {
        display: block;
        background: transparent;
        box-shadow: none;
        overflow: visible;
    }

    .admin-mov__wrapper {
        margin-bottom: 12px;
        border: 1px solid var(--color-border);
        border-radius: var(--radius-md);
        background: var(--color-surface);
        box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
        overflow: hidden;
    }

    .admin-mov__wrapper .admin-mov__row.admin-mov__row--wide:not(.admin-mov__row--wide-events) {
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "product product"
            "date    type"
            "delta   balance"
            "reason  reason"
            "user    user";
        gap: 10px 12px;
        padding: 14px;
        align-items: start;
        border-bottom: none;
        font-size: 13px;
    }

    .admin-mov__wrapper .admin-mov__row.admin-mov__row--wide:not(.admin-mov__row--wide-events) > :nth-child(1) {
        grid-area: date;
        font-size: 12px;
        color: var(--color-text-muted);
    }
    .admin-mov__wrapper .admin-mov__row.admin-mov__row--wide:not(.admin-mov__row--wide-events) > :nth-child(2) {
        grid-area: product;
    }
    .admin-mov__wrapper .admin-mov__row.admin-mov__row--wide:not(.admin-mov__row--wide-events) > :nth-child(3) {
        grid-area: type;
        justify-self: end;
        align-self: start;
    }
    .admin-mov__wrapper .admin-mov__row.admin-mov__row--wide:not(.admin-mov__row--wide-events) > :nth-child(4) {
        grid-area: delta;
        justify-self: start;
        padding: 8px 10px;
        border-radius: 14px;
        background: rgba(14, 22, 122, 0.08);
        text-align: center;
    }
    .admin-mov__wrapper .admin-mov__row.admin-mov__row--wide:not(.admin-mov__row--wide-events) > :nth-child(4).admin-table__col--num,
    .admin-mov__wrapper .admin-mov__row.admin-mov__row--wide:not(.admin-mov__row--wide-events) > :nth-child(5).admin-table__col--num {
        text-align: center;
    }
    .admin-mov__wrapper .admin-mov__row.admin-mov__row--wide:not(.admin-mov__row--wide-events) > :nth-child(5) {
        grid-area: balance;
        justify-self: end;
        padding: 8px 10px;
        border-radius: 14px;
        background: rgba(14, 22, 122, 0.08);
        text-align: center;
    }
    .admin-mov__wrapper .admin-mov__row.admin-mov__row--wide:not(.admin-mov__row--wide-events) > :nth-child(6) {
        grid-area: reason;
        white-space: normal;
        font-size: 12px;
        line-height: 1.4;
    }
    .admin-mov__wrapper .admin-mov__row.admin-mov__row--wide:not(.admin-mov__row--wide-events) > :nth-child(7) {
        grid-area: user;
        font-size: 12px;
        color: var(--color-text-muted);
    }

    .admin-mov__wrapper .admin-mov__row.admin-mov__row--wide:not(.admin-mov__row--wide-events) > :nth-child(1)::before {
        content: "Data";
        display: block;
        margin-bottom: 2px;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--color-text-muted);
    }
    .admin-mov__wrapper .admin-mov__row.admin-mov__row--wide:not(.admin-mov__row--wide-events) > :nth-child(4)::before {
        content: "Delta";
        display: block;
        margin-bottom: 2px;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--color-text-muted);
    }
    .admin-mov__wrapper .admin-mov__row.admin-mov__row--wide:not(.admin-mov__row--wide-events) > :nth-child(5)::before {
        content: "Saldo";
        display: block;
        margin-bottom: 2px;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--color-text-muted);
    }
    .admin-mov__wrapper .admin-mov__row.admin-mov__row--wide:not(.admin-mov__row--wide-events) > :nth-child(6)::before {
        content: "Motivo / ref.";
        display: block;
        margin-bottom: 4px;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--color-text-muted);
    }
    .admin-mov__wrapper .admin-mov__row.admin-mov__row--wide:not(.admin-mov__row--wide-events) > :nth-child(7)::before {
        content: "Usuário";
        display: block;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--color-text-muted);
    }

    .admin-mov__wrapper .admin-mov__row.admin-mov__row--wide-events {
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "product product"
            "date    type"
            "event   event"
            "delta   balance"
            "reason  reason"
            "user    user";
        gap: 10px 12px;
        padding: 14px;
        align-items: start;
        border-bottom: none;
        font-size: 13px;
    }

    .admin-mov__wrapper .admin-mov__row.admin-mov__row--wide-events > :nth-child(1) {
        grid-area: date;
        font-size: 12px;
        color: var(--color-text-muted);
    }
    .admin-mov__wrapper .admin-mov__row.admin-mov__row--wide-events > :nth-child(2) {
        grid-area: product;
    }
    .admin-mov__wrapper .admin-mov__row.admin-mov__row--wide-events > :nth-child(3) {
        grid-area: type;
        justify-self: end;
        align-self: start;
    }
    .admin-mov__wrapper .admin-mov__row.admin-mov__row--wide-events > :nth-child(4) {
        grid-area: event;
        justify-self: flex-start;
        align-items: center;
        gap: 6px;
        min-width: 0;
    }
    .admin-mov__wrapper .admin-mov__row.admin-mov__row--wide-events > :nth-child(5) {
        grid-area: delta;
        justify-self: start;
        padding: 8px 10px;
        border-radius: 14px;
        background: rgba(14, 22, 122, 0.08);
        text-align: center;
    }
    .admin-mov__wrapper .admin-mov__row.admin-mov__row--wide-events > :nth-child(5).admin-table__col--num,
    .admin-mov__wrapper .admin-mov__row.admin-mov__row--wide-events > :nth-child(6).admin-table__col--num {
        text-align: center;
    }
    .admin-mov__wrapper .admin-mov__row.admin-mov__row--wide-events > :nth-child(6) {
        grid-area: balance;
        justify-self: end;
        padding: 8px 10px;
        border-radius: 14px;
        background: rgba(14, 22, 122, 0.08);
        text-align: center;
    }
    .admin-mov__wrapper .admin-mov__row.admin-mov__row--wide-events > :nth-child(7) {
        grid-area: reason;
        white-space: normal;
        font-size: 12px;
        line-height: 1.4;
    }
    .admin-mov__wrapper .admin-mov__row.admin-mov__row--wide-events > :nth-child(8) {
        grid-area: user;
        font-size: 12px;
        color: var(--color-text-muted);
    }

    .admin-mov__wrapper .admin-mov__row.admin-mov__row--wide-events > :nth-child(1)::before {
        content: "Data";
        display: block;
        margin-bottom: 2px;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--color-text-muted);
    }
    .admin-mov__wrapper .admin-mov__row.admin-mov__row--wide-events > :nth-child(4)::before {
        content: "Evento";
        display: block;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--color-text-muted);
    }
    .admin-mov__wrapper .admin-mov__row.admin-mov__row--wide-events > :nth-child(5)::before {
        content: "Delta";
        display: block;
        margin-bottom: 2px;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--color-text-muted);
    }
    .admin-mov__wrapper .admin-mov__row.admin-mov__row--wide-events > :nth-child(6)::before {
        content: "Saldo";
        display: block;
        margin-bottom: 2px;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--color-text-muted);
    }
    .admin-mov__wrapper .admin-mov__row.admin-mov__row--wide-events > :nth-child(7)::before {
        content: "Motivo / ref.";
        display: block;
        margin-bottom: 4px;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--color-text-muted);
    }
    .admin-mov__wrapper .admin-mov__row.admin-mov__row--wide-events > :nth-child(8)::before {
        content: "Usuário";
        display: block;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--color-text-muted);
    }

    /* Dashboard do evento — movimentações recentes (mesmo card mobile que wide-events, sem Evento/Usuário) */
    .admin-mov__wrapper .admin-mov__row.admin-mov__row--wide-event-dash {
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "product product"
            "date    type"
            "delta   balance"
            "reason  reason";
        gap: 10px 12px;
        padding: 14px;
        align-items: start;
        border-bottom: none;
        font-size: 13px;
    }

    .admin-mov__wrapper .admin-mov__row.admin-mov__row--wide-event-dash > :nth-child(1) {
        grid-area: date;
        font-size: 12px;
        color: var(--color-text-muted);
    }

    .admin-mov__wrapper .admin-mov__row.admin-mov__row--wide-event-dash > :nth-child(2) {
        grid-area: product;
    }

    .admin-mov__wrapper .admin-mov__row.admin-mov__row--wide-event-dash > :nth-child(3) {
        grid-area: type;
        justify-self: end;
        align-self: start;
    }

    .admin-mov__wrapper .admin-mov__row.admin-mov__row--wide-event-dash > :nth-child(4) {
        grid-area: delta;
        justify-self: start;
        padding: 8px 10px;
        border-radius: 14px;
        background: rgba(14, 22, 122, 0.08);
        text-align: center;
    }

    .admin-mov__wrapper .admin-mov__row.admin-mov__row--wide-event-dash > :nth-child(4).admin-table__col--num,
    .admin-mov__wrapper .admin-mov__row.admin-mov__row--wide-event-dash > :nth-child(5).admin-table__col--num {
        text-align: center;
    }

    .admin-mov__wrapper .admin-mov__row.admin-mov__row--wide-event-dash > :nth-child(5) {
        grid-area: balance;
        justify-self: end;
        padding: 8px 10px;
        border-radius: 14px;
        background: rgba(14, 22, 122, 0.08);
        text-align: center;
    }

    .admin-mov__wrapper .admin-mov__row.admin-mov__row--wide-event-dash > :nth-child(6) {
        grid-area: reason;
        white-space: normal;
        font-size: 12px;
        line-height: 1.4;
    }

    .admin-mov__wrapper .admin-mov__row.admin-mov__row--wide-event-dash > :nth-child(1)::before {
        content: "Data";
        display: block;
        margin-bottom: 2px;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--color-text-muted);
    }

    .admin-mov__wrapper .admin-mov__row.admin-mov__row--wide-event-dash > :nth-child(4)::before {
        content: "Delta";
        display: block;
        margin-bottom: 2px;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--color-text-muted);
    }

    .admin-mov__wrapper .admin-mov__row.admin-mov__row--wide-event-dash > :nth-child(5)::before {
        content: "Saldo";
        display: block;
        margin-bottom: 2px;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--color-text-muted);
    }

    .admin-mov__wrapper .admin-mov__row.admin-mov__row--wide-event-dash > :nth-child(6)::before {
        content: "Motivo / ref.";
        display: block;
        margin-bottom: 4px;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--color-text-muted);
    }

    .admin-mov__wrapper .admin-mov__product a,
    .admin-mov__wrapper .admin-mov__product > span {
        white-space: normal;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        -webkit-box-orient: vertical;
        line-height: 1.25;
        font-size: 13px;
    }

    /* Página do produto: 6 colunas dentro do wrapper (mesmo grid que linha direta) */
    .admin-mov__wrapper .admin-mov__row:not(.admin-mov__row--wide) {
        margin-bottom: 0;
        border: none;
        border-radius: 0;
        box-shadow: none;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "date type"
            "delta balance"
            "reason reason"
            "user user";
        gap: 10px 12px;
        padding: 14px;
        align-items: start;
        border-bottom: none;
        font-size: 13px;
    }
    .admin-mov__wrapper .admin-mov__row:not(.admin-mov__row--wide) > :nth-child(1) {
        grid-area: date;
        font-size: 12px;
        color: var(--color-text-muted);
    }
    .admin-mov__wrapper .admin-mov__row:not(.admin-mov__row--wide) > :nth-child(2) {
        grid-area: type;
        justify-self: end;
        align-self: start;
    }
    .admin-mov__wrapper .admin-mov__row:not(.admin-mov__row--wide) > :nth-child(3) {
        grid-area: delta;
        justify-self: start;
        padding: 8px 10px;
        border-radius: 14px;
        background: rgba(14, 22, 122, 0.08);
        text-align: center;
    }
    .admin-mov__wrapper .admin-mov__row:not(.admin-mov__row--wide) > :nth-child(3).admin-table__col--num,
    .admin-mov__wrapper .admin-mov__row:not(.admin-mov__row--wide) > :nth-child(4).admin-table__col--num {
        text-align: center;
    }
    .admin-mov__wrapper .admin-mov__row:not(.admin-mov__row--wide) > :nth-child(4) {
        grid-area: balance;
        justify-self: end;
        padding: 8px 10px;
        border-radius: 14px;
        background: rgba(14, 22, 122, 0.08);
        text-align: center;
    }
    .admin-mov__wrapper .admin-mov__row:not(.admin-mov__row--wide) > :nth-child(5) {
        grid-area: reason;
        white-space: normal;
        font-size: 12px;
        line-height: 1.4;
    }
    .admin-mov__wrapper .admin-mov__row:not(.admin-mov__row--wide) > :nth-child(6) {
        grid-area: user;
        font-size: 12px;
        color: var(--color-text-muted);
    }
    .admin-mov__wrapper .admin-mov__row:not(.admin-mov__row--wide) > :nth-child(1)::before {
        content: "Data";
        display: block;
        margin-bottom: 2px;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--color-text-muted);
    }
    .admin-mov__wrapper .admin-mov__row:not(.admin-mov__row--wide) > :nth-child(3)::before {
        content: "Delta";
        display: block;
        margin-bottom: 2px;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--color-text-muted);
    }
    .admin-mov__wrapper .admin-mov__row:not(.admin-mov__row--wide) > :nth-child(4)::before {
        content: "Saldo";
        display: block;
        margin-bottom: 2px;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--color-text-muted);
    }
    .admin-mov__wrapper .admin-mov__row:not(.admin-mov__row--wide) > :nth-child(5)::before {
        content: "Motivo / ref.";
        display: block;
        margin-bottom: 4px;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--color-text-muted);
    }
    .admin-mov__wrapper .admin-mov__row:not(.admin-mov__row--wide) > :nth-child(6)::before {
        content: "Usuário";
        display: block;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--color-text-muted);
    }

    /* Vendedor — vendas do produto (/vendedor/estoque/<id>): mesma distribuição da
       página do produto do Admin (tipo + delta/saldo em pílulas, motivo/ref. abaixo). */
    .admin-table--seller-product-sales .admin-mov__wrapper .admin-mov__row:not(.admin-mov__row--wide) {
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "date type"
            "delta balance"
            "reason reason";
    }
    .admin-table--seller-product-sales-events .admin-mov__wrapper .admin-mov__row:not(.admin-mov__row--wide) {
        grid-template-areas:
            "date type"
            "delta balance"
            "reason reason"
            "event event";
    }
    .admin-table--seller-product-sales .admin-mov__wrapper .admin-mov__row:not(.admin-mov__row--wide) > :nth-child(1) {
        grid-area: date;
        justify-self: start;
    }
    .admin-table--seller-product-sales .admin-mov__wrapper .admin-mov__row:not(.admin-mov__row--wide) > :nth-child(2) {
        grid-area: type;
        justify-self: end;
        align-self: start;
        padding: 0;
        border-radius: 0;
        background: transparent;
        text-align: right;
    }
    .admin-table--seller-product-sales .admin-mov__wrapper .admin-mov__row:not(.admin-mov__row--wide) > :nth-child(2)::before {
        content: none;
    }
    .admin-table--seller-product-sales .admin-mov__wrapper .admin-mov__row:not(.admin-mov__row--wide) > :nth-child(3) {
        grid-area: delta;
        justify-self: start;
        align-self: auto;
        padding: 8px 10px;
        border-radius: 14px;
        background: rgba(14, 22, 122, 0.08);
        text-align: center;
    }
    .admin-table--seller-product-sales .admin-mov__wrapper .admin-mov__row:not(.admin-mov__row--wide) > :nth-child(4) {
        grid-area: balance;
        justify-self: end;
        padding: 8px 10px;
        border-radius: 14px;
        background: rgba(14, 22, 122, 0.08);
        text-align: center;
    }
    .admin-table--seller-product-sales .admin-mov__wrapper .admin-mov__row:not(.admin-mov__row--wide) > :nth-child(5) {
        grid-area: reason;
        white-space: normal;
        font-size: 12px;
        line-height: 1.4;
    }
    .admin-table--seller-product-sales .admin-mov__wrapper .admin-mov__row:not(.admin-mov__row--wide) > :nth-child(6) {
        grid-area: event;
    }
    .admin-table--seller-product-sales .admin-mov__wrapper .admin-mov__row:not(.admin-mov__row--wide) > :nth-child(3)::before {
        content: "Quantidade";
        display: block;
        margin-bottom: 2px;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--color-text-muted);
    }
    .admin-table--seller-product-sales .admin-mov__wrapper .admin-mov__row:not(.admin-mov__row--wide) > :nth-child(4)::before {
        content: "Saldo após";
        display: block;
        margin-bottom: 2px;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--color-text-muted);
    }
    .admin-table--seller-product-sales .admin-mov__wrapper .admin-mov__row:not(.admin-mov__row--wide) > :nth-child(5)::before {
        content: "Ref. / Pedido";
        display: block;
        margin-bottom: 4px;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--color-text-muted);
    }
    .admin-table--seller-product-sales.admin-table--seller-product-sales-events .admin-mov__wrapper .admin-mov__row:not(.admin-mov__row--wide) > :nth-child(6)::before {
        content: "Evento";
        display: block;
        margin-bottom: 4px;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--color-text-muted);
    }

    /* Biblioteca — histórico do produto com coluna Evento (7 colunas) */
    .admin-product__movements-table .admin-mov__wrapper .admin-mov__row--with-event {
        grid-template-areas:
            "date type"
            "event event"
            "delta balance"
            "reason reason"
            "user user";
    }
    .admin-product__movements-table .admin-mov__wrapper .admin-mov__row--with-event > :nth-child(3) {
        grid-area: event;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        gap: 10px;
        justify-self: stretch;
        padding: 0;
        border-radius: 0;
        background: transparent;
        text-align: left;
        min-width: 0;
    }
    .admin-product__movements-table .admin-mov__wrapper .admin-mov__row--with-event > :nth-child(3) .admin-mov__event-badge,
    .admin-product__movements-table .admin-mov__wrapper .admin-mov__row--with-event > :nth-child(3) .admin-mov__event-none,
    .admin-product__movements-table .admin-mov__wrapper .admin-mov__row--with-event > :nth-child(3) .admin-mov__event-unknown {
        flex: 0 1 auto;
        min-width: 0;
    }
    .admin-product__movements-table .admin-mov__wrapper .admin-mov__row--with-event > :nth-child(4) {
        grid-area: delta;
        justify-self: start;
        padding: 8px 10px;
        border-radius: 14px;
        background: rgba(14, 22, 122, 0.08);
        text-align: center;
    }
    .admin-product__movements-table .admin-mov__wrapper .admin-mov__row--with-event > :nth-child(5) {
        grid-area: balance;
        justify-self: end;
        padding: 8px 10px;
        border-radius: 14px;
        background: rgba(14, 22, 122, 0.08);
        text-align: center;
    }
    .admin-product__movements-table .admin-mov__wrapper .admin-mov__row--with-event > :nth-child(6) {
        grid-area: reason;
        white-space: normal;
        font-size: 12px;
        line-height: 1.4;
    }
    .admin-product__movements-table .admin-mov__wrapper .admin-mov__row--with-event > :nth-child(7) {
        grid-area: user;
        font-size: 12px;
        color: var(--color-text-muted);
    }
    .admin-product__movements-table .admin-mov__wrapper .admin-mov__row--with-event > :nth-child(4).admin-table__col--num,
    .admin-product__movements-table .admin-mov__wrapper .admin-mov__row--with-event > :nth-child(5).admin-table__col--num {
        text-align: center;
    }
    .admin-product__movements-table .admin-mov__wrapper .admin-mov__row--with-event > :nth-child(3)::before {
        content: "Evento";
        display: block;
        margin-bottom: 0;
        flex-shrink: 0;
        line-height: 1;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--color-text-muted);
    }
    .admin-product__movements-table .admin-mov__wrapper .admin-mov__row--with-event > :nth-child(4)::before {
        content: "Delta";
        display: block;
        margin-bottom: 2px;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--color-text-muted);
    }
    .admin-product__movements-table .admin-mov__wrapper .admin-mov__row--with-event > :nth-child(5)::before {
        content: "Saldo";
        display: block;
        margin-bottom: 2px;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--color-text-muted);
    }
    .admin-product__movements-table .admin-mov__wrapper .admin-mov__row--with-event > :nth-child(6)::before {
        content: "Motivo / ref.";
        display: block;
        margin-bottom: 4px;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--color-text-muted);
    }
    .admin-product__movements-table .admin-mov__wrapper .admin-mov__row--with-event > :nth-child(7)::before {
        content: "Usuário";
        display: block;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--color-text-muted);
    }

    /* Página do produto: linhas sem wrapper (6 colunas) — legado */
    .admin-table > .admin-mov__row:not(.admin-table__head):not(.admin-mov__row--wide) {
        margin-bottom: 12px;
        border: 1px solid var(--color-border);
        border-radius: var(--radius-md);
        background: var(--color-surface);
        box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "date type"
            "delta balance"
            "reason reason"
            "user user";
        gap: 10px 12px;
        padding: 14px;
        align-items: start;
        border-bottom: none;
        font-size: 13px;
    }
    .admin-table > .admin-mov__row:not(.admin-table__head):not(.admin-mov__row--wide) > :nth-child(1) {
        grid-area: date;
        font-size: 12px;
        color: var(--color-text-muted);
    }
    .admin-table > .admin-mov__row:not(.admin-table__head):not(.admin-mov__row--wide) > :nth-child(2) {
        grid-area: type;
        justify-self: end;
        align-self: start;
    }
    .admin-table > .admin-mov__row:not(.admin-table__head):not(.admin-mov__row--wide) > :nth-child(3) {
        grid-area: delta;
        justify-self: start;
        padding: 8px 10px;
        border-radius: 14px;
        background: rgba(14, 22, 122, 0.08);
        text-align: center;
    }
    .admin-table > .admin-mov__row:not(.admin-table__head):not(.admin-mov__row--wide) > :nth-child(3).admin-table__col--num,
    .admin-table > .admin-mov__row:not(.admin-table__head):not(.admin-mov__row--wide) > :nth-child(4).admin-table__col--num {
        text-align: center;
    }
    .admin-table > .admin-mov__row:not(.admin-table__head):not(.admin-mov__row--wide) > :nth-child(4) {
        grid-area: balance;
        justify-self: end;
        padding: 8px 10px;
        border-radius: 14px;
        background: rgba(14, 22, 122, 0.08);
        text-align: center;
    }
    .admin-table > .admin-mov__row:not(.admin-table__head):not(.admin-mov__row--wide) > :nth-child(5) {
        grid-area: reason;
        white-space: normal;
        font-size: 12px;
        line-height: 1.4;
    }
    .admin-table > .admin-mov__row:not(.admin-table__head):not(.admin-mov__row--wide) > :nth-child(6) {
        grid-area: user;
        font-size: 12px;
        color: var(--color-text-muted);
    }
    .admin-table > .admin-mov__row:not(.admin-table__head):not(.admin-mov__row--wide) > :nth-child(1)::before {
        content: "Data";
        display: block;
        margin-bottom: 2px;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--color-text-muted);
    }
    .admin-table > .admin-mov__row:not(.admin-table__head):not(.admin-mov__row--wide) > :nth-child(3)::before {
        content: "Delta";
        display: block;
        margin-bottom: 2px;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--color-text-muted);
    }
    .admin-table > .admin-mov__row:not(.admin-table__head):not(.admin-mov__row--wide) > :nth-child(4)::before {
        content: "Saldo";
        display: block;
        margin-bottom: 2px;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--color-text-muted);
    }
    .admin-table > .admin-mov__row:not(.admin-table__head):not(.admin-mov__row--wide) > :nth-child(5)::before {
        content: "Motivo / ref.";
        display: block;
        margin-bottom: 4px;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--color-text-muted);
    }
    .admin-table > .admin-mov__row:not(.admin-table__head):not(.admin-mov__row--wide) > :nth-child(6)::before {
        content: "Usuário";
        display: block;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--color-text-muted);
    }

    /* Nota de retirada: ícone maior, canto inferior direito do card (só ≤900px) */
    .admin-mov__wrapper .admin-mov__row,
    .admin-table > .admin-mov__row:not(.admin-table__head) {
        position: relative;
    }
    .admin-mov__note-btn {
        position: absolute;
        justify-content: flex-end !important;
        align-items: end !important;
        bottom: 12px;
        right: 12px;
        width: 48px;
        height: 48px;
        font-size: 1.1rem;
        z-index: 2;
    }
    .admin-mov__note-btn i {
        font-size: 1.1rem;
        line-height: 1;
    }

    .admin-table > .admin-mov__row.admin-table__head { display: none; }
}

/* Tablet (768px–900px): topbar compacta — marca + meta na mesma linha (nav no bottom) */
@media (min-width: 768px) and (max-width: 900px) {
    .admin-shell {
        --admin-topbar-height: 72px;
    }

    .admin-topbar {
        flex-wrap: nowrap;
        align-items: center;
        justify-content: space-between;
        padding: 10px 16px;
        gap: 8px 12px;
    }

    .admin-topbar__brand {
        order: 1;
        flex: 1 1 auto;
        width: auto;
        max-width: 58%;
        justify-content: flex-start;
        min-width: 0;
    }

    .admin-topbar__brand img,
    .admin-topbar__brand .admin-brand-logo {
        height: 36px;
    }

    .admin-topbar__badge {
        font-size: 10px;
        padding: 3px 8px;
    }

    .admin-topbar__brand .admin-event-nav__badge {
        max-width: 160px;
    }

    .admin-topbar__meta {
        order: 2;
        flex: 0 1 auto;
        width: auto;
        max-width: none;
        justify-content: flex-end;
        flex-wrap: nowrap;
        gap: 8px;
    }

    .admin-topbar__event-badge {
        max-width: 108px;
        font-size: 10px;
        padding: 3px 8px;
    }

    .admin-topbar__user {
        max-width: 26%;
        font-size: 12px;
        gap: 6px;
    }

    .admin-topbar__clock {
        font-size: 11px;
        gap: 5px;
    }

    .admin-topbar__theme-toggle {
        width: 36px;
        height: 36px;
        flex-shrink: 0;
    }

    .admin-topbar__logout {
        padding: 8px 12px;
        border: 1.5px solid var(--color-border);
        background: var(--color-bg);
        color: var(--color-text);
    }

    .admin-topbar__logout-label {
        display: inline;
        font-size: 12px;
    }
}

/* ---------- Responsivo ---------- */
@media (max-width: 900px) {
    .admin-shell {
        --admin-topbar-height: 72px;
    }

    .admin-topbar {
        padding: 12px 16px;
    }
    
    .admin-main {
        padding: 24px 16px 44px;
    }
    .admin-main.admin-main--catalog-embed {
        padding: 0;
    }
    .admin-main.admin-main--catalog-embed .admin-flashes {
        padding: 16px 16px 0;
    }
    @media (max-width: 767px) {
        .admin-main {
            padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px));
        }
        .admin-main.admin-main--catalog-embed {
            padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px));
        }
    }
    /* Catálogo embutido: logo duplicada — mantém admin-topbar__brand, oculta topbar__brand ao lado da busca */
    .admin-main.admin-main--catalog-embed .topbar__brand {
        display: none;
    }
    .admin-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }
    .admin-kpis .kpi {
        padding: 16px 14px 14px;
    }
    .admin-kpis .kpi__icon {
        width: 36px;
        height: 36px;
        font-size: 16px;
    }
    .admin-kpis .kpi__label {
        font-size: 10px;
        letter-spacing: 0.06em;
    }
    .admin-kpis .kpi__value {
        font-size: 20px;
    }
    .admin-kpis .kpi__hint {
        font-size: 11px;
        line-height: 1.35;
    }
    .admin-table__head {
        display: none;
    }
    /* Transações — expandido (.is-open): coluna completa + status no canto inferior direito */
    .admin-tx__row {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 6px;
        padding: 14px 16px 44px;
        padding-left: 44px;
        grid-template-columns: unset;
    }
    .admin-tx__row > .admin-table__col--toggle {
        position: absolute;
        left: 12px;
        top: 16px;
        z-index: 1;
    }
    .admin-tx__row.is-open > .admin-table__col--toggle {
        transform: none;
    }
    .admin-tx__row > .admin-tx__status {
        position: absolute;
        right: 16px;
        bottom: 12px;
        text-align: right;
    }
    .admin-tx__row > .admin-tx__order + .admin-table__col {
        font-size: 12px;
        color: var(--color-text-muted);
    }
    .admin-table--with-payment:not(.admin-table--tx-wide) .admin-tx__row > .admin-table__col:nth-last-child(2) {
        font-size: 12px;
        font-weight: 600;
        color: var(--color-text);
    }
    .admin-table--tx-wide .admin-tx__row > .admin-table__col:nth-last-child(3) {
        font-size: 12px;
        font-weight: 600;
        color: var(--color-text);
    }
    .admin-table--tx-wide .admin-tx__row > .admin-table__col--seller {
        font-size: 12px;
        font-weight: 600;
        color: var(--color-text-muted);
        white-space: normal;
    }

    /* Celular (≤767px): faixa estreita nas transações com pagamento; tablets/iPads (≥768px) mantêm largura total */
    @media (max-width: 767px) {
        .admin-table--with-payment:not(.admin-table--tx-wide) {
            max-width: min(100%, 400px);
        }
    }

    /* Fechado (mobile): faixa estreita — pedido | badge; data em largura total; vendedor abaixo (só tx-wide) */
    .admin-table--tx-wide .admin-tx__row:not(.is-open),
    .admin-table--with-payment:not(.admin-table--tx-wide) .admin-tx__row:not(.is-open) {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 4px 10px;
        padding: 12px 12px 12px 40px;
        align-items: center;
    }
    .admin-table--tx-wide .admin-tx__row:not(.is-open) > :nth-child(4),
    .admin-table--tx-wide .admin-tx__row:not(.is-open) > :nth-child(5),
    .admin-table--tx-wide .admin-tx__row:not(.is-open) > :nth-child(6),
    .admin-table--with-payment:not(.admin-table--tx-wide) .admin-tx__row:not(.is-open) > :nth-child(4),
    .admin-table--with-payment:not(.admin-table--tx-wide) .admin-tx__row:not(.is-open) > :nth-child(5),
    .admin-table--with-payment:not(.admin-table--tx-wide) .admin-tx__row:not(.is-open) > :nth-child(6) {
        display: none !important;
    }
    .admin-table--tx-wide .admin-tx__row:not(.is-open) > .admin-table__col--toggle,
    .admin-table--with-payment:not(.admin-table--tx-wide) .admin-tx__row:not(.is-open) > .admin-table__col--toggle {
        position: absolute;
        left: 8px;
        top: 50%;
        transform: translateY(-50%);
    }
    .admin-table--tx-wide .admin-tx__row:not(.is-open) > .admin-tx__order,
    .admin-table--with-payment:not(.admin-table--tx-wide) .admin-tx__row:not(.is-open) > .admin-tx__order {
        grid-column: 1;
        grid-row: 1;
        min-width: 0;
    }
    .admin-table--tx-wide .admin-tx__row:not(.is-open) > .admin-tx__status,
    .admin-table--with-payment:not(.admin-table--tx-wide) .admin-tx__row:not(.is-open) > .admin-tx__status {
        position: static;
        grid-column: 2;
        grid-row: 1;
        text-align: right;
    }
    .admin-table--tx-wide .admin-tx__row:not(.is-open) > .admin-tx__order + .admin-table__col,
    .admin-table--with-payment:not(.admin-table--tx-wide) .admin-tx__row:not(.is-open) > .admin-tx__order + .admin-table__col {
        grid-column: 1 / -1;
        grid-row: 2;
    }
    .admin-table--tx-wide .admin-tx__row:not(.is-open) > .admin-table__col--seller {
        grid-column: 1 / -1;
        grid-row: 3;
    }

    .admin-table--tx-wide .admin-tx__row.is-open,
    .admin-table--with-payment:not(.admin-table--tx-wide) .admin-tx__row.is-open {
        display: flex;
        flex-direction: column;
        padding: 14px 16px 44px;
        padding-left: 44px;
    }
    .admin-table--tx-wide .admin-tx__row.is-open > :nth-child(4),
    .admin-table--tx-wide .admin-tx__row.is-open > :nth-child(5),
    .admin-table--tx-wide .admin-tx__row.is-open > :nth-child(6),
    .admin-table--with-payment:not(.admin-table--tx-wide) .admin-tx__row.is-open > :nth-child(4),
    .admin-table--with-payment:not(.admin-table--tx-wide) .admin-tx__row.is-open > :nth-child(5),
    .admin-table--with-payment:not(.admin-table--tx-wide) .admin-tx__row.is-open > :nth-child(6) {
        display: block !important;
        text-align: left !important;
    }
    .admin-table--tx-wide .admin-tx__row.is-open > .admin-tx__status,
    .admin-table--with-payment:not(.admin-table--tx-wide) .admin-tx__row.is-open > .admin-tx__status {
        position: absolute;
        right: 16px;
        bottom: 12px;
    }
    .admin-tx__row.is-open .admin-mov__note-btn {
        display: none;
    }
    .admin-table--tx-wide .admin-tx__row.is-open > .admin-table__col--toggle,
    .admin-table--with-payment:not(.admin-table--tx-wide) .admin-tx__row.is-open > .admin-table__col--toggle {
        top: 16px;
        transform: none;
    }

    /* Colunas com rótulo do cabeçalho (mobile + linha expandida), ex.: Data/hora: valor */
    .admin-table--tx-wide .admin-tx__row.is-open > .admin-tx__order::before,
    .admin-table--tx-wide .admin-tx__row.is-open > .admin-tx__order + .admin-table__col::before,
    .admin-table--tx-wide .admin-tx__row.is-open > :nth-child(4)::before,
    .admin-table--tx-wide .admin-tx__row.is-open > :nth-child(5)::before,
    .admin-table--tx-wide .admin-tx__row.is-open > :nth-child(6)::before,
    .admin-table--tx-wide .admin-tx__row.is-open > .admin-table__col--seller::before,
    .admin-table--tx-wide .admin-tx__row.is-open > .admin-tx__status::before,
    .admin-table--with-payment:not(.admin-table--tx-wide) .admin-tx__row.is-open > .admin-tx__order::before,
    .admin-table--with-payment:not(.admin-table--tx-wide) .admin-tx__row.is-open > .admin-tx__order + .admin-table__col::before,
    .admin-table--with-payment:not(.admin-table--tx-wide) .admin-tx__row.is-open > :nth-child(4)::before,
    .admin-table--with-payment:not(.admin-table--tx-wide) .admin-tx__row.is-open > :nth-child(5)::before,
    .admin-table--with-payment:not(.admin-table--tx-wide) .admin-tx__row.is-open > :nth-child(6)::before,
    .admin-table--with-payment:not(.admin-table--tx-wide) .admin-tx__row.is-open > .admin-tx__status::before {
        font-weight: 600;
        font-size: 11px;
        color: var(--color-text-muted);
    }
    .admin-table--tx-wide .admin-tx__row.is-open > .admin-tx__order::before,
    .admin-table--with-payment:not(.admin-table--tx-wide) .admin-tx__row.is-open > .admin-tx__order::before {
        content: "Pedido: ";
    }
    .admin-table--tx-wide .admin-tx__row.is-open > .admin-tx__order + .admin-table__col::before,
    .admin-table--with-payment:not(.admin-table--tx-wide) .admin-tx__row.is-open > .admin-tx__order + .admin-table__col::before {
        content: "Data/hora: ";
    }
    .admin-table--tx-wide .admin-tx__row.is-open > :nth-child(4)::before,
    .admin-table--with-payment:not(.admin-table--tx-wide) .admin-tx__row.is-open > :nth-child(4)::before {
        content: "Itens: ";
    }
    .admin-table--tx-wide .admin-tx__row.is-open > :nth-child(5)::before,
    .admin-table--with-payment:not(.admin-table--tx-wide) .admin-tx__row.is-open > :nth-child(5)::before {
        content: "Total: ";
    }
    .admin-table--tx-wide .admin-tx__row.is-open > :nth-child(6)::before,
    .admin-table--with-payment:not(.admin-table--tx-wide) .admin-tx__row.is-open > :nth-child(6)::before {
        content: "Pagamento: ";
    }
    .admin-table--tx-wide .admin-tx__row.is-open > .admin-table__col--seller::before {
        content: "Vendedor: ";
    }
    .admin-table--tx-wide .admin-tx__row.is-open > .admin-tx__status::before,
    .admin-table--with-payment:not(.admin-table--tx-wide) .admin-tx__row.is-open > .admin-tx__status::before {
        content: "Status: ";
    }

    .admin-tx__details-inner { padding: 16px; }
    .admin-tx__client-grid {
        grid-template-columns: 1fr;
    }
    .admin-tx__items-head { display: none; }
    .admin-tx__items-row {
        grid-template-columns: 1fr auto;
        padding: 12px 14px;
    }
    .admin-tx__items-row > :nth-child(1) { grid-column: 1 / -1; }
    .admin-tx__items-row > :nth-child(2) {
        grid-column: 1;
        font-size: 12px;
        color: var(--color-text-muted);
        text-align: left;
    }
    .admin-tx__items-row > :nth-child(2)::before {
        content: "SKU: ";
        font-weight: 700;
        color: var(--color-text-muted);
    }
    .admin-tx__items-row > :nth-child(3) {
        grid-column: 1;
        font-size: 12px;
        color: var(--color-text-muted);
        text-align: left;
    }
    .admin-tx__items-row > :nth-child(3)::before {
        content: "Categoria: ";
        font-weight: 700;
        color: var(--color-text-muted);
    }
    .admin-tx__items-row > :nth-child(4),
    .admin-tx__items-row > :nth-child(5),
    .admin-tx__items-row > :nth-child(6) {
        text-align: right;
    }
    .admin-tx__items-row > :nth-child(4).admin-table__col--num {
        grid-column: 2;
        font-size: 12px;
        color: var(--color-text-muted);
    }
    .admin-tx__items-row > :nth-child(4).admin-table__col--num::before {
        content: "Qtd: ";
        font-weight: 700;
        color: var(--color-text-muted);
    }
    .admin-tx__items-row > :nth-child(5) { grid-column: 2; font-size: 12px; color: var(--color-text-muted); }
    .admin-tx__items-row > :nth-child(6) { grid-column: 2; }
}

/* Restaura altura da topbar em tablet (após regras gerais de max-width: 900px) */
@media (min-width: 768px) and (max-width: 900px) {
    .admin-shell {
        --admin-topbar-height: 72px;
    }
}

/* Desktop: catálogo embutido — offset do main (admin-topbar fixa) + logo na topbar do catálogo */
@media (min-width: 901px) {
    .admin-shell > .admin-main.admin-main--catalog-embed {
        padding-top: var(--admin-topbar-height);
    }

    .admin-main.admin-main--catalog-embed .topbar__brand {
        display: inline-flex;
    }
}

.admin-mov__wrapper {
    position: relative;
}

.admin-mov__user-cell {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

.admin-mov__note-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    flex-shrink: 0;
    margin-left: 0;
    border-radius: var(--radius-md);
    background: transparent;
    color: #0c8a4d;
    font-size: 13px;
    text-decoration: none;
    transition: background 0.12s, transform 0.1s, color 0.12s;
    vertical-align: middle;
}

.admin-mov__note-btn:hover {
    background: rgba(15, 157, 88, 0.12);
    color: #0a6e45;
}

.admin-mov__note-btn:active {
    transform: scale(0.95);
}

/* ==========================================================================
   Eventos de Estoque
   ========================================================================== */

/* Lista de eventos (tabela) */
.admin-events-list__row {
    display: grid;
    grid-template-columns: 2fr 0.52fr 0.52fr 1fr auto;
    gap: 12px;
    align-items: center;
    padding: 12px 20px;
    border-bottom: 1px solid var(--color-border);
    font-size: 14px;
}

.admin-table > .admin-events-list__row:last-child { border-bottom: none; }

.admin-events-list__name {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 8px;
    min-width: 0;
}

.admin-events-list__name > strong {
    min-width: 0;
}

.admin-events-list__name > .admin-stock__meta {
    flex-basis: 100%;
    width: 100%;
    justify-content: flex-start;
}

.admin-events-list__name > i {
    display: none;
}

.admin-events-list__row--archived {
    opacity: 0.72;
}

.admin-events-list .admin-events-list__created {
    text-align: left;
    justify-self: start;
}

.admin-table__head.admin-events-list__row .admin-events-list__created {
    text-align: left;
    justify-self: start;
}

.admin-events-list__stat--products,
.admin-events-list__stat--sellers {
    text-align: center;
    font-variant-numeric: tabular-nums;
}

.admin-events-list__stat--products::before,
.admin-events-list__stat--sellers::before {
    content: none;
}

.admin-events-list__meta {
    display: contents;
}

/* Seção "arquivados" colapsada */
.admin-events-archived__summary {
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 700;
    color: var(--color-text-muted);
    padding: 10px 0;
    user-select: none;
}

.admin-events-archived__summary:hover {
    color: var(--color-text);
}

/* Grade do estoque do evento (Produto | Preço | Vendas | Estoque | Mínimo | Situação | Ações) */
.admin-event__row {
    grid-template-columns: 2fr 0.65fr 0.55fr 0.55fr 0.55fr 0.9fr auto !important;
}

.admin-event__row:not(:has(.admin-stock__actions-head)):not(:has(.admin-stock__actions)) {
    grid-template-columns: 2fr 0.65fr 0.55fr 0.55fr 0.55fr 0.9fr !important;
}

.admin-stock__price {
    white-space: nowrap;
}

.admin-stock__price-flag {
    color: var(--color-primary, #0e167a);
    font-weight: 700;
    margin-left: 1px;
}

@media (min-width: 901px) {
    .admin-event__row > :nth-child(2),
    .admin-event__row > :nth-child(3),
    .admin-event__row > :nth-child(4),
    .admin-event__row > :nth-child(5) {
        justify-self: stretch;
        text-align: center;
    }

    .admin-event__row > :nth-child(5) {
        display: block;
    }

    .admin-event__row > :nth-child(6) {
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap;
        gap: 6px;
        min-width: 0;
    }
}

/* Painel inline de edição de estoque */
.admin-event__edit-row {
    background: rgba(14, 22, 122, 0.03);
    border-bottom: 1px solid var(--color-border);
    padding: 14px 20px;
}

.admin-event__edit-form {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

.admin-event__edit-label {
    font-size: 13px;
    color: var(--color-text-muted);
    min-width: 0;
    flex: 1 1 200px;
}

.admin-event__edit-field {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
}

/* Botão destrutivo (remover produto) */
.admin-btn--danger {
    color: #c0392b;
    border-color: rgba(192, 57, 43, 0.3);
}

.admin-btn--danger:hover,
.admin-btn--danger:focus-visible {
    background: rgba(192, 57, 43, 0.08);
    color: #a93226;
    border-color: rgba(192, 57, 43, 0.5);
}

/* Responsivo para eventos */
@media (max-width: 900px) {
    .admin-events-list__row {
        grid-template-columns: 1fr auto;
        grid-template-areas:
            "name    actions"
            "meta    meta";
        gap: 8px 12px;
        padding: 12px 16px;
    }
    .admin-events-list__row > :nth-child(1) { grid-area: name; }
    .admin-events-list__meta {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-start;
        gap: 6px 12px;
        grid-area: meta;
        min-width: 0;
        width: 100%;
        font-size: 12px;
        color: var(--color-text-muted);
    }
    .admin-events-list__meta .admin-events-list__stat--products,
    .admin-events-list__meta .admin-events-list__stat--sellers,
    .admin-events-list__meta .admin-events-list__created {
        display: inline;
        width: auto;
        flex: 0 1 auto;
        min-width: 0;
        text-align: left;
        white-space: nowrap;
    }
    .admin-events-list__stat--products::before {
        content: "Produtos: ";
        font-weight: 700;
        color: var(--color-text-muted);
    }
    .admin-events-list__stat--sellers::before {
        content: "Vendedores: ";
        font-weight: 700;
        color: var(--color-text-muted);
    }
    .admin-events-list__row > :nth-child(3) { grid-area: actions; justify-self: end; }
    .admin-table__head.admin-events-list__row { display: none; }

    .admin-event__row {
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-areas:
            "product product"
            "price   sales"
            "qty     min"
            "status  actions";
        gap: 8px 12px;
        padding: 14px 16px;
        align-items: start;
    }
    .admin-event__row > :nth-child(1) { grid-area: product; }
    .admin-event__row > :nth-child(2) { grid-area: price; }
    .admin-event__row > :nth-child(3) { grid-area: sales; }
    .admin-event__row > :nth-child(4) { grid-area: qty; }
    .admin-event__row > :nth-child(5) { grid-area: min; justify-self: end; }
    .admin-event__row > :nth-child(6) { grid-area: status; }
    .admin-event__row > :nth-child(7) { grid-area: actions; justify-self: end; align-self: start; }
    .admin-event__row:not(:has(.admin-stock__actions)):not(:has(.admin-stock__actions-head)) {
        grid-template-areas:
            "product product"
            "price   sales"
            "qty     min"
            "status  status";
    }
    .admin-table__head.admin-event__row { display: none; }

    .admin-event__edit-form {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
}

/* ==========================================================================
   Badge-select de troca de evento (ao lado do badge Admin na topbar)
   ========================================================================== */

/* Badge-select de troca de evento */
.admin-event-nav__badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 5px 10px 5px 10px;
    border-radius: var(--radius-pill);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.04em;
    white-space: nowrap;
    flex-shrink: 1;
    min-width: 0;
    background: rgba(14, 22, 122, 0.12);
    color: var(--color-primary);
    border: 1.5px solid rgba(14, 22, 122, 0.18);
    max-width: 260px;
}

.admin-event-nav__badge-icon {
    font-size: 13px;
    flex-shrink: 0;
}

.admin-event-nav__chevron {
    font-size: 10px;
    flex-shrink: 0;
    opacity: 0.75;
    margin-left: -2px;
    cursor: pointer;
    padding: 2px;
}

.admin-event-nav__chevron:hover {
    opacity: 1;
}

.admin-event-nav__chevron:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
    border-radius: 2px;
}

.admin-event-nav__select {
    appearance: none;
    background: transparent;
    border: none;
    outline: none;
    font-size: 12px;
    font-weight: 800;
    font-family: inherit;
    color: inherit;
    cursor: pointer;
    letter-spacing: 0.03em;
    min-width: 0;
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    padding: 0;
    line-height: 1.3;
}

.admin-event-nav__select option {
    font-weight: 600;
    color: var(--color-text);
    background: var(--color-surface);
}

/* Header do dashboard do evento — botão discreto de edição */
.admin-event-header__actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.admin-event-header__desc {
    margin-top: 6px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.45;
    max-width: 560px;
}

.admin-event-header__desc--muted {
    font-style: italic;
    color: var(--color-text-muted);
    opacity: 0.92;
}

.admin-event-edit-trigger {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    margin: 0;
    border: none;
    border-radius: var(--radius-md);
    background: transparent;
    font-family: inherit;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--color-text-muted);
    cursor: pointer;
    transition: color var(--transition), background var(--transition);
}

.admin-event-edit-trigger:hover {
    color: var(--color-primary);
    background: rgba(14, 22, 122, 0.06);
}

.admin-event-edit-trigger:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.admin-event-edit-trigger i {
    font-size: 12px;
    opacity: 0.85;
}

@media (max-width: 640px) {
    .admin-event-edit-trigger span {
        clip: rect(0 0 0 0);
        clip-path: inset(50%);
        height: 1px;
        overflow: hidden;
        position: absolute;
        white-space: nowrap;
        width: 1px;
    }
    .admin-event-edit-trigger {
        padding: 8px 10px;
    }
}

/* Lightbox — ampliação da thumb do produto (Biblioteca / Estoque) */
.admin-image-lightbox {
    margin: auto;
    padding: 0;
    border: none;
    max-width: min(94vw, 820px);
    width: auto;
    background: transparent;
    box-shadow: none;
}

.admin-image-lightbox::backdrop {
    background: rgba(10, 16, 89, 0.72);
    backdrop-filter: blur(4px);
}

.admin-image-lightbox__panel {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    overflow: hidden;
    max-width: min(92vw, 780px);
}

.admin-image-lightbox__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 18px;
    border-bottom: 1px solid var(--color-border);
}

.admin-image-lightbox__title {
    margin: 0;
    font-size: 15px;
    font-weight: 700;
    color: var(--color-text);
    line-height: 1.35;
    padding-right: 8px;
}

.admin-image-lightbox__close {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: var(--radius-md);
    background: transparent;
    color: var(--color-text-muted);
    cursor: pointer;
    font-size: 18px;
    transition: background var(--transition), color var(--transition);
}

.admin-image-lightbox__close:hover {
    background: rgba(14, 22, 122, 0.08);
    color: var(--color-text);
}

.admin-image-lightbox__body {
    padding: 16px 18px 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--color-bg);
}

.admin-image-lightbox__img {
    display: block;
    max-width: min(86vw, 720px);
    max-height: min(72vh, 640px);
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: var(--radius-sm);
}

/* Modal genérico do admin (<dialog>) */
.admin-modal {
    margin: auto;
    padding: 0;
    border: none;
    border-radius: var(--radius-lg);
    max-width: 460px;
    width: calc(100vw - 32px);
    background: transparent;
    box-shadow: none;
}

.admin-modal::backdrop {
    background: rgba(15, 23, 42, 0.42);
    backdrop-filter: blur(2px);
}

.admin-modal__panel {
    background: var(--color-surface);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    overflow: hidden;
    border: 1px solid var(--color-border);
}

.admin-modal__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 18px 22px 14px;
    border-bottom: 1px solid var(--color-border);
}

.admin-modal__title {
    margin: 0;
    font-size: 17px;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--color-text);
}

.admin-modal__close {
    flex-shrink: 0;
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: var(--radius-md);
    background: transparent;
    color: var(--color-text-muted);
    cursor: pointer;
    font-size: 18px;
    transition: background var(--transition), color var(--transition);
}

.admin-modal__close:hover {
    background: rgba(14, 22, 122, 0.08);
    color: var(--color-text);
}

.admin-modal__body {
    padding: 20px 22px 22px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.admin-modal__footer {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 4px;
    padding: 15px;
}

/* Modal — adicionar produto a evento */
.admin-modal--add-event {
    max-width: 500px;
}

.admin-modal--bulk-stock {
    max-width: 560px;
    width: 92vw;
}

.bulk-stock-modal__list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-height: 42vh;
    overflow-y: auto;
    padding-right: 4px;
}

.bulk-stock-modal__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    background: var(--color-bg);
    border-radius: var(--radius-md);
    border: 1px solid var(--color-border);
}

.bulk-stock-modal__row-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.bulk-stock-modal__row-info strong {
    font-size: 14px;
    color: var(--color-text);
}

.bulk-stock-modal__row-info small {
    color: var(--color-text-muted);
    font-size: 12px;
}

.bulk-stock-modal__row-qty {
    flex-shrink: 0;
    width: 110px;
    margin: 0;
}

.bulk-stock-modal__row-qty .admin-field__label {
    font-size: 11px;
}

.admin-modal__product-strip {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    background: var(--color-bg);
    border-radius: var(--radius-md);
    border: 1px solid var(--color-border);
}

.admin-modal__product-thumb {
    width: 48px;
    height: 48px;
    object-fit: contain;
    border-radius: var(--radius-sm);
    flex-shrink: 0;
    background: var(--color-surface);
}

.admin-modal__product-meta {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.admin-modal__product-name {
    font-size: 14px;
    font-weight: 700;
    color: var(--color-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.admin-modal__product-sku {
    font-size: 12px;
    color: var(--color-text-muted);
}

.admin-modal__stock-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.admin-modal__feedback {
    font-size: 13px;
    border-radius: var(--radius-sm);
    padding: 8px 12px;
    margin: 0;
}

.admin-modal__feedback[hidden] {
    display: none !important;
}

.admin-modal__feedback--error {
    color: var(--color-danger, #dc2626);
    background: rgba(220, 38, 38, 0.07);
}

.admin-modal__feedback--success {
    color: #0c8a4d;
    background: rgba(12, 138, 77, 0.1);
}

/* Diálogo de confirmação (admin.js) */
.admin-modal--confirm {
    max-width: 440px;
}

.admin-confirm__body {
    align-items: center;
    text-align: center;
    gap: 14px;
}

.admin-confirm__icon {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 22px;
    flex-shrink: 0;
    background: rgba(14, 22, 122, 0.08);
    color: var(--color-primary);
}

.admin-confirm__icon--destructive {
    background: rgba(220, 38, 38, 0.12);
    color: #dc2626;
}

.admin-confirm__icon--positive {
    background: rgba(12, 138, 77, 0.12);
    color: #0c8a4d;
}

.admin-confirm__message {
    margin: 0;
    width: 100%;
    font-size: 15px;
    line-height: 1.55;
    color: var(--color-text);
    text-align: left;
}

.admin-confirm__footer {
    padding: 0 22px 20px;
    border-top: none;
}

/* Modal de reinício do sistema (topbar) */
.admin-modal--reset {
    max-width: 520px;
}

.admin-modal--reset::backdrop {
    background: rgba(127, 29, 29, 0.35);
}

.admin-reset-modal__panel {
    border: 2px solid rgba(220, 38, 38, 0.45);
    box-shadow: 0 20px 48px rgba(127, 29, 29, 0.22);
}

.admin-reset-modal__header {
    background: linear-gradient(180deg, rgba(254, 242, 242, 0.95) 0%, var(--color-surface) 100%);
    border-bottom: 1px solid rgba(220, 38, 38, 0.25);
}

.admin-reset-modal__header .admin-modal__title {
    color: #991b1b;
}

.admin-reset-modal__body {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.admin-reset-modal__icon {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 22px;
    flex-shrink: 0;
    align-self: center;
    background: rgba(220, 38, 38, 0.14);
    color: #dc2626;
}

.admin-reset-modal__desc {
    margin: 0;
    font-size: 14px;
    line-height: 1.55;
    color: var(--color-text);
}

.admin-reset-modal__desc strong {
    color: #991b1b;
}

.admin-reset-modal__footer {
    border-top: 1px solid rgba(220, 38, 38, 0.15);
    padding: 16px;
}

.admin-modal__hint {
    font-size: 13px;
    color: var(--color-text-muted);
    margin: 0;
    display: flex;
    align-items: center;
    gap: 6px;
}

/* Prévia de estoque ao selecionar evento no modal "Adicionar ao Evento" */
.add-event-stock-preview {
    display: flex;
    align-items: center;
    gap: 0;
    margin-top: -4px;
    padding: 8px 12px;
    border-radius: var(--radius-sm);
    background: var(--color-bg);
    border: 1px solid var(--color-border);
    font-size: 12px;
}

.add-event-stock-preview[hidden] {
    display: none !important;
}

.add-event-stock-preview__item {
    display: flex;
    flex-direction: column;
    gap: 1px;
    flex: 1;
}

.add-event-stock-preview__label {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--color-text-muted);
}

.add-event-stock-preview__value {
    font-size: 18px;
    font-weight: 800;
    color: var(--color-text);
    font-variant-numeric: tabular-nums;
    line-height: 1.1;
}

.add-event-stock-preview__sep {
    width: 1px;
    height: 32px;
    background: var(--color-border);
    margin: 0 14px;
    flex-shrink: 0;
}

/* Mensagem "produto novo neste evento" */
.add-event-stock-preview--new {
    display: flex !important;
    align-items: center;
    gap: 7px;
    margin-top: -4px;
    padding: 8px 12px;
    border-radius: var(--radius-sm);
    background: rgba(14, 22, 122, 0.05);
    border: 1px solid rgba(14, 22, 122, 0.12);
    font-size: 12px;
    color: var(--color-primary);
    line-height: 1.4;
}

.add-event-stock-preview--new[hidden] {
    display: none !important;
}

.add-event-stock-preview--new i {
    flex-shrink: 0;
    font-size: 13px;
    opacity: 0.8;
}

/* Spinner enquanto carrega */
.add-event-stock-preview[aria-busy="true"] .add-event-stock-preview__value {
    opacity: 0.4;
}

/* Responsivo do badge-select de evento na topbar */
@media (max-width: 900px) {
    .admin-event-nav__badge {
        max-width: 160px;
        font-size: 11px;
        padding: 4px 8px;
    }
    .admin-event-nav__select {
        max-width: 110px;
        font-size: 11px;
    }
    .admin-event-nav__chevron {
        font-size: 9px;
    }
}

/* ---------------------------------------------------------------------------
   Painel do vendedor — modo evento
   --------------------------------------------------------------------------- */

.admin-nav__event-badge {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    background: var(--color-primary);
    color: #fff;
    border-radius: 99px;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
    max-width: 180px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.admin-field__hint-row {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--color-text-muted);
    cursor: pointer;
    margin: 0 0 8px;
}

.admin-field__hint-row input {
    cursor: pointer;
}

.admin-event-badge-color-wrap {
    margin-top: 4px;
}

/* ---------------------------------------------------------------------------
   Promoções — painel admin
   --------------------------------------------------------------------------- */

/* Badge de tipo de regra na listagem */
.admin-badge--promo-type {
    background: rgba(124, 58, 237, 0.10);
    color: #6d28d9;
    border: 1px solid rgba(124, 58, 237, 0.20);
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    font-weight: 600;
    padding: 3px 10px;
    border-radius: 99px;
    white-space: nowrap;
}

/* Grid da listagem de promoções */
.admin-promos-list__row {
    display: grid;
    grid-template-columns: minmax(180px, 1.5fr) minmax(160px, 1.2fr) minmax(160px, 1.5fr) 90px 110px;
    gap: 12px;
    align-items: center;
    padding: 13px 20px;
    border-bottom: 1px solid var(--color-border);
    font-size: 14px;
}

.admin-promos-list__row:last-child {
    border-bottom: none;
}

.admin-promos-list__name strong {
    color: var(--color-text);
    font-weight: 600;
}

.admin-promos-list__products {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.admin-promos-list__product-count {
    font-size: 13px;
    font-weight: 600;
    color: var(--color-text);
}

.admin-promos-list__product-names {
    font-size: 11px;
    color: var(--color-text-muted);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 260px;
}

.admin-promos-list__actions {
    display: flex;
    gap: 6px;
    align-items: center;
}

/* Formulário de criação / edição */
.admin-promo-form {
    margin-top: 28px;
}

.admin-promo-create-form,
.admin-promo-edit-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Lista de produtos participantes (promoções) */
.admin-promo-product-list {
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    overflow: hidden;
}

.admin-promo-product-list__controls {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    background: var(--color-bg);
    border-bottom: 1px solid var(--color-border);
}

.admin-promo-product-filter {
    flex: 1 1 200px;
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.admin-promo-product-filter__icon {
    color: var(--color-text-muted);
    font-size: 14px;
    flex-shrink: 0;
}

.admin-promo-product-filter__input {
    flex: 1;
    min-width: 0;
    height: 36px;
    padding: 0 12px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm, 8px);
    background: var(--color-surface);
    font-size: 14px;
    color: var(--color-text);
}

.admin-promo-product-filter__input::placeholder {
    color: var(--color-text-muted);
}

.admin-promo-product-filter__input:focus {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 2px rgba(14, 22, 122, 0.12);
}

.admin-promo-product-list__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    flex-shrink: 0;
}

.admin-btn--xs {
    font-size: 12px;
    padding: 4px 10px;
    height: auto;
    min-height: unset;
}

.admin-promo-product-list__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 0;
    max-height: 320px;
    overflow-y: auto;
}

.admin-promo-product-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    cursor: pointer;
    border-bottom: 1px solid var(--color-border);
    transition: background var(--transition, 120ms ease);
    font-size: 13px;
}

.admin-promo-product-item:hover {
    background: var(--color-bg);
}

.admin-promo-product-item__check {
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    cursor: pointer;
    accent-color: var(--color-primary);
}

.admin-promo-product-item__name {
    flex: 1;
    font-weight: 500;
    color: var(--color-text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-promo-product-item__meta {
    font-size: 11px;
    color: var(--color-text-muted);
    white-space: nowrap;
    flex-shrink: 0;
}

/* Preview BOGO */
.admin-promo-bogo-preview {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    background: rgba(124, 58, 237, 0.06);
    border: 1px solid rgba(124, 58, 237, 0.15);
    border-radius: var(--radius-sm, 6px);
    color: #6d28d9;
    font-size: 13px;
    font-weight: 500;
}

/* Card de info na página de detalhe */
.admin-promo-info-card .admin-card__title {
    color: var(--color-primary);
}

.admin-promo-info-body {
    padding: 4px 0;
    font-size: 14px;
    line-height: 1.6;
    color: var(--color-text);
}

.admin-text-muted {
    color: var(--color-text-muted);
}

/* Responsivo */
@media (max-width: 900px) {
    .admin-promos-list__row {
        grid-template-columns: 1fr auto;
        grid-template-areas:
            "name    actions"
            "rule    rule"
            "products products"
            "status  status";
        gap: 6px 12px;
        padding: 12px 16px;
    }
    .admin-promos-list__row > :nth-child(1) { grid-area: name; }
    .admin-promos-list__row > :nth-child(2) { grid-area: rule; }
    .admin-promos-list__row > :nth-child(3) { grid-area: products; }
    .admin-promos-list__row > :nth-child(4) { grid-area: status; }
    .admin-promos-list__row > :nth-child(5) { grid-area: actions; justify-self: end; align-self: start; }
    .admin-table__head.admin-promos-list__row { display: none; }
}

/* ---------------------------------------------------------------------------
   Catálogo — badges e preços promocionais (card do produto)
   --------------------------------------------------------------------------- */

.product-card--promo {
    position: relative;
}

.product-card__promo-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: #7c3aed;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.03em;
    padding: 4px 10px;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(124, 58, 237, 0.35);
    pointer-events: none;
    max-width: 100%;
    white-space: normal;
    line-height: 1.3;
}

.product-card__price-wrap {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 2px;
}

.product-card__price-original {
    font-size: 13px;
    color: var(--color-text-muted, #888);
    text-decoration: line-through;
    font-weight: 400;
}

.product-card__price--promo {
    color: #7c3aed;
    font-weight: 800;
}

.product-card__promo-name {
    font-size: 11px;
    color: #7c3aed;
    font-weight: 600;
    background: rgba(124, 58, 237, 0.08);
    border: 1px solid rgba(124, 58, 237, 0.18);
    padding: 2px 8px;
    border-radius: 12px;
    white-space: normal;
    line-height: 1.3;
}

.product-card__delivery-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #a5620a;
    pointer-events: auto;
    background: rgba(165, 98, 10, 0.08);
    padding: 3px 9px 3px 3px;
    border-radius: 99px;
    border: 1px solid rgba(165, 98, 10, 0.32);
}

.product-card__delivery-badge .admin-tx__delivery-badge {
    padding: 3px 5px;
    background: rgba(165, 98, 10, 0.22);
    color: #a5620a;
    border: 1px solid rgba(165, 98, 10, 0.45);
}

.product-card__delivery-badge .admin-stock__delivery-count {
    color: #a5620a;
}

html.admin-theme--dark .product-card__delivery-badge,
html.admin-theme--dark .product-card__delivery-badge .admin-tx__delivery-badge,
html.admin-theme--dark .product-card__delivery-badge .admin-stock__delivery-count {
    color: #a5620a;
}

html.admin-theme--dark .product-card__delivery-badge {
    background: rgba(165, 98, 10, 0.14);
    border-color: rgba(165, 98, 10, 0.42);
    box-shadow: 0 2px 10px rgba(165, 98, 10, 0.28);
}

.admin-event-badge-color-input {
    width: 100%;
    max-width: 160px;
    height: 40px;
    padding: 2px;
    border: 1px solid var(--color-border, rgba(0, 0, 0, 0.12));
    border-radius: var(--radius, 8px);
    background: var(--color-bg);
    cursor: pointer;
}

.admin-events-list__badge-swatch {
    flex-shrink: 0;
    max-width: 36px;
    padding: 2px 8px;
    margin-left: 4px;
    font-size: 11px;
    vertical-align: middle;
}

.seller-event-banner {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 20px;
    background: color-mix(in srgb, var(--color-primary) 10%, transparent);
    border-left: 4px solid var(--color-primary);
    border-radius: var(--radius);
    font-size: 14px;
    color: var(--color-text);
    margin-bottom: 8px;
}

.seller-event-banner i {
    color: var(--color-primary);
    flex-shrink: 0;
    font-size: 16px;
}

html.admin-theme--dark {
    color-scheme: dark;

    /* Destaque (botões, links, ícones ativos) — amarelo da marca */
    --color-primary: #f0c030;
    --color-primary-dark: #d4a810;
    --color-primary-light: #ffd966;

    /* Estrutura — azul quase preto (sutil identidade Odonto Master) */
    --color-text: #e4e8f8;
    --color-text-muted: #6d78a8;
    --color-bg: #03051a;
    --color-surface: #080b28;
    --color-border: #141a3d;
    --color-shadow: rgba(0, 0, 0, 0.65);

    --shadow-sm: 0 2px 10px rgba(0, 0, 0, 0.45);
    --shadow-md: 0 8px 28px rgba(0, 0, 0, 0.55);
    --shadow-lg: 0 18px 48px rgba(0, 0, 0, 0.65);

    --admin-tint: rgba(240, 192, 48, 0.12);
    --admin-tint-hover: rgba(240, 192, 48, 0.20);
    --admin-tint-strong: rgba(240, 192, 48, 0.28);
    --admin-accent-glow: rgba(240, 192, 48, 0.38);
    --admin-blue-tint: rgba(14, 22, 122, 0.22);
    --admin-blue-tint-soft: rgba(14, 22, 122, 0.10);
    --admin-success: #6ecf96;
    --admin-success-bg: rgba(110, 207, 150, 0.14);
    --admin-warn: #e89420;
    --admin-warn-bg: rgba(232, 148, 32, 0.14);
    --admin-danger: #f07178;
    --admin-danger-bg: rgba(240, 113, 120, 0.14);
    --admin-info: #6ba8f5;
    --admin-info-bg: rgba(107, 168, 245, 0.14);
}

html.admin-theme--dark ::selection {
    background: var(--color-primary);
    color: #03051a;
}

html.admin-theme--dark ::-webkit-scrollbar-thumb {
    background: rgba(240, 192, 48, 0.28);
}

html.admin-theme--dark ::-webkit-scrollbar-thumb:hover {
    background: rgba(240, 192, 48, 0.42);
}

/* Login */
html.admin-theme--dark .admin-login {
    background:
        radial-gradient(circle at 20% 20%, rgba(14, 22, 122, 0.18), transparent 55%),
        radial-gradient(circle at 80% 80%, rgba(240, 192, 48, 0.04), transparent 55%),
        var(--color-bg);
}

html.admin-theme--dark .admin-field__toggle-pass:hover {
    background: var(--admin-tint);
    color: var(--color-primary);
}

html.admin-theme--dark .admin-field__input:focus,
html.admin-theme--dark .admin-filter__input:focus {
    background: var(--color-surface);
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px var(--admin-tint-strong);
}

html.admin-theme--dark .admin-field__input--invalid,
html.admin-theme--dark .admin-field__input--invalid:focus {
    border-color: var(--admin-danger);
    background: var(--admin-danger-bg);
    box-shadow: 0 0 0 4px rgba(240, 113, 120, 0.12);
}

html.admin-theme--dark .admin-field__error {
    color: var(--admin-danger);
}

html.admin-theme--dark .admin-alert--error {
    background: var(--admin-danger-bg);
    color: var(--admin-danger);
}

html.admin-theme--dark .admin-login__back:hover {
    color: var(--color-primary);
}

/* Topbar e navegação */
html.admin-theme--dark .admin-topbar {
    border-bottom: 1px solid var(--color-border);
    box-shadow: none;
}

html.admin-theme--dark .admin-topbar__badge {
    background: var(--admin-tint);
    color: var(--color-primary-light);
}

html.admin-theme--dark .admin-topbar__user i,
html.admin-theme--dark .admin-topbar__clock i {
    color: var(--color-primary);
}

html.admin-theme--dark .admin-topbar__logout:hover,
html.admin-theme--dark .admin-topbar__theme-toggle:hover {
    border-color: var(--color-primary);
    color: var(--color-primary);
}

html.admin-theme--dark .admin-nav__item:hover {
    background: var(--admin-tint);
    color: var(--color-primary);
}

html.admin-theme--dark .admin-nav__item.is-active {
    background: var(--admin-tint-strong);
    color: var(--color-primary-light);
}

html.admin-theme--dark .admin-event-nav__badge {
    background: rgba(88, 106, 255, 0.14);
    border-color: rgba(88, 106, 255, 0.30);
    color: var(--color-primary-light);
}

html.admin-theme--dark .admin-bottom-nav {
    background: var(--color-surface);
    border-top-color: var(--color-border);
    box-shadow: 0 -2px 14px rgba(0, 0, 0, 0.35);
}

html.admin-theme--dark .admin-bottom-nav__item.is-active .admin-bottom-nav__badge {
    background: var(--admin-tint-strong);
}

html.admin-theme--dark .admin-breadcrumb {
    color: var(--color-primary);
}

html.admin-theme--dark .admin-breadcrumb:hover {
    background: var(--admin-tint);
    color: var(--color-primary-light);
}

/* KPIs */
html.admin-theme--dark .kpi::before {
    background: var(--color-primary);
}

html.admin-theme--dark .kpi__icon {
    background: var(--admin-tint);
    color: var(--color-primary);
}

html.admin-theme--dark .kpi--primary::before {
    background: var(--color-primary);
}

html.admin-theme--dark .kpi--primary .kpi__icon {
    color: var(--color-primary);
}

html.admin-theme--dark .kpi--success::before {
    background: var(--admin-success);
}

html.admin-theme--dark .kpi--success .kpi__icon {
    background: var(--admin-success-bg);
    color: var(--admin-success);
}

html.admin-theme--dark .kpi--warn::before {
    background: var(--admin-warn);
}

html.admin-theme--dark .kpi--warn .kpi__icon {
    background: var(--admin-warn-bg);
    color: var(--admin-warn);
}

html.admin-theme--dark .kpi--link .kpi__link-arrow {
    color: var(--color-text-muted);
    opacity: 0.5;
}

html.admin-theme--dark .kpi--link:hover .kpi__link-arrow {
    color: var(--color-primary-light);
    opacity: 0.95;
}

html.admin-theme--dark .kpi--link.kpi--warn .kpi__link-arrow {
    color: var(--admin-warn);
    opacity: 0.75;
}

html.admin-theme--dark .kpi--link.kpi--warn:hover .kpi__link-arrow {
    color: var(--admin-warn);
    opacity: 1;
}

html.admin-theme--dark .admin-empty i {
    color: var(--color-primary);
}

/* Tabelas e listagens */
html.admin-theme--dark .admin-event-dash-sales__row.admin-table__head {
    background: var(--admin-tint);
}

html.admin-theme--dark .admin-event-dash-sales__prod-name a {
    color: var(--color-primary-light);
}

html.admin-theme--dark .admin-event-dash-sales__table--by-day
    > .admin-event-dash-sales__row:not(.admin-table__head):nth-child(even),
html.admin-theme--dark .admin-event-dash-sales__table--top-skus
    > .admin-event-dash-sales__row--top:not(.admin-table__head):nth-child(even) {
    background: rgba(240, 192, 48, 0.04);
}

html.admin-theme--dark .admin-tx__row:hover,
html.admin-theme--dark .admin-tx__row.is-open {
    background: var(--admin-tint);
}

html.admin-theme--dark .admin-tx__order strong,
html.admin-theme--dark .admin-tx__row.is-open .admin-tx__chevron {
    color: var(--color-primary);
}

html.admin-theme--dark .admin-tx__copy-order:hover {
    color: var(--color-primary);
    background: var(--admin-tint-hover);
}

html.admin-theme--dark .admin-tx__restore-cart {
    color: var(--color-primary);
    background: var(--admin-tint);
}

html.admin-theme--dark .admin-tx__restore-cart:hover {
    background: var(--admin-tint-strong);
    color: var(--color-primary-light);
}

html.admin-theme--dark .admin-tx__handover-btn:hover {
    background: var(--admin-success-bg);
    color: var(--admin-success);
}

html.admin-theme--dark .admin-tx__handover-done {
    color: var(--admin-success);
}

html.admin-theme--dark .admin-mov__note-btn:hover {
    background: var(--admin-tint-hover);
}

html.admin-theme--dark .admin-mov__product small code.admin-mov__sku {
    background: var(--admin-tint);
    color: var(--color-primary-light);
}

html.admin-theme--dark .admin-mov__product a:hover {
    color: var(--color-primary);
}

html.admin-theme--dark .admin-mov__reason code {
    color: var(--color-primary-light);
}

html.admin-theme--dark .admin-mov__badge--venda,
html.admin-theme--dark .admin-mov__badge--inicial {
    background: var(--admin-tint);
    color: var(--color-primary-light);
}

html.admin-theme--dark .admin-stock__sku-code,
html.admin-theme--dark .admin-stock__qty strong {
    color: var(--color-primary-light);
}

html.admin-theme--dark .admin-event-dash-sales__sku {
    background: var(--admin-tint);
    color: var(--color-primary-light);
}

html.admin-theme--dark .admin-event__edit-row {
    background: rgba(240, 192, 48, 0.05);
}

html.admin-theme--dark .admin-event-edit-trigger:hover {
    color: var(--color-primary);
    background: var(--admin-tint);
}

html.admin-theme--dark input[type="checkbox"],
html.admin-theme--dark input[type="radio"] {
    accent-color: var(--color-primary);
}

/* Badges e status */
html.admin-theme--dark .admin-badge--success {
    background: var(--admin-success-bg);
    color: var(--admin-success);
}

html.admin-theme--dark .admin-badge--warn {
    background: var(--admin-warn-bg);
    color: var(--admin-warn);
}

html.admin-theme--dark .admin-badge--danger {
    background: var(--admin-danger-bg);
    color: var(--admin-danger);
}

html.admin-theme--dark .admin-badge--info {
    background: var(--admin-info-bg);
    color: var(--admin-info);
}

html.admin-theme--dark .admin-badge--neutral {
    background: var(--admin-blue-tint-soft);
    color: var(--color-text-muted);
}

html.admin-theme--dark .admin-badge--promo-type {
    background: rgba(240, 192, 48, 0.16);
    color: var(--color-primary-light);
}

html.admin-theme--dark .admin-badge--promo-stock {
    background: rgba(167, 139, 250, 0.14);
    color: #c4b5fd;
    border-color: rgba(167, 139, 250, 0.28);
}

/* Flashes */
html.admin-theme--dark .admin-flash {
    border-left-color: var(--color-primary);
}

html.admin-theme--dark .admin-flash--success {
    border-left-color: var(--admin-success);
    color: var(--admin-success);
}

html.admin-theme--dark .admin-flash--error {
    border-left-color: var(--admin-danger);
    color: var(--admin-danger);
}

/* Botões */
html.admin-theme--dark .admin-btn--primary {
    background: var(--color-primary);
    color: #03051a;
}

html.admin-theme--dark .admin-btn--primary:hover {
    background: var(--color-primary-light);
    color: #03051a;
}

html.admin-theme--dark .admin-btn--ghost:hover {
    background: var(--admin-tint);
    border-color: var(--color-primary);
    color: var(--color-primary);
}

html.admin-theme--dark .admin-btn--warn {
    background: #c9922e;
    color: #03051a;
}

html.admin-theme--dark .admin-btn--warn:hover {
    background: var(--admin-warn);
}

html.admin-theme--dark .admin-btn--danger {
    color: var(--admin-danger);
}

html.admin-theme--dark .admin-btn--danger.admin-btn--icon-only {
    background: rgba(240, 113, 120, 0.14);
    color: var(--admin-danger);
}

html.admin-theme--dark .admin-btn--danger.admin-btn--icon-only:hover,
html.admin-theme--dark .admin-btn--danger.admin-btn--icon-only:focus-visible {
    background: rgba(240, 113, 120, 0.24);
    color: #ffb4b8;
}

html.admin-theme--dark .admin-btn--icon-only:not(.admin-btn--danger) {
    background: var(--admin-tint);
    color: var(--color-primary);
}

html.admin-theme--dark .admin-btn--icon-only:not(.admin-btn--danger):hover,
html.admin-theme--dark .admin-btn--icon-only:not(.admin-btn--danger):focus-visible {
    background: var(--admin-tint-strong);
    color: var(--color-primary-light);
}

html.admin-theme--dark .admin-confirm__icon--destructive {
    background: rgba(240, 113, 120, 0.14);
    color: var(--admin-danger);
}

html.admin-theme--dark .admin-confirm__icon--positive {
    background: rgba(74, 222, 128, 0.12);
    color: #4ade80;
}

html.admin-theme--dark .admin-btn--success {
    background: #0c8a4d;
    color: #fff;
}

html.admin-theme--dark .admin-btn--success:hover:not(:disabled) {
    background: #0a7340;
}

html.admin-theme--dark .admin-btn--danger:hover {
    border-color: var(--admin-danger);
    background: var(--admin-danger-bg);
}

html.admin-theme--dark .admin-btn--danger-solid {
    background: #c94c54;
    border-color: #c94c54;
    color: #fff;
}

html.admin-theme--dark .admin-btn--danger-solid:hover:not(:disabled) {
    background: var(--admin-danger);
    border-color: var(--admin-danger);
}

html.admin-theme--dark .admin-topbar__reset-btn {
    border-color: rgba(240, 113, 120, 0.4);
    background: rgba(240, 113, 120, 0.12);
    color: #f87171;
}

html.admin-theme--dark .admin-topbar__reset-btn:hover {
    background: rgba(240, 113, 120, 0.2);
    border-color: #f87171;
    color: #fca5a5;
}

html.admin-theme--dark .admin-reset-modal__header {
    background: linear-gradient(180deg, rgba(69, 10, 10, 0.5) 0%, var(--color-surface) 100%);
    border-bottom-color: rgba(240, 113, 120, 0.3);
}

html.admin-theme--dark .admin-reset-modal__header .admin-modal__title {
    color: #fca5a5;
}

html.admin-theme--dark .admin-reset-modal__panel {
    border-color: rgba(240, 113, 120, 0.4);
}

html.admin-theme--dark .admin-reset-modal__desc strong {
    color: #fca5a5;
}

html.admin-theme--dark .admin-tx__discard-cart:hover {
    background: var(--admin-danger-bg);
    color: var(--admin-danger);
}

html.admin-theme--dark .admin-tx__restore-cart:hover {
    background: var(--admin-tint-strong);
}

html.admin-theme--dark .admin-login__submit {
    background: var(--color-primary);
    color: #03051a;
}

html.admin-theme--dark .admin-login__submit:hover {
    background: var(--color-primary-light);
}

/* Cards e movimentações */
html.admin-theme--dark .admin-card--entrada {
    border-left-color: var(--admin-success);
}

html.admin-theme--dark .admin-card--saida {
    border-left-color: var(--admin-warn);
}

html.admin-theme--dark .admin-card--ajuste {
    border-left-color: var(--color-primary);
}

html.admin-theme--dark .admin-card__header--toggle:hover .admin-card__toggle-chevron {
    background: var(--admin-tint);
    color: var(--color-primary);
}

html.admin-theme--dark .admin-mov__aut {
    background: var(--admin-blue-tint);
    border-color: var(--color-border);
    color: var(--color-primary-light);
}

/* Modais e formulários */
html.admin-theme--dark .admin-modal__close:hover {
    background: var(--admin-tint-hover);
    color: var(--color-primary);
}

html.admin-theme--dark .admin-image-lightbox::backdrop {
    background: rgba(3, 5, 26, 0.88);
}

html.admin-theme--dark .admin-image-lightbox__close:hover {
    background: var(--admin-tint-hover);
    color: var(--color-primary);
}

html.admin-theme--dark .admin-section__collapse-toggle:hover {
    background: var(--admin-tint);
    border-color: var(--admin-accent-glow);
    color: var(--color-primary);
}

html.admin-theme--dark .admin-event-badge-color-input {
    background: var(--color-surface);
}

html.admin-theme--dark .admin-tx__summary-row--total strong {
    color: var(--color-primary-light);
}

/* Estoque — promoções (mantém roxo apenas onde não é destaque de marca) */
html.admin-theme--dark .admin-stock__promo-tooltip-panel {
    background: #0a0d26;
    color: var(--color-text);
    border: 1px solid var(--color-border);
    box-shadow: var(--shadow-md);
}

html.admin-theme--dark .admin-stock__promo-tooltip-panel:not(.admin-stock__promo-tooltip-panel--empty)::after {
    border-top-color: #0a0d26;
}

/* Badge de evento na meta do vendedor */
html.admin-theme--dark .admin-topbar__event-badge,
html.admin-theme--dark .admin-nav__event-badge {
    color: #03051a;
}

/* ---------------------------------------------------------------------------
   Catálogo embutido (vendedor) — ajustes além das variáveis globais
   (logos claro/escuro em .topbar__brand: ver catalog.css)
   --------------------------------------------------------------------------- */

html.admin-theme--dark .admin-main--catalog-embed .topbar__search input:focus {
    background: var(--color-surface);
    box-shadow: 0 0 0 4px var(--admin-tint-strong);
}

html.admin-theme--dark .admin-main--catalog-embed .topbar__cart:hover {
    background: var(--admin-tint);
}

html.admin-theme--dark .admin-main--catalog-embed .topbar__cart-count {
    color: #03051a;
}

html.admin-theme--dark .admin-main--catalog-embed .cart-item__counter {
    background: var(--color-surface);
}

html.admin-theme--dark .admin-main--catalog-embed .cart-drawer__checkout {
    color: #03051a;
}

html.admin-theme--dark .admin-main--catalog-embed .product-card__counter-btn:hover {
    background: var(--admin-tint);
}

html.admin-theme--dark .admin-main--catalog-embed .product-card__counter-btn:active {
    background: var(--admin-tint-hover);
}

html.admin-theme--dark .admin-main--catalog-embed .product-card__button {
    color: #03051a;
}

html.admin-theme--dark .admin-main--catalog-embed .product-card__stock--ok {
    color: var(--admin-success);
}

html.admin-theme--dark .admin-main--catalog-embed .product-card__stock--low {
    color: var(--admin-warn);
}

html.admin-theme--dark .admin-main--catalog-embed .product-card__stock--empty {
    color: var(--admin-danger);
}

html.admin-theme--dark .admin-main--catalog-embed .catalog-toast {
    background: var(--color-surface);
    border-color: var(--color-border);
    color: var(--color-text);
}

html.admin-theme--dark .admin-main--catalog-embed .cart-backdrop {
    background: rgba(3, 5, 26, 0.72);
}

html.admin-theme--dark .admin-main--catalog-embed .cart-drawer__title-count {
    background: var(--admin-tint);
    color: var(--color-primary);
}

html.admin-theme--dark .admin-main--catalog-embed .cart-item__image {
    background: var(--color-surface);
}

html.admin-theme--dark .admin-main--catalog-embed .cart-item__counter-btn:hover {
    background: var(--admin-tint);
}

html.admin-theme--dark .admin-main--catalog-embed .cart-item__remove:hover {
    background: var(--admin-danger-bg);
    color: var(--admin-danger);
}

/* ---------------------------------------------------------------------------
   Pagamento (fluxo vendedor) — modo escuro
   --------------------------------------------------------------------------- */
.payment__brand .admin-brand-logo--light,
.payment__brand .admin-brand-logo--dark {
    height: 44px;
    width: auto;
}

.payment__brand .admin-brand-logo--light {
    display: inline-block;
}

.payment__brand .admin-brand-logo--dark {
    display: none;
}

html.admin-theme--dark .payment__brand .admin-brand-logo--light {
    display: none;
}

html.admin-theme--dark .payment__brand .admin-brand-logo--dark {
    display: inline-block;
}

html.admin-theme--dark .payment__back:hover {
    background: var(--admin-tint);
}

html.admin-theme--dark .payment__section--method-flow {
    border-color: var(--color-border);
    box-shadow: var(--shadow-sm);
}

html.admin-theme--dark .payment__instructions {
    background: var(--admin-blue-tint-soft);
}

html.admin-theme--dark .payment__btn--next {
    color: #03051a;
    box-shadow: 0 8px 20px var(--admin-accent-glow);
}

html.admin-theme--dark .payment-field__cep-btn {
    color: #03051a;
}

html.admin-theme--dark .payment-field__cep-btn:hover:not(:disabled) {
    background: var(--color-primary-light);
}

html.admin-theme--dark .payment__btn--secondary:hover {
    background: var(--admin-tint);
    border-color: var(--color-primary);
}

html.admin-theme--dark .payment-wait__pulse {
    background: var(--admin-tint);
    animation: paymentWaitPulseDark 2s ease-in-out infinite;
}

@keyframes paymentWaitPulseDark {
    0%, 100% {
        transform: scale(1);
        box-shadow: 0 0 0 0 var(--admin-accent-glow);
    }
    50% {
        transform: scale(1.04);
        box-shadow: 0 0 0 12px rgba(240, 192, 48, 0);
    }
}

html.admin-theme--dark .payment-aut__icon {
    background: var(--admin-tint);
}

html.admin-theme--dark .payment-aut__resume-hint {
    color: var(--admin-warn);
}

html.admin-theme--dark .payment-pin__backdrop {
    background: rgba(3, 5, 26, 0.78);
}

html.admin-theme--dark .payment-pin__icon {
    background: var(--admin-tint);
}

html.admin-theme--dark .payment-pin__input:focus {
    background: var(--color-surface);
    box-shadow: 0 0 0 4px var(--admin-tint-strong);
}

html.admin-theme--dark .payment-pin__error {
    color: var(--admin-danger);
    background: var(--admin-danger-bg);
}

html.admin-theme--dark .payment-method__choice:hover .payment-method__box {
    border-color: var(--color-primary);
}

html.admin-theme--dark .payment-method__choice input:checked + .payment-method__box {
    background: var(--admin-tint);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
}

html.admin-theme--dark .payment-field__input:focus,
html.admin-theme--dark .payment-aut__input:focus,
html.admin-theme--dark .payment-installments__select:focus {
    background: var(--color-surface);
    box-shadow: 0 0 0 3px var(--admin-tint-strong);
}

html.admin-theme--dark .payment__success-order {
    background: var(--admin-tint);
}

html.admin-theme--dark .seller-restore-msg {
    color: var(--color-text-muted);
}

/* Responsivo — topbar em telas menores */
@media (max-width: 900px) {
    html.admin-theme--dark .admin-topbar {
        background: var(--color-surface);
    }

    html.admin-theme--dark .admin-stock__row > :nth-child(4) {
        background: var(--admin-tint);
    }
}

/* ==========================================================================
   Seção Financeiro
   ========================================================================== */

/* Filtros */
.admin-fin__filters {
    margin-bottom: 0;
}

/* Cabeçalho do relatório (evento + período) */
.admin-fin__report-header {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 24px;
    padding: 14px 28px 12px;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    margin: 0 0 4px;
}

.admin-fin__event-name {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 17px;
    font-weight: 800;
    color: var(--color-text);
    letter-spacing: -0.01em;
}

.admin-fin__period-label {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 14px;
    font-weight: 600;
    color: var(--color-text-muted);
}

/* KPIs financeiros */
.admin-kpis--fin {
    grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 900px) {
    .admin-kpis--fin {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Grid: fluxo de estoque + mini-KPIs */
.admin-fin__stock-grid {
    display: grid;
    grid-template-columns: 1fr minmax(200px, 240px);
    gap: 20px;
    align-items: start;
}

@media (max-width: 860px) {
    .admin-fin__stock-grid {
        grid-template-columns: 1fr;
    }
}

/* Tabela de fluxo */
.admin-fin__stock-row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px;
    padding: 9px 14px;
    font-size: 14px;
    border-bottom: 1px solid var(--color-border);
    align-items: center;
}

.admin-fin__stock-row:last-child {
    border-bottom: none;
}

.admin-fin__stock-row--header {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--color-text-muted);
    padding: 6px 14px;
    background: var(--color-bg);
}

.admin-fin__stock-row--positive {
    color: #0c8a4d;
}

.admin-fin__stock-row--negative {
    color: #c62828;
}

.admin-fin__stock-row--total {
    font-weight: 800;
    font-size: 15px;
    background: var(--color-bg);
    border-top: 2px solid var(--color-border);
    border-bottom: none;
    color: var(--color-text);
}

/* Mini-KPIs de estoque */
.admin-fin__stock-kpis {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.admin-fin__stock-kpi {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: 12px 16px;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.admin-fin__stock-kpi--warn {
    border-color: rgba(232, 148, 32, 0.45);
    background: rgba(232, 148, 32, 0.06);
}

.admin-fin__stock-kpi-label {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--color-text-muted);
}

.admin-fin__stock-kpi-value {
    font-size: 22px;
    font-weight: 800;
    color: var(--color-text);
    font-variant-numeric: tabular-nums;
}

.admin-fin__stock-kpi-value--hl {
    color: var(--color-primary);
}

/* Top SKUs */
.admin-fin__skus-row {
    display: grid;
    grid-template-columns: 32px 100px 1fr 100px 110px 100px;
    gap: 8px;
    padding: 10px 16px;
    font-size: 14px;
    align-items: center;
    border-bottom: 1px solid var(--color-border);
}

.admin-fin__skus-row:last-child {
    border-bottom: none;
}

.admin-fin__rank {
    font-size: 13px;
    font-weight: 800;
    color: var(--color-text-muted);
    text-align: center;
}

.admin-fin__sku-code {
    font-size: 12px;
    background: var(--color-bg);
    border: 1px solid var(--color-border);
    border-radius: 6px;
    padding: 2px 7px;
    font-weight: 600;
    letter-spacing: 0.04em;
}

.admin-fin__prod-name a {
    color: var(--color-primary);
    font-weight: 600;
}

.admin-fin__refund {
    color: #c62828;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

/* Linha de pagamento / dia */
.admin-fin__pm-row,
.admin-fin__day-row,
.admin-fin__seller-row {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 8px;
    padding: 9px 16px;
    font-size: 14px;
    border-bottom: 1px solid var(--color-border);
    align-items: center;
}

.admin-fin__pm-row:last-child,
.admin-fin__day-row:last-child,
.admin-fin__seller-row:last-child {
    border-bottom: none;
}

.admin-fin__pm-row .admin-table__col--num,
.admin-fin__day-row .admin-table__col--num,
.admin-fin__seller-row .admin-table__col--num {
    min-width: 80px;
}

/* Grid inferior: 2 colunas */
.admin-fin__bottom-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    align-items: start;
}

.admin-fin__section-half {
    margin: 0;
}

@media (max-width: 860px) {
    .admin-fin__bottom-grid {
        grid-template-columns: 1fr;
    }
}

/* Top SKUs — mobile (≤900px): card vertical com rank em círculo */
@media (max-width: 900px) {
    .admin-fin__skus-table {
        background: transparent;
        box-shadow: none;
    }

    .admin-fin__skus-table > .admin-table__head {
        display: none;
    }

    .admin-fin__skus-row:not(.admin-table__head) {
        grid-template-columns: 40px 1fr 1fr;
        grid-template-areas:
            "rank product product"
            ".    sku     units"
            ".    revenue refund";
        gap: 8px 12px;
        padding: 14px 16px;
        margin-bottom: 12px;
        border: 1px solid var(--color-border);
        border-radius: var(--radius-md);
        background: var(--color-surface);
        box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
        border-bottom: none;
        align-items: start;
    }

    .admin-fin__skus-row:not(.admin-table__head):last-child {
        margin-bottom: 0;
    }

    .admin-fin__skus-row:not(.admin-table__head) > :nth-child(1) {
        grid-area: rank;
        align-self: start;
        margin-top: 2px;
        width: 34px;
        height: 34px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        background: rgba(14, 22, 122, 0.09);
        font-size: 14px;
        font-weight: 800;
        color: var(--color-primary);
    }

    .admin-fin__skus-row:not(.admin-table__head) > :nth-child(2) {
        grid-area: sku;
        align-self: start;
        min-width: 0;
    }

    .admin-fin__skus-row:not(.admin-table__head) > :nth-child(2)::before {
        content: "SKU: ";
        display: block;
        font-weight: 700;
        font-size: 10px;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--color-text-muted);
        margin-bottom: 2px;
    }

    .admin-fin__skus-row:not(.admin-table__head) > :nth-child(3) {
        grid-area: product;
        font-size: 15px;
        font-weight: 600;
        line-height: 1.3;
        min-width: 0;
    }

    .admin-fin__skus-row:not(.admin-table__head) > .admin-table__col--num {
        text-align: left;
        min-width: 0;
    }

    .admin-fin__skus-row:not(.admin-table__head) > :nth-child(4) {
        grid-area: units;
        font-size: 13px;
        align-self: start;
    }

    .admin-fin__skus-row:not(.admin-table__head) > :nth-child(4)::before {
        content: "Unid. vendidas";
        display: block;
        font-weight: 700;
        font-size: 10px;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--color-text-muted);
        margin-bottom: 2px;
    }

    .admin-fin__skus-row:not(.admin-table__head) > :nth-child(5) {
        grid-area: revenue;
        font-size: 13px;
        align-self: start;
    }

    .admin-fin__skus-row:not(.admin-table__head) > :nth-child(5)::before {
        content: "Receita";
        display: block;
        font-weight: 700;
        font-size: 10px;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--color-text-muted);
        margin-bottom: 2px;
    }

    .admin-fin__skus-row:not(.admin-table__head) > :nth-child(6) {
        grid-area: refund;
        font-size: 13px;
        align-self: start;
        display: block;
        text-align: left;
    }

    .admin-fin__skus-row:not(.admin-table__head) > :nth-child(6)::before {
        content: "Estornos";
        display: block;
        font-weight: 700;
        font-size: 10px;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--color-text-muted);
        margin-bottom: 2px;
    }

    .admin-fin__skus-row:not(.admin-table__head) > :nth-child(6).admin-fin__refund {
        display: block;
    }

    .admin-fin__skus-row:not(.admin-table__head) > :nth-child(6).admin-fin__refund i {
        margin-right: 4px;
        font-size: 12px;
    }
}

/* Dark mode */
html.admin-theme--dark .admin-fin__report-header {
    background: var(--color-surface);
    border-color: var(--color-border);
}

html.admin-theme--dark .admin-fin__stock-row--header {
    background: var(--color-bg);
}

html.admin-theme--dark .admin-fin__stock-row--total {
    background: var(--color-bg);
}

html.admin-theme--dark .admin-fin__stock-row--positive {
    color: var(--admin-success);
}

html.admin-theme--dark .admin-fin__stock-row--negative {
    color: var(--admin-danger);
}

html.admin-theme--dark .admin-fin__stock-kpi--warn {
    border-color: rgba(232, 148, 32, 0.35);
    background: var(--admin-warn-bg);
}

html.admin-theme--dark .admin-fin__refund {
    color: var(--admin-danger);
}

html.admin-theme--dark .admin-fin__stock-kpi-value--hl {
    color: var(--color-primary);
}

html.admin-theme--dark .admin-fin__sku-code {
    background: var(--color-bg);
    border-color: var(--color-border);
}

/* ==========================================================================
   Página de impressão / PDF do Financeiro
   ========================================================================== */

.fin-pdf {
    font-family: var(--font-base, 'Inter', sans-serif);
    font-size: 13px;
    color: #1a1d2e;
    background: #fff;
    max-width: 960px;
    margin: 0 auto;
    padding: 32px 40px 48px;
}

.fin-pdf__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 24px;
    padding-bottom: 18px;
    border-bottom: 2px solid #0e167a;
}

.fin-pdf__brand img {
    height: 44px;
}

.fin-pdf__meta {
    text-align: right;
}

.fin-pdf__event-name {
    font-size: 20px;
    font-weight: 800;
    color: #0e167a;
    letter-spacing: -0.01em;
    margin-bottom: 4px;
}

.fin-pdf__period {
    font-size: 13px;
    color: #6b7280;
    font-weight: 600;
}

.fin-pdf__generated {
    font-size: 11px;
    color: #9ca3af;
    margin-top: 4px;
}

/* Seções */
.fin-pdf__section {
    margin-bottom: 26px;
}

.fin-pdf__section-title {
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: #0e167a;
    border-bottom: 1px solid #e5e7eb;
    padding-bottom: 5px;
    margin-bottom: 12px;
}

/* KPIs */
.fin-pdf__kpis {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}

.fin-pdf__kpi {
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 12px 14px;
    background: #f5f6fb;
}

.fin-pdf__kpi-label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #6b7280;
    margin-bottom: 3px;
}

.fin-pdf__kpi-value {
    font-size: 20px;
    font-weight: 800;
    color: #0e167a;
    letter-spacing: -0.02em;
}

.fin-pdf__kpi-hint {
    font-size: 11px;
    color: #9ca3af;
    margin-top: 2px;
}

/* Tabelas PDF */
.fin-pdf__table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
}

.fin-pdf__table th {
    text-align: left;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #6b7280;
    border-bottom: 1px solid #e5e7eb;
    padding: 4px 8px 6px;
    background: #f5f6fb;
}

.fin-pdf__table td {
    padding: 7px 8px;
    border-bottom: 1px solid #f0f0f0;
    vertical-align: middle;
}

.fin-pdf__table .num {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.fin-pdf__table tr:last-child td {
    border-bottom: none;
}

.fin-pdf__table .total-row td {
    font-weight: 800;
    background: #f5f6fb;
    border-top: 2px solid #e5e7eb;
}

.fin-pdf__table .positive { color: #0c8a4d; }
.fin-pdf__table .negative { color: #c62828; }

.fin-pdf__grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.fin-pdf__footer {
    margin-top: 32px;
    padding-top: 14px;
    border-top: 1px solid #e5e7eb;
    font-size: 11px;
    color: #9ca3af;
    text-align: center;
}

.fin-pdf__print-btn {
    position: fixed;
    top: 18px;
    right: 24px;
    z-index: 100;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    background: #0e167a;
    color: #fff;
    border: none;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 4px 16px rgba(14,22,122,0.28);
    transition: background 0.15s;
}

.fin-pdf__print-btn:hover {
    background: #1a25a5;
}

.fin-pdf__back-btn {
    position: fixed;
    top: 18px;
    left: 24px;
    z-index: 100;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    background: #f5f6fb;
    color: #1a1d2e;
    border: 1px solid #e5e7eb;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.15s;
}

@media print {
    .fin-pdf__print-btn,
    .fin-pdf__back-btn {
        display: none !important;
    }

    .fin-pdf {
        padding: 0;
        max-width: 100%;
    }

    .fin-pdf__section {
        page-break-inside: avoid;
    }

    .fin-pdf__header {
        page-break-after: avoid;
    }
}
