/* =============================================================================
   Componentes AI/R (resources/js/components/air/*.vue)

   Estilos dos componentes Vue reutilizáveis do template AI/R: cabeçalho de página,
   nota de período, régua de números, número em destaque, barra segmentada com
   legenda, grade de contadores, abas, busca, alternador lista/cartões, grupo
   recolhível, pílula, barra de horas, avatar, peça de ocupação e folha lateral.

   - Só tokens --air-* (air-tokens.css): a aparência escura vem de graça.
   - Escopo [data-theme="air"] (atributo do <body>) para vencer as regras do
     air-theme, que carrega DEPOIS desta folha.
   - Carregar esta folha em toda página que usar os componentes:
       <link href="{{ app_asset('assets/css/app/air/air-components.css') }}" rel="stylesheet">
   ============================================================================= */

[data-theme="air"] {
    --air-ui-hatch: color-mix(in srgb, var(--air-ink-faint) 55%, transparent);
    --air-ui-fill: var(--air-accent-hours);
    --air-ui-fill-ink: var(--air-black);
    --air-ui-over: var(--air-accent-cost);
    --air-ui-flag: var(--air-accent-margin);
    --air-ui-ease-out: cubic-bezier(0.23, 1, 0.32, 1);
    --air-ui-ease-drawer: cubic-bezier(0.32, 0.72, 0, 1);
    /* Piso tipográfico do visual novo (Impeccable: texto funcional >= 11px, texto
       corrido >= 12px). */
    --air-ui-fs-label: 11px;
    --air-ui-fs-small: 12px;
    /* Com 11px, o tracking de 0.14em do AI/R quebra rótulo curto em duas linhas. */
    --air-ui-ls-label: 0.08em;
}

[data-theme="air"] .air-overline {
    margin: 0 0 6px;
    font-size: var(--air-ui-fs-label);
    font-weight: 600;
    letter-spacing: var(--air-ui-ls-label);
    text-transform: uppercase;
    color: var(--air-ink-muted);
}

[data-theme="air"] .air-muted {
    margin: 0;
    color: var(--air-ink-muted);
    font-size: 13px;
}

[data-theme="air"] .air-faint {
    margin: 0;
    color: var(--air-ink-muted);
    font-size: 12px;
    font-variant-numeric: tabular-nums;
}

[data-theme="air"] .air-alert-error {
    margin-bottom: 16px;
    padding: 10px 14px;
    border-radius: var(--air-radius-md);
    background: var(--air-pill-cancel-bg);
    color: var(--air-pill-cancel-fg);
}

[data-theme="air"] .air-card {
    background: var(--air-surface-raised);
    border: 1px solid var(--air-border-color);
    border-radius: var(--air-radius-lg);
    padding: 20px 22px;
}

/* ── Cabeçalho ─────────────────────────────────────────────────────────────── */
[data-theme="air"] .air-page-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

[data-theme="air"] .air-page-head__title {
    margin: 0 0 4px;
    font-family: var(--air-font-body);
    font-size: var(--air-fs-h1);
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: var(--air-ink-strong);
}

/* Parte esmaecida do título (ex.: o mês): cinza que ainda passa 3:1 em texto grande. */
[data-theme="air"] .air-page-head__muted {
    color: var(--air-ink-muted);
    font-weight: 400;
}

[data-theme="air"] .air-page-head__actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

[data-theme="air"] .air-page-head__actions .btn {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
}

[data-theme="air"] .air-count {
    display: inline-grid;
    place-items: center;
    min-width: 18px;
    height: 18px;
    margin-left: 6px;
    padding: 0 5px;
    border-radius: 999px;
    background: var(--air-ui-fill);
    color: var(--air-ui-fill-ink);
    font-size: var(--air-ui-fs-label);
    letter-spacing: 0;
}

/* AirPeriodNote: período de referência + carimbo de atualização, discreto sob o título */
[data-theme="air"] .air-period-note {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 12px;
    margin: -8px 0 16px;
    color: var(--air-ink-muted);
    font-size: 12px;
    line-height: 1.5;
}

[data-theme="air"] .air-period-note .mdi {
    color: var(--air-ink-strong);
}

[data-theme="air"] .air-period-note b {
    color: var(--air-ink-strong);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

[data-theme="air"] .air-period-note__stamp {
    padding-left: 12px;
    border-left: 1px solid var(--air-border-color);
    font-variant-numeric: tabular-nums;
}

/* AirStatStrip: números de resumo lado a lado, com divisórias */
[data-theme="air"] .air-stat-strip {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0 0 4px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--air-border-color);
}

[data-theme="air"] .air-stat-strip > div {
    padding: 0 18px;
    border-left: 1px solid var(--air-border-soft);
}

[data-theme="air"] .air-stat-strip > div:first-child {
    padding-left: 0;
    border-left: 0;
}

[data-theme="air"] .air-stat-strip dt {
    margin-bottom: 4px;
    font-size: var(--air-ui-fs-label);
    font-weight: 600;
    letter-spacing: var(--air-ui-ls-label);
    text-transform: uppercase;
    color: var(--air-ink-muted);
}

[data-theme="air"] .air-stat-strip dd {
    margin: 0;
    font-size: 24px;
    font-weight: 600;
    letter-spacing: -0.02em;
    line-height: 1.1;
    color: var(--air-ink-strong);
    font-variant-numeric: tabular-nums;
}

[data-theme="air"] .air-stat-strip .is-alert dd {
    color: var(--air-accent-danger);
}

@media (max-width: 767.98px) {
    [data-theme="air"] .air-stat-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px 0;
    }

    [data-theme="air"] .air-stat-strip > div:nth-child(3) {
        padding-left: 0;
        border-left: 0;
    }

    [data-theme="air"] .air-period-note__stamp {
        padding-left: 0;
        border-left: 0;
    }
}

[data-theme="air"] .air-figure {
    display: flex;
    align-items: flex-start;
    line-height: 0.9;
    color: var(--air-ink-strong);
}

[data-theme="air"] .air-figure__value {
    font-size: 88px;
    font-weight: 600;
    letter-spacing: -0.05em;
    font-variant-numeric: tabular-nums;
}

[data-theme="air"] .air-figure__unit {
    margin: 10px 0 0 2px;
    font-size: 30px;
    font-weight: 500;
    color: var(--air-ink-muted);
}

[data-theme="air"] .air-segment-bar {
    position: relative;
    display: flex;
    height: 44px;
    margin-top: 22px;
    border: 1px solid var(--air-border-strong);
    border-radius: var(--air-radius-sm);
    background: var(--air-surface-alt);
}

[data-theme="air"] .air-segment-bar__seg.is-fill {
    background: var(--air-ui-fill);
    border-radius: var(--air-radius-sm) 0 0 var(--air-radius-sm);
}

