/* ==========================================================================
   Nave Gaming — tema do painel admin no NAVE Gaming Design System v1.x
   (docs/design-system/). Modo claro e escuro: o Filament põe a classe .dark no
   <html>. As telas usam SÓ as variáveis abaixo; nunca cor fixa (ver CLAUDE.md).
   ========================================================================== */

:root {
    color-scheme: light;
    /* Marca */
    --ev-brand: #5E38F9;              /* NAVE Purple */
    --ev-beam: linear-gradient(135deg, #5E38F9, #2979FF);  /* NAVE Beam (uso pontual) */

    /* Ação principal (botões, chaves ligadas, página atual) */
    --ev-primary: #5E38F9;
    --ev-primary-hover: #704FFF;
    --ev-primary-press: #4524D7;
    --ev-on-primary: #FFFFFF;

    /* Superfícies e texto (80% neutros) */
    --ev-bg: #FFFFFF;
    --ev-surface: #FFFFFF;
    --ev-subtle: #F7F7F8;             /* Cloud: apoio, cabeçalho de tabela, hover */
    --ev-subtle-2: #EEEEF1;           /* trilhos de abas, chips, item ativo neutro */
    --ev-border: #EEEEF1;
    --ev-border-strong: #DEDEE3;
    --ev-text: #090910;               /* NAVE Black */
    --ev-text-2: #42424C;
    --ev-muted: #858590;
    --ev-faint: #8C8C97;              /* gray-400 do DS escurecido: legenda pequena precisa de contraste */
    --ev-inverse-bg: #090910;         /* dicas (tooltip) e selos invertidos */
    --ev-inverse-text: #FFFFFF;
    --ev-glass: rgba(255, 255, 255, .82);
    --ev-overlay: rgba(9, 9, 16, .52);

    /* Acento roxo (15%) */
    --ev-accent: #5E38F9;
    --ev-accent-strong: #4524D7;
    --ev-accent-soft: rgba(94, 56, 249, .08);
    --ev-accent-soft-2: rgba(94, 56, 249, .14);
    --ev-accent-border: rgba(94, 56, 249, .28);

    /* Contexto (no máximo 5%). No claro, tons um pouco mais escuros para texto legível. */
    --ev-success: #0F9E68;
    --ev-success-strong: #0C8054;     /* fundo com texto branco (contraste AA) */
    --ev-success-soft: rgba(22, 199, 132, .12);
    --ev-danger: #E5294A;
    --ev-danger-soft: rgba(255, 59, 92, .10);
    --ev-danger-border: rgba(255, 59, 92, .30);
    --ev-warning: #C67D00;
    --ev-warning-soft: rgba(255, 176, 32, .14);
    --ev-info: #1F74E0;
    --ev-info-soft: rgba(35, 136, 255, .10);

    /* Forma, sombra e movimento */
    --ev-radius: 16px;                /* cartões e seções */
    --ev-radius-md: 12px;             /* botões, campos, menus */
    --ev-radius-sm: 10px;             /* itens, chips quadrados */
    --ev-shadow: none;                /* cartão: borda fina, sem sombra */
    --ev-shadow-1: 0 1px 3px rgba(0, 0, 0, .05);
    --ev-shadow-lg: 0 8px 30px rgba(0, 0, 0, .08);
    --ev-shadow-xl: 0 24px 80px rgba(0, 0, 0, .16);
    --ev-focus: 0 0 0 2px var(--ev-bg), 0 0 0 4px var(--ev-accent);
    --ev-ease: cubic-bezier(.2, .8, .2, 1);
    --ev-dur-quick: 120ms;            /* hover, pressed, toggle */
    --ev-dur: 200ms;                  /* dropdowns, abas, microinterações */
    --ev-dur-slow: 400ms;             /* modal, gaveta, mudança de layout */
}

.dark {
    color-scheme: dark;
    --ev-primary: #5E38F9;
    --ev-primary-hover: #704FFF;
    --ev-primary-press: #4524D7;

    --ev-bg: #090910;
    --ev-surface: #111118;
    --ev-subtle: #17171E;
    --ev-subtle-2: #24242C;
    --ev-border: #292932;
    --ev-border-strong: #383842;
    --ev-text: #F7F7F8;
    --ev-text-2: #C9C9D2;
    --ev-muted: #92929E;
    --ev-faint: #6C6C78;
    --ev-inverse-bg: #F7F7F8;
    --ev-inverse-text: #090910;
    --ev-glass: rgba(9, 9, 16, .82);
    --ev-overlay: rgba(0, 0, 0, .65);

    --ev-accent: #7B5CFF;
    --ev-accent-strong: #A792FF;
    --ev-accent-soft: rgba(123, 92, 255, .16);
    --ev-accent-soft-2: rgba(123, 92, 255, .24);
    --ev-accent-border: rgba(123, 92, 255, .42);

    --ev-success: #16C784;
    --ev-success-strong: #16C784;     /* no escuro o texto por cima é preto */
    --ev-success-soft: rgba(22, 199, 132, .14);
    --ev-danger: #FF3B5C;
    --ev-danger-soft: rgba(255, 59, 92, .14);
    --ev-danger-border: rgba(255, 59, 92, .36);
    --ev-warning: #FFB020;
    --ev-warning-soft: rgba(255, 176, 32, .14);
    --ev-info: #2388FF;
    --ev-info-soft: rgba(35, 136, 255, .14);

    --ev-shadow-1: 0 1px 3px rgba(0, 0, 0, .4);
    --ev-shadow-lg: 0 8px 30px rgba(0, 0, 0, .45);
    --ev-shadow-xl: 0 32px 100px rgba(0, 0, 0, .55);
}

/* ---------- Estrutura do Filament ---------- */
.fi-body { background: var(--ev-bg) !important; color: var(--ev-text); transition: background var(--ev-dur) var(--ev-ease), color var(--ev-dur) var(--ev-ease); }
::selection { background: var(--ev-brand); color: #fff; }
:focus-visible { outline: 2px solid var(--ev-accent); outline-offset: 2px; }
.fi-main { background: transparent !important; }

.fi-sidebar {
    background: var(--ev-bg) !important;
    border-right: 1px solid var(--ev-border) !important;
}
.fi-sidebar-header { background: var(--ev-bg) !important; height: 3.5rem !important; padding-left: 1rem !important; padding-right: 1rem !important; box-shadow: none !important; border-bottom: 1px solid var(--ev-border); }
.fi-sidebar-nav { padding-top: .75rem !important; }
.fi-sidebar-group-label {
    font-size: 12px !important;
    font-weight: 500 !important;
    color: var(--ev-muted) !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}
.fi-sidebar-item-button { border-radius: var(--ev-radius-sm) !important; padding: 0 .6rem !important; min-height: 34px !important; gap: .6rem !important; transition: background var(--ev-dur-quick) var(--ev-ease); }
.fi-sidebar-item-label { font-size: 13.5px !important; font-weight: 500 !important; color: var(--ev-text-2) !important; }
.fi-sidebar-item-icon { color: var(--ev-faint) !important; width: 1rem !important; height: 1rem !important; }
.fi-sidebar-item-button:hover { background: var(--ev-subtle) !important; }
.fi-sidebar-item-button:hover .fi-sidebar-item-label { color: var(--ev-text) !important; }
.fi-sidebar-item-active .fi-sidebar-item-button { background: var(--ev-accent-soft) !important; }
.fi-sidebar-item-active .fi-sidebar-item-label { color: var(--ev-accent-strong) !important; font-weight: 600 !important; }
.fi-sidebar-item-active .fi-sidebar-item-icon { color: var(--ev-accent) !important; }

.fi-topbar > nav {
    background: var(--ev-glass) !important;
    backdrop-filter: saturate(180%) blur(20px);
    box-shadow: none !important;
    border-bottom: 1px solid var(--ev-border) !important;
}

.fi-header-heading { font-size: 1.6rem !important; font-weight: 700 !important; letter-spacing: -.02em !important; color: var(--ev-text) !important; }
.fi-header-subheading { color: var(--ev-muted) !important; font-size: .9rem !important; }

.fi-section, .fi-ta-ctn, .fi-wi-stats-overview-stat, .fi-fo-tabs, .fi-in-entry-wrp {
    border-radius: var(--ev-radius) !important;
    box-shadow: var(--ev-shadow) !important;
}
.fi-section, .fi-ta-ctn { border: 1px solid var(--ev-border) !important; --tw-ring-shadow: 0 0 #0000 !important; }
.fi-ta-header-cell { background: var(--ev-subtle) !important; }
.fi-ta-header-cell-label { font-size: 11px !important; letter-spacing: .04em; text-transform: uppercase; color: var(--ev-muted) !important; }

/* Login */
.fi-simple-layout { background: var(--ev-bg) !important; }
.fi-simple-main { border-radius: 16px !important; box-shadow: var(--ev-shadow-lg) !important; border: 1px solid var(--ev-border); }

/* ---------- Componentes compartilhados (prefixo ev-) ---------- */
.ev-page { display: grid; gap: 20px; }
.ev-page-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px; }
.ev-page-sub { margin: 4px 0 0; color: var(--ev-muted); font-size: 14px; }

.ev-card {
    background: var(--ev-surface);
    border: 1px solid var(--ev-border);
    border-radius: var(--ev-radius);
    box-shadow: var(--ev-shadow);
}
.ev-card-pad { padding: 20px; }
.ev-card-title { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 15px; font-weight: 600; color: var(--ev-text); }
.ev-card-kicker { font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--ev-muted); }
.ev-card-help { margin: 4px 0 0; color: var(--ev-muted); font-size: 12.5px; line-height: 1.45; }

.ev-icon {
    display: inline-flex; align-items: center; justify-content: center;
    width: 32px; height: 32px; border-radius: 9px;
    background: var(--ev-accent-soft); color: var(--ev-accent);
    flex: none;
}
.ev-icon svg { width: 17px; height: 17px; }
.ev-icon.is-success { background: var(--ev-success-soft); color: var(--ev-success); }
.ev-icon.is-danger { background: var(--ev-danger-soft); color: var(--ev-danger); }
.ev-icon.is-warning { background: var(--ev-warning-soft); color: var(--ev-warning); }

.ev-big { font-size: 30px; font-weight: 700; letter-spacing: -.02em; color: var(--ev-text); line-height: 1.15; }
.ev-mid { font-size: 22px; font-weight: 700; letter-spacing: -.01em; color: var(--ev-text); line-height: 1.2; }
.ev-muted { color: var(--ev-muted); font-size: 12.5px; }
.ev-right { text-align: right; }

.ev-grid { display: grid; gap: 16px; }
@media (min-width: 900px) {
    .ev-grid.cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ev-grid.cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .ev-grid.cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1280px) {
    .ev-grid.cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.ev-kv { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; color: var(--ev-text-2); padding: 3px 0; }
.ev-kv strong { color: var(--ev-text); font-weight: 600; }

.ev-badge {
    display: inline-flex; align-items: center; gap: 4px;
    padding: 2px 8px; border-radius: 999px;
    font-size: 11.5px; font-weight: 600;
    background: var(--ev-subtle-2); color: var(--ev-muted);
    white-space: nowrap;
}
.ev-badge.is-up { background: var(--ev-success-soft); color: var(--ev-success); }
.ev-badge.is-down { background: var(--ev-danger-soft); color: var(--ev-danger); }

.ev-seg { display: inline-flex; padding: 3px; gap: 2px; border-radius: 10px; background: var(--ev-subtle-2); border: 1px solid var(--ev-border); }
.ev-seg a, .ev-seg button {
    padding: 6px 12px; border-radius: 8px; font-size: 13px; font-weight: 500;
    color: var(--ev-muted); text-decoration: none; white-space: nowrap;
}
.ev-seg a:hover, .ev-seg button:hover { color: var(--ev-text); }
.ev-seg .is-active { background: var(--ev-surface); color: var(--ev-text); box-shadow: var(--ev-shadow); }

.ev-divider { height: 1px; background: var(--ev-border); margin: 14px 0; }

.ev-legend { display: flex; flex-wrap: wrap; gap: 14px; font-size: 12.5px; color: var(--ev-text-2); }
.ev-dot { display: inline-block; width: 8px; height: 8px; border-radius: 999px; margin-right: 6px; vertical-align: middle; }

.ev-chart { width: 100%; height: auto; display: block; overflow: visible; }
.ev-chart text { font-size: 10.5px; fill: var(--ev-faint); font-family: inherit; }
.ev-chart .grid { stroke: var(--ev-border); stroke-dasharray: 3 4; }

.ev-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.ev-table th { text-align: left; font-size: 11px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--ev-muted); padding: 10px 12px; background: var(--ev-subtle); border-bottom: 1px solid var(--ev-border); }
.ev-table td { white-space: nowrap; padding: 11px 12px; border-bottom: 1px solid var(--ev-border); color: var(--ev-text-2); }
.ev-table tr:last-child td { border-bottom: 0; }

.ev-rank { display: grid; gap: 10px; }
.ev-rank-item { display: grid; grid-template-columns: 34px 1fr auto; gap: 12px; align-items: center; padding: 12px; border: 1px solid var(--ev-border); border-radius: var(--ev-radius-sm); background: var(--ev-surface); }
.ev-rank-pos { width: 34px; height: 34px; border-radius: 9px; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 13px; background: var(--ev-subtle-2); color: var(--ev-text-2); }
.ev-rank-name { font-weight: 600; color: var(--ev-text); font-size: 13.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.ev-funnel { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.ev-funnel > div { padding: 12px; border-radius: var(--ev-radius-sm); background: var(--ev-subtle); border: 1px solid var(--ev-border); }

.ev-bar { height: 8px; border-radius: 999px; background: var(--ev-subtle-2); overflow: hidden; }
.ev-bar > span { display: block; height: 100%; border-radius: 999px; background: var(--ev-accent); }

.ev-empty { padding: 28px; text-align: center; color: var(--ev-muted); font-size: 13px; }

/* O título já aparece grande no conteúdo; esconde a cópia na barra superior */
.fi-topbar .flex.justify-start.gap-2 > h3 { display: none; }
.fi-topbar .flex.justify-start.gap-2 > div:first-child { display: none; }
.fi-header { padding-top: 4px; }

/* Busca de páginas no menu */
.ev-nav-search { position: relative; display: flex; align-items: center; margin: 0 0 10px; }
.ev-nav-search-btn {
    position: relative; display: flex; align-items: center; gap: 8px; width: 100%; height: 36px; padding: 0 8px 0 32px;
    border: 1px solid var(--ev-border); border-radius: var(--ev-radius-md); background: var(--ev-surface);
    font-size: 13px; color: var(--ev-faint); text-align: left; cursor: text;
    transition: border-color var(--ev-dur-quick) var(--ev-ease), box-shadow var(--ev-dur-quick) var(--ev-ease);
}
.ev-nav-search-btn:hover { border-color: var(--ev-border-strong); color: var(--ev-muted); }
.ev-nav-search-btn:focus-visible { outline: none; border-color: var(--ev-accent-border); box-shadow: 0 0 0 3px var(--ev-accent-soft); }
.ev-nav-search-btn > span { flex: 1; }
.ev-nav-search-icon { position: absolute; left: 10px; width: 15px; height: 15px; color: var(--ev-faint); pointer-events: none; }
.ev-nav-search kbd {
    display: inline-flex; align-items: center; gap: 1px; height: 20px; padding: 0 6px;
    font-family: inherit; font-size: 11px; font-weight: 500; line-height: 1; letter-spacing: .02em;
    color: var(--ev-muted); background: var(--ev-subtle-2); border: 1px solid var(--ev-border);
    border-bottom-width: 2px; border-radius: 6px; white-space: nowrap;
}
.ev-nav-search kbd .ev-kbd-mod { font-size: 12px; }
.fi-sidebar-item[hidden], .fi-sidebar-group[hidden] { display: none !important; }

/* ---------- Telas antigas no padrão Evox (cartões de indicadores) ---------- */
.fi-main section.ev-kpi-wrap {
    background: none !important; border: 0 !important; box-shadow: none !important;
    border-radius: 0 !important; padding: 0 !important; overflow: visible !important;
}
.fi-main .ev-hero-rest { background: none !important; padding: 0 0 14px !important; }
.fi-main .ev-hero-rest:empty { display: none !important; }
.fi-main div.ev-kpis {
    display: grid !important; gap: 12px !important; padding: 0 !important;
    grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)) !important;
}
.fi-main div.ev-kpis > .ev-kpi {
    background: var(--ev-surface) !important; border: 1px solid var(--ev-border) !important;
    border-radius: var(--ev-radius) !important; box-shadow: var(--ev-shadow) !important;
    padding: 14px 16px !important; min-height: 0 !important;
}
.fi-main div.ev-kpis > .ev-kpi > span:first-child {
    font-size: 12.5px !important; font-weight: 500 !important; letter-spacing: 0 !important;
    text-transform: none !important; color: var(--ev-text-2) !important;
}
.fi-main div.ev-kpis > .ev-kpi > strong {
    display: block; margin-top: 8px !important; font-size: 20px !important; font-weight: 700 !important;
    letter-spacing: -.01em !important; color: var(--ev-text) !important; line-height: 1.2;
    word-break: break-word;
}
.fi-main div.ev-kpis > .ev-kpi > small { margin-top: 4px !important; font-size: 12px !important; color: var(--ev-muted) !important; }
.fi-main div.ev-kpis > .ev-kpi.warn > strong { color: var(--ev-warning) !important; }
.fi-main div.ev-kpis > .ev-kpi.danger > strong { color: var(--ev-danger) !important; }

/* Aviso informativo */
.ev-note {
    padding: 11px 14px; border-radius: var(--ev-radius-sm);
    background: var(--ev-accent-soft); border: 1px solid var(--ev-accent-border);
    color: var(--ev-text-2); font-size: 13px; line-height: 1.5;
}

/* Cartão de indicador (componente x-ev.kpi) */
.ev-kpi-card { padding: 16px 18px; display: flex; flex-direction: column; gap: 4px; }
.ev-kpi-card-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; font-size: 13px; font-weight: 500; color: var(--ev-text-2); }
.ev-kpi-card-value { font-size: 24px; font-weight: 700; letter-spacing: -.01em; color: var(--ev-text); margin-top: 6px; font-variant-numeric: tabular-nums; }
.ev-icon-round { width: 30px; height: 30px; border-radius: 999px; }
.ev-icon-round svg { width: 16px; height: 16px; }

/* Abas (componente x-ev.tabs) */
.ev-tabs { display: inline-flex; gap: 2px; padding: 4px; border-radius: 11px; background: var(--ev-subtle-2); border: 1px solid var(--ev-border); }
.ev-tabs button { padding: 7px 14px; border-radius: 8px; font-size: 13px; font-weight: 500; color: var(--ev-muted); white-space: nowrap; }
.ev-tabs button:hover { color: var(--ev-text); }
.ev-tabs button.is-active { background: var(--ev-surface); color: var(--ev-text); box-shadow: var(--ev-shadow); }

/* Formulário dentro de cartão */
.ev-form-card { padding: 0; overflow: hidden; }
.ev-form-card-head { display: flex; align-items: center; gap: 12px; padding: 16px 20px; border-bottom: 1px solid var(--ev-border); }
.ev-form-card-body { padding: 20px; }