[data-theme="air"] .air-segment-bar__seg.is-hatch {
    background-image: repeating-linear-gradient(-45deg, var(--air-ui-hatch) 0 1px, transparent 1px 7px);
}

[data-theme="air"] .air-segment-bar__seg.is-over {
    background: var(--air-ui-over);
    border-radius: 0 var(--air-radius-sm) var(--air-radius-sm) 0;
}

[data-theme="air"] .air-segment-bar__mark {
    position: absolute;
    top: -8px;
    bottom: -8px;
    border-left: 2px solid var(--air-ink-strong);
}

[data-theme="air"] .air-segment-bar__mark i {
    position: absolute;
    top: -16px;
    transform: translateX(-50%);
    font-size: var(--air-ui-fs-label);
    font-style: normal;
    font-weight: 600;
    letter-spacing: var(--air-ui-ls-label);
    color: var(--air-ink-strong);
}

[data-theme="air"] .air-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 22px;
    margin: 12px 0 18px;
    font-size: 12px;
    color: var(--air-ink-muted);
}

[data-theme="air"] .air-legend > div {
    display: flex;
    align-items: center;
    gap: 7px;
}

[data-theme="air"] .air-legend dt {
    width: 12px;
    height: 12px;
    border: 1px solid var(--air-border-strong);
    border-radius: 2px;
}

[data-theme="air"] .air-legend dd {
    margin: 0;
    font-variant-numeric: tabular-nums;
}

[data-theme="air"] .air-legend b {
    color: var(--air-ink-strong);
    font-weight: 600;
}

[data-theme="air"] .air-legend .is-fill { background: var(--air-ui-fill); }

[data-theme="air"] .air-legend .is-over { background: var(--air-ui-over); }

[data-theme="air"] .air-legend .is-hatch {
    background-image: repeating-linear-gradient(-45deg, var(--air-ui-hatch) 0 1px, transparent 1px 4px);
}

/* AirKeyGrid: contadores com amostra de cor; os que têm link viram botão */
[data-theme="air"] .air-key-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    border: 1px solid var(--air-border-color);
    border-radius: var(--air-radius-md);
    overflow: hidden;
}

[data-theme="air"] .air-key {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    padding: 12px 14px;
    border: 0;
    border-right: 1px solid var(--air-border-color);
    background: transparent;
    color: var(--air-ink-strong);
    text-align: left;
}

[data-theme="air"] .air-key:last-child {
    border-right: 0;
}

[data-theme="air"] .air-key.is-link {
    cursor: pointer;
    transition: background-color 160ms var(--air-ui-ease-out);
}

[data-theme="air"] .air-key.is-link:hover {
    background: var(--air-surface-hover);
}

[data-theme="air"] .air-key.is-link:focus-visible {
    outline: 2px solid var(--air-ink-strong);
    outline-offset: -2px;
}

[data-theme="air"] .air-key .air-overline {
    margin: 0;
}

[data-theme="air"] .air-key__value {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 24px;
    font-weight: 600;
    letter-spacing: -0.02em;
    font-variant-numeric: tabular-nums;
}

[data-theme="air"] .air-key__swatch {
    width: 12px;
    height: 16px;
    border: 1px solid var(--air-border-strong);
    border-radius: 2px;
}

[data-theme="air"] .air-key__swatch.is-hatch {
    background-image: repeating-linear-gradient(-45deg, var(--air-ui-hatch) 0 1px, transparent 1px 4px);
}

[data-theme="air"] .air-key__swatch.is-half {
    background: linear-gradient(to top, var(--air-ui-fill) 50%, transparent 50%);
}

[data-theme="air"] .air-key__swatch.is-fill { background: var(--air-ui-fill); }

[data-theme="air"] .air-key__swatch.is-over {
    background: linear-gradient(to top, var(--air-ui-fill) 70%, var(--air-ui-over) 70%);
}

[data-theme="air"] .air-key__swatch.is-dashed { border-style: dashed; }

[data-theme="air"] .air-key__link {
    color: var(--air-accent-revenue);
    font-size: var(--air-ui-fs-small);
    font-weight: 600;
}

[data-theme="air"] .air-key.is-link:hover .air-key__link {
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* AirOccupancyTile: peça com as iniciais e preenchimento = ocupação */
[data-theme="air"] .air-occupancy-tile {
    --fill: 0%;
    --over: 0%;
    position: relative;
    display: block;
    width: 40px;
    height: 46px;
    padding: 0;
    border: 1px solid var(--air-border-strong);
    border-radius: var(--air-radius-sm);
    background-color: var(--air-surface-raised);
    background-image: repeating-linear-gradient(-45deg, var(--air-ui-hatch) 0 1px, transparent 1px 6px);
    overflow: hidden;
    cursor: pointer;
    transition: opacity 160ms var(--air-ui-ease-out), transform 160ms var(--air-ui-ease-out),
        filter 160ms var(--air-ui-ease-out);
}

[data-theme="air"] .air-occupancy-tile:hover {
    transform: translateY(-2px);
    border-color: var(--air-ink-strong);
}

[data-theme="air"] .air-occupancy-tile:active {
    transform: scale(0.95);
}

[data-theme="air"] .air-occupancy-tile:focus-visible {
    outline: 2px solid var(--air-ink-strong);
    outline-offset: 2px;
}

[data-theme="air"] .air-occupancy-tile.is-dim {
    opacity: 0.18;
    filter: grayscale(1);
}

[data-theme="air"] .air-occupancy-tile.is-selected {
    outline: 2px solid var(--air-ink-strong);
    outline-offset: 2px;
}

[data-theme="air"] .air-occupancy-tile.is-future {
    border-style: dashed;
    background-image: none;
}

/* Rótulo em duas camadas: tinta sobre o vazio, preto sobre o limão — a inicial
   troca de cor na linha d'água do preenchimento. */
[data-theme="air"] .air-occupancy-tile__label {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: var(--air-ink-strong);
}

[data-theme="air"] .air-occupancy-tile.is-future .air-occupancy-tile__label {
    color: var(--air-ink-faint);
}

/* Camada do tamanho da peça, recortada: anima clip-path (pintura), não height. */
[data-theme="air"] .air-occupancy-tile__fill {
    position: absolute;
    inset: 0;
    background: var(--air-ui-fill);
    clip-path: inset(calc(100% - var(--fill)) 0 0 0);
    transition: clip-path 260ms var(--air-ui-ease-out);
}

[data-theme="air"] .air-occupancy-tile__fill .air-occupancy-tile__label {
    color: var(--air-ui-fill-ink);
}

[data-theme="air"] .air-occupancy-tile__over {
    position: absolute;
    inset: 0;
    background: var(--air-ui-over);
    clip-path: inset(0 0 calc(100% - var(--over)) 0);
    transition: clip-path 260ms var(--air-ui-ease-out) 60ms;
}

[data-theme="air"] .air-view-switch {
    display: inline-flex;
    border: 1px solid var(--air-border-strong);
    border-radius: var(--air-radius-sm);
    overflow: hidden;
}

[data-theme="air"] .air-view-switch button {
    width: 36px;
    height: 32px;
    border: 0;
    background: transparent;
    color: var(--air-ink-muted);
}

[data-theme="air"] .air-view-switch button + button {
    border-left: 1px solid var(--air-border-strong);
}

[data-theme="air"] .air-view-switch button.is-on {
    background: var(--air-accent-solid);
    color: var(--air-on-accent);
}

/* Abas sublinhadas; quando não cabem, quebram para a linha de baixo (como na clássica),
   sem barra de rolagem horizontal */
[data-theme="air"] .air-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0 2px;
    border-bottom: 1px solid var(--air-border-color);
}

[data-theme="air"] .air-tab {
    min-height: 44px; /* altura com contador; sem isso a aba cresce de 37 para 44 px quando o número chega (CLS, card 982519) */
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex: 0 0 auto;
    padding: 12px 12px 10px;
    border: 0;
    border-bottom: 2px solid transparent;
    background: transparent;
    color: var(--air-ink-muted);
    font: 500 13px/1 var(--air-font-body);
    white-space: nowrap;
    cursor: pointer;
    transition: color 160ms var(--air-ui-ease-out), border-color 160ms var(--air-ui-ease-out);
}

[data-theme="air"] .air-tab:hover {
    color: var(--air-ink-strong);
    border-bottom-color: var(--air-border-strong);
}

[data-theme="air"] .air-tab.is-active {
    color: var(--air-ink-strong);
    font-weight: 600;
    border-bottom-color: var(--air-ink-strong);
}

[data-theme="air"] .air-tab__count,
[data-theme="air"] .air-pill {
    min-width: 22px;
    padding: 2px 7px;
    border-radius: 999px;
    background: var(--air-pill-done-bg);
    color: var(--air-pill-done-fg);
    font-size: var(--air-ui-fs-small);
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
    font-variant-numeric: tabular-nums;
}

[data-theme="air"] .air-tab__count.is-attention {
    background: var(--air-pill-paused-bg);
    color: var(--air-pill-paused-fg);
}

[data-theme="air"] .air-tab__count.is-alert {
    background: var(--air-pill-cancel-bg);
    color: var(--air-pill-cancel-fg);
}

[data-theme="air"] .air-search {
    position: relative;
    margin: 0;
}

[data-theme="air"] .air-search .mdi {
    position: absolute;
    left: 11px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--air-ink-muted);
}

[data-theme="air"] .air-search input[type="search"] {
    width: 280px;
    height: 36px;
    padding: 0 12px 0 34px;
    border: 1px solid var(--air-border-strong);
    border-radius: var(--air-radius-sm);
    background: var(--air-input-bg);
    color: var(--air-ink-strong);
    font: 13px/1 var(--air-font-body);
}

[data-theme="air"] .air-search input[type="search"]:focus {
    outline: none;
    border-color: var(--air-ink-strong);
    box-shadow: 0 0 0 2px var(--air-focus-ring);
}

/*
 * Esqueleto de carregamento (card 982969): um desenho só para Blade (<x-air.skeleton>) e Vue
 * (AirSkeleton). Cada variante reserva a altura do conteúdo que vai ocupar o lugar dela, para a
 * página não se mexer quando o dado chega. Tamanhos pelas variáveis --air-skeleton-*, nunca por
 * estilo inline.
 */
[data-theme="air"] .air-skeleton {
    display: flex;
    flex-direction: column;
    gap: var(--air-skeleton-gap, 8px);
}

[data-theme="air"] .air-skeleton__bar,
[data-theme="air"] .air-skeleton__row,
[data-theme="air"] .air-skeleton__tile,
[data-theme="air"] .air-skeleton__circle {
    display: block;
    border-radius: var(--air-radius-lg);
    background: var(--air-surface-sunken);
    animation: air-pulse 1.2s ease-in-out infinite alternate;
}

[data-theme="air"] .air-skeleton__bar {
    height: var(--air-skeleton-bar, 14px);
    width: 100%;
    border-radius: 6px;
}

[data-theme="air"] .air-skeleton__bar--w20 { width: 20%; }
[data-theme="air"] .air-skeleton__bar--w30 { width: 30%; }
[data-theme="air"] .air-skeleton__bar--w40 { width: 40%; }
[data-theme="air"] .air-skeleton__bar--w60 { width: 60%; }
[data-theme="air"] .air-skeleton__bar--w80 { width: 80%; }

[data-theme="air"] .air-skeleton__circle {
    flex: 0 0 auto;
    width: 32px;
    height: 32px;
    border-radius: 50%;
}

/* rows: linhas cheias (abas de colaboradores, listas); 46 px + 10 px é a altura do cabeçalho de AirGroup */
[data-theme="air"] .air-skeleton--rows {
    --air-skeleton-gap: 10px;
}

[data-theme="air"] .air-skeleton--rows .air-skeleton__row {
    height: var(--air-skeleton-row, 46px);
}

[data-theme="air"] .air-skeleton--rows.air-skeleton--compact {
    --air-skeleton-row: 32px;
    --air-skeleton-gap: 8px;
}

/* table: cabeçalho e linhas com célula (histórico, tabelas das abas) */
[data-theme="air"] .air-skeleton--table {
    --air-skeleton-gap: 0;
}

[data-theme="air"] .air-skeleton--table .air-skeleton__head,
[data-theme="air"] .air-skeleton--table .air-skeleton__line {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 0 16px;
}

[data-theme="air"] .air-skeleton--table .air-skeleton__head {
    height: 40px;
    border-bottom: 1px solid var(--air-border-color);
}

[data-theme="air"] .air-skeleton--table .air-skeleton__line {
    height: 44px;
    border-bottom: 1px solid var(--air-border-color);
}

[data-theme="air"] .air-skeleton--table .air-skeleton__line .air-skeleton__bar:nth-child(2) { flex: 3; }
[data-theme="air"] .air-skeleton--table .air-skeleton__line .air-skeleton__bar:nth-child(3) { flex: 2; }
[data-theme="air"] .air-skeleton--table .air-skeleton__line .air-skeleton__bar:nth-child(4) { flex: 4; }
[data-theme="air"] .air-skeleton--table .air-skeleton__line .air-skeleton__bar:nth-child(5) { flex: 1; }

/* stats: faixa de números de resumo */
[data-theme="air"] .air-skeleton--stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 16px;
}