/* Tabela do Filament dentro de um cartão ev-card (sem moldura dupla) */
.ev-table-host .fi-ta-ctn { border: 0 !important; box-shadow: none !important; border-radius: 0 !important; --tw-ring-shadow: 0 0 #0000 !important; }

/* ---------- Jogos em cartões ---------- */
/* Filtros dos cartões: busca na linha de cima (tudo numa linha só a partir de 1600px) e as caixas embaixo, quebrando
   pelo espaço que sobra, nunca cortando o texto das opções; a do agregador cabe "CasinoGate (1.234) · desligado". */
.ev-games-filters { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.ev-games-filters > .ev-field-search { flex: 1 1 100%; min-width: 0; }
@media (min-width: 1600px) { .ev-games-filters > .ev-field-search { flex: 2 1 280px; } }
.ev-games-filters > select.ev-field { flex: 1 1 200px; min-width: 0; }
.ev-games-filters > select.ev-field.ev-field-aggregator { flex-basis: 250px; }
.ev-games-filters > .fi-btn { flex: none; }
@media (max-width: 640px) { .ev-games-filters > * { flex: 1 1 100% !important; } }
/* Etiquetas da capa (agregador, "Personalizada"): numa linha só, cortadas com reticências; "Trocar capa" nunca encolhe */
.ev-game-tags { display: flex; gap: 4px; min-width: 0; overflow: hidden; }
.ev-game-tags > .ev-game-tag { display: block; flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ev-game-tags > .ev-game-tag.is-aggregator { flex-shrink: 0; }
/* Cartão estreito: "Trocar capa" fica só com o ícone (o nome aparece na dica) para as etiquetas caberem */
.ev-game { container-type: inline-size; }
@container (max-width: 300px) { .ev-game-tag.is-button .ev-game-tag-text { display: none; } }
.ev-field { height: 38px; border: 1px solid var(--ev-border); border-radius: 9px; background: var(--ev-surface); font-size: 13px; color: var(--ev-text); padding: 0 12px; }
.ev-field:focus-within, select.ev-field:focus { outline: none; border-color: var(--ev-accent-border); box-shadow: 0 0 0 3px var(--ev-accent-soft); }
.ev-field-search { display: flex; align-items: center; gap: 8px; }
.ev-field-search svg { width: 16px; height: 16px; color: var(--ev-faint); flex: none; }
.ev-field-search input { border: 0; outline: none; box-shadow: none; background: transparent; width: 100%; font-size: 13px; padding: 0; }
.ev-games-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.ev-check { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: var(--ev-text-2); cursor: pointer; }
.ev-check input, .ev-game-select { width: 16px; height: 16px; border-radius: 4px; border: 1px solid var(--ev-border-strong); accent-color: var(--ev-accent); }

.ev-games-grid { display: grid; gap: 14px; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); }
.ev-game { overflow: hidden; display: flex; flex-direction: column; }
.ev-game-cover { position: relative; aspect-ratio: 1 / 1; background: var(--ev-subtle-2); overflow: hidden; }
.ev-game-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ev-game-nocover { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; color: var(--ev-faint); font-size: 12px; }
.ev-game-nocover svg { width: 28px; height: 28px; }
.ev-game-select { position: absolute; top: 8px; left: 8px; background: #fff; }
.ev-game-tag {
    display: inline-flex; align-items: center; gap: 4px; padding: 3px 8px; border-radius: 7px;
    font-size: 11px; font-weight: 600; color: #111827; background: rgba(255, 255, 255, .92);
    box-shadow: 0 1px 2px rgba(0, 0, 0, .12);
}
.ev-game-tag svg { width: 12px; height: 12px; }
.ev-game-tag.is-featured { position: absolute; top: 8px; right: 8px; color: #92400e; background: #fef3c7; }
.ev-game-tag.is-button { cursor: pointer; }
.ev-game-tag.is-button:hover { background: #fff; color: var(--ev-accent-strong); }
.ev-game-cover-foot { position: absolute; left: 8px; right: 8px; bottom: 8px; display: flex; justify-content: space-between; align-items: center; gap: 6px; }
.ev-game-cover-foot > .ev-game-tag.is-button { flex: none; white-space: nowrap; }
.ev-game-body { padding: 12px; display: grid; gap: 6px; }
.ev-game-name { font-weight: 600; font-size: 13.5px; color: var(--ev-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ev-game-meta { display: flex; justify-content: space-between; gap: 8px; font-size: 11.5px; color: var(--ev-muted); margin-bottom: 4px; }
.ev-game-meta span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.ev-switch-row { display: flex; align-items: center; gap: 9px; font-size: 12.5px; color: var(--ev-text-2); text-align: left; padding: 2px 0; }
.ev-switch-row:disabled { opacity: .6; }
.ev-switch { position: relative; width: 30px; height: 17px; border-radius: 999px; background: var(--ev-border-strong); flex: none; transition: background .15s; }
.ev-switch > span { position: absolute; top: 2px; left: 2px; width: 13px; height: 13px; border-radius: 999px; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.2); transition: transform .15s; }
.ev-switch.is-on { background: var(--ev-primary); }
.ev-switch.is-on > span { transform: translateX(13px); }

.ev-pager { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
/* Cartões de jogos: paginação à esquerda e "N por página" à direita */
.ev-games-pagebar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; }
.ev-games-perpage { margin-left: auto; }
.ev-games-perpage .ev-field { min-width: 150px; }
.ev-pager button { min-width: 36px; height: 34px; padding: 0 10px; border-radius: 8px; border: 1px solid var(--ev-border); background: var(--ev-surface); font-size: 13px; color: var(--ev-text-2); }
.ev-pager button:hover:not(:disabled) { border-color: var(--ev-border-strong); color: var(--ev-text); }
.ev-pager button:disabled { opacity: .45; }
.ev-pager button.is-active { background: var(--ev-primary); border-color: var(--ev-primary); color: var(--ev-on-primary); }
.ev-pager .ev-muted { margin-left: 6px; }
select.ev-field {
    -webkit-appearance: none; appearance: none; padding-right: 34px; cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%239ca3af'%3E%3Cpath fill-rule='evenodd' d='M5.2 7.2a.75.75 0 0 1 1.06.02L10 11.1l3.74-3.88a.75.75 0 1 1 1.08 1.04l-4.28 4.44a.75.75 0 0 1-1.08 0L5.18 8.26a.75.75 0 0 1 .02-1.06Z' clip-rule='evenodd'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important; background-position: right 10px center !important; background-size: 16px 16px !important;
}
.ev-game-meta { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
.ev-game-meta span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ev-game-meta span:last-child { max-width: 90px; font-family: ui-monospace, monospace; font-size: 10.5px; }

/* Tabela recolhida (as janelas de ação continuam funcionando) */
.ev-table-host.is-collapsed { border: 0 !important; box-shadow: none !important; background: none !important; }
.ev-table-host.is-collapsed .fi-ta-ctn { display: none !important; }

/* ---------- Provedoras em cartões ---------- */
.ev-prov-grid { display: grid; gap: 14px; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); }
.ev-prov { padding: 16px; display: grid; gap: 14px; }
.ev-prov-head { display: flex; align-items: center; gap: 12px; }
.ev-prov-logo { width: 42px; height: 42px; border-radius: 10px; background: var(--ev-subtle-2); border: 1px solid var(--ev-border); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 13px; color: var(--ev-text-2); overflow: hidden; flex: none; }
.ev-prov-logo img { width: 100%; height: 100%; object-fit: contain; }
.ev-prov-drag { flex: none; width: 18px; margin-left: -6px; display: grid; place-items: center; font-size: 16px; line-height: 1; color: var(--ev-faint); cursor: grab; border-radius: 6px; transition: color 120ms var(--ev-ease), background 120ms var(--ev-ease); }
.ev-prov-drag:hover { color: var(--ev-text); background: var(--ev-subtle); }
.ev-prov-drag:active { cursor: grabbing; }
.ev-prov.sortable-ghost { opacity: .45; }
.ev-prov-logo.is-button { cursor: pointer; transition: border-color 120ms var(--ev-ease); }
.ev-prov-logo.is-button:hover { border-color: var(--ev-border-strong); }
.ev-prov-logo-link { display: inline-block; margin-top: 3px; padding: 0; font-size: 11px; font-weight: 600; color: var(--ev-text-2); transition: color 120ms var(--ev-ease); }
.ev-prov-logo-link:hover { color: var(--ev-text); text-decoration: underline; }
.ev-prov-name { font-weight: 600; font-size: 14px; color: var(--ev-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ev-prov-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 12px; border-radius: var(--ev-radius-sm); background: var(--ev-subtle); border: 1px solid var(--ev-border); }
.ev-prov-stats strong { font-size: 18px; color: var(--ev-text); }
.ev-prov .ev-switch-row { align-items: flex-start; }
.ev-prov .ev-switch-row .ev-switch { margin-top: 2px; }
.ev-prov-head > div:nth-child(2) { flex: 1; }
.ev-prov-head .ev-badge { flex: none; }

/* ---------- GGR ---------- */
.ev-ggr-month { display: flex; align-items: center; gap: 14px; }
.ev-ggr-nav { width: 34px; height: 34px; border-radius: 9px; border: 1px solid var(--ev-border); background: var(--ev-surface); font-size: 18px; color: var(--ev-text-2); flex: none; }
.ev-ggr-nav:hover:not(:disabled) { border-color: var(--ev-border-strong); color: var(--ev-text); }
.ev-ggr-nav:disabled { opacity: .35; }
.ev-ggr-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); border-top: 1px solid var(--ev-border); }
.ev-ggr-strip > div { padding: 14px 20px; border-right: 1px solid var(--ev-border); }
.ev-ggr-strip > div:last-child { border-right: 0; }
.ev-ggr-strip strong { display: block; margin-top: 4px; font-size: 15px; color: var(--ev-text); }


/* ---------- Ajustes finos do design system (Evox/shadcn) ---------- */
.fi-sidebar-nav { padding: .75rem .75rem 1rem !important; gap: 1rem !important; }
.fi-sidebar-nav-groups { gap: 1rem !important; margin-left: 0 !important; margin-right: 0 !important; }
.fi-sidebar-group-button { padding: .25rem .6rem !important; }
.fi-sidebar-group-label { font-size: 11px !important; font-weight: 700 !important; letter-spacing: .1em !important; text-transform: uppercase !important; color: var(--ev-faint) !important; }
.fi-sidebar-group-items { gap: 1px !important; }
.fi-sidebar-item-active .fi-sidebar-item-button { background: var(--ev-accent-soft) !important; }
.fi-topbar > nav { height: 3.5rem !important; }
.fi-main { padding-left: 1.75rem !important; padding-right: 1.75rem !important; }
.fi-header-heading { font-size: 24px !important; letter-spacing: -.6px !important; }
.fi-header-subheading { font-size: 14px !important; margin-top: 2px !important; }
.fi-page > section { row-gap: 1.25rem !important; padding-top: 1.5rem !important; }

/* Botão principal roxo NAVE: hover curto, sobe 1px */
.fi-btn.fi-color-primary:not(.fi-btn-outlined), .fi-btn-color-primary { background-color: var(--ev-primary) !important; }
.fi-btn.fi-color-primary:not(.fi-btn-outlined):hover { background-color: var(--ev-primary-hover) !important; }
.fi-btn { border-radius: var(--ev-radius-md) !important; font-weight: 600 !important; transition: background-color var(--ev-dur-quick) var(--ev-ease), transform var(--ev-dur-quick) var(--ev-ease), box-shadow var(--ev-dur-quick) var(--ev-ease) !important; }
.fi-btn:not(:disabled):hover { transform: translateY(-1px); }
.fi-btn:not(:disabled):active { transform: none; }
.fi-input-wrp, .fi-select-input, .fi-fo-field-wrp .fi-input-wrp { border-radius: var(--ev-radius-md) !important; }
.fi-input-wrp:focus-within { box-shadow: 0 0 0 3px var(--ev-accent-soft-2) !important; --tw-ring-color: var(--ev-accent) !important; }
.fi-section, .fi-ta-ctn, .fi-modal-window { box-shadow: none !important; }
.fi-modal-window { border: 1px solid var(--ev-border) !important; border-radius: 20px !important; }
.fi-badge { border-radius: 999px !important; }

/* Cartões de indicador compactos */
.ev-kpi-card { padding: 14px 16px; }
.ev-kpi-card-value { font-size: 22px; }
.ev-card-kicker { font-size: 11px; letter-spacing: .05em; }

/* Gaveta de resumo do usuário */
.ev-summary { display: grid; gap: 12px; }
.ev-summary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; margin-top: 10px; }
.ev-summary-grid strong { display: block; font-size: 15px; color: var(--ev-text); font-variant-numeric: tabular-nums; }

/* ---------- Perfil do jogador ---------- */
.ev-profile-head { display: flex; gap: 16px; align-items: flex-start; }
.ev-profile-avatar { width: 56px; height: 56px; border-radius: 14px; background: var(--ev-accent-soft-2); color: var(--ev-accent-strong); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 18px; flex: none; }
.ev-profile-contacts { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 13px; color: var(--ev-text-2); }
.ev-profile-contacts span { display: inline-flex; align-items: center; gap: 5px; }
.ev-profile-contacts svg { width: 14px; height: 14px; color: var(--ev-faint); }
.ev-profile-kpis { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); }

/* Telas de configuração (OptionsPage) */
.ev-options .fi-section { border-radius: var(--ev-radius) !important; }
.ev-options .fi-section-header-heading { font-size: 15px !important; }
.ev-options .fi-section-header-description { font-size: 13px !important; }
.ev-options-bar { position: sticky; bottom: 0; display: flex; justify-content: flex-end; padding: 12px 0; background: linear-gradient(to top, var(--ev-bg) 70%, transparent); }

/* Repetidor compacto (ex.: blocos da página inicial): uma linha por item */
.ev-compact-repeater .fi-fo-repeater-item { display: flex; align-items: center; justify-content: space-between; }
.ev-compact-repeater .fi-fo-repeater-item > div:first-child { border-bottom: 0 !important; flex: 1; padding-top: 8px !important; padding-bottom: 8px !important; }
.ev-compact-repeater .fi-fo-repeater-item-content { padding: 8px 14px !important; border-top: 0 !important; }
.ev-compact-repeater .fi-fo-repeater-item-header-label { font-weight: 500 !important; font-size: 13px !important; }
.ev-compact-repeater ul { gap: 6px !important; }

/* Tabela compacta dentro de cartões (resumos e simuladores) */
.ev-mini-table { border-collapse: collapse; }
.ev-mini-table th { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--ev-muted); padding: 6px 8px; border-bottom: 1px solid var(--ev-border); }
.ev-mini-table td { padding: 7px 8px; border-bottom: 1px solid var(--ev-border); color: var(--ev-text); }
.ev-mini-table tr:last-child td { border-bottom: 0; }

/* ==========================================================================
   Tabelas — visual moderno único para o painel todo.
   Fica no fim do arquivo e com !important para valer por cima dos estilos
   antigos que algumas telas trazem no próprio Blade.
   ========================================================================== */
.fi-ta-ctn {
    border: 1px solid var(--ev-border) !important;
    border-radius: var(--ev-radius) !important;
    background: var(--ev-surface) !important;
    box-shadow: none !important;
    overflow: hidden;
}
.fi-ta-ctn .fi-ta-ctn { border: 0 !important; box-shadow: none !important; border-radius: 0 !important; }

/* Barra de busca / filtros / ações */
.fi-ta-header-ctn { border-bottom: 1px solid var(--ev-border) !important; }
.fi-ta-header-ctn > * { border-color: var(--ev-border) !important; }
.fi-ta-header-toolbar { padding: 10px 14px !important; gap: 8px !important; min-height: 0 !important; }
.fi-ta-header { padding: 14px 16px !important; }
.fi-ta-header-heading { font-size: 14px !important; font-weight: 600 !important; }
.fi-ta-search-field .fi-input-wrp { border-radius: var(--ev-radius-md) !important; box-shadow: none !important; border: 1px solid var(--ev-border) !important; background: var(--ev-subtle) !important; }
.fi-ta-search-field .fi-input-wrp:focus-within { background: var(--ev-surface) !important; border-color: var(--ev-accent-border) !important; box-shadow: 0 0 0 3px var(--ev-accent-soft) !important; }
.fi-ta-search-field input { font-size: 13px !important; height: 34px !important; }


/* Tabela */
.fi-ta-table { font-size: 13px !important; border-collapse: separate !important; border-spacing: 0 !important; }
.fi-ta-table > thead > tr { background: transparent !important; }
.fi-ta-table > thead { border-bottom: 1px solid var(--ev-border) !important; }
.fi-ta-header-cell, .fi-ta-actions-header-cell {
    background: var(--ev-subtle) !important;
    padding-top: 9px !important; padding-bottom: 9px !important;
    border-bottom: 1px solid var(--ev-border) !important;
    white-space: nowrap;
}
.fi-ta-header-cell-label { font-size: 11px !important; font-weight: 600 !important; letter-spacing: .05em !important; text-transform: uppercase !important; color: var(--ev-muted) !important; }
.fi-ta-header-cell-sort-icon { width: 14px !important; height: 14px !important; }
.fi-ta-table > tbody { border: 0 !important; }
.fi-ta-table > tbody > tr, .fi-ta-row {
    background: var(--ev-surface) !important;
    border-top: 0 !important;
    transition: background-color .12s ease;
}
.fi-ta-table > tbody > tr > td { border-bottom: 1px solid var(--ev-border) !important; }
.fi-ta-table > tbody > tr:last-child > td { border-bottom: 0 !important; }
.fi-ta-table > tbody > tr:nth-child(even), .fi-ta-row.fi-striped { background: var(--ev-surface) !important; }
.fi-ta-table > tbody > tr:hover, .fi-ta-row:hover { background: var(--ev-subtle) !important; }
.fi-ta-row.fi-selected, .fi-ta-table > tbody > tr.fi-selected { background: var(--ev-accent-soft) !important; }
.fi-ta-cell { padding-top: 0 !important; padding-bottom: 0 !important; vertical-align: middle !important; }
.fi-ta-cell .fi-ta-col-wrp { padding-top: 0 !important; padding-bottom: 0 !important; }
.fi-ta-cell .py-4, .fi-ta-cell .py-3 { padding-top: 10px !important; padding-bottom: 10px !important; }
.fi-ta-cell .gap-y-1 { row-gap: 1px !important; }
.fi-ta-cell .fi-ta-text-item + *, .fi-ta-text > .text-sm { line-height: 1.35 !important; }
.fi-ta-text-item-label, .fi-ta-text { font-size: 13px !important; color: var(--ev-text) !important; }
.fi-ta-text-description, .fi-ta-cell .text-gray-500 { font-size: 12px !important; color: var(--ev-muted) !important; }
.fi-ta-cell .font-mono, .fi-ta-cell [class*="font-mono"] { font-variant-numeric: tabular-nums; font-size: 12.5px !important; }
.fi-ta-cell img { border-radius: 8px; }

/* Caixas de seleção menores */
.fi-ta-record-checkbox, .fi-ta-page-checkbox { width: 16px !important; height: 16px !important; border-radius: 999px !important; }

/* Etiquetas (badges) mais leves */
.fi-ta-cell .fi-badge, .fi-ta-content .fi-badge {
    border-radius: 999px !important; padding: 2px 8px !important; min-height: 0 !important;
    font-size: 11.5px !important; font-weight: 500 !important; box-shadow: none !important; --tw-ring-shadow: 0 0 #0000 !important;
}

/* Ações de linha: ícone + texto discretos */
.fi-ta-actions { gap: 4px !important; }
.fi-ta-actions .fi-link, .fi-ta-actions .fi-ac-link-action { font-size: 12.5px !important; font-weight: 500 !important; padding: 4px 6px !important; border-radius: 6px; }
.fi-ta-actions .fi-link:hover, .fi-ta-actions .fi-ac-link-action:hover { background: var(--ev-subtle-2); text-decoration: none !important; }
.fi-ta-actions .fi-icon-btn { border-radius: 6px !important; }

/* Rodapé / paginação */
.fi-ta-pagination, .fi-pagination { padding: 10px 14px !important; border-top: 1px solid var(--ev-border) !important; background: var(--ev-surface) !important; }
.fi-pagination-overview { font-size: 12.5px !important; color: var(--ev-muted) !important; }
.fi-pagination-items { border-radius: 8px !important; box-shadow: none !important; border: 1px solid var(--ev-border) !important; overflow: hidden; }
.fi-pagination-item-button { font-size: 12.5px !important; min-width: 32px; }
.fi-pagination-records-per-page-select .fi-input-wrp { border-radius: 8px !important; box-shadow: none !important; border: 1px solid var(--ev-border) !important; }

/* Estado vazio */
.fi-ta-empty-state { padding: 48px 24px !important; }
.fi-ta-empty-state-icon-ctn { background: var(--ev-subtle-2) !important; }
.fi-ta-empty-state-heading { font-size: 14px !important; font-weight: 600 !important; }
.fi-ta-empty-state-description { font-size: 13px !important; color: var(--ev-muted) !important; }

/* Botões de cabeçalho e de toolbar */
.fi-ta-header-toolbar .fi-btn, .fi-ta-header .fi-btn { border-radius: var(--ev-radius-md) !important; font-size: 13px !important; min-height: 34px; }

/* Modais e formulários com cantos e sombras consistentes */
.fi-modal-window { border-radius: 20px !important; box-shadow: var(--ev-shadow-xl) !important; }
.fi-modal-close-overlay { background: var(--ev-overlay) !important; backdrop-filter: blur(3px); }
.fi-input-wrp { border-radius: var(--ev-radius-md) !important; }
.fi-btn { border-radius: var(--ev-radius-md) !important; }
.fi-dropdown-panel { border-radius: var(--ev-radius) !important; border: 1px solid var(--ev-border) !important; box-shadow: var(--ev-shadow-lg) !important; background: var(--ev-surface) !important; }
.fi-dropdown-list-item { border-radius: var(--ev-radius-sm) !important; }
.fi-section { background: var(--ev-surface) !important; }
.fi-simple-main { background: var(--ev-surface) !important; }

/* Telas antigas: a moldura própria em volta da tabela some; vale o cartão da tabela. */
.fi-main :where(section, div):has(> .fi-ta):not(.ev-table-host) {
    border: 0 !important; padding: 0 !important; background: none !important;
    box-shadow: none !important; border-radius: 0 !important;
}

/* Área de filtros acima da tabela: sem faixa cinza; só ganha fundo quando tem campos. */
.fi-ta-filters-above-content-ctn { background: transparent !important; padding: 8px 14px !important; }
.fi-ta-filters-above-content-ctn { border-bottom: 1px solid var(--ev-border) !important; }
.fi-ta-header-ctn > div:empty { display: none !important; }

/* Ações de linha neutras; vermelho só para excluir/cancelar. */
.fi-ta-actions :is(.fi-link, .fi-ac-link-action):not(.fi-color-danger),
.fi-ta-actions :is(.fi-link, .fi-ac-link-action):not(.fi-color-danger) .fi-link-label { color: var(--ev-text-2) !important; }
.fi-ta-actions :is(.fi-link, .fi-ac-link-action):not(.fi-color-danger) .fi-link-icon,
.fi-ta-actions :is(.fi-link, .fi-ac-link-action):not(.fi-color-danger) svg { color: var(--ev-faint) !important; }
.fi-ta-actions :is(.fi-link, .fi-ac-link-action):not(.fi-color-danger):hover .fi-link-label { color: var(--ev-text) !important; }
.fi-ta-actions .fi-link.fi-color-danger, .fi-ta-actions .fi-link.fi-color-danger .fi-link-label { color: var(--ev-danger) !important; }
.fi-ta-actions .fi-link.fi-color-danger svg { color: var(--ev-danger) !important; opacity: .8; }
.fi-ta-actions :is(.fi-link, .fi-ac-link-action):not(.fi-color-danger) > span { color: var(--ev-text-2) !important; font-weight: 500 !important; }
.fi-ta-actions :is(.fi-link, .fi-ac-link-action):not(.fi-color-danger):hover > span { color: var(--ev-text) !important; text-decoration: none !important; }
.fi-ta-actions .fi-link.fi-color-danger > span { color: var(--ev-danger) !important; font-weight: 500 !important; }
.fi-ta-actions .fi-link > span { font-size: 12.5px !important; }

/* Fileiras de indicadores: colunas se ajustam à quantidade (sem cartão órfão na segunda linha). */
.fi-main div.ev-kpis { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important; }
@media (min-width: 1100px) {
    .fi-main div.ev-kpis:has(> .ev-kpi:nth-child(6)):not(:has(> .ev-kpi:nth-child(7))) { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; }
    .fi-main div.ev-kpis:has(> .ev-kpi:nth-child(7)) { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
    .fi-main div.ev-kpis:has(> .ev-kpi:nth-child(9)) { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
    .fi-main div.ev-kpis:has(> .ev-kpi:nth-child(11)) { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; }
}

/* Botões preenchidos (vermelho, verde, etc.): texto e ícone sempre brancos. */
.fi-btn:not(.fi-btn-outlined):is(.fi-color-danger, .fi-color-success, .fi-color-warning, .fi-color-primary, .fi-color-info) .fi-btn-label,
.fi-btn:not(.fi-btn-outlined):is(.fi-color-danger, .fi-color-success, .fi-color-warning, .fi-color-primary, .fi-color-info) .fi-btn-icon { color: #fff !important; }
/* Botões de escolha (ToggleButtons): só o marcado fica preenchido; os outros ficam brancos com texto escuro. */
input:not(:checked) + label.fi-btn.fi-btn:not(.fi-btn-outlined) { background-color: var(--ev-surface) !important; }
input:not(:checked) + label.fi-btn.fi-btn:not(.fi-btn-outlined):hover { background-color: var(--ev-subtle) !important; }
input:not(:checked) + label.fi-btn.fi-btn:not(.fi-btn-outlined) .fi-btn-label,
input:not(:checked) + label.fi-btn.fi-btn:not(.fi-btn-outlined) .fi-btn-icon { color: var(--ev-text-2) !important; }
input:checked + label.fi-btn.fi-btn:not(.fi-btn-outlined) .fi-btn-label,
input:checked + label.fi-btn.fi-btn:not(.fi-btn-outlined) .fi-btn-icon { color: #fff !important; }
/* Verde e amarelo claros pedem texto escuro (contraste): amarelo sempre, verde no modo escuro. */
.fi-btn:not(.fi-btn-outlined).fi-color-warning .fi-btn-label, .fi-btn:not(.fi-btn-outlined).fi-color-warning .fi-btn-icon,
.dark .fi-btn:not(.fi-btn-outlined).fi-color-success .fi-btn-label, .dark .fi-btn:not(.fi-btn-outlined).fi-color-success .fi-btn-icon,
input:checked + label.fi-btn.fi-color-warning .fi-btn-label, .dark input:checked + label.fi-btn.fi-color-success .fi-btn-label { color: #090910 !important; }
input:checked + label.fi-btn.fi-btn-color-primary { background-color: var(--ev-primary) !important; }
/* Caixas de seleção redondas em todo o painel (tabelas e listas). */
.fi-ta input[type="checkbox"].fi-checkbox-input { border-radius: 999px !important; }
html body .fi-ta input.fi-checkbox-input:is(.fi-ta-record-checkbox, .fi-ta-page-checkbox),
.fi-ta-record-checkbox, .fi-ta-page-checkbox {
    flex: none !important; height: 16px !important; align-self: center !important;
    min-height: 16px !important; max-height: 16px !important; min-width: 16px !important; max-width: 16px !important;
    padding: 0 !important; border-radius: 999px !important;
}

/* ---------- Cartões de campanha (tabelas em grade: free spins, torneios, roletas...) ---------- */
.fi-ta-content-grid .fi-ta-record { padding: 0 !important; overflow: hidden; border-radius: var(--ev-radius) !important; border: 1px solid var(--ev-border); background: var(--ev-surface); box-shadow: none !important; }
.fi-ta-content-grid .fi-ta-record { transition: transform var(--ev-dur) var(--ev-ease), box-shadow var(--ev-dur) var(--ev-ease), border-color var(--ev-dur) var(--ev-ease); }
.fi-ta-content-grid .fi-ta-record:hover { border-color: var(--ev-border-strong); transform: translateY(-3px); box-shadow: var(--ev-shadow-lg) !important; }
.fi-ta-content-grid .fi-ta-record > div, .fi-ta-content-grid .fi-ta-record > div > div,
.fi-ta-content-grid .fi-ta-record > div > div > div { padding: 0 !important; }
.fi-ta-content-grid .fi-ta-record .ps-4.pe-4 { padding: 0 !important; }
.fi-ta-content-grid .fi-ta-record .flex-col.gap-y-3.py-4 { padding: 0 !important; gap: 0 !important; }
.fi-ta-content-grid .fi-ta-record .fi-ta-actions { position: absolute; top: 8px; right: 8px; z-index: 2; }
.fi-ta-content-grid .fi-ta-record .fi-ta-actions .fi-icon-btn { background: var(--ev-glass); backdrop-filter: blur(8px); border-radius: 999px; box-shadow: var(--ev-shadow-1); }
.fi-ta-content-grid .fi-ta-col-wrp, .fi-ta-content-grid .fi-ta-col-wrp > * { width: 100%; }
.ev-cc { display: flex; flex-direction: column; width: 100%; }
.ev-cc-media { position: relative; aspect-ratio: 16 / 7; max-height: 200px; width: 100%; background: linear-gradient(135deg, var(--ev-subtle), var(--ev-subtle-2)); overflow: hidden; }
.ev-cc-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ev-cc-status { position: absolute; left: 10px; top: 10px; font-size: 11px; font-weight: 600; padding: 3px 9px; border-radius: 999px; background: var(--ev-glass); backdrop-filter: blur(8px); color: var(--ev-text-2); box-shadow: var(--ev-shadow-1); }
.ev-cc-status.tone-success { color: var(--ev-success); }
.ev-cc-status.tone-info { color: var(--ev-accent-strong); }
.ev-cc-status.tone-warning { color: var(--ev-warning); }
.ev-cc-status.tone-danger { color: var(--ev-danger); }
.ev-cc-body { padding: 14px 16px 16px; display: grid; gap: 4px; }
.ev-cc-body.no-media { padding-top: 12px; }
.ev-cc-body.no-media .ev-cc-title { padding-right: 34px; }
.ev-cc-status.inline { position: static; justify-self: start; box-shadow: none; background: var(--ev-subtle-2); margin-bottom: 4px; }
.ev-cc-title { font-size: 15px; font-weight: 650; color: var(--ev-text); line-height: 1.3; }
.ev-cc-sub { font-size: 12.5px; color: var(--ev-muted); }
.ev-cc-sub code { font-size: 11.5px; background: var(--ev-subtle-2); border-radius: 4px; padding: 1px 5px; color: var(--ev-text-2); }
.ev-cc-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 14px; margin: 10px 0 0; }
.ev-cc-grid > div { min-width: 0; }
.ev-cc-grid > .wide { grid-column: 1 / -1; }
.ev-cc-grid dt { font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: var(--ev-faint); font-weight: 600; }
.ev-cc-grid dd { margin: 1px 0 0; font-size: 13px; font-weight: 600; color: var(--ev-text); overflow-wrap: anywhere; }
.ev-cc-grid small { display: block; font-size: 12px; color: var(--ev-muted); }
.ev-cc-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.ev-cc-chip { font-size: 11.5px; font-weight: 600; background: var(--ev-subtle-2); color: var(--ev-text-2); border-radius: 999px; padding: 3px 9px; }
.ev-cc-alert { margin-top: 10px; font-size: 12px; line-height: 1.45; color: var(--ev-warning); background: var(--ev-warning-soft); border-radius: 6px; padding: 8px 10px; }

/* ---------- Editor de roleta ---------- */
.ev-we { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; align-items: start; }
@media (min-width: 1180px) { .ev-we { grid-template-columns: minmax(0, 1fr) 360px; } }
.ev-we-sticky { position: sticky; top: 76px; }
.ev-we-dirty { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 12px; font-size: 12.5px; font-weight: 600; color: var(--ev-warning); background: var(--ev-warning-soft); border-radius: 999px; padding: 4px 12px; }
.ev-we-dirty span { width: 7px; height: 7px; border-radius: 999px; background: var(--ev-warning); }
.ev-wp { border-radius: 14px; padding: 16px; display: grid; justify-items: center; gap: 12px; }
.ev-wp-title { font-weight: 800; color: #fff; font-size: 15px; text-shadow: 0 1px 2px rgba(0,0,0,.5); }
.ev-wp-disk { position: relative; width: 100%; aspect-ratio: 1 / 1; }
.ev-wp-disc { position: absolute; inset: 0; border-radius: 999px; overflow: hidden; }
.ev-wp-fill { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ev-wp-label { font-size: 11px; text-transform: none; white-space: nowrap; text-shadow: 0 1px 2px rgba(0,0,0,.85); line-height: 1.1; }
.ev-wp-center { position: absolute; left: 50%; top: 50%; z-index: 4; transform: translate(-50%, -50%); display: grid; place-items: center; font-weight: 900; font-size: 12px; text-transform: uppercase; overflow: hidden; }
.ev-wp-button { min-width: 60%; text-align: center; font-weight: 800; font-size: 13px; text-transform: uppercase; border-radius: 10px; padding: 10px 14px; }
.ev-wheel-thumb { width: 72px; height: 72px; border-radius: 999px; flex: none; box-shadow: inset 0 0 0 4px rgba(255,255,255,.35), 0 2px 6px rgba(16,24,40,.18); }

/* ---------- Jornadas: editor de blocos ---------- */
.jx { display: flex; flex-direction: column; height: calc(100vh - 7.5rem); min-height: 600px; background: var(--ev-surface); border: 1px solid var(--ev-border); border-radius: var(--ev-radius); overflow: hidden; }
.jx svg { width: 16px; height: 16px; flex: none; }
.jx-head { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-bottom: 1px solid var(--ev-border); flex-wrap: wrap; }
.jx-back { color: var(--ev-text-2); padding: 6px; border-radius: 6px; }
.jx-back:hover { background: var(--ev-subtle-2); }
.jx-head-icon { color: var(--ev-text-2); }
.jx-head-icon svg { width: 22px; height: 22px; }
.jx-head-title { flex: 1; min-width: 260px; }
.jx-head-row { display: flex; align-items: center; gap: 10px; }
.jx-head-title h1 { font-size: 20px; font-weight: 700; color: var(--ev-text); cursor: text; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.jx-head-title p { font-size: 12.5px; color: var(--ev-muted); margin-top: 1px; }
.jx-rename { font-size: 18px !important; font-weight: 700; max-width: 420px; }
.jx-head-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.jx-dirty { font-size: 12px; color: var(--ev-muted); display: inline-flex; align-items: center; gap: 6px; margin-right: 4px; }
.jx-dirty i { width: 6px; height: 6px; border-radius: 99px; background: var(--ev-warning); }
.jx-pill { display: inline-flex; align-items: center; font-size: 11.5px; font-weight: 600; padding: 2px 9px; border-radius: 99px; background: var(--ev-subtle-2); color: var(--ev-text-2); white-space: nowrap; }
.jx-pill.is-active, .jx-pill.is-run-completed { background: var(--ev-success-soft); color: var(--ev-success); }
.jx-pill.is-paused, .jx-pill.is-run-waiting, .jx-pill.is-run-running { background: var(--ev-warning-soft); color: var(--ev-warning); }
.jx-pill.is-run-failed { background: var(--ev-danger-soft); color: var(--ev-danger); }
.jx-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 34px; padding: 0 12px; border-radius: 7px; border: 1px solid var(--ev-border-strong); background: var(--ev-surface); color: var(--ev-text); font-size: 13px; font-weight: 600; cursor: pointer; white-space: nowrap; }
.jx-btn:hover:not(:disabled) { background: var(--ev-subtle); }
.jx-btn:disabled { opacity: .5; cursor: not-allowed; }
.jx-btn-primary { background: var(--ev-primary); border-color: var(--ev-primary); color: #fff !important; }
.jx-btn-primary:hover:not(:disabled) { background: var(--ev-primary-hover); }
.jx-btn-dark { background: var(--ev-inverse-bg); border-color: var(--ev-inverse-bg); color: var(--ev-inverse-text) !important; }
.jx-btn-dark:hover:not(:disabled) { opacity: .88; }
.jx-btn-dark:disabled { background: var(--ev-subtle-2); border-color: var(--ev-border); color: var(--ev-muted) !important; opacity: 1; }
.jx-btn-sm { height: 30px; padding: 0 10px; font-size: 12.5px; }
.jx-btn-danger-ghost { border-color: transparent; color: var(--ev-danger); background: transparent; }
.jx-btn-danger-ghost:hover { background: var(--ev-danger-soft) !important; }
.jx-icon-btn { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 7px; border: 1px solid var(--ev-border-strong); background: var(--ev-surface); color: var(--ev-text-2); cursor: pointer; font-size: 16px; }
.jx-icon-btn:disabled { opacity: .45; cursor: not-allowed; }
.jx-tools { display: flex; align-items: center; gap: 8px; padding: 10px 16px; border-bottom: 1px solid var(--ev-border); flex-wrap: wrap; }
.jx-tool { display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 10px; border: 1px solid var(--ev-border); border-radius: 7px; background: var(--ev-surface); font-size: 12.5px; color: var(--ev-text-2); cursor: pointer; }
.jx-tool:hover { background: var(--ev-subtle); }
.jx-tool b { font-weight: 600; color: var(--ev-text); }
.jx-tools-right { margin-left: auto; display: flex; align-items: center; gap: 8px; }
.jx-switch { display: inline-flex; align-items: center; gap: 7px; font-size: 13px; color: var(--ev-text-2); cursor: pointer; }
.jx-switch.is-off { opacity: .55; cursor: not-allowed; }
.jx-switch input { display: none; }
.jx-switch span { width: 34px; height: 20px; border-radius: 99px; background: var(--ev-border-strong); position: relative; transition: background .15s; }
.jx-switch span::after { content: ''; position: absolute; top: 2px; left: 2px; width: 16px; height: 16px; border-radius: 99px; background: #fff; transition: left .15s; box-shadow: 0 1px 2px rgba(0,0,0,.2); }
.jx-switch input:checked + span { background: var(--ev-primary); }
.jx-switch input:checked + span::after { left: 16px; }
.jx-pop-wrap { position: relative; }
.jx-pop { position: absolute; top: 36px; left: 0; z-index: 40; width: 300px; background: var(--ev-surface); border: 1px solid var(--ev-border); border-radius: 10px; box-shadow: var(--ev-shadow-lg); padding: 14px; }
.jx-pop h4 { font-size: 14px; font-weight: 700; }
.jx-stats { display: flex; align-items: flex-end; gap: 28px; padding: 10px 16px; border-bottom: 1px solid var(--ev-border); background: var(--ev-subtle); }
.jx-stats div { display: flex; flex-direction: column; }
.jx-stats small { font-size: 10.5px; letter-spacing: .04em; text-transform: uppercase; color: var(--ev-muted); }
.jx-stats b { font-size: 16px; font-weight: 700; color: var(--ev-text); }
.jx-stats b.is-good { color: var(--ev-success); }
.jx-stats p { font-size: 12px; color: var(--ev-muted); margin-left: auto; }
.jx-body { flex: 1; display: grid; grid-template-columns: 220px 1fr 330px; min-height: 0; }
.jx-palette { border-right: 1px solid var(--ev-border); display: flex; flex-direction: column; min-height: 0; }
.jx-palette-head { padding: 12px 12px 8px; border-bottom: 1px solid var(--ev-border); }
.jx-palette-head h3 { font-size: 13.5px; font-weight: 700; }
.jx-palette-head p { font-size: 11.5px; color: var(--ev-muted); margin-top: 2px; }
.jx-palette-list { overflow-y: auto; padding: 4px 10px 12px; }
.jx-group h5 { font-size: 10.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--ev-muted); margin: 12px 2px 6px; }
.jx-block { display: flex; align-items: center; gap: 9px; width: 100%; padding: 7px 9px; border: 1px solid var(--ev-border); border-radius: 7px; background: var(--ev-surface); font-size: 13px; color: var(--ev-text); margin-bottom: 6px; cursor: pointer; text-align: left; }
.jx-block:hover { border-color: var(--ev-border-strong); background: var(--ev-subtle); }
.jx-block.is-disabled { opacity: .45; cursor: not-allowed; }
.jx-ico { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 6px; flex: none; }
.tone-violet .jx-ico { background: var(--ev-accent-soft-2); color: var(--ev-accent); }
.tone-blue .jx-ico { background: rgba(41, 121, 255, .14); color: #2979FF; }
.tone-amber .jx-ico { background: var(--ev-warning-soft); color: var(--ev-warning); }
.tone-green .jx-ico { background: var(--ev-success-soft); color: var(--ev-success); }
.tone-pink .jx-ico { background: rgba(255, 69, 200, .14); color: #E0369F; }
.dark .tone-pink .jx-ico { color: #FF45C8; }
.dark .tone-blue .jx-ico { color: #5A99FF; }
.jx-canvas { position: relative; overflow: hidden; background-color: var(--ev-subtle); background-image: radial-gradient(var(--ev-border-strong) 1px, transparent 1px); cursor: default; touch-action: none; user-select: none; }
.jx-canvas.is-panning { cursor: grabbing; }
.jx-canvas.is-linking, .jx-canvas.is-linking * { cursor: crosshair !important; }
.jx-world { position: absolute; left: 0; top: 0; transform-origin: 0 0; }
.jx .jx-edges { position: absolute; left: -8000px; top: -8000px; width: 16000px; height: 16000px; overflow: visible; pointer-events: none; }
.jx-edge { fill: none; stroke: var(--ev-faint); stroke-width: 1.6; pointer-events: none; }
.jx-edge.is-sel { stroke: var(--ev-accent); stroke-width: 2.2; }
.jx-edge.is-draft { stroke: var(--ev-accent); stroke-dasharray: 5 4; }
.jx-edge-hit { fill: none; stroke: transparent; stroke-width: 14; pointer-events: stroke; cursor: pointer; }
.jx-node { position: absolute; width: 240px; background: var(--ev-surface); border: 1px solid var(--ev-border-strong); border-radius: 9px; box-shadow: 0 1px 2px rgba(16, 24, 40, .06); cursor: grab; }
.jx-node:active { cursor: grabbing; }
.jx-node.is-sel { border-color: var(--ev-accent); box-shadow: 0 0 0 3px var(--ev-accent-soft-2); }
.jx-node.is-err { border-color: var(--ev-danger); }
.jx-node-main { display: flex; align-items: center; gap: 10px; height: 58px; padding: 0 12px; }
.jx-node-main .jx-ico { width: 30px; height: 30px; }
.jx-node-main .jx-ico svg { width: 17px; height: 17px; }
.jx-node-text { min-width: 0; display: flex; flex-direction: column; }
.jx-node-text small { font-size: 10px; letter-spacing: .06em; text-transform: uppercase; color: var(--ev-muted); font-weight: 600; }
.jx-node-text b { font-size: 13px; font-weight: 600; color: var(--ev-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.jx-outs { position: relative; height: 24px; border-top: 1px dashed var(--ev-border); }
.jx-outs span { position: absolute; top: 5px; transform: translateX(-50%); font-size: 10.5px; color: var(--ev-muted); white-space: nowrap; }
.jx-node-err { display: flex; align-items: center; gap: 5px; height: 24px; padding: 0 10px; font-size: 11px; color: var(--ev-danger); background: var(--ev-danger-soft); border-top: 1px solid var(--ev-danger-border); white-space: nowrap; overflow: hidden; }
.jx-node-err svg { width: 12px; height: 12px; }
.jx-node-err span { overflow: hidden; text-overflow: ellipsis; }
.jx-node-stats { display: grid; grid-template-columns: repeat(4, 1fr); height: 42px; border-top: 1px solid var(--ev-border); }
.jx-node-stats div { display: flex; flex-direction: column; align-items: center; justify-content: center; }
.jx-node-stats b { font-size: 13px; font-weight: 700; }
.jx-node-stats b.is-blue { color: var(--ev-accent-strong); }
.jx-node-stats b.is-red { color: var(--ev-danger); }
.jx-node-stats small { font-size: 8.5px; letter-spacing: .04em; text-transform: uppercase; color: var(--ev-muted); }
.jx-in, .jx-out { position: absolute; width: 10px; height: 10px; border-radius: 99px; background: var(--ev-muted); border: 2px solid var(--ev-surface); transform: translateX(-50%); }
.jx-in { top: -6px; left: 50%; }
.jx-out { bottom: -6px; cursor: crosshair; }
.jx-out:hover { background: var(--ev-accent); transform: translateX(-50%) scale(1.3); }
.jx-zoom { position: absolute; left: 12px; bottom: 12px; display: flex; flex-direction: column; background: var(--ev-surface); border: 1px solid var(--ev-border); border-radius: 7px; overflow: hidden; }
.jx-zoom button { width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; font-size: 16px; color: var(--ev-text-2); border-bottom: 1px solid var(--ev-border); }
.jx-zoom button:last-child { border-bottom: 0; }
.jx-zoom button:hover { background: var(--ev-subtle); }
.jx-problems { position: absolute; left: 50px; right: 12px; bottom: 12px; background: var(--ev-danger-soft); color: var(--ev-danger); border: 1px solid var(--ev-danger-border); border-radius: 8px; padding: 8px 12px; font-size: 12.5px; }
.jx-side { border-left: 1px solid var(--ev-border); min-height: 0; overflow-y: auto; display: flex; flex-direction: column; }
.jx-side-pad { padding: 14px; }
.jx-side-title { font-size: 14px; font-weight: 700; margin-bottom: 10px; }
.jx-dl div { display: flex; justify-content: space-between; gap: 10px; font-size: 13px; padding: 4px 0; }
.jx-dl dt { color: var(--ev-muted); }
.jx-dl dd { font-weight: 600; text-align: right; }
.jx-help { margin-top: 14px; padding: 12px; border: 1px solid var(--ev-border); border-radius: 8px; background: var(--ev-subtle); font-size: 12px; color: var(--ev-text-2); }
.jx-help h4 { font-weight: 700; font-size: 12.5px; margin-bottom: 6px; color: var(--ev-text); }
.jx-help p { margin-top: 6px; }
.jx-help kbd, .jx code { font-family: ui-monospace, monospace; font-size: 11px; background: var(--ev-subtle-2); border-radius: 4px; padding: 1px 5px; }
.jx-inspector { display: flex; flex-direction: column; min-height: 100%; }
.jx-insp-head { display: flex; align-items: flex-start; gap: 10px; padding: 14px; border-bottom: 1px solid var(--ev-border); }
.jx-insp-head .jx-ico { width: 32px; height: 32px; }
.jx-insp-head .jx-ico svg { width: 18px; height: 18px; }
.jx-insp-head h3 { font-size: 14px; font-weight: 700; }
.jx-insp-head p { font-size: 12px; color: var(--ev-muted); }
.jx-insp-head > div { flex: 1; }
.jx-x { width: 26px; height: 26px; border-radius: 6px; font-size: 18px; line-height: 1; color: var(--ev-muted); display: inline-flex; align-items: center; justify-content: center; flex: none; }
.jx-x:hover:not(:disabled) { background: var(--ev-subtle-2); color: var(--ev-text); }
.jx-x:disabled { opacity: .35; }
.jx-insp-body { padding: 14px; flex: 1; }
.jx-insp-foot { border-top: 1px solid var(--ev-border); padding: 10px 14px; display: flex; justify-content: center; }
.jx-fields { display: flex; flex-direction: column; gap: 6px; }
.jx-label { font-size: 12.5px; font-weight: 600; color: var(--ev-text); margin-top: 6px; display: block; }
.jx-input { width: 100%; height: 36px; border: 1px solid var(--ev-border-strong); border-radius: 7px; padding: 0 10px; font-size: 13px; background-color: var(--ev-surface); color: var(--ev-text); }
select.jx-input { padding-right: 30px; background-repeat: no-repeat; background-position: right .5rem center; background-size: 1.2em 1.2em; }
textarea.jx-input { height: auto; padding: 8px 10px; resize: vertical; line-height: 1.45; }
.jx-input:focus { outline: none; border-color: var(--ev-accent); box-shadow: 0 0 0 3px var(--ev-accent-soft-2); }
.jx-code { font-family: ui-monospace, monospace; font-size: 12px; }
.jx-hint { font-size: 11.5px; color: var(--ev-muted); line-height: 1.45; margin-top: 2px; }
.jx-warn { font-size: 12px; color: var(--ev-warning); background: var(--ev-warning-soft); border-radius: 7px; padding: 7px 10px; margin-top: 6px; }
.jx-warn a { font-weight: 600; text-decoration: underline; }
.jx-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 6px; }
.jx-chip { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; font-weight: 600; background: var(--ev-accent-soft, var(--ev-subtle-2)); color: var(--ev-text); border-radius: 999px; padding: 3px 4px 3px 10px; }
.jx-chip button { width: 18px; height: 18px; border-radius: 999px; line-height: 1; color: var(--ev-muted); }
.jx-chip button:hover { background: var(--ev-subtle-2); color: var(--ev-text); }
.jx-alert { font-size: 12px; color: var(--ev-danger); background: var(--ev-danger-soft); border: 1px solid var(--ev-danger-border); border-radius: 7px; padding: 8px 10px; margin-bottom: 10px; display: flex; flex-direction: column; gap: 3px; }
.jx-muted { color: var(--ev-muted); font-size: 12.5px; }
.jx-row { display: flex; align-items: center; gap: 8px; }
.jx-row-between { justify-content: space-between; }
.jx-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.jx-w-unit { width: 120px; flex: none; }
.jx-w-time { width: 110px; }
.jx-w-filter { width: 200px; }
.jx-affix { display: flex; align-items: center; border: 1px solid var(--ev-border-strong); border-radius: 7px; overflow: hidden; }
.jx-affix span { padding: 0 10px; font-size: 13px; color: var(--ev-muted); }
.jx-affix .jx-input { border: 0; border-radius: 0; box-shadow: none !important; }
.jx-box { border: 1px solid var(--ev-border); border-radius: 8px; padding: 10px 12px; margin-top: 10px; background: var(--ev-subtle); display: flex; flex-direction: column; gap: 6px; }
.jx-box h5 { font-size: 12px; color: var(--ev-muted); font-weight: 500; }
.jx-box-tight { margin-top: 0; gap: 2px; }
.jx-box-tight b { font-size: 13px; }
.jx-toggle { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 13px; cursor: pointer; padding: 3px 0; }
.jx-toggle input { display: none; }
.jx-toggle i { width: 34px; height: 20px; border-radius: 99px; background: var(--ev-border-strong); position: relative; flex: none; transition: background .15s; }
.jx-toggle i::after { content: ''; position: absolute; top: 2px; left: 2px; width: 16px; height: 16px; border-radius: 99px; background: #fff; transition: left .15s; box-shadow: 0 1px 2px rgba(0,0,0,.2); }
.jx-toggle input:checked + i { background: var(--ev-primary); }
.jx-toggle input:checked + i::after { left: 16px; }
.jx-toggle-block { margin-top: 16px; align-items: flex-start; }
.jx-toggle-block span { display: flex; flex-direction: column; }
.jx-toggle-block small { color: var(--ev-muted); font-size: 12px; margin-top: 2px; }
.jx-branch { display: grid; grid-template-columns: 1fr 70px 26px; gap: 8px; align-items: end; }
.jx-branch .jx-x { margin-bottom: 5px; }
.jx-total { font-size: 12.5px; font-weight: 600; }
.jx-total.is-good { color: var(--ev-success); }
.jx-total.is-bad, .jx-count.is-bad { color: var(--ev-danger); }
.jx-count { font-size: 11.5px; color: var(--ev-muted); }
.jx-modal { position: fixed; inset: 0; z-index: 60; background: var(--ev-overlay); backdrop-filter: blur(3px); display: flex; align-items: center; justify-content: center; padding: 20px; }
.jx-modal-right { justify-content: flex-end; padding: 0; }
.jx-dialog { position: relative; width: 100%; max-width: 480px; max-height: calc(100vh - 40px); overflow-y: auto; background: var(--ev-surface); border-radius: 12px; padding: 20px; box-shadow: var(--ev-shadow-lg); }
.jx-dialog h3, .jx-drawer h3 { font-size: 16px; font-weight: 700; padding-right: 30px; }
.jx-dialog-wide { max-width: 1020px; }
.jx-dialog-sm { max-width: 420px; }
.jx-dialog-x { position: absolute; top: 14px; right: 14px; }
.jx-dialog-foot { display: flex; justify-content: flex-end; gap: 8px; margin-top: 18px; }
.jx-drawer { position: relative; width: min(760px, 100vw); height: 100vh; overflow-y: auto; background: var(--ev-surface); padding: 20px; box-shadow: var(--ev-shadow-lg); }
.jx-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 6px; }
.jx-cards button { text-align: left; border: 1px solid var(--ev-border-strong); border-radius: 9px; padding: 10px 12px; display: flex; flex-direction: column; gap: 3px; }
.jx-cards button b { font-size: 13px; }
.jx-cards button span { font-size: 12px; color: var(--ev-muted); }
.jx-cards button.is-on { border-color: var(--ev-primary); box-shadow: 0 0 0 1px var(--ev-primary); background: var(--ev-subtle); }
.jx-check { display: flex; gap: 8px; align-items: flex-start; margin-top: 14px; cursor: pointer; }
.jx-check input { margin-top: 3px; }
.jx-check span { display: flex; flex-direction: column; font-size: 13px; }
.jx-check small { color: var(--ev-muted); font-size: 12px; }
.jx-search { position: relative; }
.jx-search-list { position: absolute; left: 0; right: 0; top: 40px; z-index: 5; background: var(--ev-surface); border: 1px solid var(--ev-border); border-radius: 8px; box-shadow: var(--ev-shadow-lg); max-height: 240px; overflow-y: auto; }
.jx-search-list button { display: block; width: 100%; text-align: left; padding: 8px 12px; font-size: 13px; }
.jx-search-list button:hover { background: var(--ev-subtle); }
.jx-chosen { display: flex; align-items: center; justify-content: space-between; border: 1px solid var(--ev-border-strong); border-radius: 7px; padding: 6px 6px 6px 10px; font-size: 13px; font-weight: 600; }
.jx-table-wrap { border: 1px solid var(--ev-border); border-radius: 8px; overflow: hidden; }
.jx-table { width: 100%; font-size: 13px; border-collapse: collapse; }
.jx-table th { text-align: left; font-weight: 500; color: var(--ev-muted); font-size: 12px; padding: 10px 12px; border-bottom: 1px solid var(--ev-border); background: var(--ev-subtle); }
.jx-table td { padding: 10px 12px; border-bottom: 1px solid var(--ev-border); vertical-align: top; }
.jx-table tr:last-child td { border-bottom: 0; }
.jx-table td small { display: block; color: var(--ev-muted); font-size: 11.5px; }
.jx-empty { text-align: center; color: var(--ev-muted); padding: 24px !important; }
.jx-pager { display: flex; align-items: center; justify-content: flex-end; gap: 8px; margin-top: 12px; font-size: 12.5px; color: var(--ev-muted); }
.jx-split { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 14px; }
.jx-seg { display: inline-flex; border: 1px solid var(--ev-border-strong); border-radius: 7px; overflow: hidden; align-self: flex-start; margin-top: 6px; }
.jx-seg button { padding: 5px 12px; font-size: 12.5px; color: var(--ev-text-2); }
.jx-seg button.is-on { background: var(--ev-subtle-2); color: var(--ev-text); font-weight: 600; }
.jx-seg-sm { margin-top: 0; }
.jx-seg-sm button { padding: 2px 8px; font-size: 11px; }
.jx-preview-mail { border: 1px solid var(--ev-border); border-radius: 10px; overflow: hidden; display: flex; flex-direction: column; min-height: 420px; }
.jx-preview-subject { padding: 8px 12px; border-bottom: 1px solid var(--ev-border); background: var(--ev-subtle); display: flex; flex-direction: column; }
.jx-preview-subject small { font-size: 11px; color: var(--ev-muted); }
.jx-preview-subject b { font-size: 13px; }
.jx-preview-mail iframe { flex: 1; width: 100%; border: 0; background: #fff; }
.jx-preview-inbox { background: #18181b; border-radius: 10px; padding: 12px; min-height: 360px; }
.jx-preview-inbox.is-light { background: #e5e7eb; display: flex; justify-content: center; align-items: flex-start; padding: 18px; }
.jx-inbox-card { display: flex; gap: 10px; background: #27272a; border-left: 3px solid #eab308; border-radius: 8px; padding: 10px; color: #fafafa; }
.jx-inbox-card small { font-size: 10px; color: #eab308; font-weight: 700; letter-spacing: .04em; }
.jx-inbox-card small em { color: #a1a1aa; font-style: normal; font-weight: 400; margin-left: 6px; }
.jx-inbox-card > div > b { display: block; font-size: 13px; margin: 2px 0; }
.jx-inbox-card p { font-size: 12px; color: #d4d4d8; }
.jx-inbox-card img { margin-top: 8px; border-radius: 6px; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.jx-inbox-ico { width: 30px; height: 30px; border-radius: 6px; background: #eab308; color: #18181b; display: inline-flex; align-items: center; justify-content: center; flex: none; }
.jx-inbox-btn { display: inline-block; margin-top: 8px; background: #eab308; color: #18181b; font-weight: 700; font-size: 12px; padding: 5px 12px; border-radius: 6px; }
.jx-rcs-card { width: 280px; background: #fff; border-radius: 14px; overflow: hidden; box-shadow: 0 1px 3px rgba(0,0,0,.1); }
.jx-rcs-card .jx-rcs-art { aspect-ratio: 2 / 1; background: #d1d5db; }
.jx-rcs-card .jx-rcs-art img { width: 100%; height: 100%; object-fit: cover; display: block; }
.jx-rcs-card > b { display: block; padding: 10px 12px 0; font-size: 14px; }
.jx-rcs-card p { padding: 4px 12px 10px; font-size: 13px; color: #374151; white-space: pre-line; }
.jx-rcs-card span { display: block; border-top: 1px solid #e5e7eb; padding: 9px; text-align: center; color: #2563eb; font-weight: 700; font-size: 13px; }
.jx-upload { display: flex; flex-direction: column; gap: 8px; }
.jx-upload-art { width: 220px; aspect-ratio: 16 / 9; border: 1px dashed var(--ev-border-strong); border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 12px; color: var(--ev-muted); overflow: hidden; background: var(--ev-subtle); }
.jx-upload-art.is-wide { aspect-ratio: 2 / 1; }
.jx-upload-art img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 1440px) {
    .jx-body { grid-template-columns: 190px 1fr 290px; }
}
@media (max-width: 1100px) {
    .jx { height: auto; }
    .jx-body { grid-template-columns: 1fr; }
    .jx-palette { border-right: 0; border-bottom: 1px solid var(--ev-border); }
    .jx-palette-list { display: flex; flex-wrap: wrap; gap: 6px; }
    .jx-group { display: contents; }
    .jx-group h5 { display: none; }
    .jx-block { width: auto; margin: 0; }
    .jx-canvas { height: 520px; }
    .jx-side { border-left: 0; border-top: 1px solid var(--ev-border); }
    .jx-split { grid-template-columns: 1fr; }
}

/* ---------- Banners: cartões na proporção de cada posição ---------- */
.ev-bn-media { max-height: none; }
.ev-bn-media img { object-fit: cover; }
.ev-bn-order { position: absolute; left: 10px; bottom: 10px; font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 999px; background: rgba(15, 23, 42, .72); color: #fff; }
.jx-preview-kicker { display: block; font-size: 11px; color: var(--ev-muted); margin: 16px 0 6px; }
.jx-toast-card { position: relative; display: flex; gap: 10px; background: #18181b; border: 1px solid #3f3f46; border-left: 3px solid #eab308; border-radius: 10px; padding: 10px 28px 10px 12px; color: #fafafa; max-width: 320px; box-shadow: 0 10px 30px -10px rgba(0,0,0,.6); }
.jx-toast-card small { font-size: 10px; color: #eab308; font-weight: 700; letter-spacing: .04em; }
.jx-toast-card > div > b { display: block; font-size: 13px; margin: 2px 0; }
.jx-toast-card p { font-size: 12px; color: #d4d4d8; max-height: 4.4em; overflow: hidden; }
.jx-toast-x { position: absolute; top: 6px; right: 9px; color: #a1a1aa; font-size: 15px; }
.jx-preview-inbox.is-dim { background: rgba(9, 9, 11, .85); display: flex; align-items: center; justify-content: center; padding: 18px; }
.jx-popup-card { position: relative; width: 300px; background: #374151; border-radius: 12px; overflow: hidden; color: #fff; }
.jx-popup-card img { display: block; width: 100%; height: auto; }
.jx-popup-card > div { padding: 14px; display: grid; gap: 8px; }
.jx-popup-card > div > b { text-transform: uppercase; font-size: 13px; }
.jx-popup-card p { font-size: 12px; color: rgba(255,255,255,.72); line-height: 1.5; }
.jx-popup-btn { display: block; background: #22c55e; color: #18181b; border-radius: 8px; text-align: center; font-weight: 800; font-size: 12px; padding: 10px; text-transform: uppercase; }
.jx-upload-art.is-square { aspect-ratio: 1 / 1; width: 160px; }

/* ---------- Gráficos interativos (dica ao passar o mouse) ---------- */
.ev-chart .ev-slot { cursor: crosshair; }
.ev-chart .ev-slot .band { fill: var(--ev-accent); opacity: 0; transition: opacity .12s; }
.ev-chart .ev-slot:hover .band { opacity: .07; }
.ev-chart .ev-slot .bar { transition: filter .12s; }
.ev-chart .ev-slot:hover .bar { filter: brightness(.92) saturate(1.15); }
.ev-chart .pt { opacity: 0; stroke: var(--ev-surface); stroke-width: 2; transition: opacity .12s; }
.ev-chart .pt.is-on { opacity: 1; }
.ev-tip { position: fixed; left: 0; top: 0; z-index: 70; pointer-events: none; opacity: 0; transition: opacity var(--ev-dur-quick) var(--ev-ease); background: var(--ev-inverse-bg); color: var(--ev-inverse-text); border-radius: var(--ev-radius-sm); padding: 8px 10px; min-width: 170px; font-size: 12px; box-shadow: var(--ev-shadow-lg); }
.ev-tip.is-on { opacity: 1; }
.ev-tip b { display: block; font-size: 11.5px; font-weight: 600; opacity: .72; margin-bottom: 5px; }
.ev-tip div { display: flex; align-items: center; gap: 7px; line-height: 1.7; }
.ev-tip i { width: 8px; height: 8px; border-radius: 2px; flex: none; }
.ev-tip span { opacity: .8; }
.ev-tip strong { margin-left: auto; padding-left: 12px; font-weight: 600; font-variant-numeric: tabular-nums; }

/* ---------- Seletor de período (Dashboard) ---------- */
.ev-range { position: relative; }
.ev-range-btn { display: inline-flex; align-items: center; gap: 10px; height: 40px; padding: 0 12px; border: 1px solid var(--ev-border-strong); border-radius: 9px; background: var(--ev-surface); color: var(--ev-text); cursor: pointer; }
.ev-range-btn:hover { background: var(--ev-subtle); }
.ev-range-ico { width: 16px; height: 16px; color: var(--ev-muted); }
.ev-range-text { display: flex; align-items: baseline; gap: 8px; }
.ev-range-text strong { font-size: 13.5px; font-weight: 600; }
.ev-range-text small { font-size: 12px; color: var(--ev-muted); }
.ev-range-chev { width: 16px; height: 16px; color: var(--ev-muted); transition: transform .15s; }
.ev-range-chev.is-open { transform: rotate(180deg); }
.ev-range-menu { position: absolute; top: calc(100% + 6px); left: 0; z-index: 30; display: flex; background: var(--ev-surface); border: 1px solid var(--ev-border); border-radius: 11px; box-shadow: var(--ev-shadow-lg); overflow: hidden; }
.ev-range-presets { display: flex; flex-direction: column; padding: 6px; min-width: 240px; }
.ev-range-presets button { display: flex; align-items: center; justify-content: space-between; gap: 10px; text-align: left; padding: 8px 10px; border-radius: 7px; font-size: 13px; color: var(--ev-text-2); cursor: pointer; }
.ev-range-presets button span { display: flex; flex-direction: column; }
.ev-range-presets button small { font-size: 11.5px; color: var(--ev-faint); margin-top: 1px; }
.ev-range-presets button:hover { background: var(--ev-subtle); color: var(--ev-text); }
.ev-range-presets button.is-active { background: var(--ev-accent-soft); color: var(--ev-accent-strong); font-weight: 600; }
.ev-range-check { width: 15px; height: 15px; flex: none; }
.ev-range-custom { border-left: 1px solid var(--ev-border); padding: 14px; width: 260px; display: flex; flex-direction: column; gap: 10px; }
.ev-range-fields { display: grid; gap: 8px; }
.ev-range-fields label { display: flex; flex-direction: column; gap: 4px; font-size: 12px; color: var(--ev-muted); }
.ev-range-fields input { height: 36px; border: 1px solid var(--ev-border-strong); border-radius: 7px; padding: 0 10px; font-size: 13px; color: var(--ev-text); background: var(--ev-surface); }
.ev-range-fields input:focus { outline: none; border-color: var(--ev-accent); box-shadow: 0 0 0 3px var(--ev-accent-soft-2); }
.ev-range-custom p { font-size: 11.5px; color: var(--ev-muted); line-height: 1.45; }
.ev-range-apply { height: 36px; border-radius: var(--ev-radius-md); background: var(--ev-primary); color: var(--ev-on-primary) !important; font-size: 13px; font-weight: 600; cursor: pointer; }
.ev-range-apply:disabled { opacity: .5; cursor: not-allowed; }
@media (max-width: 640px) {
    .ev-range-menu { flex-direction: column; }
    .ev-range-custom { border-left: 0; border-top: 1px solid var(--ev-border); width: auto; }
    .ev-range-text small { display: none; }
}

/* ---------- Campo simples fora do formulário do Filament (ex.: "Conferir um jogador") ---------- */
.ev-input { display: block; width: 100%; height: 38px; padding: 0 12px; border: 1px solid var(--ev-border-strong); border-radius: var(--ev-radius-md); background: var(--ev-surface); color: var(--ev-text); font-size: 13.5px; outline: none; transition: border-color var(--ev-dur-quick) var(--ev-ease), box-shadow var(--ev-dur-quick) var(--ev-ease); }
.ev-input::placeholder { color: var(--ev-faint); }
.ev-input:focus { border-color: var(--ev-accent); box-shadow: 0 0 0 3px var(--ev-accent-soft-2); }

/* ---------- Botão de modo claro/escuro (ao lado do logo) ---------- */
.ev-theme-toggle { display: inline-grid; place-items: center; width: 36px; height: 36px; border-radius: var(--ev-radius-md); color: var(--ev-text-2); background: var(--ev-subtle); transition: background var(--ev-dur-quick) var(--ev-ease), transform var(--ev-dur-quick) var(--ev-ease); }
.ev-theme-toggle:hover { background: var(--ev-subtle-2); color: var(--ev-text); transform: translateY(-1px); }
.ev-theme-toggle svg { width: 18px; height: 18px; transition: transform var(--ev-dur-slow) var(--ev-ease); }
.dark .ev-theme-toggle svg { transform: rotate(180deg); }
.ev-theme-toggle .ev-when-dark { display: none; }
.dark .ev-theme-toggle .ev-when-dark { display: block; }
.dark .ev-theme-toggle .ev-when-light { display: none; }

/* Logo da marca: a versão escura no fundo claro e a clara no fundo escuro. */
.ev-logo-dark { display: block; }
.ev-logo-light { display: none; }
.dark .ev-logo-dark { display: none; }
.dark .ev-logo-light { display: block; }

/* Movimento: respeita quem pediu menos animação no sistema. */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { transition-duration: 0ms !important; animation-duration: 0ms !important; }
    .fi-btn:not(:disabled):hover, .fi-ta-content-grid .fi-ta-record:hover { transform: none !important; }
}

/* ---------- Busca do painel (⌘K / Ctrl+K) ---------- */
.ev-pal { position: fixed; inset: 0; z-index: 90; display: flex; justify-content: center; align-items: flex-start; padding: 12vh 16px 16px; }
.ev-pal-overlay { position: absolute; inset: 0; background: var(--ev-overlay); backdrop-filter: blur(4px); animation: evPalFade var(--ev-dur) var(--ev-ease); }
.ev-pal-panel {
    position: relative; width: min(640px, 100%); max-height: min(560px, 76vh); display: flex; flex-direction: column;
    background: var(--ev-surface); border: 1px solid var(--ev-border); border-radius: 20px; box-shadow: var(--ev-shadow-xl);
    overflow: hidden; animation: evPalIn var(--ev-dur) var(--ev-ease);
}
@keyframes evPalIn { from { opacity: 0; transform: translateY(8px) scale(.985); } to { opacity: 1; transform: none; } }
@keyframes evPalFade { from { opacity: 0; } to { opacity: 1; } }
.ev-pal-search { display: flex; align-items: center; gap: 10px; padding: 0 14px 0 18px; border-bottom: 1px solid var(--ev-border); }
.ev-pal-search > svg { width: 20px; height: 20px; color: var(--ev-muted); flex: none; }
.ev-pal-search input { flex: 1; height: 58px; border: 0; outline: none; background: transparent; color: var(--ev-text); font-size: 16px; box-shadow: none; padding: 0; }
.ev-pal-search input::placeholder { color: var(--ev-faint); }
.ev-pal-esc { font-size: 11px; font-weight: 600; color: var(--ev-muted); background: var(--ev-subtle-2); border: 1px solid var(--ev-border); border-bottom-width: 2px; border-radius: 6px; padding: 2px 7px; }
.ev-pal-results { overflow-y: auto; padding: 6px 8px 10px; overscroll-behavior: contain; }
.ev-pal-section { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ev-faint); padding: 12px 10px 6px; }
.ev-pal-item { display: flex; align-items: center; gap: 12px; padding: 9px 10px; border-radius: var(--ev-radius-sm); color: var(--ev-text); text-decoration: none; }
.ev-pal-item.is-active { background: var(--ev-accent-soft); }
.ev-pal-ico { width: 32px; height: 32px; border-radius: 9px; display: grid; place-items: center; background: var(--ev-subtle); color: var(--ev-muted); flex: none; }
.ev-pal-ico svg { width: 17px; height: 17px; }
.ev-pal-item.is-active .ev-pal-ico { background: var(--ev-accent-soft-2); color: var(--ev-accent); }
.ev-pal-text { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.ev-pal-text b { font-size: 14px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ev-pal-text b mark { background: transparent; color: var(--ev-accent-strong); font-weight: 700; }
.ev-pal-text small { font-size: 12px; color: var(--ev-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ev-pal-go { font-size: 13px; color: var(--ev-faint); opacity: 0; transform: translateX(-4px); transition: opacity var(--ev-dur-quick) var(--ev-ease), transform var(--ev-dur-quick) var(--ev-ease); }
.ev-pal-item.is-active .ev-pal-go { opacity: 1; transform: none; color: var(--ev-accent); }
.ev-pal-note { padding: 28px 12px; text-align: center; font-size: 13px; color: var(--ev-muted); }
.ev-pal-foot { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; padding: 10px 16px; border-top: 1px solid var(--ev-border); background: var(--ev-subtle); font-size: 12px; color: var(--ev-muted); }
.ev-pal-foot kbd { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 5px; margin-right: 3px; font-family: inherit; font-size: 11px; color: var(--ev-text-2); background: var(--ev-surface); border: 1px solid var(--ev-border); border-bottom-width: 2px; border-radius: 6px; }
.ev-pal-foot-end { margin-left: auto; }
@media (max-width: 640px) {
    .ev-pal { padding: 12px; }
    .ev-pal-panel { max-height: 86vh; }
    .ev-pal-foot { display: none; }
}

/* ---------- Sem barra superior no computador ----------
   Tema fica ao lado do logo e a conta no rodapé do menu. No celular a barra continua (botão ☰). */
@media (min-width: 1024px) {
    .fi-topbar { display: none !important; }
    .fi-sidebar-header { border-bottom: 0 !important; }
    .fi-page > section { padding-top: 1.75rem !important; }
}
.fi-sidebar-header { gap: 8px; }
.ev-sidebar-head-actions { margin-left: auto; display: flex; align-items: center; gap: 6px; }
.ev-sidebar-head-actions .ev-theme-toggle { width: 34px; height: 34px; background: transparent; border: 1px solid var(--ev-border); }
.ev-sidebar-head-actions .ev-theme-toggle:hover { background: var(--ev-subtle); }
.ev-sidebar-head-actions .ev-theme-toggle svg { width: 17px; height: 17px; }

/* Conta no rodapé do menu (DS · "Sidebar de produto") */
.ev-side-user-wrap { padding: 10px 12px 12px; border-top: 1px solid var(--ev-border); background: var(--ev-bg); }
.ev-side-user-dd, .ev-side-user-dd > .fi-dropdown-trigger { display: block; width: 100%; }
.ev-side-user {
    display: flex; align-items: center; gap: 10px; width: 100%; padding: 8px; border-radius: var(--ev-radius-md);
    text-align: left; color: var(--ev-text); transition: background var(--ev-dur-quick) var(--ev-ease);
}
.ev-side-user:hover { background: var(--ev-subtle); }
.ev-avatar {
    width: 34px; height: 34px; border-radius: 50%; flex: none; display: grid; place-items: center;
    background: linear-gradient(135deg, #5E38F9, #FF45C8); color: #fff; font-weight: 800; font-size: 12px; letter-spacing: .02em;
}
.ev-side-user-meta { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.3; }
.ev-side-user-meta b, .ev-side-user-meta span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ev-side-user-meta b { font-size: 13.5px; font-weight: 700; }
.ev-side-user-meta span { font-size: 12px; color: var(--ev-muted); }
.ev-side-user-chev { width: 16px; height: 16px; color: var(--ev-faint); flex: none; }

/* ==========================================================================
   NAVE DS v1 · camada de componentes (docs/design-system/README.md)
   Vem por último de propósito: é a palavra final sobre cada componente do Filament.
   ========================================================================== */
:root { --livewire-progress-bar-color: #5E38F9; --ev-beam-2: #2979FF; }

/* Blocos de grade não podem empurrar a tela para os lados no celular */
.ev-page > *, .ev-grid > *, .fi-page > section > * { min-width: 0; }

/* ---------- 03 · Tipografia ---------- */
.fi-body { letter-spacing: -.01em; -webkit-font-smoothing: antialiased; }
.fi-header-heading { font-size: 26px !important; font-weight: 700 !important; letter-spacing: -.035em !important; line-height: 1.15 !important; }
.fi-header-subheading { font-size: 14px !important; color: var(--ev-muted) !important; letter-spacing: -.005em; }
.fi-section-header-heading { font-size: 16px !important; font-weight: 700 !important; letter-spacing: -.02em !important; color: var(--ev-text) !important; }
.fi-section-header-description { font-size: 13px !important; color: var(--ev-muted) !important; }
.ev-eyebrow { font-size: 12px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; color: var(--ev-accent); margin-bottom: 8px; }
.ev-card-title { font-size: 16px; font-weight: 700; letter-spacing: -.02em; }
.ev-card-kicker { font-size: 12px; font-weight: 700; letter-spacing: 0; text-transform: none; color: var(--ev-muted); }
.ev-big { font-weight: 800; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.ev-mid { font-weight: 800; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }

/* ---------- 17 · Navegação (menu lateral) ---------- */
.fi-sidebar-group-label { font-size: 11px !important; font-weight: 800 !important; letter-spacing: .12em !important; color: var(--ev-faint) !important; }
.fi-sidebar-item-button { min-height: 38px !important; padding: 0 12px !important; border-radius: 10px !important; gap: 10px !important; }
.fi-sidebar-item-label { font-size: 14px !important; font-weight: 600 !important; letter-spacing: -.01em; }
.fi-sidebar-item-icon { width: 18px !important; height: 18px !important; }
.fi-sidebar-item-active .fi-sidebar-item-label { color: var(--ev-accent-strong) !important; font-weight: 700 !important; }
.fi-sidebar-item .fi-badge { font-size: 11px !important; padding: 2px 7px !important; }

/* ---------- 05 · Botões (primário roxo, secundário branco, fantasma, escuro) ---------- */
.fi-btn { font-weight: 700 !important; border-radius: 12px !important; letter-spacing: -.005em; gap: 8px !important;
    transition: background-color var(--ev-dur-quick) var(--ev-ease), transform 180ms var(--ev-ease), box-shadow 180ms var(--ev-ease), color var(--ev-dur-quick) var(--ev-ease) !important; }
.fi-btn.fi-size-md { min-height: 40px; padding-left: 16px !important; padding-right: 16px !important; }
.fi-btn:is(.fi-size-lg, .fi-size-xl) { min-height: 46px; padding-left: 18px !important; padding-right: 18px !important; }
.fi-btn:is(.fi-size-xs, .fi-size-sm) { min-height: 34px; border-radius: 10px !important; }
.fi-btn:not(:disabled):not(.fi-disabled):hover { transform: translateY(-1px); }
.fi-btn:not(.fi-btn-outlined):not(.fi-color-gray):not(:disabled):hover { box-shadow: var(--ev-shadow-1) !important; }
.fi-btn:not(:disabled):active { transform: translateY(0) scale(.99); }
/* Secundário: os botões cinza do Filament (Cancelar, Filtros, Exportar...) viram o botão branco do DS */
.fi-btn.fi-color-gray:not(.fi-btn-outlined) { background: var(--ev-surface) !important; box-shadow: inset 0 0 0 1px var(--ev-border-strong) !important; }
.fi-btn.fi-color-gray:not(.fi-btn-outlined):not(:disabled):hover { background: var(--ev-subtle) !important; box-shadow: inset 0 0 0 1px var(--ev-border-strong), var(--ev-shadow-1) !important; }
.fi-btn.fi-color-gray:not(.fi-btn-outlined) .fi-btn-label { color: var(--ev-text) !important; }
.fi-btn.fi-color-gray:not(.fi-btn-outlined) .fi-btn-icon { color: var(--ev-muted) !important; }
/* Contornado: mesmo trilho neutro, texto na cor da ação */
.fi-btn.fi-btn-outlined { background: transparent !important; box-shadow: inset 0 0 0 1px var(--ev-border-strong) !important; }
.fi-btn.fi-btn-outlined:not(:disabled):hover { background: var(--ev-subtle) !important; }
/* Fantasma: links de ação (sem fundo até passar o mouse) */
.fi-link { border-radius: 8px; transition: background var(--ev-dur-quick) var(--ev-ease), color var(--ev-dur-quick) var(--ev-ease); }
/* Escuro (momentos premium) e seta que acompanha (CTA) — use as classes ev-btn-dark / ev-cta */
.fi-btn.ev-btn-dark, .ev-btn-dark { background: var(--ev-inverse-bg) !important; color: var(--ev-inverse-text) !important; }
.fi-btn.ev-btn-dark .fi-btn-label, .fi-btn.ev-btn-dark .fi-btn-icon { color: var(--ev-inverse-text) !important; }
.ev-cta .fi-btn-label + .fi-btn-icon, .ev-arrow { transition: transform 200ms var(--ev-ease); }
.ev-cta:hover .fi-btn-label + .fi-btn-icon, a:hover > .ev-arrow, button:hover > .ev-arrow, .ev-card.is-hover:hover .ev-arrow { transform: translateX(5px); }
/* Botões de ícone */
.fi-icon-btn { border-radius: 10px !important; transition: background var(--ev-dur-quick) var(--ev-ease), color var(--ev-dur-quick) var(--ev-ease), transform var(--ev-dur-quick) var(--ev-ease) !important; }
.fi-icon-btn:not(:disabled):hover { background: var(--ev-subtle) !important; }

/* Confirmação visual no próprio botão (em vez de toast): ev-ui.js troca ícone e texto */
html .fi-btn.ev-confirmed:not(.fi-btn-outlined), .ev-confirmed { background-color: var(--ev-success-strong) !important; box-shadow: none !important; }
.fi-btn.ev-confirmed .fi-btn-label, .fi-btn.ev-confirmed .fi-btn-icon { color: #fff !important; }
.dark .fi-btn.ev-confirmed .fi-btn-label, .dark .fi-btn.ev-confirmed .fi-btn-icon { color: #090910 !important; }
.ev-confirm-ico { width: 18px; height: 18px; animation: evPop 320ms var(--ev-ease); }
@keyframes evPop { from { transform: scale(.4); opacity: 0; } to { transform: none; opacity: 1; } }

/* ---------- 06 · Cartões ---------- */
.ev-card, .fi-section, .fi-ta-ctn, .fi-fo-tabs { border-radius: 18px !important; }
.ev-card.is-soft { background: var(--ev-subtle); border-color: transparent; }
.ev-card.is-dark { background: #090910; border-color: #090910; color: #fff; }
.dark .ev-card.is-dark { background: #F7F7F8; border-color: #F7F7F8; color: #090910; }
.ev-card.is-hover { transition: transform 240ms var(--ev-ease), box-shadow 240ms var(--ev-ease), background 240ms var(--ev-ease); }
.ev-card.is-hover:hover { transform: translateY(-6px); box-shadow: var(--ev-shadow-lg); }
.fi-ta-content-grid .fi-ta-record:hover { transform: translateY(-4px) !important; }

/* ---------- 12 · Dashboard: métricas, gráficos e micro barras ---------- */
.ev-metric-grid { display: grid; gap: 12px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ev-metric { border: 1px solid var(--ev-border); border-radius: 16px; padding: 16px; background: var(--ev-surface); min-width: 0; }
.ev-metric-label { font-size: 12px; font-weight: 700; color: var(--ev-muted); }
.ev-metric-value { font-size: 27px; font-weight: 800; letter-spacing: -.04em; line-height: 1.1; margin-top: 8px; color: var(--ev-text); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.ev-delta { font-size: 12px; font-weight: 700; margin-top: 6px; color: var(--ev-muted); }
.ev-delta.is-good { color: var(--ev-success); }
.ev-delta.is-bad { color: var(--ev-danger); }
.ev-delta span { font-weight: 500; color: var(--ev-muted); }
.ev-chart-card { padding: 18px !important; }
.ev-chart-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.ev-chart-head strong { display: block; font-size: 15px; font-weight: 700; letter-spacing: -.01em; color: var(--ev-text); }
.ev-chart-head .ev-help { font-size: 12px; color: var(--ev-muted); margin-top: 2px; }
.ev-chart .grid { stroke-dasharray: none !important; }
.ev-chart .ev-slot .bar { transform-box: fill-box; transition: transform 200ms var(--ev-ease), filter 200ms var(--ev-ease) !important; }
.ev-chart .ev-slot:hover .bar { transform: translateY(-3px); filter: brightness(1.1) !important; }
.ev-chart .ev-line-end { fill: var(--ev-surface); stroke: var(--ev-accent); stroke-width: 3; }
.ev-spark { display: flex; align-items: flex-end; gap: 3px; height: 30px; margin-top: 12px; }
.ev-spark i { flex: 1; min-width: 2px; height: var(--h); border-radius: 3px 3px 1px 1px; background: var(--ev-subtle-2); transition: background var(--ev-dur-quick) var(--ev-ease); }
.ev-spark i.is-last, .ev-spark i:hover { background: var(--ev-accent); }
.ev-hbar-track { height: 9px; border-radius: 999px; background: var(--ev-subtle); overflow: hidden; }
.ev-hbar-track > span, .ev-bar > span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--ev-accent), var(--ev-beam-2)); }
.ev-donut { position: relative; width: 150px; height: 150px; border-radius: 50%; margin: 8px auto; flex: none; }
.ev-donut-hole { position: absolute; inset: 22px; border-radius: 50%; background: var(--ev-surface); display: grid; place-content: center; text-align: center; }
.ev-donut-hole strong { font-size: 23px; font-weight: 800; letter-spacing: -.04em; color: var(--ev-text); line-height: 1.1; }
.ev-donut-hole span { font-size: 11px; color: var(--ev-muted); margin-top: 2px; }
@media (max-width: 1050px) { .ev-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) {
    .ev-metric-grid { gap: 8px; }
    .ev-metric { padding: 12px; }
    .ev-metric-value { font-size: 21px; }
    .ev-chart-head { align-items: flex-start; flex-direction: column; }
}

/* Indicadores (x-ev.kpi e telas antigas) no formato de métrica do DS */
.ev-kpi-card { padding: 16px !important; border-radius: 16px !important; }
.ev-kpi-card-head { font-size: 12px !important; font-weight: 700 !important; color: var(--ev-muted) !important; }
.ev-kpi-card-value { font-size: 27px !important; font-weight: 800 !important; letter-spacing: -.04em !important; line-height: 1.1; margin-top: 8px !important; }
.fi-main div.ev-kpis > .ev-kpi { border-radius: 16px !important; padding: 14px 16px !important; }
.fi-main div.ev-kpis > .ev-kpi > span:first-child { font-size: 12px !important; font-weight: 700 !important; color: var(--ev-muted) !important; }
.fi-main div.ev-kpis > .ev-kpi > strong { font-size: clamp(16px, 1.35vw, 20px) !important; white-space: nowrap; font-weight: 800 !important; letter-spacing: -.035em !important; font-variant-numeric: tabular-nums; }
.fi-wi-stats-overview-stat { border-radius: 16px !important; padding: 16px !important; }
.fi-wi-stats-overview-stat-label { font-size: 12px !important; font-weight: 700 !important; color: var(--ev-muted) !important; }
.fi-wi-stats-overview-stat-value { font-size: 27px !important; font-weight: 800 !important; letter-spacing: -.04em !important; }
.fi-wi-stats-overview-stat-description { font-size: 12px !important; font-weight: 700 !important; }

/* ---------- 13 · Tabelas ---------- */
.fi-ta-header-cell, .fi-ta-actions-header-cell { background: var(--ev-subtle) !important; padding-top: 12px !important; padding-bottom: 12px !important; }
.fi-ta-header-cell-label { font-size: 11px !important; font-weight: 700 !important; letter-spacing: .08em !important; color: var(--ev-muted) !important; }
.fi-ta-text-item-label, .fi-ta-text { font-size: 14px !important; }
.fi-ta-cell .py-4, .fi-ta-cell .py-3 { padding-top: 13px !important; padding-bottom: 13px !important; }
.fi-ta-cell .px-3 { padding-left: 16px !important; padding-right: 16px !important; }
.fi-ta-table > tbody > tr, .fi-ta-row { transition: background 160ms var(--ev-ease) !important; }
.ev-table th { font-size: 11px; font-weight: 700; letter-spacing: .08em; padding: 12px 16px; }
.ev-table td { font-size: 14px; padding: 14px 16px; }
.ev-table tbody tr { transition: background 160ms var(--ev-ease); }
.ev-table tbody tr:hover { background: var(--ev-subtle); }
/* Status: pílula com ponto (sucesso, atenção, erro, neutro) */
.fi-badge { border-radius: 999px !important; font-size: 12px !important; font-weight: 700 !important; padding: 4px 9px !important; gap: 6px !important; box-shadow: none !important; --tw-ring-shadow: 0 0 #0000 !important; }
.fi-badge.fi-color-success { background: var(--ev-success-soft) !important; color: var(--ev-success) !important; }
.fi-badge.fi-color-warning { background: var(--ev-warning-soft) !important; color: var(--ev-warning) !important; }
.fi-badge.fi-color-danger { background: var(--ev-danger-soft) !important; color: var(--ev-danger) !important; }
.fi-badge.fi-color-info { background: var(--ev-info-soft) !important; color: var(--ev-info) !important; }
.fi-badge.fi-color-primary { background: var(--ev-accent-soft) !important; color: var(--ev-accent-strong) !important; }
.fi-badge.fi-color-gray { background: var(--ev-subtle-2) !important; color: var(--ev-text-2) !important; }
.fi-badge .fi-badge-icon { color: currentColor !important; width: 14px !important; height: 14px !important; }
:is(.fi-ta-cell, .fi-in-entry-wrp) .fi-badge:not(:has(.fi-badge-icon))::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; flex: none; }
.ev-status { display: inline-flex; align-items: center; gap: 6px; padding: 4px 9px; border-radius: 999px; font-size: 12px; font-weight: 700; white-space: nowrap; background: var(--ev-subtle-2); color: var(--ev-text-2); }
.ev-status::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.ev-status.is-success { background: var(--ev-success-soft); color: var(--ev-success); }
.ev-status.is-warning { background: var(--ev-warning-soft); color: var(--ev-warning); }
.ev-status.is-danger { background: var(--ev-danger-soft); color: var(--ev-danger); }
.ev-badge { padding: 4px 9px; font-size: 12px; font-weight: 700; }
/* Paginação: botões de 38px, página atual em roxo */
.fi-pagination-items { display: flex !important; gap: 6px; border: 0 !important; box-shadow: none !important; background: transparent !important; overflow: visible !important; }
.fi-pagination-item { border: 0 !important; }
.fi-pagination-item-button { min-width: 38px; height: 38px; align-items: center; justify-content: center; border: 1px solid var(--ev-border) !important; border-radius: 10px !important; background: var(--ev-surface) !important; color: var(--ev-text); }
.fi-pagination-item-button:hover { background: var(--ev-subtle) !important; border-color: var(--ev-border-strong) !important; }
.fi-pagination-item.fi-active .fi-pagination-item-button { background: var(--ev-primary) !important; border-color: var(--ev-primary) !important; }
.fi-pagination-item.fi-active .fi-pagination-item-label { color: #fff !important; }
.fi-pagination-item-label { color: var(--ev-text); }
.ev-pager button { min-width: 38px; height: 38px; border-radius: 10px; }

/* ---------- 14 · Menus, opções e abas ---------- */
.fi-dropdown-panel { border-radius: 16px !important; padding: 6px !important; box-shadow: var(--ev-shadow-lg) !important; animation: evMenuIn 160ms var(--ev-ease); }
.fi-dropdown-panel > * { border-color: var(--ev-border) !important; }
.fi-dropdown-panel > * + * { margin-top: 6px; padding-top: 6px; }
.fi-dropdown-list { padding: 0 !important; gap: 2px; }
.fi-dropdown-list-item { border-radius: 10px !important; padding: 9px 11px !important; gap: 10px !important; transition: background var(--ev-dur-quick) var(--ev-ease) !important; }
.fi-dropdown-list-item-label { font-size: 14px !important; font-weight: 500 !important; color: var(--ev-text-2) !important; }
.fi-dropdown-list-item-icon { color: var(--ev-faint) !important; }
.fi-dropdown-list-item:hover { background: var(--ev-subtle) !important; }
.fi-dropdown-list-item:hover .fi-dropdown-list-item-label { color: var(--ev-text) !important; }
.fi-dropdown-list-item.fi-color-danger .fi-dropdown-list-item-label, .fi-dropdown-list-item.fi-color-danger .fi-dropdown-list-item-icon { color: var(--ev-danger) !important; }
.fi-dropdown-list-item.fi-color-primary .fi-dropdown-list-item-label, .fi-dropdown-list-item.fi-color-primary .fi-dropdown-list-item-icon { color: var(--ev-accent-strong) !important; }
.fi-dropdown-header { padding: 9px 11px !important; }
.fi-dropdown-header-label { font-size: 13px !important; font-weight: 700 !important; color: var(--ev-text) !important; }
@keyframes evMenuIn { from { opacity: 0; translate: 0 -5px; scale: .98; } to { opacity: 1; translate: 0 0; scale: 1; } }

.fi-tabs:not(.fi-contained) { background: var(--ev-subtle) !important; border: 1px solid var(--ev-border); border-radius: 12px !important; padding: 4px !important; gap: 4px !important; box-shadow: none !important; --tw-ring-shadow: 0 0 #0000 !important; width: max-content; }
.fi-fo-tabs > .fi-tabs.fi-contained { margin: 14px 14px 0; width: max-content; max-width: calc(100% - 28px); background: var(--ev-subtle); border: 1px solid var(--ev-border) !important; border-radius: 12px; padding: 4px !important; gap: 4px !important; }
.fi-tabs-item { border-radius: 9px !important; padding: 8px 13px !important; transition: background var(--ev-dur) var(--ev-ease), box-shadow var(--ev-dur) var(--ev-ease) !important; }
.fi-tabs-item-label { font-size: 14px !important; font-weight: 700 !important; color: var(--ev-text-2) !important; }
.fi-tabs-item-icon { color: var(--ev-faint) !important; width: 18px !important; height: 18px !important; }
.fi-tabs-item:hover .fi-tabs-item-label { color: var(--ev-text) !important; }
.fi-tabs-item.fi-active { background: var(--ev-surface) !important; box-shadow: var(--ev-shadow-1), 0 0 0 1px var(--ev-border); }
.fi-tabs-item.fi-active .fi-tabs-item-label { color: var(--ev-text) !important; }
.fi-tabs-item.fi-active .fi-tabs-item-icon { color: var(--ev-accent) !important; }
.ev-tabs, .ev-seg { gap: 4px; padding: 4px; border-radius: 12px; background: var(--ev-subtle); }
.ev-tabs button, .ev-seg a, .ev-seg button { padding: 8px 13px; border-radius: 9px; font-size: 13.5px; font-weight: 700; color: var(--ev-text-2); transition: background var(--ev-dur) var(--ev-ease), box-shadow var(--ev-dur) var(--ev-ease), color var(--ev-dur-quick) var(--ev-ease); }
.ev-tabs button.is-active, .ev-seg .is-active { background: var(--ev-surface); color: var(--ev-text); box-shadow: var(--ev-shadow-1), 0 0 0 1px var(--ev-border); }
@media (max-width: 620px) { .ev-tabs.is-fluid { display: flex; width: 100%; } .ev-tabs.is-fluid button { flex: 1; text-align: center; } }
.ev-chip { display: inline-flex; align-items: center; gap: 6px; padding: 7px 11px; border-radius: 999px; background: var(--ev-subtle); border: 1px solid var(--ev-border); font-size: 12px; font-weight: 700; color: var(--ev-text-2); }

/* ---------- 15 · Formulários ---------- */
.fi-fo-field-wrp-label > span, .fi-fo-field-wrp-label { font-size: 13px !important; font-weight: 700 !important; color: var(--ev-text) !important; }
.fi-fo-field-wrp-helper-text, .fi-fo-field-wrp-hint, .fi-fo-field-wrp-hint-label { font-size: 12px !important; color: var(--ev-muted) !important; }
.fi-fo-field-wrp-error-message { font-size: 12px !important; font-weight: 600; color: var(--ev-danger) !important; }
.fi-input-wrp { border-radius: 11px !important; background-color: var(--ev-surface) !important; --tw-shadow: 0 0 #0000 !important; transition: box-shadow 160ms var(--ev-ease), background 160ms var(--ev-ease) !important; }
.fi-input-wrp:not(.fi-invalid) { --tw-ring-color: var(--ev-border-strong) !important; }
.fi-input-wrp:not(.fi-invalid):focus-within { box-shadow: 0 0 0 1px var(--ev-accent), 0 0 0 4px rgba(94, 56, 249, .13) !important; }
.fi-input-wrp.fi-invalid:focus-within { box-shadow: 0 0 0 1px var(--ev-danger), 0 0 0 4px var(--ev-danger-soft) !important; }
.fi-input-wrp.fi-disabled { background-color: var(--ev-subtle) !important; }
.fi-fo-field-wrp :is(.fi-input, .fi-select-input, .fi-fo-date-time-picker-display-text-input) { min-height: 44px; font-size: 14px !important; }
.fi-fo-field-wrp .choices__inner { min-height: 44px !important; display: flex !important; align-items: center; }
.fi-fo-textarea, .fi-fo-field-wrp textarea.fi-input { min-height: 112px; }
.fi-input::placeholder { color: var(--ev-faint) !important; }
.fi-checkbox-input { border-radius: 5px !important; }
/* Chave: 44×26, roxa quando ligada */
.fi-fo-toggle { width: 44px !important; height: 26px !important; border-width: 3px !important; }
.fi-fo-toggle .translate-x-5 { --tw-translate-x: 18px !important; }
.fi-fo-toggle.fi-color-gray { background-color: var(--ev-subtle-2) !important; }
.fi-fo-toggle > span { box-shadow: var(--ev-shadow-1) !important; }
.ev-switch { width: 44px; height: 26px; }
.ev-switch > span { top: 3px; left: 3px; width: 20px; height: 20px; }
.ev-switch.is-on > span { transform: translateX(18px); }
.ev-input { height: 46px; border-radius: 11px; font-size: 14px; }
.ev-field { height: 46px; border-radius: 11px; font-size: 14px; }
.ev-field:focus-within, select.ev-field:focus, .ev-input:focus { border-color: var(--ev-accent) !important; box-shadow: 0 0 0 3px rgba(94, 56, 249, .13) !important; }

/* ---------- 16 · Seletores (data e cor com a cara do DS, sem o do navegador) ---------- */
.fi-fo-date-time-picker-panel, .fi-fo-color-picker-panel { border-radius: 20px !important; border: 1px solid var(--ev-border); background: var(--ev-surface) !important; box-shadow: var(--ev-shadow-xl) !important; --tw-ring-shadow: 0 0 #0000 !important; animation: evMenuIn 180ms var(--ev-ease); }
.fi-fo-date-time-picker-panel { padding: 16px !important; min-width: 296px; }
.fi-fo-date-time-picker-panel select, .fi-fo-date-time-picker-panel input[type="number"] { font-size: 14px !important; font-weight: 800 !important; color: var(--ev-text) !important; background: transparent !important; }
.fi-fo-date-time-picker-panel .grid-cols-7 > div:not([role]) { font-size: 10px !important; font-weight: 800 !important; letter-spacing: .04em; text-transform: uppercase; color: var(--ev-muted) !important; }
.fi-fo-date-time-picker-panel [role="option"] { border-radius: 10px !important; aspect-ratio: 1; display: grid; place-items: center; line-height: 1 !important; font-size: 12.5px !important; font-weight: 700; color: var(--ev-text-2); }
.fi-fo-date-time-picker-panel [role="option"]:hover, .fi-fo-date-time-picker-panel [role="option"].bg-gray-100 { background: var(--ev-subtle) !important; color: var(--ev-text) !important; }
.fi-fo-date-time-picker-panel [role="option"].text-primary-600:not(.bg-gray-50) { box-shadow: inset 0 0 0 1px var(--ev-accent); color: var(--ev-accent) !important; }
.fi-fo-date-time-picker-panel [role="option"].bg-gray-50 { background: var(--ev-primary) !important; color: #fff !important; }
.fi-fo-color-picker-panel { padding: 10px; }
.ev-picker-trigger { width: 100%; min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 13px; border: 1px solid var(--ev-border); border-radius: 12px; background: var(--ev-surface); color: var(--ev-text); text-align: left; transition: border-color 160ms var(--ev-ease), box-shadow 160ms var(--ev-ease); }
.ev-picker-trigger:hover { border-color: var(--ev-accent-border); box-shadow: 0 0 0 3px var(--ev-accent-soft); }
.ev-picker-icon { width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center; background: var(--ev-accent-soft); color: var(--ev-accent); flex: none; }
.ev-picker-icon svg { width: 16px; height: 16px; }

/* Calendário do DS (intervalo do Dashboard) */
.ev-cal { width: 292px; }
.ev-cal-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 10px; }
.ev-cal-title { font-size: 14px; font-weight: 800; letter-spacing: -.01em; color: var(--ev-text); text-align: center; flex: 1; }
.ev-cal-nav { width: 34px; height: 34px; border-radius: 10px; background: var(--ev-subtle); color: var(--ev-text); display: grid; place-items: center; transition: background var(--ev-dur-quick) var(--ev-ease), color var(--ev-dur-quick) var(--ev-ease); }
.ev-cal-nav:hover:not(:disabled) { background: var(--ev-accent-soft); color: var(--ev-accent); }
.ev-cal-nav:disabled { opacity: .35; cursor: not-allowed; }
.ev-cal-nav svg { width: 16px; height: 16px; }
.ev-cal-week, .ev-cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 3px; }
.ev-cal-week span { font-size: 10px; font-weight: 800; color: var(--ev-muted); text-align: center; padding: 5px 0; }
.ev-cal-day { aspect-ratio: 1; border-radius: 10px; font-size: 12px; font-weight: 700; color: var(--ev-text-2); display: grid; place-items: center; transition: background var(--ev-dur-quick) var(--ev-ease), color var(--ev-dur-quick) var(--ev-ease); }
.ev-cal-day:hover:not(:disabled) { background: var(--ev-subtle); color: var(--ev-text); }
.ev-cal-day:disabled { opacity: .28; cursor: not-allowed; }
.ev-cal-day.is-today { box-shadow: inset 0 0 0 1px var(--ev-accent); color: var(--ev-accent); }
.ev-cal-day.is-range { background: var(--ev-accent-soft); color: var(--ev-accent-strong); border-radius: 6px; }
.ev-cal-day.is-edge { background: var(--ev-primary) !important; color: #fff !important; box-shadow: none; }
.ev-cal-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--ev-border); }
.ev-cal-sum { font-size: 12px; color: var(--ev-muted); line-height: 1.35; }
.ev-cal-sum b { display: block; font-size: 13px; color: var(--ev-text); }

/* ---------- 19 · Modal (e bottom sheet no celular) ---------- */
.fi-modal-window:not(.fi-modal-slide-over-window) { border-radius: 20px !important; }
.fi-modal-window.scale-95 { transform: translateY(18px) scale(.98) !important; }
.fi-modal-window.duration-300 { transition-duration: 400ms !important; transition-timing-function: var(--ev-ease) !important; }
.fi-modal-heading { font-size: 20px !important; font-weight: 700 !important; letter-spacing: -.025em !important; color: var(--ev-text) !important; }
.fi-modal-description { font-size: 14px !important; color: var(--ev-muted) !important; }
.fi-modal-close-btn { width: 34px !important; height: 34px !important; border-radius: 10px !important; background: var(--ev-subtle) !important; color: var(--ev-text) !important; }
.fi-modal-close-btn:hover { background: var(--ev-accent-soft) !important; color: var(--ev-accent) !important; }
.fi-modal-icon-ctn, .fi-modal-icon-bg { border-radius: 14px !important; }
@media (max-width: 639px) {
    .fi-modal [x-ref="modalContainer"]:has(> .fi-modal-window:not(.fi-modal-slide-over-window)) { padding: 0 !important; grid-template-rows: 1fr auto !important; }
    .fi-modal-window:not(.fi-modal-slide-over-window) { max-width: 100% !important; margin: 0 !important; border-radius: 20px 20px 0 0 !important; border-bottom: 0 !important; padding-bottom: env(safe-area-inset-bottom); }
    .fi-modal-window.scale-95:not(.fi-modal-slide-over-window) { transform: translateY(48px) !important; }
    .fi-modal-footer-actions { display: flex !important; flex-direction: column-reverse !important; gap: 8px !important; }
    .fi-modal-footer-actions > *, .fi-modal-footer-actions .fi-btn { width: 100%; }
    .fi-modal-footer-actions .fi-btn { min-height: 44px; }
}

/* ---------- Feedback: alerta, toast, skeleton, vazio e dica ---------- */
.ev-alert { display: flex; gap: 12px; padding: 14px 16px; border-radius: 14px; border: 1px solid var(--ev-border); background: var(--ev-surface); }
.ev-alert-ico { width: 28px; height: 28px; border-radius: 9px; display: grid; place-items: center; flex: none; background: var(--ev-success-soft); color: var(--ev-success); }
.ev-alert-ico svg { width: 16px; height: 16px; }
.ev-alert.is-info .ev-alert-ico { background: var(--ev-accent-soft); color: var(--ev-accent); }
.ev-alert.is-warning .ev-alert-ico { background: var(--ev-warning-soft); color: var(--ev-warning); }
.ev-alert.is-danger .ev-alert-ico { background: var(--ev-danger-soft); color: var(--ev-danger); }
.ev-alert strong { display: block; font-size: 14px; color: var(--ev-text); }
.ev-alert p { margin: 2px 0 0; font-size: 13px; color: var(--ev-muted); }
.ev-note { border-radius: 14px; padding: 14px 16px; }
/* Toast (notificações do Filament) */
.fi-no-notification:not(.fi-inline) { border-radius: 14px !important; background: var(--ev-surface) !important; border: 1px solid var(--ev-border); box-shadow: var(--ev-shadow-lg) !important; --tw-ring-shadow: 0 0 #0000 !important; }
.fi-no-notification-title { font-size: 14px !important; font-weight: 700 !important; color: var(--ev-text) !important; }
.fi-no-notification-body, .fi-no-notification-date { font-size: 13px !important; color: var(--ev-muted) !important; }
/* Skeleton */
.ev-skeleton { height: 14px; border-radius: 999px; background: linear-gradient(90deg, var(--ev-subtle-2), var(--ev-subtle), var(--ev-subtle-2)); background-size: 200% 100%; animation: evShimmer 1.6s linear infinite; }
.ev-skeleton.is-lg { height: 110px; border-radius: 16px; }
@keyframes evShimmer { to { background-position: -200% 0; } }
/* Estado vazio: borda tracejada e ícone em bloco roxo suave */
.ev-empty { border: 1px dashed var(--ev-border-strong); border-radius: 18px; padding: 32px 20px; font-size: 13.5px; color: var(--ev-muted); }
.ev-empty-icon, .fi-ta-empty-state-icon-ctn { width: 54px; height: 54px; border-radius: 18px !important; padding: 0 !important; display: grid; place-items: center; background: var(--ev-accent-soft) !important; color: var(--ev-accent); margin: 0 auto 14px !important; }
.ev-empty-icon svg { width: 24px; height: 24px; }
.fi-ta-empty-state { padding: 20px !important; }
.fi-ta-empty-state-content { max-width: none !important; border: 1px dashed var(--ev-border-strong); border-radius: 18px; padding: 42px 24px; }
.fi-ta-empty-state-icon { color: var(--ev-accent) !important; }
.fi-ta-empty-state-heading { font-size: 16px !important; font-weight: 700 !important; letter-spacing: -.01em; color: var(--ev-text) !important; }
.fi-ta-empty-state-description { font-size: 13.5px !important; color: var(--ev-muted) !important; max-width: 420px; margin-left: auto; margin-right: auto; }
/* Dica (tooltip) invertida */
.tippy-box { background-color: var(--ev-inverse-bg) !important; color: var(--ev-inverse-text) !important; border-radius: 8px !important; font-size: 12px !important; font-weight: 500 !important; line-height: 1.4 !important; box-shadow: none !important; border: 0 !important; }
.tippy-box > .tippy-content { padding: 7px 9px !important; }
.tippy-box > .tippy-arrow { color: var(--ev-inverse-bg) !important; }
.ev-tip { border-radius: 8px; }

/* ---------- 11 · Microinterações: loading NAVE e aviso de "carregando" ---------- */
/* Loader do logo (loader-logo-opcao-2): as 3 peças do N se afastam, giram e se montam de novo,
   enquanto o logo flutua. Os deslocamentos das peças estão nas unidades do SVG, então valem em qualquer tamanho. */
.ev-loader { position: relative; display: inline-grid; place-items: center; flex: none; vertical-align: middle; }
:where(.ev-loader) { width: 22px; height: 22px; }
:where(.ev-loader.is-sm) { width: 16px; height: 16px; }
:where(.ev-loader.is-lg) { width: 56px; height: 56px; }
.ev-loader svg { width: 100%; height: 100%; overflow: visible; animation: evLoaderFloat 2.6s ease-in-out infinite; }
.ev-loader-piece { fill: var(--ev-brand); transform-box: fill-box; transform-origin: center; animation: evLoaderAssemble 2.6s cubic-bezier(.45, 0, .2, 1) infinite; }
.ev-loader.is-current .ev-loader-piece { fill: currentColor; }
.ev-loader-piece.p0 { --x: 0px; --y: -5px; --rotate: -12deg; --bounce: 3deg; }
.ev-loader-piece.p1 { --x: -18px; --y: 20px; --rotate: -24deg; --bounce: 5deg; }
.ev-loader-piece.p2 { --x: 18px; --y: -20px; --rotate: 24deg; --bounce: -5deg; }
@keyframes evLoaderAssemble {
    0%, 100% { opacity: 1; transform: translate(0, 0) rotate(0) scale(1); }
    30% { opacity: .65; transform: translate(var(--x), var(--y)) rotate(var(--rotate)) scale(.9); }
    58% { opacity: 1; transform: translate(0, 0) rotate(var(--bounce)) scale(1.04); }
    72%, 85% { opacity: 1; transform: translate(0, 0) rotate(0) scale(1); }
}
@keyframes evLoaderFloat {
    0%, 100% { transform: translateY(0) rotate(0) scale(1); }
    30% { transform: translateY(-9%) rotate(-6deg) scale(.96); }
    58% { transform: translateY(3%) rotate(2deg) scale(1.04); }
    72% { transform: translateY(0) rotate(0) scale(1); }
}
.ev-busy { position: fixed; left: 50%; bottom: 20px; z-index: 80; display: flex; align-items: center; gap: 10px; padding: 9px 14px 9px 11px; border-radius: 999px; background: var(--ev-surface); border: 1px solid var(--ev-border); box-shadow: var(--ev-shadow-lg); font-size: 13px; font-weight: 600; color: var(--ev-text-2); translate: -50% 12px; opacity: 0; pointer-events: none; transition: opacity var(--ev-dur) var(--ev-ease), translate var(--ev-dur) var(--ev-ease); }
.ev-busy.is-on { opacity: 1; translate: -50% 0; }

/* ---------- 09 · Motion: entrada dos blocos (opacity + 14px) ---------- */
.ev-reveal { opacity: 0; translate: 0 14px; }
.ev-reveal.ev-in { opacity: 1; translate: 0 0; transition: opacity 400ms var(--ev-ease), translate 400ms var(--ev-ease); transition-delay: var(--ev-delay, 0ms); }

/* ---------- 10 · Efeitos: login com glow + vidro (regra 1 + 1) ---------- */
.fi-simple-layout { position: relative; overflow: hidden; }
.fi-simple-layout::before { content: ""; position: absolute; width: 520px; height: 520px; right: -160px; top: -180px; border-radius: 50%; background: var(--ev-brand); filter: blur(120px); opacity: .16; pointer-events: none; }
.dark .fi-simple-layout::before { opacity: .28; }
.fi-simple-main { position: relative; border-radius: 24px !important; background: var(--ev-glass) !important; backdrop-filter: blur(18px) saturate(160%); }

@media (prefers-reduced-motion: reduce) {
    .ev-reveal { opacity: 1 !important; translate: none !important; }
    .ev-loader svg, .ev-loader-piece { animation: none !important; opacity: 1 !important; transform: none !important; }
    .fi-btn:not(:disabled):hover, .ev-card.is-hover:hover { transform: none !important; }
}
/* Entrada da página: só na primeira pintura, e sem deixar transform no fim (modais dentro da página usam position: fixed). */
.fi-page > section { animation: evPageIn 400ms var(--ev-ease) backwards; }
@keyframes evPageIn { from { opacity: 0; translate: 0 14px; } }
@media (prefers-reduced-motion: reduce) { .fi-page > section { animation: none; } }
.ev-pal-note { display: flex; align-items: center; justify-content: center; gap: 10px; }

/* ---------- Dashboard (DS · 12) ---------- */
.ev-dash-head { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: -6px; }
.ev-dash-busy { display: none; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 600; color: var(--ev-muted); }
.ev-is-loading > :not(.ev-dash-head) { opacity: .55; transition: opacity var(--ev-dur) var(--ev-ease); }
.ev-metric-foot { margin-top: 12px; font-size: 12px; color: var(--ev-muted); }
.ev-funnel-wrap { display: flex; align-items: center; gap: 24px; margin-top: 14px; flex-wrap: wrap; }
.ev-funnel-list { flex: 1; min-width: 200px; }
.ev-funnel-list .ev-kv span { display: inline-flex; align-items: center; }
.ev-table-flush th:first-child, .ev-table-flush td:first-child { padding-left: 20px; }
.ev-table-flush th:last-child, .ev-table-flush td:last-child { padding-right: 20px; }
.ev-table-flush th { border-top: 1px solid var(--ev-border); }
.ev-table .ev-right { text-align: right; }
.ev-table-group td { background: var(--ev-subtle); padding: 8px 20px !important; font-size: 11px !important; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--ev-muted) !important; }
.ev-table tbody tr.ev-table-group:hover { background: var(--ev-subtle); }
.ev-table td .ev-delta { margin-top: 0; }
/* Seletor de período no formato "picker trigger" do DS */
.ev-range-btn { min-height: 48px; height: auto; padding: 0 12px 0 9px; border: 1px solid var(--ev-border) !important; border-radius: 12px !important; transition: border-color 160ms var(--ev-ease), box-shadow 160ms var(--ev-ease); }
.ev-range-btn:hover { background: var(--ev-surface) !important; border-color: var(--ev-accent-border) !important; box-shadow: 0 0 0 3px var(--ev-accent-soft); }
.ev-range-text { flex-direction: column; align-items: flex-start; gap: 0; line-height: 1.25; }
.ev-range-text strong { font-size: 13.5px; font-weight: 700; }
.ev-range-text small { font-size: 11.5px; }
.ev-range-menu { border-radius: 20px !important; box-shadow: var(--ev-shadow-xl) !important; animation: evMenuIn 180ms var(--ev-ease); }
.ev-range-presets { padding: 8px; }
.ev-range-presets button { border-radius: 10px; padding: 9px 11px; }
.ev-range-custom { width: auto !important; padding: 16px !important; }
.ev-range-apply { height: 40px; padding: 0 16px; border-radius: 12px; font-weight: 700; }
@media (max-width: 640px) {
    .ev-dash-head { flex-direction: column; align-items: stretch; }
    .ev-dash-head .ev-range, .ev-dash-head .ev-range-btn { width: 100%; }
    .ev-range-menu { left: 0; right: 0; }
    .ev-cal { width: 100%; }
    .ev-range-text small { display: block; }
    .ev-funnel-wrap { justify-content: center; }
}
.ev-loader.is-current:is(.h-6, .h-8, .h-10, .h-12) .ev-loader-piece { fill: var(--ev-brand); }
.fi-fo-date-time-picker-panel select { text-transform: capitalize; }
/* Campo de data (x-ev.date-input) */
.ev-date { position: relative; }
.ev-date .ev-picker-trigger { min-height: 46px; }
.ev-date-text { font-size: 14px; font-weight: 600; color: var(--ev-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ev-date-text.is-empty { font-weight: 500; color: var(--ev-faint); }
.ev-date-pop { position: absolute; z-index: 40; top: calc(100% + 8px); left: 0; padding: 16px; border-radius: 20px; border: 1px solid var(--ev-border); background: var(--ev-surface); box-shadow: var(--ev-shadow-xl); animation: evMenuIn 180ms var(--ev-ease); }
.ev-link-btn { font-size: 13px; font-weight: 700; color: var(--ev-text-2); padding: 8px 10px; border-radius: 10px; }
.ev-link-btn:hover { background: var(--ev-subtle); color: var(--ev-text); }

/* ==========================================================================
   Telas antigas (cada uma com prefixo próprio: gs-, hist-, crm-...) no NAVE DS.
   Gerado a partir das classes que existem nos <style> dessas telas; vale mais que eles
   por ter .fi-main na frente. Telas novas: use os componentes ev-* em vez disso.
   ========================================================================== */
.fi-main :is(.adm-card,.aff-card,.aud-card,.aw-card,.bettor-card,.bonus-card,.cat-card,.cp-card,.cpa-card,.crm-card,.dist-card,.free-card,.frh-card,.ga-card,.gm-card,.gs-card,.gs-table-card,.hist-card,.inf-card,.kv-card,.kyc-card,.lc-card,.msn-card,.pf-card,.pg-card,.pk-card,.pr-card,.ps-card,.pv-card,.rf-card,.st-card,.theme-card,.users-card,.vip-card,.wallet-card,.wi-card) { border: 1px solid var(--ev-border); border-radius: 18px; background: var(--ev-surface); box-shadow: none; }
.fi-main :is(.adm-hero,.aff-hero,.aud-hero,.aw-hero,.bettor-hero,.bonus-hero,.cat-hero,.cp-hero,.cpa-hero,.crm-hero,.dist-hero,.frh-hero,.ga-hero,.give-hero,.gm-hero,.gs-hero,.hist-hero,.hs-hero,.inf-hero,.kv-hero,.kyc-hero,.lc-hero,.msn-hero,.og-hero,.pf-hero,.pg-hero,.pk-hero,.pr-hero,.ps-hero,.pv-hero,.rf-hero,.st-hero,.theme-hero,.users-hero,.vip-hero,.wallet-hero) { background: none; }
.fi-main :is(.adm-title,.aff-title,.aud-title,.aw-title,.bettor-title,.bonus-title,.cat-title,.cp-title,.cpa-title,.crm-title,.dist-title,.free-title,.frh-title,.ga-title,.give-title,.gm-title,.gs-title,.hist-title,.hs-title,.inf-title,.kv-title,.kyc-title,.lc-title,.msn-title,.og-title,.pf-title,.pg-title,.pk-title,.pr-title,.ps-title,.pv-title,.rf-title,.st-title,.theme-title,.users-title,.vip-title,.wallet-title,.wi-title) { font-size: 22px; font-weight: 700; letter-spacing: -.03em; }
.fi-main :is(.adm-sub,.aff-sub,.aud-sub,.aw-sub,.bettor-sub,.bonus-sub,.cat-sub,.cp-sub,.cpa-sub,.crm-sub,.dist-sub,.free-sub,.frh-sub,.ga-sub,.give-sub,.gm-sub,.gs-sub,.hist-sub,.hs-sub,.inf-sub,.kv-sub,.kyc-sub,.lc-sub,.msn-sub,.pf-sub,.pg-sub,.pk-sub,.pr-sub,.ps-sub,.pv-sub,.rf-sub,.st-sub,.theme-sub,.users-sub,.vip-sub,.wallet-sub,.wi-sub) { color: var(--ev-muted); font-size: 14px; }
.fi-main :is(.adm-stat,.aff-stat,.aud-stat,.aw-stat,.bettor-stat,.bonus-stat,.cat-stat,.cp-stat,.cpa-stat,.crm-stat,.dist-stat,.frh-stat,.ga-stat,.gm-stat,.gs-stat,.hist-stat,.kv-stat,.kyc-stat,.lc-stat,.msn-stat,.og-stat,.pf-stat,.pg-stat,.pk-stat,.pr-stat,.ps-stat,.pv-stat,.rf-stat,.st-stat,.theme-stat,.users-stat,.vip-stat,.wallet-stat,.wi-stat) { border: 1px solid var(--ev-border); border-radius: 16px; background: var(--ev-surface); padding: 14px 16px; min-height: 0; box-shadow: none; }
.fi-main :is(.adm-stat,.aff-stat,.aud-stat,.aw-stat,.bettor-stat,.bonus-stat,.cat-stat,.cp-stat,.cpa-stat,.crm-stat,.dist-stat,.frh-stat,.ga-stat,.gm-stat,.gs-stat,.hist-stat,.kv-stat,.kyc-stat,.lc-stat,.msn-stat,.og-stat,.pf-stat,.pg-stat,.pk-stat,.pr-stat,.ps-stat,.pv-stat,.rf-stat,.st-stat,.theme-stat,.users-stat,.vip-stat,.wallet-stat,.wi-stat) > span { font-size: 12px; font-weight: 700; letter-spacing: 0; text-transform: none; color: var(--ev-muted); }
.fi-main :is(.adm-stat,.aff-stat,.aud-stat,.aw-stat,.bettor-stat,.bonus-stat,.cat-stat,.cp-stat,.cpa-stat,.crm-stat,.dist-stat,.frh-stat,.ga-stat,.gm-stat,.gs-stat,.hist-stat,.kv-stat,.kyc-stat,.lc-stat,.msn-stat,.og-stat,.pf-stat,.pg-stat,.pk-stat,.pr-stat,.ps-stat,.pv-stat,.rf-stat,.st-stat,.theme-stat,.users-stat,.vip-stat,.wallet-stat,.wi-stat) > strong { font-size: clamp(17px, 1.4vw, 22px); font-weight: 800; letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
.fi-main :is(.adm-stat,.aff-stat,.aud-stat,.aw-stat,.bettor-stat,.bonus-stat,.cat-stat,.cp-stat,.cpa-stat,.crm-stat,.dist-stat,.frh-stat,.ga-stat,.gm-stat,.gs-stat,.hist-stat,.kv-stat,.kyc-stat,.lc-stat,.msn-stat,.og-stat,.pf-stat,.pg-stat,.pk-stat,.pr-stat,.ps-stat,.pv-stat,.rf-stat,.st-stat,.theme-stat,.users-stat,.vip-stat,.wallet-stat,.wi-stat) > small { font-size: 12px; color: var(--ev-muted); }
.fi-main table:is(.adm-table,.aff-table,.aud-table,.aw-table,.bettor-table,.cat-table,.cp-table,.cpa-table,.crm-mini-table,.crm-table,.free-table,.frh-table,.gm-table,.gs-table,.hist-table,.inf-table,.kv-table,.msn-table,.pf-table,.pk-table,.pr-table,.pv-table,.rf-table,.theme-table,.users-table,.vip-table,.wallet-table) th { background: var(--ev-subtle); color: var(--ev-muted); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 12px 16px; border-bottom: 1px solid var(--ev-border); }
.fi-main table:is(.adm-table,.aff-table,.aud-table,.aw-table,.bettor-table,.cat-table,.cp-table,.cpa-table,.crm-mini-table,.crm-table,.free-table,.frh-table,.gm-table,.gs-table,.hist-table,.inf-table,.kv-table,.msn-table,.pf-table,.pk-table,.pr-table,.pv-table,.rf-table,.theme-table,.users-table,.vip-table,.wallet-table) td { font-size: 13.5px; padding: 13px 16px; color: var(--ev-text-2); border-bottom: 1px solid var(--ev-border); }
.fi-main table:is(.adm-table,.aff-table,.aud-table,.aw-table,.bettor-table,.cat-table,.cp-table,.cpa-table,.crm-mini-table,.crm-table,.free-table,.frh-table,.gm-table,.gs-table,.hist-table,.inf-table,.kv-table,.msn-table,.pf-table,.pk-table,.pr-table,.pv-table,.rf-table,.theme-table,.users-table,.vip-table,.wallet-table) tbody tr { transition: background 160ms var(--ev-ease); }
.fi-main table:is(.adm-table,.aff-table,.aud-table,.aw-table,.bettor-table,.cat-table,.cp-table,.cpa-table,.crm-mini-table,.crm-table,.free-table,.frh-table,.gm-table,.gs-table,.hist-table,.inf-table,.kv-table,.msn-table,.pf-table,.pk-table,.pr-table,.pv-table,.rf-table,.theme-table,.users-table,.vip-table,.wallet-table) tbody tr:hover { background: var(--ev-subtle); }
.fi-main :is(.gs-table-head) { background: var(--ev-surface); }
.fi-main :is(.cat-modal-backdrop,.gm-modal-backdrop,.gs-modal-backdrop,.kv-modal-backdrop,.msn-modal-backdrop,.pk-modal-backdrop,.pr-modal-backdrop,.pv-modal-backdrop,.st-modal-backdrop,.vip-modal-backdrop) { background: var(--ev-overlay); backdrop-filter: blur(4px); }
.fi-main :is(.cat-modal,.gm-modal,.gs-modal,.kv-modal,.msn-modal,.pk-modal,.pr-modal,.pv-modal,.st-modal,.vip-modal) { background: var(--ev-surface); border: 1px solid var(--ev-border); border-radius: 20px; box-shadow: var(--ev-shadow-xl); animation: evMenuIn 400ms var(--ev-ease); }
.fi-main :is(.cat-modal-head,.gm-modal-head,.gs-modal-head,.kv-modal-head,.msn-modal-head,.pk-modal-head,.pr-modal-head,.pv-modal-head,.st-modal-head,.vip-modal-head) h3 { font-size: 20px; font-weight: 700; letter-spacing: -.025em; }
.fi-main :is(.cat-close,.gm-close,.gs-close,.kv-close,.msn-close,.pk-close,.pr-close,.pv-close,.vip-close) { border: 1px solid var(--ev-border-strong); border-radius: 10px; background: var(--ev-surface); color: var(--ev-text); font-weight: 700; min-height: 34px; }
.fi-main :is(.cat-close,.gm-close,.gs-close,.kv-close,.msn-close,.pk-close,.pr-close,.pv-close,.vip-close):hover { background: var(--ev-subtle); }
.fi-main :is(.cat-info,.free-info,.gm-info,.gs-info,.inf-info,.kv-info,.msn-info,.msn-info-box,.pk-info,.pv-info,.vip-info) { background: var(--ev-subtle); border-color: transparent; border-radius: 14px; }
.fi-main :is(.cat-info,.free-info,.gm-info,.gs-info,.inf-info,.kv-info,.msn-info,.msn-info-box,.pk-info,.pv-info,.vip-info) > span { font-size: 11px; font-weight: 700; letter-spacing: .08em; color: var(--ev-muted); }
.fi-main :is(.aw-note,.bonus-note,.cat-note,.cp-note,.dist-note,.ga-note,.gm-note,.gs-note,.kv-note,.kyc-note,.lc-note,.msn-note,.pf-note,.pg-note,.pk-note,.pr-note,.ps-note,.pv-note,.st-note,.theme-note,.vip-note) { border-radius: 14px; padding: 12px 14px; font-size: 13px; color: var(--ev-text-2); background: var(--ev-accent-soft); border: 1px solid var(--ev-accent-border); }
.fi-main :is(.dist-btn,.gs-btn,.kv-btn,.st-btn) { border-radius: 12px; font-weight: 700; min-height: 40px; padding: 0 14px; font-size: 13px; transition: transform 180ms var(--ev-ease), box-shadow 180ms var(--ev-ease), background 120ms var(--ev-ease); }
.fi-main :is(.dist-btn,.gs-btn,.kv-btn,.st-btn):hover:not(:disabled) { transform: translateY(-1px); box-shadow: var(--ev-shadow-1); }
.fi-main :is(.gs-btn-primary,.st-btn-primary) { background: var(--ev-primary); color: #fff; }
.fi-main :is(.gs-btn-success,.kv-btn-ok,.st-btn-success) { background: var(--ev-success-strong); color: #fff; }
.fi-main :is(.gs-btn-danger,.kv-btn-bad,.st-btn-danger) { background: var(--ev-danger); color: #fff; }
.fi-main :is(.gs-btn-warning,.st-btn-warning) { background: #FFB020; color: #090910; }
.fi-main :is(.gs-btn-gray,.st-btn-gray) { background: var(--ev-surface); color: var(--ev-text); box-shadow: inset 0 0 0 1px var(--ev-border-strong); }
.fi-main :is(.gs-filter-tabs) { display: inline-flex; width: max-content; max-width: 100%; overflow-x: auto; gap: 4px; padding: 4px; border-radius: 12px; background: var(--ev-subtle); border: 1px solid var(--ev-border); }
.fi-main .gs-filter { border: 0; border-radius: 9px; background: transparent; color: var(--ev-text-2); padding: 8px 13px; font-size: 13.5px; font-weight: 700; transition: background 200ms var(--ev-ease), box-shadow 200ms var(--ev-ease); }
.fi-main .gs-filter:hover { color: var(--ev-text); }
.fi-main .gs-filter.gs-filter-active { background: var(--ev-surface); color: var(--ev-text); box-shadow: var(--ev-shadow-1), 0 0 0 1px var(--ev-border); }
.fi-main :is(.bonus-badge,.cat-pill,.dist-badge,.gm-pill,.gs-badge,.gs-count,.msn-pill,.og-badge,.pv-pill,.rf-badge,.vip-pill,.wi-pill) { display: inline-flex; align-items: center; gap: 6px; border: 0; border-radius: 999px; padding: 4px 9px; font-size: 12px; font-weight: 700; }
.fi-main :is(.bonus-badge,.cat-pill,.dist-badge,.gm-pill,.gs-badge,.msn-pill,.og-badge,.pv-pill,.rf-badge,.vip-pill,.wi-pill)::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; flex: none; }
.fi-main :is(.gm-pill-ok,.gs-badge-ok,.pv-pill-ok) { background: var(--ev-success-soft); color: var(--ev-success); }
.fi-main :is(.gm-pill-bad,.pv-pill-bad) { background: var(--ev-danger-soft); color: var(--ev-danger); }
.fi-main :is(.gs-badge-warn) { background: var(--ev-warning-soft); color: var(--ev-warning); }
.fi-main :is(.gs-badge-info,.og-badge-info) { background: var(--ev-accent-soft); color: var(--ev-accent-strong); }
.fi-main :is(.gs-badge-muted) { background: var(--ev-subtle-2); color: var(--ev-text-2); }
.fi-main :is(.gs-empty,.og-empty,.rf-empty) { margin: 16px; border: 1px dashed var(--ev-border-strong); border-radius: 18px; padding: 36px 20px; color: var(--ev-muted); font-size: 13.5px; text-align: center; }
.fi-main :is(.gs-search,.kv-input,.kv-textarea,.st-input) { min-height: 44px; border: 1px solid var(--ev-border-strong); border-radius: 11px; background: var(--ev-surface); color: var(--ev-text); font-size: 14px; outline: none; transition: border-color 160ms var(--ev-ease), box-shadow 160ms var(--ev-ease); }
.fi-main :is(.gs-search,.kv-input,.kv-textarea,.st-input):focus { border-color: var(--ev-accent); box-shadow: 0 0 0 3px rgba(94, 56, 249, .13); }
.fi-main :is(.og-field,.rf-field) :is(input, select):not([type=checkbox]):not([type=radio]) { min-height: 44px; border: 1px solid var(--ev-border-strong); border-radius: 11px; background: var(--ev-surface); color: var(--ev-text); font-size: 14px; }
.fi-main :is(.og-field,.rf-field) > label { font-size: 13px; font-weight: 700; color: var(--ev-text); }
.fi-main :is(.dist-progress,.msn-progress,.vip-progress) { background: var(--ev-subtle); border: 0; }
.fi-main :is(.crm-bar-fill,.dist-progress-fill) { background: linear-gradient(90deg, var(--ev-accent), var(--ev-beam-2)); }
.fi-main :is(.hist-table, .crm-table, .free-table, .frh-table, .cpa-table, .bettor-table, .aff-table, .adm-table, .users-table, .wallet-table, .theme-table, .pf-table, .aw-table) :is(.fi-input, .fi-select-input) { min-height: 44px !important; }
@media (max-width: 1023px), (pointer: coarse) { .ev-nav-search kbd { display: none; } }
.dark .fi-main :is(.gs-btn-success,.kv-btn-ok,.st-btn-success) { color: #090910; }
/* Dashboard: botão Atualizar na altura do seletor de período */
.ev-dash-head .ev-dash-refresh { min-height: 48px; }
.ev-dash-updated { font-size: 12.5px; color: var(--ev-muted); }
/* Setinhas do Atualizar giram enquanto os números chegam (troca de período ou atualizar) */
.ev-is-loading .ev-dash-refresh .fi-btn-icon { animation: evSpin 800ms linear infinite; }
@keyframes evSpin { to { transform: rotate(360deg); } }
/* Celular: período e Atualizar (só o ícone) na mesma linha; o horário fica embaixo */
@media (max-width: 640px) {
    .ev-dash-head { flex-direction: row !important; flex-wrap: wrap; align-items: center !important; gap: 8px; }
    .ev-dash-head .ev-range { flex: 1 1 0; min-width: 0; width: auto !important; }
    .ev-dash-head .ev-range-menu { right: -56px; }
    .ev-dash-head .ev-dash-refresh { flex: none; width: 48px !important; min-width: 48px; padding: 0 !important; justify-content: center; }
    .ev-dash-head .ev-dash-refresh .fi-btn-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
    .ev-dash-head .ev-dash-refresh .fi-btn-icon { margin: 0 !important; }
    .ev-dash-updated, .ev-dash-busy { flex-basis: 100%; text-align: left; }
}
@media (prefers-reduced-motion: reduce) { .ev-is-loading .ev-dash-refresh .fi-btn-icon { animation: none; } }

/* Programa de afiliados (Gerentes, ficha da conta, saques, configuração) */
.ev-over-tag { display: inline-flex; align-items: center; gap: 4px; padding: 2px 8px; margin-right: 4px; border-radius: 999px; background: var(--ev-warning-soft); color: var(--ev-warning); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.ev-over-section.fi-section { background: var(--ev-warning-soft) !important; border-color: var(--ev-warning) !important; }
.af-wrap { display: grid; gap: 16px; }
.af-head { display: grid; gap: 20px; grid-template-columns: minmax(240px, 1.2fr) 2fr; align-items: start; }
@media (max-width: 960px) { .af-head { grid-template-columns: 1fr; } }
.af-who { display: flex; gap: 14px; }
.af-avatar { width: 44px; height: 44px; flex: none; border-radius: 12px; display: grid; place-items: center; background: var(--ev-subtle); border: 1px solid var(--ev-border); color: var(--ev-muted); }
.af-avatar svg { width: 20px; height: 20px; }
.af-pills { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 6px; }
.af-pill { padding: 3px 9px; border-radius: 999px; background: var(--ev-subtle-2); color: var(--ev-text-2); font-size: 12px; font-weight: 700; }
.af-name { display: block; font-size: 16px; color: var(--ev-text); }
.af-muted { display: block; font-size: 12.5px; line-height: 1.5; color: var(--ev-muted); margin: 0; }
.af-link { color: var(--ev-accent-strong); }
.af-link:hover { text-decoration: underline; }
.af-facts { display: grid; gap: 16px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 700px) { .af-facts { grid-template-columns: 1fr; } }
.af-facts b { display: block; font-size: 14px; color: var(--ev-text); }
.af-k { display: block; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ev-muted); margin-bottom: 4px; }
.af-token { display: inline-flex !important; align-items: center; gap: 6px; font-size: 16px !important; letter-spacing: .04em; }
.af-copy { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 8px; color: var(--ev-muted); }
.af-copy:hover { background: var(--ev-subtle); color: var(--ev-text); }
.af-copy svg { width: 16px; height: 16px; }
.af-contract { font-weight: 600 !important; line-height: 1.45; }
.af-period { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.af-dates { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.af-dates .ev-date { min-width: 170px; }
.af-block { display: grid; gap: 10px; }
.af-block-title { margin: 0; font-size: 13px; font-weight: 600; color: var(--ev-text-2); }
.af-kpis { display: grid; gap: 12px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 860px) { .af-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.af-kpis .af-accent { background: var(--ev-accent-soft); border-color: var(--ev-accent-border); }
.af-kpis .af-accent .ev-metric-value { color: var(--ev-accent-strong); }
.af-hint { margin-top: 4px; font-size: 12px; color: var(--ev-muted); }
.af-models { display: grid; gap: 12px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 640px) { .af-models { grid-template-columns: 1fr; } }
.af-model { padding: 10px 14px; border-radius: 12px; background: var(--ev-subtle); border: 1px solid var(--ev-border); }
.af-model span { display: block; font-size: 12px; color: var(--ev-muted); }
.af-model b { font-size: 14px; color: var(--ev-text); }
.af-over-note { margin: 0; font-size: 12.5px; color: var(--ev-text-2); }
.af-tabs { width: 100%; }
.af-tabs button { flex: 1; }
.af-tabs button.is-active { background: var(--ev-surface); color: var(--ev-text); box-shadow: var(--ev-shadow); }
.af-tab-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.af-scroll { overflow-x: auto; }
.af-scroll .ev-table .r { text-align: right; }
.af-strong { color: var(--ev-text); font-weight: 600; }
.af-sub { display: block; font-size: 12px; color: var(--ev-muted); }
.af-wrap-cell { white-space: normal !important; min-width: 180px; }
.af-empty { text-align: center; color: var(--ev-muted); padding: 28px 16px !important; white-space: normal !important; }
.af-soft td { background: var(--ev-subtle); }
.af-total td { font-weight: 700; color: var(--ev-text); }
.af-danger-link { font-size: 13px; font-weight: 600; color: var(--ev-danger); }
.af-danger-link:hover { text-decoration: underline; }
.af-contract-form { display: grid; gap: 12px; }

/* Perfil do jogador › Rede de contas */
.ev-net-metrics { display: grid; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); margin-top: 14px; }
.ev-net-metrics .ev-metric { padding: 12px 14px; border-radius: 14px; }
.ev-net-metrics .ev-metric-value { font-size: 19px; margin-top: 4px; }
.ev-net-graph { margin-top: 14px; border: 1px solid var(--ev-border); border-radius: 16px; background: var(--ev-subtle); overflow-x: auto; }
.ev-net-graph svg { display: block; width: 100%; min-width: 560px; height: auto; }
.ev-net-graph text { font-size: 10.5px; fill: var(--ev-muted); font-family: inherit; }
.ev-net-node, .ev-net-hub { cursor: pointer; transition: opacity var(--ev-dur-quick) var(--ev-ease); }
.ev-net-dot { transform-box: fill-box; transform-origin: center; transition: transform var(--ev-dur-quick) var(--ev-ease), stroke-width var(--ev-dur-quick) var(--ev-ease); }
.ev-net-node:hover .ev-net-dot, .ev-net-node.is-hot .ev-net-dot { transform: scale(1.25); stroke-width: 3; }
.ev-net-node:hover text, .ev-net-node.is-hot text { fill: var(--ev-text); font-weight: 700; }
.ev-net-node.is-dim, .ev-net-hub.is-dim { opacity: .22; }
.ev-net-hub path { transform-box: fill-box; transform-origin: center; transition: transform var(--ev-dur-quick) var(--ev-ease); }
.ev-net-hub:hover path, .ev-net-hub.is-hot path { transform: scale(1.3); }
.ev-net-edge { opacity: var(--o, .7); transition: opacity var(--ev-dur-quick) var(--ev-ease), stroke-width var(--ev-dur-quick) var(--ev-ease); }
.ev-net-edge.is-hot { opacity: 1; stroke-width: 2.5px !important; }
.ev-net-edge.is-dim { opacity: .08; }
.ev-net-stage { position: relative; margin-top: 14px; }
.ev-net-stage .ev-net-graph { margin-top: 0; }
.ev-net-tip { position: absolute; z-index: 5; width: 272px; padding: 12px 14px; border-radius: 14px; border: 1px solid var(--ev-border); background: var(--ev-surface);
    box-shadow: var(--ev-shadow-lg); pointer-events: none; font-size: 12.5px; }
.ev-net-tip-head { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.ev-net-tip-head strong { display: inline-flex; align-items: center; gap: 7px; min-width: 0; color: var(--ev-text); font-size: 13.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ev-net-tip-meta { margin-top: 3px; color: var(--ev-muted); overflow-wrap: anywhere; line-height: 1.45; }
.ev-net-tip-links { display: flex; flex-wrap: wrap; gap: 4px; margin: 8px 0 6px; }
.ev-net-tip-row { display: flex; justify-content: space-between; gap: 10px; padding: 4px 0; border-top: 1px solid var(--ev-border); color: var(--ev-text-2); }
.ev-net-tip-row strong { color: var(--ev-text); font-variant-numeric: tabular-nums; }
.ev-net-tip-foot { margin-top: 6px; font-size: 11.5px; color: var(--ev-faint); }
.ev-net-tip-diamond { display: inline-block; width: 9px; height: 9px; transform: rotate(45deg); border-radius: 1px; flex: none; }
.ev-net-table { overflow-x: auto; margin-top: 14px; border: 1px solid var(--ev-border); border-radius: 14px; }
.ev-net-table tbody tr { transition: background var(--ev-dur-quick) var(--ev-ease); }
.ev-net-table tbody tr.is-hot td { background: var(--ev-subtle); }
.ev-net-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin-top: 10px; font-size: 12px; color: var(--ev-muted); }
.ev-net-legend span { display: inline-flex; align-items: center; gap: 6px; }
.ev-net-legend i { width: 9px; height: 9px; border-radius: 50%; }
.ev-net-legend b { width: 8px; height: 8px; transform: rotate(45deg); border-radius: 1px; }
.ev-net-legend em { width: 18px; border-top: 2px dashed var(--ev-info); }
.ev-net-sep { width: 1px; height: 14px; background: var(--ev-border); }
.ev-net-link { display: inline-flex; align-items: center; padding: 2px 8px; border-radius: 999px; font-size: 11.5px; font-weight: 600; white-space: nowrap;
    color: var(--ev-text-2); background: color-mix(in srgb, var(--c) 12%, transparent); border: 1px solid color-mix(in srgb, var(--c) 35%, transparent); }

/* Campanhas › Templates */
.ev-tpl-search { position: relative; flex: 1 1 260px; max-width: 420px; }
.ev-tpl-search svg { position: absolute; left: 14px; top: 50%; width: 18px; height: 18px; transform: translateY(-50%); color: var(--ev-muted); pointer-events: none; }
.ev-tpl-search .ev-input { width: 100%; padding-left: 40px; }
.ev-tpl-cards { display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.ev-tpl-card { display: grid; gap: 8px; align-content: start; text-align: left; cursor: pointer; transition: border-color var(--ev-dur-quick) var(--ev-ease), transform var(--ev-dur-quick) var(--ev-ease); }
.ev-tpl-card:hover { border-color: var(--ev-border-strong); transform: translateY(-1px); }
.ev-tpl-card:focus-visible { outline: 2px solid var(--ev-focus); outline-offset: 2px; }
.ev-tpl-card strong { font-size: 14px; color: var(--ev-text); }
.ev-tpl-desc { font-size: 13px; color: var(--ev-muted); line-height: 1.45; }
.ev-tpl-key { display: inline-block; padding: 2px 8px; border-radius: 999px; border: 1px solid var(--ev-border); background: var(--ev-subtle); font-size: 11.5px; font-weight: 600; color: var(--ev-text-2); white-space: nowrap; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.ev-tpl-grid { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 16px; }
.ev-tpl-head { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 8px; }
.ev-tpl-head strong { font-size: 13px; color: var(--ev-text); }
.ev-tpl-pre { margin: 0; padding: 12px 14px; border-radius: 11px; border: 1px solid var(--ev-border); background: var(--ev-subtle); color: var(--ev-text); font-size: 12px; line-height: 1.5; overflow: auto; max-height: 320px; white-space: pre; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.ev-tpl-vars { display: flex; flex-wrap: wrap; gap: 6px; }
.ev-tpl-var { padding: 4px 9px; border-radius: 9px; border: 1px solid var(--ev-border); background: var(--ev-surface); font-size: 12px; color: var(--ev-text-2); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; transition: border-color var(--ev-dur-quick) var(--ev-ease), background var(--ev-dur-quick) var(--ev-ease); }
.ev-tpl-var:hover { border-color: var(--ev-border-strong); }
.ev-tpl-var.is-copied { background: var(--ev-success-soft); border-color: var(--ev-success); color: var(--ev-success); }
.ev-tpl-steps { margin: 0; padding-left: 18px; display: grid; gap: 6px; font-size: 13px; color: var(--ev-text-2); list-style: decimal; }
@media (max-width: 720px) { .ev-tpl-grid { grid-template-columns: 1fr; } }

/* Configurações › Agregadores: situação e Preferência por provedor */
.ev-agg-cards { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); margin-top: 12px; }
.ev-agg-default { display: flex; gap: 16px; justify-content: space-between; align-items: center; flex-wrap: wrap; margin-top: 14px; padding: 14px; border: 1px solid var(--ev-border); border-radius: 14px; background: var(--ev-subtle); }
.ev-agg-default .ev-agg-list { flex: 1 1 320px; max-width: 460px; margin: 0; }
.ev-agg-grid { display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); margin-top: 14px; }
.ev-agg-provider { border: 1px solid var(--ev-border); border-radius: 14px; padding: 12px; background: var(--ev-surface); min-width: 0; }
.ev-agg-list { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 6px; }
.ev-agg-list li { display: flex; align-items: center; gap: 8px; padding: 7px 8px 7px 10px; border: 1px solid var(--ev-border); border-radius: 11px; background: var(--ev-surface); font-size: 13px; transition: border-color var(--ev-dur-quick) var(--ev-ease); }
.ev-agg-list li.is-serving { border-color: var(--ev-success); }
.ev-agg-list li.is-off { opacity: .6; }
.ev-agg-pos { width: 20px; height: 20px; flex: none; display: grid; place-items: center; border-radius: 6px; background: var(--ev-subtle); font-size: 11px; font-weight: 700; color: var(--ev-text-2); }
.ev-agg-name { font-weight: 600; color: var(--ev-text); }
.ev-agg-move { margin-left: auto; display: inline-flex; gap: 2px; }
.ev-agg-move button { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 8px; color: var(--ev-text-2); transition: background var(--ev-dur-quick) var(--ev-ease); }
.ev-agg-move button:hover:not(:disabled) { background: var(--ev-subtle); color: var(--ev-text); }
.ev-agg-move button:disabled { opacity: .3; cursor: default; }
.ev-agg-move svg { width: 16px; height: 16px; }
.ev-agg-reset { font-size: 12px; font-weight: 600; color: var(--ev-accent); }
.ev-agg-reset:hover { text-decoration: underline; }

/* Perfil do jogador (AdminUserInformationPage) */
.ev-pf { display: grid; gap: 16px; }
.ev-pf-hero { padding: 20px 22px; display: grid; gap: 14px; }
.ev-pf-id { display: flex; gap: 16px; align-items: flex-start; min-width: 0; }
.ev-pf-avatar { position: relative; width: 64px; height: 64px; flex: none; border-radius: 18px; display: grid; place-items: center; font-size: 22px; font-weight: 700; letter-spacing: -.02em;
    background: var(--ev-accent-soft-2); color: var(--ev-accent-strong); }
.ev-pf-avatar::after { content: ''; position: absolute; right: -3px; bottom: -3px; width: 14px; height: 14px; border-radius: 50%; background: var(--ev-success); border: 3px solid var(--ev-surface); }
.ev-pf-avatar.is-warning::after { background: var(--ev-warning); }
.ev-pf-avatar.is-danger::after { background: var(--ev-danger); }
.ev-pf-who { display: grid; gap: 8px; min-width: 0; flex: 1; }
.ev-pf-name-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.ev-pf-name { margin: 0; font-size: 22px; font-weight: 700; letter-spacing: -.02em; color: var(--ev-text); line-height: 1.2; overflow-wrap: anywhere; }
.ev-pf-contacts { display: flex; flex-wrap: wrap; gap: 6px; }
.ev-pf-copy { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; padding: 5px 9px; border-radius: 9px; border: 1px solid var(--ev-border); background: var(--ev-surface);
    font-size: 12.5px; color: var(--ev-text-2); transition: border-color var(--ev-dur-quick) var(--ev-ease), background var(--ev-dur-quick) var(--ev-ease); }
.ev-pf-copy span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ev-pf-copy svg { width: 14px; height: 14px; flex: none; color: var(--ev-faint); }
.ev-pf-copy:hover { border-color: var(--ev-border-strong); background: var(--ev-subtle); }
.ev-pf-copy .ev-pf-copy-ok { display: none; color: var(--ev-success); }
.ev-pf-copy.is-copied { border-color: var(--ev-success); }
.ev-pf-copy.is-copied .ev-pf-copy-ok { display: block; }
.ev-pf-facts { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 12.5px; color: var(--ev-muted); }
.ev-pf-facts span + span::before { content: '·'; margin-right: 14px; color: var(--ev-faint); }
.ev-pf-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding-top: 12px; border-top: 1px solid var(--ev-border); }
.ev-pf-seg { background: var(--ev-accent-soft); color: var(--ev-accent-strong); }
.ev-pf-tag { gap: 6px; }
.ev-pf-tag button { line-height: 1; opacity: .6; }
.ev-pf-tag button:hover { opacity: 1; }

.ev-pf-layout { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr) 340px; align-items: start; }
.ev-pf-main, .ev-pf-side { display: grid; gap: 16px; min-width: 0; }
.ev-pf-side { align-content: start; }
@media (max-width: 1180px) { .ev-pf-layout { grid-template-columns: minmax(0, 1fr); } .ev-pf-side { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); } }

.ev-pf-card-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 10px; }
.ev-pf-mini { display: grid; gap: 10px; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 4px 0 6px; }
.ev-pf-mini div { padding: 10px 12px; border-radius: 12px; background: var(--ev-subtle); min-width: 0; }
.ev-pf-mini span { display: block; font-size: 11.5px; color: var(--ev-muted); }
.ev-pf-mini strong { display: block; margin-top: 2px; font-size: 15px; font-weight: 700; color: var(--ev-text); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.ev-pf-mini strong.is-down, .ev-pf-game strong.is-down { color: var(--ev-danger); }
@media (max-width: 720px) { .ev-pf-mini { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.ev-pf-tabs { overflow-x: auto; scrollbar-width: none; }
.ev-tab-count { display: inline-grid; place-items: center; min-width: 18px; height: 18px; margin-left: 6px; padding: 0 5px; border-radius: 999px; background: var(--ev-subtle-2);
    font-size: 11px; font-weight: 600; color: var(--ev-muted); font-variant-numeric: tabular-nums; }
.ev-tabs button.is-active .ev-tab-count { background: var(--ev-accent-soft); color: var(--ev-accent-strong); }

.ev-pf-big { padding: 12px 14px; border-radius: 12px; background: var(--ev-subtle); margin-bottom: 8px; }
.ev-pf-big span { display: block; font-size: 12px; color: var(--ev-muted); }
.ev-pf-big strong { display: block; font-size: 22px; font-weight: 700; letter-spacing: -.02em; color: var(--ev-text); font-variant-numeric: tabular-nums; }
.ev-pf-rows { display: grid; gap: 2px; }
.ev-pf-rows .ev-kv strong { font-variant-numeric: tabular-nums; }
.ev-pf-sub { padding-left: 12px !important; font-size: 12px !important; }
.ev-pf-sub span, .ev-pf-sub strong { color: var(--ev-muted) !important; font-weight: 500 !important; }
.ev-pf-games { display: grid; gap: 4px; }
.ev-pf-game { display: flex; align-items: center; gap: 10px; padding: 6px 0; font-size: 13px; }
.ev-pf-rank { width: 22px; height: 22px; flex: none; display: grid; place-items: center; border-radius: 7px; background: var(--ev-subtle); font-size: 11px; font-weight: 700; color: var(--ev-text-2); }
.ev-pf-game-name { flex: 1; min-width: 0; color: var(--ev-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ev-pf-game-name small { display: block; font-size: 11.5px; color: var(--ev-muted); }
.ev-pf-game strong { font-variant-numeric: tabular-nums; color: var(--ev-text); }
.ev-pf-note { margin: 0 0 6px; font-size: 13px; color: var(--ev-text-2); line-height: 1.5; }
.ev-pf-actions { display: grid; gap: 8px; margin-top: 10px; }
.ev-pf-actions .fi-btn { width: 100%; justify-content: center; }

[x-cloak] { display: none !important; }
@media (max-width: 640px) {
    .ev-pf-hero { padding: 16px; }
    .ev-pf-id { flex-wrap: wrap; gap: 12px; }
    .ev-pf-avatar { width: 52px; height: 52px; border-radius: 15px; font-size: 18px; }
    .ev-pf-who { flex-basis: 100%; }
    .ev-pf-name { font-size: 20px; }
    .ev-pf-facts { flex-direction: column; gap: 2px; }
    .ev-pf-facts span + span::before { content: none; }
    .ev-profile-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ev-profile-kpis .ev-kpi-card { padding: 12px 14px; }
    .ev-profile-kpis .ev-kpi-card-value { font-size: 18px !important; white-space: nowrap; }
}

/* ==========================================================================
   Acabamento, movimento e carregamento (troca de página sem recarregar)
   Menu com busca fixa, barra de cima do celular com busca, esqueleto da página,
   tabela esmaecida enquanto atualiza, hover e pressionado consistentes.
   ========================================================================== */

/* ---------- Menu lateral ---------- */
/* Busca fixa abaixo do logo (fora da área que rola) */
.fi-sidebar .ev-nav-search { margin: 0; padding: 4px 12px 10px; background: var(--ev-bg); position: relative; z-index: 1; }
.fi-sidebar .ev-nav-search::after {
    content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 1px; background: var(--ev-border);
    opacity: 0; transition: opacity var(--ev-dur) var(--ev-ease);
}
.fi-sidebar.ev-side-scrolled .ev-nav-search::after { opacity: 1; }
.fi-sidebar .ev-nav-search-btn { height: 38px; background: var(--ev-subtle); border-color: transparent; }
.fi-sidebar .ev-nav-search-btn:hover { background: var(--ev-surface); border-color: var(--ev-border-strong); }
.fi-sidebar .ev-nav-search-btn:active { transform: scale(.99); }
@media (max-width: 1023px) { .fi-sidebar .ev-nav-search { padding-top: 10px; } }
.fi-sidebar-nav { padding-top: 2px !important; scrollbar-width: thin; scrollbar-color: transparent transparent; }
.fi-sidebar-nav:hover { scrollbar-color: var(--ev-border-strong) transparent; }
.fi-sidebar-nav::-webkit-scrollbar { width: 8px; }
.fi-sidebar-nav::-webkit-scrollbar-thumb { background: transparent; border-radius: 99px; border: 2px solid var(--ev-bg); }
.fi-sidebar-nav:hover::-webkit-scrollbar-thumb { background: var(--ev-border-strong); }

/* Itens: hover, pressionado e ativo com transição curta */
.fi-sidebar-item-button { position: relative; transition: background var(--ev-dur-quick) var(--ev-ease), transform var(--ev-dur-quick) var(--ev-ease) !important; }
.fi-sidebar-item-button:active { transform: scale(.985); }
.fi-sidebar-item-label, .fi-sidebar-item-icon { transition: color var(--ev-dur-quick) var(--ev-ease) !important; }
.fi-sidebar-item-button:hover .fi-sidebar-item-icon { color: var(--ev-text-2) !important; }
.fi-sidebar-item-active .fi-sidebar-item-button:hover { background: var(--ev-accent-soft-2) !important; }
.fi-sidebar-item-active .fi-sidebar-item-button:hover .fi-sidebar-item-icon { color: var(--ev-accent) !important; }
/* O item acende no clique (ev-ui.js); o que deixou de ser ativo perde o fundo na hora. */
.fi-sidebar-item:not(.fi-sidebar-item-active) .fi-sidebar-item-button:not(:hover) { background: transparent !important; }
.fi-sidebar-group-button { border-radius: 8px; transition: background var(--ev-dur-quick) var(--ev-ease); }
.fi-sidebar-group-button:hover { background: var(--ev-subtle); }
.fi-sidebar-group-collapse-button { transition: transform var(--ev-dur) var(--ev-ease) !important; }
.ev-side-user:active { transform: scale(.99); }

/* ---------- Barra de cima (celular e tablet) com a busca ---------- */
@media (max-width: 1023px) {
    .fi-topbar > nav { gap: 10px !important; padding-left: 12px !important; padding-right: 12px !important; }
    .fi-topbar > nav > .fi-topbar-open-sidebar-btn, .fi-topbar > nav > .fi-topbar-close-sidebar-btn { order: 1; flex: none; }
    .fi-topbar > nav > .ev-top-search { order: 2; }
    .fi-topbar > nav > div.ms-auto { order: 3; margin-left: 0 !important; flex: none; gap: 8px !important; }
}
.ev-top-search {
    flex: 1; min-width: 0; display: flex; align-items: center; gap: 8px; height: 40px; padding: 0 12px;
    border: 1px solid transparent; border-radius: var(--ev-radius-md); background: var(--ev-subtle);
    color: var(--ev-faint); font-size: 14px; text-align: left; cursor: text;
    transition: background var(--ev-dur-quick) var(--ev-ease), border-color var(--ev-dur-quick) var(--ev-ease), transform var(--ev-dur-quick) var(--ev-ease);
}
.ev-top-search:hover { background: var(--ev-surface); border-color: var(--ev-border-strong); }
.ev-top-search:active { transform: scale(.99); }
.ev-top-search > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ev-top-search-icon { width: 17px; height: 17px; flex: none; color: var(--ev-muted); }
@media (min-width: 1024px) { .ev-top-search { display: none; } }
.fi-topbar .ev-theme-toggle { width: 40px; height: 40px; }

/* ---------- Esqueleto da página (enquanto a próxima página chega) ---------- */
.fi-main.ev-nav-loading > :not(.ev-skel-page) { display: none !important; }
.ev-skel-page { display: grid; gap: 20px; padding: 1.75rem 0 2rem; animation: evSkelIn 200ms var(--ev-ease) both; }
@media (max-width: 1023px) { .ev-skel-page { padding-top: 1.5rem; } }
@keyframes evSkelIn { from { opacity: 0; } }
.ev-skel-head { display: grid; gap: 10px; }
.ev-skel-metrics { display: grid; gap: 12px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1050px) { .ev-skel-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.ev-skel-card { display: grid; gap: 12px; align-content: start; padding: 16px; border: 1px solid var(--ev-border); border-radius: 16px; background: var(--ev-surface); }
.ev-skel-card.is-table { gap: 0; padding: 0; overflow: hidden; border-radius: 18px; }
.ev-skel-row { display: grid; grid-template-columns: 28px minmax(0, 1fr) 14% 10%; align-items: center; gap: 16px; padding: 15px 16px; border-top: 1px solid var(--ev-border); }
.ev-skel-row.is-head { grid-template-columns: 18% 12% 9%; justify-content: space-between; padding: 13px 16px; border-top: 0; background: var(--ev-subtle); }
.ev-skel-page .ev-skeleton { display: block; height: 12px; }
.ev-skel-page .ev-skeleton.is-title { height: 26px; border-radius: 10px; }
.ev-skel-page .ev-skeleton.is-num { height: 24px; border-radius: 8px; }
.ev-skel-page .ev-skeleton.is-dot { width: 28px !important; height: 28px; border-radius: 9px; }
/* Brilho que passa: tons próprios do esqueleto, legíveis nos dois modos */
:root { --ev-skel: #E9E9EE; --ev-skel-hi: #F6F6F8; }
.dark { --ev-skel: #1F1F27; --ev-skel-hi: #2C2C36; }
.ev-skeleton {
    background: linear-gradient(90deg, var(--ev-skel) 0%, var(--ev-skel) 35%, var(--ev-skel-hi) 50%, var(--ev-skel) 65%, var(--ev-skel) 100%);
    background-size: 300% 100%; animation: evShimmer 1.4s var(--ev-ease) infinite;
}
@keyframes evShimmer { from { background-position: 100% 0; } to { background-position: 0 0; } }
html.ev-navigating, html.ev-navigating * { cursor: progress; }
#nprogress .bar { height: 2px !important; background: linear-gradient(90deg, var(--ev-brand), var(--ev-beam-2)) !important; }
#nprogress .peg { box-shadow: 0 0 10px var(--ev-brand), 0 0 5px var(--ev-brand) !important; }

/* ---------- Tabela atualizando (busca, filtro, ordem, página) ---------- */
.fi-ta-content { transition: opacity var(--ev-dur) var(--ev-ease); }
.ev-table-busy .fi-ta-content { opacity: .45; pointer-events: none; }
.ev-table-busy .fi-ta-ctn { position: relative; }
.ev-table-busy .fi-ta-ctn::after {
    content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; z-index: 5;
    background: linear-gradient(90deg, transparent, var(--ev-accent), transparent); background-size: 40% 100%; background-repeat: no-repeat;
    animation: evTableBar 900ms linear infinite;
}
@keyframes evTableBar { from { background-position: -40% 0; } to { background-position: 140% 0; } }
/* Tabela com carregamento adiado (Filament): linhas em esqueleto no lugar das linhas, não o bloco pulsando */
.fi-ta.animate-pulse { animation: none !important; }
.fi-ta.animate-pulse .fi-ta-content { position: relative; min-height: 240px; }
.fi-ta.animate-pulse .fi-ta-content > * { opacity: 0; }
.fi-ta.animate-pulse .fi-ta-content::before {
    content: ""; position: absolute; inset: 18px 16px; border-radius: 12px; pointer-events: none;
    background:
        linear-gradient(90deg, var(--ev-skel) 0%, var(--ev-skel) 35%, var(--ev-skel-hi) 50%, var(--ev-skel) 65%, var(--ev-skel) 100%) 0 0 / 300% 12px repeat-y;
    -webkit-mask: repeating-linear-gradient(180deg, #000 0 12px, transparent 12px 44px);
    mask: repeating-linear-gradient(180deg, #000 0 12px, transparent 12px 44px);
    animation: evShimmer 1.4s var(--ev-ease) infinite;
}

/* ---------- Hover e pressionado ---------- */
.fi-btn:focus-visible, .fi-icon-btn:focus-visible, .fi-link:focus-visible { outline: none !important; box-shadow: var(--ev-focus) !important; }
.fi-icon-btn:not(:disabled):active { transform: scale(.94); }
.fi-input-wrp:not(.fi-invalid):not(.fi-disabled):not(:focus-within):hover { --tw-ring-color: var(--ev-muted) !important; }
.fi-fo-toggle { transition: background-color var(--ev-dur) var(--ev-ease) !important; }
.fi-fo-toggle > span { transition: transform var(--ev-dur) var(--ev-ease) !important; }
.fi-checkbox-input { transition: background-color var(--ev-dur-quick) var(--ev-ease), box-shadow var(--ev-dur-quick) var(--ev-ease) !important; }
.fi-pagination-item-button { transition: background var(--ev-dur-quick) var(--ev-ease), border-color var(--ev-dur-quick) var(--ev-ease), transform var(--ev-dur-quick) var(--ev-ease) !important; }
.fi-pagination-item-button:active { transform: scale(.95); }
.fi-tabs-item:active, .ev-tabs button:active, .ev-seg a:active, .ev-seg button:active { transform: scale(.98); }
.fi-ta-header-cell-sort-btn, .fi-ta-header-cell button { transition: color var(--ev-dur-quick) var(--ev-ease); }
.fi-ta-header-cell button:hover .fi-ta-header-cell-label { color: var(--ev-text) !important; }
/* Linha que abre algo ao clicar */
.fi-ta-row:has(> td > a), .fi-ta-row.cursor-pointer { cursor: pointer; }
/* Indicadores e cartões: borda reage ao mouse; cartão que é link sobe um pouco */
.ev-metric, .ev-kpi-card, .fi-main div.ev-kpis > .ev-kpi, .fi-wi-stats-overview-stat { transition: border-color var(--ev-dur) var(--ev-ease), background var(--ev-dur) var(--ev-ease); }
.ev-metric:hover, .ev-kpi-card:hover, .fi-main div.ev-kpis > .ev-kpi:hover, .fi-wi-stats-overview-stat:hover { border-color: var(--ev-border-strong) !important; }
a.ev-card, a.ev-metric, .ev-card.is-link { transition: border-color var(--ev-dur) var(--ev-ease), transform var(--ev-dur) var(--ev-ease), box-shadow var(--ev-dur) var(--ev-ease); }
a.ev-card:hover, a.ev-metric:hover, .ev-card.is-link:hover { border-color: var(--ev-border-strong); transform: translateY(-2px); box-shadow: var(--ev-shadow-lg); }
a.ev-card:active, a.ev-metric:active, .ev-card.is-link:active { transform: translateY(0); }
.fi-section { transition: border-color var(--ev-dur) var(--ev-ease); }
.fi-section-header-heading { transition: color var(--ev-dur-quick) var(--ev-ease); }
.fi-section.fi-collapsible .fi-section-header { cursor: pointer; }
.fi-section-collapse-button { transition: transform var(--ev-dur) var(--ev-ease) !important; }
.fi-no-notification { transition: transform var(--ev-dur-slow) var(--ev-ease), opacity var(--ev-dur-slow) var(--ev-ease) !important; }
.fi-dropdown-list-item:active { transform: scale(.99); }
/* Links de texto no conteúdo */
.fi-main .fi-link:not(.fi-btn) { transition: color var(--ev-dur-quick) var(--ev-ease), background var(--ev-dur-quick) var(--ev-ease); }

/* ---------- Encaixes ---------- */
/* Celular: margem de 16px e indicadores dois por linha */
@media (max-width: 640px) {
    .fi-main { padding-left: 16px !important; padding-right: 16px !important; }
    .fi-main div.ev-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8px !important; }
    .fi-main div.ev-kpis > .ev-kpi { padding: 12px !important; }
    .fi-main div.ev-kpis > .ev-kpi > strong { font-size: 16px !important; overflow: hidden; text-overflow: ellipsis; }
    .fi-header { gap: 12px !important; }
    .fi-header-heading { font-size: 23px !important; }
    .fi-header .fi-ac { width: 100%; }
    .fi-header .fi-ac > * { flex: 1 1 auto; }
    .fi-ta-header-toolbar { flex-wrap: wrap; }
    .fi-ta-search-field { flex: 1 1 100%; }
    .ev-skel-page { gap: 14px; }
    .ev-skel-metrics { gap: 8px; }
}
/* Cabeçalho da página: título e ações na mesma linha de base (no celular, empilhados à esquerda) */
@media (min-width: 640px) { .fi-header { align-items: flex-end; } }
.fi-header .fi-ac { flex-wrap: wrap; }
/* Página sempre ocupa a altura toda (o rodapé do conteúdo não pula ao trocar de página) */
.fi-main { min-height: 100vh; }
@media (prefers-reduced-motion: reduce) {
    .ev-skel-page, .ev-skeleton, .fi-ta.animate-pulse .fi-ta-content::before, .ev-table-busy .fi-ta-ctn::after { animation: none !important; }
    .fi-sidebar-item-button:active, .fi-icon-btn:active, a.ev-card:hover, .ev-card.is-link:hover { transform: none !important; }
}

/* ---------- Topo das tabelas numa linha só ----------
   Busca à esquerda; colunas, filtro e ações à direita. Título da tabela (quando tem) fica em cima;
   filtros abertos descem para a linha de baixo. */
.fi-ta-header-ctn { display: flex !important; flex-wrap: wrap; align-items: center; }
.fi-ta-header-ctn > * { border-top: 0 !important; border-bottom: 0 !important; }
.fi-ta-header-ctn > .fi-ta-header-toolbar { order: 1; flex: 1 1 320px; min-width: 0; }
.fi-ta-header-ctn > .fi-ta-header-toolbar > .ms-auto { margin-left: 0 !important; flex: 1; justify-content: space-between; min-width: 0; }
.fi-ta-header-ctn > .fi-ta-header-toolbar .fi-ta-search-field { flex: 0 1 340px; min-width: 0; }
.fi-ta-header-ctn > .fi-ta-header:not(:has(.fi-ta-header-heading, .fi-ta-header-description)) { order: 3; flex: none; padding: 10px 14px 10px 0 !important; }
.fi-ta-header-ctn > .fi-ta-header:has(.fi-ta-header-heading, .fi-ta-header-description) { order: 0; flex: 1 1 100%; border-bottom: 1px solid var(--ev-border) !important; }
.fi-ta-header-ctn > .fi-ta-filters-above-content-ctn { order: 4; flex: 1 1 100%; border-top: 1px solid var(--ev-border) !important; }
.fi-ta-header-ctn > .fi-ta-filters-above-content-ctn:has(> .fi-ta-filters:is([style*="display: none"], [x-cloak])) {
    order: 2; flex: none; display: flex !important; align-items: center; border-top: 0 !important; padding: 10px 4px 10px 0 !important;
}
.fi-ta-header-ctn > .fi-ta-filters-above-content-ctn:has(> .fi-ta-filters:is([style*="display: none"], [x-cloak])) > span { margin: 0 !important; }
/* Sem toolbar (tabela só com título/ações): o cabeçalho ocupa a linha */
.fi-ta-header-ctn:not(:has(> .fi-ta-header-toolbar:not([style*="display: none"]))) > .fi-ta-header { flex: 1 1 auto; justify-content: flex-end; }
/* Botões de ícone do topo (filtro, colunas): quadrado de 38px com borda, como o botão secundário do DS */
.fi-ta-header-ctn :is(.fi-ac-icon-btn-action, .fi-ta-col-toggle .fi-icon-btn, .fi-ta-filters-dropdown .fi-icon-btn) {
    width: 38px !important; height: 38px !important; margin: 0 !important; border-radius: 11px !important;
    background: var(--ev-surface) !important; box-shadow: inset 0 0 0 1px var(--ev-border-strong) !important; color: var(--ev-muted) !important;
}
.fi-ta-header-ctn :is(.fi-ac-icon-btn-action, .fi-ta-col-toggle .fi-icon-btn, .fi-ta-filters-dropdown .fi-icon-btn):hover { background: var(--ev-subtle) !important; color: var(--ev-text) !important; }
.fi-ta-header-ctn .fi-icon-btn-badge-ctn { top: 2px !important; background: transparent !important; }
.fi-icon-btn-badge-ctn.ev-zero { display: none !important; }
@media (max-width: 640px) {
    .fi-ta-header-ctn > .fi-ta-header-toolbar { flex-basis: 100%; }
    .fi-ta-header-ctn > .fi-ta-header-toolbar .fi-ta-search-field { flex: 1 1 auto; }
    .fi-ta-header-ctn > .fi-ta-header:not(:has(.fi-ta-header-heading, .fi-ta-header-description)) { padding: 0 14px 12px !important; flex: 1 1 auto; }
    .fi-ta-header-ctn > .fi-ta-header:not(:has(.fi-ta-header-heading, .fi-ta-header-description)) .fi-ta-actions { width: 100%; }
    .fi-ta-header-ctn > .fi-ta-header:not(:has(.fi-ta-header-heading, .fi-ta-header-description)) .fi-btn { flex: 1; }
    .fi-ta-header-ctn > .fi-ta-filters-above-content-ctn:has(> .fi-ta-filters:is([style*="display: none"], [x-cloak])) { padding: 0 0 12px 14px !important; }
}

/* ---------- Blocos que carregam depois (x-ev.deferred) ---------- */
.ev-skel-block { display: grid; gap: 16px; animation: evSkelIn 200ms var(--ev-ease) both; }
.ev-skel-block .ev-skeleton { display: block; height: 12px; }
.ev-skel-block .ev-skeleton.is-num { height: 24px; border-radius: 8px; }
.ev-skel-block .ev-skeleton.is-dot { width: 28px !important; height: 28px; border-radius: 9px; }
.ev-skel-charts { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ev-skel-card.is-chart { padding: 18px; border-radius: 18px; }
.ev-skel-bars { display: flex; align-items: flex-end; gap: 8px; height: 150px; margin-top: 10px; padding-top: 10px; border-bottom: 1px solid var(--ev-border); }
.ev-skel-bars .ev-skeleton { flex: 1; border-radius: 6px 6px 2px 2px !important; }
.ev-skel-split { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr) 340px; align-items: start; }
.ev-skel-col { display: grid; gap: 16px; }
@media (max-width: 1180px) { .ev-skel-split { grid-template-columns: 1fr; } }
@media (max-width: 900px) { .ev-skel-charts { grid-template-columns: 1fr; } }
/* O conteúdo que chega no lugar do esqueleto entra com o mesmo movimento da página */
.ev-skel-block + * { animation: none; }
.ev-arrive { animation: evPageIn 400ms var(--ev-ease) backwards; }
@media (prefers-reduced-motion: reduce) { .ev-arrive, .ev-skel-block { animation: none !important; } }
.ev-net-wait .ev-skel-block { margin-top: 14px; }
.ev-skel-net { position: relative; height: 220px; border-radius: 14px; background: var(--ev-subtle); overflow: hidden; }
.ev-skel-net .ev-skeleton { position: absolute; width: 22px !important; height: 22px !important; border-radius: 50% !important; }
.ev-skel-net .ev-skeleton:nth-child(1) { left: 48%; top: 44%; width: 30px !important; height: 30px !important; }
.ev-skel-net .ev-skeleton:nth-child(2) { left: 22%; top: 20%; }
.ev-skel-net .ev-skeleton:nth-child(3) { left: 30%; top: 70%; }
.ev-skel-net .ev-skeleton:nth-child(4) { left: 70%; top: 18%; }
.ev-skel-net .ev-skeleton:nth-child(5) { left: 76%; top: 66%; }
.ev-skel-net .ev-skeleton:nth-child(6) { left: 12%; top: 46%; }
.ev-skel-net .ev-skeleton:nth-child(7) { left: 88%; top: 40%; }
.ev-skel-net .ev-skeleton:nth-child(8) { left: 56%; top: 82%; }
.ev-skel-net .ev-skeleton:nth-child(9) { left: 40%; top: 8%; }
/* Abas do DS que não cabem: rolam para o lado em vez de cortar a última */
.ev-tabs { max-width: 100%; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.ev-tabs::-webkit-scrollbar { display: none; }
.ev-tabs > button, .ev-tabs > a { flex: none; }

/* ==========================================================================
   Tabelas v2 — mais compactas e diretas, iguais em todo o painel
   (linhas de 44–56px, números na fonte do painel, ações aparecendo ao passar o mouse,
   coluna de ações fixa à direita, aviso de que há mais colunas, cartões no celular)
   ========================================================================== */
/* Cabeçalho: rótulo discreto; ordenação mostra a seta só ao passar o mouse ou quando ativa */
.fi-ta-table > thead th { height: 40px; padding-top: 0 !important; padding-bottom: 0 !important; vertical-align: middle; }
.fi-ta-header-cell-label { font-size: 11px !important; font-weight: 700 !important; letter-spacing: .07em !important; color: var(--ev-muted) !important; }
.fi-ta-header-cell-sort-icon { width: 14px !important; height: 14px !important; opacity: 0; color: var(--ev-faint) !important; transition: opacity var(--ev-dur-quick) var(--ev-ease), color var(--ev-dur-quick) var(--ev-ease) !important; }
.fi-ta-header-cell [role="button"]:hover .fi-ta-header-cell-sort-icon, .fi-ta-header-cell [role="button"]:focus-visible .fi-ta-header-cell-sort-icon { opacity: 1; }
.fi-ta-header-cell [role="button"]:hover .fi-ta-header-cell-label { color: var(--ev-text) !important; }
.fi-ta-header-cell[aria-sort] .fi-ta-header-cell-label { color: var(--ev-text) !important; }
.fi-ta-header-cell[aria-sort] .fi-ta-header-cell-sort-icon { opacity: 1; color: var(--ev-accent) !important; }
.fi-ta-header-cell [role="button"] { border-radius: 6px; }
.fi-ta-header-cell [role="button"]:focus-visible { outline: none; box-shadow: var(--ev-focus); }

/* Células: menos altura, texto 13.5px, linha secundária discreta */
.fi-ta-cell .py-4, .fi-ta-cell .py-3 { padding-top: 11px !important; padding-bottom: 11px !important; }
.fi-ta-text-item-label, .fi-ta-text { font-size: 13.5px !important; }
.fi-ta-text-description, .fi-ta-cell .text-gray-500 { font-size: 12px !important; margin-top: 1px; color: var(--ev-muted) !important; }
/* Números, IDs e telefones na fonte do painel (algarismos alinhados), não em fonte de máquina */
.fi-ta-cell .font-mono, .fi-ta-cell [class*="font-mono"] { font-family: inherit !important; font-variant-numeric: tabular-nums; letter-spacing: 0 !important; font-size: 13.5px !important; }
.fi-ta-cell .fi-color-gray .fi-ta-text-item-label, .fi-ta-cell .fi-ta-text-item.fi-color-gray { color: var(--ev-muted) !important; }
.fi-ta-table { font-variant-numeric: tabular-nums; }
/* Respiro nas bordas: primeira e última coluna */
.fi-ta-table tr > :first-child:not(.fi-ta-selection-cell) { padding-left: 8px; }
.fi-ta-table tr > :last-child { padding-right: 8px; }
.fi-ta-table .fi-ta-selection-cell { width: 44px; padding-left: 10px !important; }
.fi-ta-table .fi-ta-record-checkbox, .fi-ta-table .fi-ta-page-checkbox { margin: 0 6px !important; }

/* Linha: hover suave; linha que abre algo ao clicar ganha cursor e o primeiro texto em destaque */
.fi-ta-row > td { transition: background-color 160ms var(--ev-ease); }
.fi-ta-row:has(.fi-ta-cell:not(.fi-ta-actions-cell) .fi-ta-col-wrp > :is(a, button)) { cursor: pointer; }
.fi-ta-row:has(.fi-ta-cell:not(.fi-ta-actions-cell) .fi-ta-col-wrp > :is(a, button)):hover .fi-ta-text-item-label { color: var(--ev-text) !important; }
.fi-ta-cell .fi-ta-col-wrp > a:focus-visible, .fi-ta-cell .fi-ta-col-wrp > button:focus-visible { outline: none; box-shadow: inset 0 0 0 2px var(--ev-accent); border-radius: 8px; }

/* Ações da linha: discretas até passar o mouse (no toque ficam sempre visíveis) */
.fi-ta-actions { gap: 2px !important; flex-wrap: nowrap; }
@media (hover: hover) {
    .fi-ta-row .fi-ta-actions { opacity: .5; transition: opacity var(--ev-dur-quick) var(--ev-ease); }
    .fi-ta-row:hover .fi-ta-actions, .fi-ta-row:focus-within .fi-ta-actions, .fi-ta-row.fi-selected .fi-ta-actions { opacity: 1; }
}
.fi-ta-actions .fi-icon-btn { width: 32px !important; height: 32px !important; border-radius: 9px !important; color: var(--ev-muted) !important; }
.fi-ta-actions .fi-icon-btn:hover { background: var(--ev-subtle-2) !important; color: var(--ev-text) !important; }
.fi-ta-actions :is(.fi-link, .fi-ac-link-action) { height: 30px; display: inline-flex !important; align-items: center; padding: 0 9px !important; border-radius: 8px !important; }

/* Coluna de ações fixa à direita: continua à mão quando a tabela rola para o lado */
.fi-ta-table .fi-ta-actions-cell, .fi-ta-table .fi-ta-actions-header-cell { position: sticky; right: 0; z-index: 1; }
.fi-ta-table .fi-ta-actions-cell { background: var(--ev-surface); }
.fi-ta-table .fi-ta-actions-header-cell { background: var(--ev-subtle) !important; }
.fi-ta-row:hover > .fi-ta-actions-cell { background: var(--ev-subtle); }
.fi-ta-row.fi-selected > .fi-ta-actions-cell { background: linear-gradient(var(--ev-accent-soft), var(--ev-accent-soft)), var(--ev-surface); }
.fi-ta-ctn.ev-x-more .fi-ta-actions-cell, .fi-ta-ctn.ev-x-more .fi-ta-actions-header-cell { box-shadow: -12px 0 14px -12px rgba(9, 9, 16, .28); }
.dark .fi-ta-ctn.ev-x-more .fi-ta-actions-cell, .dark .fi-ta-ctn.ev-x-more .fi-ta-actions-header-cell { box-shadow: -12px 0 14px -12px rgba(0, 0, 0, .8); }
/* Mais colunas para o lado: a borda esmaece no lado que ainda tem conteúdo */
.fi-ta-ctn.ev-x-scrolled .fi-ta-content { -webkit-mask-image: linear-gradient(to right, transparent, #000 36px); mask-image: linear-gradient(to right, transparent, #000 36px); }
.fi-ta-ctn.ev-x-more:not(:has(.fi-ta-actions-cell)) .fi-ta-content { -webkit-mask-image: linear-gradient(to left, transparent, #000 48px); mask-image: linear-gradient(to left, transparent, #000 48px); }
.fi-ta-ctn.ev-x-more.ev-x-scrolled:not(:has(.fi-ta-actions-cell)) .fi-ta-content {
    -webkit-mask-image: linear-gradient(to right, transparent, #000 36px, #000 calc(100% - 48px), transparent);
    mask-image: linear-gradient(to right, transparent, #000 36px, #000 calc(100% - 48px), transparent);
}
.fi-ta-content { scrollbar-width: thin; scrollbar-color: var(--ev-border-strong) transparent; }

/* Seleção em massa: faixa roxa suave com a contagem */
.fi-ta-selection-indicator { background: var(--ev-accent-soft) !important; border-color: var(--ev-accent-border) !important; padding-top: 8px !important; padding-bottom: 8px !important; }
.fi-ta-selection-indicator span, .fi-ta-selection-indicator .text-sm { color: var(--ev-accent-strong) !important; font-weight: 600 !important; font-size: 13px !important; }
.fi-ta-selection-indicator svg { color: var(--ev-accent) !important; }
.fi-ta-selection-indicator .fi-link { font-size: 13px !important; font-weight: 700 !important; }

/* Grupos e totais */
.fi-ta-group-header { background: var(--ev-subtle) !important; }
.fi-ta-summary-header-row, .fi-ta-summary-row { background: var(--ev-subtle) !important; }
.fi-ta-summary-row-heading { font-size: 12px !important; font-weight: 700 !important; color: var(--ev-muted) !important; }

/* Rodapé: total à esquerda, por página no meio, páginas à direita — compacto */
.fi-ta-pagination, .fi-pagination { padding: 10px 16px !important; }
.fi-pagination-overview { font-size: 12.5px !important; font-weight: 500 !important; color: var(--ev-muted) !important; }
.fi-pagination-records-per-page-select .fi-input-wrp { min-height: 34px; }
.fi-pagination-records-per-page-select select { height: 34px !important; min-height: 34px !important; font-size: 13px !important; padding-top: 0 !important; padding-bottom: 0 !important; }
.fi-pagination-items { gap: 4px !important; }
.fi-pagination-item-button { min-width: 34px !important; height: 34px !important; border-radius: 10px !important; font-variant-numeric: tabular-nums; }
.fi-pagination-item-button:not(:hover) { border-color: transparent !important; background: transparent !important; }
.fi-pagination-item.fi-active .fi-pagination-item-button { border-color: var(--ev-primary) !important; background: var(--ev-primary) !important; }
.fi-pagination-previous-btn, .fi-pagination-next-btn { border-radius: 10px !important; }

/* Celular: cada linha da tabela vira um cartão (título = primeira coluna, rótulo ao lado de cada valor) */
@media (max-width: 640px) {
    .fi-ta-content { -webkit-mask-image: none !important; mask-image: none !important; overflow-x: visible !important; }
    .fi-ta-table, .fi-ta-table > tbody, .fi-ta-table > tbody > tr, .fi-ta-table > tbody > tr > td { display: block; width: 100% !important; }
    .fi-ta-table > thead { display: none; }
    .fi-ta-table > tbody > tr.fi-ta-row { position: relative; padding: 12px 16px 10px; border-bottom: 1px solid var(--ev-border); }
    .fi-ta-table > tbody > tr.fi-ta-row:last-child { border-bottom: 0; }
    .fi-ta-table > tbody > tr.fi-ta-row > td { border: 0 !important; padding: 0 !important; background: transparent !important; box-shadow: none !important; position: static; }
    .fi-ta-table > tbody > tr.fi-ta-row > td .fi-ta-col-wrp > * , .fi-ta-table > tbody > tr.fi-ta-row > td .fi-ta-col-wrp > a > *, .fi-ta-table > tbody > tr.fi-ta-row > td .fi-ta-col-wrp > button > * { padding-left: 0 !important; padding-right: 0 !important; }
    .fi-ta-table > tbody > tr.fi-ta-row > td .py-4, .fi-ta-table > tbody > tr.fi-ta-row > td .py-3 { padding-top: 0 !important; padding-bottom: 0 !important; }
    /* rótulo | valor */
    .fi-ta-table > tbody > tr.fi-ta-row > td.fi-ta-cell[data-label]:not(.fi-ta-selection-cell):not(.fi-ta-actions-cell) {
        display: grid; grid-template-columns: minmax(92px, 36%) minmax(0, 1fr); gap: 10px; align-items: baseline; padding: 4px 0 !important;
    }
    .fi-ta-table > tbody > tr.fi-ta-row > td[data-label]::before {
        content: attr(data-label); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ev-faint); line-height: 1.45;
        white-space: normal; overflow-wrap: anywhere; min-width: 0;
    }
    /* título do cartão: a primeira coluna, maior e sem rótulo */
    .fi-ta-table > tbody > tr.fi-ta-row > td.fi-ta-selection-cell + td,
    .fi-ta-table > tbody > tr.fi-ta-row > td:first-child:not(.fi-ta-selection-cell) { display: block !important; padding: 0 40px 6px 0 !important; }
    .fi-ta-table > tbody > tr.fi-ta-row > td.fi-ta-selection-cell + td::before,
    .fi-ta-table > tbody > tr.fi-ta-row > td:first-child:not(.fi-ta-selection-cell)::before { display: none; }
    .fi-ta-table > tbody > tr.fi-ta-row > td.fi-ta-selection-cell + td .fi-ta-text-item-label,
    .fi-ta-table > tbody > tr.fi-ta-row > td:first-child:not(.fi-ta-selection-cell) .fi-ta-text-item-label { font-size: 15px !important; font-weight: 700 !important; color: var(--ev-text) !important; }
    /* caixa de seleção no canto */
    .fi-ta-table > tbody > tr.fi-ta-row > td.fi-ta-selection-cell { position: absolute !important; top: 12px; right: 10px; width: auto !important; }
    /* ações embaixo, à direita, sempre visíveis */
    .fi-ta-table > tbody > tr.fi-ta-row > td.fi-ta-actions-cell { margin-top: 6px; }
    .fi-ta-table > tbody > tr.fi-ta-row > td.fi-ta-actions-cell .fi-ta-actions { justify-content: flex-end; opacity: 1 !important; }
    .fi-ta-table > tbody > tr.fi-ta-row > td.fi-ta-actions-cell > div { padding: 0 !important; }
    /* valores alinhados à esquerda no cartão (mesmo os que ficam à direita na tabela) */
    .fi-ta-table > tbody > tr.fi-ta-row > td .fi-ta-col-wrp :is(.justify-end, .text-end, .text-right) { justify-content: flex-start !important; text-align: left !important; }
    .fi-ta-table > tbody > tr:not(.fi-ta-row) > td { display: block; }
}
/* Altura de linha do texto da célula (o Filament usa 24px): linhas de ~44px, ou ~56px com descrição */
.fi-ta-cell .py-4, .fi-ta-cell .py-3 { padding-top: 10px !important; padding-bottom: 10px !important; }
.fi-ta-text-item-label, .fi-ta-cell .fi-ta-text-item { line-height: 20px !important; }
.fi-ta-text-description { line-height: 17px !important; }
.fi-ta-cell .fi-badge { line-height: 16px !important; }
@media (max-width: 640px) {
    /* sem o recuo interno das células e com quebra de texto longo (códigos, e-mails) dentro do cartão */
    .fi-ta-table > tbody > tr.fi-ta-row > td .fi-ta-col-wrp [class*="px-"]:not(.fi-badge) { padding-left: 0 !important; padding-right: 0 !important; }
    .fi-ta-table > tbody > tr.fi-ta-row > td .fi-ta-col-wrp, .fi-ta-table > tbody > tr.fi-ta-row > td .fi-ta-col-wrp * { min-width: 0; }
    .fi-ta-table > tbody > tr.fi-ta-row > td .fi-ta-col-wrp .max-w-max { max-width: 100% !important; }
    .fi-ta-table > tbody > tr.fi-ta-row > td .fi-ta-text-item-label, .fi-ta-table > tbody > tr.fi-ta-row > td .fi-ta-text-description { white-space: normal !important; overflow-wrap: anywhere; }
}
/* Ação perigosa no topo da tabela (ex.: Limpar histórico): contornada em vermelho, não um bloco vermelho chamando atenção */
.fi-ta-header-ctn .fi-btn.fi-color-danger:not(.fi-btn-outlined) { background: var(--ev-surface) !important; box-shadow: inset 0 0 0 1px var(--ev-danger-border) !important; }
.fi-ta-header-ctn .fi-btn.fi-color-danger:not(.fi-btn-outlined) .fi-btn-label, .fi-ta-header-ctn .fi-btn.fi-color-danger:not(.fi-btn-outlined) .fi-btn-icon { color: var(--ev-danger) !important; }
.fi-ta-header-ctn .fi-btn.fi-color-danger:not(.fi-btn-outlined):hover { background: var(--ev-danger-soft) !important; }
/* Linha fina na borda da coluna de ações fixa quando há colunas passando por baixo (visível também no escuro) */
.fi-ta-ctn.ev-x-more .fi-ta-actions-cell, .fi-ta-ctn.ev-x-more .fi-ta-actions-header-cell { box-shadow: inset 1px 0 0 var(--ev-border), -12px 0 14px -12px rgba(9, 9, 16, .28) !important; }
.dark .fi-ta-ctn.ev-x-more .fi-ta-actions-cell, .dark .fi-ta-ctn.ev-x-more .fi-ta-actions-header-cell { box-shadow: inset 1px 0 0 var(--ev-border-strong), -14px 0 16px -12px rgba(0, 0, 0, .9) !important; }
/* Filtros acima da tabela: faixa compacta (título pequeno, campos de 40px, datas na largura toda) */
.fi-ta-filters-above-content-ctn:not(:has(> .fi-ta-filters:is([style*="display: none"], [x-cloak]))) { padding: 12px 16px 14px !important; background: var(--ev-subtle) !important; }
.fi-ta-filters { row-gap: 10px !important; }
.fi-ta-filters > .flex:first-child h4 { font-size: 12px !important; font-weight: 700 !important; letter-spacing: .06em; text-transform: uppercase; color: var(--ev-muted) !important; line-height: 20px !important; }
.fi-ta-filters > .flex:first-child .fi-link { font-size: 12.5px !important; font-weight: 600 !important; }
.fi-ta-filters .fi-fo-component-ctn { gap: 12px !important; }
.fi-ta-filters .fi-fo-field-wrp-label > span, .fi-ta-filters .fi-fo-field-wrp-label { font-size: 12px !important; font-weight: 600 !important; color: var(--ev-text-2) !important; }
.fi-ta-filters .fi-fo-field-wrp { row-gap: 6px !important; }
.fi-ta-filters :is(.fi-input, .fi-select-input, .fi-fo-date-time-picker-display-text-input) { min-height: 40px !important; font-size: 13.5px !important; }
.fi-ta-filters .fi-fo-date-time-picker, .fi-ta-filters .fi-fo-date-time-picker .fi-input-wrp, .fi-ta-filters .fi-fo-date-time-picker > div { width: 100%; }
.fi-ta-filters .fi-input-wrp { background: var(--ev-surface) !important; }
/* Filtro de período (De / Até) ocupa duas colunas: cada data fica do tamanho dos outros campos */
@media (min-width: 1024px) {
    .fi-ta-filters > .fi-fo-component-ctn > :has(.fi-fo-component-ctn > :nth-child(2) .fi-fo-date-time-picker) { grid-column: span 2 / span 2; }
}

/* Cabeçalho da tabela: a coluna da caixa "selecionar todos" com o mesmo fundo do resto do cabeçalho */
.fi-ta-table > thead th, .fi-ta-table > thead .fi-ta-selection-cell { background: var(--ev-subtle) !important; }
/* Celular: etiquetas (badges) com o respiro normal dentro do cartão */
@media (max-width: 640px) {
    .fi-ta-table > tbody > tr.fi-ta-row > td .fi-badge { padding: 3px 10px !important; }
}

/* Rodapé fixo de modal/gaveta (ex.: Resumo do jogador): fundo do cartão e borda do DS nos dois modos */
.fi-modal-footer.fi-sticky { background: var(--ev-surface) !important; border-color: var(--ev-border) !important; padding-top: 14px !important; padding-bottom: 14px !important; }

/* Abas no topo de um item do menu (Relatórios, Afiliados › Modelo clássico): logo abaixo do título; no celular
   continuam abas (roláveis na horizontal) no lugar da caixa de seleção do Filament */
.fi-page-sub-navigation-tabs { margin: -14px 0 0 !important; max-width: 100%; overflow-x: auto; scrollbar-width: none; }
.fi-page-sub-navigation-tabs::-webkit-scrollbar { display: none; }
.fi-page-sub-navigation-tabs .fi-tabs-item { flex-shrink: 0; white-space: nowrap; }
.fi-page-sub-navigation-tabs .fi-badge { min-width: 20px; justify-content: center; }
@media (max-width: 767px) {
    .fi-page-sub-navigation-tabs { display: flex !important; margin-top: -8px !important; }
    .fi-page-sub-navigation-select { display: none !important; }
}
.fi-page :has(> .fi-page-sub-navigation-tabs) { row-gap: 22px !important; }

/* "Ver backoffice como cliente" (plataforma): faixa fixa no topo */
.ev-platform-bar { position: sticky; top: 0; z-index: 60; padding: 8px 16px; text-align: center; font-size: 13px; font-weight: 600; background: var(--ev-warning-soft); color: var(--ev-warning); border-bottom: 1px solid var(--ev-border); }
.ev-platform-bar a { color: inherit; text-decoration: underline; margin-left: 6px; }