[data-theme="air"] .air-skeleton--stats .air-skeleton__tile {
    height: 87px;
}

/* card: caixa com título e linhas de texto */
[data-theme="air"] .air-skeleton--card {
    min-height: 136px;
    padding: 16px;
    border: 1px solid var(--air-border-color);
    border-radius: var(--air-radius-lg);
    --air-skeleton-gap: 12px;
}

/* form: rótulo curto + campo */
[data-theme="air"] .air-skeleton--form {
    --air-skeleton-gap: 18px;
}

[data-theme="air"] .air-skeleton--form .air-skeleton__field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

[data-theme="air"] .air-skeleton--form .air-skeleton__field .air-skeleton__bar:first-child {
    --air-skeleton-bar: 12px;
    width: 30%;
}

[data-theme="air"] .air-skeleton--form .air-skeleton__field .air-skeleton__bar:last-child {
    --air-skeleton-bar: 36px;
    border-radius: var(--air-radius-lg);
}

[data-theme="air"] .air-skeleton--line {
    display: inline-flex;
    width: 100%;
}

/* Escuro: a trilha (#101010) some sobre a superfície (#0C0C0C); usa a superfície alternativa. */
[data-bs-theme="dark"] [data-theme="air"] .air-skeleton__bar,
[data-bs-theme="dark"] [data-theme="air"] .air-skeleton__row,
[data-bs-theme="dark"] [data-theme="air"] .air-skeleton__tile,
[data-bs-theme="dark"] [data-theme="air"] .air-skeleton__circle {
    background: var(--air-surface-alt);
}

@media (prefers-reduced-motion: reduce) {
    [data-theme="air"] .air-skeleton__bar,
    [data-theme="air"] .air-skeleton__row,
    [data-theme="air"] .air-skeleton__tile,
    [data-theme="air"] .air-skeleton__circle {
        animation: none;
    }
}

@keyframes air-pulse {
    to { opacity: 0.5; }
}

/* Grupo (cargo / divisão) */
[data-theme="air"] .air-group {
    margin-bottom: 10px;
    border: 1px solid var(--air-border-color);
    border-radius: var(--air-radius-lg);
    overflow: hidden;
}

[data-theme="air"] .air-group__head {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 12px 16px;
    border: 0;
    background: var(--air-surface-alt);
    color: var(--air-ink-strong);
    text-align: left;
    cursor: pointer;
    transition: background-color 160ms var(--air-ui-ease-out);
}

[data-theme="air"] .air-group__head:hover {
    background: var(--air-surface-hover);
}

[data-theme="air"] .air-group__title {
    font-size: 14px;
    font-weight: 600;
}

[data-theme="air"] .air-group__chevron {
    color: var(--air-ink-muted);
    transition: transform 200ms var(--air-ui-ease-out);
}

[data-theme="air"] .air-group.is-collapsed .air-group__chevron {
    transform: rotate(-90deg);
}

/* Abrir e fechar: o corpo desce/sobe pela altura, no mesmo tempo dos recolhíveis do Bootstrap
   no visual novo (.collapsing abaixo) — um movimento só para todo grupo da tela. */
[data-theme="air"] .air-group__body.is-sliding {
    overflow: hidden;
    transition: height 250ms var(--air-ui-ease-out);
}

html[data-ui="next"] [data-theme="air"] .collapsing {
    transition: height 250ms var(--air-ui-ease-out);
}

@media (prefers-reduced-motion: reduce) {
    [data-theme="air"] .air-group__body.is-sliding,
    html[data-ui="next"] [data-theme="air"] .collapsing {
        transition: none;
    }
}

/* Avatar = iniciais + faixa de ocupação na base (limão; preta quando o mês está cheio) */
[data-theme="air"] .air-avatar {
    --bar: 0%;
    position: relative;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border: 1px solid var(--air-border-strong);
    border-radius: var(--air-radius-sm);
    background: var(--air-surface-raised);
    color: var(--air-ink-strong);
    font-size: var(--air-ui-fs-small);
    font-weight: 700;
    overflow: hidden;
}

[data-theme="air"] .air-avatar::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: var(--bar);
    height: 4px;
    background: var(--air-ui-fill);
}

[data-theme="air"] .air-avatar.is-full::after {
    background: var(--air-accent-solid);
}

[data-theme="air"] .air-bar {
    --bar: 0%;
    position: relative;
    display: block;
    height: 6px;
    border-radius: 999px;
    background: var(--air-surface-sunken);
    overflow: hidden;
}

[data-theme="air"] .air-bar::after {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: var(--bar);
    border-radius: 999px;
    background: var(--air-ui-fill);
}

[data-theme="air"] .air-bar.is-full::after {
    background: var(--air-accent-solid);
}

@media (max-width: 991.98px) {
    [data-theme="air"] .air-group__head {
        flex-wrap: wrap;
    }

    [data-theme="air"] .air-search,
    [data-theme="air"] .air-search input[type="search"] {
        width: 100%;
    }
}

/* ── Folhas laterais (padrão offcanvas do AI/R) ───────────────────────────── */
[data-theme="air"] .air-veil {
    position: fixed;
    inset: 0;
    z-index: 1040;
    background: rgba(12, 12, 12, 0.4);
}

[data-theme="air"] .air-sheet {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 1045;
    width: min(420px, 100vw);
    overflow-y: auto;
    padding: 22px 24px 28px;
    background: var(--air-surface-raised);
    border-left: 1px solid var(--air-border-color);
    box-shadow: var(--air-shadow-md);
    color: var(--air-ink);
}

[data-theme="air"] .air-sheet__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
}

[data-theme="air"] .air-sheet__title,
[data-theme="air"] .air-sheet__section,
[data-theme="air"] .air-section-title {
    margin: 0;
    font-family: var(--air-font-body);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
    color: var(--air-ink-strong);
}

[data-theme="air"] .air-sheet__section {
    margin: 22px 0 10px;
}

[data-theme="air"] .air-sheet__cta {
    display: inline-flex;
    align-items: center;
    margin-top: 22px;
}

/* Movimento das folhas */
[data-theme="air"] .air-veil-enter-active,
[data-theme="air"] .air-veil-leave-active {
    transition: opacity 200ms var(--air-ui-ease-out);
}

[data-theme="air"] .air-veil-enter-from,
[data-theme="air"] .air-veil-leave-to {
    opacity: 0;
}

[data-theme="air"] .air-sheet-enter-active {
    transition: transform 280ms var(--air-ui-ease-drawer);
}

[data-theme="air"] .air-sheet-leave-active {
    transition: transform 200ms var(--air-ui-ease-out);
}

[data-theme="air"] .air-sheet-enter-from,
[data-theme="air"] .air-sheet-leave-to {
    transform: translateX(100%);
}

@media (max-width: 767.98px) {
    [data-theme="air"] .air-key-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    [data-theme="air"] .air-key {
        border-bottom: 1px solid var(--air-border-color);
    }

    [data-theme="air"] .air-figure__value {
        font-size: 56px;
    }
}

/* ── Campo de formulário ──────────────────────────────────────────────── */
[data-theme="air"] .air-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 16px;
}

[data-theme="air"] .air-field__label {
    margin: 0;
    font-size: var(--air-ui-fs-small);
    font-weight: 600;
    color: var(--air-ink);
}

[data-theme="air"] .air-field__req {
    margin-left: 2px;
    color: var(--air-accent-danger);
}

[data-theme="air"] .air-field .form-control,
[data-theme="air"] .air-field .form-select {
    min-height: 36px;
    border: 1px solid var(--air-border-strong);
    border-radius: var(--air-radius-sm);
    background-color: var(--air-input-bg);
    color: var(--air-ink-strong);
    font-size: 13px;
}

[data-theme="air"] .air-field .form-control:focus,
[data-theme="air"] .air-field .form-select:focus {
    border-color: var(--air-ink-strong);
    box-shadow: 0 0 0 2px var(--air-focus-ring);
}

[data-theme="air"] .air-field.is-invalid .form-control,
[data-theme="air"] .air-field.is-invalid .form-select {
    border-color: var(--air-accent-danger);
}

[data-theme="air"] .air-field__hint,
[data-theme="air"] .air-field__error {
    margin: 0;
    font-size: var(--air-ui-fs-small);
    color: var(--air-ink-muted);
}

[data-theme="air"] .air-field__error {
    color: var(--air-accent-danger);
}

/* ── Tabela ───────────────────────────────────────────────────────────── */
/* A borda mora na própria tabela (separate + radius): o contêiner só rola na horizontal. */
[data-theme="air"] .air-table-wrap {
    overflow-x: auto;
}

[data-theme="air"] .air-table {
    width: 100%;
    margin: 0;
    border: 1px solid var(--air-border-color);
    border-radius: var(--air-radius-lg);
    background: var(--air-surface-raised);
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    font-size: 13px;
    color: var(--air-ink);
}

[data-theme="air"] .air-table th {
    padding: 10px 14px;
    border-bottom: 1px solid var(--air-border-color);
    background: var(--air-surface-alt);
    font-size: var(--air-ui-fs-label);
    font-weight: 600;
    letter-spacing: var(--air-ui-ls-label);
    text-transform: uppercase;
    text-align: left;
    color: var(--air-ink-muted);
    white-space: nowrap;
}

[data-theme="air"] .air-table td {
    padding: 12px 14px;
    border-bottom: 1px solid var(--air-border-soft);
    vertical-align: middle;
}

[data-theme="air"] .air-table tbody tr:last-child td {
    border-bottom: 0;
}

[data-theme="air"] .air-table tbody tr:hover td {
    background: var(--air-surface-hover);
}

[data-theme="air"] .air-table .is-numeric {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

[data-theme="air"] .air-table .is-center {
    text-align: center;
}

[data-theme="air"] .air-table__sort {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 0;
    border: 0;
    background: none;
    font: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
    color: inherit;
    cursor: pointer;
}

[data-theme="air"] .air-table__sort:hover,
[data-theme="air"] .air-table [aria-sort="ascending"] .air-table__sort,
[data-theme="air"] .air-table [aria-sort="descending"] .air-table__sort {
    color: var(--air-ink-strong);
}

[data-theme="air"] .air-table__sort:focus-visible {
    outline: 2px solid var(--air-ink-strong);
    outline-offset: 2px;
}

[data-theme="air"] .air-table__empty {
    padding: 28px 14px;
    text-align: center;
    color: var(--air-ink-muted);
}

/* ── Paginação ────────────────────────────────────────────────────────── */
[data-theme="air"] .air-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    margin: 20px 0;
}

[data-theme="air"] .air-pagination__page,
[data-theme="air"] .air-pagination__step {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    height: 32px;
    padding: 0 8px;
    border: 1px solid transparent;
    border-radius: var(--air-radius-sm);
    background: none;
    font-size: 13px;
    font-variant-numeric: tabular-nums;
    color: var(--air-ink);
    text-decoration: none;
    cursor: pointer;
}

[data-theme="air"] .air-pagination__page:hover,
[data-theme="air"] .air-pagination__step:hover:not([disabled]) {
    border-color: var(--air-border-strong);
    color: var(--air-ink-strong);
}

[data-theme="air"] .air-pagination__page.is-current {
    background: var(--air-accent-solid);
    color: var(--air-on-accent);
    font-weight: 600;
}

[data-theme="air"] .air-pagination__step[disabled] {
    color: var(--air-ink-faint);
    cursor: default;
}

[data-theme="air"] .air-pagination__gap {
    padding: 0 4px;
    color: var(--air-ink-muted);
}

/* ── Estado vazio ─────────────────────────────────────────────────────────
   Um desenho só para lista, tabela ou aba sem registro (revisão do José, 24/09):
   AirEmptyState (Vue), <x-air.empty> (Blade) e <x-list-empty-state> no visual novo.
   Solto na página ganha moldura; dentro de cartão, célula, modal ou painel lateral,
   não (evita moldura dentro de moldura). */
[data-theme="air"] .air-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 40px 24px;
    border: 1px solid var(--air-border-color);
    border-radius: var(--air-radius-lg);
    background: var(--air-surface-raised);
    text-align: center;
}

[data-theme="air"] :where(.card, .air-card, .air-group, .emx-panel, td, .modal-body, .offcanvas-body, .dropdown-menu, .accordion-body, .air-list-table, .air-sheet) .air-empty {
    border: 0;
    background: transparent;
}

[data-theme="air"] .air-empty__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin-bottom: 12px;
    border-radius: 50%;
    background: var(--air-surface-hover);
    color: var(--air-ink-muted);
    font-size: 22px;
}

[data-theme="air"] .air-empty__title {
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    color: var(--air-ink-strong);
}

[data-theme="air"] .air-empty__text {
    max-width: 48ch;
    margin: 4px auto 0;
    font-size: 13px;
    color: var(--air-ink-muted);
}

[data-theme="air"] .air-empty__actions {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 16px;
}

[data-theme="air"] .air-empty--compact {
    padding: 20px 16px;
}

[data-theme="air"] .air-empty--compact .air-empty__icon {
    width: 36px;
    height: 36px;
    margin-bottom: 8px;
    font-size: 18px;
}

[data-theme="air"] .air-empty--compact .air-empty__title {
    font-size: 14px;
}

/* ── Etiqueta de status ───────────────────────────────────────────────── */
[data-theme="air"] .air-status {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: var(--air-ui-fs-small);
    font-weight: 600;
    white-space: nowrap;
    background: var(--air-pill-done-bg);
    color: var(--air-pill-done-fg);
}

[data-theme="air"] .air-status.is-active {
    background: var(--air-pill-active-bg);
    color: var(--air-pill-active-fg);
}

[data-theme="air"] .air-status.is-paused {
    background: var(--air-pill-paused-bg);
    color: var(--air-pill-paused-fg);
}

[data-theme="air"] .air-status.is-cancel {
    background: var(--air-pill-cancel-bg);
    color: var(--air-pill-cancel-fg);
}

[data-theme="air"] .air-status.is-info {
    background: var(--air-accent-info-bg);
    color: var(--air-accent-info);
}

/* ── Confirmação ao lado do botão ─────────────────────────────────────── */
[data-theme="air"] .air-inline-feedback {
    display: inline-flex;
    min-height: 1.5em;
    margin-left: 10px;
    font-size: var(--air-ui-fs-small);
    vertical-align: middle;
}

[data-theme="air"] .air-inline-feedback__msg {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--air-pill-active-fg);
}

[data-theme="air"] .air-inline-feedback.is-error .air-inline-feedback__msg {
    color: var(--air-accent-danger);
}

[data-theme="air"] .air-fade-enter-active,
[data-theme="air"] .air-fade-leave-active {
    transition: opacity 180ms var(--air-ui-ease-out);
}

[data-theme="air"] .air-fade-enter-from,
[data-theme="air"] .air-fade-leave-to {
    opacity: 0;
}

/* Movimento dos componentes AI/R desligado com "reduzir movimento" (PRD 978926, RN-05). */
@media (prefers-reduced-motion: reduce) {
    [data-theme="air"] [class*="air-"],
    [data-theme="air"] [class*="air-"]::before,
    [data-theme="air"] [class*="air-"]::after {
        transition-duration: 0ms !important;
        animation: none !important;
    }
}

/* ── Campo: controle com botão de revelar e link auxiliar (versão Blade) ──── */
[data-theme="air"] .air-field__control {
    position: relative;
}

[data-theme="air"] .air-field__control.has-reveal .form-control {
    padding-right: 44px;
}

[data-theme="air"] .air-field__reveal {
    position: absolute;
    top: 50%;
    right: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 0;
    border-radius: var(--air-radius-sm);
    background: none;
    color: var(--air-ink-muted);
    font-size: 18px;
    transform: translateY(-50%);
    cursor: pointer;
}

[data-theme="air"] .air-field__reveal:hover {
    color: var(--air-ink-strong);
}

[data-theme="air"] .air-field__reveal:focus-visible {
    outline: 2px solid var(--air-ink-strong);
    outline-offset: 0;
}

[data-theme="air"] .air-field__aside {
    align-self: flex-end;
    font-size: var(--air-ui-fs-small);
    color: var(--air-ink);
    text-decoration: underline;
    text-underline-offset: 3px;
}

[data-theme="air"] .air-field__aside:hover {
    color: var(--air-ink-strong);
}

/* ── Caixa de seleção com rótulo ──────────────────────────────────────── */
[data-theme="air"] .air-check {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 16px;
    font-size: 13px;
    color: var(--air-ink);
    cursor: pointer;
}

[data-theme="air"] .air-check input {
    width: 16px;
    height: 16px;
    margin: 0;
    accent-color: var(--air-accent-solid);
}

/* ── Aviso ────────────────────────────────────────────────────────────── */
[data-theme="air"] .air-alert {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 0 0 16px;
    padding: 10px 12px;
    border-radius: var(--air-radius-md);
    font-size: 13px;
    line-height: 1.45;
    background: var(--air-pill-cancel-bg);
    color: var(--air-pill-cancel-fg);
}

[data-theme="air"] .air-alert .mdi {
    font-size: 15px;
    line-height: 1.2;
}

[data-theme="air"] .air-alert.is-success {
    background: var(--air-pill-active-bg);
    color: var(--air-pill-active-fg);
}

[data-theme="air"] .air-alert.is-warning {
    background: var(--air-pill-paused-bg);
    color: var(--air-pill-paused-fg);
}

[data-theme="air"] .air-alert.is-info {
    background: var(--air-accent-info-bg);
    color: var(--air-accent-info);
}

/* ── Seletor completo (AirSelect) — padrão do filtro de Customer Success ──── */
[data-theme="air"] .air-select-native {
    display: none !important;
}

[data-theme="air"] .air-select {
    position: relative;
    width: 100%;
}

[data-theme="air"] .air-select__toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    min-height: 36px;
    padding: 6px 10px;
    border: 1px solid var(--air-border-strong);
    border-radius: var(--air-radius-sm);
    background: var(--air-input-bg);
    color: var(--air-ink-strong);
    font-size: 13px;
    text-align: left;
    cursor: pointer;
    transition: border-color 140ms var(--air-ui-ease-out), box-shadow 140ms var(--air-ui-ease-out);
}

[data-theme="air"] .air-select__toggle:hover {
    border-color: var(--air-ink-muted);
}

[data-theme="air"] .air-select__toggle:focus-visible,
[data-theme="air"] .air-select.is-open .air-select__toggle {
    border-color: var(--air-ink-strong);
    box-shadow: 0 0 0 2px var(--air-focus-ring);
    outline: none;
}

[data-theme="air"] .air-select__toggle:disabled {
    background: var(--air-surface-sunken);
    color: var(--air-ink-muted);
    cursor: not-allowed;
}

[data-theme="air"] .air-select__value {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

[data-theme="air"] .air-select__value.is-placeholder {
    color: var(--air-ink-muted);
}

[data-theme="air"] .air-select__count {
    min-width: 20px;
    padding: 1px 6px;
    border-radius: 999px;
    background: var(--air-accent-solid);
    color: var(--air-on-accent);
    font-size: var(--air-ui-fs-label);
    font-weight: 600;
    text-align: center;
}

[data-theme="air"] .air-select__chevron {
    color: var(--air-ink-muted);
    transition: transform 160ms var(--air-ui-ease-out);
}

[data-theme="air"] .air-select.is-open .air-select__chevron {
    transform: rotate(180deg);
}

[data-theme="air"] .air-select__panel {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    z-index: 1060;
    width: 100%;
    min-width: 260px;
    padding: 8px;
    border: 1px solid var(--air-border-color);
    border-radius: var(--air-radius-lg);
    background: var(--air-surface-raised);
    box-shadow: var(--air-shadow-md);
    transform-origin: top center;
}

[data-theme="air"] .air-select__search {
    position: relative;
    margin-bottom: 6px;
}

[data-theme="air"] .air-select__search .mdi {
    position: absolute;
    top: 50%;
    left: 10px;
    color: var(--air-ink-muted);
    transform: translateY(-50%);
}

[data-theme="air"] .air-select__search input {
    width: 100%;
    height: 32px;
    padding: 0 10px 0 32px;
    border: 1px solid var(--air-border-strong);
    border-radius: var(--air-radius-sm);
    background: var(--air-input-bg);
    color: var(--air-ink-strong);
    font-size: 13px;
}

[data-theme="air"] .air-select__search input:focus {
    border-color: var(--air-ink-strong);
    outline: none;
}

[data-theme="air"] .air-select__all,
[data-theme="air"] .air-select__option {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 6px 8px;
    border-radius: var(--air-radius-sm);
    font-size: 13px;
    color: var(--air-ink);
    cursor: pointer;
}

[data-theme="air"] .air-select__all {
    margin-bottom: 4px;
    border-bottom: 1px solid var(--air-border-color);
    border-radius: 0;
    font-weight: 600;
    color: var(--air-ink-strong);
}

[data-theme="air"] .air-select__all input,
[data-theme="air"] .air-select__option input {
    width: 15px;
    height: 15px;
    margin: 0;
    accent-color: var(--air-accent-solid);
    pointer-events: none;
}

[data-theme="air"] .air-select__list {
    max-height: 240px;
    margin: 0;
    padding: 0;
    overflow-y: auto;
    list-style: none;
    outline: none;
}

[data-theme="air"] .air-select__option.is-active {
    background: var(--air-surface-hover);
}

[data-theme="air"] .air-select__option.is-checked {
    color: var(--air-ink-strong);
    font-weight: 600;
}

[data-theme="air"] .air-select__tick {
    margin-left: auto;
}

[data-theme="air"] .air-select__text {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

[data-theme="air"] .air-select__detail {
    color: var(--air-ink-muted, #6b6b6b);
    font-size: 12px;
}

[data-theme="air"] .air-select__warning {
    font-size: 12px;
}

[data-theme="air"] .air-select__warning.is-warn { color: var(--air-warning, #b26a00); }
[data-theme="air"] .air-select__warning.is-danger { color: var(--air-danger, #c0392b); }

[data-theme="air"] .air-select__option.is-disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

[data-theme="air"] .air-select.is-invalid .air-select__toggle {
    border-color: var(--air-danger, #c0392b);
}

[data-theme="air"] .air-select__empty {
    padding: 8px;
    font-size: var(--air-ui-fs-small);
    color: var(--air-ink-muted);
}

[data-theme="air"] .air-select__foot {
    display: flex;
    justify-content: flex-end;
    margin-top: 6px;
    padding-top: 6px;
    border-top: 1px solid var(--air-border-color);
}

[data-theme="air"] .air-select__clear {
    padding: 2px 6px;
    border: 0;
    background: none;
    font-size: var(--air-ui-fs-small);
    color: var(--air-ink-muted);
    text-decoration: underline;
    cursor: pointer;
}

[data-theme="air"] .air-select-pop-enter-active {
    transition: opacity 160ms var(--air-ui-ease-out), transform 160ms var(--air-ui-ease-out);
}

[data-theme="air"] .air-select-pop-leave-active {
    transition: opacity 100ms var(--air-ui-ease-out);
}

[data-theme="air"] .air-select-pop-enter-from {
    opacity: 0;
    transform: translateY(-4px) scale(0.98);
}

[data-theme="air"] .air-select-pop-leave-to {
    opacity: 0;
}

/* AirFilterChips: filtros ativos como etiquetas removíveis */
[data-theme="air"] .air-chips {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

[data-theme="air"] .air-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 6px 4px 10px;
    border: 1px solid var(--air-border-strong);
    border-radius: 999px;
    background: var(--air-surface-raised);
    font-size: var(--air-ui-fs-small);
    color: var(--air-ink);
    animation: air-chip-in 180ms cubic-bezier(0.23, 1, 0.32, 1);
}

[data-theme="air"] .air-chip b {
    font-weight: 600;
    color: var(--air-ink-strong);
}

[data-theme="air"] .air-chip :is(button, a) {
    display: inline-grid;
    place-items: center;
    width: 20px;
    height: 20px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--air-ink-muted);
    cursor: pointer;
}

[data-theme="air"] .air-chip :is(button, a):hover,
[data-theme="air"] .air-chip :is(button, a):focus-visible {
    background: var(--air-surface-hover);
    color: var(--air-ink-strong);
    outline: none;
}

[data-theme="air"] .air-chips__clear {
    display: inline-block;
    padding: 4px 6px;
    border: 0;
    background: transparent;
    font-size: var(--air-ui-fs-small);
    color: var(--air-ink-muted);
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
}

[data-theme="air"] .air-chips__clear:hover {
    color: var(--air-ink-strong);
}

@keyframes air-chip-in {
    from { opacity: 0; transform: scale(0.94); }
    to { opacity: 1; transform: scale(1); }
}

@media (prefers-reduced-motion: reduce) {
    [data-theme="air"] .air-chip { animation: none; }
}

/* AirListTools: busca + Filtros + etiquetas + painel sob demanda */
[data-theme="air"] .air-list-tools__row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

[data-theme="air"] .air-list-tools__row .air-search {
    flex: 1 1 320px;
    max-width: 520px;
}

[data-theme="air"] .air-list-tools__row .air-search input[type="search"] {
    width: 100%;
    height: 38px;
}

/* Atalhos de filtro (Ativos/Inativos/Todos) como controle segmentado, na caixa da frase. */
[data-theme="air"] .air-list-tools__row .btn-group .btn {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
}

[data-theme="air"] .air-list-tools__chips,
[data-theme="air"] .air-list-tools__panel {
    margin-top: 12px;
}

[data-theme="air"] .air-list-tools__panel[hidden] {
    display: none;
}

[data-theme="air"] .air-list-tools__panel .listing-filters-panel {
    margin: 0;
}

/* Campos lado a lado (220–320px cada) e os botões do formulário no fim da linha, no tamanho
   do texto — numa grade de colunas iguais os botões "Filtrar/Limpar filtros" ficavam
   espremidos numa célula de 220px e quebravam em duas linhas (portal, Meus Tickets). */
@media (min-width: 992px) {
    [data-theme="air"] .air-list-tools__panel .listing-filters-panel > .row {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-end;
        gap: 12px 16px;
        margin: 0;
    }

    [data-theme="air"] .air-list-tools__panel .listing-filters-panel > .row > * {
        flex: 1 1 220px;
        width: auto;
        max-width: 320px;
        margin: 0;
        padding: 0;
    }

    [data-theme="air"] .air-list-tools__panel .listing-filters-panel > .row > :has(> .btn) {
        flex: 0 0 auto;
        max-width: none;
    }
}

[data-theme="air"] .listing-filters-panel .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    white-space: nowrap;
}

[data-theme="air"] .air-list-drop-enter-active {
    transition: opacity 180ms ease-out, transform 220ms cubic-bezier(0.23, 1, 0.32, 1);
}

[data-theme="air"] .air-list-drop-enter-from {
    opacity: 0;
    transform: translateY(-4px);
}

/* Tabela de listagem: moldura, cabeçalho ordenável e ações de linha à direita */
[data-theme="air"] .air-list-table {
    margin-top: 16px;
    border: 1px solid var(--air-border-color);
    border-radius: var(--air-radius-lg);
    background: var(--air-surface-raised);
    overflow: hidden;
}

[data-theme="air"] .air-list-table .table th {
    padding: 10px 12px;
    border-bottom: 1px solid var(--air-border-color);
    background: var(--air-surface-raised);
    font-size: var(--air-ui-fs-small);
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
    color: var(--air-ink-muted);
    white-space: nowrap;
    vertical-align: middle;
}

[data-theme="air"] .air-list-table .table td {
    padding: 12px;
    border-bottom: 1px solid var(--air-border-color);
    color: var(--air-ink);
}

[data-theme="air"] .air-list-table .table th:first-child,
[data-theme="air"] .air-list-table .table td:first-child {
    padding-left: 18px;
}

[data-theme="air"] .air-list-table .table tbody tr:last-child td {
    border-bottom: 0;
}

[data-theme="air"] .air-sort {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 0;
    border: 0;
    background: transparent;
    font-size: var(--air-ui-fs-small);
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
    color: var(--air-ink-muted);
    cursor: pointer;
}

[data-theme="air"] .air-sort + .air-sort {
    margin-left: 10px;
    font-weight: 500;
}

[data-theme="air"] .air-sort.is-active,
[data-theme="air"] .air-sort:hover {
    color: var(--air-ink-strong);
}

[data-theme="air"] .air-sort:focus-visible {
    outline: 2px solid var(--air-ink-strong);
    outline-offset: 2px;
    border-radius: 2px;
}

[data-theme="air"] .air-sort.is-static,
[data-theme="air"] .air-sort.is-static:hover {
    color: var(--air-ink-muted);
    cursor: default;
}

/* Ações na primeira coluna, como o pessoal já está acostumado (decisão do José, 24/09). */
[data-theme="air"] .air-row-actions-col {
    width: 1%;
    white-space: nowrap;
}

[data-theme="air"] .air-row-actions {
    display: inline-flex;
    gap: 6px;
    white-space: nowrap;
}

@media (prefers-reduced-motion: reduce) {
    [data-theme="air"] .air-list-drop-enter-active {
        transition: none;
    }
}

/* Paginação (pagination/air): centralizada em qualquer contêiner da tela */
[data-theme="air"] .air-pager {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    width: 100%;
    margin: 24px 0 8px;
}

[data-theme="air"] .air-pager__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 4px;
    margin: 0;
    padding: 0;
    list-style: none;
}

[data-theme="air"] .air-pager__item {
    display: inline-grid;
    place-items: center;
    min-width: 36px;
    height: 36px;
    padding: 0 10px;
    border: 1px solid transparent;
    border-radius: var(--air-radius-sm);
    font-size: 13px;
    font-weight: 500;
    font-variant-numeric: tabular-nums;
    color: var(--air-ink);
    text-decoration: none;
    transition: background-color 140ms ease-out, border-color 140ms ease-out;
}

[data-theme="air"] a.air-pager__item:hover,
[data-theme="air"] a.air-pager__item:focus-visible {
    border-color: var(--air-border-strong);
    background: var(--air-surface-hover);
    color: var(--air-ink-strong);
    outline: none;
}

[data-theme="air"] .air-pager__item.is-edge {
    border-color: var(--air-border-color);
    font-size: 18px;
}

[data-theme="air"] .air-pager__item.is-current {
    border-color: var(--air-ink-strong);
    background: var(--air-ink-strong);
    color: var(--air-surface-raised);
    font-weight: 600;
}

[data-theme="air"] .air-pager__item.is-disabled {
    color: var(--air-ink-muted);
    opacity: 0.45;
}

[data-theme="air"] .air-pager__item.is-gap {
    min-width: 24px;
    padding: 0;
    color: var(--air-ink-muted);
}

[data-theme="air"] .air-pager__summary {
    margin: 0;
    font-size: var(--air-ui-fs-small);
    color: var(--air-ink-muted);
}

/* O contêiner antigo da paginação pode ser flex alinhado à esquerda: a navegação ocupa a linha. */
[data-theme="air"] :has(> .air-pager) {
    justify-content: center;
}

@media (prefers-reduced-motion: reduce) {
    [data-theme="air"] .air-pager__item {
        transition: none;
    }
}

/* AirFilterDrawer: etiquetas dos filtros ativos numa linha, painel (sempre aberto) abaixo */
[data-theme="air"] .air-filter-drawer {
    margin-top: 12px;
}

[data-theme="air"] .air-filter-drawer__bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}

[data-theme="air"] .air-filter-drawer__panel > .listing-filters-panel {
    margin: 0;
}

[data-theme="air"] .air-filter-drawer__bar--blade {
    margin-top: 12px;
}

/* Coluna de ações trazida para o começo pelo air-table-sort: botões lado a lado. */
[data-theme="air"] td.air-row-actions-col {
    white-space: nowrap;
}

[data-theme="air"] td.air-row-actions-col > :is(a, button, form, .btn-group) {
    display: inline-block;
    margin: 0 4px 0 0;
    vertical-align: middle;
}

/* Iniciais da pessoa logada (<x-air.avatar>, App\View\Components\Air\Avatar): no lugar da
   foto genérica do menu do usuário. Classe própria — .air-avatar é o avatar quadrado com faixa de
   ocupação das listas de pessoas (AirAvatar.vue), que não muda. O tom sai do nome; cores fixas
   da marca, com a tinta que passa em contraste AA. */
[data-theme="air"] .air-initials {
    display: inline-flex;
    flex: 0 0 32px;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    font-family: var(--air-font-body);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 1;
    vertical-align: middle;
    user-select: none;
}

[data-theme="air"] .air-initials--0 { background: #D7EF25; color: #0C0C0C; }
[data-theme="air"] .air-initials--1 { background: #F15E30; color: #0C0C0C; }
[data-theme="air"] .air-initials--2 { background: #002D72; color: #FFFFFF; }
[data-theme="air"] .air-initials--3 { background: #BAADDE; color: #0C0C0C; }
[data-theme="air"] .air-initials--4 { background: #1F4F8B; color: #FFFFFF; }

