/* ==== /css/design-tokens.css ==== */
/* ═════════════════════════════════════════════════════════════════════════
   Acordly — Design Tokens Unificados
   Fonte de verdade: design_handoff_dashboard 2/Acordly Design System.html
   Tokens exportados no :root para que Dashboard, Clientes, Audiências e
   demais módulos compartilhem o mesmo sistema de status/cores.
   ═════════════════════════════════════════════════════════════════════════ */

:root {
  /* — Superfícies & neutros — */
  --bg:             #FAFAF9;
  --bg-elev:        #FFFFFF;
  --bg-soft:        #F4F4F2;
  --border:         #E7E5E4;
  --border-strong:  #D6D3D1;

  --text:           #0A0B0D;
  --text-2:         #57534E;
  --text-3:         #A8A29E;

  /* — Hero escuro (mesmo em todas as abas) — */
  --hero-bg:        #0A0B0D;
  --hero-bg-2:      #111214;
  --hero-border:    #1F2024;
  --hero-border-2:  #2A2B30;
  --hero-text:      #FAFAF9;
  --hero-text-2:    #A8A29E;
  --hero-text-3:    #6B6965;

  /* — Sistema de status unificado (ver README.md) — */
  --positive:       oklch(0.72 0.14 155);                /* Ativo · Realizado · Quitado */
  --positive-soft:  oklch(0.72 0.14 155 / 0.12);
  --info:           oklch(0.64 0.13 245);                /* Prospect · Agendado · Em andamento · Confirmado */
  --info-soft:      oklch(0.64 0.13 245 / 0.10);
  --danger:         oklch(0.64 0.20 25);                 /* Urgente · Vencido · Risco */
  --danger-soft:    oklch(0.64 0.20 25 / 0.10);
  --accent:         oklch(0.78 0.14 75);                 /* Aguardando · A fazer */
  --accent-soft:    oklch(0.78 0.14 75 / 0.14);
  --orange:         oklch(0.70 0.18 50);                 /* Adiado · Pausado */
  --orange-soft:    oklch(0.70 0.18 50 / 0.12);
  --warning:        oklch(0.78 0.14 75);                 /* alias legado de --accent */
  --warning-soft:   oklch(0.78 0.14 75 / 0.12);
  --purple:         oklch(0.62 0.18 295);
  --purple-soft:    oklch(0.62 0.18 295 / 0.10);
  --neutral-muted:  #D6D3D1;                             /* Inativo · Cancelado · Encerrado */

  /* — Raios — */
  --radius-lg:      18px;
  --radius:         14px;
  --radius-sm:      8px;
  --radius-xs:      6px;

  /* — Easings & durations — */
  --ease:           cubic-bezier(0.22, 1, 0.36, 1);
  --ease-out:       cubic-bezier(0.16, 1, 0.3, 1);
  --dur-fast:       120ms;
  --dur:            200ms;
  --dur-slow:       380ms;
}

/* ==== /css/dje-redesign.css ==== */
/* ═════════════════════════════════════════════════════════════════════════
   Acordly — Design Tokens DJE (extensão)
   Tokens ESPECÍFICOS do Inbox DJE: urgência de prazo + cores por tipo de
   publicação. Derivam dos tokens unificados em design-tokens.css.
   Esta folha NÃO sobrescreve nada — apenas adiciona variáveis novas.
   ═════════════════════════════════════════════════════════════════════════ */

:root {
  /* ── Urgência de prazo (stamp + lateral do modal) ──────────────────────
     Cores selecionadas para legibilidade do número branco em fundo colorido. */
  --urg-vencido-bg:     oklch(0.62 0.21 25);              /* vermelho — passou do prazo */
  --urg-vencido-fg:     #FFFFFF;
  --urg-vencido-soft:   oklch(0.62 0.21 25 / 0.12);

  --urg-hoje-bg:        oklch(0.70 0.18 50);              /* laranja — vence hoje/amanhã */
  --urg-hoje-fg:        #FFFFFF;
  --urg-hoje-soft:      oklch(0.70 0.18 50 / 0.12);

  --urg-proximo-bg:     oklch(0.78 0.14 75);              /* amarelo/âmbar — < 7 dias */
  --urg-proximo-fg:     #1A1410;
  --urg-proximo-soft:   oklch(0.78 0.14 75 / 0.14);

  --urg-distante-bg:    oklch(0.64 0.13 245);             /* azul — ≥ 7 dias */
  --urg-distante-fg:    #FFFFFF;
  --urg-distante-soft:  oklch(0.64 0.13 245 / 0.10);

  --urg-neutro-bg:      oklch(0.72 0.04 250);             /* cinza — sem prazo */
  --urg-neutro-fg:      #FFFFFF;
  --urg-neutro-soft:    oklch(0.72 0.04 250 / 0.10);

  /* ── Cores por TIPO de publicação (pills semânticas) ───────────────────
     Mapeamento informado por dje-data.js do handoff. Tons suaves para fundo
     da pill (sobre branco) com texto escuro saturado para contraste WCAG AA. */
  --tipo-intimacao-bg:    oklch(0.94 0.04 245);
  --tipo-intimacao-fg:    oklch(0.40 0.15 245);
  --tipo-intimacao-bd:    oklch(0.85 0.08 245);

  --tipo-sentenca-bg:     oklch(0.94 0.05 25);
  --tipo-sentenca-fg:     oklch(0.42 0.18 25);
  --tipo-sentenca-bd:     oklch(0.85 0.10 25);

  --tipo-acordao-bg:      oklch(0.94 0.06 295);
  --tipo-acordao-fg:      oklch(0.42 0.18 295);
  --tipo-acordao-bd:      oklch(0.85 0.10 295);

  --tipo-despacho-bg:     oklch(0.95 0.01 250);
  --tipo-despacho-fg:     oklch(0.40 0.02 250);
  --tipo-despacho-bd:     oklch(0.86 0.01 250);

  --tipo-audiencia-bg:    oklch(0.94 0.06 155);
  --tipo-audiencia-fg:    oklch(0.40 0.14 155);
  --tipo-audiencia-bd:    oklch(0.85 0.10 155);

  --tipo-citacao-bg:      oklch(0.95 0.05 200);
  --tipo-citacao-fg:      oklch(0.40 0.13 200);
  --tipo-citacao-bd:      oklch(0.86 0.08 200);

  --tipo-peticao-bg:      oklch(0.95 0.04 75);
  --tipo-peticao-fg:      oklch(0.42 0.14 75);
  --tipo-peticao-bd:      oklch(0.86 0.08 75);

  --tipo-arquivamento-bg: oklch(0.95 0.02 30);
  --tipo-arquivamento-fg: oklch(0.45 0.10 30);
  --tipo-arquivamento-bd: oklch(0.86 0.04 30);

  --tipo-transito-bg:     oklch(0.94 0.05 310);
  --tipo-transito-fg:     oklch(0.40 0.16 310);
  --tipo-transito-bd:     oklch(0.85 0.09 310);

  --tipo-acordo-bg:       oklch(0.94 0.06 140);
  --tipo-acordo-fg:       oklch(0.40 0.15 140);
  --tipo-acordo-bd:       oklch(0.85 0.10 140);

  --tipo-decisao-bg:      oklch(0.94 0.05 220);
  --tipo-decisao-fg:      oklch(0.40 0.13 220);
  --tipo-decisao-bd:      oklch(0.85 0.08 220);

  --tipo-pericia-bg:      oklch(0.95 0.05 95);
  --tipo-pericia-fg:      oklch(0.42 0.12 95);
  --tipo-pericia-bd:      oklch(0.86 0.08 95);

  --tipo-alvara-bg:       oklch(0.94 0.05 175);
  --tipo-alvara-fg:       oklch(0.40 0.12 175);
  --tipo-alvara-bd:       oklch(0.85 0.08 175);

  --tipo-penhora-bg:      oklch(0.94 0.05 10);
  --tipo-penhora-fg:      oklch(0.42 0.17 10);
  --tipo-penhora-bd:      oklch(0.85 0.09 10);

  --tipo-recurso-bg:      oklch(0.94 0.05 330);
  --tipo-recurso-fg:      oklch(0.41 0.15 330);
  --tipo-recurso-bd:      oklch(0.85 0.09 330);

  --tipo-default-bg:      oklch(0.96 0.005 250);
  --tipo-default-fg:      oklch(0.42 0.01 250);
  --tipo-default-bd:      oklch(0.88 0.005 250);

  /* ── Tipografia DJE ────────────────────────────────────────────────────
     Já carregadas no <head>; aqui apenas centralizamos os fallbacks. */
  --font-display: "Inter Tight", "Inter", system-ui, -apple-system, sans-serif;
  --font-ui:      "Inter", system-ui, -apple-system, sans-serif;
  --font-mono:    "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;

  /* ── Tamanhos do stamp ─────────────────────────────────────────────────
     Variáveis editáveis pelo Live Edit (?design=1). */
  --stamp-w:           72px;
  --stamp-w-mobile:    56px;
  --stamp-size:        88px;
  --stamp-dia-size:    30px;
  --stamp-mes-size:    10px;
  --stamp-label-size:  8.5px;
  --stamp-radius:      8px;
  --stamp-padding:     4px;

  /* ── Card de prazo ─────────────────────────────────────────────────────
     Espaçamento e tipografia editáveis. */
  --card-prazo-padding-y:     18px;
  --card-prazo-padding-x:     20px;
  --card-prazo-gap-stamp:     18px;
  --card-prazo-gap-aside:     14px;
  --card-prazo-list-gap:      10px;
  --card-prazo-radius:        14px;
  --card-prazo-titulo-size:   17px;
  --card-prazo-titulo-weight: 600;
  --card-prazo-desc-size:     13px;
  --card-prazo-partes-size:   12px;
  --card-prazo-meta-gap:      8px;

  /* ── Seção IA (envelope amarelo) ──────────────────────────────────────── */
  --secao-ia-bg:            oklch(0.98 0.02 85);
  --secao-ia-border:        oklch(0.90 0.05 85);
  --secao-ia-padding-y:     22px;
  --secao-ia-padding-x:     24px;
  --secao-ia-titulo-size:   28px;
  --secao-ia-titulo-color:  oklch(0.50 0.18 75);
  --secao-ia-tag-color:     oklch(0.50 0.16 75);

  /* ── Sombras DJE (cards de candidato) ──────────────────────────────────
     Mais sutis que sombras genéricas — quase imperceptíveis em repouso,
     destacam no hover. */
  --shadow-card:        0 1px 2px rgb(10 11 13 / 0.04), 0 0 0 1px rgb(10 11 13 / 0.04);
  --shadow-card-hover:  0 4px 12px rgb(10 11 13 / 0.06), 0 0 0 1px rgb(10 11 13 / 0.08);
}

/* ═════════════════════════════════════════════════════════════════════════
   Stamp de urgência (Fase 3)
   Bloco lateral fixo nos cards de sugestão de PRAZO. Layout 2 colunas:
   stamp (72px) + conteúdo (flex-1). Cor do stamp herdada de --stamp-bg
   inline (definido pela função _stampUrgencia em dje.js).
   ═════════════════════════════════════════════════════════════════════════ */

/* ═════════════════════════════════════════════════════════════════════
   Modal candidato — handoff design (Fase 5)
   ═════════════════════════════════════════════════════════════════════ */

.cm-dialog {
  background: var(--bg-elev);
  border-radius: var(--radius);
  box-shadow: 0 24px 80px rgba(0,0,0,.25), 0 4px 16px rgba(0,0,0,.1);
  width: 100%;
  max-height: 92vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  animation: rise 0.18s var(--ease-out) both;
}

.cm-head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
}

.cm-aibadge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  background: linear-gradient(135deg, oklch(0.78 0.14 75 / .20), oklch(0.78 0.14 75 / .10));
  border: 1px solid oklch(0.78 0.14 75 / .40);
  border-radius: 6px;
  font-size: 10.5px;
  font-weight: 600;
  color: var(--accent-strong);
  font-family: var(--font-mono);
  letter-spacing: .05em;
  text-transform: uppercase;
}

.cm-nav-counter {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  background: var(--bg-soft);
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 2px;
}

.cm-nav-btn {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  color: var(--text-2);
  border-radius: 4px;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
}

.cm-nav-btn:hover:not(:disabled) { background: var(--bg-elev); color: var(--text); }
.cm-nav-btn:disabled { opacity: .3; cursor: not-allowed; }

.cm-nav-text { padding: 0 6px; font-size: 11px; color: var(--text-2); }
.cm-nav-text strong { color: var(--text); font-weight: 600; }

.cm-hero {
  padding: 22px 24px 20px;
  background: linear-gradient(180deg, oklch(0.78 0.14 75 / .05), transparent 70%);
  overflow-y: auto;
  flex: 1;
  min-height: 0;
}

.cm-hero-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}

.cm-hero-cnj { font-size: 11px; color: var(--text-3); font-family: var(--font-mono); }

.cm-hero-title {
  font-family: var(--font-display);
  font-size: 26px;
  font-weight: 600;
  letter-spacing: -.025em;
  line-height: 1.2;
  margin-bottom: 18px;
  color: var(--text);
}

.cm-hero-grid {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 14px;
}

.cm-hero-deadline {
  padding: 14px 16px;
  border: 1px solid;
  border-radius: var(--radius-sm);
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.cm-hero-deadline-lbl {
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  display: flex;
  align-items: center;
  gap: 5px;
}

.cm-hero-deadline-day {
  font-family: var(--font-display);
  font-size: 32px;
  font-weight: 700;
  letter-spacing: -.025em;
  line-height: 1.05;
  font-variant-numeric: tabular-nums;
}

.cm-hero-deadline-rel { font-size: 12px; font-weight: 500; color: var(--text-2); }

.cm-hero-deadline-base {
  font-size: 11px;
  color: var(--text-3);
  margin-top: 6px;
  padding-top: 6px;
  border-top: 1px solid rgba(0,0,0,.08);
  font-family: var(--font-mono);
}

.cm-hero-detail {
  padding: 14px 16px;
  background: var(--bg-elev);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  display: flex;
  flex-direction: column;
}

.cm-hero-detail-lbl {
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--accent-strong);
  display: flex;
  align-items: center;
  gap: 5px;
  margin-bottom: 8px;
}

.cm-hero-detail-text { font-size: 13px; line-height: 1.55; color: var(--text); }

.cm-disclosure {
  display: flex;
  border-top: 1px solid var(--border);
  background: var(--bg-soft);
  flex-shrink: 0;
}

.cm-disc-tab {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px 12px;
  font-size: 12px;
  font-weight: 500;
  color: var(--text-2);
  border: none;
  border-right: 1px solid var(--border);
  background: none;
  cursor: pointer;
  transition: background var(--dur-fast), color var(--dur-fast);
}

.cm-disc-tab:last-child { border-right: 0; }
.cm-disc-tab:hover { background: rgba(0,0,0,.025); color: var(--text); }
.cm-disc-tab.on { background: var(--bg-elev); color: var(--text); font-weight: 600; }

.cm-disc-panel {
  padding: 16px 24px;
  border-top: 1px solid var(--border);
  max-height: 200px;
  overflow-y: auto;
  background: var(--bg-elev);
  flex-shrink: 0;
}

.cm-proc-grid { display: flex; flex-direction: column; gap: 2px; }

.cm-proc-row {
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: 14px;
  padding: 6px 0;
  border-bottom: 1px dashed var(--border);
  font-size: 12.5px;
}

.cm-proc-row:last-of-type { border-bottom: 0; }

.cm-proc-row span:first-child {
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--text-3);
  display: flex;
  align-items: center;
}

.cm-proc-row span:last-child { color: var(--text); }

.cm-pre {
  font-family: var(--font-mono);
  font-size: 11px;
  line-height: 1.7;
  color: var(--text-2);
  background: var(--bg-soft);
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 12px 14px;
  white-space: pre-wrap;
  word-break: break-word;
  margin: 0;
}

.cm-footer {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  border-top: 1px solid var(--border);
  background: var(--bg-soft);
  flex-shrink: 0;
}

.cm-action {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 14px;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: var(--bg-elev);
  color: var(--text);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  font-family: var(--font-ui);
  transition: all var(--dur-fast);
}

.cm-action:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0,0,0,.08); }

.cm-action kbd {
  font-family: var(--font-mono);
  font-size: 10px;
  background: var(--bg-soft);
  border: 1px solid var(--border);
  border-bottom-width: 1.5px;
  padding: 1px 5px;
  border-radius: 3px;
  color: var(--text-2);
  font-weight: 500;
}

.cm-action-discard { color: var(--text-2); }
.cm-action-discard:hover { border-color: var(--danger); color: var(--danger); }

.cm-action-confirm { background: var(--text); color: white; border-color: var(--text); }
.cm-action-confirm:hover { background: #1c1d20; }
.cm-action-confirm kbd {
  background: rgba(255,255,255,.15);
  border-color: rgba(255,255,255,.25);
  color: rgba(255,255,255,.85);
}

/* Wrapper legado para modais de edição/detalhe */
.dje-legacy-dialog {
  background: var(--bg-elev);
  border-radius: var(--radius-lg);
  box-shadow: 0 24px 80px rgba(0,0,0,.25), 0 4px 16px rgba(0,0,0,.1);
  width: 100%;
  padding: 28px;
  max-height: 88vh;
  overflow-y: auto;
}

@media (max-width: 640px) {
  .cm-hero-grid { grid-template-columns: 1fr; }
  .cm-hero-title { font-size: 21px; }
  .cm-footer { flex-wrap: wrap; }
  .cm-action { font-size: 12px; padding: 7px 10px; }
}

/* ═════════════════════════════════════════════════════════════════════
   Hero KPIs (Fase 4)/* ═════════════════════════════════════════════════════════════════════════
   Hero KPIs (Fase 4)
   Grid de 4 cards com métricas-chave do inbox.
   ═════════════════════════════════════════════════════════════════════════ */

.dje-hero-kpis {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin: 16px 0 20px 0;
}

.dje-kpi {
  background: var(--bg-elev);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 14px 16px 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  position: relative;
  overflow: hidden;
  transition: border-color var(--dur) var(--ease), transform var(--dur) var(--ease);
}

.dje-kpi::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 3px;
  background: var(--kpi-accent, var(--text-3));
  opacity: 0.6;
}

.dje-kpi-label {
  font-family: var(--font-ui);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--text-3);
  display: flex;
  align-items: center;
  gap: 6px;
}

.dje-kpi-label-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--kpi-accent, var(--text-3));
  display: inline-block;
}

.dje-kpi-valor {
  font-family: var(--font-display);
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.025em;
  color: var(--text);
  font-feature-settings: "tnum", "ss01";
  margin: 4px 0 0 0;
}

.dje-kpi-sub {
  font-family: var(--font-ui);
  font-size: 11.5px;
  font-weight: 500;
  color: var(--text-2);
  margin: 0;
  line-height: 1.3;
}

.dje-kpi.is-critical .dje-kpi-valor { color: var(--danger); }
.dje-kpi.is-warning  .dje-kpi-valor { color: oklch(0.55 0.18 50); }
.dje-kpi.is-success  .dje-kpi-valor { color: var(--positive); }

@media (max-width: 900px) {
  .dje-hero-kpis { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .dje-hero-kpis { grid-template-columns: 1fr; }
}

/* ── Seção "Identificados pela IA" (envelope amarelo-suave) ───────────── */

.dje-secao-ia {
  background: var(--secao-ia-bg);
  border: 1px solid var(--secao-ia-border);
  border-radius: var(--radius-lg);
  padding: var(--secao-ia-padding-y) var(--secao-ia-padding-x) calc(var(--secao-ia-padding-y) + 2px);
  margin: 0 0 24px 0;
}

.dje-secao-ia-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 18px;
}

.dje-secao-ia-tag {
  display: inline-block;
  font-family: var(--font-ui);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--secao-ia-tag-color);
  padding: 4px 10px;
  border-radius: 999px;
  background: oklch(0.94 0.06 85);
  border: 1px solid oklch(0.86 0.08 85);
  margin-bottom: 8px;
}

.dje-secao-ia-titulo {
  font-family: var(--font-display);
  font-size: var(--secao-ia-titulo-size);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--text);
  margin: 0;
}

.dje-secao-ia-titulo .num {
  color: var(--secao-ia-titulo-color);
}

.dje-secao-ia-sub {
  font-family: var(--font-ui);
  font-size: 13.5px;
  font-weight: 400;
  color: var(--text-2);
  margin: 6px 0 0 0;
  line-height: 1.5;
  max-width: 640px;
}

.dje-secao-ia-sub strong {
  font-weight: 600;
  color: var(--text);
}

.dje-secao-ia-lista {
  display: flex;
  flex-direction: column;
  gap: var(--card-prazo-list-gap);
  list-style: none;
  padding: 0;
  margin: 0;
}

/* ── Card de prazo (versão handoff) ───────────────────────────────────── */

.dje-card-prazo {
  display: flex;
  align-items: flex-start;
  gap: var(--card-prazo-gap-stamp);
  padding: var(--card-prazo-padding-y) var(--card-prazo-padding-x);
  border: 1px solid var(--border);
  background: var(--bg-elev);
  border-radius: var(--card-prazo-radius);
  box-shadow: var(--shadow-card);
  transition: box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);
  cursor: pointer;
  position: relative;
}

.dje-card-prazo:hover {
  box-shadow: var(--shadow-card-hover);
  border-color: var(--border-strong);
}

.dje-card-prazo:hover .dje-card-prazo-revisar {
  color: var(--info);
}

.dje-stamp {
  width: var(--stamp-size);
  height: var(--stamp-size);
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-radius: var(--stamp-radius);
  background: var(--stamp-bg, var(--bg-soft));
  color: var(--stamp-fg, var(--text-2));
  border: 1px solid var(--stamp-bd, var(--border));
  user-select: none;
  font-feature-settings: "tnum";
  padding: var(--stamp-padding);
}

.dje-stamp-dia {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--stamp-dia-size);
  line-height: 1;
  letter-spacing: -0.025em;
  margin: 0;
  font-feature-settings: "tnum", "ss01";
}

.dje-stamp-mes {
  font-family: var(--font-mono);
  font-size: var(--stamp-mes-size);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  margin-top: 2px;
  opacity: 0.85;
}

.dje-stamp-label {
  font-family: var(--font-ui);
  font-size: var(--stamp-label-size);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.10em;
  margin-top: 8px;
  opacity: 0.85;
  line-height: 1.2;
  max-width: 100%;
}

.dje-card-prazo-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.dje-card-prazo-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 4px;
}

.dje-card-prazo-tag-ia {
  font-family: var(--font-ui);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 2px 8px;
  border-radius: 999px;
  background: oklch(0.94 0.06 85);
  color: oklch(0.50 0.16 75);
  border: 1px solid oklch(0.88 0.07 85);
  display: inline-flex;
  align-items: center;
  gap: 4px;
  line-height: 1.3;
}

.dje-card-prazo-tipo {
  font-family: var(--font-ui);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 2px 8px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  line-height: 1.3;
  background: var(--info-soft);
  color: oklch(0.40 0.14 245);
  border: 1px solid oklch(0.85 0.08 245);
}

.dje-card-prazo-tipo::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
  display: inline-block;
}

.dje-card-prazo-prio {
  font-family: var(--font-ui);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 2px 8px;
  border-radius: 999px;
  line-height: 1.3;
  border: 1px solid transparent;
}

.dje-card-prazo-prio.critica { background: var(--purple-soft); color: var(--purple); border-color: oklch(0.82 0.10 295); }
.dje-card-prazo-prio.alta    { background: var(--danger-soft); color: var(--danger); border-color: oklch(0.82 0.12 25); }
.dje-card-prazo-prio.media   { background: var(--bg-soft);     color: var(--text-2); border-color: var(--border); }
.dje-card-prazo-prio.baixa   { background: var(--positive-soft); color: var(--positive); border-color: oklch(0.82 0.10 155); }

.dje-card-prazo-cnj {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 400;
  color: var(--text-3);
  letter-spacing: 0;
  margin-left: auto;
}

.dje-card-prazo-titulo {
  font-family: var(--font-display);
  font-size: 17px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.01em;
  color: var(--text);
  margin: 2px 0 0 0;
}

.dje-card-prazo-desc {
  font-family: var(--font-ui);
  font-size: 13px;
  font-weight: 400;
  color: var(--text-2);
  margin: 4px 0 0 0;
  line-height: 1.45;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.dje-card-prazo-partes {
  font-family: var(--font-ui);
  font-size: 12px;
  font-weight: 400;
  color: var(--text-3);
  margin: 8px 0 0 0;
  line-height: 1.4;
}

.dje-card-prazo-partes strong {
  font-weight: 500;
  color: var(--text-2);
}

.dje-card-prazo-aside {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 4px;
  align-self: center;
}

.dje-card-prazo-revisar {
  font-family: var(--font-ui);
  font-size: 12px;
  font-weight: 600;
  color: var(--text-3);
  margin-right: 8px;
  white-space: nowrap;
  transition: color var(--dur-fast) var(--ease);
}

.dje-card-prazo-btn {
  width: 30px;
  height: 30px;
  border-radius: 999px;
  border: 1px solid transparent;
  background: transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  padding: 0;
  color: var(--text-3);
}

.dje-card-prazo-btn.confirmar:hover { background: var(--positive-soft); border-color: var(--positive); color: var(--positive); }
.dje-card-prazo-btn.editar:hover    { background: var(--info-soft); border-color: var(--info); color: var(--info); }
.dje-card-prazo-btn.descartar:hover { background: var(--danger-soft); border-color: var(--danger); color: var(--danger); }

@media (max-width: 640px) {
  .dje-secao-ia { padding: 18px 16px 20px; }
  .dje-secao-ia-titulo { font-size: 22px; }
  .dje-secao-ia-header { flex-direction: column; gap: 12px; }
  .dje-card-prazo {
    flex-wrap: wrap;
    padding: 14px;
    gap: 12px;
  }
  .dje-stamp { width: 72px; height: 72px; }
  .dje-stamp-dia { font-size: 24px; }
  .dje-stamp-label { font-size: 8px; margin-top: 6px; }
  .dje-card-prazo-titulo { font-size: 15px; }
  .dje-card-prazo-aside { width: 100%; justify-content: flex-end; }
  .dje-card-prazo-cnj { display: none; }
}

/* ═════════════════════════════════════════════════════════════════════
   KPIs no hero escuro (handoff)
   ═════════════════════════════════════════════════════════════════════ */

.inbox-kpis {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: #1F2024;
  border-radius: var(--radius-sm);
  overflow: hidden;
  margin-top: 18px;
}

.kpi {
  background: #0A0B0D;
  padding: 14px 16px 12px;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.kpi-lbl {
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 500;
  color: #6B6965;
  text-transform: uppercase;
  letter-spacing: .1em;
}

.kpi-val {
  font-family: var(--font-display);
  font-size: 32px;
  font-weight: 600;
  letter-spacing: -.025em;
  line-height: 1;
  color: #FAFAF9;
  font-variant-numeric: tabular-nums;
  margin: 0;
}

.kpi-foot { font-size: 11px; color: #A8A29E; margin: 0; }

.kpi.is-warning .kpi-val { color: oklch(0.70 0.18 50); }
.kpi.is-critical .kpi-val { color: oklch(0.64 0.20 25); }

@media (max-width: 900px) {
  .inbox-kpis { grid-template-columns: repeat(2, 1fr); }
}

/* ═════════════════════════════════════════════════════════════════════
   Seção candidatos IA — handoff
   ═════════════════════════════════════════════════════════════════════ */

.inbox-section {
  padding: 24px 28px;
  border-bottom: 1px solid var(--border);
}

.inbox-section:last-child { border-bottom: 0; padding-bottom: 60px; }

.section-cand {
  border-bottom: 1px solid var(--border);
}

.section-cand-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}

.section-cand-title-block { flex: 1; min-width: 0; }

.section-cand-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-family: var(--font-mono);
  font-size: 10.5px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--accent-strong);
  background: white;
  padding: 4px 10px;
  border: 1px solid oklch(0.78 0.14 75 / .40);
  border-radius: 6px;
  margin-bottom: 10px;
}

.section-cand-title {
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 600;
  letter-spacing: -.025em;
  line-height: 1.1;
  color: var(--text);
}

.section-cand-title .big-num {
  font-size: 44px;
  font-weight: 700;
  color: var(--accent-strong);
  font-variant-numeric: tabular-nums;
  margin-right: 4px;
}

.section-cand-desc {
  font-size: 13px;
  color: var(--text-2);
  margin-top: 8px;
  line-height: 1.5;
}

.section-cand-desc strong { color: var(--text); font-weight: 600; }

/* Cand list e cards */
.cand-list { display: flex; flex-direction: column; gap: 10px; }

.cand-card {
  position: relative;
  display: flex;
  align-items: stretch;
  gap: 14px;
  padding: 14px;
  background: var(--bg-elev);
  border: 1px solid oklch(0.78 0.14 75 / .30);
  border-radius: var(--radius);
  width: 100%;
  text-align: left;
  cursor: pointer;
  transition: transform var(--dur-fast), box-shadow var(--dur-fast), border-color var(--dur-fast);
  box-shadow: 0 1px 2px rgba(0,0,0,.02);
  font-family: var(--font-ui);
}

.cand-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(0,0,0,.06);
  border-color: var(--accent-strong);
}

/* Stamp de data */
.cand-stamp {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 92px;
  flex-shrink: 0;
  padding: 10px 8px;
  border: 1.5px solid;
  border-radius: var(--radius-sm);
  background: #fff;
}

.cand-stamp-day {
  font-family: var(--font-display);
  font-size: 30px;
  font-weight: 700;
  letter-spacing: -.04em;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.cand-stamp-month {
  font-family: var(--font-mono);
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .12em;
  margin-top: 2px;
  text-transform: uppercase;
}

.cand-stamp-rel {
  font-size: 9px;
  font-weight: 600;
  margin-top: 4px;
  text-align: center;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: .04em;
}

/* Stamp sem data (ícone) */
.cand-stamp-icon {
  font-size: 22px;
  line-height: 1;
}

/* Corpo do card */
.cand-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
  justify-content: center;
}

.cand-meta {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
}

.cand-ai-tag {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 2px 7px;
  background: linear-gradient(135deg, oklch(0.78 0.14 75 / .25), oklch(0.78 0.14 75 / .10));
  border: 1px solid oklch(0.78 0.14 75 / .45);
  border-radius: 5px;
  font-size: 9.5px;
  font-weight: 700;
  color: var(--accent-strong);
  font-family: var(--font-mono);
  letter-spacing: .08em;
}

.cand-title {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 600;
  color: var(--text);
  line-height: 1.3;
  letter-spacing: -.01em;
}

.cand-detail {
  font-size: 12px;
  color: var(--text-2);
  line-height: 1.45;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.cand-sub {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 11.5px;
  color: var(--text-2);
  flex-wrap: wrap;
}

.cand-sub strong { color: var(--text); font-weight: 500; }
.cand-dot { color: var(--border-strong); }

.cand-hint {
  display: flex;
  align-items: center;
  gap: 4px;
  color: var(--text-3);
  font-size: 11px;
  font-weight: 500;
  flex-shrink: 0;
  align-self: center;
  padding: 6px 8px;
  border-radius: 6px;
  transition: background var(--dur-fast), color var(--dur-fast);
  white-space: nowrap;
}

.cand-card:hover .cand-hint {
  color: var(--accent-strong);
  background: oklch(0.78 0.14 75 / .10);
}


/* ═══════════════════════════════════════════════════════════════════
   DJE Inbox — Layout full-bleed (hero + sections)
   ═══════════════════════════════════════════════════════════════════ */

/* Container — cancela o padding do wrapper pai para usar toda a largura disponível */
.dje-inbox-app {
  display: flex;
  flex-direction: column;
  min-height: calc(100vh - 80px);
  margin-left:  -0.5rem;
  margin-right: -0.5rem;
  margin-top:   -2rem;
}
@media (min-width: 640px)  { .dje-inbox-app { margin-left: -1rem;   margin-right: -1rem; } }
@media (min-width: 1024px) { .dje-inbox-app { margin-left: -1.5rem; margin-right: -1.5rem; } }
@media (min-width: 1280px) { .dje-inbox-app { margin-left: -2rem;   margin-right: -2rem; } }
@media (min-width: 1536px) { .dje-inbox-app { margin-left: -3rem;   margin-right: -3rem; } }

/* HERO */
.dje-inbox-hero {
  background: var(--hero-bg, #0A0B0D);
  color: var(--hero-text, #FAFAF9);
  padding: 22px 28px 20px;
  border-radius: 24px;
  position: relative;
  overflow: clip; /* clip não afeta layout — evita cortar KPIs */
  margin-bottom: 16px;
  box-shadow: 0 30px 60px rgba(10,10,25,0.55);
}
.dje-inbox-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(700px 280px at 80% -10%, oklch(0.78 0.14 75 / .06), transparent 60%),
              radial-gradient(500px 240px at 5% 110%, oklch(0.64 0.13 245 / .04), transparent 60%);
  pointer-events: none;
}
.dje-inbox-hero > * { position: relative; }

.dje-inbox-hero-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 16px;
}

.dje-eyebrow {
  display: flex;
  align-items: center;
  gap: 7px;
  font-family: var(--font-mono);
  font-size: 10.5px;
  font-weight: 500;
  color: #6B6965;
  text-transform: uppercase;
  letter-spacing: .12em;
  margin-bottom: 4px;
}
.dje-pulse {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--positive, oklch(0.72 0.14 155));
  animation: dje-pulse 2.2s infinite;
  flex-shrink: 0;
}
@keyframes dje-pulse {
  0%   { box-shadow: 0 0 0 0 oklch(0.72 0.14 155 / .5); }
  70%  { box-shadow: 0 0 0 6px oklch(0.72 0.14 155 / 0); }
  100% { box-shadow: 0 0 0 0 oklch(0.72 0.14 155 / 0); }
}

.dje-inbox-h1 {
  font-family: var(--font-display);
  font-size: 26px;
  font-weight: 600;
  letter-spacing: -.025em;
  color: #FAFAF9;
  line-height: 1.2;
}
.dje-inbox-badge {
  font-size: 16px;
  font-weight: 700;
  color: oklch(0.72 0.14 155);
  margin-left: 4px;
}
.dje-inbox-sub {
  font-size: 13px;
  color: #A8A29E;
  margin-top: 4px;
}

.dje-hero-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  padding-top: 2px;
}
.dje-hero-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  color: #D6D3D1;
  border: 1px solid rgba(255,255,255,.12);
  font-size: 12px;
  font-weight: 500;
  transition: background 120ms;
}
.dje-hero-btn:hover { background: rgba(255,255,255,.15); }
.dje-hero-btn.icon { padding: 6px; width: 32px; height: 32px; justify-content: center; }
.dje-hero-btn.primary {
  background: oklch(0.55 0.18 245);
  color: white;
  border-color: oklch(0.55 0.18 245);
}
.dje-hero-btn.primary:hover { background: oklch(0.50 0.18 245); }

/* SECTIONS */
.dje-inbox-section {
  padding: 24px 28px 40px;
}

.dje-section-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}
.dje-section-title-block { flex: 1; min-width: 0; }
.dje-section-eyebrow {
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--text-3);
}
.dje-section-title {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -.015em;
  margin: 6px 0 4px;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.dje-section-count {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 500;
  color: var(--text-3);
  background: var(--bg-soft);
  border: 1px solid var(--border);
  padding: 2px 8px;
  border-radius: 6px;
}
.dje-section-desc {
  font-size: 12.5px;
  color: var(--text-2);
  max-width: 680px;
  line-height: 1.45;
}

/* TOOLBAR */
.dje-inbox-toolbar {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
  flex-wrap: wrap;
}
.dje-inbox-search {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 7px 11px;
  background: var(--bg-elev);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  min-width: 260px;
  color: var(--text-3);
}
.dje-inbox-search input {
  flex: 1;
  background: none;
  border: 0;
  outline: 0;
  font-size: 13px;
  color: var(--text);
}
.dje-inbox-search input::placeholder { color: var(--text-3); }
.dje-inbox-toggle {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  color: var(--text-2);
  cursor: pointer;
  padding: 6px 10px;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: var(--bg-elev);
  white-space: nowrap;
}
.dje-inbox-toggle:hover { color: var(--text); }
.dje-inbox-toggle input { accent-color: var(--text); }

/* PROC LIST */
.dje-proc-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.dje-proc-card {
  background: var(--bg-elev);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  overflow: hidden;
  transition: border-color var(--dur-fast);
}
.dje-proc-card.expanded { border-color: var(--border-strong); }
.dje-proc-head {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 10px 14px;
  width: 100%;
  text-align: left;
  cursor: pointer;
  transition: background var(--dur-fast);
  background: none;
  border: none;
}
.dje-proc-head:hover { background: var(--bg-soft); }
.dje-proc-chev {
  color: var(--text-3);
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: 18px;
  transition: transform var(--dur-fast);
}
.dje-proc-info { flex: 1; min-width: 0; }
.dje-proc-title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 3px;
  flex-wrap: wrap;
}
.dje-proc-cnj {
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 600;
  color: var(--text);
  letter-spacing: -.01em;
}
.dje-proc-type-pill {
  font-family: var(--font-mono);
  font-size: 9.5px;
  font-weight: 600;
  color: var(--text-2);
  background: var(--bg-soft);
  border: 1px solid var(--border);
  padding: 1px 6px;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.dje-proc-trib-pill {
  font-size: 10px;
  font-weight: 500;
  color: oklch(0.45 0.13 245);
  background: oklch(0.64 0.13 245 / .1);
  border: 1px solid oklch(0.64 0.13 245 / .25);
  padding: 1px 7px;
  border-radius: 4px;
}
.dje-proc-badge-novas {
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 600;
  color: oklch(0.45 0.13 245);
  background: oklch(0.64 0.13 245 / .1);
  border: 1px solid oklch(0.64 0.13 245 / .3);
  padding: 2px 7px;
  border-radius: 6px;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.dje-proc-sub {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  color: var(--text-2);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex-wrap: wrap;
}
.dje-proc-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
.dje-proc-data {
  font-size: 11px;
  color: var(--text-3);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* MOVIMENTAÇÕES EXPANDIDAS */
.dje-proc-movs {
  border-top: 1px solid var(--border);
  background: var(--bg-soft);
  padding: 4px 0;
}
.dje-mov-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px 8px 44px;
  width: 100%;
  text-align: left;
  cursor: pointer;
  transition: background var(--dur-fast);
  border: 0;
  background: none;
  border-bottom: 1px solid var(--border);
}
.dje-mov-row:last-child { border-bottom: 0; }
.dje-mov-row:hover { background: rgba(255,255,255,.6); }
.dje-mov-row.tratada { opacity: .55; }
.dje-mov-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
}
.dje-mov-dot[data-status="nova"]    { background: oklch(0.64 0.13 245); }
.dje-mov-dot[data-status="vista"]   { background: var(--text-3); }
.dje-mov-dot[data-status="tratada"] { background: transparent; border: 1px solid var(--text-3); }
.dje-mov-text {
  flex: 1;
  font-size: 12.5px;
  color: var(--text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.4;
  text-align: left;
}
.dje-mov-row.tratada .dje-mov-text { color: var(--text-2); }
.dje-mov-row.nova .dje-mov-text    { font-weight: 500; }
.dje-mov-tipo {
  font-family: var(--font-mono);
  font-size: 9.5px;
  font-weight: 600;
  padding: 2px 6px;
  border-radius: 4px;
  flex-shrink: 0;
  white-space: nowrap;
}
.dje-mov-actions {
  display: flex;
  gap: 4px;
  flex-shrink: 0;
  opacity: 0;
  transition: opacity 120ms;
}
.dje-mov-row:hover .dje-mov-actions { opacity: 1; }
.dje-mov-btn {
  padding: 3px 8px;
  border-radius: 5px;
  font-size: 11px;
  font-weight: 500;
  background: var(--bg-elev);
  color: var(--text-2);
  border: 1px solid var(--border);
  cursor: pointer;
  transition: all 100ms;
}
.dje-mov-btn:hover { color: var(--text); border-color: var(--border-strong); }
.dje-mov-data {
  font-size: 10.5px;
  color: var(--text-3);
  font-variant-numeric: tabular-nums;
  flex-shrink: 0;
  white-space: nowrap;
}
.dje-proc-footer {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 8px 14px 8px 44px;
  border-top: 1px solid var(--border);
}
.dje-proc-footer-link {
  font-size: 12px;
  color: var(--text-3);
  text-decoration: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  transition: color 100ms;
  font-family: inherit;
}
.dje-proc-footer-link:hover { color: var(--text-2); }

/* Empty state inbox */
.dje-inbox-empty {
  padding: 40px 20px;
  text-align: center;
  color: var(--text-3);
}
@keyframes dje-spin { to { transform: rotate(360deg); } }
.dje-spin {
  width: 28px;
  height: 28px;
  border: 3px solid var(--border);
  border-top-color: var(--text-2);
  border-radius: 50%;
  animation: dje-spin .8s linear infinite;
  margin: 0 auto;
}

/* Modal Editar Sugestão — inputs */
.dje-edit-label {
  display: block;
  font-size: 10.5px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--text-3);
  margin-bottom: 5px;
}
.dje-edit-input {
  width: 100%;
  padding: 8px 11px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  font-size: 13px;
  background: var(--bg-elev);
  color: var(--text);
  font-family: inherit;
  outline: none;
  box-sizing: border-box;
  transition: border-color var(--dur-fast);
}
.dje-edit-input:focus {
  border-color: var(--text-2);
}
.dje-edit-input[readonly] {
  background: var(--bg-soft);
  color: var(--text-2);
}
.dje-edit-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.dje-edit-grid .col-span-2 { grid-column: 1 / -1; }

/* ── Drawer lateral — movimentação ─────────────────────────────────────── */
.dje-drawer-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(10,11,13,.45);
  backdrop-filter: blur(2px);
  z-index: 900;
  display: flex;
  justify-content: flex-end;
  animation: dje-fade-in .15s cubic-bezier(0.16,1,0.3,1);
}
@keyframes dje-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes dje-slide-in { from { transform: translateX(100%); } to { transform: translateX(0); } }

.dje-drawer {
  width: 560px;
  max-width: 100%;
  height: 100vh;
  background: var(--bg-elev);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  animation: dje-slide-in .2s cubic-bezier(0.16,1,0.3,1);
  box-shadow: -8px 0 40px rgba(0,0,0,.18);
}

/* Cabeçalho do drawer */
.dd-head {
  padding: 18px 22px 14px;
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
}
.dd-head-top {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}
.dd-tipo-pill {
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 5px;
  letter-spacing: .04em;
  flex-shrink: 0;
}
.dd-head-date {
  font-size: 12px;
  color: var(--text-3);
  font-variant-numeric: tabular-nums;
}
.dd-close {
  margin-left: auto;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--bg-soft);
  color: var(--text-2);
  font-size: 13px;
  cursor: pointer;
  flex-shrink: 0;
  transition: background var(--dur-fast), color var(--dur-fast);
}
.dd-close:hover { background: var(--bg-elev); color: var(--text); }
.dd-title {
  font-family: var(--font-display, 'Inter Tight', sans-serif);
  font-size: 17px;
  font-weight: 600;
  letter-spacing: -.015em;
  color: var(--text);
  line-height: 1.3;
  margin-bottom: 4px;
}
.dd-sub {
  font-size: 12.5px;
  color: var(--text-2);
}
.dd-orgao {
  font-size: 12px;
  color: var(--text-3);
  margin-top: 2px;
}

/* Barra de ações */
.dd-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  padding: 10px 22px;
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
}
.dd-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 12px;
  font-size: 12.5px;
  font-weight: 500;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: var(--bg-elev);
  color: var(--text);
  cursor: pointer;
  transition: all var(--dur-fast);
  white-space: nowrap;
}
.dd-btn:hover { border-color: var(--border-strong); }
.dd-btn--primary {
  background: var(--text);
  color: white;
  border-color: var(--text);
}
.dd-btn--primary:hover { background: #1c1d20; }
.dd-tratada-badge {
  font-size: 12px;
  color: var(--positive);
  font-weight: 500;
}

/* Corpo do drawer */
.dd-body {
  flex: 1;
  overflow-y: auto;
  padding: 18px 22px 32px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.dd-section-label {
  font-size: 10.5px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--text-3);
  margin-bottom: 8px;
}
.dd-pre {
  font-family: var(--font-mono, 'JetBrains Mono', monospace);
  font-size: 12px;
  line-height: 1.7;
  color: var(--text-2);
  background: var(--bg-soft);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 14px 16px;
  white-space: pre-wrap;
  word-break: break-word;
  margin: 0;
}

/* Itens IA vinculados */
.dd-ia-list { display: flex; flex-direction: column; gap: 6px; }
.dd-ia-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  background: var(--bg-soft);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  font-size: 12.5px;
}
.dd-ia-item--blue { background: oklch(0.64 0.13 245/.06); border-color: oklch(0.64 0.13 245/.25); }
.dd-ia-item-label { flex: 1; color: var(--text); font-weight: 500; }
.dd-ia-item-status { font-size: 10.5px; font-weight: 600; }
.dd-ia-item-status--ok { color: var(--positive); }
.dd-ia-item-status--pend { color: var(--accent-strong); }

/* Hint quando IA não identificou */
.dd-ia-hint {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 14px;
  background: var(--bg-soft);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  font-size: 12.5px;
  color: var(--text-2);
  line-height: 1.5;
}
.dd-ia-hint strong { color: var(--text); }

/* Botão IA no drawer e resumo IA */
.dd-btn--ia {
  background: linear-gradient(135deg, oklch(0.78 0.14 75/.15), oklch(0.78 0.14 75/.06));
  border-color: oklch(0.78 0.14 75/.40);
  color: var(--accent-strong, oklch(0.65 0.18 65));
  font-weight: 600;
}
.dd-btn--ia:hover {
  background: linear-gradient(135deg, oklch(0.78 0.14 75/.25), oklch(0.78 0.14 75/.12));
  border-color: var(--accent-strong, oklch(0.65 0.18 65));
}
.dd-resumo-ia {
  padding: 12px 14px;
  background: oklch(0.78 0.14 75/.07);
  border: 1px solid oklch(0.78 0.14 75/.30);
  border-radius: var(--radius-sm);
}
.dd-resumo-ia-text {
  font-size: 13px;
  color: var(--text);
  line-height: 1.6;
  margin: 0;
  white-space: pre-line;
}

/* Toast de confirmação de sugestão IA */
.dje-toast-confirm {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 14px;
  background: var(--text, #0A0B0D);
  color: white;
  border-radius: 6px;
  box-shadow: 0 8px 30px rgba(0,0,0,.25);
  font-size: 13px;
  z-index: 2000;
  white-space: nowrap;
  animation: dje-toast-in .3s cubic-bezier(0.16,1,0.3,1);
}
@keyframes dje-toast-in {
  from { opacity: 0; transform: translateX(-50%) translateY(12px); }
  to   { opacity: 1; transform: translateX(-50%) translateY(0); }
}
.dje-toast-icon {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--positive, oklch(0.72 0.14 155));
  color: white;
  display: grid;
  place-items: center;
  font-size: 11px;
  font-weight: 700;
  flex-shrink: 0;
}
.dje-toast-msg {
  color: rgba(255,255,255,.85);
  max-width: 280px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.dje-toast-nav {
  background: none;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 6px;
  color: oklch(0.78 0.14 75);
  font-size: 12px;
  font-weight: 600;
  padding: 4px 10px;
  cursor: pointer;
  white-space: nowrap;
  transition: background .12s;
  font-family: inherit;
}
.dje-toast-nav:hover { background: rgba(255,255,255,.1); }
.dje-toast-close {
  background: none;
  border: none;
  color: rgba(255,255,255,.4);
  font-size: 13px;
  cursor: pointer;
  padding: 0 2px;
  line-height: 1;
  font-family: inherit;
}
.dje-toast-close:hover { color: rgba(255,255,255,.8); }

/* ── Inbox agrupado por TRIBUNAL (resolver um PJe de cada vez) ──────────── */
.dje-trib-sec { margin-bottom: 16px; }
.dje-trib-head {
  display: flex; align-items: center; gap: 8px; width: 100%;
  background: transparent; border: 0; cursor: pointer;
  padding: 6px 2px; margin-bottom: 6px;
}
.dje-trib-chev { display: inline-flex; color: var(--text-3, #9CA3AF); transition: transform .15s; }
.dje-trib-name {
  font-size: 12px; font-weight: 700; letter-spacing: .06em;
  color: var(--text-2, #6B7280); font-family: 'JetBrains Mono', ui-monospace, monospace;
}
.dje-trib-count { font-size: 11.5px; color: var(--text-3, #9CA3AF); }
.dje-trib-novas {
  font-size: 11px; font-weight: 600; padding: 1px 9px; border-radius: 999px;
  background: #FAEEDA; color: #854F0B;
}
.dje-trib-line { flex: 1; height: 1px; background: var(--border, #E7E5E4); }
.dje-trib-head:hover .dje-trib-name { color: var(--text, #1C1917); }

/* ── Contexto do processo no inbox: cliente, próximo evento, prazo, rastro ── */
.dje-proc-cli {
  font-weight: 600;
  color: var(--text);
  cursor: pointer;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 2px;
  transition: text-decoration-color var(--dur-fast);
}
.dje-proc-cli:hover, .dje-proc-cli:focus-visible { text-decoration-color: currentColor; outline: none; }
.dje-proc-ctx {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 4px;
  font-size: 11px;
  color: var(--text-2);
  font-variant-numeric: tabular-nums;
}
.dje-ctx-item { white-space: nowrap; }
.dje-ctx-item.dje-ctx--urg {
  color: oklch(0.55 0.17 55);
  font-weight: 600;
}
.dje-ctx-sep { color: var(--text-3); }

.dje-prazo-chip, .dje-rastro-chip {
  display: inline-flex;
  align-items: center;
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 600;
  padding: 2px 7px;
  border-radius: 5px;
  white-space: nowrap;
  flex-shrink: 0;
  letter-spacing: .01em;
}
.dje-prazo-chip {
  color: var(--text-2);
  background: var(--bg-soft);
  border: 1px solid var(--border);
}
.dje-prazo-chip--urg {
  color: oklch(0.45 0.15 55);
  background: oklch(0.75 0.15 70 / .14);
  border-color: oklch(0.75 0.15 70 / .4);
}
.dje-prazo-chip--vencido {
  color: oklch(0.45 0.18 25);
  background: oklch(0.65 0.2 25 / .1);
  border-color: oklch(0.65 0.2 25 / .35);
}
.dje-rastro-chip {
  color: oklch(0.4 0.12 160);
  background: oklch(0.7 0.15 160 / .12);
  border: 1px solid oklch(0.7 0.15 160 / .35);
  max-width: 220px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.dje-mov-row .dje-prazo-chip, .dje-mov-row .dje-rastro-chip { font-size: 9.5px; }
.dje-pub-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}
.dje-pub-chips--detalhe { margin-top: 6px; }
@media (max-width: 640px) {
  .dje-mov-row .dje-prazo-chip { display: none; }
  .dje-rastro-chip { max-width: 140px; }
}

/* ==== /css/dje-v3.css ==== */
/* =============================================================
   Acordly — Inbox DJE v3
   Mesmos tokens do design-tokens.css; tudo isolado sob `.dv3`.
   ============================================================= */

.dv3 {
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 13.5px;
  line-height: 1.45;
  color: var(--text);
  background: var(--bg);
  margin: -16px -16px 0;
  min-height: calc(100vh - 60px);
}
.dv3 *, .dv3 *::before, .dv3 *::after { box-sizing: border-box; }
.dv3 button { font: inherit; cursor: pointer; border: 0; background: none; color: inherit; padding: 0; }
.dv3 input, .dv3 select { font: inherit; }
.dv3 .mono { font-family: 'JetBrains Mono', ui-monospace, monospace; font-variant-numeric: tabular-nums; }
.dv3 svg { width: 14px; height: 14px; flex-shrink: 0; }
.dv3 .dv3-muted { color: var(--text-3); font-size: 11.5px; }
.dv3 .dv3-muted b { color: var(--text-2); font-weight: 600; }

@keyframes dv3-pulse { 0% { box-shadow: 0 0 0 0 oklch(0.72 0.14 155 / .5); } 70% { box-shadow: 0 0 0 6px oklch(0.72 0.14 155 / 0); } 100% { box-shadow: 0 0 0 0 oklch(0.72 0.14 155 / 0); } }
@keyframes dv3-spin { to { transform: rotate(360deg); } }
@keyframes dv3-skel { 0%, 100% { opacity: .55; } 50% { opacity: 1; } }
@keyframes dv3-in { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }

/* ===== HERO ===== */
.dv3 .dv3-hero {
  background: var(--hero-bg);
  color: var(--hero-text);
  padding: 22px 28px 20px;
  border-bottom: 1px solid var(--hero-border);
  position: relative;
  overflow: hidden;
}
.dv3 .dv3-hero::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(700px 280px at 80% -10%, oklch(0.64 0.13 245 / .08), transparent 60%);
  pointer-events: none;
}
.dv3 .dv3-hero > * { position: relative; }
.dv3 .dv3-hero-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.dv3 .dv3-eyebrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px; font-weight: 500;
  color: var(--hero-text-3);
  text-transform: uppercase; letter-spacing: .12em;
  display: flex; align-items: center; gap: 7px;
}
.dv3 .dv3-pulse { width: 6px; height: 6px; border-radius: 50%; background: var(--positive); animation: dv3-pulse 2.2s infinite; }
.dv3 .dv3-h1 {
  font-family: 'Inter Tight', 'Inter', sans-serif;
  font-size: 26px; font-weight: 600; letter-spacing: -.025em;
  margin: 6px 0 0; line-height: 1.1;
}
.dv3 .dv3-sub { font-size: 13px; color: var(--hero-text-2); margin: 6px 0 0; max-width: 680px; line-height: 1.5; }
.dv3 .dv3-hero-actions { display: flex; gap: 8px; flex-shrink: 0; flex-wrap: wrap; }
.dv3 .dv3-btn-dark {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 7px 12px; font-size: 12.5px; font-weight: 500;
  background: rgba(255,255,255,.05); color: var(--hero-text);
  border: 1px solid var(--hero-border-2); border-radius: var(--radius-sm);
  transition: background var(--dur), border-color var(--dur);
}
.dv3 .dv3-btn-dark:hover { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.25); }
.dv3 .dv3-btn-dark.icon { padding: 7px 9px; }
.dv3 .dv3-btn-dark.primary { background: var(--accent); color: #0A0B0D; border-color: var(--accent); }
.dv3 .dv3-btn-dark.primary:hover { background: oklch(0.85 0.14 75); }
.dv3 .dv3-btn-dark:disabled { opacity: .6; cursor: progress; }
.dv3 .dv3-ico { display: inline-flex; }
.dv3 #dje-btn-sync-djen:disabled .dv3-ico svg { animation: dv3-spin 1s linear infinite; }

.dv3 .dv3-saude {
  display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap;
  margin-top: 14px; padding: 5px 10px 5px 8px;
  border-radius: 999px; font-size: 11.5px;
  color: var(--hero-text-2);
  border: 1px solid var(--hero-border-2); background: rgba(255,255,255,.04);
}
.dv3 .dv3-saude i { color: var(--hero-text-3); font-style: normal; }
.dv3 .dv3-saude-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--positive); }
.dv3 .dv3-saude.ruim { color: oklch(0.85 0.12 50); border-color: oklch(0.70 0.18 50 / .45); background: oklch(0.70 0.18 50 / .10); }
.dv3 .dv3-saude.ruim .dv3-saude-dot { background: var(--orange); box-shadow: 0 0 0 3px oklch(0.70 0.18 50 / .25); }
.dv3 .dv3-saude b { color: inherit; font-weight: 600; }

/* KPIs clicáveis */
.dv3 .dv3-kpis { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-top: 16px; }
.dv3 .dv3-kpi {
  display: flex; flex-direction: column; align-items: flex-start; gap: 2px;
  padding: 11px 13px; text-align: left;
  border: 1px solid var(--hero-border-2); border-radius: var(--radius-sm);
  background: rgba(255,255,255,.03);
  transition: background var(--dur), border-color var(--dur), transform var(--dur-fast);
}
.dv3 .dv3-kpi:hover { background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.22); transform: translateY(-1px); }
.dv3 .dv3-kpi.on { background: rgba(255,255,255,.10); border-color: rgba(255,255,255,.35); }
.dv3 .dv3-kpi-lbl { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; color: var(--hero-text-3); }
.dv3 .dv3-kpi-val { font-family: 'Inter Tight', 'Inter', sans-serif; font-size: 24px; font-weight: 600; letter-spacing: -.03em; line-height: 1.05; color: var(--hero-text); }
.dv3 .dv3-kpi-foot { font-size: 11px; color: var(--hero-text-2); }
.dv3 .dv3-kpi.danger .dv3-kpi-val { color: oklch(0.75 0.18 25); }
.dv3 .dv3-kpi.warn .dv3-kpi-val { color: oklch(0.82 0.15 60); }
.dv3 .dv3-kpi.info .dv3-kpi-val { color: oklch(0.78 0.12 245); }

/* ===== CORPO ===== */
.dv3 .dv3-body { padding: 16px 28px 40px; }
.dv3 .dv3-toolbar {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  padding: 10px 0 14px;
  position: sticky; top: 0; z-index: 5;
  background: linear-gradient(var(--bg) 85%, transparent);
}
.dv3 .dv3-segs, .dv3 .dv3-ordem { display: inline-flex; gap: 2px; padding: 3px; border: 1px solid var(--border); border-radius: 999px; background: var(--bg-elev); }
.dv3 .dv3-seg {
  padding: 5px 12px; border-radius: 999px; font-size: 12.5px; font-weight: 500; color: var(--text-2);
  transition: background var(--dur-fast), color var(--dur-fast);
}
.dv3 .dv3-seg.small { padding: 4px 10px; font-size: 11.5px; }
.dv3 .dv3-seg:hover { color: var(--text); }
.dv3 .dv3-seg.on { background: var(--text); color: var(--bg-elev); }
.dv3 .dv3-search {
  display: flex; align-items: center; gap: 7px;
  flex: 1 1 220px; min-width: 180px; max-width: 360px;
  padding: 0 11px; height: 34px;
  border: 1px solid var(--border); border-radius: 999px; background: var(--bg-elev); color: var(--text-3);
  transition: border-color var(--dur-fast), box-shadow var(--dur-fast);
}
.dv3 .dv3-search:focus-within { border-color: var(--border-strong); box-shadow: 0 0 0 3px rgba(0,0,0,.04); }
.dv3 .dv3-search input { flex: 1; min-width: 0; border: 0; outline: 0; background: none; font-size: 13px; color: var(--text); }
.dv3 .dv3-tipos { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.dv3 .dv3-tipo-chip {
  padding: 4px 10px; border-radius: 999px; font-size: 11.5px; font-weight: 500;
  color: var(--text-2); background: var(--bg-elev); border: 1px solid var(--border);
  transition: border-color var(--dur-fast), color var(--dur-fast);
}
.dv3 .dv3-tipo-chip b { font-weight: 600; color: var(--text-3); margin-left: 2px; }
.dv3 .dv3-tipo-chip:hover { border-color: var(--border-strong); color: var(--text); }
.dv3 .dv3-tipo-chip.on { background: var(--text); color: var(--bg-elev); border-color: var(--text); }
.dv3 .dv3-tipo-chip.on b { color: inherit; opacity: .8; }
.dv3 .dv3-ordem { margin-left: auto; }

/* Tribunal */
.dv3 .dv3-trib { margin-bottom: 18px; animation: dv3-in .25s var(--ease) both; }
.dv3 .dv3-trib-head {
  display: flex; align-items: center; gap: 10px; width: 100%;
  padding: 6px 2px; text-align: left;
}
.dv3 .dv3-trib-head.static { cursor: default; }
.dv3 .dv3-trib-nome { font-family: 'Inter Tight', 'Inter', sans-serif; font-size: 14px; font-weight: 600; letter-spacing: -.01em; display: inline-flex; align-items: center; gap: 6px; }
.dv3 .dv3-trib-nome svg { color: var(--info); }
.dv3 .dv3-line { flex: 1; height: 1px; background: var(--border); }
.dv3 .dv3-chev { display: inline-grid; place-items: center; width: 18px; color: var(--text-3); transition: transform var(--dur-fast); }
.dv3 .dv3-chev svg { transform: rotate(90deg); }
.dv3 .fechado > .dv3-trib-head .dv3-chev svg,
.dv3 .dv3-proc.fechado > .dv3-proc-head .dv3-chev svg { transform: rotate(0); }
.dv3 .dv3-trib-urg { font-family: 'JetBrains Mono', monospace; font-size: 10.5px; color: var(--text-3); }
.dv3 .dv3-trib-urg.hoje { color: oklch(0.55 0.17 55); font-weight: 600; }
.dv3 .dv3-trib-urg.vencido { color: var(--danger); font-weight: 600; }

.dv3 .dv3-pill {
  display: inline-flex; align-items: center;
  font-size: 10.5px; font-weight: 500; padding: 1px 7px; border-radius: 4px;
  color: oklch(0.45 0.13 245); background: var(--info-soft); border: 1px solid oklch(0.64 0.13 245 / .25);
}
.dv3 .dv3-pill.fase { color: var(--text-2); background: var(--bg-soft); border-color: var(--border); }
.dv3 .dv3-pill.novas { font-family: 'JetBrains Mono', monospace; text-transform: uppercase; letter-spacing: .04em; font-weight: 600; }

/* Processo */
.dv3 .dv3-proc {
  border: 1px solid var(--border); border-radius: var(--radius);
  background: var(--bg-elev); margin-bottom: 8px; overflow: hidden;
  transition: border-color var(--dur-fast), box-shadow var(--dur-fast);
}
.dv3 .dv3-proc:hover { border-color: var(--border-strong); }
.dv3 .dv3-proc-head {
  display: flex; align-items: flex-start; gap: 10px;
  padding: 12px 14px; cursor: pointer; user-select: none;
}
.dv3 .dv3-proc-head .dv3-chev { margin-top: 3px; }
.dv3 .dv3-proc-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.dv3 .dv3-proc-l1 { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; min-height: 18px; }
.dv3 .dv3-proc-l2 { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 12px; color: var(--text-2); }
.dv3 .dv3-partes { font-size: 13px; color: var(--text-2); }
.dv3 .dv3-cli {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 13.5px; font-weight: 600; color: var(--text);
  cursor: pointer; text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 3px;
  transition: text-decoration-color var(--dur-fast);
}
.dv3 .dv3-cli svg { color: var(--text-3); width: 13px; height: 13px; }
.dv3 .dv3-cli:hover, .dv3 .dv3-cli:focus-visible { text-decoration-color: currentColor; outline: none; }
.dv3 .dv3-ctx { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; font-size: 11.5px; color: var(--text-2); font-variant-numeric: tabular-nums; margin-top: 1px; }
.dv3 .dv3-ctx i { color: var(--text-3); font-style: normal; }
.dv3 .dv3-ctx .urg { color: oklch(0.55 0.17 55); font-weight: 600; }

.dv3 .dv3-stamp {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  min-width: 64px; padding: 5px 8px; border-radius: var(--radius-sm);
  border: 1px solid var(--border); background: var(--bg-soft); color: var(--text-2);
  font-variant-numeric: tabular-nums; flex-shrink: 0;
}
.dv3 .dv3-stamp b { font-family: 'JetBrains Mono', monospace; font-size: 13px; font-weight: 600; letter-spacing: -.01em; }
.dv3 .dv3-stamp span { font-size: 9.5px; text-transform: uppercase; letter-spacing: .04em; white-space: nowrap; }
.dv3 .dv3-stamp.proximo { background: var(--accent-soft); border-color: oklch(0.78 0.14 75 / .5); color: oklch(0.45 0.15 65); }
.dv3 .dv3-stamp.hoje { background: var(--orange-soft); border-color: oklch(0.70 0.18 50 / .5); color: oklch(0.48 0.17 50); }
.dv3 .dv3-stamp.vencido { background: var(--danger-soft); border-color: oklch(0.64 0.20 25 / .45); color: oklch(0.45 0.18 25); }

/* Publicação */
.dv3 .dv3-proc-body { border-top: 1px solid var(--border); }
.dv3 .dv3-item {
  display: flex; align-items: flex-start; gap: 12px;
  padding: 11px 14px 11px 42px;
  border-bottom: 1px solid var(--border);
  cursor: pointer; position: relative;
  transition: background var(--dur-fast);
}
.dv3 .dv3-item:last-child { border-bottom: 0; }
.dv3 .dv3-item:hover { background: var(--bg-soft); }
.dv3 .dv3-item:focus-visible { outline: 2px solid var(--info); outline-offset: -2px; }
.dv3 .dv3-item.tratada { opacity: .72; }
.dv3 .dv3-item.orfa { padding-left: 14px; cursor: default; border: 1px solid var(--border); border-radius: var(--radius); background: var(--bg-elev); margin-bottom: 8px; }
.dv3 .dv3-item-main { flex: 1; min-width: 0; }
.dv3 .dv3-item-head { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; margin-bottom: 4px; }
.dv3 .dv3-tipo { font-family: 'JetBrains Mono', monospace; font-size: 9.5px; font-weight: 600; padding: 2px 6px; border-radius: 4px; text-transform: uppercase; letter-spacing: .04em; }
.dv3 .dv3-quando { font-size: 11px; color: var(--text-3); font-variant-numeric: tabular-nums; }
.dv3 .dv3-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--info); }
.dv3 .dv3-item-txt { margin: 0; font-size: 13px; line-height: 1.5; color: var(--text); overflow: hidden; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.dv3 .dv3-item.nova .dv3-item-txt { font-weight: 500; }
.dv3 .dv3-item.tratada .dv3-item-txt { color: var(--text-2); }

.dv3 .dv3-chip {
  display: inline-flex; align-items: center;
  font-family: 'JetBrains Mono', monospace; font-size: 10px; font-weight: 600;
  padding: 2px 7px; border-radius: 5px; white-space: nowrap; letter-spacing: .01em;
  color: var(--text-2); background: var(--bg-soft); border: 1px solid var(--border);
  /* 260px cortava o aviso de divergência bem na segunda data ("· contage"),
     que é justamente a informação que o advogado precisa conferir. */
  max-width: 420px; overflow: hidden; text-overflow: ellipsis;
}
.dv3 .dv3-chip.prazo.hoje { color: oklch(0.45 0.15 55); background: var(--orange-soft); border-color: oklch(0.70 0.18 50 / .4); }
.dv3 .dv3-chip.prazo.vencido { color: oklch(0.45 0.18 25); background: var(--danger-soft); border-color: oklch(0.64 0.20 25 / .35); }
.dv3 .dv3-chip.rastro, .dv3 .dv3-chip.feito { color: oklch(0.40 0.12 160); background: var(--positive-soft); border-color: oklch(0.72 0.14 155 / .35); }
.dv3 .dv3-chip.feito { display: inline-flex; gap: 4px; }
.dv3 .dv3-chip.feito svg { width: 11px; height: 11px; }

/* Sugestão da IA dentro da publicação */
.dv3 .dv3-sug {
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
  margin-top: 8px; padding: 7px 9px 7px 8px;
  border-radius: var(--radius-sm);
  background: var(--info-soft); border: 1px solid oklch(0.64 0.13 245 / .25);
  cursor: default;
}
.dv3 .dv3-sug.hoje { background: var(--orange-soft); border-color: oklch(0.70 0.18 50 / .4); }
.dv3 .dv3-sug.vencido { background: var(--danger-soft); border-color: oklch(0.64 0.20 25 / .35); }
.dv3 .dv3-sug-tag { display: inline-flex; align-items: center; gap: 3px; font-family: 'JetBrains Mono', monospace; font-size: 10px; font-weight: 600; letter-spacing: .06em; color: oklch(0.45 0.13 245); }
.dv3 .dv3-sug.hoje .dv3-sug-tag { color: oklch(0.48 0.17 50); }
.dv3 .dv3-sug.vencido .dv3-sug-tag { color: oklch(0.45 0.18 25); }
.dv3 .dv3-sug-tag svg { width: 11px; height: 11px; }
.dv3 .dv3-sug-txt { flex: 1; min-width: 160px; font-size: 12.5px; font-weight: 500; color: var(--text); }
.dv3 .dv3-sug-acts { display: inline-flex; gap: 4px; margin-left: auto; }
.dv3 .dv3-sbtn {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 4px 9px; border-radius: 6px; font-size: 11.5px; font-weight: 500;
  color: var(--text-2); background: var(--bg-elev); border: 1px solid var(--border);
  transition: all var(--dur-fast);
}
.dv3 .dv3-sbtn:hover { color: var(--text); border-color: var(--border-strong); }
.dv3 .dv3-sbtn.primary { background: var(--text); color: var(--bg-elev); border-color: var(--text); }
.dv3 .dv3-sbtn.primary:hover { background: #26272B; }
.dv3 .dv3-sbtn.ghost { padding: 4px 6px; }
.dv3 .dv3-sbtn svg { width: 12px; height: 12px; }

/* Ações da publicação */
.dv3 .dv3-item-acts { display: flex; gap: 4px; flex-shrink: 0; align-items: center; opacity: 0; transition: opacity var(--dur-fast); }
.dv3 .dv3-item:hover .dv3-item-acts, .dv3 .dv3-item:focus-within .dv3-item-acts { opacity: 1; }
.dv3 .dv3-act {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 5px 9px; border-radius: 7px; font-size: 11.5px; font-weight: 500;
  color: var(--text-2); background: var(--bg-elev); border: 1px solid var(--border);
  white-space: nowrap; transition: all var(--dur-fast);
}
.dv3 .dv3-act:hover { color: var(--text); border-color: var(--border-strong); transform: translateY(-1px); }
.dv3 .dv3-act.primary { color: oklch(0.42 0.13 245); background: var(--info-soft); border-color: oklch(0.64 0.13 245 / .35); }
.dv3 .dv3-act.ok:hover { color: oklch(0.40 0.12 160); background: var(--positive-soft); border-color: oklch(0.72 0.14 155 / .4); }
.dv3 .dv3-act.ghost { padding: 5px 7px; }
.dv3 .dv3-act.off { opacity: .45; }
.dv3 .dv3-act svg { width: 13px; height: 13px; }

/* Estados */
.dv3 .dv3-empty { text-align: center; padding: 56px 20px; border: 1px dashed var(--border); border-radius: var(--radius); background: var(--bg-elev); }
.dv3 .dv3-empty-t { font-family: 'Inter Tight', 'Inter', sans-serif; font-size: 16px; font-weight: 600; letter-spacing: -.01em; }
.dv3 .dv3-empty-s { font-size: 12.5px; color: var(--text-2); margin-top: 4px; }
.dv3 .dv3-empty .dv3-btn { margin-top: 14px; }
.dv3 .dv3-skel { display: flex; flex-direction: column; gap: 8px; padding-top: 4px; }
.dv3 .dv3-skel > div { height: 74px; border-radius: var(--radius); background: var(--bg-soft); border: 1px solid var(--border); animation: dv3-skel 1.4s ease-in-out infinite; }
.dv3 .dv3-more { text-align: center; padding: 14px 0 4px; }
.dv3 .dv3-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  padding: 8px 16px; border-radius: 999px; font-size: 12.5px; font-weight: 500;
  color: var(--text-2); background: var(--bg-elev); border: 1px solid var(--border);
  transition: all var(--dur-fast);
}
.dv3 .dv3-btn:hover { color: var(--text); border-color: var(--border-strong); }
.dv3 .dv3-btn.primary { background: var(--text); color: var(--bg-elev); border-color: var(--text); }
.dv3 .dv3-btn.primary:hover { background: #26272B; }
.dv3 .dv3-btn.block { width: 100%; margin-top: 14px; padding: 10px 16px; }

/* Passos (sem OAB) */
.dv3 .dv3-steps { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; max-width: 760px; margin: 6px auto 0; }
.dv3 .dv3-step { display: flex; gap: 12px; padding: 16px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--bg-elev); }
.dv3 .dv3-step-n { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; font-family: 'JetBrains Mono', monospace; font-size: 11.5px; font-weight: 600; background: var(--bg-soft); color: var(--text-2); flex-shrink: 0; }
.dv3 .dv3-step b { font-size: 13.5px; }
.dv3 .dv3-step p { margin: 3px 0 0; font-size: 12.5px; color: var(--text-2); }

/* Modais */
.dv3 .dv3-modal-back { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(10,11,13,.55); backdrop-filter: blur(3px); }
.dv3 .dv3-modal { width: 100%; max-width: 560px; max-height: 90vh; overflow: auto; background: var(--bg-elev); border: 1px solid var(--border); border-radius: var(--radius-lg); box-shadow: 0 32px 80px rgba(0,0,0,.2); }
.dv3 .dv3-modal-head { display: flex; align-items: center; justify-content: space-between; padding: 18px 22px 14px; border-bottom: 1px solid var(--border); position: sticky; top: 0; background: var(--bg-elev); z-index: 1; }
.dv3 .dv3-modal-head h3 { margin: 0; font-family: 'Inter Tight', 'Inter', sans-serif; font-size: 17px; font-weight: 600; letter-spacing: -.015em; }
.dv3 .dv3-close { width: 30px; height: 30px; border-radius: 8px; display: grid; place-items: center; color: var(--text-3); border: 1px solid var(--border); }
.dv3 .dv3-close:hover { color: var(--text); border-color: var(--border-strong); }
.dv3 .dv3-modal-body { padding: 18px 22px 22px; }
.dv3 .dv3-help { margin: 0 0 14px; font-size: 12.5px; color: var(--text-2); }
.dv3 .dv3-help.small { font-size: 11px; color: var(--text-3); margin: 8px 0 0; }
.dv3 .dv3-lbl { display: block; font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); margin: 0 0 6px; }
.dv3 .dv3-input { width: 100%; padding: 9px 12px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--bg-elev); color: var(--text); font-size: 13px; margin-bottom: 12px; outline: none; transition: border-color var(--dur-fast), box-shadow var(--dur-fast); }
.dv3 .dv3-input:focus { border-color: var(--text); box-shadow: 0 0 0 3px rgba(0,0,0,.05); }
.dv3 select.dv3-input { padding: 6px 8px; }
.dv3 .dv3-row2 { display: grid; grid-template-columns: 1fr 100px; gap: 10px; }
.dv3 .dv3-err { margin: 6px 0 0; font-size: 12.5px; color: var(--danger); }
/* corpo do config ainda vem do dje.js (Tailwind) — só suaviza a moldura */
.dv3 #dje-config-corpo { font-size: 13px; }

/* ===== MOBILE ===== */
@media (max-width: 900px) {
  .dv3 .dv3-kpis { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 640px) {
  .dv3 { margin: -12px -12px 0; }
  .dv3 .dv3-hero { padding: 18px 16px 16px; }
  .dv3 .dv3-h1 { font-size: 21px; }
  .dv3 .dv3-hero-head { flex-direction: column; }
  .dv3 .dv3-btn-dark .lbl { display: none; }
  .dv3 .dv3-btn-dark { padding: 8px 10px; }
  .dv3 .dv3-kpis { grid-template-columns: repeat(2, 1fr); }
  .dv3 .dv3-kpi-val { font-size: 20px; }
  .dv3 .dv3-body { padding: 12px 12px 40px; }
  .dv3 .dv3-toolbar { position: static; }
  .dv3 .dv3-search { max-width: none; flex-basis: 100%; }
  .dv3 .dv3-ordem { margin-left: 0; }
  .dv3 .dv3-proc-head { padding: 11px 12px; }
  .dv3 .dv3-stamp { min-width: 54px; }
  .dv3 .dv3-item { flex-direction: column; gap: 8px; padding: 11px 12px 11px 12px; }
  .dv3 .dv3-item-acts { opacity: 1; flex-wrap: wrap; }
  .dv3 .dv3-act span { display: none; }
  .dv3 .dv3-act.primary span { display: inline; }
  .dv3 .dv3-sug-acts { margin-left: 0; width: 100%; }
  .dv3 .dv3-steps { grid-template-columns: 1fr; }
  .dv3 .dv3-row2 { grid-template-columns: 1fr 80px; }
}

/* Vagas do plano · processo trancado */
.dv3 .dv3-vagas { display: inline-flex; align-items: center; gap: 10px; margin: 10px 0 0 10px; padding: 5px 10px; border-radius: 999px; font-size: 11.5px; color: var(--hero-text-2); border: 1px solid var(--hero-border-2); background: rgba(255,255,255,.04); }
.dv3 .dv3-vagas b { font-family: 'JetBrains Mono', monospace; color: var(--hero-text); font-variant-numeric: tabular-nums; }
.dv3 .dv3-vagas i { display: inline-block; width: 90px; height: 5px; border-radius: 3px; background: rgba(255,255,255,.12); overflow: hidden; }
.dv3 .dv3-vagas i em { display: block; height: 100%; background: var(--positive); }
.dv3 .dv3-vagas.quase i em { background: var(--accent); }
.dv3 .dv3-vagas.cheio i em { background: oklch(0.72 0.19 25); }
.dv3 .dv3-vagas a { color: oklch(0.85 0.12 50); text-decoration: underline; text-underline-offset: 2px; }
.dv3 .dv3-proc.trancado { border-style: dashed; }
.dv3 .dv3-proc.trancado .dv3-proc-head { opacity: .85; }
.dv3 .dv3-proc-aviso { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; padding: 9px 14px; font-size: 12px; color: var(--text-2); background: var(--bg-soft); border-top: 1px solid var(--border); }
.dv3 .dv3-proc-aviso.fora_do_plano { background: var(--accent-soft); }
.dv3 .dv3-proc-aviso b { color: var(--text); }
.dv3 .dv3-proc-aviso-acts { display: inline-flex; gap: 6px; }
.dv3 .dv3-proc-aviso-acts a.dv3-sbtn { text-decoration: none; }
.dv3 .dv3-item.bloqueada { cursor: default; background: repeating-linear-gradient(135deg, transparent 0 8px, rgba(0,0,0,.015) 8px 16px); }
.dv3 .dv3-item.bloqueada .dv3-item-acts { opacity: 1; }
.dv3 .dv3-item-acts a.dv3-act { text-decoration: none; }
.dv3 .dv3-proc-head .dv3-act.ghost { opacity: 0; }
.dv3 .dv3-proc:hover .dv3-proc-head .dv3-act.ghost { opacity: 1; }

/* Botão "Coletar agora" enquanto o pedido está na fila/rodando */
.dv3-btn-dark.dv3-spin svg { animation: dv3-spin 1s linear infinite; }
.dv3-btn-dark:disabled { opacity: .7; cursor: progress; }

/* alcance do histórico na faixa de saúde — informativo, com a explicação no title */
.dv3 .dv3-alcance { cursor: help; border-bottom: 1px dotted var(--border-strong, #D6D3D1); }

/* "3× o mesmo ato": a publicação chegou repetida (uma por parte ou por formato)
   e foi agrupada numa linha só. Discreto — é informação, não alerta. */
.dv3 .dv3-copias { cursor: help; color: var(--text-3); border-style: dashed; }

/* ── "Conferir": a publicação que a IA não resolveu sozinha ─────────────────
   Precisa saltar aos olhos sem gritar — é um pedido de atenção, não um erro
   do usuário. Mesma família visual do prazo vencido (âmbar/vermelho suave),
   porque o risco é o mesmo: alguém tem de olhar antes que o prazo corra. */
.dv3 .dv3-seg--conferir {
  padding: 5px 12px; border-radius: 999px; font-size: 12.5px; font-weight: 600;
  color: oklch(0.45 0.18 25); background: var(--danger-soft);
  border: 1px solid oklch(0.64 0.20 25 / .35);
  transition: background var(--dur-fast), color var(--dur-fast);
}
.dv3 .dv3-seg--conferir b { font-weight: 700; margin-left: 2px; }
.dv3 .dv3-seg--conferir:hover { background: oklch(0.64 0.20 25 / .18); }
.dv3 .dv3-seg--conferir.on { background: oklch(0.55 0.20 25); color: #fff; border-color: transparent; }

.dv3 .dv3-chip.conferir {
  color: oklch(0.45 0.18 25); background: var(--danger-soft);
  border-color: oklch(0.64 0.20 25 / .35); font-weight: 600;
}

/* ==== /css/guardiao-prazos.css ==== */
/* Guardião de prazos — faixa fixa em todas as abas + modal de entrada */
.guardiao-faixa {
  position: sticky;
  top: 0;
  z-index: 40;
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 13px;
  border-bottom: 1px solid transparent;
  box-shadow: 0 4px 14px rgba(0, 0, 0, .06);
}
@media (min-width: 1024px) { .guardiao-faixa { top: 0; } }
.guardiao-faixa.critico { background: oklch(0.62 0.21 25); color: #fff; border-color: oklch(0.5 0.2 25); }
.guardiao-faixa.alerta  { background: oklch(0.78 0.14 75); color: #1A1410; border-color: oklch(0.68 0.14 75); }
.guardiao-faixa.aviso   { background: #F4F4F2; color: #0A0B0D; border-color: #E7E5E4; }
.guardiao-faixa.recolhida .guardiao-faixa-in { padding: 4px 16px; font-size: 12px; }
.guardiao-faixa.recolhida .guardiao-txt { opacity: .8; }
.guardiao-faixa-in { display: flex; align-items: center; gap: 10px; padding: 9px 16px; max-width: 1400px; }
.guardiao-ico {
  width: 20px; height: 20px; border-radius: 50%; flex-shrink: 0;
  display: grid; place-items: center; font-weight: 700; font-size: 12px;
  background: rgba(255, 255, 255, .25);
}
.guardiao-faixa.aviso .guardiao-ico, .guardiao-faixa.alerta .guardiao-ico { background: rgba(0, 0, 0, .12); }
.guardiao-txt { flex: 1; min-width: 0; line-height: 1.35; }
.guardiao-txt b { font-weight: 700; }
.guardiao-btn {
  font: inherit; font-size: 12px; font-weight: 600; cursor: pointer;
  padding: 5px 11px; border-radius: 999px; border: 1px solid currentColor; background: transparent; color: inherit;
  white-space: nowrap;
}
.guardiao-btn:hover { background: rgba(255, 255, 255, .18); }
.guardiao-faixa.aviso .guardiao-btn:hover, .guardiao-faixa.alerta .guardiao-btn:hover { background: rgba(0, 0, 0, .08); }
.guardiao-btn.ghost { opacity: .75; border-color: transparent; }
.guardiao-btn.primary { background: #0A0B0D; color: #fff; border-color: #0A0B0D; }
.guardiao-btn.primary:hover { background: #26272B; }

.guardiao-painel { background: #fff; color: #0A0B0D; border-top: 1px solid rgba(0, 0, 0, .08); padding: 8px 12px 10px; max-height: 60vh; overflow: auto; }
.guardiao-item {
  display: flex; align-items: center; gap: 10px; width: 100%; text-align: left;
  padding: 8px 10px; border: 0; border-radius: 8px; background: none; cursor: pointer; font: inherit; color: inherit;
}
.guardiao-item:hover { background: #F4F4F2; }
.guardiao-item-ico {
  width: 26px; height: 22px; border-radius: 6px; flex-shrink: 0; display: grid; place-items: center;
  font-family: 'JetBrains Mono', monospace; font-size: 10px; font-weight: 700;
  background: #F4F4F2; color: #57534E;
}
.guardiao-item.critico .guardiao-item-ico { background: oklch(0.62 0.21 25 / .12); color: oklch(0.45 0.2 25); }
.guardiao-item.alerta .guardiao-item-ico { background: oklch(0.78 0.14 75 / .2); color: oklch(0.45 0.15 65); }
.guardiao-item-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.guardiao-item-main b { font-weight: 600; font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.guardiao-item-main small { font-size: 11.5px; color: #57534E; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.guardiao-item-quando { font-family: 'JetBrains Mono', monospace; font-size: 11px; color: #57534E; white-space: nowrap; }
.guardiao-item.critico .guardiao-item-quando { color: oklch(0.45 0.2 25); font-weight: 600; }
.guardiao-nota { margin: 8px 10px 0; font-size: 11px; color: #A8A29E; }

.guardiao-modal-back {
  position: fixed; inset: 0; z-index: 1200; display: flex; align-items: center; justify-content: center;
  padding: 16px; background: rgba(10, 11, 13, .6); backdrop-filter: blur(3px);
}
.guardiao-modal {
  width: 100%; max-width: 560px; max-height: 85vh; overflow: auto;
  background: #fff; color: #0A0B0D; border-radius: 18px; padding: 22px 22px 18px;
  box-shadow: 0 32px 80px rgba(0, 0, 0, .3); font-family: 'Inter', system-ui, sans-serif;
}
.guardiao-modal-eyebrow { margin: 0; font-family: 'JetBrains Mono', monospace; font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: oklch(0.45 0.2 25); }
.guardiao-modal h2 { margin: 6px 0 12px; font-family: 'Inter Tight', 'Inter', sans-serif; font-size: 22px; font-weight: 600; letter-spacing: -.02em; }
.guardiao-modal .guardiao-painel { border: 1px solid #E7E5E4; border-radius: 12px; padding: 6px; }
.guardiao-modal-acts { display: flex; justify-content: flex-end; gap: 8px; margin-top: 16px; }
.guardiao-modal .guardiao-btn { color: #0A0B0D; border-color: #D6D3D1; }
.guardiao-modal .guardiao-btn.primary { color: #fff; border-color: #0A0B0D; }

@media (max-width: 640px) {
  .guardiao-faixa-in { padding: 8px 12px; flex-wrap: wrap; }
  .guardiao-txt { flex-basis: 100%; }
}

/* 12/09/2026: faixa removida a pedido do Leonardo — o guardião segue no título da aba e no modal de entrada */
.guardiao-faixa { display: none !important; }

/* "INSS" tem 4 letras e não cabe no quadrado de 26px dos outros ícones. */
.guardiao-item-ico { letter-spacing: -.02em; }
.guardiao-item[data-tipo="inss"] .guardiao-item-ico { width: 34px; font-size: 8.5px; }

/* ==== /css/acordos-v3.css ==== */
/* =============================================================
   Acordly — Aba "Acordos & Contratos" v3
   Design tokens + estilos isolados sob `.av3` para evitar
   colisão com Tailwind/CSS legado.
   ============================================================= */

.av3 {
  --av3-bg: #FAFAF9;
  --av3-bg-elev: #FFFFFF;
  --av3-bg-soft: #F4F4F2;
  --av3-border: #E7E5E4;
  --av3-border-strong: #D6D3D1;
  --av3-text: #0A0B0D;
  --av3-text-2: #57534E;
  --av3-text-3: #A8A29E;

  --av3-hero-bg: #0A0B0D;
  --av3-hero-border: #1F2024;
  --av3-hero-border-2: #2A2B30;
  --av3-hero-text: #FAFAF9;
  --av3-hero-text-2: #A8A29E;
  --av3-hero-text-3: #6B6965;

  --av3-positive: oklch(0.72 0.14 155);
  --av3-accent: oklch(0.78 0.14 75);
  --av3-accent-strong: oklch(0.55 0.18 65);
  --av3-danger: oklch(0.64 0.20 25);
  --av3-info: oklch(0.64 0.13 245);
  --av3-orange: oklch(0.70 0.18 50);

  --av3-radius: 12px;
  --av3-radius-sm: 8px;
  --av3-radius-xs: 6px;
  --av3-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --av3-dur: 200ms;
  --av3-dur-fast: 120ms;

  font-family: 'Inter', system-ui, sans-serif;
  font-size: 13.5px;
  line-height: 1.45;
  color: var(--av3-text);
  background: var(--av3-bg);
  margin: -16px -16px 0;
  min-height: calc(100vh - 60px);
}

.av3 *, .av3 *::before, .av3 *::after { box-sizing: border-box; }
.av3 button { font: inherit; cursor: pointer; border: 0; background: none; color: inherit; padding: 0; }
.av3 input, .av3 select, .av3 textarea { font: inherit; }
.av3 .mono { font-family: 'JetBrains Mono', ui-monospace, monospace; font-feature-settings: "tnum"; }

@keyframes av3-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes av3-slideR { from { transform: translateX(100%); } to { transform: none; } }
@keyframes av3-pulse {
  0% { box-shadow: 0 0 0 0 oklch(0.72 0.14 155 / 0.5); }
  70% { box-shadow: 0 0 0 6px oklch(0.72 0.14 155 / 0); }
  100% { box-shadow: 0 0 0 0 oklch(0.72 0.14 155 / 0); }
}

/* ===== HERO ===== */
.av3 .av3-hero {
  background: var(--av3-hero-bg);
  color: var(--av3-hero-text);
  padding: 22px 28px;
  border-bottom: 1px solid var(--av3-hero-border);
  position: relative;
  overflow: hidden;
}
.av3 .av3-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(700px 280px at 80% -10%, oklch(0.78 0.14 75 / 0.06), transparent 60%);
  pointer-events: none;
}
.av3 .av3-hero > * { position: relative; }
.av3 .av3-hero-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 18px;
}
.av3 .av3-eyebrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  font-weight: 500;
  color: var(--av3-hero-text-3);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  display: flex;
  align-items: center;
  gap: 7px;
}
.av3 .av3-eyebrow .av3-pulse {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--av3-positive);
  animation: av3-pulse 2.2s infinite;
  flex-shrink: 0;
}
.av3 .av3-h1 {
  font-family: 'Inter Tight', 'Inter', sans-serif;
  font-size: 26px;
  font-weight: 600;
  letter-spacing: -0.025em;
  color: var(--av3-hero-text);
  margin-top: 6px;
  line-height: 1.1;
}
.av3 .av3-sub {
  font-size: 13px;
  color: var(--av3-hero-text-2);
  margin-top: 6px;
  line-height: 1.5;
  max-width: 720px;
}
.av3 .av3-hero-actions { display: flex; gap: 8px; flex-shrink: 0; flex-wrap: wrap; }
.av3 .av3-btn-dark {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 12px;
  font-size: 12.5px;
  font-weight: 500;
  background: rgba(255,255,255,.05);
  color: var(--av3-hero-text);
  border: 1px solid var(--av3-hero-border-2);
  border-radius: var(--av3-radius-sm);
  transition: background var(--av3-dur), border-color var(--av3-dur);
}
.av3 .av3-btn-dark:hover { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.25); }
.av3 .av3-btn-dark.primary {
  background: var(--av3-accent);
  color: #0A0B0D;
  border-color: var(--av3-accent);
}
.av3 .av3-btn-dark.primary:hover { background: oklch(0.85 0.14 75); }
.av3 .av3-btn-dark svg { width: 14px; height: 14px; }

.av3 .av3-kpis {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--av3-hero-border);
  border: 1px solid var(--av3-hero-border);
  border-radius: 12px;
  overflow: hidden;
}
/* Hero hierárquico: 1 KPI principal grande + 3 secundários menores */
.av3 .av3-kpis-hierarchy {
  display: grid;
  grid-template-columns: 1.4fr 2.6fr;
  gap: 1px;
}
.av3 .av3-kpis-hierarchy .av3-kpi-primary {
  background: var(--av3-hero-bg);
  padding: 22px 22px 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  justify-content: center;
}
.av3 .av3-kpis-hierarchy .av3-kpi-primary .av3-kpi-val {
  /* Encolhe sozinho: agora exibe o valor por extenso (R$ 487.300), que é
     bem mais largo que o "R$ 487 mil" de antes. */
  font-size: clamp(26px, 2.6vw, 38px);
  letter-spacing: -0.03em;
  line-height: 1;
}
.av3 .av3-kpis-hierarchy .av3-kpi-primary .av3-kpi-lbl {
  font-size: 10.5px;
  letter-spacing: 0.12em;
}
.av3 .av3-kpis-hierarchy .av3-kpi-primary .av3-kpi-foot {
  font-size: 12px;
}
.av3 .av3-kpis-hierarchy .av3-kpi-primary .av3-kpi-bar {
  height: 4px;
  margin-top: 4px;
}
.av3 .av3-kpis-secondary {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--av3-hero-border);
}
.av3 .av3-kpis-secondary .av3-kpi {
  background: var(--av3-hero-bg);
}
@media (max-width: 1100px) {
  .av3 .av3-kpis-hierarchy { grid-template-columns: 1fr; }
  .av3 .av3-kpis-secondary { grid-template-columns: repeat(3, 1fr); }
  .av3 .av3-kpis-hierarchy .av3-kpi-primary .av3-kpi-val { font-size: 32px; }
}
@media (max-width: 768px) {
  .av3 .av3-kpis-secondary { grid-template-columns: 1fr; }
}
.av3 .av3-kpi {
  background: var(--av3-hero-bg);
  padding: 14px 16px 12px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
  transition: background var(--av3-dur);
}
.av3 .av3-kpi:hover { background: #0F1013; }
.av3 .av3-kpi-lbl {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 500;
  color: var(--av3-hero-text-3);
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.av3 .av3-kpi-val {
  font-family: 'Inter Tight', sans-serif;
  font-size: clamp(19px, 1.9vw, 26px);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1;
  color: var(--av3-hero-text);
  font-variant-numeric: tabular-nums;
}
.av3 .av3-kpi-val.danger { color: #FF8A80; }
.av3 .av3-kpi-val.positive { color: #7EE7B0; }
.av3 .av3-kpi-val.accent { color: oklch(0.85 0.14 75); }
.av3 .av3-kpi-foot {
  font-size: 11px;
  color: var(--av3-hero-text-2);
  font-variant-numeric: tabular-nums;
}
.av3 .av3-kpi-bar {
  height: 3px;
  background: var(--av3-hero-border-2);
  border-radius: 2px;
  overflow: hidden;
  margin-top: 3px;
}
.av3 .av3-kpi-bar > div {
  height: 100%;
  border-radius: 2px;
  transition: width 0.8s var(--av3-ease);
}

/* ===== SUB-ABAS ===== */
.av3 .av3-subabas {
  background: var(--av3-bg);
  border-bottom: 1px solid var(--av3-border);
  padding: 0 28px;
  display: flex;
  align-items: flex-end;
  gap: 0;
}
.av3 .av3-subaba {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 13px 16px 14px;
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  font-family: inherit;
  font-size: 13.5px;
  font-weight: 500;
  color: var(--av3-text-2);
  margin-bottom: -1px;
  transition: color var(--av3-dur-fast), border-color var(--av3-dur-fast);
}
.av3 .av3-subaba:hover { color: var(--av3-text); }
.av3 .av3-subaba.on { color: var(--av3-text); border-bottom-color: var(--av3-text); font-weight: 600; }
.av3 .av3-subaba-count {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  padding: 1px 7px;
  background: var(--av3-bg-soft);
  border-radius: 6px;
  color: var(--av3-text-3);
}
.av3 .av3-subaba.on .av3-subaba-count { background: var(--av3-text); color: #fff; }

/* ===== TOOLBAR ===== */
.av3 .av3-toolbar {
  display: flex;
  /* wrap (não nowrap): a cauda com o segmented tem flex-shrink:0 e saía da tela
     em qualquer viewport menor que ~1550px, cortada sem scroll nem aviso. */
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 12px 28px;
  background: var(--av3-bg);
  border-bottom: 1px solid var(--av3-border);
  min-width: 0;
}
.av3 .av3-search {
  flex: 0 1 240px;
  min-width: 160px;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  background: var(--av3-bg-elev);
  border: 1px solid var(--av3-border);
  border-radius: var(--av3-radius-sm);
  color: var(--av3-text-3);
  flex-shrink: 1;
}
.av3 .av3-search svg { width: 13px; height: 13px; flex-shrink: 0; }
.av3 .av3-search input {
  flex: 1;
  background: none;
  border: 0;
  outline: 0;
  font: inherit;
  font-size: 12.5px;
  color: var(--av3-text);
  min-width: 0;
}
.av3 .av3-search input::placeholder { color: var(--av3-text-3); }
.av3 .av3-fchip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 5px 9px;
  border-radius: 6px;
  font-size: 11.5px;
  font-weight: 500;
  border: 1px solid var(--av3-border);
  background: var(--av3-bg-elev);
  color: var(--av3-text-2);
  cursor: pointer;
  transition: all var(--av3-dur-fast);
  white-space: nowrap;
  flex-shrink: 0;
}
.av3 .av3-fchip:hover { border-color: var(--av3-text-2); color: var(--av3-text); }
.av3 .av3-fchip.on { background: var(--av3-text); color: white; border-color: var(--av3-text); }
.av3 .av3-fchip-count {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 600;
  color: var(--av3-text-3);
}
.av3 .av3-fchip.on .av3-fchip-count { color: rgba(255,255,255,.6); }
.av3 .av3-toolbar-tail {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
  flex-shrink: 0;
}
.av3 .av3-toolbar-count {
  font-size: 11px;
  color: var(--av3-text-3);
  font-weight: 500;
  white-space: nowrap;
}
.av3 .av3-seg {
  display: inline-flex;
  background: var(--av3-bg-elev);
  border: 1px solid var(--av3-border);
  border-radius: 8px;
  padding: 2px;
  flex-shrink: 0;
}
.av3 .av3-seg button {
  padding: 5px 10px;
  color: var(--av3-text-2);
  border-radius: 6px;
  font-size: 11.5px;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}
.av3 .av3-seg button.on { background: var(--av3-text); color: white; }
.av3 .av3-seg svg { width: 12px; height: 12px; }

/* ===== LIST + ROW ===== */
.av3 .av3-list-section { padding: 18px 28px 80px; }
.av3 .av3-list { display: flex; flex-direction: column; gap: 6px; }
.av3 .av3-row {
  display: flex;
  align-items: stretch;
  background: var(--av3-bg-elev);
  border: 1px solid var(--av3-border);
  border-radius: var(--av3-radius);
  overflow: hidden;
  transition: transform var(--av3-dur-fast), box-shadow var(--av3-dur-fast), border-color var(--av3-dur-fast);
}
.av3 .av3-row:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0,0,0,.05);
  border-color: var(--av3-border-strong);
}
.av3 .av3-row-bar { width: 3px; flex-shrink: 0; align-self: stretch; }
.av3 .av3-row-main {
  flex: 1;
  min-width: 0;
  display: grid;
  /* Colunas de valor largas o bastante para o valor exato com centavos
     (R$ 1.234.567,89) — nada de arredondar para "R$ 1,2 mi". */
  grid-template-columns: minmax(200px, 300px) 152px 152px 152px 1fr 180px 110px;
  gap: 14px;
  align-items: center;
  padding: 11px 14px;
  cursor: pointer;
}
/* Spacer flexível entre as 3 colunas de valor e o status */
.av3 .av3-row-main > .av3-col-spacer { display: block; }
.av3 .av3-col-cliente { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.av3 .av3-col-cliente-meta { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.av3 .av3-col-cliente-id {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  color: var(--av3-text-3);
  font-weight: 600;
}
.av3 .av3-col-cliente-nome {
  font-family: 'Inter Tight', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--av3-text);
  letter-spacing: -0.01em;
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: flex;
  align-items: center;
  gap: 7px;
}
.av3 .av3-col-cliente-nome > .av3-tipo-tag { flex-shrink: 0; }
.av3 .av3-row-jur-mark {
  color: var(--av3-text-3);
  font-style: italic;
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 10.5px;
  font-weight: 500;
}
.av3 .av3-col-cliente-cnj {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--av3-text-3);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.av3 .av3-col-val { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.av3 .av3-col-val-lbl {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  font-weight: 600;
  color: var(--av3-text-3);
  text-transform: uppercase;
  letter-spacing: 0.07em;
  margin-bottom: 1px;
}
.av3 .av3-col-val-main {
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  font-weight: 600;
  color: var(--av3-text);
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.005em;
  line-height: 1.2;
}
.av3 .av3-col-val-main .av3-total {
  color: var(--av3-text-3);
  font-weight: 400;
  font-size: 11px;
}
.av3 .av3-col-val-bar {
  height: 3px;
  background: var(--av3-bg-soft);
  border-radius: 2px;
  overflow: hidden;
  margin-top: 3px;
}
.av3 .av3-col-val-bar > div { height: 100%; border-radius: 2px; transition: width 0.6s var(--av3-ease); }
.av3 .av3-col-val-sub {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  color: var(--av3-text-3);
  font-variant-numeric: tabular-nums;
  line-height: 1.3;
}

.av3 .av3-col-status {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  min-width: 0;
}
.av3 .av3-status-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 9px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 500;
  white-space: nowrap;
  border: 1px solid;
}
.av3 .av3-status-pill .dot { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; }
.av3 .av3-status-pos { border-color: oklch(0.72 0.14 155 / .30); background: oklch(0.72 0.14 155 / .08); color: oklch(0.42 0.14 155); }
.av3 .av3-status-warn { border-color: oklch(0.70 0.18 50 / .35); background: oklch(0.70 0.18 50 / .10); color: oklch(0.45 0.16 50); }
.av3 .av3-status-danger { border-color: oklch(0.64 0.20 25 / .30); background: oklch(0.64 0.20 25 / .08); color: var(--av3-danger); }
.av3 .av3-status-info { border-color: oklch(0.64 0.13 245 / .30); background: oklch(0.64 0.13 245 / .08); color: var(--av3-info); }
.av3 .av3-status-mute { border-color: var(--av3-border); background: var(--av3-bg-soft); color: var(--av3-text-2); }

.av3 .av3-tipo-tag {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9.5px;
  font-weight: 700;
  padding: 1px 6px;
  border-radius: 6px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border: 1px solid;
  white-space: nowrap;
}
.av3 .av3-tipo-acordo { color: oklch(0.42 0.10 75); background: oklch(0.97 0.04 75); border-color: oklch(0.78 0.14 75 / .35); }
.av3 .av3-tipo-hon { color: oklch(0.42 0.13 245); background: oklch(0.97 0.03 245); border-color: oklch(0.64 0.13 245 / .30); }
.av3 .av3-tipo-rec { color: oklch(0.40 0.14 155); background: oklch(0.96 0.04 155); border-color: oklch(0.72 0.14 155 / .35); }
.av3 .av3-tipo-exec { color: oklch(0.42 0.14 300); background: oklch(0.96 0.03 300); border-color: oklch(0.65 0.14 300 / .35); }
.av3 .av3-tipo-jud { color: var(--av3-info); background: oklch(0.97 0.03 245); border-color: oklch(0.64 0.13 245 / .30); }
.av3 .av3-tipo-extra { color: var(--av3-text-2); background: var(--av3-bg-soft); border-color: var(--av3-border); }

.av3 .av3-col-acoes { display: flex; align-items: center; justify-content: flex-end; gap: 2px; }
.av3 .av3-acao-btn {
  padding: 6px;
  border-radius: 6px;
  color: var(--av3-text-3);
  transition: all var(--av3-dur-fast);
  display: grid;
  place-items: center;
}
.av3 .av3-acao-btn:hover { background: var(--av3-bg-soft); color: var(--av3-text); }
.av3 .av3-acao-btn.av3-acao-pay:hover { background: oklch(0.72 0.14 155 / .10); color: oklch(0.42 0.14 155); }
.av3 .av3-acao-btn.av3-acao-del:hover { background: oklch(0.64 0.20 25 / .10); color: var(--av3-danger); }
.av3 .av3-acao-btn svg { width: 14px; height: 14px; }

/* ===== EMPTY ===== */
.av3 .av3-empty {
  text-align: center;
  padding: 48px 24px;
  color: var(--av3-text-3);
  font-size: 13px;
}

/* ===== CARDS VIEW ===== */
.av3 .av3-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 12px;
}
.av3 .av3-acard {
  background: var(--av3-bg-elev);
  border: 1px solid var(--av3-border);
  border-radius: var(--av3-radius);
  padding: 0;
  cursor: pointer;
  transition: transform var(--av3-dur-fast), box-shadow var(--av3-dur-fast);
  overflow: hidden;
  display: flex;
}
.av3 .av3-acard:hover { transform: translateY(-2px); box-shadow: 0 8px 22px rgba(0,0,0,.06); }
.av3 .av3-acard-bar { width: 3px; flex-shrink: 0; }
.av3 .av3-acard-body {
  flex: 1;
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
}
.av3 .av3-acard-head { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.av3 .av3-acard-cliente {
  font-family: 'Inter Tight', sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: var(--av3-text);
  letter-spacing: -0.012em;
  line-height: 1.25;
}
.av3 .av3-acard-cnj { font-family: 'JetBrains Mono', monospace; font-size: 10.5px; color: var(--av3-text-3); }
.av3 .av3-acard-vals {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 8px;
  padding-top: 10px;
  border-top: 1px solid var(--av3-border);
}
.av3 .av3-acard-acoes {
  display: flex;
  gap: 2px;
  padding-top: 8px;
  margin-top: auto;
  border-top: 1px solid var(--av3-border);
  justify-content: flex-end;
}

/* ===== BULK SELECT ===== */
.av3 .av3-bulk-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 28px 12px;
  padding: 10px 16px;
  background: var(--av3-text);
  color: #FFFFFF;
  border-radius: var(--av3-radius);
  font-size: 13px;
  animation: av3-fade 150ms var(--av3-ease);
}
.av3 .av3-bulk-banner-info {
  display: flex;
  align-items: center;
  gap: 12px;
  font-weight: 500;
}
.av3 .av3-bulk-banner-count {
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  font-weight: 700;
  background: rgba(255,255,255,.12);
  padding: 3px 10px;
  border-radius: 6px;
}
.av3 .av3-bulk-banner-actions {
  display: flex;
  gap: 6px;
  align-items: center;
}
.av3 .av3-bulk-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 12px;
  font-size: 12px;
  font-weight: 500;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.2);
  color: #FFFFFF;
  border-radius: 6px;
  cursor: pointer;
  transition: all var(--av3-dur-fast);
}
.av3 .av3-bulk-btn:hover { background: rgba(255,255,255,.18); }
.av3 .av3-bulk-btn.danger {
  background: oklch(0.64 0.20 25);
  border-color: oklch(0.64 0.20 25);
  font-weight: 600;
}
.av3 .av3-bulk-btn.danger:hover { background: oklch(0.55 0.20 25); }
.av3 .av3-bulk-btn svg { width: 12px; height: 12px; }

.av3 .av3-bulk-toggle {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 10px;
  font-size: 11.5px;
  font-weight: 500;
  background: var(--av3-bg-elev);
  border: 1px solid var(--av3-border);
  color: var(--av3-text-2);
  border-radius: 8px;
  cursor: pointer;
  transition: all var(--av3-dur-fast);
  white-space: nowrap;
  flex-shrink: 0;
}
.av3 .av3-bulk-toggle:hover { border-color: var(--av3-text-2); color: var(--av3-text); }
.av3 .av3-bulk-toggle.on {
  background: var(--av3-text);
  color: #FFFFFF;
  border-color: var(--av3-text);
}
.av3 .av3-bulk-toggle svg { width: 12px; height: 12px; }

/* Checkbox nas rows e cards */
.av3 .av3-row-check,
.av3 .av3-acard-check {
  width: 16px;
  height: 16px;
  border: 1.5px solid var(--av3-border-strong);
  border-radius: 4px;
  background: #FFFFFF;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  cursor: pointer;
  transition: all var(--av3-dur-fast);
  align-self: center;
  margin: 0 0 0 12px;
}
.av3 .av3-row-check:hover,
.av3 .av3-acard-check:hover {
  border-color: var(--av3-text);
}
.av3 .av3-row-check.checked,
.av3 .av3-acard-check.checked {
  background: var(--av3-text);
  border-color: var(--av3-text);
}
.av3 .av3-row-check svg,
.av3 .av3-acard-check svg {
  width: 12px;
  height: 12px;
  color: #FFFFFF;
  display: none;
}
.av3 .av3-row-check.checked svg,
.av3 .av3-acard-check.checked svg {
  display: block;
}
.av3 .av3-row.selected {
  border-color: var(--av3-text);
  background: oklch(0.95 0 0);
}
.av3 .av3-acard.selected {
  border-color: var(--av3-text);
  box-shadow: 0 0 0 1px var(--av3-text);
}

.av3 .av3-acard-check {
  position: absolute;
  top: 12px;
  left: 12px;
  margin: 0;
  z-index: 2;
  background: #FFFFFF;
}
.av3 .av3-acard {
  position: relative;
}

/* ===== CASHFLOW ===== */
.av3 .av3-cf {
  display: grid;
  grid-template-columns: repeat(6, minmax(220px, 1fr));
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 8px;
}
.av3 .av3-cf-col {
  background: var(--av3-bg-elev);
  border: 1px solid var(--av3-border);
  border-radius: var(--av3-radius);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 280px;
}
.av3 .av3-cf-col.on { border-color: var(--av3-accent); box-shadow: 0 0 0 1px var(--av3-accent); }
.av3 .av3-cf-col.past { background: oklch(0.64 0.20 25 / .025); border-color: oklch(0.64 0.20 25 / .18); }
.av3 .av3-cf-head {
  padding: 10px 12px;
  border-bottom: 1px solid var(--av3-border);
  background: var(--av3-bg-soft);
}
.av3 .av3-cf-col.on .av3-cf-head { background: oklch(0.78 0.14 75 / .10); }
.av3 .av3-cf-col.past .av3-cf-head { background: oklch(0.64 0.20 25 / .05); }
.av3 .av3-cf-mes {
  font-family: 'Inter Tight', sans-serif;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--av3-text);
}
.av3 .av3-cf-total {
  font-family: 'Inter Tight', sans-serif;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--av3-text);
  margin-top: 2px;
  font-variant-numeric: tabular-nums;
}
.av3 .av3-cf-n {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  color: var(--av3-text-3);
}
.av3 .av3-cf-body {
  flex: 1;
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  overflow-y: auto;
  max-height: 380px;
}
.av3 .av3-cf-card {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  padding: 6px 8px;
  background: var(--av3-bg-soft);
  border: 1px solid var(--av3-border);
  border-radius: 6px;
  cursor: pointer;
  transition: all var(--av3-dur-fast);
}
.av3 .av3-cf-card:hover { background: white; border-color: var(--av3-border-strong); }
.av3 .av3-cf-card.venc { background: oklch(0.64 0.20 25 / .06); border-color: oklch(0.64 0.20 25 / .25); }
.av3 .av3-cf-day {
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  background: white;
  border: 1px solid var(--av3-border);
  border-radius: 6px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  font-weight: 700;
  color: var(--av3-text);
  font-variant-numeric: tabular-nums;
  flex-shrink: 0;
}
.av3 .av3-cf-card.venc .av3-cf-day { color: var(--av3-danger); border-color: oklch(0.64 0.20 25 / .40); }
.av3 .av3-cf-info { flex: 1; min-width: 0; }
.av3 .av3-cf-info-c { font-size: 11.5px; font-weight: 500; color: var(--av3-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.av3 .av3-cf-info-m { font-family: 'JetBrains Mono', monospace; font-size: 10px; color: var(--av3-text-3); }
.av3 .av3-cf-val { font-family: 'JetBrains Mono', monospace; font-size: 11.5px; font-weight: 600; color: var(--av3-text); font-variant-numeric: tabular-nums; flex-shrink: 0; }
.av3 .av3-cf-hon {
  flex-basis: 100%;
  margin-top: -2px;
  padding-top: 4px;
  border-top: 1px dashed var(--av3-border);
  font-size: 10px;
  font-weight: 500;
  color: oklch(0.55 0.12 155);
  white-space: nowrap;
}
.av3 .av3-cf-hon .mono { font-family: 'JetBrains Mono', monospace; font-variant-numeric: tabular-nums; font-weight: 600; }
.av3 .av3-cf-empty { padding: 18px 8px; text-align: center; color: var(--av3-text-3); font-size: 11px; font-style: italic; }

/* ===== DRAWER ===== */
.av3-drawer-back {
  position: fixed;
  inset: 0;
  background: rgba(10,11,13,.45);
  backdrop-filter: blur(2px);
  z-index: 9999;
  display: flex;
  justify-content: flex-end;
  animation: av3-fade 0.15s var(--av3-ease, cubic-bezier(0.22,1,0.36,1));
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 13.5px;
  color: #0A0B0D;
}
.av3-drawer-back, .av3-drawer-back * { box-sizing: border-box; }
.av3-drawer-back .mono { font-family: 'JetBrains Mono', monospace; font-feature-settings: "tnum"; }
.av3-drawer-back button { font: inherit; cursor: pointer; border: 0; background: none; color: inherit; padding: 0; }
.av3-drawer {
  width: 920px;
  max-width: 100%;
  height: 100vh;
  background: #FFFFFF;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  animation: av3-slideR 0.25s cubic-bezier(0.22,1,0.36,1);
}
.av3-dh {
  background: #0A0B0D;
  color: #FAFAF9;
  padding: 22px 26px;
  position: relative;
  overflow: hidden;
}
.av3-dh::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(500px 240px at 90% 0%, oklch(0.78 0.14 75 / .08), transparent 60%);
  pointer-events: none;
}
.av3-dh > * { position: relative; }
.av3-dh-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 18px; }
.av3-dh-meta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 8px; }
.av3-dh-title {
  font-family: 'Inter Tight', sans-serif;
  font-size: 24px;
  font-weight: 600;
  letter-spacing: -0.022em;
  color: #FAFAF9;
  line-height: 1.2;
}
.av3-dh-caso { font-size: 13px; color: #A8A29E; margin-top: 4px; }
.av3-dh-close {
  width: 30px;
  height: 30px;
  border-radius: 6px;
  border: 1px solid #2A2B30;
  color: #A8A29E;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.av3-dh-close:hover { background: rgba(255,255,255,.1); color: #FAFAF9; }
.av3-dh-close svg { width: 14px; height: 14px; }
.av3-dh-kpis {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: #1F2024;
  border: 1px solid #1F2024;
  border-radius: 10px;
  overflow: hidden;
}
.av3-dh-kpis .av3-kpi { background: #0A0B0D; padding: 12px 14px; display: flex; flex-direction: column; gap: 5px; }
.av3-dh-kpis .av3-kpi-lbl { font-family: 'JetBrains Mono', monospace; font-size: 10px; font-weight: 500; color: #6B6965; text-transform: uppercase; letter-spacing: 0.1em; }
.av3-dh-kpis .av3-kpi-val { font-family: 'Inter Tight', sans-serif; font-size: 20px; font-weight: 600; letter-spacing: -0.025em; color: #FAFAF9; font-variant-numeric: tabular-nums; line-height: 1; }
.av3-dh-kpis .av3-kpi-val.positive { color: #7EE7B0; }
.av3-dh-kpis .av3-kpi-val.accent { color: oklch(0.85 0.14 75); }
.av3-dh-kpis .av3-kpi-foot { font-size: 11px; color: #A8A29E; }

.av3-d-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 12px 26px;
  border-bottom: 1px solid #E7E5E4;
  background: #F4F4F2;
}
.av3-d-action {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 12px;
  border: 1px solid #E7E5E4;
  border-radius: 8px;
  background: #FFFFFF;
  color: #0A0B0D;
  font-size: 12.5px;
  font-weight: 500;
  transition: all 120ms cubic-bezier(0.22,1,0.36,1);
}
.av3-d-action:hover { transform: translateY(-1px); box-shadow: 0 4px 10px rgba(0,0,0,.06); }
.av3-d-action.primary { background: #0A0B0D; color: white; border-color: #0A0B0D; }
.av3-d-action svg { width: 13px; height: 13px; }

/* Menu "Mais" no action bar do drawer (dropdown nativo via <details>) */
.av3-d-mais {
  position: relative;
  display: inline-block;
}
.av3-d-mais > summary {
  list-style: none;
  cursor: pointer;
}
.av3-d-mais > summary::-webkit-details-marker { display: none; }
.av3-d-mais-summary {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  padding: 7px 12px;
  border: 1px solid #E7E5E4;
  border-radius: 8px;
  background: #FFFFFF;
  color: #0A0B0D;
  font-size: 12.5px;
  font-weight: 500;
  transition: all 120ms cubic-bezier(0.22,1,0.36,1);
  user-select: none;
}
.av3-d-mais-summary:hover { transform: translateY(-1px); box-shadow: 0 4px 10px rgba(0,0,0,.06); }
.av3-d-mais[open] > .av3-d-mais-summary {
  background: #F4F4F2;
  border-color: #D6D3D1;
}
.av3-d-mais-menu {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  min-width: 220px;
  padding: 4px;
  background: #FFFFFF;
  border: 1px solid #E7E5E4;
  border-radius: 8px;
  box-shadow: 0 8px 22px rgba(0,0,0,.10);
  display: flex;
  flex-direction: column;
  gap: 2px;
  z-index: 10;
  animation: av3-fade 150ms cubic-bezier(0.22,1,0.36,1);
}
.av3-d-mais-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: transparent;
  border: 0;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  color: #0A0B0D;
  text-align: left;
  cursor: pointer;
  transition: background 100ms;
  font-family: inherit;
  width: 100%;
}
.av3-d-mais-item:hover { background: #F4F4F2; }
.av3-d-mais-item svg { width: 14px; height: 14px; flex-shrink: 0; color: #57534E; }

.av3-d-sec { padding: 18px 26px; border-bottom: 1px solid #E7E5E4; }
.av3-d-sec:last-child { border-bottom: 0; padding-bottom: 60px; }
.av3-d-sec-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.av3-d-sec h3 { font-family: 'Inter Tight', sans-serif; font-size: 15px; font-weight: 600; letter-spacing: -0.01em; }

.av3-dgrid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 14px 18px; font-size: 13px; }
.av3-dlbl {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9.5px;
  font-weight: 700;
  color: #A8A29E;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 3px;
}

/* parcelas table dentro do drawer */
.av3-ptab {
  border: 1px solid #E7E5E4;
  border-radius: 8px;
  overflow: hidden;
  background: #FFFFFF;
}
.av3-phead, .av3-prow {
  display: grid;
  grid-template-columns: 28px 70px 90px 90px 90px 90px 60px 90px;
  gap: 8px;
  padding: 8px 12px;
  align-items: center;
}
.av3-phead {
  background: #F4F4F2;
  border-bottom: 1px solid #E7E5E4;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 700;
  color: #A8A29E;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.av3-prow { font-size: 12.5px; border-bottom: 1px solid #E7E5E4; }
.av3-prow:last-child { border-bottom: 0; }
.av3-prow.pago { background: oklch(0.72 0.14 155 / .025); }
.av3-prow.venc { background: oklch(0.64 0.20 25 / .025); }
.av3-pbadge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  border-radius: 6px;
  font-size: 10.5px;
  font-weight: 600;
}
.av3-pbadge svg { width: 11px; height: 11px; }
.av3-pbadge-pago { background: oklch(0.72 0.14 155 / .12); color: oklch(0.42 0.14 155); }
.av3-pbadge-venc { background: oklch(0.64 0.20 25 / .10); color: var(--av3-danger, #BF3D2A); }
.av3-pbadge-pend { background: #F4F4F2; color: #57534E; border: 1px solid #E7E5E4; }
.av3-pbadge-partial { background: oklch(0.78 0.14 75 / .15); color: oklch(0.45 0.16 60); }

/* timeline */
.av3-tl {
  display: flex;
  flex-direction: column;
  position: relative;
  padding-left: 18px;
}
.av3-tl::before {
  content: '';
  position: absolute;
  left: 31px;
  top: 18px;
  bottom: 18px;
  width: 1px;
  background: #E7E5E4;
}
.av3-tl-item { display: flex; gap: 14px; padding: 10px 0; align-items: flex-start; position: relative; }
.av3-tl-icon {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  border-radius: 6px;
  border: 1.5px solid;
  display: grid;
  place-items: center;
  background: #fff;
  z-index: 1;
}
.av3-tl-icon svg { width: 14px; height: 14px; }
.av3-tl-body { flex: 1; padding-top: 4px; }
.av3-tl-title { font-size: 13.5px; color: #0A0B0D; font-weight: 500; }
.av3-tl-meta {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 2px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: #A8A29E;
}

/* lista de pagamentos no drawer (preserva conceito do atual: honor/cliente split) */
.av3-pays-list { display: flex; flex-direction: column; gap: 6px; }
.av3-pay-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  background: #FFFFFF;
  border: 1px solid #E7E5E4;
  border-radius: 8px;
}
.av3-pay-info { flex: 1; min-width: 0; }
.av3-pay-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 4px; }
.av3-pay-val { font-family: 'JetBrains Mono', monospace; font-weight: 600; font-size: 13px; }
.av3-pay-date { font-family: 'JetBrains Mono', monospace; font-size: 11px; color: #A8A29E; }
.av3-pay-split { display: flex; gap: 12px; font-size: 11.5px; color: #57534E; }
.av3-pay-split-item { display: flex; align-items: center; gap: 5px; }
.av3-pay-split-dot { width: 6px; height: 6px; border-radius: 50%; }
.av3-pay-actions { display: flex; gap: 4px; flex-shrink: 0; }

/* Collapse details (Pagamentos detalhados) */
.av3-d-collapse { padding: 0; }
.av3-d-collapse > summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 0;
  user-select: none;
}
.av3-d-collapse > summary::-webkit-details-marker { display: none; }
.av3-d-collapse-arrow {
  color: var(--av3-text-3, #A8A29E);
  font-size: 14px;
  transition: transform 200ms ease;
}
.av3-d-collapse[open] .av3-d-collapse-arrow { transform: rotate(180deg); }

/* ===== RESPONSIVE ===== */
@media (max-width: 1280px) {
  .av3 .av3-kpis { grid-template-columns: repeat(2, 1fr); }
  .av3 .av3-row-main { grid-template-columns: minmax(180px, 250px) 140px 140px 140px 1fr 165px 100px; gap: 10px; }
  .av3-dh-kpis { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 1100px) {
  .av3 .av3-row-main { grid-template-columns: minmax(160px, 220px) 132px 132px 1fr 150px 100px; gap: 10px; }
  /* Esconde Repasse + spacer em telas pequenas.
     ATENÇÃO: era `:nth-of-type(3)`, que conta DIVs e não a classe — como o
     1º filho é .av3-col-cliente, o 3º div é "Acordo". O app escondia o valor
     do acordo e mantinha o repasse, em todo notebook <1100px e no celular. */
  .av3 .av3-row-main > .av3-col-val--repasse,
  .av3 .av3-row-main > .av3-col-spacer { display: none; }
  .av3 .av3-cf { grid-template-columns: repeat(3, minmax(220px, 1fr)); }
}
.av3 .av3-seg-lbl { display: inline; }
@media (max-width: 1280px) {
  /* Em telas médias, esconder os labels dos botões do segmented */
  .av3 .av3-seg-lbl { display: none; }
}
@media (max-width: 1100px) {
  /* Toolbar volta a quebrar em telas menores */
  .av3 .av3-toolbar-tail { margin-left: 0; }
}
@media (max-width: 768px) {
  .av3 .av3-hero { padding: 16px 18px; }
  .av3 .av3-subabas { padding: 0 18px; overflow-x: auto; }
  .av3 .av3-toolbar { padding: 12px 18px; }
  .av3 .av3-list-section { padding: 14px 18px 60px; }
}


/* =============================================================
   WIZARD — Modal de criação (escolha de tipo + campos condicionais)
   ============================================================= */

.av3w-back {
  position: fixed;
  inset: 0;
  background: rgba(10,11,13,.55);
  backdrop-filter: blur(3px);
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 13.5px;
  color: #0A0B0D;
  animation: av3-fade 0.15s cubic-bezier(0.22,1,0.36,1);
}
.av3w-back, .av3w-back * { box-sizing: border-box; }
.av3w-back .mono { font-family: 'JetBrains Mono', monospace; font-feature-settings: "tnum"; }
.av3w-back button { font: inherit; cursor: pointer; border: 0; background: none; color: inherit; padding: 0; }
.av3w-back input, .av3w-back select, .av3w-back textarea { font: inherit; }

.av3w-modal {
  width: 720px;
  max-width: 100%;
  max-height: 90vh;
  background: #FFFFFF;
  border-radius: 14px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0,0,0,.30);
  animation: av3w-rise 0.22s cubic-bezier(0.16,1,0.3,1);
}
@keyframes av3w-rise { from { opacity: 0; transform: translateY(12px) scale(0.98); } to { opacity: 1; transform: none; } }

.av3w-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 18px;
  border-bottom: 1px solid #E7E5E4;
}
.av3w-head-title {
  font-family: 'Inter Tight', sans-serif;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: -0.012em;
}
.av3w-head-step {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  font-weight: 600;
  color: #A8A29E;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.av3w-close {
  width: 30px;
  height: 30px;
  border-radius: 6px;
  border: 1px solid #E7E5E4;
  color: #57534E;
  display: grid;
  place-items: center;
  transition: all 120ms;
}
.av3w-close:hover { background: #F4F4F2; color: #0A0B0D; }
.av3w-close svg { width: 14px; height: 14px; }

.av3w-body {
  flex: 1;
  padding: 20px 22px;
  overflow-y: auto;
}

/* Etapa 1: cards de tipo */
.av3w-types-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
.av3w-type-card {
  text-align: left;
  display: flex;
  gap: 12px;
  padding: 16px;
  border: 1px solid #E7E5E4;
  border-radius: 12px;
  background: #FFFFFF;
  cursor: pointer;
  transition: all 150ms cubic-bezier(0.22,1,0.36,1);
}
.av3w-type-card:hover {
  border-color: #0A0B0D;
  background: #FAFAF9;
  transform: translateY(-1px);
}
.av3w-type-icon {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.av3w-type-icon svg { width: 18px; height: 18px; }
.av3w-type-icon-acordo { background: oklch(0.97 0.04 75); color: oklch(0.42 0.10 75); }
.av3w-type-icon-honfixo { background: oklch(0.97 0.03 245); color: oklch(0.42 0.13 245); }
.av3w-type-icon-honexito { background: oklch(0.96 0.04 60); color: oklch(0.45 0.16 60); }
.av3w-type-icon-recorrente { background: oklch(0.96 0.04 155); color: oklch(0.40 0.14 155); }
.av3w-type-body { flex: 1; min-width: 0; }
.av3w-type-title {
  font-family: 'Inter Tight', sans-serif;
  font-size: 14.5px;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: #0A0B0D;
  margin-bottom: 3px;
}
.av3w-type-desc {
  font-size: 12.5px;
  color: #57534E;
  line-height: 1.45;
}

/* Etapa 2: form */
.av3w-form { display: flex; flex-direction: column; gap: 14px; }
.av3w-row { display: grid; gap: 10px; }
.av3w-row-2 { grid-template-columns: 1fr 1fr; }
.av3w-row-3 { grid-template-columns: 1fr 1fr 1fr; }
.av3w-field { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.av3w-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 700;
  color: #57534E;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.av3w-label .req { color: oklch(0.64 0.20 25); margin-left: 2px; }
.av3w-input, .av3w-select, .av3w-textarea {
  width: 100%;
  padding: 9px 12px;
  border: 1px solid #E7E5E4;
  border-radius: 8px;
  font-size: 13.5px;
  background: #FFFFFF;
  color: #0A0B0D;
  outline: none;
  transition: border-color 120ms;
  font-family: inherit;
}
.av3w-input:focus, .av3w-select:focus, .av3w-textarea:focus {
  border-color: #0A0B0D;
  box-shadow: 0 0 0 3px rgba(10,11,13,.06);
}
.av3w-input.mono { font-family: 'JetBrains Mono', monospace; font-feature-settings: "tnum"; }
.av3w-textarea { resize: vertical; min-height: 70px; }
.av3w-hint {
  font-size: 11px;
  color: #A8A29E;
  font-style: italic;
}
.av3w-section-title {
  font-family: 'Inter Tight', sans-serif;
  font-size: 13.5px;
  font-weight: 600;
  color: #0A0B0D;
  margin-top: 8px;
  padding-bottom: 6px;
  border-bottom: 1px solid #E7E5E4;
}

.av3w-radio-group { display: flex; gap: 8px; }
.av3w-radio {
  flex: 1;
  padding: 10px 12px;
  border: 1px solid #E7E5E4;
  border-radius: 8px;
  background: #FFFFFF;
  font-size: 13px;
  color: #57534E;
  text-align: center;
  cursor: pointer;
  transition: all 120ms;
}
.av3w-radio:hover { border-color: #57534E; color: #0A0B0D; }
.av3w-radio.on { background: #0A0B0D; color: #FFFFFF; border-color: #0A0B0D; font-weight: 600; }

.av3w-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 18px;
  border-top: 1px solid #E7E5E4;
  background: #FAFAF9;
}
.av3w-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  border: 1px solid #E7E5E4;
  border-radius: 8px;
  background: #FFFFFF;
  font-size: 13px;
  font-weight: 500;
  color: #0A0B0D;
  transition: all 120ms;
}
.av3w-btn:hover { background: #F4F4F2; }
.av3w-btn:disabled { opacity: 0.5; cursor: not-allowed; }
.av3w-btn.primary {
  background: oklch(0.78 0.14 75);
  color: #0A0B0D;
  border-color: oklch(0.78 0.14 75);
  font-weight: 600;
}
.av3w-btn.primary:hover { background: oklch(0.85 0.14 75); }
.av3w-btn svg { width: 14px; height: 14px; }

.av3w-error {
  padding: 10px 12px;
  background: oklch(0.64 0.20 25 / .08);
  border: 1px solid oklch(0.64 0.20 25 / .25);
  border-radius: 8px;
  color: oklch(0.45 0.20 25);
  font-size: 12.5px;
  display: none;
}
.av3w-error.show { display: block; }

/* Lista dinâmica de parcelas (preview) */
.av3w-parcelas-preview {
  border: 1px solid #E7E5E4;
  border-radius: 8px;
  background: #FAFAF9;
  padding: 10px 12px;
  max-height: 180px;
  overflow-y: auto;
}
.av3w-parcela-item {
  display: grid;
  grid-template-columns: 30px 1fr 1fr;
  gap: 8px;
  align-items: center;
  padding: 6px 0;
  border-bottom: 1px dashed #E7E5E4;
  font-size: 12px;
}
.av3w-parcela-item:last-child { border-bottom: 0; }
.av3w-parcela-item .num { font-family: 'JetBrains Mono', monospace; font-weight: 700; color: #57534E; }
.av3w-parcela-item .data { font-family: 'JetBrains Mono', monospace; color: #0A0B0D; }
.av3w-parcela-item .valor { font-family: 'JetBrains Mono', monospace; font-weight: 600; text-align: right; color: #0A0B0D; }

/* =============================================================
   AGING REPORT (banner compacto com 4 buckets)
   ============================================================= */

.av3 .av3-aging {
  margin: 0 28px 14px;
  background: var(--av3-bg-elev);
  border: 1px solid oklch(0.64 0.20 25 / .25);
  border-radius: var(--av3-radius);
  overflow: hidden;
}
.av3 .av3-aging-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 14px;
  background: oklch(0.64 0.20 25 / .04);
  border-bottom: 1px solid var(--av3-border);
}
.av3 .av3-aging-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'Inter Tight', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: var(--av3-danger);
}
.av3 .av3-aging-title svg { width: 14px; height: 14px; }
.av3 .av3-aging-total {
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  font-weight: 700;
  color: var(--av3-danger);
  font-variant-numeric: tabular-nums;
}
.av3 .av3-aging-bar {
  display: flex;
  height: 6px;
  background: var(--av3-bg-soft);
}
.av3 .av3-aging-bar > div {
  transition: width .8s var(--av3-ease);
  cursor: pointer;
}
.av3 .av3-aging-bar > div:hover { filter: brightness(1.1); }

/* Legenda inline (4 itens compactos em uma única linha) */
.av3 .av3-aging-legenda {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  padding: 8px 0 0;
  border-top: 1px solid var(--av3-border);
  margin-top: 8px;
}
.av3 .av3-aging-leg {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 8px 14px;
  background: transparent;
  border: 0;
  border-right: 1px solid var(--av3-border);
  cursor: pointer;
  transition: background var(--av3-dur-fast);
  font-family: inherit;
  text-align: left;
  min-width: 0;
}
.av3 .av3-aging-leg:last-child { border-right: 0; }
.av3 .av3-aging-leg:hover:not(:disabled) { background: var(--av3-bg-soft); }
.av3 .av3-aging-leg.av3-aging-leg-empty {
  cursor: default;
  opacity: 0.5;
}
.av3 .av3-aging-leg-dot {
  width: 8px;
  height: 8px;
  border-radius: 2px;
  flex-shrink: 0;
}
.av3 .av3-aging-leg-lbl {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 700;
  color: var(--av3-text-2);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  white-space: nowrap;
  flex-shrink: 0;
}
.av3 .av3-aging-leg-val {
  font-size: 12.5px;
  font-weight: 700;
  color: var(--av3-text);
  font-variant-numeric: tabular-nums;
  flex: 1;
  min-width: 0;
}
.av3 .av3-aging-leg-foot {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  color: var(--av3-text-3);
  white-space: nowrap;
  flex-shrink: 0;
}

@media (max-width: 1100px) {
  .av3 .av3-aging-legenda { grid-template-columns: repeat(2, 1fr); }
  .av3 .av3-aging-leg:nth-child(2) { border-right: 0; }
  .av3 .av3-aging-leg:nth-child(1),
  .av3 .av3-aging-leg:nth-child(2) {
    border-bottom: 1px solid var(--av3-border);
  }
}
@media (max-width: 600px) {
  .av3 .av3-aging-legenda { grid-template-columns: 1fr; }
  .av3 .av3-aging-leg { border-right: 0; border-bottom: 1px solid var(--av3-border); }
  .av3 .av3-aging-leg:last-child { border-bottom: 0; }
}

/* =============================================================
   KPI clicável (hero "Inadimplentes" abre Radar)
   ============================================================= */

.av3 .av3-kpi-clickable {
  cursor: pointer;
  position: relative;
}
.av3 .av3-kpi-clickable::after {
  content: '↗';
  position: absolute;
  top: 10px;
  right: 12px;
  color: var(--av3-hero-text-3);
  font-size: 11px;
  opacity: 0.5;
  transition: opacity var(--av3-dur-fast);
}
.av3 .av3-kpi-clickable:hover::after { opacity: 1; }
.av3 .av3-kpi-clickable:hover { background: #14151A !important; }

/* =============================================================
   RADAR DE INADIMPLÊNCIA (drawer separado)
   ============================================================= */

.av3-radar-back {
  position: fixed;
  inset: 0;
  background: rgba(10,11,13,.55);
  backdrop-filter: blur(2px);
  z-index: 9999;
  display: flex;
  justify-content: flex-end;
  animation: av3-fade 0.15s cubic-bezier(0.22,1,0.36,1);
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 13.5px;
  color: #0A0B0D;
}
.av3-radar-back, .av3-radar-back * { box-sizing: border-box; }
.av3-radar-back .mono { font-family: 'JetBrains Mono', monospace; font-feature-settings: "tnum"; }
.av3-radar-back button { font: inherit; cursor: pointer; border: 0; background: none; color: inherit; padding: 0; }
.av3-radar {
  width: 720px;
  max-width: 100%;
  height: 100vh;
  background: #FFFFFF;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  animation: av3-slideR 0.25s cubic-bezier(0.22,1,0.36,1);
}
.av3-radar-head {
  background: #0A0B0D;
  color: #FAFAF9;
  padding: 22px 26px;
  position: relative;
}
.av3-radar-head::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(500px 240px at 90% 0%, oklch(0.64 0.20 25 / .12), transparent 60%);
  pointer-events: none;
}
.av3-radar-head > * { position: relative; }
.av3-radar-head-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.av3-radar-eyebrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  font-weight: 600;
  color: #FF8A80;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 4px;
}
.av3-radar-title {
  font-family: 'Inter Tight', sans-serif;
  font-size: 22px;
  font-weight: 600;
  letter-spacing: -0.022em;
}
.av3-radar-sub {
  font-size: 13px;
  color: #A8A29E;
  margin-top: 4px;
}
.av3-radar-close {
  width: 30px;
  height: 30px;
  border-radius: 6px;
  border: 1px solid #2A2B30;
  color: #A8A29E;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.av3-radar-close:hover { background: rgba(255,255,255,.1); color: #FAFAF9; }
.av3-radar-close svg { width: 14px; height: 14px; }
.av3-radar-summary {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: #1F2024;
  border: 1px solid #1F2024;
  border-radius: 10px;
  overflow: hidden;
}
.av3-radar-summary-cell {
  background: #0A0B0D;
  padding: 10px 14px;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.av3-radar-summary-lbl {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9.5px;
  font-weight: 600;
  color: #6B6965;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.av3-radar-summary-val {
  font-family: 'Inter Tight', sans-serif;
  font-size: 22px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.av3-radar-summary-val.danger { color: #FF8A80; }
.av3-radar-summary-foot {
  font-size: 11px;
  color: #A8A29E;
}

.av3-radar-body { padding: 18px 26px 60px; flex: 1; }
.av3-radar-empty { padding: 40px; text-align: center; color: #A8A29E; font-size: 13px; }

.av3-radar-cli-group { margin-bottom: 16px; }
.av3-radar-cli-group-head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 0 6px;
  border-bottom: 1px solid #E7E5E4;
  margin-bottom: 8px;
}
.av3-radar-cli-group-title {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.av3-radar-cli-group-title.crit { color: var(--av3-danger, #BF3D2A); }
.av3-radar-cli-group-title.med { color: oklch(0.55 0.18 50); }
.av3-radar-cli-group-title.bx { color: oklch(0.55 0.16 75); }
.av3-radar-cli-group-count {
  margin-left: auto;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: #A8A29E;
}

.av3-radar-cli {
  background: #FFFFFF;
  border: 1px solid #E7E5E4;
  border-radius: 10px;
  padding: 12px 14px;
  margin-bottom: 6px;
  display: flex;
  align-items: stretch;
  gap: 12px;
  cursor: pointer;
  transition: all 120ms cubic-bezier(0.22,1,0.36,1);
}
.av3-radar-cli:hover { border-color: #D6D3D1; transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0,0,0,.05); }
.av3-radar-cli-bar { width: 3px; flex-shrink: 0; align-self: stretch; border-radius: 2px; }
.av3-radar-cli-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.av3-radar-cli-nome {
  font-family: 'Inter Tight', sans-serif;
  font-size: 14.5px;
  font-weight: 600;
  letter-spacing: -0.012em;
  color: #0A0B0D;
}
.av3-radar-cli-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 11.5px;
  color: #57534E;
  flex-wrap: wrap;
}
.av3-radar-cli-meta strong { color: #0A0B0D; font-weight: 600; }
.av3-radar-cli-stats {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 2px;
  flex-shrink: 0;
  text-align: right;
}
.av3-radar-cli-valor {
  font-family: 'JetBrains Mono', monospace;
  font-size: 14.5px;
  font-weight: 700;
  color: var(--av3-danger);
  font-variant-numeric: tabular-nums;
}
.av3-radar-cli-stats-sub {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  color: #A8A29E;
}
.av3-radar-cli-tax {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 10.5px;
  font-weight: 600;
  font-family: 'JetBrains Mono', monospace;
}
.av3-radar-cli-tax.bom { color: oklch(0.42 0.14 155); }
.av3-radar-cli-tax.med { color: oklch(0.55 0.18 50); }
.av3-radar-cli-tax.ruim { color: var(--av3-danger); }

.av3-radar-cli-acordos {
  margin-top: 6px;
  padding-top: 6px;
  border-top: 1px dashed #E7E5E4;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.av3-radar-cli-acordo-mini {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-size: 11px;
  color: #57534E;
}
.av3-radar-cli-acordo-mini .id { font-family: 'JetBrains Mono', monospace; color: #A8A29E; font-weight: 600; }
.av3-radar-cli-acordo-mini .val { font-family: 'JetBrains Mono', monospace; font-weight: 600; color: var(--av3-danger); }

/* ===== KPI Customizer (modal de personalizar) ===== */
.av3-kpic-section-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #57534E;
  margin-bottom: 8px;
}
.av3-kpic-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}
@media (max-width: 600px) {
  .av3-kpic-list { grid-template-columns: 1fr; }
}
.av3-kpic-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid #E7E5E4;
  border-radius: 8px;
  background: #FFFFFF;
  cursor: pointer;
  transition: all 120ms cubic-bezier(0.22,1,0.36,1);
  font-size: 13px;
}
.av3-kpic-item:hover { border-color: #57534E; }
.av3-kpic-item.on {
  border-color: #0A0B0D;
  background: #F4F4F2;
}
.av3-kpic-item input { display: none; }
.av3-kpic-radio,
.av3-kpic-check {
  width: 16px;
  height: 16px;
  border: 1.5px solid #D6D3D1;
  border-radius: 50%;
  flex-shrink: 0;
  display: grid;
  place-items: center;
  transition: all 120ms;
}
.av3-kpic-check {
  border-radius: 4px;
}
.av3-kpic-check svg {
  width: 10px;
  height: 10px;
  color: #FFFFFF;
  display: none;
}
.av3-kpic-item.on .av3-kpic-radio {
  border-color: #0A0B0D;
  background: radial-gradient(circle, #0A0B0D 40%, transparent 45%);
}
.av3-kpic-item.on .av3-kpic-check {
  border-color: #0A0B0D;
  background: #0A0B0D;
}
.av3-kpic-item.on .av3-kpic-check svg { display: block; }
.av3-kpic-label {
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: #0A0B0D;
}
.av3-kpic-warn {
  margin-top: 12px;
  padding: 8px 12px;
  background: oklch(0.78 0.14 75 / 0.10);
  border: 1px solid oklch(0.78 0.14 75 / 0.30);
  border-radius: 8px;
  color: oklch(0.45 0.16 50);
  font-size: 12.5px;
  display: none;
}
.av3-kpic-warn.show { display: block; }

/* Botão "Personalizar" no hero — ícone + label que some em telas menores */
.av3 .av3-btn-lbl { display: inline; }
@media (max-width: 1100px) {
  .av3 .av3-btn-lbl { display: none; }
}

/* =============================================================
   MODAIS V3 — sobrescreve Tailwind antigo (acordo, pagamento,
   edit-pagamento, delete) preservando comportamento de abrir/fechar
   via classList hidden/flex no container raiz.

   Os containers usam IDs `acordo-modal`, `pagamento-modal`,
   `edit-payment-modal`, `delete-modal` + classes Tailwind originais
   pra abrir/fechar (hidden/flex). Aqui sobrescrevemos a aparência.
   ============================================================= */

/* Backdrop comum aos 4 modais */
#acordo-modal,
#pagamento-modal,
#edit-payment-modal,
#delete-modal {
  background: rgba(10, 11, 13, 0.55) !important;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 13.5px;
  color: #0A0B0D;
  padding: 24px !important;
  animation: av3-fade 0.15s cubic-bezier(0.22, 1, 0.36, 1);
  /* Abrem de dentro da gaveta do acordo (.av3-drawer-back, z 9999). Com o
     z-50 do Tailwind, "Registrar pagamento" e "Editar" abriam ATRÁS da gaveta
     no computador (no celular o mobile-ajustes já subia para 10000). */
  z-index: 10000 !important;
}
#acordo-modal *, #pagamento-modal *, #edit-payment-modal *, #delete-modal * { box-sizing: border-box; }
#acordo-modal .mono, #pagamento-modal .mono, #edit-payment-modal .mono, #delete-modal .mono {
  font-family: 'JetBrains Mono', monospace;
  font-feature-settings: "tnum";
}

/* Container do modal (substitui o antigo bg-white rounded-[32px]) */
#acordo-modal > div,
#pagamento-modal > div,
#edit-payment-modal > div {
  background: #FFFFFF !important;
  border-radius: 14px !important;
  border: 1px solid #E7E5E4 !important;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.30) !important;
  max-width: 760px !important;
  width: 100%;
  max-height: 92vh !important;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  animation: av3w-rise 0.22s cubic-bezier(0.16, 1, 0.3, 1);
}
#acordo-modal > div { max-width: 880px !important; }

/* Header escuro tipo hero */
.av3m-head {
  background: #0A0B0D !important;
  color: #FAFAF9 !important;
  padding: 18px 24px !important;
  border: 0 !important;
  border-bottom: 1px solid #1F2024 !important;
  position: relative;
  overflow: hidden;
}
.av3m-head::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(500px 240px at 90% -10%, oklch(0.78 0.14 75 / 0.08), transparent 60%);
  pointer-events: none;
}
.av3m-head > * { position: relative; }
.av3m-eyebrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  font-weight: 600;
  color: #6B6965 !important;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin: 0 !important;
  display: flex;
  align-items: center;
  gap: 6px;
}
.av3m-eyebrow .pulse {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: oklch(0.72 0.14 155);
  animation: av3-pulse 2.2s infinite;
}
.av3m-title {
  font-family: 'Inter Tight', sans-serif !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  letter-spacing: -0.022em !important;
  color: #FAFAF9 !important;
  margin-top: 4px !important;
  line-height: 1.2 !important;
}
.av3m-sub {
  font-size: 12.5px !important;
  color: #A8A29E !important;
  margin-top: 4px !important;
  margin-bottom: 0 !important;
}
.av3m-head-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.av3m-head-close {
  width: 30px;
  height: 30px;
  border-radius: 6px;
  border: 1px solid #2A2B30;
  color: #A8A29E;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  cursor: pointer;
  background: transparent;
  transition: all 120ms;
}
.av3m-head-close:hover { background: rgba(255,255,255,.1); color: #FAFAF9; }
.av3m-head-close svg { width: 14px; height: 14px; }

/* Body */
.av3m-body {
  flex: 1;
  padding: 20px 24px !important;
  overflow-y: auto;
  background: #FFFFFF;
}

/* Footer */
.av3m-foot {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  padding: 12px 24px !important;
  border-top: 1px solid #E7E5E4 !important;
  background: #FAFAF9 !important;
}

/* Form layout */
.av3m-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.av3m-row { display: grid; gap: 10px; }
.av3m-row-2 { grid-template-columns: 1fr 1fr; }
.av3m-row-3 { grid-template-columns: 1fr 1fr 1fr; }
.av3m-field { display: flex; flex-direction: column; gap: 5px; min-width: 0; position: relative; }
.av3m-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 700;
  color: #57534E;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.av3m-label .req { color: oklch(0.64 0.20 25); margin-left: 2px; }

/* Inputs (substitui as classes Tailwind) */
.av3m-input,
#acordo-form input[id^="inp-"]:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
#acordo-form select,
#acordo-form textarea,
#pagamento-form input[type="text"]:not(.no-av3m),
#pagamento-form input[type="date"]:not(.no-av3m),
#pagamento-form input[name="valor"],
#pagamento-form input[name="vh"],
#pagamento-form input[name="vc"],
#edit-payment-form input[name="valor"],
#edit-payment-form input[name="vh"],
#edit-payment-form input[name="vc"],
#edit-payment-form input[type="date"] {
  width: 100%;
  padding: 9px 12px !important;
  border: 1px solid #E7E5E4 !important;
  border-radius: 8px !important;
  font-size: 13.5px !important;
  background: #FFFFFF !important;
  color: #0A0B0D !important;
  outline: none;
  transition: border-color 120ms !important;
  font-family: inherit;
  margin-top: 0 !important;
  box-shadow: none !important;
}
#acordo-form input.parc-valor,
#acordo-form input.parc-data {
  padding: 6px 9px !important;
  font-size: 12.5px !important;
}
.av3m-input:focus,
#acordo-form input:focus,
#acordo-form select:focus,
#acordo-form textarea:focus,
#pagamento-form input:focus,
#edit-payment-form input:focus {
  border-color: #0A0B0D !important;
  box-shadow: 0 0 0 3px rgba(10, 11, 13, 0.06) !important;
}
.av3m-input.mono,
#acordo-form input[id="inp-cnj"],
#acordo-form input.parc-valor {
  font-family: 'JetBrains Mono', monospace;
  font-feature-settings: "tnum";
}
.av3m-textarea,
#acordo-form textarea {
  resize: vertical;
  min-height: 70px;
}
.av3m-hint {
  font-size: 11px;
  color: #A8A29E;
  font-style: italic;
  margin-top: 2px;
}

/* Section titles e separadores */
.av3m-section-title {
  font-family: 'Inter Tight', sans-serif;
  font-size: 13.5px;
  font-weight: 600;
  color: #0A0B0D;
  margin: 12px 0 4px;
  padding-bottom: 6px;
  border-bottom: 1px solid #E7E5E4;
}
.av3m-section-title.first { margin-top: 0; }

/* Radio/segmented */
.av3m-radio-group { display: flex; gap: 8px; }
.av3m-radio-card {
  flex: 1;
  padding: 9px 12px;
  border: 1px solid #E7E5E4;
  border-radius: 8px;
  background: #FFFFFF;
  font-size: 12.5px;
  font-weight: 500;
  color: #57534E;
  text-align: center;
  cursor: pointer;
  transition: all 120ms;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.av3m-radio-card:hover { border-color: #57534E; color: #0A0B0D; }
.av3m-radio-card.on,
.av3m-radio-card:has(input:checked) {
  background: #0A0B0D;
  color: #FFFFFF;
  border-color: #0A0B0D;
  font-weight: 600;
}
.av3m-radio-card input[type="radio"] { display: none; }

/* Seletor de tipo de documento (cards visuais com ícone) */
.av3m-tipo-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
.av3m-tipo-grid.av3m-tipo-grid-2 { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 700px) {
  .av3m-tipo-grid,
  .av3m-tipo-grid.av3m-tipo-grid-2 { grid-template-columns: 1fr; }
}
.av3m-tipo-card {
  display: flex;
  gap: 10px;
  padding: 12px;
  border: 1px solid #E7E5E4;
  border-radius: 10px;
  background: #FFFFFF;
  cursor: pointer;
  transition: all 150ms cubic-bezier(0.22,1,0.36,1);
  align-items: flex-start;
}
.av3m-tipo-card:hover {
  border-color: #57534E;
  background: #FAFAF9;
}
.av3m-tipo-card:has(input:checked) {
  border-color: #0A0B0D;
  background: #F4F4F2;
  box-shadow: 0 0 0 1px #0A0B0D;
}
.av3m-tipo-card input { display: none; }
.av3m-tipo-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.av3m-tipo-icon svg { width: 16px; height: 16px; }
.av3m-tipo-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.av3m-tipo-title {
  font-family: 'Inter Tight', sans-serif;
  font-size: 13.5px;
  font-weight: 600;
  color: #0A0B0D;
  letter-spacing: -0.01em;
}
.av3m-tipo-desc {
  font-size: 11.5px;
  color: #57534E;
  line-height: 1.4;
}

/* Vínculos automáticos (cliente → audiências/acordos existentes) */
.av3m-vinculos {
  margin: -8px 0 8px;
  padding: 12px 14px;
  background: oklch(0.97 0.03 245);
  border: 1px solid oklch(0.64 0.13 245 / .25);
  border-radius: 10px;
  animation: av3-fade 200ms cubic-bezier(0.22,1,0.36,1);
}
.av3m-vinculos-head {
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  font-weight: 700;
  color: oklch(0.42 0.13 245);
  text-transform: uppercase;
  letter-spacing: 0.07em;
  margin-bottom: 8px;
}
.av3m-vinculos-head svg {
  width: 13px;
  height: 13px;
  flex-shrink: 0;
}
.av3m-vinculos-lista {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.av3m-vinculo-card {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 12px;
  background: #FFFFFF;
  border: 1px solid #E7E5E4;
  border-radius: 8px;
  cursor: pointer;
  transition: all 120ms cubic-bezier(0.22,1,0.36,1);
  text-align: left;
  width: 100%;
  font-family: inherit;
}
.av3m-vinculo-card:hover {
  border-color: oklch(0.42 0.13 245);
  background: oklch(0.98 0.02 245);
  transform: translateY(-1px);
}
.av3m-vinculo-card.on {
  border-color: oklch(0.42 0.13 245);
  background: oklch(0.97 0.03 245);
  box-shadow: 0 0 0 1px oklch(0.42 0.13 245);
}
.av3m-vinculo-icon {
  width: 28px;
  height: 28px;
  border-radius: 6px;
  display: grid;
  place-items: center;
  background: oklch(0.95 0.04 245);
  color: oklch(0.42 0.13 245);
  flex-shrink: 0;
}
.av3m-vinculo-icon svg { width: 14px; height: 14px; }
.av3m-vinculo-body {
  flex: 1;
  min-width: 0;
}
.av3m-vinculo-titulo {
  font-size: 13px;
  font-weight: 600;
  color: #0A0B0D;
  line-height: 1.25;
  margin-bottom: 2px;
}
.av3m-vinculo-meta {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: #57534E;
}
.av3m-vinculo-tipo {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9.5px;
  font-weight: 700;
  color: oklch(0.42 0.13 245);
  text-transform: uppercase;
  letter-spacing: 0.07em;
  padding: 2px 7px;
  background: oklch(0.95 0.04 245);
  border-radius: 6px;
  flex-shrink: 0;
}

/* Cláusula penal — seção colapsável dentro do modal */
.av3m-clausula-penal {
  margin: 16px 0 4px;
  background: #FAFAF9;
  border: 1px solid #E7E5E4;
  border-radius: 10px;
  overflow: hidden;
}
.av3m-clausula-penal > summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  font-family: 'Inter Tight', sans-serif;
  font-size: 13.5px;
  font-weight: 600;
  color: #0A0B0D;
  letter-spacing: -0.01em;
  background: #FFFFFF;
  user-select: none;
}
.av3m-clausula-penal > summary::-webkit-details-marker { display: none; }
.av3m-clausula-penal > summary:hover { background: #FAFAF9; }
.av3m-clausula-penal > summary svg {
  width: 16px;
  height: 16px;
  color: #A8A29E;
  transition: transform 200ms;
}
.av3m-clausula-penal[open] > summary svg { transform: rotate(180deg); }
.av3m-clausula-opt {
  font-weight: 400;
  color: #A8A29E;
  font-size: 12.5px;
  margin-left: 4px;
}
.av3m-clausula-body {
  padding: 16px;
  border-top: 1px solid #E7E5E4;
  background: #FAFAF9;
}
.av3m-clausula-section-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  font-weight: 700;
  color: #57534E;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 8px;
}

/* Input com sufixo (% / a.m. / etc.) */
.av3m-suffix-input {
  position: relative;
  display: flex;
  align-items: center;
}
.av3m-suffix-input .av3m-input {
  padding-right: 44px !important;
}
.av3m-suffix-input .av3m-suffix {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  color: #A8A29E;
  pointer-events: none;
  background: transparent;
}

/* Checkbox row (label + check + input + texto inline) */
.av3m-checkbox-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.av3m-checkbox-label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  cursor: pointer;
  font-size: 13px;
  color: #0A0B0D;
}
.av3m-checkbox-input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  width: 0;
}
.av3m-checkbox-mark {
  width: 18px;
  height: 18px;
  border: 1.5px solid #D6D3D1;
  border-radius: 5px;
  background: #FFFFFF;
  display: grid;
  place-items: center;
  transition: all 120ms cubic-bezier(0.22,1,0.36,1);
  flex-shrink: 0;
}
.av3m-checkbox-input:checked + .av3m-checkbox-mark {
  background: #0A0B0D;
  border-color: #0A0B0D;
}
.av3m-checkbox-input:checked + .av3m-checkbox-mark::after {
  content: '';
  width: 5px;
  height: 9px;
  border-right: 2px solid #FFFFFF;
  border-bottom: 2px solid #FFFFFF;
  transform: rotate(45deg) translate(-1px, -1px);
}

/* Presets de parcelamento (atalhos rápidos) */
.av3m-presets {
  display: flex;
  gap: 6px;
  margin-bottom: 10px;
}
.av3m-preset-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 7px 12px;
  border: 1px solid #E7E5E4;
  border-radius: 8px;
  background: #FFFFFF;
  font-size: 12px;
  font-weight: 500;
  color: #57534E;
  cursor: pointer;
  transition: all 120ms cubic-bezier(0.22,1,0.36,1);
}
.av3m-preset-btn:hover { border-color: #57534E; color: #0A0B0D; }
.av3m-preset-btn.on {
  background: #0A0B0D;
  color: #FFFFFF;
  border-color: #0A0B0D;
  font-weight: 600;
}
.av3m-preset-form {
  margin-bottom: 12px;
  padding: 14px;
  background: #FAFAF9;
  border: 1px solid #E7E5E4;
  border-radius: 10px;
  animation: av3-fade 200ms cubic-bezier(0.22,1,0.36,1);
}

/* Detalhes processuais (details/summary) — usa nativo */
#acordo-detalhes-proc {
  background: #FAFAF9 !important;
  border: 1px solid #E7E5E4 !important;
  border-radius: 10px !important;
  padding: 0 !important;
  overflow: hidden;
}
#acordo-detalhes-proc > summary {
  cursor: pointer;
  list-style: none;
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  color: #57534E !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  background: #FFFFFF !important;
  user-select: none;
}
#acordo-detalhes-proc > summary::-webkit-details-marker { display: none; }
#acordo-detalhes-proc > summary:hover { background: #F4F4F2 !important; }
#acordo-detalhes-proc > summary svg {
  width: 14px;
  height: 14px;
  color: #A8A29E;
  transition: transform 200ms;
}
#acordo-detalhes-proc[open] > summary svg { transform: rotate(180deg); }
#acordo-detalhes-proc > div {
  padding: 14px !important;
  border-top: 1px solid #E7E5E4;
  background: #FAFAF9;
}

/* Honorários radio + valores */
#acordo-form .hon-radios {
  display: flex;
  gap: 10px;
  margin-bottom: 10px;
}
#acordo-form .hon-radio {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  font-size: 13px;
  color: #57534E;
}
#acordo-form .hon-radio input[type="radio"] { width: 14px; height: 14px; accent-color: #0A0B0D; }
#acordo-form .hon-row {
  display: flex;
  align-items: center;
  gap: 8px;
}
#acordo-form .hon-row .perc-input {
  width: 70px !important;
  text-align: center !important;
  font-family: 'JetBrains Mono', monospace !important;
}
#acordo-form .hon-row .perc-sym {
  font-size: 13px;
  color: #57534E;
  font-weight: 500;
}
#acordo-form .hon-row .hon-input { flex: 1; }
#acordo-form .hon-calc-row {
  font-size: 12px;
  color: #57534E;
  margin-top: 6px;
  padding: 6px 12px;
  background: #F4F4F2;
  border-radius: 6px;
  display: flex;
  justify-content: space-between;
}
#acordo-form .hon-calc-row strong {
  font-family: 'JetBrains Mono', monospace;
  color: #0A0B0D;
  font-weight: 600;
}

/* Tabela de parcelas */
#acordo-form .parcelas-buttons {
  display: flex;
  gap: 8px;
  margin-bottom: 10px;
}
#acordo-form .parcelas-buttons button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 12px;
  border-radius: 8px;
  font-size: 12.5px;
  font-weight: 500;
  border: 1px solid #E7E5E4;
  background: #FFFFFF;
  color: #0A0B0D;
  transition: all 120ms;
}
#acordo-form .parcelas-buttons button:hover { background: #F4F4F2; }
#acordo-form #btn-add-parcela {
  background: #0A0B0D !important;
  color: #FFFFFF !important;
  border-color: #0A0B0D !important;
}
#acordo-form #btn-add-parcela:hover { background: #1F2024 !important; }
#acordo-form #btn-reequilibrar {
  background: oklch(0.78 0.14 75) !important;
  color: #0A0B0D !important;
  border-color: oklch(0.78 0.14 75) !important;
}
#acordo-form #btn-reequilibrar:hover { background: oklch(0.85 0.14 75) !important; }

#acordo-form > div > div > div > .rounded-2xl,
#acordo-form .parcelas-tab-wrapper {
  border: 1px solid #E7E5E4 !important;
  border-radius: 8px !important;
  overflow: hidden;
}
#acordo-form #tbl-parcelas { background: #FFFFFF; }
#acordo-form table thead {
  background: #F4F4F2 !important;
  border-bottom: 1px solid #E7E5E4 !important;
}
#acordo-form table thead th {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  color: #A8A29E !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  padding: 9px 12px !important;
  text-align: left !important;
}
#acordo-form table tbody tr {
  border-bottom: 1px solid #E7E5E4;
  background: #FFFFFF;
}
#acordo-form table tbody tr:last-child { border-bottom: 0; }
#acordo-form table tbody td {
  padding: 6px 10px !important;
  vertical-align: middle;
}
#acordo-form table .p-num {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  color: #A8A29E !important;
  font-weight: 600 !important;
  text-align: center !important;
}
#acordo-form table .btn-remove {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 5px 10px !important;
  border-radius: 6px !important;
  font-size: 11.5px !important;
  font-weight: 500;
  color: oklch(0.64 0.20 25) !important;
  background: transparent;
  border: 1px solid transparent;
  transition: all 120ms;
}
#acordo-form table .btn-remove:hover {
  background: oklch(0.64 0.20 25 / 0.10);
  border-color: oklch(0.64 0.20 25 / 0.25);
}

#acordo-form #sum-label {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 12px !important;
  color: #57534E !important;
  text-align: right !important;
  margin-top: 8px !important;
  padding-top: 6px;
  border-top: 1px dashed #E7E5E4;
}

/* Pagamento — checkboxes de parcelas */
#pagamento-form .chk-parc {
  width: 16px;
  height: 16px;
  accent-color: #0A0B0D;
}
#pagamento-form label.parc-row {
  display: flex !important;
  align-items: center;
  gap: 10px;
  padding: 10px 12px !important;
  background: #FAFAF9 !important;
  border: 1px solid #E7E5E4 !important;
  border-radius: 8px !important;
  cursor: pointer;
  transition: all 120ms;
}
#pagamento-form label.parc-row:hover { border-color: #D6D3D1; background: #FFFFFF !important; }
#pagamento-form label.parc-row:has(input:checked) {
  background: #FFFFFF !important;
  border-color: #0A0B0D !important;
  box-shadow: 0 0 0 1px #0A0B0D;
}

#pagamento-form #dist-msg,
#edit-payment-form #edit-dist-msg {
  font-size: 11.5px !important;
  padding: 8px 10px;
  border-radius: 6px;
  background: oklch(0.78 0.14 75 / 0.10);
  color: oklch(0.45 0.16 50);
  border: 1px solid oklch(0.78 0.14 75 / 0.30);
  font-style: normal !important;
}
#pagamento-form #dist-msg:empty,
#edit-payment-form #edit-dist-msg:empty {
  display: none;
}

/* Botões do footer */
.av3m-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px !important;
  border: 1px solid #E7E5E4 !important;
  border-radius: 8px !important;
  background: #FFFFFF !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #0A0B0D !important;
  transition: all 120ms !important;
  cursor: pointer;
}
.av3m-btn:hover { background: #F4F4F2 !important; }
.av3m-btn:disabled { opacity: 0.5; cursor: not-allowed; }
.av3m-btn.primary,
.av3m-foot button[type="submit"],
.av3m-foot #pagamento-submit,
.av3m-foot #edit-payment-submit,
#delete-modal #confirm-delete {
  background: #0A0B0D !important;
  color: #FFFFFF !important;
  border-color: #0A0B0D !important;
  font-weight: 600 !important;
}
.av3m-btn.primary:hover,
.av3m-foot button[type="submit"]:hover,
.av3m-foot #pagamento-submit:hover,
.av3m-foot #edit-payment-submit:hover,
#delete-modal #confirm-delete:hover {
  background: #1F2024 !important;
}
.av3m-foot #pagamento-submit {
  background: oklch(0.42 0.14 155) !important;
  border-color: oklch(0.42 0.14 155) !important;
}
.av3m-foot #pagamento-submit:hover { background: oklch(0.36 0.14 155) !important; }
#delete-modal #confirm-delete {
  background: oklch(0.64 0.20 25) !important;
  border-color: oklch(0.64 0.20 25) !important;
}
#delete-modal #confirm-delete:hover { background: oklch(0.55 0.20 25) !important; }

.av3m-btn-cancel,
.av3m-foot .btn-close {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #57534E !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  padding: 8px 14px !important;
  border-radius: 8px !important;
  transition: all 120ms;
  cursor: pointer;
}
.av3m-btn-cancel:hover,
.av3m-foot .btn-close:hover {
  background: #F4F4F2 !important;
  color: #0A0B0D !important;
}

/* Autocomplete de cliente */
#cliente-suggestions {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 100;
  margin-top: 4px;
  background: #FFFFFF !important;
  border: 1px solid #D6D3D1 !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.10) !important;
  max-height: 240px;
  overflow-y: auto;
}

/* Delete modal especial */
#delete-modal > div {
  max-width: 440px !important;
  border-radius: 12px !important;
}
#delete-modal .av3m-delete-body {
  padding: 24px !important;
  text-align: center;
}
#delete-modal .av3m-delete-icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: oklch(0.64 0.20 25 / 0.12);
  color: oklch(0.64 0.20 25);
  display: grid;
  place-items: center;
  margin: 0 auto 14px;
}
#delete-modal .av3m-delete-icon svg { width: 28px; height: 28px; }
#delete-modal .av3m-delete-title {
  font-family: 'Inter Tight', sans-serif;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: -0.012em;
  color: #0A0B0D;
  margin-bottom: 8px;
}
#delete-modal .av3m-delete-msg {
  font-size: 13px;
  color: #57534E;
  margin-bottom: 18px;
  line-height: 1.5;
}
#delete-modal .av3m-delete-actions {
  display: flex;
  gap: 10px;
  justify-content: center;
}

/* Responsive */
@media (max-width: 768px) {
  .av3m-row-2, .av3m-row-3 { grid-template-columns: 1fr; }
  #acordo-modal > div, #pagamento-modal > div, #edit-payment-modal > div {
    max-width: 100% !important;
    margin: 0;
    border-radius: 12px !important;
  }
}


/* ── Tipo de pagamento: À Vista / Parcelado (modal Acordo) ── */
.av3m-tipopag-cards {
  display: flex;
  gap: 8px;
  margin: 12px 0;
}
.av3m-tipopag-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  border: 1.5px solid var(--av3-border, #E7E5E4);
  border-radius: 10px;
  background: #fff;
  cursor: pointer;
  font-size: 13.5px;
  font-family: 'Inter', sans-serif;
  color: #57534E;
  transition: border-color .15s, background .15s;
}
.av3m-tipopag-btn.active {
  border-color: var(--av3-accent, #2563EB);
  background: oklch(0.97 0.012 245);
  color: #0A0B0D;
  font-weight: 500;
}
.av3m-tipopag-icon { font-size: 15px; line-height: 1; }
.av3m-avista-panel { padding: 4px 0 8px; }

/* ════════════════════════════════════════════════════════════════════════
   CORREÇÕES DE SEGURANÇA (2026-07-28) — apenas ADITIVAS.
   Sobrescrevem por cascata sem alterar nenhuma regra acima. Objetivo:
   acessibilidade + mobile. Desktop atual permanece idêntico.
   ════════════════════════════════════════════════════════════════════════ */

/* [1] Contraste: o cinza de texto informativo (--av3-text-3 #A8A29E) dava
   ~2.5:1 sobre fundo claro (reprova WCAG AA). Escurece para ~4.6:1 mantendo
   o tom quente da paleta. Cascateia por todos os usos do token. */
:root { --av3-text-3: #78716C; }

/* [2] Foco visível por teclado em controles interativos (antes só inputs
   tinham anel de foco). Só aparece na navegação por teclado (:focus-visible),
   não afeta clique de mouse. */
.av3 :is(button, a, summary, [data-action], [tabindex]):focus-visible,
.av3-drawer :is(button, a, [data-action]):focus-visible,
.av3w-modal :is(button, a, input, select, [data-action]):focus-visible,
#acordo-modal :is(button, a, input, select, textarea):focus-visible,
#pagamento-modal :is(button, a, input, select, textarea):focus-visible,
#edit-payment-modal :is(button, a, input, select, textarea):focus-visible {
  outline: 2px solid var(--av3-text, #0A0B0D);
  outline-offset: 2px;
  border-radius: 6px;
}

/* [3] Botão À Vista/Parcelado ativo caía no fallback AZUL (variável --av3-accent
   indefinida fora do escopo .av3). Corrige para o âmbar real do produto. */
.av3m-tipopag-btn.active {
  border-color: oklch(0.78 0.14 75);
  background: oklch(0.97 0.04 75);
}

/* [4] Tabela de parcelas do drawer: permite scroll horizontal em vez de cortar
   as 8 colunas em telas estreitas. */
.av3-ptab { overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* [5] Respeita "reduzir movimento" do sistema (WCAG 2.3.3 / conforto). */
@media (prefers-reduced-motion: reduce) {
  .av3 *, .av3-drawer, .av3-drawer-back, .av3w-modal {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
}

/* [6] MOBILE (≤767px): a lista tinha colunas fixas + overflow:hidden e cortava
   STATUS e AÇÕES para fora da tela. Aqui reflui em blocos, tudo acessível. */
@media (max-width: 767px) {
  .av3 .av3-row { overflow: visible; }
  .av3 .av3-row-main {
    grid-template-columns: 1fr 1fr;
    gap: 10px 12px;
    padding: 12px;
  }
  .av3 .av3-col-cliente { grid-column: 1 / -1; }
  .av3 .av3-col-spacer { display: none; }
  .av3 .av3-col-status { grid-column: 1 / -1; }
  .av3 .av3-col-acoes { grid-column: 1 / -1; justify-content: flex-start; flex-wrap: wrap; }
  /* Detalhes do drawer: 3 colunas espremidas → 2. */
  .av3-dgrid { grid-template-columns: 1fr 1fr; }
}

/* [7] Alvos de toque maiores em dispositivos de toque (não altera desktop). */
@media (pointer: coarse) {
  .av3 .av3-acao-btn { min-width: 40px; min-height: 40px; }
  .av3-dh-close, .av3w-close, .av3m-head-close { min-width: 40px; min-height: 40px; }
}

/* ═══════════════════════════════════════════════════════════════════════
   Acordos no CELULAR (jul/2026)
   O menor breakpoint da linha era 1100px (~700px de colunas fixas), então no
   telefone a linha estourava a tela e o nome do cliente vazava para fora do
   card. Aqui a linha vira cartão empilhado.
   ═══════════════════════════════════════════════════════════════════════ */
@media (max-width: 640px) {
  /* `.av3` sangra 16px para cancelar o padding do container das views. Só que
     no celular esse container usa `px-2` (8px), então sobravam 8px de cada
     lado vazando para fora da tela — a aba inteira rolava na horizontal. */
  .av3 { margin-left: -8px; margin-right: -8px; }

  .av3 .av3-row-main {
    grid-template-columns: 1fr 1fr;
    gap: 10px 12px;
    padding: 12px 14px;
  }
  /* Nome ocupa a linha inteira e pode quebrar — antes vazava para fora */
  .av3 .av3-col-cliente { grid-column: 1 / -1; }
  .av3 .av3-col-cliente-nome {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    font-size: 15px;
    line-height: 1.3;
  }
  .av3 .av3-col-cliente-cnj { overflow-wrap: anywhere; }

  /* Os dois valores lado a lado; status e ações em linhas próprias */
  .av3 .av3-col-status { grid-column: 1 / -1; }
  .av3 .av3-col-acoes {
    grid-column: 1 / -1;
    justify-content: flex-start;
    gap: 4px;
    padding-top: 2px;
  }
  /* Alvo de toque dos botões de ação */
  .av3 .av3-acao-btn {
    min-width: 40px;
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  /* Cashflow: 6 colunas de 220px não cabem — rola horizontalmente */
  .av3 .av3-cf { grid-template-columns: repeat(6, 82vw); }

  /* Tabela de parcelas do detalhe: 8 colunas fixas (~608px) não cabem.
     Rola na horizontal dentro do próprio bloco, sem empurrar a página. */
  .av3-ptab { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .av3-phead, .av3-prow { min-width: 600px; }
}

/* ===== NATUREZA / PAGADOR / ANOTAÇÕES / AGRUPAMENTO (v3.1) ===== */

/* Tag da rubrica (contratual, sucumbência, taxa, FGTS…) */
.av3 .av3-nat-tag,
.av3-drawer .av3-nat-tag {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9.5px;
  font-weight: 700;
  padding: 1px 6px;
  border-radius: 6px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
  flex-shrink: 0;
  color: oklch(0.42 0.12 300);
  background: oklch(0.97 0.03 300);
  border: 1px solid oklch(0.65 0.14 300 / .32);
}

/* Linha "paga: Fulano" — só quando o pagador difere do cliente */
.av3 .av3-col-cliente-pagador {
  display: flex;
  align-items: center;
  gap: 4px;
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 10.5px;
  font-weight: 500;
  color: var(--av3-text-2);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.av3 .av3-col-cliente-pagador svg { width: 11px; height: 11px; flex-shrink: 0; opacity: .7; }

/* Bloco da chave PIX no drawer */
.av3-drawer .av3-pix-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 10px;
  background: oklch(0.96 0.04 155);
  border: 1px solid oklch(0.72 0.14 155 / .32);
}
.av3-drawer .av3-pix-info { min-width: 0; }
.av3-drawer .av3-pix-lbl {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: oklch(0.40 0.14 155);
  margin-bottom: 3px;
}
.av3-drawer .av3-pix-val {
  font-size: 14px;
  font-weight: 600;
  color: oklch(0.33 0.10 155);
  word-break: break-all;
}
.av3-drawer .av3-pix-copy {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
  padding: 8px 12px;
  border-radius: 8px;
  border: 1px solid oklch(0.72 0.14 155 / .45);
  background: white;
  color: oklch(0.40 0.14 155);
  font-size: 12.5px;
  font-weight: 600;
  cursor: pointer;
  transition: background .15s ease, transform .15s ease;
}
.av3-drawer .av3-pix-copy:hover { background: oklch(0.98 0.02 155); transform: translateY(-1px); }
.av3-drawer .av3-pix-copy svg { width: 13px; height: 13px; }

/* Observações livres no drawer */
.av3-drawer .av3-obs-box {
  margin-top: 10px;
  padding: 12px 14px;
  border-radius: 10px;
  background: var(--av3-bg-soft, #F4F4F2);
  border: 1px solid var(--av3-border);
  font-size: 13px;
  line-height: 1.55;
  color: var(--av3-text);
  white-space: pre-wrap;
  word-break: break-word;
}

/* Grupo de lançamentos do mesmo processo */
.av3 .av3-grupo {
  border: 1px solid var(--av3-border);
  border-radius: var(--av3-radius);
  background: var(--av3-bg-soft, #F4F4F2);
  overflow: hidden;
}
.av3 .av3-grupo-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 9px 14px;
  border-bottom: 1px solid var(--av3-border);
}
.av3 .av3-grupo-id { min-width: 0; }
.av3 .av3-grupo-cliente {
  font-family: 'Inter Tight', sans-serif;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--av3-text);
  letter-spacing: -0.01em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.av3 .av3-grupo-caso {
  font-size: 11px;
  color: var(--av3-text-3);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.av3 .av3-grupo-vals { display: flex; align-items: center; gap: 18px; flex-shrink: 0; }
.av3 .av3-grupo-val { display: flex; flex-direction: column; align-items: flex-end; gap: 1px; }
.av3 .av3-grupo-val-lbl {
  font-family: 'JetBrains Mono', monospace;
  font-size: 8.5px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--av3-text-3);
}
.av3 .av3-grupo-val strong {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12.5px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: var(--av3-text);
}
.av3 .av3-grupo-val strong.positive { color: oklch(0.42 0.14 155); }
.av3 .av3-grupo-itens { display: flex; flex-direction: column; gap: 4px; padding: 6px; }
.av3 .av3-grupo-itens .av3-row { border-color: var(--av3-border); }

/* ===== COMPOSIÇÃO DO VALOR — linhas do modal ===== */
.av3m-rub-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}
.av3m-rub-add {
  padding: 5px 11px;
  border-radius: 8px;
  border: 1px solid var(--av3-border-strong, #D6D3D1);
  background: white;
  font-size: 12px;
  font-weight: 600;
  color: var(--av3-text, #1C1917);
  cursor: pointer;
  transition: background .15s ease;
}
.av3m-rub-add:hover { background: var(--av3-bg-soft, #F4F4F2); }
.av3m-rub-lista { display: flex; flex-direction: column; gap: 6px; }
.av3m-rub-lista:not(:empty) { margin-bottom: 8px; }
.av3m-rub-row {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) 68px minmax(0, 122px) 96px 132px 30px;
  gap: 6px;
  align-items: center;
}
/* Quando "Outro" está ativo, o campo livre entra na mesma grade */
.av3m-rub-row .rub-desc { grid-column: 1 / 2; }
/* R$ e % ocupam a mesma célula — só um aparece por vez */
.av3m-rub-row .rub-valor,
.av3m-rub-row .rub-perc { grid-column: 3 / 4; }
.av3m-rub-row .rub-nat,
.av3m-rub-row .rub-desc,
.av3m-rub-row .rub-modo,
.av3m-rub-row .rub-valor,
.av3m-rub-row .rub-perc,
.av3m-rub-row .rub-destino { min-width: 0; padding: 8px 10px; font-size: 13px; }
.av3m-rub-row .rub-modo { padding-left: 8px; padding-right: 4px; text-align: center; }
/* Resultado calculado das linhas em % e resto */
.av3m-rub-row .rub-calc {
  grid-column: 4 / 5;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--av3-text-2, #57534E);
  text-align: right;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.av3m-rub-resumo-alerta {
  margin-left: auto;
  padding: 2px 9px;
  border-radius: 999px;
  background: oklch(0.70 0.18 50 / .14);
  color: oklch(0.45 0.16 50);
  font-weight: 600;
  font-size: 11.5px;
}
.av3m-rub-del {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--av3-text-3, #A8A29E);
  font-size: 19px;
  line-height: 1;
  cursor: pointer;
  transition: background .15s ease, color .15s ease;
}
.av3m-rub-del:hover { background: oklch(0.64 0.20 25 / .10); color: var(--av3-danger, #DC2626); }
/* O resumo vive fora do colapsável: com o bloco fechado, os números
   continuam visíveis logo acima do Valor total. */
.av3m-rub-resumo {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  margin: 10px 0 4px;
  padding: 10px 12px;
  border-radius: 10px;
  background: var(--av3-bg-soft, #F4F4F2);
  border: 1px solid var(--av3-border, #E7E5E4);
  font-size: 12px;
  color: var(--av3-text-2, #57534E);
}
.av3m-rub-resumo strong { font-size: 13.5px; color: var(--av3-text, #1C1917); margin-left: 5px; }
.av3m-rub-resumo .av3m-rub-resumo-hon strong { color: oklch(0.42 0.14 155); }
.av3m-rub-resumo .av3m-rub-resumo-cli strong { color: oklch(0.42 0.13 245); }

/* Em telas estreitas a grade de 6 colunas não cabe. Flex-wrap se acomoda
   sozinho — inclusive no modo "resto", em que o campo de valor nem existe. */
@media (max-width: 720px) {
  .av3m-rub-row {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    padding-bottom: 9px;
    border-bottom: 1px solid var(--av3-border, #E7E5E4);
  }
  .av3m-rub-row:last-child { border-bottom: 0; }
  .av3m-rub-row .rub-nat     { flex: 1 1 100%; order: 1; }
  .av3m-rub-row .rub-desc    { flex: 1 1 100%; order: 2; }
  .av3m-rub-row .rub-modo    { flex: 0 0 78px;  order: 3; }
  .av3m-rub-row .rub-valor,
  .av3m-rub-row .rub-perc    { flex: 1 1 90px;  order: 4; }
  .av3m-rub-row .rub-calc    { flex: 0 0 auto;  order: 5; margin-left: auto; }
  .av3m-rub-row .rub-destino { flex: 1 1 140px; order: 6; }
  .av3m-rub-row .av3m-rub-del{ flex: 0 0 30px;  order: 7; }
}

/* ===== COMPOSIÇÃO DO VALOR — no drawer ===== */
.av3-drawer .av3-rub-tab {
  border: 1px solid var(--av3-border);
  border-radius: 10px;
  overflow: hidden;
}
.av3-drawer .av3-rub-item {
  display: grid;
  grid-template-columns: 1fr 110px 130px;
  gap: 10px;
  align-items: center;
  padding: 9px 14px;
  font-size: 13px;
  border-bottom: 1px solid var(--av3-border);
}
.av3-drawer .av3-rub-item:last-child { border-bottom: 0; }
.av3-drawer .av3-rub-nome { color: var(--av3-text); font-weight: 500; min-width: 0; }
.av3-drawer .av3-rub-dest {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 1px 6px;
  border-radius: 6px;
  border: 1px solid;
  justify-self: start;
}
.av3-drawer .av3-rub-dest.is-escritorio { color: oklch(0.40 0.14 155); background: oklch(0.96 0.04 155); border-color: oklch(0.72 0.14 155 / .35); }
.av3-drawer .av3-rub-dest.is-cliente { color: oklch(0.42 0.13 245); background: oklch(0.97 0.03 245); border-color: oklch(0.64 0.13 245 / .30); }
.av3-drawer .av3-rub-val { text-align: right; font-weight: 600; font-variant-numeric: tabular-nums; }
.av3-drawer .av3-rub-total { background: var(--av3-bg-soft, #F4F4F2); font-weight: 700; }
.av3-drawer .av3-rub-total .av3-rub-nome { font-weight: 700; }

@media (max-width: 760px) {
  .av3-drawer .av3-rub-item { grid-template-columns: 1fr 100px; row-gap: 4px; }
  .av3-drawer .av3-rub-nome { grid-column: 1 / -1; }
  .av3 .av3-grupo-head { flex-direction: column; align-items: flex-start; gap: 8px; }
  .av3 .av3-grupo-vals { gap: 14px; flex-wrap: wrap; }
  .av3 .av3-grupo-val { align-items: flex-start; }
  .av3-drawer .av3-pix-box { flex-direction: column; align-items: stretch; }
  .av3-drawer .av3-pix-copy { justify-content: center; }
}

/* ═══════════════════════════════════════════════════════════════════════
   REDESIGN AAA (2026-08) — nível Stripe Billing / Pipedrive
   Tudo aqui é ADITIVO: novas classes + media queries que cascateiam por
   cima do que já existe. Nenhuma regra acima foi removida ou reescrita.
   ═══════════════════════════════════════════════════════════════════════ */

/* ── [A] Ícone no pill de status (substitui o dot só quando cfg.icon existe:
   hoje só Inadimplente e Quitado) — reforça o estado sem escalar cor. ── */
.av3 .av3-status-pill-icon,
.av3-drawer .av3-status-pill-icon {
  display: inline-flex;
  flex-shrink: 0;
}
.av3 .av3-status-pill-icon svg,
.av3-drawer .av3-status-pill-icon svg {
  width: 10px;
  height: 10px;
}
.av3 .av3-status-danger .av3-status-pill-icon { color: var(--av3-danger); }
.av3 .av3-status-mute .av3-status-pill-icon { color: var(--av3-text-2); }

/* Quitado: destino tranquilo, sem alarme — linha levemente recuada no fluxo
   visual (some sozinha pra trás dos casos em aberto sem sumir da lista).
   :has() é progressive enhancement — sem suporte, cai no estilo padrão. */
.av3 .av3-row:has(.av3-status-mute) { opacity: .82; }
.av3 .av3-row:has(.av3-status-mute):hover,
.av3 .av3-row:has(.av3-status-mute):focus-within { opacity: 1; }
.av3 .av3-acard:has(.av3-status-mute) { opacity: .82; }
.av3 .av3-acard:has(.av3-status-mute):hover { opacity: 1; }

/* ── [B] Estado vazio "AAA": onboarding (zero acordos) vs filtro sem
   resultado — ícone + título + explicação curta + CTA de ação real. ── */
.av3 .av3-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 6px;
  padding: 64px 24px 56px;
  color: var(--av3-text-2);
}
.av3 .av3-empty-icon {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--av3-bg-soft);
  border: 1px solid var(--av3-border);
  color: var(--av3-text-3);
  margin-bottom: 6px;
}
.av3 .av3-empty-icon svg { width: 22px; height: 22px; }
.av3 .av3-empty-title {
  font-family: 'Inter Tight', sans-serif;
  font-size: 15.5px;
  font-weight: 600;
  letter-spacing: -0.012em;
  color: var(--av3-text);
}
.av3 .av3-empty-sub {
  font-size: 12.5px;
  color: var(--av3-text-2);
  max-width: 360px;
  line-height: 1.5;
}
.av3 .av3-empty-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 10px;
  padding: 8px 16px;
  font-size: 12.5px;
  font-weight: 600;
  background: var(--av3-text);
  color: #FFFFFF;
  border-radius: var(--av3-radius-sm);
  transition: transform var(--av3-dur-fast), box-shadow var(--av3-dur-fast);
}
.av3 .av3-empty-cta:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(0,0,0,.12); }
.av3 .av3-empty-cta svg { width: 13px; height: 13px; }

/* ── [C] Composição do valor: barra empilhada escritório×cliente — a
   "parte mais complexa do produto" fica óbvia numa olhada, antes de
   qualquer item individual da lista. Cores batem com os badges já usados
   em .av3-rub-dest (is-escritorio / is-cliente) e na tabela de parcelas. ── */
.av3-drawer .av3-rub-split { margin-bottom: 12px; }
.av3-drawer .av3-rub-split-bar {
  display: flex;
  height: 10px;
  border-radius: 5px;
  overflow: hidden;
  background: var(--av3-bg-soft, #F4F4F2);
  border: 1px solid var(--av3-border);
}
.av3-drawer .av3-rub-split-bar > div { height: 100%; transition: width .6s var(--av3-ease, ease); }
.av3-drawer .av3-rub-split-bar > div.esc { background: oklch(0.72 0.14 155); }
.av3-drawer .av3-rub-split-bar > div.cli { background: oklch(0.64 0.13 245); }
.av3-drawer .av3-rub-split-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 8px;
  font-size: 12px;
  color: var(--av3-text-2, #57534E);
}
.av3-drawer .av3-rub-split-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.av3-drawer .av3-rub-split-legend i.dot {
  width: 8px;
  height: 8px;
  border-radius: 2px;
  flex-shrink: 0;
}
.av3-drawer .av3-rub-split-legend .leg-esc i.dot { background: oklch(0.72 0.14 155); }
.av3-drawer .av3-rub-split-legend .leg-cli i.dot { background: oklch(0.64 0.13 245); }
.av3-drawer .av3-rub-split-legend strong {
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--av3-text, #1C1917);
}
.av3-drawer .av3-rub-split-legend em {
  font-style: normal;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  color: var(--av3-text-3, #78716C);
}

/* ── [D] MOBILE 375: tabela de parcelas vira cartão. Vence a regra de
   min-width:600px definida acima (max-width:640px) por vir depois no
   arquivo — mesma especificidade, ordem de fonte decide. Sem tocar em
   nenhum atributo JS: usa nth-child (ordem das colunas é fixa) + ::before
   pra rotular cada valor. ── */
@media (max-width: 480px) {
  .av3-ptab { overflow-x: visible; }
  .av3-phead { display: none; }
  .av3-prow {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "num     status"
      "venc    venc"
      "valor   honor"
      "cliente forma"
      "acoes   acoes";
    column-gap: 14px;
    row-gap: 8px;
    min-width: 0;
    padding: 12px 14px;
    margin-bottom: 8px;
    border: 1px solid var(--av3-border, #E7E5E4);
    border-radius: 10px;
    background: #FFFFFF;
  }
  .av3-prow:last-child { margin-bottom: 0; }
  .av3-prow.pago { border-color: oklch(0.72 0.14 155 / .30); }
  .av3-prow.venc { border-color: oklch(0.64 0.20 25 / .30); }

  .av3-prow > div:nth-child(1) { grid-area: num; align-self: start; }
  .av3-prow > div:nth-child(2) { grid-area: venc; }
  .av3-prow > div:nth-child(3) { grid-area: valor; text-align: left !important; }
  .av3-prow > div:nth-child(4) { grid-area: honor; text-align: left !important; }
  .av3-prow > div:nth-child(5) { grid-area: cliente; text-align: left !important; }
  .av3-prow > div:nth-child(6) { grid-area: status; justify-self: end; align-self: start; }
  .av3-prow > div:nth-child(7) { grid-area: forma; }
  .av3-prow > div:nth-child(8) { grid-area: acoes; justify-self: end; align-items: center; }

  .av3-prow > div:nth-child(2)::before,
  .av3-prow > div:nth-child(3)::before,
  .av3-prow > div:nth-child(4)::before,
  .av3-prow > div:nth-child(5)::before,
  .av3-prow > div:nth-child(7)::before {
    display: block;
    font-family: 'JetBrains Mono', monospace;
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--av3-text-3, #78716C);
    margin-bottom: 2px;
  }
  .av3-prow > div:nth-child(2)::before { content: "Vencimento"; }
  .av3-prow > div:nth-child(3)::before { content: "Valor"; }
  .av3-prow > div:nth-child(4)::before { content: "Honorário"; }
  .av3-prow > div:nth-child(5)::before { content: "Cliente"; }
  .av3-prow > div:nth-child(7)::before { content: "Forma"; }
}

/* ───── Modal de acordo: reorganização (set/2026) ─────
   Essencial (quem, valor, repartição, pagamento) em cima; o resto em
   "Mais detalhes". Tipo pré-escolhido pelo botão de entrada, em cards compactos. */
.av3m-tipo-field { margin-bottom: 4px; }
.av3m-tipo-field .av3m-tipo-card { padding: 9px 11px; align-items: center; }
.av3m-tipo-field .av3m-tipo-desc { display: none; }
.av3m-tipo-field .av3m-tipo-icon { width: 28px; height: 28px; }
.av3m-tipo-field .av3m-tipo-icon svg { width: 15px; height: 15px; }

.av3m-input-lg { font-size: 17px !important; padding: 11px 14px !important; font-weight: 600; }

.av3m-composicao {
  margin: 8px 0 0;
  background: #FAFAF9;
  border: 1px solid #E7E5E4;
  border-radius: 10px;
  overflow: hidden;
}
.av3m-comp-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 16px;
  font-family: 'Inter Tight', sans-serif;
  font-size: 13.5px;
  font-weight: 600;
  color: #0A0B0D;
  letter-spacing: -0.01em;
  background: #FFFFFF;
}
.av3m-composicao .av3m-clausula-body { border-top: 1px solid #E7E5E4; }
.av3m-composicao + .av3m-rub-resumo { margin-top: 8px; }

/* Blocos aninhados dentro de "Mais detalhes" */
.av3m-mais .av3m-clausula-body > #acordo-detalhes-proc,
.av3m-mais .av3m-clausula-body > .av3m-clausula-penal { margin: 12px 0 0; background: #FFFFFF; }
.av3m-mais .av3m-clausula-body > .av3m-clausula-penal > summary { font-size: 13px; padding: 10px 14px; }
.av3m-mais > summary .av3m-clausula-opt { font-size: 12px; }
/* Sub-blocos de "Mais detalhes" com o mesmo cabeçalho */
.av3m-mais #acordo-detalhes-proc > summary {
  font-family: 'Inter Tight', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #0A0B0D !important;
  text-transform: none;
  letter-spacing: -0.01em;
  padding: 10px 14px !important;
}
.av3m-mais #acordo-detalhes-proc > summary svg { width: 16px; height: 16px; }
@media (max-width: 700px) {
  .av3m-tipo-field .av3m-tipo-grid.av3m-tipo-grid-2 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  #acordo-modal .av3m-sub { display: none; }
}
#acordo-modal .av3m-head { flex-shrink: 0; }
.av3m-rub-add { white-space: nowrap; }
.av3m-rub-resumo .av3m-rub-resumo-ter strong { color: oklch(0.55 0.15 40); }
.av3-rub-dest.is-terceiro { color: oklch(0.55 0.15 40); }
.av3-drawer .av3-rub-dest.is-terceiro { color: oklch(0.50 0.15 40); background: oklch(0.97 0.03 40); border-color: oklch(0.70 0.14 40 / .35); }
.av3 .av3-col-val-extra { margin-top: 2px; color: var(--av3-text-2, #57534E); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ── Execução: origem do levantamento (alvará, penhora…) na lista de pagamentos ── */
.av3 .av3-pay-origem { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; margin-top: 4px; font-size: 11px; color: var(--av3-text-3); }
.av3 .av3-pay-origem-tag { font-size: 9.5px; font-weight: 700; padding: 1px 6px; border-radius: 6px; letter-spacing: .04em; text-transform: uppercase; border: 1px solid oklch(0.65 0.14 300 / .35); color: oklch(0.42 0.14 300); background: oklch(0.96 0.03 300); white-space: nowrap; }
.av3 .av3-pay-origem-obs { min-width: 0; overflow-wrap: anywhere; }

/* ==== /css/acordos-lista-densa.css ==== */
/* ═══════════════════════════════════════════════════════════════════════════
   Acordly — Lista de Acordos: tratamento denso
   Camada puramente estética sobre acordos-v3.css. Não remove informação:
   tira redundância (o rótulo repetido 200 vezes), endireita as colunas e
   devolve o silêncio para a cor significar alguma coisa.

   Três regras que valem para tudo aqui:
   1. Mono ('JetBrains Mono') = fato do sistema (número, data, CNJ, regra).
      Sans ('Inter Tight'/'Inter') = nome próprio e ação humana.
   2. A lista é UMA superfície contínua, não 200 cartões soltos.
   3. Cor só na exceção. Se tudo é colorido, nada é urgente.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── 1. Cada item é uma unidade (de novo) ────────────────────────────────

   A primeira versão dissolveu os cartões numa superfície contínua. Ficou
   elegante e ficou CANSATIVA: sem a unidade do item, o olho perde a linha no
   meio do caminho entre o nome e o valor, e cada consulta vira uma releitura.
   Legibilidade ganha de elegância. O cartão volta — mas leve: papel apoiado
   na mesa, não caixa com moldura grossa.                                     */

.av3 .av3-list { gap: 4px; }

.av3 .av3-list > .av3-row {
  border: 1px solid var(--av3-border);
  border-radius: 10px;
  background: var(--av3-bg-elev);
  box-shadow: 0 1px 2px rgba(10, 11, 13, 0.04);
}

/* Sem salto: em lista longa, movimento por hover embrulha o estômago.
   A linha sob o cursor sobe de papel — sombra e borda, não posição. */
.av3 .av3-list > .av3-row:hover {
  transform: none;
  box-shadow: 0 2px 8px rgba(10, 11, 13, 0.07);
  border-color: var(--av3-border-strong);
  background: var(--av3-bg-elev);
}
.av3 .av3-list > .av3-row.selected { background: oklch(0.97 0 0); }

/* A barra de tipo vira ritmo cromático, não grito. A informação continua
   na tag de texto (ACORDO / HON / REC) ao lado do nome. */
.av3 .av3-list > .av3-row > .av3-row-bar { width: 3px; opacity: 0.55; transition: opacity var(--av3-dur-fast); }
.av3 .av3-list > .av3-row:hover > .av3-row-bar { opacity: 1; }

/* ── 1b. Fechar o deserto do meio ────────────────────────────────────────

   O grid original dá `1fr` ao spacer: em tela larga ele engorda e empurra
   status e ações para o outro lado do monitor, obrigando o olho a atravessar
   um vão vazio a cada consulta. O espaço sobrando passa a ir para o NOME
   (que usa: nome longo, CNJ, pagador) e o bloco de números fecha junto,
   perto do status. Isso é metade do cansaço.                                */

@media (min-width: 1281px) {
  .av3 .av3-list > .av3-row > .av3-row-main,
  .av3 .av3-lista-head > .av3-row-main {
    grid-template-columns: minmax(240px, 1fr) 150px 150px 150px 24px 168px 104px;
  }
}

/* ── 2. Ritmo da linha ───────────────────────────────────────────────────── */

/* Centro vertical, não baseline. O baseline alinhava os números entre si,
   mas ancorava tudo no topo: em card alto (breakdown de rubricas, crédito
   com saldo) o status e as ações ficavam pendurados em cima enquanto o card
   descia mais 50px. Card de qualquer altura, conteúdo sempre no meio. */
.av3 .av3-list > .av3-row > .av3-row-main {
  padding: 11px 16px;
  gap: 16px;
  align-items: center;
}
/* Cada coluna ocupa a altura inteira do card e centra o próprio conteúdo:
   é o que mantém o padrão quando uma coluna tem uma linha a mais que a
   vizinha (o "30% R$ 960,00 · 10% R$ 320,00" do rateio, por exemplo). */
.av3 .av3-list > .av3-row .av3-col-val,
.av3 .av3-list > .av3-row .av3-col-cliente,
.av3 .av3-list > .av3-row .av3-col-status,
.av3 .av3-list > .av3-row .av3-col-acoes {
  align-self: stretch;
  justify-content: center;
}

/* ── 3. Cabeçalho: o rótulo mora aqui, uma vez, não em cada linha ────────── */

.av3 .av3-lista-head {
  position: sticky;
  top: 0;
  z-index: 3;
  background: var(--av3-bg);
  border: 0 !important;
  border-bottom: 1px solid var(--av3-border) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin-bottom: 4px;
}
.av3 .av3-lista-head:hover { background: var(--av3-bg); box-shadow: none; }
.av3 .av3-lista-head > .av3-row-main {
  padding: 7px 16px;
  cursor: default;
  align-items: center;
}
.av3 .av3-lista-head > .av3-row-bar { background: transparent !important; opacity: 1; }

.av3 .av3-hd {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  font-weight: 600;
  color: var(--av3-text-3);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
.av3 .av3-hd-num { text-align: right; }
.av3 .av3-hd-acoes { text-align: right; }

/* Espaço do checkbox quando o modo seleção está ligado (16px + 12px de margem) */
.av3 .av3-lista-head.tem-check > .av3-row-main { margin-left: 28px; }

/* ── 4. Colunas de valor: dígito alinhado com dígito ─────────────────────── */

.av3 .av3-list > .av3-row .av3-col-val { align-items: flex-end; text-align: right; }
.av3 .av3-list > .av3-row .av3-col-val-main { font-size: 13.5px; letter-spacing: -0.01em; }
.av3 .av3-list > .av3-row .av3-col-val-bar { width: 100%; }

/* O rótulo repetido em toda linha sai; o que FOGE do padrão fica.
   (marcado por acordos-lista-densa.js) */
/* Reserva a linha em vez de sumir: a régua horizontal só fecha se todas as
   colunas de valor começarem na mesma altura — inclusive onde o rótulo é
   exceção ('Crédito', 'Honor. fixo') e precisa aparecer. */
.av3 .av3-list > .av3-row .av3-col-val-lbl.av3-lbl-redundante { visibility: hidden; }
.av3 .av3-col-val-lbl.av3-lbl-excecao {
  font-size: 8.5px;
  letter-spacing: 0.08em;
  color: var(--av3-text-3);
  opacity: 0.9;
}

/* As três barras ficam. Elas não são enfeite: respondem "quanto já entrou"
   sem exigir leitura de número — é a varredura da lista inteira em dois
   segundos. O que se controla é o PESO delas, não a presença.
   O trilho precisa de contraste: sem ele você vê o quanto entrou e não vê
   o quanto falta, que é metade da informação. */
.av3 .av3-list > .av3-row .av3-col-val-bar {
  height: 3px;
  background: var(--av3-border);
  opacity: 0.75;
  transition: opacity var(--av3-dur-fast);
}
.av3 .av3-list > .av3-row:hover .av3-col-val-bar,
.av3 .av3-list > .av3-row:focus-within .av3-col-val-bar { opacity: 1; }

/* ── 5. Status: forma primeiro, cor só quando há o que temer ─────────────── */

.av3 .av3-list > .av3-row .av3-col-status { align-items: flex-start; }
.av3 .av3-list > .av3-row .av3-status-pill {
  border-color: transparent;
  background: transparent;
  padding: 2px 0;
  font-size: 11.5px;
  color: var(--av3-text-2);
}
/* Vencido e em risco continuam gritando — e agora são os únicos que gritam. */
.av3 .av3-list > .av3-row .av3-status-pill.av3-status-danger {
  color: var(--av3-danger);
  font-weight: 600;
}
.av3 .av3-list > .av3-row .av3-status-pill.av3-status-warn {
  color: oklch(0.45 0.16 50);
  font-weight: 500;
}

/* ── 6. Ações: a régua aparece quando a mão chega ────────────────────────── */

/* Em repouso os ícones ficam legíveis o bastante para a coluna existir
   (o cabeçalho diz AÇÕES: não pode apontar para o vazio), e ganham contraste
   na linha sob o cursor. */
.av3 .av3-list > .av3-row .av3-col-acoes {
  opacity: 0.32;
  transition: opacity var(--av3-dur-fast);
}
.av3 .av3-list > .av3-row:hover .av3-col-acoes,
.av3 .av3-list > .av3-row:focus-within .av3-col-acoes { opacity: 1; }
@media (hover: none) {
  .av3 .av3-list > .av3-row .av3-col-acoes { opacity: 1; }
}

/* Ação que não cabe nesta linha não some: fica em repouso, dizendo por quê.
   (o motivo vai no title, injetado pelo JS) */
.av3 .av3-acao-btn[disabled] {
  opacity: 0.28;
  cursor: default;
  pointer-events: none;
}

/* ── 7. Linha de contexto: a regra vigente, onde a decisão acontece ──────── */

.av3 .av3-lista-regra {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  line-height: 1.55;
  color: var(--av3-text-3);
  padding: 2px 16px 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 0 7px;
}
.av3 .av3-lista-regra strong {
  font-weight: 600;
  color: var(--av3-text-2);
}

/* ── 8. Mobile: a tabela volta a ser cartão (lá a régua não existe) ──────── */

@media (max-width: 860px) {
  .av3 .av3-lista-head { display: none; }
  .av3 .av3-list { gap: 6px; }
  .av3 .av3-list > .av3-row { border-radius: var(--av3-radius); }
  .av3 .av3-list > .av3-row .av3-col-val-lbl.av3-lbl-redundante { visibility: visible; }
  .av3 .av3-list > .av3-row .av3-col-val { align-items: flex-start; text-align: left; }
  .av3 .av3-list > .av3-row .av3-col-val-bar { opacity: 1; }
}

/* ==== /css/pagador.css ==== */
/* =============================================================
   Quem paga (pagadorNome) — aviso na listagem + painel de revisão
   Mesma paleta da aba Acordos v3.
   ============================================================= */

/* Aviso "sem quem paga" — no padrão dos cartões v3: discreto, uma linha, filete âmbar */
.pgd-banner {
  display: flex; align-items: center; gap: 14px;
  margin: 0 28px 14px; padding: 10px 14px 10px 16px;
  background: #FFFFFF; border: 1px solid #E7E5E4; border-radius: 12px;
  border-left: 3px solid oklch(0.78 0.14 75);
  font-family: 'Inter', system-ui, sans-serif;
}
.pgd-banner-txt { flex: 1; min-width: 0; display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.pgd-banner-t { font-size: 13.5px; font-weight: 600; color: #0A0B0D; }
.pgd-banner-s { font-size: 12.5px; color: #57534E; margin: 0; }
.pgd-btn {
  font: inherit; font-size: 12.5px; font-weight: 600; cursor: pointer;
  padding: 7px 12px; border-radius: 999px; border: 1px solid #D6D3D1; background: #fff; color: #0A0B0D;
  white-space: nowrap; transition: all 120ms;
  /* sem isto o botão encolhe no flex mas o texto (nowrap) continua do tamanho
     que era e vaza para fora da pílula */
  flex-shrink: 0;
}
.pgd-btn:hover { border-color: #0A0B0D; }
.pgd-btn.primary { background: #0A0B0D; color: #fff; border-color: #0A0B0D; }
.pgd-btn.primary:hover { background: #26272B; }
.pgd-x {
  width: 28px; height: 28px; border-radius: 8px; display: grid; place-items: center;
  border: 1px solid #E7E5E4; background: #fff; color: #A8A29E; cursor: pointer; font-size: 12px;
}
.pgd-x:hover { color: #0A0B0D; border-color: #D6D3D1; }
@media (max-width: 640px) { .pgd-banner { margin: 0 12px 12px; flex-wrap: wrap; } }

.pgd-back {
  position: fixed; inset: 0; z-index: 1200;
  background: oklch(0.15 0.01 60 / 0.45);
  display: flex; align-items: center; justify-content: center;
  padding: 24px; animation: pgd-fade 160ms ease;
  font-family: 'Inter', system-ui, sans-serif;
}
@keyframes pgd-fade { from { opacity: 0 } to { opacity: 1 } }

.pgd-modal {
  width: min(880px, 100%); max-height: 86vh;
  display: flex; flex-direction: column;
  background: #FAFAF9; border: 1px solid #E7E5E4; border-radius: 16px;
  box-shadow: 0 24px 60px oklch(0.15 0.01 60 / 0.24);
  overflow: hidden; color: #0A0B0D;
}

.pgd-head {
  display: flex; align-items: flex-start; gap: 12px;
  padding: 18px 20px 14px; border-bottom: 1px solid #E7E5E4; background: #FFF;
}
.pgd-head h2 { margin: 0; font-size: 16px; font-weight: 640; letter-spacing: -0.01em; }
.pgd-head p { margin: 4px 0 0; font-size: 12.5px; color: #57534E; }

.pgd-body { overflow-y: auto; padding: 8px 12px 12px; }
.pgd-loading { padding: 40px 12px; text-align: center; color: #57534E; font-size: 13px; }

.pgd-row {
  display: grid; grid-template-columns: 20px minmax(0, 1fr) 16px minmax(0, 1.2fr);
  align-items: center; gap: 12px;
  padding: 10px 10px; margin-top: 6px;
  background: #FFF; border: 1px solid #E7E5E4; border-radius: 10px;
  cursor: pointer;
}
.pgd-row.vazia { background: #FBFAF9; border-style: dashed; }
.pgd-check { width: 15px; height: 15px; accent-color: #0A0B0D; cursor: pointer; }
.pgd-row-nome { font-size: 13px; font-weight: 560; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pgd-row-proc {
  font-size: 11.5px; color: #A8A29E; margin-top: 1px;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.pgd-row-arrow { color: #A8A29E; text-align: center; }

.pgd-input {
  width: 100%; padding: 7px 9px; font-size: 13px; font-family: inherit;
  border: 1px solid #D6D3D1; border-radius: 8px; background: #FFF; color: #0A0B0D;
}
.pgd-input:focus { outline: none; border-color: #0A0B0D; box-shadow: 0 0 0 3px oklch(0.15 0.01 60 / 0.08); }
.pgd-row-fonte { font-size: 11.5px; color: #78716C; margin-top: 4px; display: flex; align-items: center; gap: 6px; }

.pgd-tag {
  display: inline-block; padding: 1px 6px; border-radius: 5px;
  font-size: 10.5px; font-weight: 600; letter-spacing: .01em; white-space: nowrap;
}
.pgd-tag.ok  { background: oklch(0.72 0.14 155 / 0.14); color: oklch(0.42 0.12 155); }
.pgd-tag.med { background: oklch(0.78 0.14 75 / 0.18);  color: oklch(0.45 0.12 65); }
.pgd-tag.low { background: oklch(0.64 0.20 25 / 0.12);  color: oklch(0.48 0.16 25); }

.pgd-foot {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 12px 16px; border-top: 1px solid #E7E5E4; background: #FFF;
}
.pgd-count { font-size: 12.5px; color: #57534E; }
.pgd-foot-actions { display: flex; gap: 8px; }

@media (max-width: 640px) {
  .pgd-banner { flex-wrap: wrap; }
  .pgd-banner .pgd-btn { flex: 1; }
  .pgd-back { padding: 0; align-items: flex-end; }
  .pgd-modal { max-height: 92vh; border-radius: 16px 16px 0 0; }
  .pgd-row { grid-template-columns: 20px minmax(0, 1fr); row-gap: 6px; }
  .pgd-row-arrow { display: none; }
  .pgd-row-pag { grid-column: 2; }
  .pgd-foot { flex-direction: column; align-items: stretch; }
  .pgd-foot-actions { justify-content: flex-end; }
}

/* ==== /css/financeiro-v3.css ==== */
/* =============================================================
   Acordly — Financeiro v3
   Namespace `.fv3` — isolado de Tailwind/CSS legado.
   Compartilha tokens com acordos-v3.css quando faz sentido.
   ============================================================= */

.fv3 {
  --fv3-bg: #FAFAF9;
  --fv3-bg-elev: #FFFFFF;
  --fv3-bg-soft: #F4F4F2;
  --fv3-border: #E7E5E4;
  --fv3-border-strong: #D6D3D1;
  --fv3-text: #0A0B0D;
  --fv3-text-2: #57534E;
  --fv3-text-3: #A8A29E;
  --fv3-text-mute: #78716C;

  --fv3-hero-bg: #0A0B0D;
  --fv3-hero-border: #1F2024;
  --fv3-hero-border-2: #2A2B30;
  --fv3-hero-text: #FAFAF9;
  --fv3-hero-text-2: #A8A29E;
  --fv3-hero-text-3: #6B6965;

  /* Cores semânticas */
  --fv3-positive: oklch(0.72 0.14 155);
  --fv3-positive-soft: oklch(0.95 0.04 155);
  --fv3-danger: oklch(0.64 0.20 25);
  --fv3-danger-soft: oklch(0.96 0.04 25);
  --fv3-warning: oklch(0.78 0.14 75);
  --fv3-warning-soft: oklch(0.97 0.04 75);
  --fv3-info: oklch(0.64 0.13 245);
  --fv3-info-soft: oklch(0.96 0.03 245);
  --fv3-purple: oklch(0.62 0.18 295);
  --fv3-purple-soft: oklch(0.97 0.03 295);

  --fv3-radius: 12px;
  --fv3-radius-sm: 8px;
  --fv3-radius-xs: 6px;
  --fv3-radius-lg: 18px;

  --fv3-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --fv3-dur: 200ms;
  --fv3-dur-fast: 120ms;

  --fv3-shadow-sm: 0 1px 2px rgba(0,0,0,0.04);
  --fv3-shadow: 0 4px 12px rgba(0,0,0,0.06);
  --fv3-shadow-lg: 0 12px 32px rgba(0,0,0,0.10);

  font-family: 'Inter', system-ui, sans-serif;
  font-size: 13.5px;
  line-height: 1.45;
  color: var(--fv3-text);
  background: var(--fv3-bg);
  margin: 0;
  min-height: calc(100vh - 60px);
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid var(--fv3-border);
}

.fv3 *, .fv3 *::before, .fv3 *::after { box-sizing: border-box; }
/* Reset de button/input mais restrito — não interfere em componentes nomeados */
.fv3 button:not([class*="fv3-"]) { font: inherit; cursor: pointer; border: 0; background: none; color: inherit; padding: 0; }
.fv3 input, .fv3 select, .fv3 textarea { font: inherit; outline: none; }
.fv3 a { color: inherit; text-decoration: none; }
/* Garantia anti-Tailwind preflight: força reset dos botões fv3-* serem ignorados */
.fv3 button[class*="fv3-"] { font-family: inherit; }
.fv3 .mono {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-feature-settings: "tnum";
}
.fv3 h1, .fv3 h2, .fv3 h3, .fv3 .heading {
  font-family: 'Inter Tight', 'Inter', sans-serif;
  letter-spacing: -0.02em;
  font-weight: 600;
}

/* ============== ACESSIBILIDADE — foco visível ============== */
/* outline:none no reset de input/select/textarea (linha acima) tira o anel
   nativo; devolve um anel consistente só para navegação por teclado, sem
   poluir o clique de mouse. Cobre botões, pills, tabs, checkboxes, links de
   ação e campos — qualquer coisa clicável dentro do módulo. */
.fv3 button:focus-visible,
.fv3 a:focus-visible,
.fv3 input:focus-visible,
.fv3 select:focus-visible,
.fv3 textarea:focus-visible,
.fv3 [tabindex]:focus-visible,
.fv3 .fv3-row-checkbox:focus-visible {
  outline: 2px solid var(--fv3-info);
  outline-offset: 2px;
  border-radius: 4px;
}
.fv3 .fv3-hero button:focus-visible,
.fv3 .fv3-hero a:focus-visible,
.fv3 .fv3-hero-config:focus-visible {
  outline-color: #fff;
  outline-offset: 2px;
}
.fv3 .fv3-search:focus-within,
.fv3m-input:focus-visible, .fv3m-select:focus-visible, .fv3m-textarea:focus-visible {
  outline: none; /* já tratado por border-color/box-shadow dedicados */
}

/* ============== HERO ============== */
.fv3 .fv3-hero {
  background: var(--fv3-hero-bg);
  color: var(--fv3-hero-text);
  padding: 28px 32px 30px;
  border-bottom: 1px solid var(--fv3-hero-border);
  position: relative;
  overflow: hidden;
  border-radius: 0;
}
.fv3-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(700px 300px at 80% -10%, oklch(0.62 0.18 295 / 0.08), transparent 60%),
    radial-gradient(500px 260px at 10% 110%, oklch(0.64 0.13 245 / 0.06), transparent 60%);
  pointer-events: none;
}
.fv3-hero > * { position: relative; }

.fv3-hero-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 22px;
  flex-wrap: wrap;
}
.fv3-hero-eyebrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  font-weight: 500;
  color: var(--fv3-hero-text-3);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}
.fv3-hero-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--fv3-positive);
  display: inline-block;
}
.fv3-hero-title {
  font-family: 'Inter Tight', sans-serif;
  font-size: 28px;
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.1;
  color: var(--fv3-hero-text);
  margin: 0;
}
.fv3-hero-subtitle {
  margin-top: 6px;
  font-size: 13px;
  color: var(--fv3-hero-text-2);
}

.fv3-hero-actions {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
  flex-wrap: wrap;
}
.fv3 .fv3-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  border-radius: var(--fv3-radius-sm);
  font-size: 12.5px;
  font-weight: 500;
  cursor: pointer;
  transition: all var(--fv3-dur-fast) var(--fv3-ease);
  white-space: nowrap;
  line-height: 1.2;
  font-family: 'Inter', system-ui, sans-serif;
}
.fv3 .fv3-btn-ghost-dark {
  background: rgba(255,255,255,0.06);
  color: var(--fv3-hero-text);
  border: 1px solid var(--fv3-hero-border-2);
}
.fv3 .fv3-btn-ghost-dark:hover {
  background: rgba(255,255,255,0.12);
  border-color: rgba(255,255,255,0.30);
}
.fv3 .fv3-btn-primary {
  background: var(--fv3-warning);
  color: #0A0B0D;
  border: 1px solid transparent;
}
.fv3 .fv3-btn-primary:hover {
  background: oklch(0.74 0.16 75);
}
.fv3 .fv3-btn-danger {
  background: var(--fv3-danger);
  color: #fff;
  border: 1px solid transparent;
}
.fv3 .fv3-btn-danger:hover { background: oklch(0.60 0.22 25); }
.fv3 .fv3-btn-light {
  background: var(--fv3-bg-elev);
  color: var(--fv3-text);
  border: 1px solid var(--fv3-border);
}
.fv3 .fv3-btn-light:hover { border-color: var(--fv3-border-strong); }
.fv3 .fv3-btn-dark {
  background: var(--fv3-text);
  color: var(--fv3-hero-text);
  border: 1px solid transparent;
}
.fv3 .fv3-btn-dark:hover { background: #1F2024; }

/* ============== KPI HIERARQUIZADO (Resultado destaque + 4 secundários) ============== */
.fv3 .fv3-hero-primary {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 4px 0 18px;
  border-bottom: 1px solid var(--fv3-hero-border);
  margin-bottom: 18px;
}
.fv3 .fv3-hero-primary-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.fv3 .fv3-hero-primary-lbl {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  font-weight: 500;
  color: var(--fv3-hero-text-3);
  text-transform: uppercase;
  letter-spacing: 0.12em;
}
.fv3 .fv3-hero-primary-val {
  font-family: 'Inter Tight', sans-serif;
  font-size: 44px;
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1;
  color: var(--fv3-hero-text);
  font-variant-numeric: tabular-nums;
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin: 4px 0 6px;
}
.fv3 .fv3-hero-primary-val.positive { color: var(--fv3-positive); }
.fv3 .fv3-hero-primary-val.danger   { color: var(--fv3-danger); }
.fv3 .fv3-hero-primary-val .currency {
  font-size: 18px;
  color: var(--fv3-hero-text-2);
  font-weight: 500;
}
.fv3 .fv3-hero-primary-decompose {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  color: var(--fv3-hero-text-2);
}
.fv3 .fv3-hero-primary-decompose .pos { color: var(--fv3-positive); }
.fv3 .fv3-hero-primary-decompose .neg { color: oklch(0.72 0.20 25); }

.fv3 .fv3-hero-secondaries {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
@media (max-width: 900px) {
  .fv3 .fv3-hero-secondaries { grid-template-columns: repeat(2, 1fr); }
}
.fv3 .fv3-hero-secondary {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.fv3 .fv3-hero-secondary-lbl {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9.5px;
  color: var(--fv3-hero-text-3);
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.fv3 .fv3-hero-secondary-val {
  font-family: 'Inter Tight', sans-serif;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--fv3-hero-text);
  font-variant-numeric: tabular-nums;
}
.fv3 .fv3-hero-secondary-val.positive { color: var(--fv3-positive); }
.fv3 .fv3-hero-secondary-val.danger   { color: oklch(0.78 0.16 25); }
.fv3 .fv3-hero-secondary-foot {
  font-size: 11px;
  color: var(--fv3-hero-text-2);
}

/* ============== SCORE DE SAÚDE (0-100) ============== */
.fv3 .fv3-score {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-shrink: 0;
}
.fv3 .fv3-score-circle {
  position: relative;
  width: 90px;
  height: 90px;
  flex-shrink: 0;
}
.fv3 .fv3-score-circle-pct {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.fv3 .fv3-score-circle-val {
  font-family: 'Inter Tight', sans-serif;
  font-size: 26px;
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1;
  color: var(--fv3-hero-text);
}
.fv3 .fv3-score-circle-lbl {
  font-family: 'JetBrains Mono', monospace;
  font-size: 8px;
  color: var(--fv3-hero-text-3);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-top: 2px;
}
.fv3 .fv3-score-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.fv3 .fv3-score-status {
  font-family: 'Inter Tight', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--fv3-hero-text);
}
.fv3 .fv3-score-detail {
  font-size: 11px;
  color: var(--fv3-hero-text-2);
  font-family: 'JetBrains Mono', monospace;
  line-height: 1.5;
}

/* ============== MINI-DRE ============== */
.fv3 .fv3-dre-mini {
  display: flex;
  flex-direction: column;
  gap: 0;
  background: var(--fv3-bg-elev);
  border: 1px solid var(--fv3-border);
  border-radius: var(--fv3-radius);
  overflow: hidden;
}
.fv3 .fv3-dre-row {
  display: grid;
  grid-template-columns: 1fr auto 80px;
  align-items: center;
  gap: 14px;
  padding: 11px 16px;
  border-bottom: 1px solid var(--fv3-border);
  cursor: pointer;
  transition: background var(--fv3-dur-fast);
}
.fv3 .fv3-dre-row:last-child { border-bottom: 0; }
.fv3 .fv3-dre-row:hover { background: var(--fv3-bg-soft); }
.fv3 .fv3-dre-row.subitem {
  padding: 7px 16px 7px 32px;
  font-size: 12px;
  color: var(--fv3-text-2);
  background: var(--fv3-bg-soft);
}
.fv3 .fv3-dre-row.total {
  background: var(--fv3-text);
  color: var(--fv3-hero-text);
  border-top: 1px solid var(--fv3-text);
  font-weight: 600;
}
.fv3 .fv3-dre-row.total .fv3-dre-val { color: var(--fv3-hero-text); }
.fv3 .fv3-dre-row.total.danger { background: oklch(0.40 0.15 25); }
.fv3 .fv3-dre-row.total.positive { background: oklch(0.30 0.10 155); }
.fv3 .fv3-dre-lbl {
  font-size: 13px;
  font-weight: 500;
}
.fv3 .fv3-dre-val {
  font-family: 'JetBrains Mono', monospace;
  font-size: 13.5px;
  font-weight: 600;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.fv3 .fv3-dre-val.positive { color: var(--fv3-positive); }
.fv3 .fv3-dre-val.danger { color: var(--fv3-danger); }
.fv3 .fv3-dre-delta {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.fv3 .fv3-dre-delta.up { color: oklch(0.55 0.16 155); }
.fv3 .fv3-dre-delta.down { color: oklch(0.55 0.20 25); }
.fv3 .fv3-dre-delta.zero { color: var(--fv3-text-3); }

/* Variação em conta bancária */
.fv3 .fv3-conta-var {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  margin-top: 2px;
}
.fv3 .fv3-conta-var.up { color: oklch(0.55 0.16 155); }
.fv3 .fv3-conta-var.down { color: oklch(0.55 0.20 25); }
.fv3 .fv3-conta-var.zero { color: var(--fv3-text-3); }

/* Indicadores avançados (linha) */
.fv3 .fv3-indicators {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
  background: var(--fv3-bg-elev);
  border: 1px solid var(--fv3-border);
  border-radius: var(--fv3-radius);
  padding: 16px 20px;
  margin-bottom: 16px;
}
.fv3 .fv3-indicator {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.fv3 .fv3-indicator-lbl {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9.5px;
  color: var(--fv3-text-3);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.fv3 .fv3-indicator-val {
  font-family: 'Inter Tight', sans-serif;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--fv3-text);
  font-variant-numeric: tabular-nums;
}
.fv3 .fv3-indicator-val.positive { color: oklch(0.45 0.14 155); }
.fv3 .fv3-indicator-val.danger { color: var(--fv3-danger); }
.fv3 .fv3-indicator-val.warning { color: oklch(0.55 0.18 65); }
.fv3 .fv3-indicator-foot {
  font-size: 11px;
  color: var(--fv3-text-3);
}

/* Cenários (forecast) */
.fv3 .fv3-scenarios {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.fv3 .fv3-scenario {
  background: var(--fv3-bg-elev);
  border: 1px solid var(--fv3-border);
  border-radius: var(--fv3-radius-sm);
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  box-shadow:
    0 1px 2px rgba(15, 23, 42, 0.04),
    0 3px 8px rgba(15, 23, 42, 0.03);
  transition: box-shadow 0.18s ease, transform 0.18s ease;
}
.fv3 .fv3-scenario:hover {
  box-shadow:
    0 1px 2px rgba(15, 23, 42, 0.05),
    0 6px 16px rgba(15, 23, 42, 0.05);
  transform: translateY(-1px);
}
.fv3 .fv3-scenario.optimistic { border-left: 4px solid var(--fv3-positive); }
.fv3 .fv3-scenario.realistic  { border-left: 4px solid var(--fv3-warning); }
.fv3 .fv3-scenario.pessimistic { border-left: 4px solid var(--fv3-danger); }
.fv3 .fv3-scenario-lbl {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9.5px;
  color: var(--fv3-text-3);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.fv3 .fv3-scenario-val {
  font-family: 'Inter Tight', sans-serif;
  font-size: 22px;
  font-weight: 600;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}
.fv3 .fv3-scenario.optimistic .fv3-scenario-val { color: oklch(0.45 0.14 155); }
.fv3 .fv3-scenario.realistic  .fv3-scenario-val { color: oklch(0.40 0.10 75); }
.fv3 .fv3-scenario.pessimistic .fv3-scenario-val { color: var(--fv3-danger); }
.fv3 .fv3-scenario-foot {
  font-size: 11px;
  color: var(--fv3-text-3);
}
.fv3 .fv3-scenario-warn {
  margin-top: 12px;
  padding: 10px 14px;
  background: var(--fv3-danger-soft);
  border: 1px solid oklch(0.85 0.10 25);
  border-radius: var(--fv3-radius-sm);
  font-size: 12px;
  color: oklch(0.45 0.18 25);
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Drill-down hover indicator */
.fv3 .fv3-card.clickable {
  cursor: pointer;
  transition: border-color var(--fv3-dur-fast), transform var(--fv3-dur-fast);
}
.fv3 .fv3-card.clickable:hover {
  border-color: var(--fv3-border-strong);
  transform: translateY(-1px);
}
.fv3 .fv3-card.clickable .fv3-card-title::after {
  content: '→';
  margin-left: 6px;
  color: var(--fv3-text-3);
  font-weight: 400;
  transition: transform var(--fv3-dur-fast);
  display: inline-block;
}
.fv3 .fv3-card.clickable:hover .fv3-card-title::after {
  transform: translateX(2px);
  color: var(--fv3-text);
}

/* Selection (ações em lote) */
.fv3 .fv3-table-row.selected {
  background: oklch(0.96 0.04 245);
  border-left-color: var(--fv3-info);
}
.fv3 .fv3-bulk-bar {
  position: sticky;
  top: 0;
  z-index: 10;
  background: var(--fv3-text);
  color: var(--fv3-hero-text);
  padding: 12px 16px;
  border-radius: var(--fv3-radius);
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}
.fv3 .fv3-bulk-count {
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  font-weight: 600;
}
.fv3 .fv3-bulk-actions {
  margin-left: auto;
  display: flex;
  gap: 8px;
}
.fv3 .fv3-bulk-btn {
  padding: 6px 12px;
  border-radius: var(--fv3-radius-xs);
  font-size: 12px;
  font-weight: 500;
  background: rgba(255,255,255,0.10);
  color: var(--fv3-hero-text);
  border: 1px solid rgba(255,255,255,0.20);
  cursor: pointer;
  font-family: 'Inter', system-ui, sans-serif;
  transition: background var(--fv3-dur-fast);
}
.fv3 .fv3-bulk-btn:hover { background: rgba(255,255,255,0.20); }
.fv3 .fv3-bulk-btn.primary {
  background: var(--fv3-warning);
  color: #0A0B0D;
  border-color: var(--fv3-warning);
}
.fv3 .fv3-bulk-btn.primary:hover { background: oklch(0.74 0.16 75); }
.fv3 .fv3-row-checkbox {
  width: 16px;
  height: 16px;
  margin-right: 4px;
  cursor: pointer;
}

/* ============== TOGGLE PERIOD (30/60/90) ============== */
.fv3 .fv3-period-toggle {
  display: inline-flex;
  background: var(--fv3-bg-soft);
  border: 1px solid var(--fv3-border);
  border-radius: var(--fv3-radius-sm);
  padding: 3px;
}
.fv3 .fv3-period-btn {
  padding: 6px 14px;
  border-radius: var(--fv3-radius-xs);
  font-size: 12px;
  font-weight: 500;
  color: var(--fv3-text-2);
  background: transparent;
  border: 0;
  cursor: pointer;
  font-family: 'Inter', system-ui, sans-serif;
  transition: all var(--fv3-dur-fast);
}
.fv3 .fv3-period-btn:hover { color: var(--fv3-text); }
.fv3 .fv3-period-btn.active {
  background: var(--fv3-bg-elev);
  color: var(--fv3-text);
  font-weight: 600;
  box-shadow: 0 1px 2px rgba(0,0,0,0.06);
}

/* ============== FORECAST RESUMO ============== */
.fv3 .fv3-forecast-summary {
  background: var(--fv3-bg-soft);
  border-radius: var(--fv3-radius);
  padding: 18px 22px;
  margin-bottom: 16px;
}
.fv3 .fv3-forecast-line {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  padding: 6px 0;
  font-size: 13px;
}
.fv3 .fv3-forecast-line.total {
  border-top: 1px solid var(--fv3-border);
  margin-top: 6px;
  padding-top: 12px;
  font-weight: 600;
  font-size: 15px;
}
.fv3 .fv3-forecast-line-lbl {
  color: var(--fv3-text-2);
}
.fv3 .fv3-forecast-line.total .fv3-forecast-line-lbl { color: var(--fv3-text); }
.fv3 .fv3-forecast-line-val {
  font-family: 'JetBrains Mono', monospace;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.fv3 .fv3-forecast-line-val.pos { color: var(--fv3-positive); }
.fv3 .fv3-forecast-line-val.neg { color: var(--fv3-danger); }
.fv3 .fv3-forecast-line.total .fv3-forecast-line-val {
  font-size: 18px;
  font-family: 'Inter Tight', sans-serif;
  letter-spacing: -0.02em;
}

/* ============== GRÁFICO DE LINHA (SVG) ============== */
.fv3 .fv3-linechart {
  width: 100%;
  height: 240px;
  position: relative;
  margin: 14px 0;
}
.fv3 .fv3-linechart svg {
  width: 100%;
  height: 100%;
  overflow: visible;
}
.fv3 .fv3-linechart-grid {
  stroke: var(--fv3-border);
  stroke-width: 1;
  stroke-dasharray: 2 3;
  opacity: 0.7;
}
.fv3 .fv3-linechart-axis {
  stroke: var(--fv3-border-strong);
  stroke-width: 1;
}
.fv3 .fv3-linechart-zero {
  stroke: var(--fv3-danger);
  stroke-width: 1;
  stroke-dasharray: 4 3;
  opacity: 0.6;
}
.fv3 .fv3-linechart-line {
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.fv3 .fv3-linechart-line.optimistic  { stroke: oklch(0.55 0.16 155); stroke-dasharray: 4 3; opacity: 0.65; }
.fv3 .fv3-linechart-line.realistic   { stroke: oklch(0.45 0.18 65); stroke-width: 2.5; }
.fv3 .fv3-linechart-line.pessimistic { stroke: oklch(0.55 0.20 25); stroke-dasharray: 4 3; opacity: 0.65; }
.fv3 .fv3-linechart-area {
  fill: oklch(0.45 0.18 65 / 0.08);
}
.fv3 .fv3-linechart-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  fill: var(--fv3-text-3);
}
.fv3 .fv3-linechart-legend {
  display: flex;
  gap: 16px;
  font-size: 11.5px;
  margin-top: 8px;
  flex-wrap: wrap;
}
.fv3 .fv3-linechart-legend-item {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--fv3-text-2);
}
.fv3 .fv3-linechart-legend-line {
  width: 16px; height: 2px;
}

/* ============== LISTA ENTRADAS/SAÍDAS PREVISTAS ============== */
.fv3 .fv3-forecast-list {
  display: flex;
  flex-direction: column;
}
.fv3 .fv3-forecast-list-row {
  display: grid;
  grid-template-columns: 60px 1fr auto auto;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid var(--fv3-border);
  font-size: 12.5px;
}
.fv3 .fv3-forecast-list-row:last-child { border-bottom: 0; }
.fv3 .fv3-forecast-list-data {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--fv3-text-3);
}
.fv3 .fv3-forecast-list-desc {
  color: var(--fv3-text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fv3 .fv3-forecast-list-prob {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  color: var(--fv3-text-3);
}
.fv3 .fv3-forecast-list-val {
  font-family: 'JetBrains Mono', monospace;
  font-weight: 600;
  text-align: right;
}
.fv3 .fv3-forecast-list-val.pos { color: var(--fv3-positive); }
.fv3 .fv3-forecast-list-val.neg { color: var(--fv3-danger); }

/* ============== FLUXO DE BARRAS COM PAGO+PREVISTO (mês atual) ============== */
.fv3 .fv3-fluxo-bar-col-fill.previsto {
  opacity: 0.45;
  border-top: 1px dashed currentColor;
}

/* ============== ALERTA DESTAQUE ============== */
.fv3 .fv3-alert-strong {
  background: linear-gradient(180deg, oklch(0.97 0.05 25) 0%, oklch(0.96 0.04 25) 100%);
  border: 1px solid oklch(0.85 0.10 25);
  border-left: 4px solid var(--fv3-danger);
  border-radius: var(--fv3-radius);
  padding: 14px 18px;
  margin-bottom: 16px;
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.fv3 .fv3-alert-strong-icon {
  width: 32px; height: 32px;
  border-radius: 50%;
  background: oklch(0.92 0.10 25);
  color: var(--fv3-danger);
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.fv3 .fv3-alert-strong-body {
  flex: 1;
  font-size: 13px;
  color: var(--fv3-text);
  line-height: 1.55;
}
.fv3 .fv3-alert-strong-title {
  font-family: 'Inter Tight', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: oklch(0.40 0.18 25);
  margin-bottom: 3px;
  letter-spacing: -0.015em;
}

/* Bar chart simples (comparativos, rentabilidade) */
.fv3 .fv3-hbar-list { display: flex; flex-direction: column; gap: 12px; }
.fv3 .fv3-hbar-row {
  display: grid;
  grid-template-columns: 140px 1fr 100px 60px;
  gap: 12px;
  align-items: center;
  font-size: 12.5px;
}
.fv3 .fv3-hbar-lbl {
  color: var(--fv3-text);
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fv3 .fv3-hbar-bar {
  height: 8px;
  background: var(--fv3-bg-soft);
  border-radius: 4px;
  overflow: hidden;
}
.fv3 .fv3-hbar-bar-fill {
  height: 100%;
  border-radius: 4px;
  transition: width var(--fv3-dur) var(--fv3-ease);
}
.fv3 .fv3-hbar-val {
  font-family: 'JetBrains Mono', monospace;
  font-weight: 600;
  text-align: right;
  font-variant-numeric: tabular-nums;
  color: var(--fv3-text);
}
.fv3 .fv3-hbar-pct {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--fv3-text-3);
  text-align: right;
}

/* ============== HERO ⚙️ (acesso a configurações) ============== */
.fv3 .fv3-hero-config {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  border: 1px solid var(--fv3-hero-border-2);
  background: rgba(255,255,255,0.03);
  color: var(--fv3-hero-text-2);
  display: grid;
  place-items: center;
  cursor: pointer;
  transition: all var(--fv3-dur-fast);
}
.fv3 .fv3-hero-config:hover {
  background: rgba(255,255,255,0.10);
  color: var(--fv3-hero-text);
  border-color: rgba(255,255,255,0.30);
}

/* ============== KPI GRID legado (mantém pra compat) ============== */
.fv3-kpi-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1px;
  background: var(--fv3-hero-border);
  border: 1px solid var(--fv3-hero-border);
  border-radius: var(--fv3-radius);
  overflow: hidden;
}
@media (max-width: 1100px) {
  .fv3-kpi-grid { grid-template-columns: repeat(2, 1fr); }
}

.fv3 .fv3-kpi {
  background: var(--fv3-hero-bg);
  padding: 18px 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}
.fv3 .fv3-kpi-lbl {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 500;
  color: var(--fv3-hero-text-3);
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.fv3 .fv3-kpi-val {
  font-family: 'Inter Tight', sans-serif;
  font-size: 26px;
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.05;
  color: var(--fv3-hero-text);
  font-variant-numeric: tabular-nums;
  display: flex;
  align-items: baseline;
  gap: 4px;
  flex-wrap: wrap;
  word-break: break-all;
}
.fv3 .fv3-kpi-val .currency {
  font-size: 13px;
  color: var(--fv3-hero-text-2);
  font-weight: 500;
}
.fv3-kpi-val.positive { color: var(--fv3-positive); }
.fv3-kpi-val.danger   { color: var(--fv3-danger); }
.fv3-kpi-val.warning  { color: var(--fv3-warning); }
.fv3-kpi-val.info     { color: var(--fv3-info); }

.fv3-kpi-foot {
  font-size: 11.5px;
  color: var(--fv3-hero-text-2);
  display: flex;
  align-items: center;
  gap: 6px;
}
.fv3-kpi-delta {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding: 1px 6px;
  border-radius: 4px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  font-weight: 600;
}
.fv3-kpi-delta.up   { background: rgba(34,197,94,0.15); color: oklch(0.78 0.16 155); }
.fv3-kpi-delta.down { background: rgba(239,68,68,0.15); color: oklch(0.72 0.20 25); }

/* ============== NAV TABS ============== */
.fv3 .fv3-tabs {
  display: flex;
  gap: 4px;
  padding: 0 28px;
  border-bottom: 1px solid var(--fv3-border);
  background: var(--fv3-bg-elev);
  overflow-x: auto;
  scrollbar-width: none;
}
.fv3 .fv3-tabs::-webkit-scrollbar { display: none; }
.fv3 .fv3-tab {
  position: relative;
  padding: 14px 18px;
  font-size: 13.5px;
  font-weight: 500;
  color: var(--fv3-text-2);
  white-space: nowrap;
  transition: color var(--fv3-dur-fast) var(--fv3-ease);
  background: transparent;
  border: 0;
  cursor: pointer;
  font-family: 'Inter', system-ui, sans-serif;
}
.fv3 .fv3-tab:hover { color: var(--fv3-text); }
.fv3 .fv3-tab.active { color: var(--fv3-text); font-weight: 600; }
.fv3 .fv3-tab.active::after {
  content: '';
  position: absolute;
  left: 18px; right: 18px; bottom: -1px;
  height: 2.5px;
  background: var(--fv3-warning);
  border-radius: 2px 2px 0 0;
}

/* ============== CONTENT WRAPPER ============== */
.fv3-content {
  padding: 22px 28px 40px;
  max-width: 1600px;
  margin: 0 auto;
}

/* ============== SUB-TABS (dentro de Análise) ============== */
.fv3 .fv3-subtabs {
  display: flex;
  gap: 2px;
  padding: 4px;
  background: var(--fv3-bg-soft);
  border: 1px solid var(--fv3-border);
  border-radius: var(--fv3-radius);
  margin-bottom: 20px;
  overflow-x: auto;
  scrollbar-width: none;
}
.fv3 .fv3-subtabs::-webkit-scrollbar { display: none; }
.fv3 .fv3-subtab {
  padding: 8px 14px;
  border-radius: var(--fv3-radius-xs);
  font-size: 12.5px;
  font-weight: 500;
  color: var(--fv3-text-2);
  white-space: nowrap;
  background: transparent;
  border: 0;
  cursor: pointer;
  transition: all var(--fv3-dur-fast);
  font-family: 'Inter', system-ui, sans-serif;
}
.fv3 .fv3-subtab:hover { color: var(--fv3-text); }
.fv3 .fv3-subtab.active {
  background: var(--fv3-bg-elev);
  color: var(--fv3-text);
  font-weight: 600;
  box-shadow: 0 1px 2px rgba(0,0,0,0.06);
}

/* ============== ATENÇÃO PRA HOJE ============== */
.fv3 .fv3-attention {
  background: linear-gradient(180deg, oklch(0.97 0.05 25) 0%, oklch(0.97 0.04 75) 100%);
  border: 1px solid oklch(0.85 0.10 35);
  border-radius: var(--fv3-radius);
  padding: 16px 18px;
  margin-bottom: 20px;
}
.fv3 .fv3-attention-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}
.fv3 .fv3-attention-icon {
  width: 28px; height: 28px;
  border-radius: 50%;
  background: oklch(0.92 0.12 35);
  color: oklch(0.45 0.18 30);
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.fv3 .fv3-attention-title {
  font-family: 'Inter Tight', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: oklch(0.40 0.18 30);
  letter-spacing: -0.015em;
}
.fv3 .fv3-attention-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.fv3 .fv3-attention-row {
  display: grid;
  grid-template-columns: 1fr auto auto auto;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  background: rgba(255,255,255,0.65);
  border: 1px solid oklch(0.92 0.06 35);
  border-radius: var(--fv3-radius-sm);
}
.fv3 .fv3-attention-info { min-width: 0; }
.fv3 .fv3-attention-row-title {
  font-size: 13px;
  font-weight: 500;
  color: var(--fv3-text);
  margin-bottom: 2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fv3 .fv3-attention-row-meta {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--fv3-text-3);
}
.fv3 .fv3-attention-val {
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  font-weight: 600;
  color: var(--fv3-positive);
}
.fv3 .fv3-attention-val.danger { color: var(--fv3-danger); }
.fv3 .fv3-attention-action {
  padding: 5px 10px;
  border-radius: var(--fv3-radius-xs);
  font-size: 11.5px;
  font-weight: 500;
  background: var(--fv3-text);
  color: var(--fv3-hero-text);
  border: 0;
  cursor: pointer;
  white-space: nowrap;
  font-family: 'Inter', system-ui, sans-serif;
  transition: background var(--fv3-dur-fast);
}
.fv3 .fv3-attention-action:hover { background: #1F2024; }
.fv3 .fv3-attention-action.ghost {
  background: transparent;
  color: var(--fv3-text-2);
  border: 1px solid var(--fv3-border);
}
.fv3 .fv3-attention-action.ghost:hover { background: var(--fv3-bg-soft); color: var(--fv3-text); }

/* ============== ESTA SEMANA (visão geral) ============== */
.fv3 .fv3-semana-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 6px;
  margin-bottom: 12px;
}
.fv3 .fv3-semana-day {
  background: var(--fv3-bg-elev);
  border: 1px solid var(--fv3-border);
  border-radius: var(--fv3-radius-sm);
  padding: 10px 8px;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.fv3 .fv3-semana-day.today {
  border-color: var(--fv3-warning);
  background: oklch(0.99 0.02 75);
}
.fv3 .fv3-semana-day-lbl {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9.5px;
  color: var(--fv3-text-3);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.fv3 .fv3-semana-day-num {
  font-family: 'Inter Tight', sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: var(--fv3-text);
}
.fv3 .fv3-semana-day.today .fv3-semana-day-num { color: oklch(0.55 0.18 65); }
.fv3 .fv3-semana-day-net {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  font-weight: 600;
  margin-top: 2px;
}
.fv3 .fv3-semana-day-net.pos { color: var(--fv3-positive); }
.fv3 .fv3-semana-day-net.neg { color: var(--fv3-danger); }
.fv3 .fv3-semana-day-net.zero { color: var(--fv3-text-3); }

/* ============== PLACEHOLDER (sub-tabs em desenvolvimento) ============== */
.fv3 .fv3-placeholder {
  background: var(--fv3-bg-elev);
  border: 1px dashed var(--fv3-border-strong);
  border-radius: var(--fv3-radius);
  padding: 40px 24px;
  text-align: center;
}
.fv3 .fv3-placeholder-icon {
  width: 44px; height: 44px;
  border-radius: 50%;
  background: var(--fv3-bg-soft);
  color: var(--fv3-text-3);
  display: inline-grid;
  place-items: center;
  margin-bottom: 12px;
}
.fv3 .fv3-placeholder-title {
  font-family: 'Inter Tight', sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: var(--fv3-text);
  margin-bottom: 4px;
  letter-spacing: -0.015em;
}
.fv3 .fv3-placeholder-msg {
  font-size: 12.5px;
  color: var(--fv3-text-3);
  max-width: 460px;
  margin: 0 auto;
  line-height: 1.5;
}
.fv3 .fv3-placeholder-pill {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 6px;
  background: var(--fv3-bg-soft);
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 600;
  color: var(--fv3-text-2);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-top: 12px;
}

/* ============== CARDS ============== */
.fv3-card {
  background: var(--fv3-bg-elev);
  border: 1px solid var(--fv3-border);
  border-radius: var(--fv3-radius);
  padding: 18px 20px;
  /* Sombra sutil em 2 camadas — define o card sem chamar atenção */
  box-shadow:
    0 1px 2px rgba(15, 23, 42, 0.04),
    0 4px 12px rgba(15, 23, 42, 0.04);
  transition: box-shadow 0.18s ease, transform 0.18s ease;
}
.fv3-card:hover {
  box-shadow:
    0 1px 2px rgba(15, 23, 42, 0.05),
    0 8px 24px rgba(15, 23, 42, 0.06);
}
.fv3-card-soft {
  background: var(--fv3-bg-soft);
  border: 1px solid var(--fv3-border);
  border-radius: var(--fv3-radius);
  padding: 16px 18px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
}
.fv3-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
  gap: 12px;
  flex-wrap: wrap;
}
.fv3-card-title {
  font-family: 'Inter Tight', sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -0.015em;
  color: var(--fv3-text);
}
.fv3-card-subtitle {
  font-size: 11.5px;
  color: var(--fv3-text-3);
  margin-top: 2px;
}

/* ============== CONTAS BANCÁRIAS (cards) ============== */
.fv3-contas-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
  margin-bottom: 18px;
}
.fv3-conta-card {
  background: var(--fv3-bg-elev);
  border: 1px solid var(--fv3-border);
  border-radius: var(--fv3-radius);
  padding: 14px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  transition: border-color var(--fv3-dur-fast) var(--fv3-ease);
}
.fv3-conta-card:hover { border-color: var(--fv3-border-strong); }
.fv3-conta-card.total {
  background: oklch(0.97 0.04 155);
  border-color: oklch(0.85 0.10 155);
}
.fv3-conta-info { display: flex; align-items: center; gap: 10px; min-width: 0; }
.fv3-conta-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.fv3-conta-name {
  font-size: 13px;
  font-weight: 600;
  color: var(--fv3-text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fv3-conta-tipo {
  font-size: 11px;
  color: var(--fv3-text-3);
  margin-top: 1px;
}
.fv3-conta-saldo {
  font-family: 'JetBrains Mono', monospace;
  font-size: 14px;
  font-weight: 600;
  color: var(--fv3-text);
  text-align: right;
  flex-shrink: 0;
}
.fv3-conta-card.total .fv3-conta-saldo { color: oklch(0.45 0.14 155); }

/* ============== GRID DASHBOARD ============== */
.fv3-grid-2 {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 16px;
  margin-bottom: 16px;
}
@media (max-width: 1100px) { .fv3-grid-2 { grid-template-columns: 1fr; } }

.fv3-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
@media (max-width: 900px) { .fv3-grid-3 { grid-template-columns: 1fr; } }

/* ============== FLUXO DE CAIXA (gráfico de barras) ============== */
.fv3 .fv3-fluxo-bars {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 6px;
  align-items: end;
  margin-top: 18px;
  min-height: 200px;
}
.fv3 .fv3-fluxo-bar {
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: center;
  min-width: 0;
}
.fv3 .fv3-fluxo-bar-vals {
  display: flex;
  flex-direction: column;
  gap: 1px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 600;
  text-align: center;
  font-variant-numeric: tabular-nums;
}
.fv3 .fv3-fluxo-bar-receita { color: var(--fv3-positive); }
.fv3 .fv3-fluxo-bar-despesa { color: var(--fv3-danger); }
.fv3 .fv3-fluxo-bar-cols {
  display: flex;
  gap: 3px;
  align-items: end;
  justify-content: center;
  height: 140px;
  width: 100%;
}
.fv3 .fv3-fluxo-bar-col {
  width: 16px;
  height: 100%;
  background: var(--fv3-bg-soft);
  border-radius: 3px 3px 0 0;
  position: relative;
  overflow: hidden;
  flex-shrink: 0;
}
.fv3 .fv3-fluxo-bar-col-fill {
  position: absolute;
  bottom: 0;
  left: 0; right: 0;
  border-radius: 3px 3px 0 0;
  transition: height var(--fv3-dur) var(--fv3-ease);
}
@media (max-width: 800px) {
  .fv3 .fv3-fluxo-bars { grid-template-columns: repeat(9, 1fr); }
  .fv3 .fv3-fluxo-bar-col { width: 12px; }
}
.fv3-fluxo-bar-col.receita .fv3-fluxo-bar-col-fill { background: var(--fv3-positive); }
.fv3-fluxo-bar-col.despesa .fv3-fluxo-bar-col-fill { background: var(--fv3-danger); }
.fv3-fluxo-bar-col.future .fv3-fluxo-bar-col-fill { opacity: 0.45; }
.fv3-fluxo-bar-mes {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9.5px;
  color: var(--fv3-text-3);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.fv3-fluxo-bar.current .fv3-fluxo-bar-mes { color: var(--fv3-warning); font-weight: 600; }
.fv3-fluxo-legend {
  display: flex;
  gap: 14px;
  align-items: center;
  font-size: 11.5px;
  color: var(--fv3-text-2);
}
.fv3-fluxo-legend-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  display: inline-block;
}

/* ============== GAUGE (Ponto de equilíbrio) ============== */
.fv3-gauge-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 0;
}
.fv3-gauge {
  position: relative;
  width: 160px; height: 160px;
}
.fv3-gauge-pct {
  position: absolute; inset: 0;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
}
.fv3-gauge-pct-val {
  font-family: 'Inter Tight', sans-serif;
  font-size: 36px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--fv3-text);
}
.fv3-gauge-pct-lbl {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9.5px;
  color: var(--fv3-text-3);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-top: 2px;
}
.fv3-equil-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  padding: 14px 0 0;
  border-top: 1px solid var(--fv3-border);
  margin-top: 10px;
}
.fv3-equil-stat { text-align: center; }
.fv3-equil-stat-lbl {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9.5px;
  color: var(--fv3-text-3);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 4px;
}
.fv3-equil-stat-val {
  font-family: 'JetBrains Mono', monospace;
  font-size: 14px;
  font-weight: 600;
  color: var(--fv3-text);
}
.fv3-equil-stat-val.positive { color: oklch(0.45 0.14 155); }
.fv3-equil-stat-val.danger { color: oklch(0.50 0.18 25); }

/* ============== CATEGORIAS BAR ============== */
.fv3-cat-list { display: flex; flex-direction: column; gap: 10px; }
.fv3-cat-row {
  display: grid;
  grid-template-columns: 24px 1fr auto auto;
  align-items: center;
  gap: 10px;
  font-size: 12.5px;
}
.fv3-cat-icon {
  width: 22px; height: 22px;
  border-radius: 6px;
  display: grid;
  place-items: center;
  background: var(--fv3-bg-soft);
  color: var(--fv3-text-2);
}
.fv3-cat-bar {
  height: 6px;
  background: var(--fv3-bg-soft);
  border-radius: 3px;
  overflow: hidden;
}
.fv3-cat-bar-fill {
  height: 100%;
  border-radius: 3px;
  transition: width var(--fv3-dur) var(--fv3-ease);
}
.fv3-cat-name { font-size: 12.5px; color: var(--fv3-text); }
.fv3-cat-val {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  font-weight: 600;
  color: var(--fv3-text);
}
.fv3-cat-pct {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--fv3-text-3);
  text-align: right;
  width: 32px;
}

/* ============== PRÓXIMOS VENCIMENTOS ============== */
.fv3 .fv3-venc-list { display: flex; flex-direction: column; gap: 0; }
.fv3 .fv3-venc-row {
  display: grid;
  grid-template-columns: 10px minmax(0, 1fr) 130px 110px;
  align-items: center;
  gap: 14px;
  padding: 14px 0;
  border-bottom: 1px solid var(--fv3-border);
}
.fv3 .fv3-venc-row:last-child { border-bottom: 0; }
.fv3 .fv3-venc-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  align-self: center;
}
.fv3 .fv3-venc-dot.receita { background: var(--fv3-positive); }
.fv3 .fv3-venc-dot.despesa { background: var(--fv3-danger); }
.fv3 .fv3-venc-info { min-width: 0; }
.fv3 .fv3-venc-title {
  font-size: 13px;
  font-weight: 500;
  color: var(--fv3-text);
  margin-bottom: 3px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fv3 .fv3-venc-meta {
  font-size: 11.5px;
  color: var(--fv3-text-3);
}
.fv3 .fv3-venc-val {
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  font-weight: 600;
  text-align: right;
}
.fv3 .fv3-venc-val.receita { color: var(--fv3-positive); }
.fv3 .fv3-venc-val.despesa { color: var(--fv3-danger); }

/* ============== BADGES TEMPORAIS ============== */
.fv3-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  border-radius: 6px;
  font-size: 10.5px;
  font-weight: 500;
  white-space: nowrap;
}
.fv3-badge-dot {
  width: 5px; height: 5px;
  border-radius: 50%;
}
.fv3-badge.atraso {
  background: var(--fv3-danger-soft);
  color: var(--fv3-danger);
}
.fv3-badge.atraso .fv3-badge-dot { background: var(--fv3-danger); }
.fv3-badge.warning {
  background: var(--fv3-warning-soft);
  color: oklch(0.55 0.18 65);
}
.fv3-badge.warning .fv3-badge-dot { background: var(--fv3-warning); }
.fv3-badge.info {
  background: var(--fv3-info-soft);
  color: var(--fv3-info);
}
.fv3-badge.info .fv3-badge-dot { background: var(--fv3-info); }
.fv3-badge.positive {
  background: var(--fv3-positive-soft);
  color: oklch(0.45 0.14 155);
}
.fv3-badge.positive .fv3-badge-dot { background: var(--fv3-positive); }
.fv3-badge.muted {
  background: var(--fv3-bg-soft);
  color: var(--fv3-text-2);
}
.fv3-badge.muted .fv3-badge-dot { background: var(--fv3-text-3); }

.fv3-tipo-badge {
  display: inline-flex;
  padding: 2px 8px;
  border-radius: 4px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.fv3-tipo-badge.honorario { background: var(--fv3-positive-soft); color: oklch(0.45 0.14 155); border: 1px solid oklch(0.85 0.10 155); }
.fv3-tipo-badge.retainer  { background: var(--fv3-info-soft);    color: var(--fv3-info);            border: 1px solid oklch(0.85 0.08 245); }
.fv3-tipo-badge.acordo    { background: var(--fv3-warning-soft); color: oklch(0.55 0.18 65);        border: 1px solid oklch(0.85 0.10 75); }
.fv3-tipo-badge.exito     { background: var(--fv3-purple-soft);  color: var(--fv3-purple);          border: 1px solid oklch(0.85 0.08 295); }
.fv3-tipo-badge.pessoal   { background: oklch(0.96 0.03 245);    color: var(--fv3-info);            border: 1px solid oklch(0.85 0.06 245); }
.fv3-tipo-badge.infra     { background: var(--fv3-bg-soft);      color: var(--fv3-text-2);          border: 1px solid var(--fv3-border); }
.fv3-tipo-badge.custas    { background: oklch(0.96 0.03 25);     color: var(--fv3-danger);          border: 1px solid oklch(0.85 0.06 25); }

/* ============== TOP CLIENTES ============== */
.fv3-top-list { display: flex; flex-direction: column; gap: 0; }
.fv3-top-row {
  display: grid;
  grid-template-columns: 32px 1fr auto;
  align-items: center;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid var(--fv3-border);
  font-size: 13px;
}
.fv3-top-row:last-child { border-bottom: 0; }
.fv3-top-rank {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  font-weight: 600;
  color: var(--fv3-text-3);
}
.fv3-top-name {
  color: var(--fv3-text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fv3-top-val {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--fv3-positive);
}

/* ============== FILTERS / TOOLBAR ============== */
.fv3-toolbar {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}
.fv3 .fv3-search {
  flex: 1;
  min-width: 240px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 13px;
  background: var(--fv3-bg-elev);
  border: 1px solid var(--fv3-border);
  border-radius: var(--fv3-radius-sm);
  transition: border-color var(--fv3-dur-fast);
}
.fv3 .fv3-search:focus-within { border-color: var(--fv3-text); }
.fv3 .fv3-search input {
  flex: 1;
  border: 0;
  background: none;
  font-size: 13px;
  color: var(--fv3-text);
  outline: none;
  padding: 0;
}
.fv3 .fv3-search input::placeholder { color: var(--fv3-text-3); }

.fv3 .fv3-pills {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  scrollbar-width: none;
}
.fv3 .fv3-pills::-webkit-scrollbar { display: none; }
.fv3 .fv3-pill {
  padding: 7px 14px;
  border-radius: 6px;
  font-size: 12.5px;
  font-weight: 500;
  background: var(--fv3-bg-elev);
  border: 1px solid var(--fv3-border);
  color: var(--fv3-text-2);
  white-space: nowrap;
  transition: all var(--fv3-dur-fast);
  cursor: pointer;
  font-family: 'Inter', system-ui, sans-serif;
}
.fv3 .fv3-pill:hover { border-color: var(--fv3-border-strong); color: var(--fv3-text); }
.fv3 .fv3-pill.active {
  background: var(--fv3-text);
  color: var(--fv3-hero-text);
  border-color: var(--fv3-text);
}

/* ============== MINI KPIs (em sub-tabs) ============== */
.fv3-mini-kpis {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-bottom: 16px;
}
@media (max-width: 800px) { .fv3-mini-kpis { grid-template-columns: repeat(2, 1fr); } }
.fv3-mini-kpi {
  background: var(--fv3-bg-elev);
  border: 1px solid var(--fv3-border);
  border-radius: var(--fv3-radius);
  padding: 14px 16px;
}
.fv3-mini-kpi-lbl {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  color: var(--fv3-text-3);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 6px;
}
.fv3-mini-kpi-val {
  font-family: 'Inter Tight', sans-serif;
  font-size: 22px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--fv3-text);
  font-variant-numeric: tabular-nums;
}
.fv3-mini-kpi-val.positive { color: oklch(0.45 0.14 155); }
.fv3-mini-kpi-val.warning { color: oklch(0.55 0.18 65); }
.fv3-mini-kpi-val.danger { color: var(--fv3-danger); }
.fv3-mini-kpi-foot {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  color: var(--fv3-text-3);
  margin-top: 5px;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ============== TABELAS ============== */
.fv3-table {
  background: var(--fv3-bg-elev);
  border: 1px solid var(--fv3-border);
  border-radius: var(--fv3-radius);
  overflow: hidden;
}
.fv3-table-head {
  display: grid;
  gap: 12px;
  background: var(--fv3-bg-soft);
  border-bottom: 1px solid var(--fv3-border);
  padding: 10px 14px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 9.5px;
  font-weight: 600;
  color: var(--fv3-text-3);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.fv3-table-row {
  display: grid;
  gap: 12px;
  align-items: center;
  padding: 14px;
  border-bottom: 1px solid var(--fv3-border);
  border-left: 3px solid transparent;
  transition: background var(--fv3-dur-fast);
}
.fv3-table-row:last-child { border-bottom: 0; }
.fv3-table-row:hover { background: var(--fv3-bg-soft); }
.fv3-table-row.atraso { border-left-color: var(--fv3-danger); }
.fv3-table-row.warning { border-left-color: var(--fv3-warning); }
.fv3-table-row.positive { border-left-color: var(--fv3-positive); }

.fv3-row-id {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  color: var(--fv3-text-3);
  margin-bottom: 2px;
}
.fv3-row-title {
  font-size: 13px;
  font-weight: 600;
  color: var(--fv3-text);
  margin-bottom: 2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fv3-row-meta {
  font-size: 11.5px;
  color: var(--fv3-text-2);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fv3-row-val {
  font-family: 'JetBrains Mono', monospace;
  font-size: 13.5px;
  font-weight: 600;
  text-align: right;
  color: var(--fv3-text);
}
.fv3-row-val.positive { color: var(--fv3-positive); }
.fv3-row-val.danger { color: var(--fv3-danger); }
.fv3-row-conta {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  color: var(--fv3-text-3);
  text-align: right;
  margin-top: 2px;
}
.fv3-row-date {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  color: var(--fv3-text);
  text-align: right;
}
.fv3-row-date-rel {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  color: oklch(0.55 0.18 65);
  text-align: right;
  margin-top: 2px;
}
.fv3 .fv3-row-actions {
  display: flex;
  gap: 4px;
  justify-content: flex-end;
}
.fv3 .fv3-row-action {
  width: 28px; height: 28px;
  border-radius: 6px;
  display: grid;
  place-items: center;
  color: var(--fv3-text-3);
  transition: all var(--fv3-dur-fast);
  background: transparent;
  border: 0;
  cursor: pointer;
}
.fv3 .fv3-row-action:hover {
  color: var(--fv3-text);
  background: var(--fv3-bg-soft);
}
.fv3 .fv3-row-action.danger:hover { color: var(--fv3-danger); background: var(--fv3-danger-soft); }

/* Tabelas A Receber / A Pagar em telas estreitas — as 7 colunas fixas
   (32+110+130+130+110=512px + duas colunas flexíveis) já não cabem no
   tablet de 768px, e com `.fv3-table{overflow:hidden}` o excesso não vira
   scroll: some cortado (status e ações ficavam invisíveis). Vira cartão de
   3 linhas abaixo de 860px, cobrindo tablet 768 e mobile 375 na mesma regra —
   as duas tabelas usam a mesma ordem de colunas (checkbox · título · badge ·
   valor · data · status · ações), então uma única regra por nth-child serve
   as duas. */
@media (max-width: 860px) {
  .fv3-table-head { display: none; }
  .fv3-table-row {
    grid-template-columns: 1fr auto !important;
    grid-auto-rows: auto;
    row-gap: 6px;
    column-gap: 12px;
    padding: 14px !important;
  }
  .fv3-table-row > *:nth-child(1) {
    grid-column: 1 / -1; grid-row: 1;
    display: flex; align-items: center; gap: 8px;
    order: -1;
  }
  .fv3-table-row > *:nth-child(1):empty { display: none; }
  .fv3-table-row > *:nth-child(2) { grid-column: 1; grid-row: 2; min-width: 0; }
  .fv3-table-row > *:nth-child(3) { grid-column: 1; grid-row: 3; }
  .fv3-table-row > *:nth-child(4) { grid-column: 2; grid-row: 2; text-align: right; }
  .fv3-table-row > *:nth-child(4) .fv3-row-conta { text-align: right; }
  .fv3-table-row > *:nth-child(5) { grid-column: 2; grid-row: 3; }
  .fv3-table-row > *:nth-child(5) .fv3-row-date { text-align: right; }
  .fv3-table-row > *:nth-child(6) { grid-column: 1; grid-row: 4; justify-self: start; }
  .fv3-table-row > *:nth-child(7) { grid-column: 2; grid-row: 4; justify-self: end; }
  .fv3-table-row > *:nth-child(7) .fv3-row-actions { justify-content: flex-end; }
}

/* ============== EXTRATO ============== */
.fv3-extrato-row {
  display: grid;
  grid-template-columns: 4px 110px 1fr 140px 120px 120px;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--fv3-border);
  background: var(--fv3-bg-elev);
}
.fv3-extrato-row:first-child { border-radius: var(--fv3-radius) var(--fv3-radius) 0 0; }
.fv3-extrato-row:last-child { border-radius: 0 0 var(--fv3-radius) var(--fv3-radius); border-bottom: 0; }
.fv3-extrato-row .strip {
  width: 4px;
  align-self: stretch;
  border-radius: 2px;
}
.fv3-extrato-row .strip.entrada { background: var(--fv3-positive); }
.fv3-extrato-row .strip.saida { background: var(--fv3-danger); }
.fv3-extrato-data {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--fv3-text-2);
  line-height: 1.4;
}
.fv3-extrato-desc {
  font-size: 13px;
  color: var(--fv3-text);
}
.fv3-extrato-conta {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11.5px;
  color: var(--fv3-text-3);
}
.fv3-extrato-val {
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  font-weight: 600;
  text-align: right;
}
.fv3-extrato-val.entrada { color: var(--fv3-positive); }
.fv3-extrato-val.saida { color: var(--fv3-danger); }
.fv3-extrato-saldo {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12.5px;
  color: var(--fv3-text-2);
  text-align: right;
}

/* ============== EMPTY STATE ============== */
.fv3-empty {
  background: var(--fv3-bg-elev);
  border: 1px solid var(--fv3-border);
  border-radius: var(--fv3-radius);
  padding: 56px 24px;
  text-align: center;
  color: var(--fv3-text-3);
}
.fv3-empty-icon {
  width: 48px; height: 48px;
  border-radius: 50%;
  background: var(--fv3-bg-soft);
  color: var(--fv3-text-3);
  display: inline-grid;
  place-items: center;
  margin-bottom: 12px;
}
.fv3-empty-title {
  font-family: 'Inter Tight', sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: var(--fv3-text);
  margin-bottom: 4px;
}
.fv3-empty-msg { font-size: 12.5px; }

/* ============== INSIGHT (texto contextual) ============== */
.fv3-insight {
  background: linear-gradient(180deg, oklch(0.97 0.03 295) 0%, oklch(0.96 0.04 245) 100%);
  border: 1px solid oklch(0.88 0.06 280);
  border-radius: var(--fv3-radius);
  padding: 14px 16px;
  margin-bottom: 16px;
  display: flex;
  gap: 12px;
}
.fv3-insight-icon {
  width: 28px; height: 28px;
  border-radius: 8px;
  background: oklch(0.92 0.06 280);
  color: var(--fv3-purple);
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.fv3-insight-body {
  font-size: 12.5px;
  color: var(--fv3-text);
  line-height: 1.55;
}
.fv3-insight-body strong { font-weight: 600; }

/* ============== TOGGLE FLOAT (alternar v3 ↔ legado) ============== */
.fv3-toggle-float {
  position: fixed;
  bottom: 18px;
  right: 18px;
  z-index: 90;
  background: #0A0B0D;
  color: #FAFAF9;
  border-radius: 6px;
  padding: 10px 18px;
  font-size: 11.5px;
  font-weight: 500;
  box-shadow: 0 8px 24px rgba(0,0,0,.20);
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: transform var(--fv3-dur-fast);
  font-family: 'Inter', system-ui, sans-serif;
}
.fv3-toggle-float:hover { transform: translateY(-2px); }

/* ============== MOBILE ADJUSTMENTS ============== */
@media (max-width: 700px) {
  .fv3 { font-size: 13px; }
  .fv3-hero { padding: 18px 16px 20px; }
  .fv3-content { padding: 16px; }
  .fv3-hero-title { font-size: 22px; }
  .fv3-kpi-val { font-size: 22px; }
  .fv3-tabs { padding: 0 16px; }

  /* Número que importa não pode arriscar estourar a tela — cai de 44px pra
     um tamanho que ainda lê como "o número grande" sem depender de quantos
     dígitos o saldo do mês tem. */
  .fv3 .fv3-hero-primary-val { font-size: 34px; }
  .fv3 .fv3-hero-primary-val .currency { font-size: 15px; }
  .fv3 .fv3-score-circle { width: 68px; height: 68px; }
  .fv3 .fv3-score-circle svg { width: 68px; height: 68px; }
  .fv3 .fv3-score-circle-val { font-size: 20px; }
  .fv3 .fv3-score-detail { font-size: 10px; }
}

/* ============== EXPORT DROPDOWN ============== */
.fv3-export-wrap { position: relative; }

.fv3-export-menu {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  background: #fff;
  border: 1px solid var(--fv3-border);
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
  min-width: 210px;
  z-index: 200;
  padding: 4px;
  animation: fv3-fadein var(--fv3-dur-fast) ease;
}

.fv3-export-item {
  display: block;
  width: 100%;
  text-align: left;
  background: none;
  border: none;
  padding: 8px 12px;
  font-size: 13px;
  color: var(--fv3-text-1);
  border-radius: 6px;
  cursor: pointer;
  font-family: 'Inter', system-ui, sans-serif;
  transition: background var(--fv3-dur-fast);
}
.fv3-export-item:hover { background: var(--fv3-bg-2); }

.fv3-export-divider {
  height: 1px;
  background: var(--fv3-border);
  margin: 4px 8px;
}

/* ============== PRINT / PDF ============== */
@media print {
  /* Ocultar tudo que não é o financeiro */
  body > *:not(#app):not(main):not(div) { display: none !important; }
  .sidebar, nav, .nav-link, [data-view]:not(#financeiro-view),
  .fv3-hero-actions, .fv3-tabs, .fv3-tab-content > *:not(.fv3-visao-wrap),
  .fv3-export-wrap, .fv3-btn, .fv3-export-menu,
  .fv3-table-actions, [data-action], button { display: none !important; }

  #financeiro-view { display: block !important; }
  .fv3-hero { background: #fff !important; color: #000 !important; border: 1px solid #ddd; }
  .fv3-hero-title, .fv3-hero-eyebrow, .fv3-hero-subtitle { color: #000 !important; }
  .fv3-hero-secondary-lbl, .fv3-hero-secondary-foot { color: #555 !important; }
  .fv3-hero-secondary { border-color: #ddd !important; background: #f8f8f8 !important; }
  .fv3-card { box-shadow: none !important; border: 1px solid #ddd !important; break-inside: avoid; }
  .fv3-grid-2 { grid-template-columns: 1fr 1fr !important; }
  .fv3-content { padding: 0 !important; }
  * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }

  @page { margin: 15mm; size: A4; }
}

/* ============== IMPORTAÇÃO CSV ============== */
.fv3-import-overlay {
  position: fixed; inset: 0;
  background: rgba(0,0,0,.45);
  z-index: 1000;
}
.fv3-import-dialog {
  position: fixed;
  top: 50%; left: 50%;
  transform: translate(-50%,-50%);
  z-index: 1001;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 24px 64px rgba(0,0,0,.20);
  width: min(620px, 95vw);
  max-height: 85vh;
  display: flex;
  flex-direction: column;
  animation: fv3-fadein var(--fv3-dur-normal) ease;
}
.fv3-import-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 20px 24px 16px;
  border-bottom: 1px solid var(--fv3-border);
}
.fv3-import-title { font-size: 15px; font-weight: 600; color: var(--fv3-text-1); }
.fv3-import-sub { font-size: 12.5px; color: var(--fv3-text-3); margin-top: 2px; }
.fv3-import-close {
  background: none; border: none; cursor: pointer;
  font-size: 16px; color: var(--fv3-text-3); padding: 2px 6px;
  border-radius: 4px; transition: background var(--fv3-dur-fast);
}
.fv3-import-close:hover { background: var(--fv3-bg-2); }
.fv3-import-body { padding: 20px 24px; overflow-y: auto; flex: 1; }

.fv3-import-dropzone {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 10px; padding: 36px 20px;
  border: 2px dashed var(--fv3-border);
  border-radius: 10px; cursor: pointer;
  transition: border-color var(--fv3-dur-fast), background var(--fv3-dur-fast);
  text-align: center;
}
.fv3-import-dropzone:hover { border-color: var(--fv3-accent); background: oklch(0.97 0.01 240); }
.fv3-import-dropzone svg { color: var(--fv3-text-3); }
.fv3-import-dropzone-lbl { font-size: 14px; font-weight: 500; color: var(--fv3-text-1); }
.fv3-import-dropzone-sub { font-size: 12px; color: var(--fv3-text-3); }

.fv3-import-hints {
  margin-top: 14px; padding: 12px 14px;
  background: oklch(0.97 0.01 240);
  border-radius: 8px; font-size: 12.5px; color: var(--fv3-text-2);
  line-height: 1.6;
}

.fv3-import-map-title { font-size: 13px; font-weight: 600; color: var(--fv3-text-1); margin-bottom: 12px; }
.fv3-import-map-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.fv3-import-map-row { display: flex; flex-direction: column; gap: 4px; }
.fv3-import-map-lbl { font-size: 11.5px; font-weight: 500; color: var(--fv3-text-2); }
.fv3-import-map-sel {
  padding: 7px 10px; border: 1px solid var(--fv3-border); border-radius: 6px;
  font-size: 12.5px; background: #fff; color: var(--fv3-text-1);
  font-family: 'Inter', system-ui, sans-serif;
}

.fv3-import-preview-info {
  font-size: 12.5px; color: var(--fv3-text-2); margin-bottom: 8px; font-weight: 500;
}
.fv3-import-preview-table {
  border: 1px solid var(--fv3-border); border-radius: 8px; overflow: hidden;
  max-height: 220px; overflow-y: auto;
}

.fv3-import-footer {
  display: flex; justify-content: space-between; align-items: center;
  margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--fv3-border);
}

/* =============================================================
   MODAIS DO FINANCEIRO — fv3m-*
   Namespace para modais de Receita, Despesa e Pagamento.
   Mantém todos os IDs HTML existentes; só aplica CSS novo.
   ============================================================= */

/* Tokens locais dos modais (herdam do .fv3 quando dentro dele, mas
   os modais são fixed/body-level, então redefinimos aqui) */
.fv3m-backdrop {
  position: fixed; inset: 0; z-index: 50;
  display: none; align-items: center; justify-content: center;
  padding: 12px;
  background: rgba(10, 11, 13, 0.72);
  backdrop-filter: blur(2px);
}
.fv3m-backdrop.flex { display: flex; }

.fv3m-box {
  --m-bg: #FFFFFF;
  --m-border: #E7E5E4;
  --m-text: #0A0B0D;
  --m-text-2: #57534E;
  --m-text-3: #A8A29E;
  --m-soft: #F4F4F2;
  --m-positive: oklch(0.68 0.16 155);
  --m-positive-soft: oklch(0.95 0.05 155);
  --m-danger: oklch(0.60 0.20 25);
  --m-danger-soft: oklch(0.96 0.04 25);
  --m-warning-soft: oklch(0.97 0.04 75);
  --m-info: oklch(0.60 0.14 245);
  --m-info-soft: oklch(0.95 0.04 245);
  --m-accent: oklch(0.22 0.01 250);
  --m-radius: 20px;
  --m-radius-sm: 10px;
  --m-radius-xs: 7px;
  --m-shadow: 0 20px 60px rgba(0,0,0,0.18), 0 4px 16px rgba(0,0,0,0.10);
  --m-dur: 180ms;

  background: var(--m-bg);
  border-radius: var(--m-radius);
  box-shadow: var(--m-shadow);
  border: 1px solid var(--m-border);
  width: 100%;
  max-width: 780px;
  max-height: 92vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 13.5px;
  color: var(--m-text);
  animation: fv3m-in var(--m-dur) cubic-bezier(0.22, 1, 0.36, 1);
}
@keyframes fv3m-in {
  from { opacity: 0; transform: translateY(10px) scale(0.98); }
  to   { opacity: 1; transform: none; }
}

/* ── HEADER ── */
.fv3m-head {
  padding: 20px 28px 18px;
  border-bottom: 1px solid var(--m-border);
  display: flex; align-items: flex-start; justify-content: space-between; gap: 16px;
  flex-shrink: 0;
}
.fv3m-head-left { min-width: 0; flex: 1; }
.fv3m-eyebrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9.5px; font-weight: 600; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--m-text-3); margin-bottom: 4px;
}
.fv3m-title {
  font-family: 'Inter Tight', sans-serif;
  font-size: 20px; font-weight: 650; letter-spacing: -0.025em;
  color: var(--m-text); line-height: 1.2;
  margin: 0;
}
.fv3m-subtitle {
  font-size: 12.5px; color: var(--m-text-3); margin-top: 3px;
}
.fv3m-close {
  flex-shrink: 0; width: 28px; height: 28px; border-radius: 50%;
  border: none; background: var(--m-soft); cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  color: var(--m-text-2); transition: background var(--m-dur), color var(--m-dur);
  font-size: 16px; line-height: 1; padding: 0;
}
.fv3m-close:hover { background: var(--m-border); color: var(--m-text); }

/* ── BODY (scrollável) ── */
.fv3m-body {
  padding: 24px 28px;
  overflow-y: auto; flex: 1;
  display: flex; flex-direction: column; gap: 20px;
}

/* ── SEÇÃO ── */
.fv3m-section {
  display: flex; flex-direction: column; gap: 14px;
}
.fv3m-section-title {
  font-size: 11px; font-weight: 600; text-transform: uppercase;
  letter-spacing: 0.08em; color: var(--m-text-3);
  padding-bottom: 8px; border-bottom: 1px solid var(--m-border);
}

/* ── GRID DE CAMPOS ── */
.fv3m-row   { display: grid; gap: 14px; }
.fv3m-row-2 { grid-template-columns: 1fr 1fr; }
.fv3m-row-3 { grid-template-columns: 1fr 1fr 1fr; }
@media (max-width: 600px) {
  .fv3m-row-2, .fv3m-row-3 { grid-template-columns: 1fr; }
}

/* ── CAMPO ── */
.fv3m-field { display: flex; flex-direction: column; gap: 5px; }
.fv3m-label {
  font-size: 11.5px; font-weight: 600; color: var(--m-text-2);
  text-transform: uppercase; letter-spacing: 0.06em;
}
.fv3m-label .req { color: var(--m-positive); margin-left: 2px; }
.fv3m-input, .fv3m-select, .fv3m-textarea {
  width: 100%; padding: 10px 13px;
  border: 1.5px solid var(--m-border); border-radius: var(--m-radius-sm);
  background: var(--m-bg); color: var(--m-text);
  font-family: inherit; font-size: 13.5px;
  transition: border-color var(--m-dur), box-shadow var(--m-dur);
  outline: none; box-sizing: border-box;
}
.fv3m-input:focus, .fv3m-select:focus, .fv3m-textarea:focus {
  border-color: var(--m-accent);
  box-shadow: 0 0 0 3px rgba(0,0,0,0.06);
}
.fv3m-input.error, .fv3m-select.error { border-color: var(--m-danger); }
.fv3m-field-error {
  font-size: 11px; color: var(--m-danger); margin-top: 2px; display: none;
}
.fv3m-field.has-error .fv3m-field-error { display: block; }
.fv3m-field.has-error .fv3m-input,
.fv3m-field.has-error .fv3m-select { border-color: var(--m-danger); }

.fv3m-input-money {
  font-family: 'JetBrains Mono', monospace;
  font-size: 15px; font-weight: 600; letter-spacing: -0.01em;
}
.fv3m-textarea { resize: none; min-height: 80px; line-height: 1.5; }
.fv3m-hint { font-size: 11.5px; color: var(--m-text-3); }

/* ── CARDS DE TIPO DE LANÇAMENTO ── */
.fv3m-tipo-cards {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px;
}
.fv3m-tipo-card {
  display: flex; align-items: flex-start; gap: 10px;
  padding: 12px 14px; border: 1.5px solid var(--m-border);
  border-radius: var(--m-radius-sm); background: var(--m-bg);
  cursor: pointer; text-align: left; font-family: inherit;
  transition: border-color var(--m-dur), background var(--m-dur);
}
.fv3m-tipo-card:hover { border-color: var(--m-accent); background: var(--m-soft); }
.fv3m-tipo-card.active {
  border-color: var(--m-accent);
  background: oklch(0.97 0.012 245);
}
.fv3m-tipo-card-icon {
  width: 34px; height: 34px; border-radius: 9px;
  background: var(--m-soft); display: flex; align-items: center;
  justify-content: center; font-size: 17px; flex-shrink: 0;
  transition: background var(--m-dur), color var(--m-dur);
}
.fv3m-tipo-card.active .fv3m-tipo-card-icon {
  background: var(--m-accent); color: #fff;
}
.fv3m-tipo-card-body { min-width: 0; }
.fv3m-tipo-card-title {
  font-size: 13px; font-weight: 600; color: var(--m-text); line-height: 1.2;
}
.fv3m-tipo-card-desc {
  font-size: 11px; color: var(--m-text-3); margin-top: 3px; line-height: 1.35;
}
@media (max-width: 480px) {
  .fv3m-tipo-cards { grid-template-columns: 1fr; }
  .fv3m-tipo-card { padding: 10px 12px; }
}

/* ── PAINEL CONDICIONAL (parcelado / recorrente) ── */
.fv3m-panel {
  padding: 16px; border-radius: var(--m-radius-sm);
  border: 1px solid var(--m-border); background: var(--m-soft);
  display: flex; flex-direction: column; gap: 14px;
}
/* Sem cores distintas por tipo — neutro em todos os casos */
.fv3m-panel.receita, .fv3m-panel.despesa, .fv3m-panel.recorrente {
  border-color: var(--m-border); background: var(--m-soft);
}

/* ── TOGGLE DE ENTRADA ── */
.fv3m-entrada-toggle {
  display: flex; align-items: center; gap: 10px;
  padding-top: 12px; border-top: 1px solid var(--m-border);
  cursor: pointer;
}
.fv3m-entrada-toggle span { font-size: 12.5px; font-weight: 500; color: var(--m-text-2); }
.fv3m-toggle-check {
  appearance: none; -webkit-appearance: none;
  width: 36px; height: 20px; border-radius: 10px;
  background: var(--m-border); position: relative; cursor: pointer;
  transition: background var(--m-dur); flex-shrink: 0;
}
.fv3m-toggle-check:checked { background: var(--m-accent); }
.fv3m-toggle-check::after {
  content: ''; position: absolute;
  width: 16px; height: 16px; border-radius: 50%;
  background: #fff; top: 2px; left: 2px;
  transition: left var(--m-dur); box-shadow: 0 1px 3px rgba(0,0,0,.25);
}
.fv3m-toggle-check:checked::after { left: 18px; }

/* ── LINHA DE ENTRADA NA TABELA DE PARCELAS ── */
.fv3m-parcela-entrada { background: oklch(0.97 0.012 245); }
.fv3m-parcela-entrada .fv3m-parcela-num {
  font-weight: 700; color: var(--m-accent); font-size: 10px; letter-spacing: .04em;
}
.fv3m-panel-label {
  font-size: 11.5px; font-weight: 600; color: var(--m-text-2);
  display: flex; align-items: center; gap: 6px;
}

/* ── TABELA DE PARCELAS ── */
.fv3m-parcelas-wrap {
  background: var(--m-bg); border-radius: var(--m-radius-xs);
  border: 1px solid var(--m-border); overflow: hidden;
}
.fv3m-parcelas-head {
  display: grid; grid-template-columns: 32px 1fr 130px 32px;
  gap: 8px; padding: 8px 12px;
  background: var(--m-soft); border-bottom: 1px solid var(--m-border);
  font-size: 10px; font-weight: 600; text-transform: uppercase;
  letter-spacing: 0.08em; color: var(--m-text-3);
}
.fv3m-parcela-row {
  display: grid; grid-template-columns: 32px 1fr 130px 32px;
  gap: 8px; padding: 7px 12px; align-items: center;
  border-bottom: 1px solid var(--m-border);
  transition: background var(--m-dur);
}
.fv3m-parcela-row:last-child { border-bottom: none; }
.fv3m-parcela-row:hover { background: var(--m-soft); }
.fv3m-parcela-num {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px; color: var(--m-text-3); font-weight: 600;
}
.fv3m-parcela-input {
  border: 1px solid var(--m-border); border-radius: 6px;
  padding: 5px 8px; font-size: 12.5px; color: var(--m-text);
  background: var(--m-bg); width: 100%; font-family: inherit;
  outline: none; transition: border-color var(--m-dur);
}
.fv3m-parcela-input:focus { border-color: var(--m-accent); }
.fv3m-parcela-input.money { font-family: 'JetBrains Mono', monospace; }
.fv3m-parcelas-foot {
  padding: 8px 12px;
  display: flex; align-items: center; justify-content: space-between;
  border-top: 1px solid var(--m-border); background: var(--m-soft);
}
.fv3m-parcelas-soma {
  font-family: 'JetBrains Mono', monospace; font-size: 11.5px;
  font-weight: 600; color: var(--m-text-2);
}
.fv3m-parcelas-soma.ok  { color: var(--m-positive); }
.fv3m-parcelas-soma.err { color: var(--m-danger); }
.fv3m-parcelas-actions { display: flex; gap: 6px; }

/* ── PREVIEW DE RECORRÊNCIA ── */
.fv3m-recorrencia-preview {
  margin-top: 4px; padding: 12px 14px; display: flex; flex-direction: column; gap: 10px;
  background: var(--m-bg); border: 1px solid var(--m-border);
  border-radius: var(--m-radius-xs);
}
.fv3m-recorrencia-summary {
  font-family: 'JetBrains Mono', monospace; font-size: 12px; font-weight: 600;
  color: var(--m-text); text-align: center;
  padding: 8px 12px; background: var(--m-soft); border-radius: 6px;
  border: 1px solid var(--m-border);
}
.fv3m-recorrencia-preview-title {
  font-size: 10.5px; font-weight: 600; color: var(--m-text-3);
  text-transform: uppercase; letter-spacing: 0.08em;
}
.fv3m-recorrencia-dates {
  display: flex; flex-wrap: wrap; gap: 5px;
}
.fv3m-recorrencia-date {
  font-family: 'JetBrains Mono', monospace; font-size: 10.5px;
  padding: 3px 7px; border-radius: 4px;
  background: var(--m-soft); color: var(--m-text-2); font-weight: 500;
}
.fv3m-recorrencia-date.first { background: oklch(0.93 0.06 245); color: var(--m-accent); }
.fv3m-recorrencia-more {
  font-size: 11px; color: var(--m-text-3); align-self: center;
}

/* ── AUTOCOMPLETE ── */
.fv3m-autocomplete-wrap { position: relative; }
.fv3m-autocomplete-dropdown {
  position: absolute; z-index: 200; width: 100%; top: calc(100% + 4px);
  background: var(--m-bg); border: 1px solid var(--m-border);
  border-radius: var(--m-radius-sm); box-shadow: 0 8px 24px rgba(0,0,0,0.10);
  max-height: 220px; overflow-y: auto; display: none;
}
.fv3m-autocomplete-dropdown.open { display: block; }
.fv3m-autocomplete-item {
  padding: 9px 13px; cursor: pointer;
  transition: background var(--m-dur); border-bottom: 1px solid var(--m-border);
}
.fv3m-autocomplete-item:last-child { border-bottom: none; }
.fv3m-autocomplete-item:hover, .fv3m-autocomplete-item.focused {
  background: var(--m-soft);
}
.fv3m-autocomplete-name { font-size: 13px; font-weight: 500; color: var(--m-text); }
.fv3m-autocomplete-sub  { font-size: 11px; color: var(--m-text-3); margin-top: 1px; }

/* ── BADGE DE VINCULAÇÃO A ACORDO ── */
.fv3m-acordo-badge {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 4px 10px; border-radius: 6px;
  background: oklch(0.94 0.04 245); color: oklch(0.42 0.14 245);
  font-size: 11.5px; font-weight: 500; font-family: 'JetBrains Mono', monospace;
  margin-top: 4px;
}
.fv3m-acordo-badge svg { width: 11px; height: 11px; }

/* ── FOOTER ── */
.fv3m-foot {
  padding: 16px 28px;
  border-top: 1px solid var(--m-border);
  display: flex; align-items: center; justify-content: flex-end; gap: 10px;
  flex-shrink: 0;
}

/* ── BOTÕES DO MODAL ── */
.fv3m-btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 9px 20px; border-radius: 9px; border: none; cursor: pointer;
  font-family: inherit; font-size: 13px; font-weight: 600;
  transition: all var(--m-dur); white-space: nowrap;
}
.fv3m-btn-ghost {
  background: var(--m-soft); color: var(--m-text-2); border: 1px solid var(--m-border);
}
.fv3m-btn-ghost:hover { background: var(--m-border); color: var(--m-text); }
.fv3m-btn-primary {
  background: var(--m-accent); color: #fff;
}
.fv3m-btn-primary:hover { opacity: 0.88; }
.fv3m-btn-primary:disabled {
  opacity: 0.4; cursor: not-allowed; pointer-events: none;
}
.fv3m-btn-positive {
  background: var(--m-positive); color: #fff;
}
.fv3m-btn-positive:hover { opacity: 0.88; }
.fv3m-btn-positive:disabled { opacity: 0.4; cursor: not-allowed; pointer-events: none; }
.fv3m-btn-danger {
  background: var(--m-danger); color: #fff;
}
.fv3m-btn-sm {
  padding: 5px 12px; font-size: 11.5px; border-radius: 7px;
}
.fv3m-btn-icon {
  width: 26px; height: 26px; padding: 0; border-radius: 6px;
  background: transparent; color: var(--m-text-3); border: none; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background var(--m-dur), color var(--m-dur);
}
.fv3m-btn-icon:hover { background: var(--m-soft); color: var(--m-danger); }

/* ── SUBMIT COM LOADING ── */
.fv3m-btn-primary.loading .fv3m-btn-label { display: none; }
.fv3m-btn-primary.loading::after {
  content: ''; display: inline-block;
  width: 14px; height: 14px; border: 2px solid rgba(255,255,255,0.4);
  border-top-color: #fff; border-radius: 50%;
  animation: fv3m-spin 0.7s linear infinite;
}
@keyframes fv3m-spin { to { transform: rotate(360deg); } }

/* ── VALOR TOTAL NO PAGAMENTO ── */
.fv3m-pagamento-total {
  padding: 14px 16px; border-radius: var(--m-radius-sm);
  background: var(--m-soft); border: 1px solid var(--m-border);
  display: flex; align-items: baseline; gap: 10px;
}
.fv3m-pagamento-total-lbl {
  font-size: 11px; font-weight: 600; text-transform: uppercase;
  letter-spacing: 0.08em; color: var(--m-text-3);
}
.fv3m-pagamento-total-val {
  font-family: 'Inter Tight', sans-serif; font-size: 24px;
  font-weight: 700; letter-spacing: -0.02em; color: var(--m-text);
}

/* ═══════════════════════════════════════════════════════════════════════
   Financeiro no CELULAR (jul/2026)
   O menor breakpoint era 700px e só mexia em padding/fonte. As listas com
   colunas fixas (extrato ~564px, vencimentos ~324px, barras ~312px) não
   cabiam em 375px e empurravam a página na horizontal.
   ═══════════════════════════════════════════════════════════════════════ */
@media (max-width: 640px) {
  /* Extrato: 7 colunas fixas (~560px) viram cartão de 3 faixas.
     Células: 1 strip · 2 data · 3 descrição · 4 conta · 5 valor · 6 saldo
     · 7 desfazer.
     O !important é obrigatório: o financeiro-v3.js escreve
     `style="grid-template-columns:..."` inline na própria linha, e estilo
     inline vence media query sem ele. */
  .fv3-extrato-row {
    grid-template-columns: 4px minmax(0, 1fr) auto 28px !important;
    grid-auto-rows: auto;
    gap: 4px 10px;
    padding: 12px 14px !important;
  }
  .fv3-extrato-row > *:nth-child(1) { grid-column: 1; grid-row: 1 / span 3; }
  .fv3-extrato-row > *:nth-child(2) { grid-column: 2; grid-row: 1; }
  .fv3-extrato-row > *:nth-child(3) { grid-column: 2 / 4; grid-row: 2; }
  .fv3-extrato-row > *:nth-child(4) { grid-column: 2; grid-row: 3; justify-self: start; }
  .fv3-extrato-row > *:nth-child(5) { grid-column: 3; grid-row: 1; justify-self: end; }
  .fv3-extrato-row > *:nth-child(6) { grid-column: 3; grid-row: 3; justify-self: end; }
  .fv3-extrato-row > *:nth-child(7) { grid-column: 4; grid-row: 1 / span 3; }
  .fv3-extrato-desc { white-space: normal; overflow-wrap: anywhere; }

  /* Vencimentos: descrição fica com ~100px em 375px se mantiver 3 colunas */
  .fv3 .fv3-venc-row {
    grid-template-columns: 10px minmax(0, 1fr) auto;
    grid-auto-rows: auto;
    gap: 3px 10px;
    padding: 12px 0;
  }
  .fv3 .fv3-venc-row > *:nth-child(1) { grid-column: 1; grid-row: 1 / span 2; }
  .fv3 .fv3-venc-row > *:nth-child(2) { grid-column: 2 / -1; grid-row: 1; }
  .fv3 .fv3-venc-row > *:nth-child(3) { grid-column: 2; grid-row: 2; justify-self: start; }
  .fv3 .fv3-venc-row > *:nth-child(4) { grid-column: 3; grid-row: 2; justify-self: end; }

  /* Barras horizontais: rótulo de 140px fixo não sobra espaço para a barra */
  .fv3 .fv3-hbar-row {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 2px 10px;
  }
  .fv3 .fv3-hbar-row > *:nth-child(1) { grid-column: 1 / -1; }
  .fv3 .fv3-hbar-row > *:nth-child(2) { grid-column: 1; }
  .fv3 .fv3-hbar-row > *:nth-child(3) { grid-column: 2; justify-self: end; }
  .fv3 .fv3-hbar-row > *:nth-child(4) { grid-column: 2; justify-self: end; }
}

/* KPI "vence esta semana" (11/09/2026) */
.fv3 .fv3-hero-secondary-val.warning { color: oklch(0.85 0.15 60); }
.imp-badge-dup { background: oklch(0.64 0.20 25 / .14); color: oklch(0.48 0.18 25); border: 1px solid oklch(0.64 0.20 25 / .35); }

/* ==== /css/financeiro-v4.css ==== */
/* Financeiro v4 — mesmo padrão do Inbox DJE v3 (tokens em design-tokens.css) */
.fv4 { font-family: 'Inter', system-ui, sans-serif; font-size: 13.5px; line-height: 1.45; color: var(--text); background: var(--bg); margin: -16px -16px 0; min-height: calc(100vh - 60px); }
.fv4 *, .fv4 *::before, .fv4 *::after { box-sizing: border-box; }
.fv4 button { font: inherit; cursor: pointer; border: 0; background: none; color: inherit; padding: 0; }
.fv4 input { font: inherit; }
.fv4 svg { width: 14px; height: 14px; flex-shrink: 0; }
.fv4 .mono { font-family: 'JetBrains Mono', ui-monospace, monospace; font-variant-numeric: tabular-nums; }
.fv4 .fv4-muted { color: var(--text-3); font-size: 12px; }
@keyframes fv4-pulse { 0% { box-shadow: 0 0 0 0 oklch(0.72 0.14 155 / .5); } 70% { box-shadow: 0 0 0 6px oklch(0.72 0.14 155 / 0); } 100% { box-shadow: 0 0 0 0 oklch(0.72 0.14 155 / 0); } }

/* Hero */
.fv4 .fv4-hero { background: var(--hero-bg); color: var(--hero-text); padding: 22px 28px 20px; border-bottom: 1px solid var(--hero-border); position: relative; overflow: hidden; }
.fv4 .fv4-hero::before { content: ''; position: absolute; inset: 0; background: radial-gradient(700px 280px at 80% -10%, oklch(0.72 0.14 155 / .08), transparent 60%); pointer-events: none; }
.fv4 .fv4-hero > * { position: relative; }
.fv4 .fv4-hero-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.fv4 .fv4-eyebrow { font-family: 'JetBrains Mono', monospace; font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--hero-text-3); display: flex; align-items: center; gap: 7px; }
.fv4 .fv4-pulse { width: 6px; height: 6px; border-radius: 50%; background: var(--positive); animation: fv4-pulse 2.2s infinite; }
.fv4 .fv4-h1 { font-family: 'Inter Tight', 'Inter', sans-serif; font-size: 26px; font-weight: 600; letter-spacing: -.025em; margin: 6px 0 0; line-height: 1.1; }
.fv4 .fv4-sub { font-size: 13px; color: var(--hero-text-2); margin: 6px 0 0; max-width: 700px; line-height: 1.5; }
.fv4 .fv4-hero-actions { display: flex; gap: 8px; flex-shrink: 0; flex-wrap: wrap; }
.fv4 .fv4-btn-dark { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; font-size: 12.5px; font-weight: 500; background: rgba(255,255,255,.05); color: var(--hero-text); border: 1px solid var(--hero-border-2); border-radius: var(--radius-sm); transition: background var(--dur), border-color var(--dur); }
.fv4 .fv4-btn-dark:hover { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.25); }
.fv4 .fv4-btn-dark.icon { padding: 7px 9px; }
.fv4 .fv4-btn-dark.primary { background: var(--accent); color: #0A0B0D; border-color: var(--accent); }
.fv4 .fv4-btn-dark.primary:hover { background: oklch(0.85 0.14 75); }
.fv4 .fv4-saude { display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 14px; padding: 5px 10px 5px 8px; border-radius: 999px; font-size: 11.5px; color: var(--hero-text-2); border: 1px solid var(--hero-border-2); background: rgba(255,255,255,.04); }
.fv4 .fv4-saude b { color: var(--hero-text); font-weight: 600; }
.fv4 .fv4-saude i { color: var(--hero-text-3); font-style: normal; }
.fv4 .fv4-saude-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--hero-text-3); }
.fv4 .fv4-saude.ok .fv4-saude-dot { background: var(--positive); }
.fv4 .fv4-saude.aviso { color: oklch(0.85 0.12 50); border-color: oklch(0.70 0.18 50 / .45); background: oklch(0.70 0.18 50 / .10); }
.fv4 .fv4-saude.aviso .fv4-saude-dot { background: var(--orange); }
.fv4 .fv4-kpis { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-top: 16px; }
.fv4 .fv4-kpi { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: 11px 13px; text-align: left; border: 1px solid var(--hero-border-2); border-radius: var(--radius-sm); background: rgba(255,255,255,.03); transition: background var(--dur), border-color var(--dur), transform var(--dur-fast); min-width: 0; }
.fv4 .fv4-kpi:hover { background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.22); transform: translateY(-1px); }
.fv4 .fv4-kpi.on { background: rgba(255,255,255,.10); border-color: rgba(255,255,255,.35); }
.fv4 .fv4-kpi-lbl { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; color: var(--hero-text-3); }
.fv4 .fv4-kpi-val { font-family: 'Inter Tight', 'Inter', sans-serif; font-size: clamp(18px, 1.6vw, 24px); font-weight: 600; letter-spacing: -.03em; line-height: 1.05; color: var(--hero-text); white-space: nowrap; }
.fv4 .fv4-kpi-foot { font-size: 11px; color: var(--hero-text-2); }
.fv4 .fv4-kpi.danger .fv4-kpi-val { color: oklch(0.75 0.18 25); }
.fv4 .fv4-kpi.warn .fv4-kpi-val { color: oklch(0.82 0.15 60); }
.fv4 .fv4-kpi.info .fv4-kpi-val { color: oklch(0.78 0.12 245); }

/* Corpo */
.fv4 .fv4-body { padding: 16px 28px 40px; }
.fv4 .fv4-toolbar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 10px 0 14px; position: sticky; top: 0; z-index: 5; background: linear-gradient(var(--bg) 85%, transparent); }
.fv4 .fv4-segs { display: inline-flex; gap: 2px; padding: 3px; border: 1px solid var(--border); border-radius: 999px; background: var(--bg-elev); }
.fv4 .fv4-seg { padding: 5px 12px; border-radius: 999px; font-size: 12.5px; font-weight: 500; color: var(--text-2); transition: background var(--dur-fast), color var(--dur-fast); }
.fv4 .fv4-seg b { font-family: 'JetBrains Mono', monospace; font-size: 10.5px; margin-left: 2px; opacity: .75; }
.fv4 .fv4-seg:hover { color: var(--text); }
.fv4 .fv4-seg.on { background: var(--text); color: var(--bg-elev); }
.fv4 .fv4-search { display: flex; align-items: center; gap: 7px; flex: 1 1 220px; min-width: 180px; max-width: 360px; padding: 0 11px; height: 34px; border: 1px solid var(--border); border-radius: 999px; background: var(--bg-elev); color: var(--text-3); }
.fv4 .fv4-search:focus-within { border-color: var(--border-strong); box-shadow: 0 0 0 3px rgba(0,0,0,.04); }
.fv4 .fv4-search input { flex: 1; min-width: 0; border: 0; outline: 0; background: none; font-size: 13px; color: var(--text); }
.fv4 .fv4-tipos, .fv4 .fv4-contas { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.fv4 .fv4-contas { margin-bottom: 12px; }
.fv4 .fv4-tipo-chip { display: inline-flex; align-items: center; gap: 4px; padding: 4px 10px; border-radius: 999px; font-size: 11.5px; font-weight: 500; color: var(--text-2); background: var(--bg-elev); border: 1px solid var(--border); }
.fv4 .fv4-tipo-chip:hover { border-color: var(--border-strong); color: var(--text); }
.fv4 .fv4-tipo-chip.on { background: var(--text); color: var(--bg-elev); border-color: var(--text); }
.fv4 .fv4-list { display: flex; flex-direction: column; gap: 6px; }

/* Linha de cobrança / despesa */
.fv4 .fv4-row { display: flex; align-items: center; gap: 12px; padding: 10px 14px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--bg-elev); transition: border-color var(--dur-fast); }
.fv4 .fv4-row:hover { border-color: var(--border-strong); }
.fv4 .fv4-row.atraso { border-left: 3px solid var(--danger); }
.fv4 .fv4-stamp { display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 62px; padding: 5px 8px; border-radius: var(--radius-sm); border: 1px solid var(--border); background: var(--bg-soft); color: var(--text-2); flex-shrink: 0; font-variant-numeric: tabular-nums; }
.fv4 .fv4-stamp b { font-family: 'JetBrains Mono', monospace; font-size: 13px; font-weight: 600; }
.fv4 .fv4-stamp span { font-size: 9.5px; text-transform: uppercase; letter-spacing: .04em; white-space: nowrap; }
.fv4 .fv4-stamp.proximo { background: var(--accent-soft); border-color: oklch(0.78 0.14 75 / .5); color: oklch(0.45 0.15 65); }
.fv4 .fv4-stamp.hoje { background: var(--orange-soft); border-color: oklch(0.70 0.18 50 / .5); color: oklch(0.48 0.17 50); }
.fv4 .fv4-stamp.vencido { background: var(--danger-soft); border-color: oklch(0.64 0.20 25 / .45); color: oklch(0.45 0.18 25); }
.fv4 .fv4-main { flex: 1; min-width: 0; }
.fv4 .fv4-l1 { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.fv4 .fv4-l2 { font-size: 12px; color: var(--text-2); margin-top: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fv4 .fv4-cli { font-size: 13.5px; font-weight: 600; color: var(--text); cursor: pointer; text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 3px; }
.fv4 .fv4-cli:hover { text-decoration-color: currentColor; }
.fv4 .fv4-cli.sem { cursor: default; text-decoration: none; }
.fv4 .fv4-tag { font-family: 'JetBrains Mono', monospace; font-size: 9.5px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; padding: 2px 6px; border-radius: 4px; color: oklch(0.45 0.13 245); background: var(--info-soft); border: 1px solid oklch(0.64 0.13 245 / .25); }
.fv4 .fv4-tag.alt { color: var(--text-2); background: var(--bg-soft); border-color: var(--border); }
.fv4 .fv4-tag.ok { color: oklch(0.40 0.12 160); background: var(--positive-soft); border-color: oklch(0.72 0.14 155 / .35); display: inline-flex; align-items: center; gap: 4px; text-transform: none; letter-spacing: 0; font-size: 10.5px; }
.fv4 .fv4-tag.ok svg { width: 11px; height: 11px; }
.fv4 .fv4-tag.warn { color: oklch(0.45 0.15 55); background: var(--orange-soft); border-color: oklch(0.70 0.18 50 / .4); }
.fv4 .fv4-pont { font-size: 11px; padding: 1px 7px; border-radius: 999px; }
.fv4 .fv4-pont.ok { color: oklch(0.40 0.12 160); background: var(--positive-soft); }
.fv4 .fv4-pont.ruim { color: oklch(0.45 0.18 25); background: var(--danger-soft); }
.fv4 .fv4-val { text-align: right; flex-shrink: 0; min-width: 110px; }
.fv4 .fv4-val b { font-family: 'JetBrains Mono', monospace; font-size: 14px; font-weight: 600; font-variant-numeric: tabular-nums; display: block; }
.fv4 .fv4-val b.entrada { color: oklch(0.45 0.13 160); }
.fv4 .fv4-val b.saida { color: var(--text-2); }
.fv4 .fv4-val small { font-size: 10.5px; color: var(--text-3); }
.fv4 .fv4-acts { display: flex; gap: 4px; flex-shrink: 0; align-items: center; }
.fv4 .fv4-act { display: inline-flex; align-items: center; gap: 5px; padding: 6px 9px; border-radius: 7px; font-size: 11.5px; font-weight: 500; color: var(--text-2); background: var(--bg-elev); border: 1px solid var(--border); white-space: nowrap; transition: all var(--dur-fast); }
.fv4 .fv4-act:hover { color: var(--text); border-color: var(--border-strong); transform: translateY(-1px); }
.fv4 .fv4-act.primary { color: oklch(0.40 0.12 160); background: var(--positive-soft); border-color: oklch(0.72 0.14 155 / .4); }
.fv4 .fv4-act.ok:hover { color: oklch(0.40 0.12 160); background: var(--positive-soft); }
.fv4 .fv4-act.ghost { padding: 6px 7px; }
.fv4 .fv4-act.danger:hover { color: var(--danger); border-color: oklch(0.64 0.20 25 / .4); }
.fv4 .fv4-act svg { width: 13px; height: 13px; }

/* Extrato */
.fv4 .fv4-dia { margin-bottom: 12px; }
.fv4 .fv4-dia-h { display: flex; align-items: center; gap: 10px; font-family: 'JetBrains Mono', monospace; font-size: 11px; color: var(--text-3); padding: 4px 2px 6px; }
.fv4 .fv4-line { flex: 1; height: 1px; background: var(--border); }
.fv4 .fv4-mov { display: flex; align-items: center; gap: 12px; padding: 8px 12px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--bg-elev); margin-bottom: 4px; }
.fv4 .fv4-mov.semdono { border-left: 3px solid var(--orange); }
.fv4 .fv4-mov-s { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; font-weight: 700; font-size: 14px; flex-shrink: 0; }
.fv4 .fv4-mov-s.entrada { background: var(--positive-soft); color: oklch(0.40 0.12 160); }
.fv4 .fv4-mov-s.saida { background: var(--bg-soft); color: var(--text-2); }

/* Relatórios */
.fv4 .fv4-rel { display: grid; grid-template-columns: 1.4fr 1fr; gap: 14px; }
.fv4 .fv4-card { background: var(--bg-elev); border: 1px solid var(--border); border-radius: var(--radius); padding: 16px 18px; }
.fv4 .fv4-card h3 { margin: 0 0 12px; font-family: 'Inter Tight', 'Inter', sans-serif; font-size: 15px; font-weight: 600; letter-spacing: -.01em; }
.fv4 .fv4-bars { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; align-items: end; height: 170px; }
.fv4 .fv4-bar-g { display: flex; flex-direction: column; align-items: center; gap: 4px; height: 100%; }
.fv4 .fv4-bar-w { flex: 1; width: 100%; display: flex; align-items: flex-end; justify-content: center; gap: 4px; }
.fv4 .fv4-bar-w i { width: 40%; border-radius: 4px 4px 0 0; min-height: 2px; }
.fv4 .fv4-bar-w i.e { background: var(--positive); }
.fv4 .fv4-bar-w i.s { background: var(--neutral-muted); }
.fv4 .fv4-bar-g span { font-size: 11px; color: var(--text-2); text-transform: capitalize; }
.fv4 .fv4-bar-g small { font-family: 'JetBrains Mono', monospace; font-size: 10px; }
.fv4 .pos { color: oklch(0.45 0.13 160); } .fv4 .neg { color: var(--danger); }
.fv4 .fv4-top { margin: 0; padding-left: 18px; display: grid; gap: 6px; font-size: 13px; }
.fv4 .fv4-top li { display: flex; justify-content: space-between; gap: 10px; }
.fv4 .fv4-top b { font-family: 'JetBrains Mono', monospace; font-weight: 600; }
.fv4 .fv4-prev { display: grid; gap: 8px; }
.fv4 .fv4-prev div { display: flex; justify-content: space-between; font-size: 13px; color: var(--text-2); padding: 6px 0; border-bottom: 1px solid var(--border); }
.fv4 .fv4-prev b { font-family: 'JetBrains Mono', monospace; font-size: 14px; }
.fv4 .fv4-exp { display: flex; flex-wrap: wrap; gap: 6px; }
.fv4 .fv4-btn { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 500; color: var(--text-2); background: var(--bg-elev); border: 1px solid var(--border); }
.fv4 .fv4-btn:hover { color: var(--text); border-color: var(--border-strong); }
.fv4 .fv4-btn.primary { background: var(--text); color: var(--bg-elev); border-color: var(--text); margin-top: 12px; }
.fv4 .fv4-empty { text-align: center; padding: 48px 20px; border: 1px dashed var(--border); border-radius: var(--radius); background: var(--bg-elev); display: flex; flex-direction: column; align-items: center; gap: 4px; }
.fv4 .fv4-empty b { font-family: 'Inter Tight', 'Inter', sans-serif; font-size: 16px; font-weight: 600; }
.fv4 .fv4-empty span { font-size: 12.5px; color: var(--text-2); max-width: 520px; }

/* Modal "de quem é" */
.fv4-modal-back { position: fixed; inset: 0; z-index: 1200; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(10,11,13,.55); backdrop-filter: blur(3px); font-family: 'Inter', system-ui, sans-serif; }
.fv4-modal { width: 100%; max-width: 560px; max-height: 88vh; display: flex; flex-direction: column; background: #fff; color: #0A0B0D; border-radius: 18px; box-shadow: 0 32px 80px rgba(0,0,0,.3); overflow: hidden; }
.fv4-modal header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 20px 22px 14px; border-bottom: 1px solid #E7E5E4; }
.fv4-modal h2 { margin: 4px 0 2px; font-family: 'Inter Tight', 'Inter', sans-serif; font-size: 20px; font-weight: 600; letter-spacing: -.02em; }
.fv4-modal .fv4-eyebrow { margin: 0; font-family: 'JetBrains Mono', monospace; font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: #A8A29E; }
.fv4-modal .fv4-muted { margin: 0; font-size: 12.5px; color: #57534E; }
.fv4-x { width: 30px; height: 30px; border-radius: 8px; display: grid; place-items: center; color: #A8A29E; border: 1px solid #E7E5E4; background: #fff; cursor: pointer; }
.fv4-x svg { width: 13px; height: 13px; }
.fv4-modal-body { overflow: auto; padding: 10px 12px 14px; display: grid; gap: 6px; }
.fv4-cand { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; text-align: left; padding: 10px 12px; border: 1px solid #E7E5E4; border-radius: 10px; background: #fff; cursor: pointer; font: inherit; color: inherit; }
.fv4-cand:hover { border-color: #0A0B0D; }
.fv4-cand.exato { border-color: oklch(0.72 0.14 155 / .6); background: oklch(0.72 0.14 155 / .06); }
.fv4-cand.ignorar { background: #F4F4F2; }
.fv4-cand-main { display: flex; flex-direction: column; min-width: 0; }
.fv4-cand-main b { font-size: 13.5px; }
.fv4-cand-main small { font-size: 12px; color: #57534E; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fv4-cand-val { font-family: 'JetBrains Mono', monospace; font-weight: 600; text-align: right; display: flex; flex-direction: column; align-items: flex-end; }
.fv4-cand-val em { font-style: normal; font-size: 10px; color: oklch(0.40 0.12 160); font-weight: 500; }

@media (max-width: 1100px) { .fv4 .fv4-kpis { grid-template-columns: repeat(3, 1fr); } .fv4 .fv4-rel { grid-template-columns: 1fr; } }
@media (max-width: 640px) {
  .fv4 { margin: -12px -12px 0; }
  .fv4 .fv4-hero { padding: 18px 16px 16px; } .fv4 .fv4-h1 { font-size: 21px; } .fv4 .fv4-hero-head { flex-direction: column; }
  .fv4 .fv4-btn-dark .lbl { display: none; } .fv4 .fv4-kpis { grid-template-columns: repeat(2, 1fr); }
  .fv4 .fv4-body { padding: 12px 12px 40px; } .fv4 .fv4-toolbar { position: static; } .fv4 .fv4-search { max-width: none; flex-basis: 100%; }
  .fv4 .fv4-row { flex-wrap: wrap; } .fv4 .fv4-val { min-width: 0; } .fv4 .fv4-acts { width: 100%; justify-content: flex-end; } .fv4 .fv4-act span { display: none; } .fv4 .fv4-act.primary span { display: inline; }
}

/* ── Dívidas do escritório (aba A pagar) ────────────────────────────────── */
.fv4 .fv4-dividas { border: 1px solid var(--border); border-radius: var(--radius); background: var(--bg-elev); padding: 14px 16px; margin-bottom: 12px; }
.fv4 .fv4-dividas.sugestao { border-style: dashed; background: transparent; }
.fv4 .fv4-div-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 10px; }
.fv4 .fv4-div-head b { display: block; font-family: 'Inter Tight', 'Inter', sans-serif; font-size: 23px; font-weight: 600; letter-spacing: -.03em; line-height: 1.1; }
.fv4 .fv4-div-head small { font-size: 12px; color: var(--text-2); }
.fv4 .fv4-div-head em { font-style: normal; color: var(--danger); }
.fv4 .fv4-div-row { display: grid; grid-template-columns: 1fr 120px auto; gap: 12px; align-items: center; padding: 9px 0; border-top: 1px dashed var(--border); cursor: pointer; }
.fv4 .fv4-div-row:hover { background: var(--bg); }
.fv4 .fv4-div-main { min-width: 0; }
.fv4 .fv4-div-main b { font-size: 13.5px; font-weight: 600; display: block; }
.fv4 .fv4-div-main small { font-size: 11.5px; color: var(--text-3); }
.fv4 .fv4-div-prog { height: 7px; border-radius: 4px; background: var(--bg); overflow: hidden; }
.fv4 .fv4-div-prog i { display: block; height: 100%; background: var(--positive); border-radius: 4px; }
.fv4 .fv4-div-val { text-align: right; }
.fv4 .fv4-div-val b { display: block; font-size: 14px; }
.fv4 .fv4-div-val small { font-size: 11px; color: var(--text-3); }
.fv4 .fv4-div-pe { margin: 10px 0 0; font-size: 11.5px; color: var(--text-3); }
.fv4 .fv4-div-sug { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.fv4 .fv4-div-sug b { font-size: 13.5px; display: block; }
.fv4 .fv4-div-sug small { font-size: 11.5px; color: var(--text-2); }
@media (max-width: 640px) { .fv4 .fv4-div-row { grid-template-columns: 1fr auto; } .fv4 .fv4-div-prog { display: none; } }
.fv4 .fv4-div-sug-tit { margin: 0 0 10px; font-size: 12.5px; color: var(--text-2); line-height: 1.5; }
.fv4 .fv4-div-sug + .fv4-div-sug { margin-top: 10px; padding-top: 10px; border-top: 1px dashed var(--border); }

/* ── Lançamento em dobro ────────────────────────────────────────────────── */
.fv4 .fv4-dup { border: 1px solid oklch(0.64 0.20 25 / .38); background: var(--danger-soft); border-radius: var(--radius); padding: 14px 16px; margin-bottom: 12px; }
.fv4 .fv4-dup-head { display: flex; gap: 10px; align-items: flex-start; }
.fv4 .fv4-dup-head svg { width: 17px; height: 17px; color: var(--danger); flex-shrink: 0; margin-top: 2px; }
.fv4 .fv4-dup-head b { font-size: 13.5px; display: block; }
.fv4 .fv4-dup-head small { font-size: 12.5px; color: var(--text-2); line-height: 1.5; display: block; margin-top: 2px; }
.fv4 .fv4-dup-head i { font-style: italic; }
.fv4 .fv4-dup-tbl { width: 100%; border-collapse: collapse; margin: 12px 0 4px; font-size: 12.5px; background: var(--bg-elev); border-radius: var(--radius-sm); overflow: hidden; }
.fv4 .fv4-dup-tbl th { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: .07em; text-transform: uppercase; color: var(--text-3); font-weight: 500; padding: 7px 10px; text-align: left; }
.fv4 .fv4-dup-tbl th.n, .fv4 .fv4-dup-tbl td.n { text-align: right; }
.fv4 .fv4-dup-tbl td { padding: 7px 10px; border-top: 1px solid var(--border); font-family: 'JetBrains Mono', monospace; font-variant-numeric: tabular-nums; }
.fv4 .fv4-dup-tbl td small { display: block; font-family: 'Inter', sans-serif; font-size: 10.5px; color: var(--text-3); font-variant-numeric: normal; }
.fv4 .fv4-dup-tbl td:nth-child(2), .fv4 .fv4-dup-tbl td:nth-child(3) { text-align: right; }
.fv4 .fv4-dup-tbl td:nth-child(2) small, .fv4 .fv4-dup-tbl td:nth-child(3) small { text-align: right; }
.fv4 .fv4-dup-acoes { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
.fv4 .fv4-dup-pe { margin: 10px 0 0; font-size: 11.5px; color: var(--text-2); }

/* ── Execuções: bloco "sem data prevista" no A Cobrar ─────────────────────
   Crédito judicial não tem vencimento. Fica separado das cobranças datadas
   para não ser lido como atraso de ninguém — quem está em mora é o executado. */
.fv4 .fv4-tag.exec { color: oklch(0.42 0.14 300); background: oklch(0.96 0.03 300); border-color: oklch(0.65 0.14 300 / .35); }
.fv4 .fv4-sem-data { margin-top: 18px; border-top: 1px dashed var(--border); padding-top: 12px; }
.fv4 .fv4-sem-data-head { display: flex; flex-direction: column; gap: 2px; padding: 4px 2px 10px; }
.fv4 .fv4-sem-data-head b { font-size: 12.5px; color: var(--text-1); }
.fv4 .fv4-sem-data-head span { font-size: 11.5px; color: var(--text-3); }

/* ==== /css/financeiro-analise.css ==== */
/* Aba Análise do Financeiro v4 — mesmos tokens do fv4 */
.fv4 .fan { display: flex; flex-direction: column; gap: 14px; }
.fv4 .fan .mono { font-family: 'JetBrains Mono', ui-monospace, monospace; font-variant-numeric: tabular-nums; }
.fv4 .fan .pos { color: var(--positive); }
.fv4 .fan .neg { color: var(--danger); }
.fv4 .fan-muted { color: var(--text-3); font-size: 12px; }
.fv4 .fan-sub { margin: 0 0 12px; font-size: 12.5px; color: var(--text-2); line-height: 1.5; }
.fv4 .fan-sub b { color: var(--text); font-weight: 600; }
.fv4 .fan-nota { margin: 12px 0 0; padding: 9px 12px; font-size: 12px; color: var(--text-2); background: var(--bg); border: 1px solid var(--border); border-radius: var(--radius-sm); line-height: 1.5; }
.fv4 .fan-nota b { color: var(--text); }
.fv4 .fan-eyebrow { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); }

/* Contexto: saldo + controles */
.fv4 .fan-ctx { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
.fv4 .fan-ctx-saldo { display: flex; flex-direction: column; gap: 2px; }
.fv4 .fan-ctx-saldo b { font-family: 'Inter Tight', 'Inter', sans-serif; font-size: 26px; font-weight: 600; letter-spacing: -.03em; line-height: 1.05; }
.fv4 .fan-ctx-ctl { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.fv4 .fan-ctx-ctl .fv4-tipos + .fv4-tipos { padding-left: 8px; border-left: 1px solid var(--border); }

/* Resumo */
.fv4 .fan-hero { padding: 18px 20px 14px; }
.fv4 .fan-frase { margin: 0 0 6px; font-family: 'Inter Tight', 'Inter', sans-serif; font-size: 18px; font-weight: 500; letter-spacing: -.015em; line-height: 1.35; }
.fv4 .fan-frase b { font-weight: 700; font-variant-numeric: tabular-nums; }
.fv4 .fan-alerta { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; margin: 4px 0 12px; border-radius: var(--radius-sm); font-size: 12.5px; line-height: 1.5; }
.fv4 .fan-alerta svg { width: 16px; height: 16px; margin-top: 2px; }
.fv4 .fan-alerta.danger { background: var(--danger-soft); border: 1px solid oklch(0.64 0.20 25 / .35); color: var(--text); }
.fv4 .fan-alerta.danger svg { color: var(--danger); }
.fv4 .fan-alerta.warn { background: var(--orange-soft); border: 1px solid oklch(0.70 0.18 50 / .4); color: var(--text); }
.fv4 .fan-alerta.warn svg { color: var(--orange); }
.fv4 .fan-alerta.info { background: var(--info-soft); border: 1px solid oklch(0.64 0.13 245 / .35); color: var(--text); }
.fv4 .fan-alerta.info svg { color: var(--info); }
.fv4 .fan-aviso { display: flex; gap: 8px; align-items: center; margin: 0 0 10px; padding: 8px 10px; font-size: 12px; color: var(--text-2); background: var(--orange-soft); border-radius: var(--radius-sm); }
.fv4 .fan-aviso svg { color: var(--orange); width: 14px; height: 14px; }
.fv4 .fan-aviso b { color: var(--text); }

/* Curva */
.fv4 .fan-curva { margin-top: 6px; }
.fv4 .fan-svg { width: 100%; height: 150px; display: block; }
.fv4 .fan-area { fill: var(--positive-soft); }
.fv4 .fan-svg.neg .fan-area { fill: var(--danger-soft); }
.fv4 .fan-line { fill: none; stroke: var(--positive); stroke-width: 2; }
.fv4 .fan-svg.neg .fan-line { stroke: var(--danger); }
.fv4 .fan-zero { stroke: var(--border-strong); stroke-width: 1; stroke-dasharray: 3 3; vector-effect: non-scaling-stroke; }
.fv4 .fan-dot { fill: var(--bg-elev); stroke: var(--positive); stroke-width: 2; }
.fv4 .fan-dot.neg { stroke: var(--danger); }
.fv4 .fan-svg-x { display: flex; justify-content: space-between; margin-top: 4px; font-family: 'JetBrains Mono', monospace; font-size: 10px; color: var(--text-3); }
.fv4 .fan-svg-x span { flex: 1; text-align: center; }
.fv4 .fan-svg-x span:first-child { text-align: left; }
.fv4 .fan-svg-x span:last-child { text-align: right; }

/* Tabela mensal */
.fv4 .fan-card-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.fv4 .fan-card-head h3 { margin: 0; }
.fv4 .fan-tbl-wrap { overflow-x: auto; margin: 0 -18px; padding: 0 18px; }
.fv4 .fan-tbl { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 620px; }
.fv4 .fan-tbl th { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); font-weight: 500; padding: 6px 8px; text-align: left; border-bottom: 1px solid var(--border); white-space: nowrap; }
.fv4 .fan-tbl td { padding: 9px 8px; border-bottom: 1px solid var(--border); vertical-align: middle; }
.fv4 .fan-tbl .n { text-align: right; white-space: nowrap; }
.fv4 .fan-tbl .m { font-weight: 500; white-space: nowrap; }
.fv4 .fan-tbl .m small { display: block; font-size: 10px; color: var(--text-3); font-weight: 400; }
.fv4 .fan-tbl td.n small { display: block; font-size: 10.5px; font-weight: 400; }
.fv4 .fan-tbl .bar { width: 22%; min-width: 90px; }
.fv4 .fan-tbl .ch { width: 24px; text-align: right; }
.fv4 .fan-tbl tfoot td { font-weight: 600; border-bottom: 0; border-top: 2px solid var(--border-strong); }
.fv4 .fan-tbl.mini { min-width: 0; font-size: 12.5px; }
.fv4 .fan-tbl.mini td { padding: 6px 8px; }
.fv4 .fan-row { cursor: pointer; transition: background var(--dur-fast); }
.fv4 .fan-row:hover { background: var(--bg); }
.fv4 .fan-row.on { background: var(--bg); }
.fv4 .fan-row.on td { border-bottom-color: transparent; }
.fv4 .fan-row.neg td.m { color: var(--danger); }
.fv4 .fan-chev { display: inline-flex; color: var(--text-3); transition: transform var(--dur-fast); }
.fv4 .fan-chev.on { transform: rotate(90deg); }
.fv4 .fan-det td { background: var(--bg); padding: 4px 8px 14px; }
.fv4 .fan-bar { display: flex; height: 8px; border-radius: 4px; overflow: hidden; background: var(--bg); }
.fv4 .fan-bar i, .fv4 .fan-legenda i { display: block; height: 100%; }
.fv4 .fan-bar .c, .fv4 .fan-legenda .c { background: var(--positive); }
.fv4 .fan-bar .r, .fv4 .fan-legenda .r { background: var(--info); }
.fv4 .fan-bar .p, .fv4 .fan-legenda .p { background: var(--accent); }
.fv4 .fan-legenda { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-top: 10px; font-size: 11.5px; color: var(--text-2); }
.fv4 .fan-legenda i { width: 10px; height: 10px; border-radius: 3px; margin-left: 8px; }
.fv4 .fan-legenda i:first-child { margin-left: 0; }

/* Eventos */
.fv4 .fan-evs { display: flex; flex-direction: column; }
.fv4 .fan-ev { display: grid; grid-template-columns: 44px 1fr auto 30px; gap: 10px; align-items: center; padding: 7px 0; border-bottom: 1px dashed var(--border); font-size: 12.5px; }
.fv4 .fan-ev:last-child { border-bottom: 0; }
.fv4 .fan-ev-d { font-family: 'JetBrains Mono', monospace; font-size: 11px; color: var(--text-3); }
.fv4 .fan-ev-main { min-width: 0; }
.fv4 .fan-ev-l1 { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fv4 .fan-ev-l2 { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 2px; align-items: center; }
.fv4 .fan-ev-v { font-family: 'JetBrains Mono', monospace; font-size: 12.5px; white-space: nowrap; }
.fv4 .fan-ev-v.entrada { color: var(--positive); }
.fv4 .fan-ev-v.saida { color: var(--text-2); }
.fv4 .fan-ev.fora .fan-ev-v { color: var(--text-2); }
.fv4 .fan-tag { display: inline-flex; padding: 1px 7px; border-radius: 999px; font-size: 10.5px; font-weight: 500; background: var(--bg-elev); border: 1px solid var(--border); color: var(--text-2); }
.fv4 .fan-tag.contratado { background: var(--positive-soft); border-color: transparent; color: oklch(0.45 0.12 155); }
.fv4 .fan-tag.recorrente { background: var(--info-soft); border-color: transparent; color: oklch(0.45 0.12 245); }
.fv4 .fan-tag.previsto { background: var(--accent-soft); border-color: transparent; color: oklch(0.5 0.12 75); }
.fv4 .fan-tag.atraso { background: var(--danger-soft); border-color: transparent; color: var(--danger); }
.fv4 .fan-tag.mudou { color: var(--text-3); }
.fv4 .fan-act { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 999px; border: 1px solid var(--border); background: var(--bg-elev); color: var(--text-2); }
.fv4 .fan-act:hover { color: var(--positive); border-color: var(--positive); }
.fv4 .fan-act svg { width: 13px; height: 13px; }
.fv4 .fan-act-vazio { display: block; width: 28px; }
.fv4 .fan-link { color: var(--text); font-weight: 500; text-decoration: none; }
.fv4 .fan-link:hover { text-decoration: underline; }
.fv4 .fan-mais { margin-top: 10px; font-size: 12px; color: var(--text-2); text-decoration: underline; }

/* Clientes */
.fv4 .fan-cli { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; }
.fv4 .fan-cli li { display: grid; grid-template-columns: 1fr 90px auto 36px; gap: 10px; align-items: center; padding: 7px 0; border-bottom: 1px dashed var(--border); font-size: 13px; }
.fv4 .fan-cli li:last-child { border-bottom: 0; }
.fv4 .fan-cli-main { min-width: 0; display: flex; flex-direction: column; }
.fv4 .fan-cli-main small { font-size: 11px; color: var(--text-3); }
.fv4 .fan-cli-main em { font-style: normal; color: var(--danger); }
.fv4 .fan-cli-bar { height: 6px; border-radius: 3px; background: var(--bg); overflow: hidden; }
.fv4 .fan-cli-bar i { display: block; height: 100%; background: var(--positive); border-radius: 3px; }
.fv4 .fan-cli b { font-size: 13px; white-space: nowrap; }
.fv4 .fan-cli > li > small { font-size: 11px; color: var(--text-3); text-align: right; }

.fv4 .fan-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 1100px) { .fv4 .fan-grid2 { grid-template-columns: 1fr; } }
@media (max-width: 640px) {
  .fv4 .fan-frase { font-size: 16px; }
  .fv4 .fan-ctx-saldo b { font-size: 22px; }
  .fv4 .fan-cli li { grid-template-columns: 1fr auto; }
  .fv4 .fan-cli-bar, .fv4 .fan-cli > li > small { display: none; }
  .fv4 .fan-ev { grid-template-columns: 40px 1fr auto; }
  .fv4 .fan-act-vazio { display: none; }
  .fv4 .fan-ev .fan-act { grid-column: 3; grid-row: 2; justify-self: end; }
  .fv4 .fan-tbl-wrap { margin: 0 -12px; padding: 0 12px; }
}

/* ── Sub-visões ─────────────────────────────────────────────────────────── */
.fv4 .fan-views { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 14px; }
.fv4 .fan-view { display: flex; flex-direction: column; align-items: flex-start; gap: 1px; padding: 10px 14px; text-align: left; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--bg-elev); transition: border-color var(--dur-fast), background var(--dur-fast); }
.fv4 .fan-view:hover { border-color: var(--border-strong); }
.fv4 .fan-view b { font-family: 'Inter Tight', 'Inter', sans-serif; font-size: 14px; font-weight: 600; letter-spacing: -.01em; }
.fv4 .fan-view small { font-size: 11.5px; color: var(--text-3); }
.fv4 .fan-view.on { background: var(--text); border-color: var(--text); }
.fv4 .fan-view.on b { color: var(--bg-elev); }
.fv4 .fan-view.on small { color: rgba(255,255,255,.65); }
.fv4 .fan-head-acts { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.fv4 .fan-link-btn { color: var(--text); font-weight: 500; text-decoration: underline; }

/* ── Aging ──────────────────────────────────────────────────────────────── */
.fv4 .fan-faixas { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-top: 12px; }
.fv4 .fan-faixa { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 1px; padding: 11px 13px 16px; text-align: left; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--bg-elev); overflow: hidden; transition: border-color var(--dur-fast); min-height: 78px; justify-content: flex-end; }
.fv4 .fan-faixa:hover:not(.vazia) { border-color: var(--border-strong); }
.fv4 .fan-faixa.on { border-color: var(--text); box-shadow: inset 0 0 0 1px var(--text); }
.fv4 .fan-faixa.vazia { opacity: .5; cursor: default; }
.fv4 .fan-faixa-lbl { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: .06em; text-transform: uppercase; color: var(--text-3); }
.fv4 .fan-faixa b { font-family: 'Inter Tight', 'Inter', sans-serif; font-size: clamp(15px, 1.4vw, 19px); font-weight: 600; letter-spacing: -.02em; }
.fv4 .fan-faixa-n { font-size: 11px; color: var(--text-2); }
.fv4 .fan-faixa i { position: absolute; left: 0; bottom: 0; width: 100%; display: block; opacity: .16; }
.fv4 .fan-faixa.ok i { background: var(--positive); }
.fv4 .fan-faixa.w1 i { background: var(--accent); }
.fv4 .fan-faixa.w2 i { background: var(--orange); }
.fv4 .fan-faixa.w3 i { background: oklch(0.66 0.19 35); }
.fv4 .fan-faixa.w4 i { background: var(--danger); }
.fv4 .fan-faixa.ok b { color: var(--positive); }
.fv4 .fan-faixa.w4 b { color: var(--danger); }

.fv4 .fan-devedores { display: flex; flex-direction: column; }
.fv4 .fan-dev { display: grid; grid-template-columns: 1fr 120px auto 30px; gap: 12px; align-items: center; padding: 8px 0; border-bottom: 1px dashed var(--border); font-size: 13px; }
.fv4 .fan-dev:last-child { border-bottom: 0; }
.fv4 .fan-dev-main { min-width: 0; display: flex; flex-direction: column; }
.fv4 .fan-dev-main small { font-size: 11px; color: var(--text-3); }
.fv4 .fan-dev-main em { font-style: normal; color: var(--danger); }
.fv4 .fan-dev-bar { display: flex; height: 7px; border-radius: 4px; overflow: hidden; background: var(--bg); }
.fv4 .fan-dev-bar i { display: block; height: 100%; }
.fv4 .fan-dev-bar .ok { background: var(--positive); }
.fv4 .fan-dev-bar .w1 { background: var(--accent); }
.fv4 .fan-dev-bar .w2 { background: var(--orange); }
.fv4 .fan-dev-bar .w3 { background: oklch(0.66 0.19 35); }
.fv4 .fan-dev-bar .w4 { background: var(--danger); }
.fv4 .fan-dev b { white-space: nowrap; }
.fv4 .fan-repasse-tot { display: flex; align-items: baseline; gap: 10px; margin-bottom: 10px; flex-wrap: wrap; }
.fv4 .fan-repasse-tot b { font-family: 'Inter Tight', 'Inter', sans-serif; font-size: 22px; font-weight: 600; letter-spacing: -.02em; }
.fv4 .fan-repasse-tot span { font-size: 12px; color: var(--text-2); }

/* ── Indicadores ────────────────────────────────────────────────────────── */
.fv4 .fan-inds { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.fv4 .fan-ind { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--bg); }
.fv4 .fan-ind b { font-family: 'Inter Tight', 'Inter', sans-serif; font-size: clamp(16px, 1.5vw, 21px); font-weight: 600; letter-spacing: -.025em; line-height: 1.1; }
.fv4 .fan-ind small { font-size: 11.5px; color: var(--text-2); line-height: 1.4; }
.fv4 .fan-ind.pos b { color: var(--positive); }
.fv4 .fan-ind.neg b { color: var(--danger); }
.fv4 .fan-ind.warn b { color: var(--orange); }

/* ── DRE e categorias ───────────────────────────────────────────────────── */
.fv4 .fan-bar.dre { background: var(--bg); }
.fv4 .fan-bar.dre .e { background: var(--positive); }
.fv4 .fan-bar.dre .s { background: var(--danger); opacity: .55; }
.fv4 .fan-catlist { display: flex; flex-direction: column; gap: 5px; padding-top: 4px; }
.fv4 .fan-cat { display: grid; grid-template-columns: minmax(0,1fr) 110px auto 40px; gap: 10px; align-items: center; font-size: 12.5px; }
.fv4 .fan-cat-bar { height: 7px; border-radius: 4px; background: var(--bg-elev); overflow: hidden; display: flex; }
.fv4 .fan-det .fan-cat-bar { background: var(--bg-elev); }
.fv4 .fan-cat-bar i { display: block; height: 100%; background: var(--danger); opacity: .5; border-radius: 4px; }
.fv4 .fan-cat-bar i.fixo { background: var(--info); opacity: .65; }
.fv4 .fan-cat-bar.dupla i.e { background: var(--positive); opacity: .8; }
.fv4 .fan-cat-bar.dupla i.s { background: var(--danger); opacity: .5; }
.fv4 .fan-cat small, .fv4 .fan-catrow > small { color: var(--text-3); font-size: 11px; text-align: right; }
.fv4 .fan-cats { display: flex; flex-direction: column; }
.fv4 .fan-catrow { display: grid; grid-template-columns: minmax(0,1fr) 110px auto 84px 52px; gap: 10px; align-items: center; padding: 8px 0; border-bottom: 1px dashed var(--border); font-size: 13px; }
.fv4 .fan-catrow:last-child { border-bottom: 0; }
.fv4 .fan-catrow-main { min-width: 0; display: flex; flex-direction: column; }
.fv4 .fan-catrow-main small { font-size: 11px; color: var(--text-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fv4 .fan-catrow b { white-space: nowrap; }
.fv4 .fan-var { font-family: 'JetBrains Mono', monospace; font-size: 11px; text-align: right; color: var(--text-3); }
.fv4 .fan-var.sobe { color: var(--danger); }
.fv4 .fan-var.desce { color: var(--positive); }
.fv4 .fan-var.novo { color: var(--info); }

@media (max-width: 1100px) {
  .fv4 .fan-inds { grid-template-columns: repeat(2, 1fr); }
  .fv4 .fan-faixas { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 640px) {
  .fv4 .fan-views { grid-template-columns: 1fr; gap: 6px; }
  .fv4 .fan-view { flex-direction: row; align-items: baseline; gap: 8px; padding: 8px 12px; }
  .fv4 .fan-faixas { grid-template-columns: repeat(2, 1fr); }
  .fv4 .fan-inds { grid-template-columns: 1fr; }
  .fv4 .fan-dev { grid-template-columns: 1fr auto; }
  .fv4 .fan-dev-bar { display: none; }
  .fv4 .fan-catrow { grid-template-columns: 1fr auto; }
  .fv4 .fan-catrow .fan-cat-bar, .fv4 .fan-catrow > small, .fv4 .fan-var { display: none; }
  .fv4 .fan-cat { grid-template-columns: 1fr auto; }
  .fv4 .fan-cat .fan-cat-bar, .fv4 .fan-cat small { display: none; }
}

/* ── Formulários de configuração ────────────────────────────────────────── */
.fv4 .fan-form-inline { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; margin: 10px 0 4px; }
.fv4 .fan-form-inline label { display: inline-flex; align-items: center; gap: 7px; font-size: 12.5px; color: var(--text-2); }
.fv4 .fan-form-inline input, .fv4 .fan-form-inline select { padding: 6px 10px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--bg-elev); color: var(--text); font-size: 13px; max-width: 170px; }
.fv4 .fan-form-inline input:focus, .fv4 .fan-form-inline select:focus { outline: 0; border-color: var(--text); }
.fv4 .fan-inds.dois { grid-template-columns: repeat(2, 1fr); }

/* ── Meta ───────────────────────────────────────────────────────────────── */
.fv4 .fan-meta-topo { display: flex; align-items: baseline; gap: 10px; margin-bottom: 8px; flex-wrap: wrap; }
.fv4 .fan-meta-topo b { font-family: 'Inter Tight', 'Inter', sans-serif; font-size: 26px; font-weight: 600; letter-spacing: -.03em; }
.fv4 .fan-meta-topo span { font-size: 12.5px; color: var(--text-2); }
.fv4 .fan-meta-bar { display: flex; height: 12px; border-radius: 6px; overflow: hidden; background: var(--bg); border: 1px solid var(--border); }
.fv4 .fan-meta-bar i { display: block; height: 100%; }
.fv4 .fan-meta-bar .real { background: var(--positive); }
.fv4 .fan-meta-bar .carteira { background: var(--positive); opacity: .3; }
.fv4 .fan-meta-pes { display: flex; justify-content: space-between; margin-top: 4px; font-size: 11px; color: var(--text-3); }
.fv4 .fan-meta-pes .carteira { color: var(--positive); }

/* ── Êxito ──────────────────────────────────────────────────────────────── */
.fv4 .fan-cat-bar i.exito { background: var(--accent); opacity: .8; }
.fv4 .fan-cat-bar i.e { background: var(--positive); opacity: .75; }

/* ── Modal de êxito ─────────────────────────────────────────────────────── */
.fv4 .fan-form, .fan-modal-back .fan-form { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 14px; }
.fan-modal-back .fan-f { display: flex; flex-direction: column; gap: 4px; font-size: 12.5px; position: relative; }
.fan-modal-back .fan-f.wide, .fan-modal-back .fan-nota.wide { grid-column: 1 / -1; }
.fan-modal-back .fan-f > span { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: .07em; text-transform: uppercase; color: var(--text-3); }
.fan-modal-back .fan-f input, .fan-modal-back .fan-f select { padding: 8px 10px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--bg-elev); color: var(--text); font-size: 13.5px; width: 100%; }
.fan-modal-back .fan-f input:focus, .fan-modal-back .fan-f select:focus { outline: 0; border-color: var(--text); }
.fan-modal-back .fan-f > i { position: absolute; right: 10px; bottom: 9px; font-style: normal; font-size: 12px; color: var(--text-3); }
.fan-modal-back .fan-nota { margin: 0; padding: 9px 12px; font-size: 11.5px; color: var(--text-2); background: var(--bg); border: 1px solid var(--border); border-radius: var(--radius-sm); line-height: 1.5; }
.fan-modal-back .fan-modal-pe { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 20px; border-top: 1px solid var(--border); }
.fan-modal-back .fan-modal-pe > div { display: flex; gap: 8px; }
@media (max-width: 640px) { .fan-modal-back .fan-form { grid-template-columns: 1fr; } .fv4 .fan-inds.dois { grid-template-columns: 1fr; } }

/* ── Conciliação: motivos do palpite ────────────────────────────────────── */
.fv4-cand .fv4-conf { font-style: normal; font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; padding: 1px 6px; border-radius: 999px; background: var(--positive-soft); color: oklch(0.45 0.12 155); margin-left: 6px; }
.fv4-cand .fv4-motivos { display: flex; gap: 5px; flex-wrap: wrap; margin-top: 4px; }
.fv4-cand .fv4-motivos i { font-style: normal; font-size: 10.5px; padding: 1px 7px; border-radius: 999px; background: var(--bg); border: 1px solid var(--border); color: var(--text-2); }
.fv4-cand .fv4-cand-val em { display: block; font-style: normal; font-size: 10.5px; color: var(--text-3); }
.fv4-cand.transf { border-color: oklch(0.64 0.13 245 / .4); background: var(--info-soft); }
.fv4-modal-nota { margin: 12px 0 0; padding: 9px 12px; font-size: 11.5px; color: var(--text-2); background: var(--bg); border: 1px solid var(--border); border-radius: var(--radius-sm); line-height: 1.5; }

/* ── Classificar contraparte ────────────────────────────────────────────── */
.fv4 .fan-tag-btn { cursor: pointer; border-style: dashed; }
.fv4 .fan-tag-btn:hover { border-color: var(--text); color: var(--text); }
.fv4 .fan-tag.alt { background: var(--info-soft); border-color: transparent; color: oklch(0.45 0.12 245); }
.fan-modal-back .fan-papeis { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.fan-modal-back .fan-papel { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: 11px 13px; text-align: left; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--bg-elev); transition: border-color var(--dur-fast); }
.fan-modal-back .fan-papel:hover { border-color: var(--text); }
.fan-modal-back .fan-papel.on { background: var(--text); border-color: var(--text); }
.fan-modal-back .fan-papel.on b, .fan-modal-back .fan-papel.on small { color: var(--bg-elev); }
.fan-modal-back .fan-papel b { font-size: 13.5px; font-weight: 600; }
.fan-modal-back .fan-papel small { font-size: 11px; color: var(--text-3); line-height: 1.4; }
@media (max-width: 640px) { .fan-modal-back .fan-papeis { grid-template-columns: 1fr; } }

/* ── Cartão que abre a própria conta ────────────────────────────────────── */
.fv4 .fan-ind.tem-conta { cursor: pointer; transition: border-color var(--dur-fast), background var(--dur-fast); }
.fv4 .fan-ind.tem-conta:hover { border-color: var(--border-strong); background: var(--bg-elev); }
.fv4 .fan-ind .fan-eyebrow { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.fv4 .fan-conta-sinal { font-style: normal; display: inline-flex; align-items: center; justify-content: center; width: 14px; height: 14px; border-radius: 50%; border: 1px solid var(--border-strong); font-size: 9px; color: var(--text-3); flex-shrink: 0; }
.fv4 .fan-ind.tem-conta:hover .fan-conta-sinal { border-color: var(--text); color: var(--text); }
.fv4 .fan-conta { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--border); }
.fv4 .fan-conta .fan-tbl td.n small { display: block; font-size: 10px; color: var(--text-3); font-weight: 400; }
.fv4 .fan-conta .fan-alerta { margin: 12px 0 0; }

/* ==== /css/automacoes.css ==== */
/* ═════════════════════════════════════════════════════════════════════════
   Acordly — Automações (Workflows) · Redesign AAA
   Namespace: .wfui-*
   Usa tokens de /css/design-tokens.css (superfícies, status, radius, easing).
   Sem dependência de Tailwind — CSS nativo, mesmo padrão dos redesigns v3.
   ═════════════════════════════════════════════════════════════════════════ */

.wfui {
  font-family: -apple-system, BlinkMacSystemFont, 'Inter', 'Segoe UI', sans-serif;
  color: var(--text);
  max-width: 880px;
  margin: 0 auto;
  padding-bottom: 40px;
}

.wfui * { box-sizing: border-box; }

/* ── Hero escuro ─────────────────────────────────────────────────────── */

.wfui-hero {
  position: relative;
  background: var(--hero-bg);
  border: 1px solid var(--hero-border);
  border-radius: var(--radius-lg);
  padding: 28px 28px 24px;
  color: var(--hero-text);
  box-shadow: 0 30px 60px rgba(10, 10, 25, 0.45);
  margin-bottom: 28px;
  overflow: hidden;
}

.wfui-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(600px 240px at 15% -10%, oklch(0.64 0.13 245 / 0.22), transparent 60%),
    radial-gradient(500px 220px at 100% 0%, oklch(0.78 0.14 75 / 0.14), transparent 60%);
  pointer-events: none;
}

.wfui-hero > * { position: relative; }

.wfui-hero-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 22px;
}

.wfui-hero-eyebrow {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--hero-text-3);
  margin: 0 0 6px;
}

.wfui-hero-title {
  font-size: 26px;
  font-weight: 650;
  letter-spacing: -0.02em;
  margin: 0;
  line-height: 1.15;
}

.wfui-hero-sub {
  font-size: 13.5px;
  color: var(--hero-text-2);
  margin: 6px 0 0;
  max-width: 46ch;
  line-height: 1.5;
}

.wfui-hero-new {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 16px;
  border-radius: 999px;
  border: 1px solid var(--hero-border-2);
  background: rgba(255, 255, 255, 0.06);
  color: var(--hero-text);
  font-size: 13px;
  font-weight: 560;
  cursor: pointer;
  transition: background var(--dur) var(--ease), border-color var(--dur) var(--ease), transform var(--dur-fast) var(--ease);
  white-space: nowrap;
}
.wfui-hero-new:hover { background: rgba(255, 255, 255, 0.13); border-color: rgba(255, 255, 255, 0.28); }
.wfui-hero-new:active { transform: scale(0.97); }
.wfui-hero-new:focus-visible { outline: 2px solid var(--hero-text); outline-offset: 2px; }

.wfui-hero-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.wfui-stat {
  border-radius: var(--radius);
  border: 1px solid var(--hero-border-2);
  background: rgba(255, 255, 255, 0.045);
  padding: 13px 14px;
}

.wfui-stat-lbl {
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--hero-text-3);
  margin: 0;
}

.wfui-stat-val {
  font-size: 22px;
  font-weight: 650;
  letter-spacing: -0.01em;
  color: var(--hero-text);
  margin: 4px 0 0;
  font-variant-numeric: tabular-nums;
}

.wfui-stat--ativas .wfui-stat-val { color: oklch(0.80 0.14 155); }

/* ── Lista de automações ─────────────────────────────────────────────── */

.wfui-list { display: flex; flex-direction: column; gap: 10px; margin-bottom: 32px; }

.wfui-card {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 16px 16px 16px 14px;
  background: var(--bg-elev);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  transition: border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), opacity var(--dur) var(--ease);
}

.wfui-card:hover { border-color: var(--border-strong); box-shadow: 0 8px 24px rgba(10, 11, 13, 0.06); }

.wfui-card--off { opacity: 0.55; }
.wfui-card--off .wfui-icon-badge { filter: grayscale(0.6); }

.wfui-icon-badge {
  flex-shrink: 0;
  width: 38px;
  height: 38px;
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  transition: filter var(--dur) var(--ease);
}
.wfui-icon-badge--positive { background: var(--positive-soft); }
.wfui-icon-badge--info     { background: var(--info-soft); }
.wfui-icon-badge--danger   { background: var(--danger-soft); }
.wfui-icon-badge--accent   { background: var(--accent-soft); }
.wfui-icon-badge--purple   { background: var(--purple-soft); }

.wfui-card-body { flex: 1; min-width: 0; }

.wfui-card-title-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 4px;
}

.wfui-card-title {
  font-size: 14.5px;
  font-weight: 620;
  color: var(--text);
  margin: 0;
  letter-spacing: -0.01em;
}

.wfui-badge-sys {
  flex-shrink: 0;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.02em;
  padding: 2px 7px;
  border-radius: 999px;
  background: var(--info-soft);
  color: oklch(0.42 0.13 245);
}

.wfui-badge-off {
  flex-shrink: 0;
  font-size: 10px;
  font-weight: 600;
  padding: 2px 7px;
  border-radius: 999px;
  background: var(--bg-soft);
  color: var(--text-3);
}

.wfui-card-desc {
  font-size: 12.5px;
  color: var(--text-3);
  margin: 0 0 8px;
  line-height: 1.45;
}

/* Frase "quando... então..." */
.wfui-recipe {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px 6px;
  font-size: 12.5px;
  line-height: 1.6;
}

.wfui-kw {
  color: var(--text-3);
  font-weight: 500;
}

.wfui-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 9px;
  border-radius: var(--radius-xs);
  background: var(--bg-soft);
  color: var(--text-2);
  font-weight: 550;
  border: 1px solid var(--border);
  max-width: 100%;
}

.wfui-chip--cond { background: var(--accent-soft); color: oklch(0.44 0.12 75); border-color: transparent; }
.wfui-chip--action { background: var(--positive-soft); color: oklch(0.38 0.12 155); border-color: transparent; }

/* ── Ações do card (toggle / editar / excluir) ───────────────────────── */

.wfui-card-actions {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 4px;
  padding-top: 2px;
}

.wfui-switch {
  position: relative;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  width: 38px;
  height: 22px;
  flex-shrink: 0;
  margin-right: 4px;
}

.wfui-switch input {
  position: absolute;
  opacity: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  cursor: pointer;
}

.wfui-switch-track {
  position: absolute;
  inset: 0;
  background: var(--border-strong);
  border-radius: 999px;
  transition: background var(--dur) var(--ease);
}

.wfui-switch-thumb {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0,0,0,0.25);
  transition: transform var(--dur) var(--ease-out);
}

.wfui-switch input:checked ~ .wfui-switch-track { background: oklch(0.62 0.15 155); }
.wfui-switch input:checked ~ .wfui-switch-thumb { transform: translateX(16px); }
.wfui-switch input:focus-visible ~ .wfui-switch-track { outline: 2px solid var(--info); outline-offset: 2px; }

.wfui-icon-btn {
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: transparent;
  border-radius: var(--radius-xs);
  color: var(--text-3);
  cursor: pointer;
  transition: background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);
}
.wfui-icon-btn:hover { background: var(--bg-soft); color: var(--text); }
.wfui-icon-btn.danger:hover { background: var(--danger-soft); color: var(--danger); }
.wfui-icon-btn:focus-visible { outline: 2px solid var(--info); outline-offset: 1px; }
.wfui-icon-btn svg { width: 15px; height: 15px; }

/* ── Estado vazio ─────────────────────────────────────────────────────── */

.wfui-empty {
  text-align: center;
  padding: 56px 24px;
  background: var(--bg-elev);
  border: 1px dashed var(--border-strong);
  border-radius: var(--radius-lg);
}

.wfui-empty-icon {
  width: 52px;
  height: 52px;
  margin: 0 auto 16px;
  border-radius: 16px;
  background: var(--info-soft);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
}

.wfui-empty-title {
  font-size: 16px;
  font-weight: 620;
  color: var(--text);
  margin: 0 0 6px;
  letter-spacing: -0.01em;
}

.wfui-empty-sub {
  font-size: 13px;
  color: var(--text-3);
  max-width: 38ch;
  margin: 0 auto 20px;
  line-height: 1.55;
}

.wfui-empty-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 18px;
  border-radius: var(--radius-sm);
  background: var(--text);
  color: var(--bg-elev);
  font-size: 13px;
  font-weight: 600;
  border: none;
  cursor: pointer;
  transition: transform var(--dur-fast) var(--ease), opacity var(--dur) var(--ease);
}
.wfui-empty-cta:hover { opacity: 0.88; }
.wfui-empty-cta:active { transform: scale(0.97); }
.wfui-empty-cta:focus-visible { outline: 2px solid var(--info); outline-offset: 2px; }

/* ── Log de execuções ─────────────────────────────────────────────────── */

.wfui-log-section { margin-top: 8px; }

.wfui-log-head {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 12.5px;
  font-weight: 620;
  color: var(--text-2);
  margin: 0 0 12px;
}
.wfui-log-head svg { width: 14px; height: 14px; color: var(--text-3); }

.wfui-log-list {
  display: flex;
  flex-direction: column;
  border-left: 2px solid var(--border);
  margin-left: 5px;
  padding-left: 16px;
}

.wfui-log-item {
  position: relative;
  padding: 8px 0;
  display: flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
  font-size: 12px;
}

.wfui-log-item::before {
  content: '';
  position: absolute;
  left: -20px;
  top: 13px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--positive);
  border: 2px solid var(--bg);
}
.wfui-log-item--err::before { background: var(--danger); }

.wfui-log-time { color: var(--text-3); font-variant-numeric: tabular-nums; flex-shrink: 0; }
.wfui-log-name { font-weight: 600; color: var(--text-2); }
.wfui-log-arrow { color: var(--text-3); }
.wfui-log-summary { color: var(--text-3); }
.wfui-log-err { color: var(--danger); }

.wfui-empty-log {
  font-size: 12.5px;
  color: var(--text-3);
  padding: 10px 0 0 21px;
}

/* ── Modal ────────────────────────────────────────────────────────────── */

.wfui-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(10, 11, 13, 0.55);
  backdrop-filter: blur(2px);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  animation: wfui-fade-in var(--dur) var(--ease-out);
}

@keyframes wfui-fade-in { from { opacity: 0; } to { opacity: 1; } }

.wfui-modal {
  width: 100%;
  max-width: 540px;
  max-height: 88vh;
  overflow-y: auto;
  background: var(--bg-elev);
  border-radius: var(--radius-lg);
  border: 1px solid var(--border);
  box-shadow: 0 40px 80px rgba(10, 10, 25, 0.35);
  animation: wfui-pop-in var(--dur-slow) var(--ease-out);
}

@keyframes wfui-pop-in {
  from { opacity: 0; transform: translateY(10px) scale(0.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.wfui-modal-inner { padding: 22px 24px 24px; }

.wfui-modal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
}

.wfui-modal-title {
  font-size: 17px;
  font-weight: 650;
  color: var(--text);
  margin: 0;
  letter-spacing: -0.01em;
}

.wfui-field { margin-bottom: 14px; }

.wfui-label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: var(--text-2);
  margin-bottom: 5px;
}

.wfui-input, .wfui-select {
  width: 100%;
  padding: 9px 12px;
  font-size: 13.5px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--bg-elev);
  color: var(--text);
  transition: border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);
  font-family: inherit;
}
.wfui-input:focus, .wfui-select:focus {
  outline: none;
  border-color: var(--text);
  box-shadow: 0 0 0 3px oklch(0.64 0.13 245 / 0.15);
}
.wfui-input::placeholder { color: var(--text-3); }

/* Blocos "passo" do construtor de frase */
.wfui-step {
  border-radius: var(--radius);
  border: 1px solid var(--border);
  padding: 14px 15px;
  margin-bottom: 12px;
  position: relative;
  padding-left: 42px;
}

.wfui-step-num {
  position: absolute;
  left: 14px;
  top: 14px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
  color: #fff;
}

.wfui-step--trigger { background: var(--info-soft); border-color: transparent; }
.wfui-step--trigger .wfui-step-num { background: oklch(0.55 0.14 245); }
.wfui-step--trigger .wfui-label { color: oklch(0.40 0.13 245); }

.wfui-step--cond { background: var(--accent-soft); border-color: transparent; }
.wfui-step--cond .wfui-step-num { background: oklch(0.60 0.14 75); }
.wfui-step--cond .wfui-label { color: oklch(0.42 0.12 75); }

.wfui-step--action { background: var(--positive-soft); border-color: transparent; margin-bottom: 20px; }
.wfui-step--action .wfui-step-num { background: oklch(0.55 0.13 155); }
.wfui-step--action .wfui-label { color: oklch(0.34 0.12 155); }

.wfui-step-label {
  font-size: 12.5px;
  font-weight: 700;
  margin: 0 0 10px;
}

.wfui-condition-row {
  display: flex;
  gap: 6px;
  align-items: center;
  margin-bottom: 6px;
  flex-wrap: wrap;
}
.wfui-condition-row .wfui-input,
.wfui-condition-row .wfui-select { flex: 1; min-width: 90px; background: var(--bg-elev); }

.wfui-cond-remove {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border-radius: var(--radius-xs);
  border: none;
  background: transparent;
  color: var(--text-3);
  cursor: pointer;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.wfui-cond-remove:hover { background: var(--danger-soft); color: var(--danger); }

.wfui-add-cond {
  background: none;
  border: none;
  color: oklch(0.42 0.12 75);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  padding: 4px 0;
}
.wfui-add-cond:hover { text-decoration: underline; }

.wfui-action-params { display: flex; flex-direction: column; gap: 10px; margin-top: 10px; }

.wfui-modal-foot {
  display: flex;
  gap: 10px;
  margin-top: 4px;
}

.wfui-btn {
  flex: 1;
  padding: 10px 16px;
  border-radius: var(--radius-sm);
  font-size: 13.5px;
  font-weight: 620;
  border: none;
  cursor: pointer;
  transition: opacity var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);
}
.wfui-btn:active { transform: scale(0.98); }
.wfui-btn:focus-visible { outline: 2px solid var(--info); outline-offset: 2px; }

.wfui-btn-primary { background: var(--text); color: var(--bg-elev); }
.wfui-btn-primary:hover { opacity: 0.88; }

.wfui-btn-secondary { background: var(--bg-soft); color: var(--text-2); flex: 0 0 auto; }
.wfui-btn-secondary:hover { background: var(--border); }

/* ── Responsivo ───────────────────────────────────────────────────────── */

@media (max-width: 768px) {
  .wfui-hero { padding: 22px 18px 18px; border-radius: var(--radius); }
  .wfui-hero-title { font-size: 22px; }
  .wfui-hero-head { flex-direction: column; align-items: stretch; }
  .wfui-hero-new { align-self: flex-start; }
  .wfui-hero-stats { gap: 8px; }
  .wfui-stat { padding: 11px 10px; }
  .wfui-stat-val { font-size: 19px; }
}

@media (max-width: 480px) {
  .wfui { padding: 0 2px 32px; }
  .wfui-hero { padding: 18px 14px 16px; }
  .wfui-hero-title { font-size: 20px; }
  .wfui-hero-sub { font-size: 12.5px; }
  .wfui-hero-stats { grid-template-columns: repeat(3, 1fr); gap: 6px; }
  .wfui-stat { padding: 9px 8px; }
  .wfui-stat-lbl { font-size: 9px; }
  .wfui-stat-val { font-size: 16px; }

  .wfui-card { padding: 13px; gap: 10px; flex-wrap: wrap; }
  .wfui-icon-badge { width: 32px; height: 32px; font-size: 15px; }
  .wfui-card-title { font-size: 13.5px; }
  .wfui-recipe { font-size: 11.5px; }
  .wfui-card-actions {
    width: 100%;
    justify-content: space-between;
    padding-top: 10px;
    margin-top: 6px;
    border-top: 1px solid var(--border);
  }

  .wfui-modal { max-height: 92vh; }
  .wfui-modal-inner { padding: 18px 16px 20px; }
  .wfui-step { padding-left: 38px; padding: 12px 12px 12px 38px; }
  .wfui-condition-row { gap: 5px; }
  .wfui-modal-foot { flex-direction: column-reverse; }
  .wfui-btn-secondary { flex: 1; }

  .wfui-empty { padding: 40px 16px; }
}

/* Execuções no hero e no cartão (11/09/2026) */
.wfui-hero-stats { grid-template-columns: repeat(5, 1fr) !important; }
.wfui-stat--falha .wfui-stat-val { color: oklch(0.78 0.18 25); }
.wfui-exec { display: inline-block; margin-top: 8px; font-family: 'JetBrains Mono', monospace; font-size: 11px; color: oklch(0.40 0.12 160); }
.wfui-exec.falha { color: oklch(0.45 0.18 25); font-weight: 600; }
.wfui-exec.off { color: #A8A29E; }
@media (max-width: 768px) { .wfui-hero-stats { grid-template-columns: repeat(2, 1fr) !important; } }

/* ==== /css/extrato-importador.css ==== */
/* extrato-importador.css — modal de importação de extrato bancário
   Namespace .imp-* para não colidir com o Tailwind do legado nem com .fv3m-* */

.imp-modal {
  --imp-bg: #ffffff;
  --imp-bg-sutil: #f8fafc;
  --imp-borda: #e5e7eb;
  --imp-texto: #0f172a;
  --imp-texto-fraco: #64748b;
  --imp-azul: #2563eb;
  --imp-verde: #059669;
  --imp-vermelho: #dc2626;
  --imp-ambar: #b45309;
  --imp-radius: 12px;

  position: fixed;
  inset: 0;
  z-index: 9000;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: var(--imp-texto);
}

.imp-modal.hidden { display: none; }

.imp-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.55);
  backdrop-filter: blur(2px);
}

.imp-painel {
  position: relative;
  background: var(--imp-bg);
  border-radius: 16px;
  width: min(1180px, 96vw);
  height: min(880px, 92vh);
  display: flex;
  flex-direction: column;
  box-shadow: 0 24px 64px rgba(15, 23, 42, 0.28);
  overflow: hidden;
}

/* ---------- header / footer ---------- */

.imp-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 24px 16px;
  border-bottom: 1px solid var(--imp-borda);
}

.imp-titulo {
  font-size: 19px;
  font-weight: 650;
  letter-spacing: -0.02em;
  margin: 0;
}

.imp-sub {
  margin: 4px 0 0;
  font-size: 13px;
  color: var(--imp-texto-fraco);
}

.imp-fechar {
  background: none;
  border: none;
  font-size: 18px;
  line-height: 1;
  color: var(--imp-texto-fraco);
  cursor: pointer;
  padding: 6px 8px;
  border-radius: 8px;
}
.imp-fechar:hover { background: var(--imp-bg-sutil); color: var(--imp-texto); }

.imp-body {
  flex: 1;
  overflow-y: auto;
  padding: 20px 24px;
}

.imp-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  padding: 14px 24px;
  border-top: 1px solid var(--imp-borda);
  background: var(--imp-bg-sutil);
  flex-wrap: wrap;
}

.imp-footer-resumo {
  margin-right: auto;
  font-size: 13px;
  color: var(--imp-texto-fraco);
  line-height: 1.5;
}

.imp-footer-obs { font-size: 11.5px; color: #94a3b8; }

/* ---------- botões ---------- */

.imp-btn {
  padding: 9px 18px;
  border-radius: 9px;
  font-size: 14px;
  font-weight: 550;
  border: 1px solid transparent;
  cursor: pointer;
  transition: background 0.15s, opacity 0.15s;
}

.imp-btn-primario { background: var(--imp-azul); color: #fff; }
.imp-btn-primario:hover:not(:disabled) { background: #1d4ed8; }
.imp-btn-primario:disabled { opacity: 0.45; cursor: not-allowed; }

.imp-btn-perigo {
  background: transparent;
  color: var(--imp-vermelho);
  border-color: #fecaca;
  margin-right: auto;
}
.imp-btn-perigo:hover { background: #fef2f2; }

.imp-btn-fantasma {
  background: transparent;
  color: var(--imp-texto-fraco);
  border-color: var(--imp-borda);
}
.imp-btn-fantasma:hover { background: #fff; color: var(--imp-texto); }

.imp-btn-mini {
  padding: 5px 11px;
  font-size: 12px;
  font-weight: 550;
  border: 1px solid var(--imp-borda);
  border-radius: 7px;
  background: #fff;
  color: var(--imp-texto);
  cursor: pointer;
  white-space: nowrap;
}
.imp-btn-mini:hover { background: var(--imp-bg-sutil); }

/* ---------- passo 1: upload ---------- */

.imp-passo { max-width: 720px; margin: 0 auto; display: grid; gap: 18px; }

.imp-campo { display: grid; gap: 6px; }

.imp-label { font-size: 13px; font-weight: 600; }

.imp-select,
.imp-select-mini,
.imp-input-desc {
  width: 100%;
  border: 1px solid var(--imp-borda);
  border-radius: 8px;
  background: #fff;
  color: var(--imp-texto);
  font-family: inherit;
}

.imp-select { padding: 10px 12px; font-size: 14px; }
.imp-select-mini { padding: 5px 8px; font-size: 12px; }
.imp-input-desc { padding: 6px 8px; font-size: 13px; }
.imp-input-desc:focus,
.imp-select:focus,
.imp-select-mini:focus { outline: 2px solid var(--imp-azul); outline-offset: -1px; }

.imp-mt { margin-top: 6px; }

.imp-dropzone {
  display: block;
  border: 2px dashed var(--imp-borda);
  border-radius: var(--imp-radius);
  padding: 36px 20px;
  text-align: center;
  cursor: pointer;
  background: var(--imp-bg-sutil);
  transition: border-color 0.15s, background 0.15s;
}
.imp-dropzone:hover,
.imp-dropzone-ativo { border-color: var(--imp-azul); background: #eff6ff; }

.imp-dropzone-icone { font-size: 26px; color: var(--imp-azul); margin-bottom: 6px; }
.imp-dropzone-titulo { font-size: 15px; font-weight: 600; }
.imp-dropzone-formatos { font-size: 12px; color: var(--imp-texto-fraco); margin-top: 4px; }
.imp-dropzone-arquivo {
  margin-top: 12px;
  display: inline-block;
  padding: 5px 12px;
  border-radius: 20px;
  background: #dbeafe;
  color: #1e40af;
  font-size: 12px;
  font-weight: 600;
}

.imp-check {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 14px;
  border: 1px solid var(--imp-borda);
  border-radius: var(--imp-radius);
  cursor: pointer;
}
.imp-check input { margin-top: 3px; }
.imp-check span { display: grid; gap: 3px; font-size: 13.5px; }
.imp-check small { font-size: 12px; color: var(--imp-texto-fraco); line-height: 1.5; }

.imp-nova-conta {
  border: 1px solid var(--imp-azul);
  border-radius: var(--imp-radius);
  padding: 14px 16px;
  background: #f8fbff;
  display: grid;
  gap: 12px;
}

.imp-nova-conta-titulo { font-size: 13.5px; font-weight: 650; }

.imp-grid-conta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.imp-col-2 { grid-column: span 2; }

.imp-nova-conta-acoes { display: flex; justify-content: flex-end; gap: 8px; }
.imp-btn-compacto { padding: 6px 14px; font-size: 13px; }

.imp-nova-conta-obs {
  margin: 0;
  font-size: 11.5px;
  color: var(--imp-texto-fraco);
  line-height: 1.5;
}

.imp-dica {
  font-size: 12.5px;
  line-height: 1.6;
  color: var(--imp-texto-fraco);
  background: var(--imp-bg-sutil);
  border-left: 3px solid var(--imp-azul);
  padding: 10px 14px;
  border-radius: 0 8px 8px 0;
}

/* ---------- passo 2: processando ---------- */

.imp-processando {
  display: grid;
  place-items: center;
  gap: 16px;
  padding: 80px 20px;
  text-align: center;
}

.imp-spinner {
  width: 34px;
  height: 34px;
  border: 3px solid var(--imp-borda);
  border-top-color: var(--imp-azul);
  border-radius: 50%;
  animation: imp-girar 0.8s linear infinite;
}
.imp-spinner-sm { width: 16px; height: 16px; border-width: 2px; }

@keyframes imp-girar { to { transform: rotate(360deg); } }

.imp-progresso-texto { font-size: 14px; color: var(--imp-texto-fraco); margin: 0; }

.imp-progresso-trilho {
  width: min(420px, 80%);
  height: 5px;
  background: var(--imp-borda);
  border-radius: 3px;
  overflow: hidden;
}
.imp-progresso-barra {
  height: 100%;
  background: var(--imp-azul);
  border-radius: 3px;
  transition: width 0.3s ease;
}

/* ---------- passo 3: revisão ---------- */

.imp-resumo {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 14px;
}

.imp-resumo-item {
  flex: 1 1 150px;
  border: 1px solid var(--imp-borda);
  border-radius: 10px;
  padding: 10px 14px;
  display: grid;
  gap: 2px;
}
.imp-resumo-item span { font-size: 11.5px; color: var(--imp-texto-fraco); text-transform: uppercase; letter-spacing: 0.04em; }
.imp-resumo-item strong { font-size: 16px; font-variant-numeric: tabular-nums; }

.imp-positivo { color: var(--imp-verde); }
.imp-negativo { color: var(--imp-vermelho); }

.imp-alerta {
  border-radius: 10px;
  padding: 11px 14px;
  font-size: 13px;
  line-height: 1.6;
  margin-bottom: 12px;
}
.imp-alerta-info { background: #eff6ff; color: #1e40af; }
.imp-alerta-atencao { background: #fffbeb; color: #92400e; }
.imp-alerta-erro { background: #fef2f2; color: #991b1b; }

.imp-alerta-acao {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}

.imp-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}

.imp-filtros { display: flex; flex-wrap: wrap; gap: 6px; }

.imp-chip {
  padding: 5px 12px;
  border-radius: 20px;
  border: 1px solid var(--imp-borda);
  background: #fff;
  font-size: 12.5px;
  font-weight: 550;
  color: var(--imp-texto-fraco);
  cursor: pointer;
  white-space: nowrap;
}
.imp-chip:hover { background: var(--imp-bg-sutil); }
.imp-chip.ativo { background: var(--imp-texto); border-color: var(--imp-texto); color: #fff; }

.imp-lote { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.imp-lote .imp-select-mini { width: auto; min-width: 210px; }

.imp-tabela-wrap {
  border: 1px solid var(--imp-borda);
  border-radius: var(--imp-radius);
  overflow-x: auto;
}

.imp-tabela {
  width: 100%;
  min-width: 900px;
  border-collapse: collapse;
  font-size: 13px;
}

.imp-tabela thead th {
  position: sticky;
  top: 0;
  background: var(--imp-bg-sutil);
  text-align: left;
  font-size: 11.5px;
  font-weight: 650;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--imp-texto-fraco);
  padding: 9px 10px;
  border-bottom: 1px solid var(--imp-borda);
  z-index: 1;
}

.imp-tabela td {
  padding: 9px 10px;
  border-bottom: 1px solid #f1f5f9;
  vertical-align: top;
}

.imp-linha-off { opacity: 0.45; }
.imp-linha-atencao { background: #fffdf5; }

.imp-col-check { width: 34px; }
.imp-col-data { width: 88px; white-space: nowrap; }
.imp-col-tipo { width: 128px; }
.imp-col-cat { width: 168px; }
.imp-col-valor { width: 128px; text-align: right; white-space: nowrap; font-weight: 600; }
.imp-col-sit { width: 178px; }

.imp-mono { font-family: 'JetBrains Mono', ui-monospace, 'SF Mono', monospace; font-variant-numeric: tabular-nums; }

.imp-linha-meta { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 4px; align-items: center; }

.imp-original {
  font-size: 11px;
  color: #94a3b8;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  max-width: 320px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.imp-tag {
  font-size: 10.5px;
  padding: 1px 7px;
  border-radius: 10px;
  background: #f1f5f9;
  color: #475569;
  font-weight: 550;
}
.imp-tag-nat { background: #ede9fe; color: #5b21b6; }
.imp-tag-alerta { background: #fef3c7; color: #92400e; }
.imp-tag-ok { background: #d1fae5; color: #065f46; }

.imp-sugestao { font-size: 11px; color: var(--imp-ambar); margin-top: 3px; }
.imp-na { color: #cbd5e1; }
.imp-vazio { text-align: center; padding: 30px; color: var(--imp-texto-fraco); }

.imp-badge {
  display: inline-block;
  font-size: 10.5px;
  font-weight: 650;
  padding: 2px 8px;
  border-radius: 10px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.imp-badge-novo { background: #f1f5f9; color: #475569; }
.imp-badge-dup { background: #e2e8f0; color: #64748b; }
.imp-badge-conc { background: #d1fae5; color: #065f46; }
.imp-badge-jasistema { background: #ede9fe; color: #5b21b6; }
.imp-badge-acordo { background: #dbeafe; color: #1e40af; }
.imp-badge-ok { background: #d1fae5; color: #065f46; }
.imp-badge-med { background: #fef3c7; color: #92400e; }
.imp-badge-baixa { background: #fee2e2; color: #991b1b; }

.imp-conc { font-size: 11.5px; color: var(--imp-texto-fraco); margin-top: 3px; line-height: 1.4; }
.imp-conc-obs { font-size: 10.5px; color: #94a3b8; margin-top: 2px; line-height: 1.4; }

/* ---------- passo 4: resultado ---------- */

.imp-resultado { max-width: 820px; margin: 0 auto; display: grid; gap: 18px; }

.imp-resultado-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 10px;
}

.imp-card {
  border: 1px solid var(--imp-borda);
  border-radius: 10px;
  padding: 14px;
  text-align: center;
  display: grid;
  gap: 2px;
}
.imp-card span { font-size: 24px; font-weight: 650; font-variant-numeric: tabular-nums; }
.imp-card small { font-size: 11.5px; color: var(--imp-texto-fraco); }

.imp-acordos { display: grid; gap: 6px; margin-top: 10px; }
.imp-acordo-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  background: #fff;
  border-radius: 8px;
  padding: 7px 10px;
  font-size: 12.5px;
}

/* ---------- conferência de saldo ---------- */

.imp-conferencia {
  border-radius: var(--imp-radius);
  padding: 16px 18px;
  display: grid;
  gap: 4px;
  border: 1px solid var(--imp-borda);
}

.imp-conf-ok { background: #ecfdf5; border-color: #a7f3d0; }
.imp-conf-erro { background: #fef2f2; border-color: #fecaca; }
.imp-conf-neutra { background: var(--imp-bg-sutil); font-size: 13px; color: var(--imp-texto-fraco); }

.imp-conf-titulo { font-size: 15.5px; font-weight: 650; letter-spacing: -0.01em; margin-bottom: 6px; }
.imp-conf-ok .imp-conf-titulo { color: #065f46; }
.imp-conf-erro .imp-conf-titulo { color: #991b1b; }

.imp-conf-linha {
  display: flex;
  justify-content: space-between;
  max-width: 340px;
  font-size: 13.5px;
}
.imp-conf-linha strong { font-family: 'JetBrains Mono', ui-monospace, monospace; font-variant-numeric: tabular-nums; }

.imp-conf-obs {
  margin: 8px 0 0;
  font-size: 12.5px;
  line-height: 1.6;
  color: var(--imp-texto-fraco);
}

.imp-briefing {
  border: 1px solid var(--imp-borda);
  border-radius: var(--imp-radius);
  padding: 18px 20px;
}
.imp-briefing h3 { margin: 0 0 10px; font-size: 15px; font-weight: 650; letter-spacing: -0.01em; }
.imp-briefing-texto { margin: 0 0 14px; font-size: 14px; line-height: 1.7; }
.imp-briefing-ok { font-size: 13px; color: var(--imp-verde); margin: 0; }
.imp-briefing-erro { font-size: 13px; color: var(--imp-vermelho); margin: 0 0 10px; }
.imp-briefing-carregando { display: flex; align-items: center; gap: 10px; font-size: 13px; color: var(--imp-texto-fraco); }

.imp-alertas-ia { display: grid; gap: 8px; }
.imp-alerta-ia {
  border-left: 3px solid var(--imp-borda);
  padding: 8px 12px;
  border-radius: 0 8px 8px 0;
  display: grid;
  gap: 2px;
  font-size: 13px;
  background: var(--imp-bg-sutil);
}
.imp-alerta-ia strong { font-weight: 650; }
.imp-alerta-ia span { color: var(--imp-texto-fraco); line-height: 1.55; }
.imp-nivel-critico { border-left-color: var(--imp-vermelho); background: #fef2f2; }
.imp-nivel-atencao { border-left-color: var(--imp-ambar); background: #fffbeb; }
.imp-nivel-info { border-left-color: var(--imp-azul); background: #eff6ff; }

.imp-destaques { margin: 14px 0 0; padding-left: 18px; font-size: 13px; line-height: 1.7; color: var(--imp-texto-fraco); }

/* ---------- mobile ---------- */

@media (max-width: 768px) {
  .imp-painel { width: 100vw; height: 100vh; border-radius: 0; }
  .imp-body { padding: 16px; }
  .imp-footer { padding: 12px 16px; }
  .imp-footer-resumo { width: 100%; margin-bottom: 6px; }
  .imp-btn { flex: 1; }
  .imp-resumo-item { flex-basis: 45%; }
  .imp-original { max-width: 180px; }
  .imp-grid-conta { grid-template-columns: 1fr; }
  .imp-col-2 { grid-column: span 1; }
}

/* ==== /css/extrato-view.css ==== */
/* extrato-view.css — aba Extrato (movimentos bancários). Namespace .extv-*
   Este bloco sempre renderiza dentro de `.fv3` (ver financeiro-v3.js), então
   reaproveita os tokens --fv3-* já definidos em vez de duplicar um sistema
   de cor à parte — é assim que fica consistente com o resto do módulo. */

.extv {
  /* Aliases locais só para leitura do arquivo — todos apontam pro token fv3 */
  --extv-borda: var(--fv3-border);
  --extv-fraco: var(--fv3-text-3);
  --extv-texto2: var(--fv3-text-2);
  --extv-pos-txt: oklch(0.45 0.14 155);   /* mesma variante "escura" usada em fv3-mini-kpi-val.positive */
  --extv-neg-txt: oklch(0.50 0.18 25);
  --extv-pos-soft: var(--fv3-positive-soft);
  --extv-neg-soft: var(--fv3-danger-soft);
  display: grid;
  gap: 16px;
}

/* ---------- carregando / erro ---------- */

.extv-carregando {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 64px 20px;
  color: var(--extv-fraco);
  font-size: 13px;
  background: var(--fv3-bg-elev);
  border: 1px solid var(--extv-borda);
  border-radius: var(--fv3-radius);
}
.extv-carregando::before {
  content: '';
  width: 26px; height: 26px;
  border-radius: 50%;
  border: 2.5px solid var(--fv3-border-strong);
  border-top-color: var(--fv3-text-2);
  animation: extv-spin 0.75s linear infinite;
}
@keyframes extv-spin { to { transform: rotate(360deg); } }

/* Skeleton — usado no lugar dos cards enquanto o extrato ainda não voltou
   do banco, pra tela não "pular" de vazio pra cheia sem aviso. */
.extv-skeleton { display: grid; gap: 16px; }
.extv-skeleton-row {
  height: 56px;
  border-radius: var(--fv3-radius);
  background: linear-gradient(90deg, var(--fv3-bg-soft) 25%, var(--fv3-border) 37%, var(--fv3-bg-soft) 63%);
  background-size: 400% 100%;
  animation: extv-shimmer 1.4s ease infinite;
}
@keyframes extv-shimmer {
  0% { background-position: 100% 50%; }
  100% { background-position: 0 50%; }
}

/* ---------- topo ---------- */

.extv-topo {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.extv-titulo-bloco { min-width: 0; }

.extv-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10px;
  font-weight: 600;
  color: var(--extv-fraco);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 4px;
}
.extv-eyebrow::before {
  content: '';
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--fv3-info);
  display: inline-block;
}

.extv-titulo {
  margin: 0;
  font-family: 'Inter Tight', Inter, sans-serif;
  font-size: 20px;
  font-weight: 650;
  letter-spacing: -0.02em;
  color: var(--fv3-text);
}

.extv-sub { margin: 3px 0 0; font-size: 12.5px; color: var(--extv-fraco); }

.extv-controles { display: flex; gap: 8px; flex-wrap: wrap; }

.extv-select {
  padding: 8px 11px;
  border: 1px solid var(--extv-borda);
  border-radius: var(--fv3-radius-sm);
  background: var(--fv3-bg-elev);
  color: var(--fv3-text);
  font-size: 12.5px;
  font-family: 'Inter', system-ui, sans-serif;
  transition: border-color 120ms ease;
}
.extv-select:hover { border-color: var(--fv3-border-strong); }
.extv-select:focus-visible { outline: 2px solid var(--fv3-info); outline-offset: 1px; }

.extv-btn {
  padding: 8px 16px;
  border-radius: var(--fv3-radius-sm);
  border: 1px solid transparent;
  font-size: 12.5px;
  font-weight: 550;
  cursor: pointer;
  font-family: 'Inter', system-ui, sans-serif;
  transition: background 120ms ease, border-color 120ms ease;
}
.extv-btn:focus-visible { outline: 2px solid var(--fv3-info); outline-offset: 2px; }
.extv-btn-primario { background: var(--fv3-text); color: var(--fv3-hero-text); }
.extv-btn-primario:hover { background: #1F2024; }

.extv-btn-neutro { background: var(--fv3-bg-elev); color: var(--extv-texto2); border-color: var(--extv-borda); }
.extv-btn-neutro:hover { background: var(--fv3-bg-soft); color: var(--fv3-text); border-color: var(--fv3-border-strong); }

/* ---------- cards de saldo ---------- */

.extv-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
}

.extv-card {
  border: 1px solid var(--extv-borda);
  border-radius: var(--fv3-radius);
  padding: 14px 16px;
  background: var(--fv3-bg-elev);
  display: grid;
  gap: 4px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 4px 12px rgba(15, 23, 42, 0.03);
  transition: box-shadow 180ms ease;
}
.extv-card:hover { box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05), 0 8px 20px rgba(15, 23, 42, 0.05); }
.extv-card-alerta { border-color: oklch(0.80 0.12 75); background: var(--fv3-warning-soft); }
.extv-card-atencao { border-color: oklch(0.80 0.12 75); background: var(--fv3-warning-soft); }

.extv-card-rot {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--extv-fraco);
  font-weight: 600;
}
.extv-card-valor {
  font-family: 'Inter Tight', Inter, sans-serif;
  font-size: 21px;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em;
  color: var(--fv3-text);
}
.extv-card small { font-size: 11px; color: var(--extv-fraco); }

/* ---------- filtros ---------- */

.extv-filtros {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.extv-chips {
  display: inline-flex;
  gap: 3px;
  padding: 3px;
  background: var(--fv3-bg-soft);
  border: 1px solid var(--extv-borda);
  border-radius: var(--fv3-radius-sm);
}

.extv-chip {
  padding: 6px 13px;
  border: none;
  border-radius: 6px;
  background: transparent;
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 12px;
  font-weight: 550;
  color: var(--extv-texto2);
  cursor: pointer;
  white-space: nowrap;
  transition: background 120ms ease, color 120ms ease, box-shadow 120ms ease;
}
.extv-chip:hover { color: var(--fv3-text); }
.extv-chip:focus-visible { outline: 2px solid var(--fv3-info); outline-offset: 1px; }
.extv-chip.ativo {
  background: var(--fv3-bg-elev);
  color: var(--fv3-text);
  font-weight: 600;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
}

.extv-busca {
  flex: 1;
  min-width: 200px;
  padding: 8px 12px;
  border: 1px solid var(--extv-borda);
  border-radius: var(--fv3-radius-sm);
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 12.5px;
  background: var(--fv3-bg-elev);
  color: var(--fv3-text);
  transition: border-color 120ms ease;
}
.extv-busca::placeholder { color: var(--fv3-text-3); }
.extv-busca:hover { border-color: var(--fv3-border-strong); }
.extv-busca:focus-visible { outline: 2px solid var(--fv3-info); outline-offset: 1px; }

.extv-contagem {
  font-size: 11.5px;
  color: var(--extv-fraco);
  margin: -6px 0 0 2px;
}

/* ---------- alertas ---------- */

.extv-alerta {
  position: relative;
  border-radius: var(--fv3-radius);
  padding: 14px 16px 14px 44px;
  font-size: 12.5px;
  line-height: 1.6;
  border: 1px solid var(--extv-borda);
}
.extv-alerta::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 4px;
  border-radius: var(--fv3-radius) 0 0 var(--fv3-radius);
}
.extv-alerta::after {
  content: '';
  position: absolute;
  left: 14px; top: 14px;
  width: 18px; height: 18px;
  border-radius: 50%;
}
.extv-ok {
  background: var(--extv-pos-soft);
  color: oklch(0.35 0.10 155);
  border-color: oklch(0.85 0.08 155);
}
.extv-ok::before { background: var(--fv3-positive); }
.extv-ok::after { background: oklch(0.72 0.14 155 / 0.35); }
.extv-atencao {
  background: var(--fv3-warning-soft);
  color: oklch(0.38 0.14 65);
  border-color: oklch(0.82 0.10 75);
}
.extv-atencao::before { background: var(--fv3-warning); }
.extv-atencao::after { background: oklch(0.78 0.14 75 / 0.35); }
.extv-erro {
  background: var(--extv-neg-soft);
  color: oklch(0.38 0.16 25);
  border-color: oklch(0.83 0.10 25);
}
.extv-erro::before { background: var(--fv3-danger); }
.extv-erro::after { background: oklch(0.64 0.20 25 / 0.30); }

.extv-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: 12px;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  color: inherit;
  font: inherit;
  text-align: left;
}
.extv-toggle:focus-visible { outline: 2px solid var(--fv3-info); outline-offset: 2px; border-radius: 4px; }
.extv-toggle span { font-size: 11.5px; text-decoration: underline; opacity: 0.8; white-space: nowrap; }

.extv-alerta-obs { margin: 6px 0 0; font-size: 12px; opacity: 0.92; }

.extv-orfaos { display: grid; gap: 6px; margin-top: 10px; }

.extv-orfao-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: var(--fv3-bg-elev);
  border: 1px solid var(--extv-borda);
  border-radius: var(--fv3-radius-sm);
  padding: 8px 12px;
  font-size: 12px;
  color: var(--fv3-text);
  flex-wrap: wrap;
}
.extv-orfao-item code {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10.5px;
  background: var(--fv3-bg-soft);
  padding: 1px 6px;
  border-radius: 4px;
  color: var(--extv-texto2);
}

.extv-btn-perigo {
  background: var(--fv3-danger);
  color: #fff;
  padding: 5px 12px;
  font-size: 11.5px;
}
.extv-btn-perigo:hover { background: oklch(0.56 0.20 25); }

.extv-pendentes {
  margin-top: 10px;
  display: grid;
  gap: 2px;
  background: var(--fv3-bg-elev);
  border: 1px solid var(--extv-borda);
  border-radius: var(--fv3-radius-sm);
  padding: 6px;
  max-height: 260px;
  overflow-y: auto;
}

.extv-pendente {
  display: grid;
  grid-template-columns: 76px 1fr auto;
  gap: 10px;
  align-items: center;
  font-size: 12px;
  color: var(--fv3-text);
  padding: 5px 8px;
  border-radius: 6px;
}
.extv-pendente:hover { background: var(--fv3-bg-soft); }
.extv-pendente-desc { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.extv-pendente-mais { font-size: 11px; padding: 6px 8px; opacity: 0.7; }

/* ---------- tabela ---------- */

.extv-tabela-wrap {
  border: 1px solid var(--extv-borda);
  border-radius: var(--fv3-radius);
  overflow-x: auto;
  background: var(--fv3-bg-elev);
}

.extv-tabela { width: 100%; border-collapse: collapse; font-size: 13px; }

.extv-tabela thead th {
  text-align: left;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--extv-fraco);
  padding: 11px 14px;
  border-bottom: 1px solid var(--extv-borda);
  background: var(--fv3-bg-soft);
  white-space: nowrap;
}
.extv-tabela thead th:first-child { padding-left: 18px; }

.extv-tabela td { padding: 12px 14px; border-bottom: 1px solid var(--fv3-bg-soft); vertical-align: top; }
.extv-tabela td:first-child { padding-left: 18px; }
.extv-tabela tbody tr:last-child td { border-bottom: none; }
.extv-tabela tbody tr { position: relative; transition: background 120ms ease; }
.extv-tabela tbody tr:hover { background: var(--fv3-bg-soft); }

/* Faixa de sinal (entrada/saída) — reforça o sentido do movimento sem
   pintar a linha inteira de vermelho/verde. Degrada bem: sem :has(),
   a linha só fica sem a faixa, nada quebra. */
.extv-tabela tbody tr::before {
  content: '';
  position: absolute;
  left: 0; top: 6px; bottom: 6px;
  width: 3px;
  border-radius: 0 2px 2px 0;
  background: transparent;
}
.extv-tabela tbody tr:has(.extv-pos)::before { background: var(--fv3-positive); }
.extv-tabela tbody tr:has(.extv-neg)::before { background: var(--fv3-danger); opacity: 0.75; }

.extv-col-data { width: 92px; white-space: nowrap; }
.extv-col-era { width: 220px; }
.extv-col-valor { width: 136px; text-align: right; white-space: nowrap; font-weight: 600; }
.extv-col-saldo { width: 122px; text-align: right; white-space: nowrap; color: var(--extv-fraco); }

.extv-mono { font-family: 'JetBrains Mono', ui-monospace, monospace; font-variant-numeric: tabular-nums; color: var(--extv-texto2); }
.extv-pos { color: var(--extv-pos-txt); }
.extv-neg { color: var(--extv-neg-txt); }

.extv-desc { font-size: 13px; font-weight: 500; color: var(--fv3-text); }
.extv-original { font-size: 10.5px; color: var(--fv3-text-3); font-family: 'JetBrains Mono', ui-monospace, monospace; margin-top: 2px; }
.extv-vinc { font-size: 11px; color: var(--extv-fraco); margin-top: 3px; line-height: 1.4; }

.extv-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 10px;
  font-weight: 650;
  padding: 2px 8px;
  border-radius: 6px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.extv-badge::before { content: ''; width: 5px; height: 5px; border-radius: 50%; flex-shrink: 0; }
.extv-badge-lig { background: var(--fv3-info-soft); color: var(--fv3-info); }
.extv-badge-lig::before { background: var(--fv3-info); }
.extv-badge-solto { background: var(--fv3-bg-soft); color: var(--extv-texto2); }
.extv-badge-solto::before { background: var(--fv3-text-3); }

.extv-vazio {
  display: flex;
  flex-direction: column;
  align-items: center;
  border: 1px dashed var(--fv3-border-strong);
  border-radius: var(--fv3-radius);
  padding: 48px 24px;
  text-align: center;
  color: var(--extv-fraco);
  font-size: 13px;
  line-height: 1.65;
  background: var(--fv3-bg-elev);
}
.extv-vazio::before {
  content: '';
  width: 44px; height: 44px;
  border-radius: 50%;
  background: var(--fv3-bg-soft);
  border: 1px solid var(--extv-borda);
  margin-bottom: 12px;
}
.extv-vazio p { margin: 0 0 6px; max-width: 420px; }
.extv-vazio p:first-child { font-family: 'Inter Tight', sans-serif; font-size: 14.5px; font-weight: 600; color: var(--fv3-text); }
.extv-vazio p:first-child strong { font-weight: 600; }

@media (max-width: 860px) {
  /* As 5 colunas fixas (data 92 + era 220 + valor 136 + saldo 122 = 570px
     + padding + descrição) já não cabem no tablet de 768px, e um scroll
     horizontal ali dentro do card ainda empurra a barra do navegador.
     Vira cartão de 3 linhas — mesmo tratamento já usado nas listas do
     financeiro-v3.css (extrato-row, venc-row) pra manter os 375px limpos. */
  .extv-tabela-wrap { overflow-x: hidden; }
  .extv-tabela { width: 100%; }
  .extv-tabela thead { display: none; }
  .extv-tabela, .extv-tabela tbody { display: block; width: 100%; }
  .extv-tabela tbody tr {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-areas:
      "data  valor"
      "desc  desc"
      "era   saldo";
    column-gap: 12px;
    row-gap: 5px;
    padding: 13px 16px 13px 20px;
    border-bottom: 1px solid var(--extv-borda);
  }
  .extv-tabela tbody tr:last-child { border-bottom: none; }
  .extv-tabela td {
    display: block;
    padding: 0 !important;
    border-bottom: none;
  }
  .extv-col-data { grid-area: data; width: auto; align-self: start; }
  .extv-tabela td:nth-child(2) { grid-area: desc; min-width: 0; }
  .extv-col-era { grid-area: era; width: auto; align-self: end; }
  .extv-col-valor { grid-area: valor; width: auto; align-self: start; font-size: 13.5px; }
  .extv-col-saldo { grid-area: saldo; width: auto; align-self: end; }

  .extv-topo { align-items: stretch; }
  .extv-controles { width: 100%; }
  .extv-select { flex: 1; min-width: 0; }
  .extv-pendente { grid-template-columns: 68px 1fr; row-gap: 2px; }
  .extv-pendente span:last-child { grid-column: 2; text-align: right; }
}

/* ==== /modules/dashboard/dashboard-redesign.css ==== */
/* ============================================================================
   Acordly Dashboard v2 — design tokens, utilitárias defensivas e componentes
   Tudo escopado em .dashboard-v2 para não vazar pro resto do app.
   ============================================================================ */

/* Reduz o padding gigante do wrapper pai (Tailwind: px-12 py-8 no desktop = 96px+64px
   desperdiçados) APENAS quando a view dashboard está ativa. `:has()` garante que as
   outras views (Clientes, Audiências, Financeiro…) continuam com o padding original. */
main > div:has(> #dashboard-view.view.active) {
  padding: 14px 18px 40px !important;
}
@media (max-width: 640px) {
  main > div:has(> #dashboard-view.view.active) {
    padding: 12px 12px 32px !important;
  }
}

/* BUG 6 fix: garante que o wrapper ocupa 100% da largura do container pai.
   Algum estilo herdado (Tailwind/legado) estava comprimindo em ~800px. */
.dashboard-v2 {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  box-sizing: border-box;
}
.dashboard-v2 *,
.dashboard-v2 *::before,
.dashboard-v2 *::after { box-sizing: border-box; }

.dashboard-v2 {
  --bg: #FAFAF9;
  --bg-elev: #FFFFFF;
  --bg-soft: #F4F4F2;
  --border: #E7E5E4;
  --border-strong: #D6D3D1;
  --text: #0A0B0D;
  --text-2: #57534E;
  --text-3: #A8A29E;

  --hero-bg: #0A0B0D;
  --hero-bg-2: #111214;
  --hero-border: #1F2024;
  --hero-border-2: #2A2B30;
  --hero-text: #FAFAF9;
  --hero-text-2: #A8A29E;
  --hero-text-3: #6B6965;

  --accent: oklch(0.78 0.14 75);
  --accent-soft: oklch(0.78 0.14 75 / 0.14);
  --positive: oklch(0.72 0.14 155);
  --positive-soft: oklch(0.72 0.14 155 / 0.12);
  --warning: oklch(0.78 0.14 75);
  --warning-soft: oklch(0.78 0.14 75 / 0.12);
  --danger: oklch(0.64 0.20 25);
  --danger-soft: oklch(0.64 0.20 25 / 0.10);
  --info: oklch(0.64 0.13 245);
  --info-soft: oklch(0.64 0.13 245 / 0.10);
  --purple: oklch(0.62 0.18 295);
  --purple-soft: oklch(0.62 0.18 295 / 0.10);
  --orange: oklch(0.70 0.18 50);
  --orange-soft: oklch(0.70 0.18 50 / 0.12);

  --radius-lg: 18px;
  --radius: 14px;
  --radius-sm: 8px;
  --radius-xs: 6px;

  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --dur-fast: 120ms;
  --dur: 200ms;
  --dur-slow: 380ms;

  font-family: 'Inter', system-ui, sans-serif;
  /* transparente: deixa o fundo do <main> da app aparecer (evita 3 camadas
     empilhadas: cinza-da-pagina → off-white-meu → branco-do-card). */
  background: transparent;
  color: var(--text);
  font-size: 13.5px;
  line-height: 1.45;
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "cv11", "ss01", "ss03";
}

@media (prefers-reduced-motion: reduce) {
  .dashboard-v2 *,
  .dashboard-v2 *::before,
  .dashboard-v2 *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

/* ─── animações ─────────────────────────────────────────────────────────── */
@keyframes dv2-rise {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes dv2-fade {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes dv2-shimmer {
  0%   { background-position: -200% 0; }
  100% { background-position:  200% 0; }
}
@keyframes dv2-pulse {
  0%   { box-shadow: 0 0 0 0 oklch(0.72 0.14 155 / 0.5); }
  70%  { box-shadow: 0 0 0 6px oklch(0.72 0.14 155 / 0); }
  100% { box-shadow: 0 0 0 0 oklch(0.72 0.14 155 / 0); }
}
@keyframes dv2-tt-in {
  from { opacity: 0; transform: translateY(2px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes dv2-spark-draw { to { stroke-dashoffset: 0; } }

.dashboard-v2 .rise   { animation: dv2-rise var(--dur-slow) var(--ease-out) both; }
.dashboard-v2 .rise-1 { animation-delay:  40ms; }
.dashboard-v2 .rise-2 { animation-delay:  80ms; }
.dashboard-v2 .rise-3 { animation-delay: 120ms; }
.dashboard-v2 .rise-4 { animation-delay: 160ms; }
.dashboard-v2 .rise-5 { animation-delay: 200ms; }
.dashboard-v2 .rise-6 { animation-delay: 240ms; }

/* ─── tipografia helpers ────────────────────────────────────────────────── */
.dashboard-v2 .display {
  font-family: 'Inter Tight', 'Inter', sans-serif;
  letter-spacing: -0.02em;
}
.dashboard-v2 .mono {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-feature-settings: "tnum";
}
.dashboard-v2 .tnum {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum";
}

/* ─── botões base ───────────────────────────────────────────────────────── */
.dashboard-v2 button { font: inherit; cursor: pointer; border: 0; background: none; color: inherit; }
.dashboard-v2 .btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 10px; font-size: 12.5px; font-weight: 500;
  background: var(--bg-elev); color: var(--text);
  border: 1px solid var(--border); border-radius: var(--radius-sm);
  transition: border-color var(--dur-fast) var(--ease),
              background var(--dur-fast) var(--ease),
              transform var(--dur-fast) var(--ease);
}
.dashboard-v2 .btn:hover  { border-color: var(--text-2); }
.dashboard-v2 .btn:active { transform: translateY(0.5px); }
.dashboard-v2 .btn.primary {
  background: var(--text); color: white; border-color: var(--text);
}
.dashboard-v2 .btn.primary:hover { background: #1c1d20; border-color: #1c1d20; }
.dashboard-v2 .btn.sm { padding: 4px 8px; font-size: 11.5px; }
.dashboard-v2 .btn svg { width: 13px; height: 13px; }

.dashboard-v2 .dark-btn {
  font-size: 11.5px; font-weight: 500; color: var(--hero-text-2);
  padding: 5px 9px; border: 1px solid var(--hero-border-2); border-radius: 6px;
  display: inline-flex; align-items: center; gap: 5px;
}
.dashboard-v2 .dark-btn:hover { color: var(--hero-text); border-color: var(--hero-text-3); }
.dashboard-v2 .dark-btn svg { width: 12px; height: 12px; }

/* ─── focus ring (a11y) ─────────────────────────────────────────────────── */
.dashboard-v2 :focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
  border-radius: 4px;
}

/* ─── utilitárias defensivas: truncamento + tooltip ─────────────────────── */
.dashboard-v2 .trunc {
  overflow: hidden; text-overflow: ellipsis;
  white-space: nowrap; min-width: 0;
}
.dashboard-v2 .trunc-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden; min-width: 0;
}

/* ─── empty state ───────────────────────────────────────────────────────── */
.dashboard-v2 .empty-state {
  padding: 40px 24px; text-align: center;
  color: var(--text-2); font-size: 13px;
  display: flex; flex-direction: column; align-items: center; gap: 10px;
}
.dashboard-v2 .empty-state .icon {
  width: 44px; height: 44px; border-radius: 50%;
  background: var(--bg-soft); color: var(--text-3);
  display: grid; place-items: center;
}
.dashboard-v2 .empty-state .title {
  font-family: 'Inter Tight', 'Inter', sans-serif;
  font-size: 14px; font-weight: 600; color: var(--text);
  letter-spacing: -0.01em;
}
.dashboard-v2 .empty-state .desc {
  font-size: 12px; color: var(--text-2); max-width: 280px;
}

/* ─── error state ───────────────────────────────────────────────────────── */
.dashboard-v2 .error-state {
  padding: 32px 24px; text-align: center;
  display: flex; flex-direction: column; align-items: center; gap: 10px;
}
.dashboard-v2 .error-state .icon {
  width: 44px; height: 44px; border-radius: 50%;
  background: var(--danger-soft); color: var(--danger);
  display: grid; place-items: center;
}

/* ─── timestamp por seção ───────────────────────────────────────────────── */
.dashboard-v2 .section-time {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10.5px; color: var(--text-3);
  display: inline-flex; align-items: center; gap: 5px;
  padding: 2px 7px; border-radius: var(--radius-xs);
  background: var(--bg-soft);
  white-space: nowrap;
}
.dashboard-v2 .section-time .pip {
  width: 5px; height: 5px; border-radius: 50%;
  background: var(--positive);
}
.dashboard-v2 .section-time.stale { color: oklch(0.55 0.14 60); }
.dashboard-v2 .section-time.stale .pip { background: var(--warning); }
.dashboard-v2 .section-time.error { color: var(--danger); }
.dashboard-v2 .section-time.error .pip { background: var(--danger); }

/* ─── "ver mais" footer ─────────────────────────────────────────────────── */
.dashboard-v2 .list-more {
  display: flex; align-items: center; justify-content: center; gap: 6px;
  padding: 10px 16px; width: 100%; background: transparent;
  font-size: 12px; font-weight: 500; color: var(--text-2);
  border-top: 1px solid var(--border); cursor: pointer;
  transition: background var(--dur-fast) var(--ease),
              color var(--dur-fast) var(--ease);
}
.dashboard-v2 .list-more:hover { background: var(--bg-soft); color: var(--text); }
.dashboard-v2 .list-more svg { width: 12px; height: 12px; }

/* ─── delta (colorblind-safe) ───────────────────────────────────────────── */
.dashboard-v2 .delta {
  display: inline-flex; align-items: center; gap: 3px;
  font-weight: 500; font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 11px;
}
.dashboard-v2 .delta svg { flex: none; width: 11px; height: 11px; }
.dashboard-v2 .delta.up   { color: var(--positive); }
.dashboard-v2 .delta.down { color: var(--danger); }

/* ─── skeleton ──────────────────────────────────────────────────────────── */
.dashboard-v2 .skel {
  background: linear-gradient(90deg, var(--bg-soft) 0%, #ECECEA 50%, var(--bg-soft) 100%);
  background-size: 200% 100%;
  animation: dv2-shimmer 1.4s linear infinite;
  border-radius: 4px;
  display: block;
}
/* variante escura — usada dentro do hero (fundo dark), mesma mecânica de
   shimmer só que tonalizada para não "estourar" branco sobre --hero-bg. */
.dashboard-v2 .skel-dark {
  background: linear-gradient(90deg, var(--hero-border-2) 0%, #34363c 50%, var(--hero-border-2) 100%);
  background-size: 200% 100%;
  animation: dv2-shimmer 1.4s linear infinite;
  border-radius: 4px;
  display: block;
}

/* ─── estado de carregamento (skeleton de página inteira) ───────────────── */
.dashboard-v2.dv2-skeleton .kpi,
.dashboard-v2.dv2-skeleton .radar-tab,
.dashboard-v2.dv2-skeleton .card { pointer-events: none; }
.dashboard-v2.dv2-skeleton .skel-line { border-radius: 4px; }

/* ============================================================================
   HERO (DARK)
   ============================================================================ */
.dashboard-v2 .hero {
  background: var(--hero-bg);
  border-radius: 16px;
  padding: 22px 24px 20px;
  color: var(--hero-text);
  position: relative; overflow: hidden;
}
.dashboard-v2 .hero::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(700px 320px at 85% -10%, oklch(0.78 0.14 75 / 0.08), transparent 60%),
    radial-gradient(560px 280px at 15% 110%, oklch(0.64 0.13 245 / 0.06), transparent 60%);
}
.dashboard-v2 .hero > * { position: relative; }

.dashboard-v2 .hero-head {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: 16px; margin-bottom: 20px;
}
.dashboard-v2 .eyebrow {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10.5px; font-weight: 500; color: var(--hero-text-3);
  text-transform: uppercase; letter-spacing: 0.12em;
  margin-bottom: 6px;
  display: flex; align-items: center; gap: 8px;
}
.dashboard-v2 .pulse {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--positive);
  animation: dv2-pulse 2.2s infinite;
}
.dashboard-v2 .hero h1 {
  font-family: 'Inter Tight', 'Inter', sans-serif;
  font-size: 26px; font-weight: 600; letter-spacing: -0.025em; line-height: 1.1;
  margin: 0;
}
.dashboard-v2 .hero .sub {
  margin-top: 4px; font-size: 13px; color: var(--hero-text-2);
}

.dashboard-v2 .chip {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 5px 10px; border-radius: 6px;
  border: 1px solid var(--hero-border-2);
  background: rgba(255,255,255,0.02);
  font-size: 12px; color: var(--hero-text-2);
  font-family: 'JetBrains Mono', ui-monospace, monospace;
}
.dashboard-v2 .chip strong { color: var(--hero-text); font-weight: 500; }
.dashboard-v2 .chip.meta { padding: 4px 8px 4px 10px; gap: 8px; }
.dashboard-v2 .chip.meta input {
  width: 96px; background: none; border: 0; color: var(--hero-text);
  font-family: inherit; font-size: 12px; outline: 0; font-weight: 600;
  padding: 0;
}
.dashboard-v2 .chip.meta button {
  font-size: 11px; color: var(--accent); font-weight: 500;
  padding: 2px 6px; border-radius: 4px;
}
.dashboard-v2 .chip.meta button:hover { background: var(--accent-soft); }

/* KPIs grid */
.dashboard-v2 .kpis {
  /* 4 KPIs: entrou · vai entrar · vai sair · tenho hoje. Eram 5, mas três
     eram vistas do mesmo fato (receita, ganho vs mês anterior, progresso da
     meta) — viraram a linha de resumo acima. */
  display: grid; grid-template-columns: 1.2fr 1fr 1fr 1fr;
  gap: 1px; background: var(--hero-border);
  border: 1px solid var(--hero-border); border-radius: 12px; overflow: hidden;
}
.dashboard-v2 .kpi {
  background: var(--hero-bg); padding: 16px 18px 14px;
  display: flex; flex-direction: column; gap: 8px;
  min-width: 0; position: relative;
  transition: background var(--dur) var(--ease);
}
.dashboard-v2 .kpi:hover { background: #0F1013; }
.dashboard-v2 .kpi.warning {
  background: linear-gradient(180deg, oklch(0.78 0.14 75 / 0.05), transparent);
}
.dashboard-v2 .kpi-label {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10px; font-weight: 500; color: var(--hero-text-3);
  text-transform: uppercase; letter-spacing: 0.1em;
  display: flex; align-items: center; gap: 6px;
}
.dashboard-v2 .kpi-label svg { width: 11px; height: 11px; }
.dashboard-v2 .kpi-value {
  font-family: 'Inter Tight', 'Inter', sans-serif;
  font-size: 28px; font-weight: 600; letter-spacing: -0.025em;
  line-height: 1; color: var(--hero-text);
  display: flex; align-items: baseline; gap: 5px;
  font-variant-numeric: tabular-nums;
}
.dashboard-v2 .kpi-value .currency,
.dashboard-v2 .kpi-value .unit {
  font-size: 13px; color: var(--hero-text-2); font-weight: 500;
}
.dashboard-v2 .kpi-foot {
  display: flex; align-items: center; justify-content: space-between;
  gap: 8px; font-size: 11.5px; color: var(--hero-text-2);
}
.dashboard-v2 .spark { width: 70px; height: 22px; flex: none; }

.dashboard-v2 .progress {
  height: 4px; background: var(--hero-border-2);
  border-radius: 2px; overflow: hidden;
}
.dashboard-v2 .progress > div {
  height: 100%; background: var(--accent); border-radius: 2px;
  transition: width 0.6s ease;
}
.dashboard-v2 .progress.danger > div   { background: var(--danger); }
.dashboard-v2 .progress.positive > div { background: var(--positive); }

.dashboard-v2 .ring-row { display: flex; align-items: center; gap: 10px; }

/* tooltip nos KPIs */
.dashboard-v2 .kpi-tooltip {
  position: absolute;
  top: calc(100% + 6px); left: 0;
  background: #111214; border: 1px solid var(--hero-border-2);
  border-radius: 8px; padding: 10px 12px;
  width: 240px; z-index: 50;
  box-shadow: 0 10px 40px rgba(0,0,0,0.4);
  opacity: 0; transform: translateY(-4px); pointer-events: none;
  transition: opacity 0.15s, transform 0.15s;
  font-size: 11.5px;
}
.dashboard-v2 .kpi:hover .kpi-tooltip { opacity: 1; transform: translateY(0); }
.dashboard-v2 .kpi-tooltip-title {
  font-size: 11px; font-weight: 600; color: var(--hero-text); margin-bottom: 6px;
}
.dashboard-v2 .kpi-tooltip-row {
  display: flex; justify-content: space-between; gap: 10px;
  padding: 2px 0; color: var(--hero-text-2);
}
.dashboard-v2 .kpi-tooltip-row strong { color: var(--hero-text); font-weight: 500; }

/* ─── painel de execução (dentro do hero) ───────────────────────────────── */
.dashboard-v2 .exec-panel {
  margin-top: 18px;
  border: 1px solid var(--hero-border-2); border-radius: 12px;
  padding: 14px 16px;
  background: rgba(255,255,255,0.015);
}
.dashboard-v2 .exec-head {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 12px; gap: 12px; flex-wrap: wrap;
}
.dashboard-v2 .exec-title {
  font-family: 'Inter Tight', 'Inter', sans-serif;
  font-weight: 600; font-size: 14px; letter-spacing: -0.01em;
}
.dashboard-v2 .exec-sub {
  font-size: 11.5px; color: var(--hero-text-3); margin-top: 1px;
}

.dashboard-v2 .exec-grid {
  display: grid; grid-template-columns: 300px 1fr; gap: 12px;
}

.dashboard-v2 .radar { display: flex; flex-direction: column; gap: 6px; }
.dashboard-v2 .radar-tab {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 12px; border: 1px solid var(--hero-border-2);
  border-radius: 8px; cursor: pointer;
  background: rgba(255,255,255,0.015);
  transition: all var(--dur) var(--ease);
}
.dashboard-v2 .radar-tab:hover {
  border-color: var(--hero-text-3); transform: translateX(1px);
}
.dashboard-v2 .radar-tab.active {
  background: rgba(255,255,255,0.04);
  border-color: var(--hero-text-2);
}
.dashboard-v2 .radar-tab .ind {
  width: 3px; height: 22px; border-radius: 2px;
  background: var(--hero-text-3);
}
.dashboard-v2 .radar-tab.danger .ind  { background: var(--danger); }
.dashboard-v2 .radar-tab.warn   .ind  { background: var(--warning); }
.dashboard-v2 .radar-tab.info   .ind  { background: var(--info); }
.dashboard-v2 .radar-tab-label {
  font-size: 10.5px; color: var(--hero-text-2);
  text-transform: uppercase; letter-spacing: 0.06em; font-weight: 500;
}
.dashboard-v2 .radar-tab-count {
  font-family: 'Inter Tight', 'Inter', sans-serif;
  font-size: 20px; font-weight: 600; letter-spacing: -0.02em; line-height: 1;
  color: var(--hero-text);
}
.dashboard-v2 .radar-tab.danger .radar-tab-count { color: oklch(0.78 0.14 25); }
.dashboard-v2 .radar-tab .arrow { margin-left: auto; color: var(--hero-text-3); }
.dashboard-v2 .radar-tab.active .arrow { color: var(--hero-text); }

.dashboard-v2 .timeline {
  background: rgba(255,255,255,0.015);
  border: 1px solid var(--hero-border-2); border-radius: 8px;
  display: flex; flex-direction: column; overflow: hidden;
}
.dashboard-v2 .timeline-head {
  padding: 9px 12px; border-bottom: 1px solid var(--hero-border-2);
  display: flex; align-items: center; justify-content: space-between;
  font-size: 11px;
}
.dashboard-v2 .timeline-head .t { color: var(--hero-text-2); font-weight: 500; }
.dashboard-v2 .timeline-head .c {
  color: var(--hero-text-3);
  font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 10.5px;
}
.dashboard-v2 .timeline-list {
  display: flex; flex-direction: column;
  animation: dv2-fade var(--dur-slow) var(--ease-out);
}
.dashboard-v2 .timeline-panel { display: none; }
.dashboard-v2 .timeline-panel.active { display: block; }

.dashboard-v2 .tl-row {
  display: grid; grid-template-columns: 64px 1fr auto auto;
  gap: 12px; align-items: center;
  padding: 9px 12px;
  border-bottom: 1px solid var(--hero-border);
  cursor: pointer;
  transition: background var(--dur-fast) var(--ease);
}
.dashboard-v2 .tl-row:last-child { border-bottom: 0; }
.dashboard-v2 .tl-row:hover { background: rgba(255,255,255,0.025); }
.dashboard-v2 .tl-when {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 11px; color: var(--hero-text-2);
}
.dashboard-v2 .tl-when.danger { color: oklch(0.78 0.14 25); font-weight: 500; }
.dashboard-v2 .tl-title {
  font-size: 12.5px; color: var(--hero-text); font-weight: 500;
  min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.dashboard-v2 .tl-sub {
  font-size: 11px; color: var(--hero-text-3); margin-top: 1px;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.dashboard-v2 .tl-type {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 9.5px; padding: 2px 6px; border-radius: 4px;
  text-transform: uppercase; letter-spacing: 0.06em;
}
.dashboard-v2 .tl-type.pet { background: oklch(0.3 0.08 75 / 0.5);  color: oklch(0.85 0.08 75); }
.dashboard-v2 .tl-type.aud { background: oklch(0.3 0.08 245 / 0.5); color: oklch(0.8 0.08 245); }
.dashboard-v2 .tl-type.pra { background: oklch(0.3 0.12 25 / 0.5);  color: oklch(0.82 0.12 25); }
.dashboard-v2 .tl-type.ins { background: oklch(0.3 0.10 160 / 0.5); color: oklch(0.82 0.10 160); }
.dashboard-v2 .tl-type.per { background: oklch(0.3 0.10 300 / 0.5); color: oklch(0.82 0.08 300); }
.dashboard-v2 .tl-owner {
  width: 22px; height: 22px; border-radius: 50%;
  font-size: 9.5px; font-weight: 600; color: white;
  display: grid; place-items: center;
}

/* ============================================================================
   SECTION WRAPPER
   ============================================================================ */
.dashboard-v2 .section { margin-top: 18px; }
.dashboard-v2 .section-head {
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px; margin-bottom: 10px; flex-wrap: wrap;
}
.dashboard-v2 .section-title-group { min-width: 0; }
.dashboard-v2 .section-title {
  font-family: 'Inter Tight', 'Inter', sans-serif;
  font-size: 16px; font-weight: 600; letter-spacing: -0.015em;
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
  margin: 0;
}
.dashboard-v2 .section-sub {
  font-size: 12px; color: var(--text-2); margin-top: 1px;
}
.dashboard-v2 .section-actions {
  display: flex; gap: 6px; align-items: center; flex-wrap: wrap;
}

.dashboard-v2 .card {
  background: var(--bg-elev);
  border: 1px solid var(--border); border-radius: var(--radius);
  min-width: 0;
}
.dashboard-v2 .card.pad { padding: 16px; }

/* ============================================================================
   DINHEIRO NA MESA
   ============================================================================ */
.dashboard-v2 .mot-head {
  display: flex; align-items: flex-start; justify-content: space-between;
  padding: 14px 16px; border-bottom: 1px solid var(--border); gap: 14px;
}
.dashboard-v2 .mot-total {
  font-family: 'Inter Tight', 'Inter', sans-serif;
  font-size: 28px; font-weight: 600; letter-spacing: -0.025em; line-height: 1;
  color: var(--danger); font-variant-numeric: tabular-nums;
}
.dashboard-v2 .mot-list { display: flex; flex-direction: column; }
.dashboard-v2 .mot-row {
  display: grid; grid-template-columns: 58px 1fr auto 140px;
  gap: 12px; align-items: center;
  padding: 10px 16px;
  border-bottom: 1px solid var(--border);
  transition: background var(--dur-fast) var(--ease);
}
.dashboard-v2 .mot-row:last-child { border-bottom: 0; }
.dashboard-v2 .mot-row:hover { background: #FAFAF9; }
.dashboard-v2 .mot-days {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 12px; font-weight: 500; color: var(--text-2);
  text-align: center; padding: 4px 0; border-radius: 4px;
  background: var(--bg-soft);
}
.dashboard-v2 .mot-days.hot {
  background: var(--danger-soft); color: var(--danger); font-weight: 600;
}
.dashboard-v2 .mot-days.warm {
  background: var(--warning-soft); color: oklch(0.5 0.14 60); font-weight: 500;
}
.dashboard-v2 .mot-client { font-size: 13px; font-weight: 500; }
.dashboard-v2 .mot-case   { font-size: 11.5px; color: var(--text-2); margin-top: 1px; }
.dashboard-v2 .mot-value {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 13px; font-weight: 600; color: var(--text);
  text-align: right; font-variant-numeric: tabular-nums;
}
.dashboard-v2 .mot-action {
  display: flex; gap: 6px; justify-content: flex-end;
}
.dashboard-v2 .mot-action .btn { padding: 4px 8px; font-size: 11.5px; }

.dashboard-v2 .mot-bucket-label {
  font-size: 11px; color: var(--text-2);
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 4px;
}
.dashboard-v2 .mot-bucket-value {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 18px; font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.dashboard-v2 .mot-bucket-value.hot  { color: var(--danger); }
.dashboard-v2 .mot-bucket-value.warm { color: oklch(0.5 0.14 60); }
.dashboard-v2 .mot-bucket-value.cool { color: var(--text-2); }

/* ============================================================================
   RISKS + OPPORTUNITIES
   ============================================================================ */
.dashboard-v2 .ro-grid {
  display: grid; grid-template-columns: 1.15fr 1fr; gap: 14px;
}
/* "Oportunidades" some quando não há nenhuma — estado vazio não deve ocupar
   um quarto da tela para dizer que não tem nada. Sem isto, o card que sobra
   ficaria em meia largura com um buraco ao lado. */
.dashboard-v2 .ro-grid > :only-child { grid-column: 1 / -1; }
.dashboard-v2 .risks-card {
  background: var(--hero-bg);
  border: 1px solid var(--hero-border); border-radius: var(--radius);
  padding: 16px; color: var(--hero-text);
  position: relative; overflow: hidden;
}
.dashboard-v2 .risks-card::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(500px 260px at 100% 0%, oklch(0.64 0.20 25 / 0.08), transparent 60%);
}
.dashboard-v2 .risks-card > * { position: relative; }

.dashboard-v2 .risk-row {
  display: grid; grid-template-columns: 32px 1fr auto;
  gap: 12px; padding: 12px 0;
  border-bottom: 1px solid var(--hero-border-2);
  align-items: flex-start;
}
.dashboard-v2 .risk-row:last-child  { border-bottom: 0; }
.dashboard-v2 .risk-row:first-of-type { padding-top: 4px; }
.dashboard-v2 .risk-icon {
  width: 28px; height: 28px; border-radius: 7px;
  display: grid; place-items: center;
  background: var(--danger-soft); color: var(--danger);
  flex: none;
}
.dashboard-v2 .risk-icon.warn {
  background: oklch(0.78 0.14 75 / 0.14); color: var(--accent);
}
.dashboard-v2 .risk-title { font-size: 13px; font-weight: 500; color: var(--hero-text); }
.dashboard-v2 .risk-body  { font-size: 11.5px; color: var(--hero-text-2); margin-top: 2px; }
.dashboard-v2 .risk-body strong { color: var(--hero-text); font-weight: 500; }
.dashboard-v2 .risk-action {
  font-size: 11px; font-weight: 500; color: var(--accent);
  padding: 4px 8px; border-radius: 5px;
  border: 1px solid var(--hero-border-2);
  white-space: nowrap;
}
.dashboard-v2 .risk-action:hover { border-color: var(--accent); }

.dashboard-v2 .opp-row {
  display: grid; grid-template-columns: 1fr auto;
  gap: 10px; padding: 12px 0;
  border-bottom: 1px solid var(--border);
  align-items: center;
}
.dashboard-v2 .opp-row:last-child  { border-bottom: 0; }
.dashboard-v2 .opp-row:first-of-type { padding-top: 4px; }
.dashboard-v2 .opp-eyebrow {
  font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 9.5px;
  color: var(--text-3); text-transform: uppercase; letter-spacing: 0.08em;
  margin-bottom: 3px;
}
.dashboard-v2 .opp-title { font-size: 13px; font-weight: 500; }
.dashboard-v2 .opp-body  { font-size: 11.5px; color: var(--text-2); margin-top: 2px; }
.dashboard-v2 .opp-body strong { color: var(--text); font-weight: 500; }
.dashboard-v2 .opp-value {
  font-family: 'Inter Tight', 'Inter', sans-serif;
  font-size: 15px; font-weight: 600; color: var(--positive);
  letter-spacing: -0.02em; font-variant-numeric: tabular-nums;
  text-align: right;
}

/* ============================================================================
   PIPELINE
   ============================================================================ */
.dashboard-v2 .pipeline {
  border: 1px solid var(--border); border-radius: var(--radius);
  background: var(--bg-elev); overflow: hidden;
}
.dashboard-v2 .pipe-head {
  padding: 14px 16px; border-bottom: 1px solid var(--border);
  display: flex; align-items: center; justify-content: space-between;
  gap: 14px; flex-wrap: wrap;
}
.dashboard-v2 .pipe-filters { display: flex; gap: 6px; flex-wrap: wrap; }
.dashboard-v2 .pipe-chip {
  font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 10.5px;
  padding: 3px 8px; border-radius: 5px;
  background: var(--bg-soft); color: var(--text-2);
  display: inline-flex; align-items: center; gap: 5px;
}
.dashboard-v2 .pipe-chip.danger   { background: var(--danger-soft);   color: var(--danger); }
.dashboard-v2 .pipe-chip.warn     { background: var(--warning-soft);  color: oklch(0.5 0.14 60); }
.dashboard-v2 .pipe-chip.positive { background: var(--positive-soft); color: oklch(0.5 0.14 155); }

.dashboard-v2 .pipe-grid {
  display: grid; grid-template-columns: repeat(5, 1fr);
  border-top: 1px solid var(--border);
}
.dashboard-v2 .pipe-col {
  border-right: 1px solid var(--border);
  display: flex; flex-direction: column; min-width: 0;
}
.dashboard-v2 .pipe-col:last-child { border-right: 0; }
.dashboard-v2 .pipe-col-head {
  padding: 10px 12px; border-bottom: 1px solid var(--border);
  display: flex; align-items: center; justify-content: space-between;
  background: #FAFAF9;
}
.dashboard-v2 .pipe-col-title {
  font-size: 11.5px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.06em;
  display: flex; align-items: center; gap: 6px;
}
.dashboard-v2 .pipe-col-title::before {
  content: ''; width: 6px; height: 6px; border-radius: 2px;
}
.dashboard-v2 .pipe-col[data-kind="pagamentos"] .pipe-col-title::before { background: var(--info); }
.dashboard-v2 .pipe-col[data-kind="audiencias"] .pipe-col-title::before { background: var(--purple); }
.dashboard-v2 .pipe-col[data-kind="receitas"]   .pipe-col-title::before { background: var(--positive); }
.dashboard-v2 .pipe-col[data-kind="despesas"]   .pipe-col-title::before { background: var(--danger); }
.dashboard-v2 .pipe-col[data-kind="tarefas"]    .pipe-col-title::before { background: var(--accent); }

.dashboard-v2 .pipe-col-count {
  font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 11px;
  color: var(--text-3);
}
.dashboard-v2 .pipe-col-body {
  padding: 8px; display: flex; flex-direction: column; gap: 6px;
  min-height: 180px;
}
.dashboard-v2 .pipe-item {
  padding: 8px 10px; border-radius: 6px;
  background: #FAFAF9; border-left: 2px solid var(--border-strong);
  cursor: pointer;
  transition: background var(--dur-fast) var(--ease),
              transform var(--dur-fast) var(--ease);
}
.dashboard-v2 .pipe-item:hover { background: #F4F4F2; transform: translateX(1px); }
.dashboard-v2 .pipe-item.atrasado {
  border-left-color: var(--danger); background: var(--danger-soft);
}
.dashboard-v2 .pipe-item.urgente {
  border-left-color: var(--accent); background: var(--warning-soft);
}
.dashboard-v2 .pipe-item-title {
  font-size: 12px; font-weight: 500; overflow: hidden;
  text-overflow: ellipsis; white-space: nowrap;
}
.dashboard-v2 .pipe-item-meta {
  display: flex; align-items: center; justify-content: space-between;
  margin-top: 3px;
  font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 10.5px;
  color: var(--text-2);
}
.dashboard-v2 .pipe-item-meta .val { font-weight: 600; }
.dashboard-v2 .pipe-item-meta .val.pos  { color: oklch(0.5 0.14 155); }
.dashboard-v2 .pipe-item-meta .val.neg  { color: var(--danger); }
.dashboard-v2 .pipe-item-meta .val.info { color: var(--info); }

/* ============================================================================
   RENTABILIDADE
   ============================================================================ */
.dashboard-v2 .rank-row {
  display: grid; grid-template-columns: 20px 1fr 110px 80px 110px;
  gap: 12px; align-items: center;
  padding: 10px 0; border-bottom: 1px solid var(--border);
  transition: background var(--dur-fast) var(--ease);
}
.dashboard-v2 .rank-row:hover {
  background: #FAFAF9; padding-left: 6px; padding-right: 6px;
}
.dashboard-v2 .rank-row:last-child { border-bottom: 0; }
.dashboard-v2 .rank-n {
  font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 11.5px;
  color: var(--text-3); text-align: right;
}
.dashboard-v2 .rank-name {
  font-size: 13px; font-weight: 500;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.dashboard-v2 .rank-deals {
  font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 11.5px;
  color: var(--text-2);
}
.dashboard-v2 .rank-bar-cell { display: flex; align-items: center; gap: 8px; }
.dashboard-v2 .rank-bar {
  flex: 1; height: 5px; background: var(--border);
  border-radius: 2px; overflow: hidden;
}
.dashboard-v2 .rank-bar > div {
  height: 100%; background: var(--text); border-radius: 2px;
  transition: width 1s var(--ease-out);
}
.dashboard-v2 .rank-pct {
  font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 11.5px;
  min-width: 38px; text-align: right;
}
.dashboard-v2 .rank-pct.good { color: oklch(0.5 0.14 155); font-weight: 500; }
.dashboard-v2 .rank-pct.meh  { color: oklch(0.5 0.14 60);  font-weight: 500; }
.dashboard-v2 .rank-pct.bad  { color: var(--danger);         font-weight: 500; }
.dashboard-v2 .rank-value {
  font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 13px;
  font-weight: 600; text-align: right; font-variant-numeric: tabular-nums;
}

/* ============================================================================
   FORECAST + BI DIVIDER
   ============================================================================ */
.dashboard-v2 .bi-divider {
  display: flex; align-items: center; gap: 14px;
  padding: 8px 0 2px;
}
.dashboard-v2 .bi-divider .line { flex: 1; height: 1px; background: var(--border); }
.dashboard-v2 .bi-divider .label {
  font-size: 10.5px; font-weight: 600; color: var(--text-3);
  text-transform: uppercase; letter-spacing: 0.12em;
}
.dashboard-v2 .bi-grid {
  display: grid; grid-template-columns: 1.7fr 1fr; gap: 14px;
}
.dashboard-v2 .chart-box { height: 260px; position: relative; padding: 12px 16px 4px; }
.dashboard-v2 .legend-row {
  display: flex; gap: 14px; padding: 10px 16px 0;
  font-size: 11.5px; color: var(--text-2);
}
.dashboard-v2 .legend-item { display: inline-flex; align-items: center; gap: 5px; }
.dashboard-v2 .legend-dot { width: 10px; height: 2px; border-radius: 2px; }

.dashboard-v2 .outliers { display: flex; flex-direction: column; }
.dashboard-v2 .outlier-row { padding: 10px 0; border-bottom: 1px solid var(--border); }
.dashboard-v2 .outlier-row:last-child  { border-bottom: 0; }
.dashboard-v2 .outlier-row:first-child { padding-top: 0; }
.dashboard-v2 .outlier-top {
  display: flex; align-items: center; justify-content: space-between;
}
.dashboard-v2 .outlier-title { font-size: 12.5px; font-weight: 500; }
.dashboard-v2 .outlier-diff {
  font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 11.5px;
  font-weight: 600;
}
.dashboard-v2 .outlier-diff.pos { color: oklch(0.5 0.14 155); }
.dashboard-v2 .outlier-diff.neg { color: var(--danger); }
.dashboard-v2 .outlier-body { font-size: 11px; color: var(--text-2); margin-top: 2px; }

/* ============================================================================
   ALERT CENTER
   ============================================================================ */
.dashboard-v2 .alert-center {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px;
  background: var(--border); border: 1px solid var(--border);
  border-radius: var(--radius); overflow: hidden;
}
.dashboard-v2 .ac-tile {
  background: var(--bg-elev); padding: 14px 16px;
}
.dashboard-v2 .ac-label {
  font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 10px;
  text-transform: uppercase; letter-spacing: 0.1em;
  color: var(--text-2); font-weight: 500;
  display: flex; align-items: center; gap: 6px;
}
.dashboard-v2 .ac-label .dot {
  width: 6px; height: 6px; border-radius: 50%; background: var(--text-3);
}
.dashboard-v2 .ac-tile.danger   .ac-label .dot { background: var(--danger); }
.dashboard-v2 .ac-tile.warn     .ac-label .dot { background: var(--accent); }
.dashboard-v2 .ac-tile.info     .ac-label .dot { background: var(--info); }
.dashboard-v2 .ac-tile.positive .ac-label .dot { background: var(--positive); }
.dashboard-v2 .ac-value {
  font-family: 'Inter Tight', 'Inter', sans-serif;
  font-size: 26px; font-weight: 600; letter-spacing: -0.025em; line-height: 1;
  margin-top: 8px;
}
.dashboard-v2 .ac-sub {
  font-size: 11px; color: var(--text-2); margin-top: 4px;
}

/* ============================================================================
   RESPONSIVE
   ============================================================================ */
@media (max-width: 1280px) {
  .dashboard-v2 .kpis { grid-template-columns: 1fr 1fr 1fr; }
  .dashboard-v2 .kpis .kpi:nth-child(n+4) { border-top: 1px solid var(--hero-border); }
  .dashboard-v2 .exec-grid { grid-template-columns: 260px 1fr; }
  .dashboard-v2 .bi-grid   { grid-template-columns: 1fr; }
  .dashboard-v2 .ro-grid   { grid-template-columns: 1fr; }
}
@media (max-width: 1024px) {
  .dashboard-v2 .kpis { grid-template-columns: 1fr 1fr; }
  .dashboard-v2 .exec-grid { grid-template-columns: 1fr; }
  .dashboard-v2 .pipe-grid { grid-template-columns: 1fr 1fr 1fr; }
  .dashboard-v2 .alert-center { grid-template-columns: 1fr 1fr; }
  .dashboard-v2 .mot-head { flex-direction: column; align-items: stretch; }
  .dashboard-v2 .rank-row { grid-template-columns: 16px 1fr 80px 100px; }
  .dashboard-v2 .rank-row .rank-deals { display: none; }
}
@media (max-width: 720px) {
  .dashboard-v2 .kpis { grid-template-columns: 1fr; }
  .dashboard-v2 .pipe-grid { grid-template-columns: 1fr; }
  .dashboard-v2 .pipe-col { border-right: 0; border-bottom: 1px solid var(--border); }
  .dashboard-v2 .pipe-col:last-child { border-bottom: 0; }
  .dashboard-v2 .alert-center { grid-template-columns: 1fr; }
  .dashboard-v2 .mot-row { grid-template-columns: 50px 1fr auto; }
  .dashboard-v2 .mot-row .mot-action { grid-column: 1 / -1; justify-content: flex-start; padding-top: 4px; }
  .dashboard-v2 .rank-row { grid-template-columns: 16px 1fr 80px; }
  .dashboard-v2 .rank-row .rank-pct { display: none; }
  .dashboard-v2 .hero { padding: 18px 16px 16px; }
  .dashboard-v2 .hero h1 { font-size: 22px; }
}

/* Trabalhista × Previdenciário */
.dashboard-v2 .pa-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.dashboard-v2 .pa-kpi { padding: 12px 14px; border: 1px solid var(--border); border-radius: 10px; background: var(--bg-soft, #FAFAF9); min-width: 0; }
.dashboard-v2 .pa-kpi-l { font: 500 9.5px/1 "JetBrains Mono", ui-monospace, monospace; letter-spacing: .12em; text-transform: uppercase; color: var(--text-3); }
.dashboard-v2 .pa-kpi-v { font: 600 20px/1.2 "Inter Tight", Inter, system-ui, sans-serif; letter-spacing: -0.02em; color: var(--text); margin-top: 6px; overflow-wrap: anywhere; }
.dashboard-v2 .pa-kpi-s { font-size: 11.5px; color: var(--text-2); margin-top: 3px; }
.dashboard-v2 .pa-bar { display: flex; height: 6px; border-radius: 4px; overflow: hidden; margin: 14px 0 6px; background: var(--border); }
.dashboard-v2 .pa-bar > div:first-child { background: oklch(0.55 0.14 240); }
.dashboard-v2 .pa-bar > div:last-child { background: oklch(0.6 0.12 160); }
.dashboard-v2 .pa-esp { margin-top: 10px; }
@media (max-width: 900px) { .dashboard-v2 .pa-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.dashboard-v2 .pa-bar > .pa-bar-outras { background: var(--text-3, #A8A29E); }

/* ==== /modules/clientes/clientes-redesign.css ==== */
/* ═════════════════════════════════════════════════════════════════════════
   Clientes Redesign — Executive, minimal design system
   Matches handoff spec: /Users/leonardorabim/Downloads/Acordly Clientes.html
   All styles scoped under .clientes-v2 to avoid collisions.
   ═════════════════════════════════════════════════════════════════════════ */

/* Reduz o padding gigante do wrapper pai APENAS quando a view clientes está ativa.
   :has() garante que outras views continuam com o padding original. */
main > div:has(> #clientes-view.view.active) {
  padding: 14px 18px 40px !important;
}
@media (max-width: 640px) {
  main > div:has(> #clientes-view.view.active) {
    padding: 12px 12px 32px !important;
  }
}

/* Garante que o wrapper ocupa 100% da largura do container pai.
   Alguns estilos herdados (Tailwind/legado) comprimiam o conteúdo. */
.clientes-v2 {
  display: flex;
  width: 100%;
  max-width: none;
  margin: 0;
}

.clientes-v2 {
  --bg: #FAFAF9;
  --bg-elev: #FFFFFF;
  --bg-soft: #F4F4F2;
  --border: #E7E5E4;
  --border-strong: #D6D3D1;
  --text: #0A0B0D;
  --text-2: #57534E;
  --text-3: #A8A29E;

  --hero-bg: #0A0B0D;
  --hero-bg-2: #111214;
  --hero-border: #1F2024;
  --hero-border-2: #2A2B30;
  --hero-text: #FAFAF9;
  --hero-text-2: #A8A29E;
  --hero-text-3: #6B6965;

  --accent: oklch(0.78 0.14 75);
  --accent-soft: oklch(0.78 0.14 75 / 0.14);
  --positive: oklch(0.72 0.14 155);
  --positive-soft: oklch(0.72 0.14 155 / 0.12);
  --danger: oklch(0.64 0.20 25);
  --danger-soft: oklch(0.64 0.20 25 / 0.10);
  --info: oklch(0.64 0.13 245);
  --info-soft: oklch(0.64 0.13 245 / 0.10);
  --orange: oklch(0.70 0.18 50);
  --orange-soft: oklch(0.70 0.18 50 / 0.12);

  --radius-lg: 18px;
  --radius: 14px;
  --radius-sm: 8px;
  --radius-xs: 6px;

  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --dur: 200ms;
  --dur-fast: 120ms;
  --dur-slow: 380ms;

  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  font-size: 13.5px;
  line-height: 1.45;
  color: var(--text);
  /* transparente: deixa o fundo do <main> aparecer (evita camadas empilhadas). */
  background: transparent;
  /* SEM padding interno — o wrapper pai (main > div com :has) já aplica 14px 18px 40px. */
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.clientes-v2 * { box-sizing: border-box; }

.clientes-v2 .mono { font-family: 'JetBrains Mono', ui-monospace, monospace; font-variant-numeric: tabular-nums; }
.clientes-v2 .display { font-family: 'Inter Tight', 'Inter', sans-serif; letter-spacing: -0.02em; }

@keyframes cv2-rise { from { opacity: 0; transform: translateY(6px);} to { opacity:1; transform:translateY(0);} }
@keyframes cv2-pulse { 0%,100% { opacity: 1; transform: scale(1);} 50% { opacity: 0.55; transform: scale(1.15);} }
.clientes-v2 .rise { animation: cv2-rise var(--dur-slow) var(--ease-out) both; }

@media (prefers-reduced-motion: reduce) {
  .clientes-v2 *, .clientes-v2 *::before, .clientes-v2 *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

/* ─── HERO ─────────────────────────────────────────────────────────────── */
.clientes-v2 .hero {
  position: relative;
  background: var(--hero-bg);
  border-radius: var(--radius-lg);
  padding: 22px 24px 20px;
  color: var(--hero-text);
  overflow: hidden;
}
.clientes-v2 .hero::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(700px 300px at 80% -10%, oklch(0.78 0.14 75 / 0.08), transparent 60%),
    radial-gradient(500px 260px at 10% 120%, oklch(0.64 0.13 245 / 0.06), transparent 60%);
}
.clientes-v2 .hero-head {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 20px;
}
.clientes-v2 .hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  font-weight: 500;
  letter-spacing: 0.12em;
  color: var(--hero-text-3);
  text-transform: uppercase;
  margin-bottom: 8px;
}
.clientes-v2 .pulse {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--positive);
  box-shadow: 0 0 0 0 oklch(0.72 0.14 155 / 0.6);
  animation: cv2-pulse 2.4s var(--ease) infinite;
}
.clientes-v2 .hero h1 {
  font-family: 'Inter Tight', sans-serif;
  font-size: 26px;
  font-weight: 600;
  letter-spacing: -0.025em;
  margin: 0;
  color: var(--hero-text);
}
.clientes-v2 .hero-sub {
  font-size: 13px;
  color: var(--hero-text-2);
  margin-top: 4px;
}
.clientes-v2 .hero-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.clientes-v2 .chip-dark {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px;
  border-radius: 6px;
  border: 1px solid var(--hero-border-2);
  background: rgba(255, 255, 255, 0.025);
  font-size: 12px;
  color: var(--hero-text-2);
  font-family: 'JetBrains Mono', monospace;
}

.clientes-v2 .btn-hero {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: var(--radius-sm);
  font-size: 12px;
  font-weight: 500;
  border: 1px solid var(--hero-border-2);
  background: rgba(255,255,255,0.04);
  color: var(--hero-text-2);
  cursor: pointer;
  transition: all var(--dur-fast) var(--ease);
  white-space: nowrap;
}
.clientes-v2 .btn-hero:hover {
  background: rgba(255,255,255,0.08);
  color: var(--hero-text);
  border-color: var(--hero-border-2);
}
.clientes-v2 .btn-hero.primary {
  background: var(--hero-text);
  color: var(--hero-bg);
  border-color: var(--hero-text);
}
.clientes-v2 .btn-hero.primary:hover {
  background: #fff;
  color: var(--hero-bg);
}

/* KPIs */
.clientes-v2 .kpis {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--hero-border);
  border: 1px solid var(--hero-border);
  border-radius: 12px;
  overflow: hidden;
}
.clientes-v2 .kpi {
  background: var(--hero-bg);
  padding: 15px 16px 13px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
  transition: background var(--dur-fast);
}
.clientes-v2 .kpi:hover { background: #0F1013; }
.clientes-v2 .kpi-lbl {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--hero-text-3);
}
.clientes-v2 .kpi-val {
  font-family: 'Inter Tight', sans-serif;
  font-size: 24px;
  font-weight: 600;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
  color: var(--hero-text);
}
.clientes-v2 .kpi-foot {
  font-size: 11px;
  color: var(--hero-text-2);
}
.clientes-v2 .kpi-bar {
  height: 3px;
  background: var(--hero-border-2);
  border-radius: 2px;
  overflow: hidden;
  margin-top: 3px;
}
.clientes-v2 .kpi-bar > span {
  display: block;
  height: 100%;
  background: var(--accent);
  border-radius: 2px;
}

/* ─── FILTERS / TOOLBAR ───────────────────────────────────────────────── */
.clientes-v2 .filters {
  background: var(--bg-elev);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 10px 14px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
}
.clientes-v2 .fchip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 11px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 500;
  border: 1px solid var(--border);
  background: var(--bg-soft);
  color: var(--text-2);
  cursor: pointer;
  transition: all var(--dur-fast) var(--ease);
  font-family: inherit;
}
.clientes-v2 .fchip:hover { background: var(--border); color: var(--text); }
.clientes-v2 .fchip.on {
  background: var(--text);
  color: #fff;
  border-color: var(--text);
}
.clientes-v2 .fsep {
  width: 1px;
  height: 18px;
  background: var(--border);
  flex-shrink: 0;
}
.clientes-v2 .fselect {
  padding: 4px 9px;
  border: 1px solid var(--border);
  border-radius: 6px;
  font-size: 12px;
  background: var(--bg-soft);
  color: var(--text-2);
  outline: none;
  cursor: pointer;
  font-family: inherit;
  transition: all var(--dur-fast);
}
.clientes-v2 .fselect:hover { background: var(--border); }
.clientes-v2 .fsearch {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 5px 11px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--bg-soft);
  font-size: 12px;
  flex: 1;
  min-width: 160px;
  max-width: 280px;
}
.clientes-v2 .fsearch input {
  background: none;
  border: 0;
  outline: 0;
  flex: 1;
  font: inherit;
  font-size: 12px;
  color: var(--text);
  min-width: 0;
}
.clientes-v2 .fsearch svg { color: var(--text-3); flex-shrink: 0; }

.clientes-v2 .filters-spacer { flex: 1; }

.clientes-v2 .btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  font-size: 12px;
  font-weight: 500;
  background: var(--bg-elev);
  color: var(--text-2);
  cursor: pointer;
  transition: all var(--dur-fast) var(--ease);
  font-family: inherit;
  white-space: nowrap;
}
.clientes-v2 .btn:hover { background: var(--bg-soft); color: var(--text); border-color: var(--border-strong); }
.clientes-v2 .btn.primary {
  background: var(--text);
  color: #fff;
  border-color: var(--text);
}
.clientes-v2 .btn.primary:hover { background: #22252b; color: #fff; }
.clientes-v2 .btn.sm { padding: 4px 10px; font-size: 11.5px; }
.clientes-v2 .btn.ghost { border-color: transparent; background: transparent; }
.clientes-v2 .btn.ghost:hover { background: var(--bg-soft); }
.clientes-v2 .btn.danger-soft {
  background: var(--danger-soft);
  color: oklch(0.44 0.20 25);
  border-color: oklch(0.64 0.20 25 / 0.2);
}
.clientes-v2 .btn.danger-soft:hover { background: oklch(0.64 0.20 25 / 0.15); }

.clientes-v2 .view-seg {
  display: flex;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  overflow: hidden;
}
.clientes-v2 .view-seg button {
  padding: 5px 10px;
  font-size: 11.5px;
  font-weight: 500;
  color: var(--text-2);
  background: var(--bg-soft);
  border: 0;
  cursor: pointer;
  font-family: inherit;
  transition: all var(--dur-fast);
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.clientes-v2 .view-seg button:hover { color: var(--text); }
.clientes-v2 .view-seg button.on { background: var(--text); color: #fff; }

/* ─── BULK BAR ────────────────────────────────────────────────────────── */
.clientes-v2 .bulk-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  background: var(--hero-bg);
  border-radius: var(--radius-sm);
  color: var(--hero-text);
  animation: cv2-rise var(--dur) var(--ease-out);
}
.clientes-v2 .bulk-count {
  font-size: 13px;
  font-weight: 600;
  flex: 1;
}
.clientes-v2 .bulk-count span {
  color: var(--hero-text-2);
  font-weight: 400;
  margin-left: 4px;
  font-size: 12px;
}
.clientes-v2 .bulk-bar .btn {
  background: rgba(255,255,255,0.08);
  color: var(--hero-text);
  border-color: var(--hero-border-2);
}
.clientes-v2 .bulk-bar .btn:hover {
  background: rgba(255,255,255,0.14);
  color: #fff;
}
.clientes-v2 .bulk-bar .btn.danger-soft {
  background: oklch(0.64 0.20 25 / 0.18);
  color: oklch(0.82 0.12 25);
  border-color: oklch(0.64 0.20 25 / 0.3);
}

/* ─── LIST VIEW ───────────────────────────────────────────────────────── */
.clientes-v2 .list-wrap {
  background: var(--bg-elev);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
}
.clientes-v2 .list-head,
.clientes-v2 .client-row {
  display: grid;
  grid-template-columns: 40px 48px minmax(0, 1fr) 100px 110px 118px 140px 48px;
  gap: 0;
  align-items: center;
}
.clientes-v2 .list-wrap.no-select .list-head,
.clientes-v2 .list-wrap.no-select .client-row {
  grid-template-columns: 8px 48px minmax(0, 1fr) 100px 110px 118px 140px 48px;
}
.clientes-v2 .list-head {
  background: var(--bg-soft);
  border-bottom: 1px solid var(--border);
  border-left: 4px solid transparent; /* align with rows that have status border-left */
}
.clientes-v2 .list-head .th {
  font-size: 10.5px;
  font-weight: 600;
  color: var(--text-3);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 9px 10px;
  display: flex;
  align-items: center;
  gap: 4px;
  user-select: none;
}
.clientes-v2 .list-head .th.sortable { cursor: pointer; }
.clientes-v2 .list-head .th.sortable:hover { color: var(--text-2); }
.clientes-v2 .list-head .th.right { justify-content: flex-end; }
.clientes-v2 .list-head .th.center { justify-content: center; }

.clientes-v2 .client-row {
  border-bottom: 1px solid var(--border);
  border-left: 4px solid transparent; /* unified rule: status accent */
  cursor: pointer;
  transition: background var(--dur-fast);
  height: 58px;
  position: relative;
}
.clientes-v2 .client-row:last-child { border-bottom: 0; }

/* Unified status border-left (v2 handoff) */
.clientes-v2 .client-row.s-ativo    { border-left-color: var(--positive); }
.clientes-v2 .client-row.s-prospect { border-left-color: var(--info); }
.clientes-v2 .client-row.s-inativo  { border-left-color: var(--border-strong); }
.clientes-v2 .client-row:hover { background: var(--bg-soft); }
.clientes-v2 .client-row .td {
  padding: 0 10px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  overflow: hidden;
}
.clientes-v2 .client-row .td.center { align-items: center; }
.clientes-v2 .client-row .td.right { align-items: flex-end; }

.clientes-v2 .row-check {
  width: 16px; height: 16px;
  border: 1.5px solid var(--border-strong);
  border-radius: 4px;
  cursor: pointer;
  display: grid; place-items: center;
  background: var(--bg-elev);
  transition: all var(--dur-fast);
}
.clientes-v2 .row-check.on {
  background: var(--text);
  border-color: var(--text);
}
.clientes-v2 .row-check.on::after {
  content: '';
  width: 8px; height: 8px;
  background: #fff;
  clip-path: polygon(14% 44%, 0 60%, 40% 100%, 100% 20%, 82% 5%, 40% 68%);
}

.clientes-v2 .avatar {
  width: 40px; height: 40px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  flex-shrink: 0;
}
.clientes-v2 .avatar.sm { width: 32px; height: 32px; font-size: 11.5px; }
.clientes-v2 .avatar.lg { width: 38px; height: 38px; font-size: 13px; }

.clientes-v2 .cname {
  font-size: 13px;
  font-weight: 600;
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.clientes-v2 .csub {
  font-size: 11.5px;
  color: var(--text-2);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-top: 1px;
}
.clientes-v2 .csub.mono { font-family: 'JetBrains Mono', monospace; font-size: 11px; }

.clientes-v2 .money {
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: var(--text);
}
.clientes-v2 .money.positive { color: oklch(0.42 0.14 155); }
.clientes-v2 .money.sub { font-size: 10.5px; font-weight: 500; }

.clientes-v2 .act-badge {
  display: inline-flex;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-2);
  background: var(--bg-soft);
  border: 1px solid var(--border);
  padding: 3px 7px;
  border-radius: 4px;
  white-space: nowrap;
  margin-bottom: 2px;
  width: fit-content;
}
.clientes-v2 .act-time {
  font-size: 11px;
  color: var(--text-3);
}

.clientes-v2 .trib {
  font-size: 12px;
  font-weight: 600;
  color: var(--text);
  font-family: 'JetBrains Mono', monospace;
  white-space: nowrap;
}
.clientes-v2 .trib-rep {
  font-size: 10px;
  color: var(--text-2);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  white-space: nowrap;
  margin-left: 6px;
  padding: 1px 5px;
  border-radius: 4px;
  background: var(--bg-soft);
}

/* Status chips */
.clientes-v2 .schip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 500;
  border: 1px solid;
  white-space: nowrap;
}
.clientes-v2 .sdot { width: 5px; height: 5px; border-radius: 50%; }
.clientes-v2 .schip.ativo {
  background: var(--positive-soft);
  color: oklch(0.42 0.14 155);
  border-color: oklch(0.72 0.14 155 / 0.25);
}
.clientes-v2 .sdot.ativo { background: var(--positive); }
.clientes-v2 .schip.prospect {
  background: var(--info-soft);
  color: oklch(0.42 0.13 245);
  border-color: oklch(0.64 0.13 245 / 0.25);
}
.clientes-v2 .sdot.prospect { background: var(--info); }
.clientes-v2 .schip.inativo {
  background: var(--bg-soft);
  color: var(--text-3);
  border-color: var(--border);
}
.clientes-v2 .sdot.inativo { background: var(--border-strong); }

/* Quick actions on row hover */
.clientes-v2 .q-actions {
  position: absolute;
  right: 52px;
  top: 50%;
  transform: translateY(-50%);
  display: none;
  align-items: center;
  gap: 3px;
  background: var(--bg-elev);
  border: 1px solid var(--border);
  border-radius: var(--radius-xs);
  padding: 3px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
  z-index: 5;
}
.clientes-v2 .client-row:hover .q-actions { display: flex; }
.clientes-v2 .qa-btn {
  width: 28px; height: 28px;
  display: grid; place-items: center;
  border: 0;
  background: transparent;
  color: var(--text-3);
  border-radius: var(--radius-xs);
  cursor: pointer;
  transition: all var(--dur-fast);
}
.clientes-v2 .qa-btn:hover {
  background: var(--bg-soft);
  color: var(--text);
}

.clientes-v2 .qa-dots {
  width: 32px; height: 32px;
  display: grid; place-items: center;
  border: 0;
  background: transparent;
  color: var(--text-3);
  border-radius: var(--radius-xs);
  cursor: pointer;
  transition: all var(--dur-fast);
}
.clientes-v2 .qa-dots:hover { background: var(--bg-soft); color: var(--text); }

/* ─── CARDS VIEW ──────────────────────────────────────────────────────── */
.clientes-v2 .cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
  gap: 12px;
}
.clientes-v2 .client-card {
  background: var(--bg-elev);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 11px;
  cursor: pointer;
  transition: box-shadow var(--dur), border-color var(--dur);
  position: relative;
  overflow: hidden;
}
.clientes-v2 .client-card:hover {
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.07);
  border-color: var(--border-strong);
}

/* Unified rule: top accent bar 4px by status (v2 handoff) */
.clientes-v2 .card-accent {
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: var(--border-strong); /* default/neutral */
}
.clientes-v2 .card-accent.s-ativo    { background: var(--positive); }
.clientes-v2 .card-accent.s-prospect { background: var(--info); }
.clientes-v2 .card-accent.s-inativo  { background: var(--border-strong); }
.clientes-v2 .card-head {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.clientes-v2 .card-info { flex: 1; min-width: 0; }
.clientes-v2 .card-info .cname { font-size: 13.5px; }
.clientes-v2 .card-info .csub { font-size: 11.5px; }
.clientes-v2 .card-meta {
  display: flex;
  flex-direction: column;
  gap: 3px;
  font-size: 11.5px;
  color: var(--text-2);
}
.clientes-v2 .card-meta-row {
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.clientes-v2 .card-meta-row .icon {
  color: var(--text-3);
  flex-shrink: 0;
}
.clientes-v2 .card-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 10px;
  border-top: 1px solid var(--border);
}
.clientes-v2 .card-foot-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 1px;
}

/* ─── EMPTY STATE ─────────────────────────────────────────────────────── */
.clientes-v2 .empty {
  padding: 52px 24px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  background: var(--bg-elev);
  border: 1px solid var(--border);
  border-radius: var(--radius);
}
.clientes-v2 .empty-icon {
  width: 48px; height: 48px;
  border-radius: 50%;
  background: var(--bg-soft);
  color: var(--text-3);
  display: grid;
  place-items: center;
}
.clientes-v2 .empty-title {
  font-family: 'Inter Tight', sans-serif;
  font-size: 15px;
  font-weight: 600;
}
.clientes-v2 .empty-desc {
  font-size: 12px;
  color: var(--text-2);
  max-width: 280px;
}

/* ─── LOADER ──────────────────────────────────────────────────────────── */
.clientes-v2 .loader {
  padding: 40px;
  text-align: center;
  color: var(--text-3);
  font-size: 12px;
}

/* ─── RESPONSIVE ──────────────────────────────────────────────────────── */
@media (max-width: 1100px) {
  .clientes-v2 .kpis { grid-template-columns: repeat(3, 1fr); }
  .clientes-v2 .kpi:nth-child(n+4) { border-top: 1px solid var(--hero-border); }
}
@media (max-width: 860px) {
  .clientes-v2 .kpis { grid-template-columns: repeat(2, 1fr); }
  .clientes-v2 .hero { padding: 18px 18px 16px; }
  .clientes-v2 .hero h1 { font-size: 22px; }
  .clientes-v2 .list-head,
  .clientes-v2 .client-row {
    grid-template-columns: 40px 48px minmax(0, 1fr) 100px 52px;
  }
  .clientes-v2 .list-wrap.no-select .list-head,
  .clientes-v2 .list-wrap.no-select .client-row {
    grid-template-columns: 8px 48px minmax(0, 1fr) 100px 52px;
  }
  .clientes-v2 .col-hide-mobile { display: none !important; }
}

/* ═══════════════════════════════════════════════════════════════════════
   Modal v2 — Cliente (edição + detalhes)
   Handoff: Acordly Clientes.html (DetailModal + EditModal)
   ═══════════════════════════════════════════════════════════════════════ */

/* Overlay base */
.cliente-modal-v2,
.cliente-detail-v2 {
  background: rgba(10, 11, 13, 0.4);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  padding: 20px;
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
}

/* ─── Modal de edição (4 abas) ─────────────────────────────── */
.cliente-modal-v2 .cm-modal {
  background: var(--bg-elev, #ffffff);
  border: 1px solid var(--border, #e5e7eb);
  border-radius: var(--radius-lg, 18px);
  width: 100%;
  max-width: 640px;
  max-height: 90vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 32px 80px rgba(0, 0, 0, 0.18);
  animation: cm-rise 0.2s cubic-bezier(.2,.7,.2,1);
}
@keyframes cm-rise {
  from { transform: translateY(8px); opacity: 0; }
  to   { transform: translateY(0);   opacity: 1; }
}
.cliente-modal-v2 .cm-head {
  padding: 18px 20px;
  border-bottom: 1px solid var(--border, #e5e7eb);
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  flex-shrink: 0;
}
.cliente-modal-v2 .cm-eyebrow {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10px;
  letter-spacing: 0.12em;
  color: var(--text-3, #9ca3af);
  text-transform: uppercase;
  margin: 0 0 4px;
}
.cliente-modal-v2 .cm-title {
  font-family: 'Inter Tight', 'Inter', sans-serif;
  font-size: 17px;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--text, #111827);
  margin: 0;
}
.cliente-modal-v2 .cm-subtitle {
  font-size: 12.5px;
  color: var(--text-2, #6b7280);
  margin: 4px 0 0;
}
.cliente-modal-v2 .cm-head-actions {
  display: flex;
  gap: 8px;
  align-items: center;
}
.cliente-modal-v2 .cm-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 14px;
  font-size: 13px;
  font-weight: 500;
  border-radius: var(--radius-sm, 8px);
  border: 1px solid var(--border, #e5e7eb);
  background: var(--bg-elev, #ffffff);
  color: var(--text, #111827);
  cursor: pointer;
  transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}
.cliente-modal-v2 .cm-btn:hover { background: var(--bg-soft, #f9fafb); }
.cliente-modal-v2 .cm-btn-ghost {
  border-color: transparent;
  background: transparent;
  color: var(--text-2, #6b7280);
  padding: 6px;
}
.cliente-modal-v2 .cm-btn-ghost:hover { background: var(--bg-soft, #f3f4f6); color: var(--text, #111827); }
.cliente-modal-v2 .cm-btn-secondary { background: var(--bg-elev, #ffffff); }
.cliente-modal-v2 .cm-btn-primary {
  background: var(--text, #111827);
  color: #ffffff;
  border-color: var(--text, #111827);
}
.cliente-modal-v2 .cm-btn-primary:hover { background: #000; }

.cliente-modal-v2 .cm-tabs {
  display: flex;
  border-bottom: 1px solid var(--border, #e5e7eb);
  background: var(--bg-soft, #f9fafb);
  flex-shrink: 0;
  overflow-x: auto;
}
.cliente-modal-v2 .cm-tab {
  padding: 10px 14px;
  font-size: 12.5px;
  font-weight: 500;
  color: var(--text-2, #6b7280);
  border: 0;
  border-bottom: 2px solid transparent;
  background: transparent;
  cursor: pointer;
  transition: color 0.12s ease, border-color 0.12s ease;
  white-space: nowrap;
}
.cliente-modal-v2 .cm-tab:hover { color: var(--text, #111827); }
.cliente-modal-v2 .cm-tab.active {
  color: var(--text, #111827);
  border-bottom-color: var(--text, #111827);
}
.cliente-modal-v2 .cm-form {
  flex: 1;
  overflow-y: auto;
  padding: 0;
  display: block;
}
.cliente-modal-v2 .cm-tab-panel {
  display: none;
  padding: 20px;
  flex-direction: column;
  gap: 14px;
}
.cliente-modal-v2 .cm-tab-panel.active { display: flex; }
.cliente-modal-v2 .cm-field { display: flex; flex-direction: column; gap: 5px; }
.cliente-modal-v2 .cm-field > label {
  font-size: 11.5px;
  font-weight: 500;
  color: var(--text-2, #6b7280);
}
.cliente-modal-v2 .cm-field input,
.cliente-modal-v2 .cm-field select,
.cliente-modal-v2 .cm-field textarea {
  padding: 8px 10px;
  border: 1px solid var(--border, #e5e7eb);
  border-radius: var(--radius-sm, 8px);
  font: inherit;
  font-size: 13px;
  color: var(--text, #111827);
  background: var(--bg-elev, #ffffff);
  outline: 0;
  transition: border-color 0.12s ease, box-shadow 0.12s ease;
  width: 100%;
}
.cliente-modal-v2 .cm-field input:focus,
.cliente-modal-v2 .cm-field select:focus,
.cliente-modal-v2 .cm-field textarea:focus {
  border-color: var(--text-2, #6b7280);
}
.cliente-modal-v2 .cm-field input.mono {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 12.5px;
}
.cliente-modal-v2 .cm-field textarea {
  resize: vertical;
  min-height: 84px;
  line-height: 1.5;
}
.cliente-modal-v2 .cm-field-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
@media (max-width: 560px) {
  .cliente-modal-v2 .cm-field-row { grid-template-columns: 1fr; }
}
.cliente-modal-v2 .cm-foot {
  padding: 14px 20px;
  border-top: 1px solid var(--border, #e5e7eb);
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  flex-shrink: 0;
  background: var(--bg-elev, #ffffff);
}

/* ─── Modal de detalhes ─────────────────────────────────────── */
.cliente-detail-v2 .cd-modal {
  background: var(--bg-elev, #ffffff);
  border: 1px solid var(--border, #e5e7eb);
  border-radius: var(--radius-lg, 18px);
  width: 100%;
  max-width: 900px;
  max-height: 90vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 32px 80px rgba(0, 0, 0, 0.18);
  animation: cm-rise 0.2s cubic-bezier(.2,.7,.2,1);
}
.cliente-detail-v2 .cd-head {
  padding: 18px 20px;
  border-bottom: 1px solid var(--border, #e5e7eb);
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  flex-shrink: 0;
}
.cliente-detail-v2 .cd-head-main { display: flex; align-items: center; gap: 12px; min-width: 0; }
.cliente-detail-v2 .cd-avatar {
  width: 44px; height: 44px;
  border-radius: 50%;
  display: grid; place-items: center;
  color: #fff; font-weight: 600; font-size: 14px;
  font-family: 'Inter Tight', sans-serif;
  flex-shrink: 0;
}
.cliente-detail-v2 .cd-head-info { min-width: 0; }
.cliente-detail-v2 .cd-title {
  font-family: 'Inter Tight', sans-serif;
  font-size: 18px; font-weight: 600; letter-spacing: -0.01em;
  color: var(--text, #111827); margin: 0;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.cliente-detail-v2 .cd-subtitle {
  font-size: 12.5px; color: var(--text-2, #6b7280); margin: 2px 0 0;
}
.cliente-detail-v2 .cd-chips { display: flex; gap: 8px; align-items: center; margin-top: 6px; flex-wrap: wrap; }
.cliente-detail-v2 .cd-status-chip {
  font-size: 10.5px; font-weight: 600;
  padding: 3px 9px; border-radius: 999px;
  font-family: 'JetBrains Mono', monospace;
  text-transform: uppercase; letter-spacing: 0.05em;
}
.cliente-detail-v2 .cd-status-ativo   { background: color-mix(in oklab, var(--positive, #10b981) 15%, transparent); color: oklch(0.42 0.14 155); }
.cliente-detail-v2 .cd-status-prospect{ background: color-mix(in oklab, var(--info, #3b82f6) 14%, transparent); color: oklch(0.42 0.13 245); }
.cliente-detail-v2 .cd-status-inativo { background: var(--bg-soft, #f3f4f6); color: var(--text-3, #9ca3af); }
.cliente-detail-v2 .cd-doc {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px; color: var(--text-3, #9ca3af);
}
.cliente-detail-v2 .cd-head-actions {
  display: flex; gap: 6px; align-items: center; flex-wrap: wrap;
}
.cliente-detail-v2 .cd-head-sep {
  width: 1px; align-self: stretch; background: var(--border, #e5e7eb); margin: 0 4px;
}
.cliente-detail-v2 .cd-qc {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 7px 10px; font-size: 12px; font-weight: 500;
  border: 1px solid var(--border, #e5e7eb);
  border-radius: var(--radius-sm, 8px);
  background: var(--bg-elev, #ffffff);
  color: var(--text, #111827);
  text-decoration: none;
  transition: background 0.12s ease, border-color 0.12s ease;
}
.cliente-detail-v2 .cd-qc:hover { background: var(--bg-soft, #f9fafb); border-color: var(--text-3, #9ca3af); }
.cliente-detail-v2 .cd-action {
  padding: 7px 12px; font-size: 12px; font-weight: 500;
  border: 1px solid var(--border, #e5e7eb);
  border-radius: var(--radius-sm, 8px);
  background: var(--bg-elev, #ffffff);
  color: var(--text, #111827);
  cursor: pointer;
  transition: background 0.12s ease;
}
.cliente-detail-v2 .cd-action:hover { background: var(--bg-soft, #f9fafb); }
.cliente-detail-v2 .cd-action-primary {
  background: var(--text, #111827); color: #fff; border-color: var(--text, #111827);
}
.cliente-detail-v2 .cd-action-primary:hover { background: #000; }
.cliente-detail-v2 .cd-close {
  padding: 6px; border: 0; background: transparent;
  color: var(--text-2, #6b7280); border-radius: var(--radius-sm, 8px);
  cursor: pointer;
}
.cliente-detail-v2 .cd-close:hover { background: var(--bg-soft, #f3f4f6); color: var(--text, #111827); }

.cliente-detail-v2 .cd-kpis-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  padding: 14px 20px;
  border-bottom: 1px solid var(--border, #e5e7eb);
  background: var(--bg-soft, #f9fafb);
}
.cliente-detail-v2 .cd-kpi,
.cliente-detail-v2 .cd-last-activity {
  padding: 10px 12px;
  border: 1px solid var(--border, #e5e7eb);
  border-radius: var(--radius-sm, 8px);
  background: var(--bg-elev, #ffffff);
}
.cliente-detail-v2 .cd-last-activity { grid-column: 1 / -1; }
.cliente-detail-v2 .cd-kpi-lbl {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px; text-transform: uppercase; letter-spacing: 0.08em;
  color: var(--text-3, #9ca3af); margin-bottom: 3px;
}
.cliente-detail-v2 .cd-kpi-val {
  font-family: 'Inter Tight', sans-serif;
  font-size: 20px; font-weight: 600; letter-spacing: -0.02em;
  color: var(--text, #111827);
  font-variant-numeric: tabular-nums;
}
.cliente-detail-v2 .cd-last-activity-val {
  font-size: 13px; color: var(--text-2, #6b7280); line-height: 1.5;
}
.cliente-detail-v2 .cd-last-activity-val strong { color: var(--text, #111827); }

@media (max-width: 600px) {
  .cliente-detail-v2 .cd-head { flex-direction: column; align-items: stretch; }
  .cliente-detail-v2 .cd-head-actions { flex-wrap: wrap; }
}

/* ── V5 MODAL REFINEMENTS (shared utilities) ── */
.cliente-detail-v2 .modal-section-label,
.cliente-modal-v2 .modal-section-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px; font-weight: 600; color: var(--text-3, #9ca3af);
  text-transform: uppercase; letter-spacing: 0.12em;
  padding: 14px 0 8px;
  border-bottom: 1px solid var(--border, #e5e7eb);
  margin-bottom: 4px;
}
.cliente-detail-v2 .detail-section {
  display: flex; flex-direction: column; gap: 10px;
}
.cliente-detail-v2 .detail-section-header {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px; font-weight: 600; color: var(--text-3, #9ca3af);
  text-transform: uppercase; letter-spacing: 0.1em;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--border, #e5e7eb);
}
.cliente-detail-v2 .detail-field-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 10px;
}
.cliente-detail-v2 .dfield2 .lbl {
  font-size: 10px; font-weight: 600; color: var(--text-3, #9ca3af);
  text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 3px;
}
.cliente-detail-v2 .dfield2 .val {
  font-size: 13px; color: var(--text-2, #6b7280);
  overflow: hidden; text-overflow: ellipsis;
}
.cliente-detail-v2 .quick-contact-bar,
.cliente-modal-v2 .quick-contact-bar {
  display: flex; gap: 6px; padding: 10px 20px;
  background: var(--bg-soft, #f9fafb);
  border-bottom: 1px solid var(--border, #e5e7eb);
  flex-shrink: 0;
}
.cliente-detail-v2 .quick-contact-bar a,
.cliente-modal-v2 .quick-contact-bar a {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 5px 10px; font-size: 12px; font-weight: 500;
  background: var(--bg-elev, #ffffff); color: var(--text, #111827);
  border: 1px solid var(--border, #e5e7eb);
  border-radius: var(--radius-sm, 8px);
  text-decoration: none;
  transition: border-color 0.12s ease;
}
.cliente-detail-v2 .quick-contact-bar a:hover,
.cliente-modal-v2 .quick-contact-bar a:hover {
  border-color: var(--text-2, #6b7280);
}
.cliente-modal-v2 .tab-indicator {
  display: flex; gap: 0; padding: 0 20px;
  border-bottom: 1px solid var(--border, #e5e7eb);
  background: var(--bg-soft, #f9fafb);
}
.cliente-modal-v2 .tab-btn {
  padding: 10px 14px; font-size: 12.5px; font-weight: 500;
  color: var(--text-3, #9ca3af);
  border: 0; border-bottom: 2px solid transparent;
  cursor: pointer; background: none;
  transition: color 0.12s ease, border-color 0.12s ease;
  white-space: nowrap;
}
.cliente-modal-v2 .tab-btn:hover { color: var(--text-2, #6b7280); }
.cliente-modal-v2 .tab-btn.on {
  color: var(--text, #111827);
  border-bottom-color: var(--text, #111827);
}
.cliente-modal-v2 .field input:focus,
.cliente-modal-v2 .field select:focus,
.cliente-modal-v2 .field textarea:focus {
  border-color: var(--text-2, #6b7280);
  box-shadow: 0 0 0 3px rgba(10, 11, 13, 0.06);
  outline: 0;
}

/* ═══════════════════════════════════════════════════════════════════════
   Clientes no CELULAR (jul/2026)
   O menor breakpoint da lista era 860px, com 5 colunas para 7 células
   visíveis — o grid criava uma 2ª linha sozinho e o nome do cliente ficava
   com ~125px, cortado por ellipsis. Aqui a linha vira cartão de 2 faixas:
   avatar | nome (cheio) | menu   /   status | valor
   ═══════════════════════════════════════════════════════════════════════ */
@media (max-width: 640px) {
  /* Cabeçalho de tabela não faz sentido quando a linha está empilhada */
  .clientes-v2 .list-head { display: none; }

  .clientes-v2 .client-row {
    grid-template-columns: 28px 44px minmax(0, 1fr) auto 40px;
    grid-auto-rows: auto;
    gap: 3px 8px;
    padding: 10px 12px 12px;
    align-items: center;
    /* A linha tem `height: 58px` fixo para a tabela do desktop. Empilhada em
       duas faixas isso esmaga tudo e as células se sobrepõem. */
    height: auto;
    min-height: 58px;
  }
  /* `.td` tem `height:100%`, que dentro de linha de altura automática força
     cada célula à altura da faixa inteira e volta a sobrepor. */
  .clientes-v2 .client-row .td {
    height: auto;
    padding: 0 4px;
  }
  /* Sem modo seleção a 1ª coluna (checkbox) não ocupa espaço */
  .clientes-v2 .list-wrap.no-select .client-row {
    grid-template-columns: 0 44px minmax(0, 1fr) auto 40px;
  }

  /* Ordem das células: 1 check · 2 avatar · 3 nome · 4 status · 5 valor
     · 6 atividade · 7 tribunal (já oculto) · 8 menu */
  .clientes-v2 .client-row > .td:nth-child(1) { grid-column: 1; grid-row: 1 / span 2; }
  .clientes-v2 .client-row > .td:nth-child(2) { grid-column: 2; grid-row: 1 / span 2; }
  .clientes-v2 .client-row > .td:nth-child(3) { grid-column: 3 / 5; grid-row: 1; }
  .clientes-v2 .client-row > .td:nth-child(4) { grid-column: 3; grid-row: 2; justify-self: start; }
  .clientes-v2 .client-row > .td:nth-child(5) { grid-column: 4; grid-row: 2; justify-self: end; }
  /* "DJE · 2d" é informação secundária; sai para o nome respirar */
  .clientes-v2 .client-row > .td:nth-child(6) { display: none; }
  .clientes-v2 .client-row > .td:nth-child(8) { grid-column: 5; grid-row: 1 / span 2; }

  /* Nome é o alvo do toque — até 2 linhas em vez de cortar */
  .clientes-v2 .cname {
    font-size: 15px;
    line-height: 1.3;
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .clientes-v2 .csub {
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .clientes-v2 .qa-dots {
    min-width: 40px;
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .clientes-v2 .client-row:active { background: var(--bg-soft); }
}

/* ==== /css/clientes-v3.css ==== */
/* clientes-v3.css — skin "calma" da aba Clientes (gated por html.cl3)
   Princípios: bordas 0.5px, cor só com significado, 1 destaque por tela,
   escala tipográfica única (16/13/12), mono para CNJ/valores. */

html.cl3 {
  --cl3-border: rgba(28, 25, 23, 0.12);
  --cl3-border-2: rgba(28, 25, 23, 0.22);
  --cl3-bg: #fff;
  --cl3-bg-soft: #FAFAF9;
  --cl3-text: #1C1917;
  --cl3-text-2: #6B7280;
  --cl3-text-3: #9CA3AF;
  --cl3-amber-bg: #FAEEDA; --cl3-amber-tx: #854F0B;
  --cl3-teal-bg: #E1F5EE;  --cl3-teal-tx: #085041; --cl3-teal-bd: #5DCAA5;
  --cl3-blue-bg: #E6F1FB;  --cl3-blue-tx: #0C447C;
  --cl3-green-bg: #EAF3DE; --cl3-green-tx: #27500A;
  --cl3-red-bg: #FCEBEB;   --cl3-red-tx: #791F1F;
  --cl3-gray-bg: #F1EFE8;  --cl3-gray-tx: #444441;
  --cl3-r: 12px;
}

/* ── A. Hero compacto: título + KPIs + ações, sem teatro ────────────────── */
html.cl3 .clientes-v2 .hero-eyebrow,
html.cl3 .clientes-v2 .hero-sub,
html.cl3 .clientes-v2 .kpi-foot { display: none !important; }
html.cl3 .clientes-v2 .hero { padding-top: 18px !important; padding-bottom: 14px !important; }
html.cl3 .clientes-v2 .hero .display { font-size: 22px !important; }
html.cl3 .clientes-v2 .kpis { margin-top: 12px !important; }
html.cl3 .clientes-v2 .kpi { padding: 10px 14px !important; }
html.cl3 .clientes-v2 .kpi-bar { display: none !important; }
html.cl3 .clientes-v2 .kpi.cl3-kpi-click { cursor: pointer; }
html.cl3 .clientes-v2 .kpi.cl3-kpi-click:hover { outline: 1px solid rgba(255,255,255,.25); }

/* ── E. Menos controles e status discreto ───────────────────────────────── */
/* "Ordenar por…" duplica o sort do cabeçalho da tabela */
html.cl3 .clientes-v2 #sort-clientes { display: none !important; }
/* Cliente ativo é a regra, não a exceção: vira texto neutro (cor fica
   reservada para prospect/inativo, que são os desvios) */
html.cl3 .clientes-v2 .schip.ativo {
  background: transparent !important;
  border: none !important;
  color: var(--cl3-text-3) !important;
  font-weight: 500 !important;
}

/* Célula "Próximo evento" (substitui Tribunal quando há evento) */
.cl3-next { font-size: 12px; color: var(--cl3-text-2); white-space: nowrap; }

/* ── Tabela enxuta: 50 linhas dizendo "Ativo · ATUALIZAÇÃO hoje" é ruído ── */
/* Colunas Status (4ª) e Última atividade (6ª) saem; o status vira chip ao
   lado do nome SÓ quando é exceção (prospect/inativo); o espaço liberado vai
   para "Próximo evento", que estava cortando texto em 140px. */
html.cl3 .clientes-v2 .list-head > .th:nth-child(4),
html.cl3 .clientes-v2 .client-row > .td:nth-child(4),
html.cl3 .clientes-v2 .list-head > .th:nth-child(6),
html.cl3 .clientes-v2 .client-row > .td:nth-child(6) { display: none !important; }

@media (min-width: 769px) {
  html.cl3 .clientes-v2 .list-head,
  html.cl3 .clientes-v2 .client-row {
    grid-template-columns: 40px 48px minmax(0, 1fr) 96px 230px 48px !important;
  }
  html.cl3 .clientes-v2 .list-wrap.no-select .list-head,
  html.cl3 .clientes-v2 .list-wrap.no-select .client-row {
    grid-template-columns: 8px 48px minmax(0, 1fr) 96px 230px 48px !important;
  }
}

/* Chip de status inline (só prospect/inativo) e tribunal no subtítulo */
.cl3-st { font-size: 10.5px; font-weight: 600; padding: 1px 8px; border-radius: 999px; vertical-align: 1px; margin-left: 6px; }
.cl3-st--prospect { background: var(--cl3-blue-bg); color: var(--cl3-blue-tx); }
.cl3-st--inativo { background: var(--cl3-gray-bg); color: var(--cl3-gray-tx); }

/* ── F. Cards: entra na régua 0.5px ─────────────────────────────────────── */
html.cl3 .clientes-v2 .cards-grid > * { box-shadow: none !important; }

/* "Ativo" é a regra, não exceção: a barra de cor de status some nas linhas e
   nos cards (50 barras verdes = ruído). Prospect/inativo mantêm a cor. */
html.cl3 .clientes-v2 .client-row.s-ativo { border-left-color: transparent !important; }
html.cl3 .clientes-v2 .card-accent.s-ativo { background: transparent !important; }

/* ── Lista: silêncio visual ─────────────────────────────────────────────── */
html.cl3 .clientes-v2 .list-wrap,
html.cl3 .clientes-v2 .cards-grid > * {
  border-color: var(--cl3-border) !important;
  box-shadow: none !important;
}
html.cl3 .clientes-v2 .list-head { background: transparent !important; }
html.cl3 .clientes-v2 .filters { box-shadow: none !important; border-color: var(--cl3-border) !important; }

/* ── Modal detalhe: base ────────────────────────────────────────────────── */
/* ALTURA FIXA: o modal nunca muda de tamanho ao trocar de tab — o conteúdo
   rola dentro dele. Também um pouco mais largo p/ a linha do tempo respirar. */
html.cl3 .cliente-detail-v2 .cd-modal {
  border-radius: 20px !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.18) !important;
  height: min(88vh, 920px) !important;
  max-height: 88vh !important;
  max-width: 1020px !important;
}
/* Footer legado só tinha um "Fechar" duplicado (o X do header já fecha) —
   removido para devolver ~70px de área útil ao conteúdo. */
html.cl3 .cliente-detail-v2 .cd-modal > footer { display: none !important; }
/* Tab "Atividades" legada ficou redundante: a linha do tempo da tab Processos
   agora absorve pagamentos, acordos e o marco de cadastro (e ainda tem DJE+prazos). */
html.cl3 .cliente-detail-v2 .tab-btn[data-tab="timeline"],
html.cl3 .cliente-detail-v2 .tab-content[data-tab="timeline"] { display: none !important; }
html.cl3 .cliente-detail-v2 .cd-head { border-bottom: 0.5px solid var(--cl3-border) !important; }
html.cl3 .cliente-detail-v2 .cd-title { font-size: 17px; font-weight: 600; letter-spacing: -0.01em; }
/* :not(.cd-action-primary) é obrigatório: sem ele esta regra pintava o botão
   "Editar" de branco por cima do fundo escuro dele, mas não mexia no
   `color: #fff` — branco no branco, botão invisível. */
html.cl3 .cliente-detail-v2 .cd-action:not(.cd-action-primary) {
  border: 0.5px solid var(--cl3-border-2) !important;
  background: var(--cl3-bg) !important;
  box-shadow: none !important;
  font-size: 12.5px !important;
}
html.cl3 .cliente-detail-v2 .cd-action:not(.cd-action-primary):hover { background: var(--cl3-bg-soft) !important; }

/* Ação principal continua sólida escura — só entra na régua de borda e corpo. */
html.cl3 .cliente-detail-v2 .cd-action-primary {
  border: 0.5px solid var(--cl3-text) !important;
  background: var(--cl3-text) !important;
  color: #fff !important;
  box-shadow: none !important;
  font-size: 12.5px !important;
}
html.cl3 .cliente-detail-v2 .cd-action-primary:hover { background: #000 !important; border-color: #000 !important; }

/* Tabs: underline preto, sem azul */
html.cl3 .cliente-detail-v2 .tab-btn {
  color: var(--cl3-text-2) !important;
  border-bottom-color: transparent !important;
  font-size: 13px !important;
}
html.cl3 .cliente-detail-v2 .tab-btn.active {
  color: var(--cl3-text) !important;
  border-bottom-color: var(--cl3-text) !important;
}

/* ── Dossiê (KPIs injetados pela v3) ────────────────────────────────────── */
/* A v3 injeta sua própria faixa de indicadores (mais completa) — esconde a legada */
html.cl3 .cliente-detail-v2 .cd-kpis-row { display: none !important; }

.cl3-kpis {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
  padding: 14px 32px 4px;
}
.cl3-kpi {
  background: var(--cl3-bg-soft);
  border: 0.5px solid var(--cl3-border);
  border-radius: var(--cl3-r);
  padding: 10px 14px;
}
.cl3-kpi-lbl { font-size: 11.5px; color: var(--cl3-text-2); margin-bottom: 2px; }
.cl3-kpi-val { font-size: 18px; font-weight: 600; color: var(--cl3-text); font-variant-numeric: tabular-nums; }
.cl3-kpi-val .cl3-chip { vertical-align: 2px; }
.cl3-kpi--alerta { background: var(--cl3-amber-bg); border-color: transparent; }
.cl3-kpi--alerta .cl3-kpi-lbl { color: var(--cl3-amber-tx); opacity: .8; }
.cl3-kpi--alerta .cl3-kpi-val { color: var(--cl3-amber-tx); font-size: 14px; line-height: 1.35; }

.cl3-chip {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 11.5px; font-weight: 600; padding: 2px 10px; border-radius: 999px;
}
.cl3-chip--amber { background: var(--cl3-amber-bg); color: var(--cl3-amber-tx); }
.cl3-chip--teal  { background: var(--cl3-teal-bg);  color: var(--cl3-teal-tx); }
.cl3-chip--blue  { background: var(--cl3-blue-bg);  color: var(--cl3-blue-tx); }
.cl3-chip--gray  { background: var(--cl3-gray-bg);  color: var(--cl3-gray-tx); }
.cl3-chip--red   { background: var(--cl3-red-bg);   color: var(--cl3-red-tx); }
.cl3-chip--green { background: var(--cl3-green-bg); color: var(--cl3-green-tx); }

/* ── Linha do tempo (tab Processos) ─────────────────────────────────────── */
.cl3-proc { font-size: 13px; color: var(--cl3-text); }
.cl3-proc-head {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  background: var(--cl3-bg); border: 0.5px solid var(--cl3-border-2);
  border-radius: var(--cl3-r); padding: 11px 14px; margin-bottom: 10px;
}
.cl3-proc-head .mono { font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 12.5px; }
.cl3-proc-head .cl3-proc-sub { font-size: 12px; color: var(--cl3-text-2); }

/* Vínculo cliente↔processo (Fase 3) */
.cl3-vinc-x {
  margin-left: auto; font-size: 11px; color: var(--cl3-text-2); background: transparent;
  border: 0.5px solid var(--cl3-border); border-radius: 999px; padding: 2px 9px; cursor: pointer;
}
.cl3-vinc-x:hover { color: var(--cl3-danger, #c0392b); border-color: var(--cl3-danger, #c0392b); }
.cl3-vinc-sug {
  border: 0.5px solid var(--cl3-border-2); border-radius: var(--cl3-r);
  padding: 11px 14px; margin-bottom: 10px; background: var(--cl3-bg);
}
.cl3-vinc-sug-tit { font-size: 12px; font-weight: 600; color: var(--cl3-text); margin-bottom: 8px; }
.cl3-vinc-sug-item {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  padding: 7px 0; border-top: 0.5px solid var(--cl3-border);
}
.cl3-vinc-sug-item:first-of-type { border-top: 0; }
.cl3-vinc-sug-acts { display: flex; gap: 6px; margin-left: auto; }
.cl3-vinc-add { display: flex; gap: 8px; margin: 6px 0 14px; }
.cl3-vinc-input {
  flex: 1; min-width: 0; font-size: 12.5px; padding: 7px 12px;
  border: 0.5px solid var(--cl3-border); border-radius: var(--cl3-r);
  background: transparent; color: var(--cl3-text);
  font-family: 'JetBrains Mono', ui-monospace, monospace;
}
.cl3-vinc-input:focus { outline: none; border-color: var(--cl3-border-2); }

.cl3-filtros { display: flex; gap: 8px; flex-wrap: wrap; margin: 14px 0; }
.cl3-filtro {
  font-size: 12px; padding: 4px 12px; border-radius: 999px; cursor: pointer;
  border: 0.5px solid var(--cl3-border); color: var(--cl3-text-2); background: transparent;
}
.cl3-filtro.on { border-color: var(--cl3-border-2); color: var(--cl3-text); background: var(--cl3-bg); font-weight: 600; }

.cl3-tl { position: relative; padding-left: 34px; }
.cl3-tl::before {
  content: ""; position: absolute; left: 13px; top: 6px; bottom: 6px;
  width: 2px; background: var(--cl3-border);
}
.cl3-ev { position: relative; margin-bottom: 12px; }
.cl3-ev-dot {
  position: absolute; left: -34px; top: 0; width: 28px; height: 28px;
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  background: var(--cl3-gray-bg); color: var(--cl3-gray-tx); font-size: 14px;
}
.cl3-ev-dot--pub  { background: var(--cl3-blue-bg);  color: var(--cl3-blue-tx); }
.cl3-ev-dot--aud  { background: var(--cl3-teal-bg);  color: var(--cl3-teal-tx); }
.cl3-ev-dot--task { background: var(--cl3-amber-bg); color: var(--cl3-amber-tx); }
.cl3-ev-dot--fin  { background: var(--cl3-green-bg); color: var(--cl3-green-tx); font-size: 11px; font-weight: 700; }
.cl3-ev-card {
  background: var(--cl3-bg); border: 0.5px solid var(--cl3-border);
  border-radius: var(--cl3-r); padding: 11px 14px;
}
.cl3-ev--futuro .cl3-ev-card { border-color: var(--cl3-teal-bd); }
.cl3-ev-top { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.cl3-ev-tit { font-size: 13.5px; font-weight: 600; }
.cl3-ev-data { margin-left: auto; font-size: 11.5px; color: var(--cl3-text-2); font-family: 'JetBrains Mono', ui-monospace, monospace; }
.cl3-ev-sub { font-size: 12.5px; color: var(--cl3-text-2); margin-top: 5px; line-height: 1.5; }
.cl3-ev-acoes { display: flex; gap: 8px; margin-top: 9px; }
.cl3-ev-btn {
  font-size: 12px; padding: 4px 11px; border-radius: 8px; cursor: pointer;
  border: 0.5px solid var(--cl3-border-2); background: var(--cl3-bg); color: var(--cl3-text);
}
.cl3-ev-btn:hover { background: var(--cl3-bg-soft); }
a.cl3-ev-btn { text-decoration: none; display: inline-flex; align-items: center; }
.cl3-ev-btn--teal { background: var(--cl3-teal-bg); color: var(--cl3-teal-tx); border-color: transparent; font-weight: 600; }
.cl3-ev-btn--teal:hover { background: var(--cl3-teal-bg); filter: brightness(.97); }

/* Análise da IA expandível (contexto / prazo / passo-a-passo) */
.cl3-ev-ia {
  margin-top: 9px; padding: 10px 12px;
  background: var(--cl3-bg-soft); border: 0.5px solid var(--cl3-border);
  border-radius: 10px; font-size: 12.5px; color: var(--cl3-text);
  line-height: 1.6; white-space: pre-line;
}

/* WhatsApp inteligente no KPI de próxima audiência */
.cl3-wa {
  display: inline-flex; align-items: center; gap: 5px;
  margin-top: 8px; font-size: 12px; font-weight: 600;
  padding: 5px 12px; border-radius: 999px; text-decoration: none;
  background: var(--cl3-green-bg); color: var(--cl3-green-tx);
}
.cl3-wa::before { content: "✆"; font-size: 13px; }
.cl3-wa:hover { filter: brightness(.96); }
.cl3-ev-marco { font-size: 12px; color: var(--cl3-text-2); padding-top: 5px; }
.cl3-tl-secao {
  font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  color: var(--cl3-text-3); margin: 16px 0 10px;
}
.cl3-vazio { font-size: 13px; color: var(--cl3-text-2); padding: 18px 4px; }
.cl3-skel { height: 64px; border-radius: var(--cl3-r); background: var(--cl3-bg-soft); border: 0.5px solid var(--cl3-border); margin-bottom: 10px; animation: cl3pulse 1.4s ease-in-out infinite; }
@keyframes cl3pulse { 50% { opacity: .55; } }

/* ── Tabs legadas (Acordos/Audiências/Financeiro): entram na régua ──────── */
/* Sem sombras dentro do conteúdo das tabs e bordas suavizadas — unifica com
   a linguagem 0.5px do restante do modal sem tocar no HTML legado. */
html.cl3 .cliente-detail-v2 .tab-content [class*="shadow"] { box-shadow: none !important; }
html.cl3 .cliente-detail-v2 .tab-content .border,
html.cl3 .cliente-detail-v2 .tab-content [class*="border-gray"] {
  border-color: var(--cl3-border) !important;
}


/* Casos previdenciários na linha do tempo do cliente */
.cl3-ev-dot--prev { background: var(--cl3-teal-bg); color: var(--cl3-teal-tx); }
.cl3-ev-dot--doc { background: var(--cl3-amber-bg); color: var(--cl3-amber-tx); }

/* ==== /modules/audiencias/audiencias-redesign.css ==== */
/* ═════════════════════════════════════════════════════════════════════════
   Audiências Redesign — Design System v2
   Fonte de verdade: /Acordly Audiências.html
   Escopo: .audiencias-v2 — evita colisões com Tailwind/legado.
   ═════════════════════════════════════════════════════════════════════════ */

/* Padding do wrapper pai SOMENTE quando a view de audiências está ativa. */
main > div:has(> #audiencias-view.view.active) {
  padding: 14px 18px 40px !important;
}
@media (max-width: 640px) {
  main > div:has(> #audiencias-view.view.active) {
    padding: 12px 12px 32px !important;
  }
}

.audiencias-v2 {
  /* Tokens */
  --bg: #FAFAF9;
  --bg-elev: #FFFFFF;
  --bg-soft: #F4F4F2;
  --border: #E7E5E4;
  --border-strong: #D6D3D1;
  --text: #0A0B0D;
  --text-2: #57534E;
  --text-3: #A8A29E;

  --hero-bg: #0A0B0D;
  --hero-bg-2: #111214;
  --hero-border: #1F2024;
  --hero-border-2: #2A2B30;
  --hero-text: #FAFAF9;
  --hero-text-2: #A8A29E;
  --hero-text-3: #6B6965;

  --positive: oklch(0.72 0.14 155);
  --positive-soft: oklch(0.72 0.14 155 / 0.12);
  --accent: oklch(0.78 0.14 75);
  --accent-soft: oklch(0.78 0.14 75 / 0.14);
  --danger: oklch(0.64 0.20 25);
  --danger-soft: oklch(0.64 0.20 25 / 0.10);
  --info: oklch(0.64 0.13 245);
  --info-soft: oklch(0.64 0.13 245 / 0.10);
  --orange: oklch(0.70 0.18 50);
  --orange-soft: oklch(0.70 0.18 50 / 0.12);

  --radius-lg: 18px;
  --radius: 14px;
  --radius-sm: 8px;
  --radius-xs: 6px;

  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --dur: 200ms;
  --dur-fast: 120ms;
  --dur-slow: 380ms;

  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  font-size: 13.5px;
  line-height: 1.45;
  color: var(--text);
  background: transparent;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.audiencias-v2 * { box-sizing: border-box; }
.audiencias-v2 .mono { font-family: 'JetBrains Mono', ui-monospace, monospace; font-variant-numeric: tabular-nums; }
.audiencias-v2 .display { font-family: 'Inter Tight', 'Inter', sans-serif; letter-spacing: -0.02em; }

@keyframes av2-rise { from { opacity: 0; transform: translateY(6px);} to { opacity: 1; transform: translateY(0);} }
@keyframes av2-pulse { 0%,100% { opacity: 1; transform: scale(1);} 50% { opacity: 0.55; transform: scale(1.15);} }
.audiencias-v2 .rise { animation: av2-rise var(--dur-slow) var(--ease-out) both; }

@media (prefers-reduced-motion: reduce) {
  .audiencias-v2 *, .audiencias-v2 *::before, .audiencias-v2 *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

/* ─── HERO ─────────────────────────────────────────────────────────────── */
.audiencias-v2 .hero {
  position: relative;
  background: var(--hero-bg);
  border-radius: var(--radius-lg);
  padding: 22px 24px 20px;
  color: var(--hero-text);
  overflow: hidden;
}
.audiencias-v2 .hero::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(700px 300px at 80% -10%, oklch(0.64 0.13 245 / 0.08), transparent 60%),
    radial-gradient(500px 260px at 10% 120%, oklch(0.64 0.20 25 / 0.06), transparent 60%);
}
.audiencias-v2 .hero-head {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 20px;
}
.audiencias-v2 .hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  font-weight: 500;
  letter-spacing: 0.12em;
  color: var(--hero-text-3);
  text-transform: uppercase;
  margin-bottom: 8px;
}
.audiencias-v2 .pulse {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--danger);
  box-shadow: 0 0 0 0 oklch(0.64 0.20 25 / 0.6);
  animation: av2-pulse 2.4s var(--ease) infinite;
}
.audiencias-v2 .hero h1 {
  font-family: 'Inter Tight', sans-serif;
  font-size: 26px;
  font-weight: 600;
  letter-spacing: -0.025em;
  margin: 0;
  color: var(--hero-text);
}
.audiencias-v2 .hero-sub {
  font-size: 13px;
  color: var(--hero-text-2);
  margin-top: 4px;
}
.audiencias-v2 .hero-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.audiencias-v2 .btn-hero {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: var(--radius-sm);
  font-size: 12px;
  font-weight: 500;
  border: 1px solid var(--hero-border-2);
  background: rgba(255,255,255,0.04);
  color: var(--hero-text-2);
  cursor: pointer;
  transition: all var(--dur-fast) var(--ease);
  white-space: nowrap;
  font-family: inherit;
}
.audiencias-v2 .btn-hero:hover {
  background: rgba(255,255,255,0.08);
  color: var(--hero-text);
}
.audiencias-v2 .btn-hero.primary {
  background: var(--hero-text);
  color: var(--hero-bg);
  border-color: var(--hero-text);
}
.audiencias-v2 .btn-hero.primary:hover {
  background: #fff;
  color: var(--hero-bg);
}

/* KPIs */
.audiencias-v2 .kpis {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--hero-border);
  border: 1px solid var(--hero-border);
  border-radius: 12px;
  overflow: hidden;
}
.audiencias-v2 .kpi {
  background: var(--hero-bg);
  padding: 15px 16px 13px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
  transition: background var(--dur-fast);
}
.audiencias-v2 .kpi:hover { background: #0F1013; }
.audiencias-v2 .kpi-lbl {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--hero-text-3);
}
.audiencias-v2 .kpi-val {
  font-family: 'Inter Tight', sans-serif;
  font-size: 24px;
  font-weight: 600;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
  color: var(--hero-text);
}
.audiencias-v2 .kpi-foot {
  font-size: 11px;
  color: var(--hero-text-2);
}
.audiencias-v2 .kpi-accent { color: var(--danger) !important; }
.audiencias-v2 .kpi-accent.info { color: oklch(0.78 0.13 245) !important; }
.audiencias-v2 .kpi-accent.positive { color: oklch(0.78 0.14 155) !important; }
.audiencias-v2 .kpi-accent.orange { color: oklch(0.82 0.14 50) !important; }

/* ─── SPOTLIGHT — Próximo compromisso ─────────────────────────────────── */
/* Widget estilo Fantastical/Amie: sempre aponta o próximo compromisso, com
   contagem de dias em destaque. A cor de acento vem do token de status já
   compartilhado com list/cards/timeline (--s-color), então "hoje" fica
   vermelho, "confirmada" azul etc — sem inventar paleta nova. */
.audiencias-v2 .spotlight {
  position: relative;
  display: flex;
  align-items: stretch;
  gap: 20px;
  background: var(--bg-elev);
  border: 1px solid var(--border);
  border-left: 4px solid var(--s-color, var(--info));
  border-radius: var(--radius-lg);
  padding: 16px 20px;
  cursor: pointer;
  text-align: left;
  transition: box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease), transform var(--dur-fast) var(--ease);
  animation: av2-rise var(--dur-slow) var(--ease-out) both;
}
.audiencias-v2 .spotlight:hover {
  box-shadow: 0 10px 32px rgba(0, 0, 0, 0.08);
  border-color: var(--border-strong);
}
.audiencias-v2 .spotlight:active { transform: scale(0.996); }

.audiencias-v2 .spotlight-count {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  min-width: 74px;
  padding-right: 18px;
  border-right: 1px solid var(--border);
  flex-shrink: 0;
}
.audiencias-v2 .spotlight-count-num {
  font-family: 'Inter Tight', sans-serif;
  font-size: 30px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1;
  color: var(--s-color, var(--text));
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.audiencias-v2 .spotlight.s-urgente .spotlight-count-num { font-size: 17px; letter-spacing: 0.04em; }
.audiencias-v2 .spotlight-count-unit {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--text-3);
}

.audiencias-v2 .spotlight-main {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 3px;
}
.audiencias-v2 .spotlight-top {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.audiencias-v2 .spotlight-tag {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-3);
}
.audiencias-v2 .spotlight-name {
  font-family: 'Inter Tight', sans-serif;
  font-size: 19px;
  font-weight: 600;
  letter-spacing: -0.015em;
  color: var(--text);
  margin: 1px 0 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.audiencias-v2 .spotlight-sub {
  font-size: 12.5px;
  color: var(--text-2);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.audiencias-v2 .spotlight-facts {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 5px;
  font-size: 12px;
  color: var(--text-2);
}
.audiencias-v2 .spotlight-facts .sf {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
}
.audiencias-v2 .spotlight-facts .sf svg { color: var(--text-3); flex-shrink: 0; }

.audiencias-v2 .spotlight-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: space-between;
  gap: 10px;
  flex-shrink: 0;
}
.audiencias-v2 .spotlight-confirm {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 11px;
  border-radius: var(--radius-sm);
  border: 1px solid oklch(0.78 0.14 75 / 0.4);
  background: var(--accent-soft);
  color: oklch(0.4 0.12 75);
  font-size: 11.5px;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  white-space: nowrap;
  transition: background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);
}
.audiencias-v2 .spotlight-confirm:hover {
  background: oklch(0.78 0.14 75 / 0.24);
  border-color: oklch(0.78 0.14 75 / 0.55);
}

@media (max-width: 1100px) {
  .audiencias-v2 .spotlight { gap: 14px; }
  .audiencias-v2 .spotlight-facts { gap: 12px; }
}
@media (max-width: 640px) {
  .audiencias-v2 .spotlight {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    padding: 16px;
  }
  .audiencias-v2 .spotlight-count {
    flex-direction: row;
    align-items: baseline;
    justify-content: flex-start;
    gap: 6px;
    min-width: 0;
    padding: 0 0 10px;
    border-right: 0;
    border-bottom: 1px solid var(--border);
  }
  .audiencias-v2 .spotlight-count-num { font-size: 22px; }
  .audiencias-v2 .spotlight.s-urgente .spotlight-count-num { font-size: 16px; }
  .audiencias-v2 .spotlight-name { font-size: 17px; white-space: normal; }
  .audiencias-v2 .spotlight-sub { white-space: normal; }
  .audiencias-v2 .spotlight-actions {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}

/* ─── BADGES DE ATENÇÃO (REVISAR / PROCESSO ENCERRADO) ───────────────── */
/* Claros o bastante para não passar batido, discretos o bastante para não
   gritar em toda a tela — pill pequena, cor de aviso (não vermelho puro
   para REVISAR, que é uma pendência de conferência, não um erro). */
.audiencias-v2 .aud-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 2.5px 8px 2.5px 6px;
  border-radius: 999px;
  border: 1px solid;
  white-space: nowrap;
  cursor: help;
  line-height: 1.5;
}
.audiencias-v2 .aud-badge svg { flex-shrink: 0; }
.audiencias-v2 .aud-badge-revisar {
  background: var(--accent-soft);
  color: oklch(0.42 0.12 75);
  border-color: oklch(0.78 0.14 75 / 0.4);
}
.audiencias-v2 .aud-badge-encerrado {
  background: var(--danger-soft);
  color: oklch(0.44 0.16 25);
  border-color: oklch(0.64 0.2 25 / 0.28);
}
/* data passou e segue "agendada" — pendência de baixa, não erro */
.audiencias-v2 .aud-badge-baixa {
  background: var(--orange-soft, oklch(0.96 0.04 60));
  color: oklch(0.45 0.15 55);
  border-color: oklch(0.70 0.18 50 / 0.4);
}
/* no modal o selo fica ao lado dos chips de status */
.audiencia-detail-v2 .aud-badge-baixa {
  display: inline-flex; align-items: center; gap: 4px;
  font-family: 'JetBrains Mono', monospace; font-size: 9.5px; font-weight: 700;
  letter-spacing: 0.04em; padding: 2.5px 8px 2.5px 6px; border-radius: 999px;
  border: 1px solid oklch(0.70 0.18 50 / 0.4); white-space: nowrap; cursor: help;
  background: oklch(0.96 0.04 60); color: oklch(0.45 0.15 55);
}

/* ─── FILTERS / TOOLBAR ───────────────────────────────────────────────── */
.audiencias-v2 .filters {
  background: var(--bg-elev);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 10px 14px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
}
.audiencias-v2 .fchip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 11px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 500;
  border: 1px solid var(--border);
  background: var(--bg-soft);
  color: var(--text-2);
  cursor: pointer;
  transition: all var(--dur-fast) var(--ease);
  font-family: inherit;
}
.audiencias-v2 .fchip:hover { background: var(--border); color: var(--text); }
.audiencias-v2 .fchip.on {
  background: var(--text);
  color: #fff;
  border-color: var(--text);
}
.audiencias-v2 .fchip .count {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  opacity: 0.75;
  margin-left: 2px;
}
.audiencias-v2 .fsep {
  width: 1px;
  height: 18px;
  background: var(--border);
  flex-shrink: 0;
}
.audiencias-v2 .fselect {
  padding: 4px 9px;
  border: 1px solid var(--border);
  border-radius: 6px;
  font-size: 12px;
  background: var(--bg-soft);
  color: var(--text-2);
  outline: none;
  cursor: pointer;
  font-family: inherit;
  transition: all var(--dur-fast);
}
.audiencias-v2 .fselect:hover { background: var(--border); }
.audiencias-v2 .fsearch {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 5px 11px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--bg-soft);
  font-size: 12px;
  flex: 1;
  min-width: 160px;
  max-width: 280px;
}
.audiencias-v2 .fsearch input {
  background: none;
  border: 0;
  outline: 0;
  flex: 1;
  font: inherit;
  font-size: 12px;
  color: var(--text);
  min-width: 0;
}
.audiencias-v2 .fsearch svg { color: var(--text-3); flex-shrink: 0; }
.audiencias-v2 .filters-spacer { flex: 1; }

.audiencias-v2 .btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  font-size: 12px;
  font-weight: 500;
  background: var(--bg-elev);
  color: var(--text-2);
  cursor: pointer;
  transition: all var(--dur-fast) var(--ease);
  font-family: inherit;
  white-space: nowrap;
}
.audiencias-v2 .btn:hover { background: var(--bg-soft); color: var(--text); border-color: var(--border-strong); }
.audiencias-v2 .btn.primary {
  background: var(--text);
  color: #fff;
  border-color: var(--text);
}
.audiencias-v2 .btn.primary:hover { background: #22252b; color: #fff; }
.audiencias-v2 .btn.sm { padding: 4px 10px; font-size: 11.5px; }
.audiencias-v2 .btn.on { background: var(--text); color: #fff; border-color: var(--text); }

.audiencias-v2 .view-seg {
  display: flex;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  overflow: hidden;
}
.audiencias-v2 .view-seg button {
  padding: 5px 10px;
  font-size: 11.5px;
  font-weight: 500;
  color: var(--text-2);
  background: var(--bg-soft);
  border: 0;
  cursor: pointer;
  font-family: inherit;
  transition: all var(--dur-fast);
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.audiencias-v2 .view-seg button:hover { color: var(--text); }
.audiencias-v2 .view-seg button.on { background: var(--text); color: #fff; }

/* ─── BULK BAR ────────────────────────────────────────────────────────── */
.audiencias-v2 .bulk-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  background: var(--hero-bg);
  border-radius: var(--radius-sm);
  color: var(--hero-text);
  animation: av2-rise var(--dur) var(--ease-out);
}
.audiencias-v2 .bulk-count {
  font-size: 13px;
  font-weight: 600;
  flex: 1;
}
.audiencias-v2 .bulk-bar .btn {
  background: rgba(255,255,255,0.08);
  color: var(--hero-text);
  border-color: var(--hero-border-2);
}
.audiencias-v2 .bulk-bar .btn:hover {
  background: rgba(255,255,255,0.14);
  color: #fff;
}

/* ─── STATUS TOKENS (unificado) ───────────────────────────────────────── */
/* Cores para border-left e card-accent */
.audiencias-v2 .s-realizado  { --s-color: var(--positive); }
.audiencias-v2 .s-agendado   { --s-color: var(--info); }
.audiencias-v2 .s-confirmado { --s-color: var(--info); }
.audiencias-v2 .s-urgente    { --s-color: var(--danger); }
.audiencias-v2 .s-adiado     { --s-color: var(--orange); }
.audiencias-v2 .s-cancelado  { --s-color: #D6D3D1; }

/* Schips (status chips) */
.audiencias-v2 .schip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 500;
  border: 1px solid;
  white-space: nowrap;
  font-family: inherit;
}
.audiencias-v2 .sdot { width: 5px; height: 5px; border-radius: 50%; }
.audiencias-v2 .schip.s-realizado  { background: var(--positive-soft); color: oklch(0.42 0.14 155); border-color: oklch(0.72 0.14 155 / 0.25); }
.audiencias-v2 .sdot.s-realizado   { background: var(--positive); }
.audiencias-v2 .schip.s-agendado,
.audiencias-v2 .schip.s-confirmado { background: var(--info-soft); color: oklch(0.42 0.13 245); border-color: oklch(0.64 0.13 245 / 0.25); }
.audiencias-v2 .sdot.s-agendado,
.audiencias-v2 .sdot.s-confirmado  { background: var(--info); }
.audiencias-v2 .schip.s-urgente    { background: var(--danger-soft); color: oklch(0.44 0.20 25); border-color: oklch(0.64 0.20 25 / 0.25); }
.audiencias-v2 .sdot.s-urgente     { background: var(--danger); }
.audiencias-v2 .schip.s-adiado     { background: var(--orange-soft); color: oklch(0.44 0.18 50); border-color: oklch(0.70 0.18 50 / 0.28); }
.audiencias-v2 .sdot.s-adiado      { background: var(--orange); }
.audiencias-v2 .schip.s-cancelado  { background: var(--bg-soft); color: var(--text-3); border-color: var(--border); }
.audiencias-v2 .sdot.s-cancelado   { background: var(--border-strong); }

/* ─── LIST VIEW ───────────────────────────────────────────────────────── */
.audiencias-v2 .list-wrap {
  background: var(--bg-elev);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
}
.audiencias-v2 .list-head,
.audiencias-v2 .aud-row {
  display: grid;
  grid-template-columns: 40px 148px minmax(0, 1fr) 110px 110px 120px 100px 48px;
  gap: 0;
  align-items: center;
}
.audiencias-v2 .list-wrap.no-select .list-head,
.audiencias-v2 .list-wrap.no-select .aud-row {
  grid-template-columns: 8px 148px minmax(0, 1fr) 110px 110px 120px 100px 48px;
}
.audiencias-v2 .list-head {
  background: var(--bg-soft);
  border-bottom: 1px solid var(--border);
}
.audiencias-v2 .list-head .th {
  font-size: 10.5px;
  font-weight: 600;
  color: var(--text-3);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 9px 10px;
  display: flex;
  align-items: center;
  gap: 4px;
  user-select: none;
}
.audiencias-v2 .list-head .th.right { justify-content: flex-end; }
.audiencias-v2 .list-head .th.center { justify-content: center; }

/* Row: 62px fixed height, border-left 4px por status (regra unificada 1) */
.audiencias-v2 .aud-row {
  border-bottom: 1px solid var(--border);
  border-left: 4px solid transparent;
  cursor: pointer;
  transition: background var(--dur-fast);
  height: 62px;
  position: relative;
}
.audiencias-v2 .aud-row:last-child { border-bottom: 0; }
.audiencias-v2 .aud-row:hover { background: var(--bg-soft); }
.audiencias-v2 .aud-row.s-realizado  { border-left-color: var(--positive); }
.audiencias-v2 .aud-row.s-agendado,
.audiencias-v2 .aud-row.s-confirmado { border-left-color: var(--info); }
.audiencias-v2 .aud-row.s-urgente    { border-left-color: var(--danger); }
.audiencias-v2 .aud-row.s-adiado     { border-left-color: var(--orange); }
.audiencias-v2 .aud-row.s-cancelado  { border-left-color: #D6D3D1; }

.audiencias-v2 .aud-row .td {
  padding: 0 10px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  overflow: hidden;
}
.audiencias-v2 .aud-row .td.center { align-items: center; }
.audiencias-v2 .aud-row .td.right { align-items: flex-end; }

.audiencias-v2 .row-check {
  width: 16px; height: 16px;
  border: 1.5px solid var(--border-strong);
  border-radius: 4px;
  cursor: pointer;
  display: grid; place-items: center;
  background: var(--bg-elev);
  transition: all var(--dur-fast);
}
.audiencias-v2 .row-check.on { background: var(--text); border-color: var(--text); }
.audiencias-v2 .row-check.on::after {
  content: '';
  width: 8px; height: 8px;
  background: #fff;
  clip-path: polygon(14% 44%, 0 60%, 40% 100%, 100% 20%, 82% 5%, 40% 68%);
}

.audiencias-v2 .cname {
  font-size: 13px;
  font-weight: 600;
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.audiencias-v2 .csub {
  font-size: 11.5px;
  color: var(--text-2);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-top: 1px;
}
.audiencias-v2 .csub.mono { font-family: 'JetBrains Mono', monospace; font-size: 11px; }

.audiencias-v2 .dt-big {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--text);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.audiencias-v2 .dt-small {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--text-2);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.audiencias-v2 .trib {
  font-size: 12px;
  font-weight: 600;
  color: var(--text);
  font-family: 'JetBrains Mono', monospace;
  white-space: nowrap;
}
.audiencias-v2 .mod-badge {
  display: inline-flex;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-2);
  background: var(--bg-soft);
  border: 1px solid var(--border);
  padding: 3px 7px;
  border-radius: 4px;
  white-space: nowrap;
  width: fit-content;
}

.audiencias-v2 .qa-dots {
  width: 32px; height: 32px;
  display: grid; place-items: center;
  border: 0;
  background: transparent;
  color: var(--text-3);
  border-radius: var(--radius-xs);
  cursor: pointer;
  transition: all var(--dur-fast);
}
.audiencias-v2 .qa-dots:hover { background: var(--bg-soft); color: var(--text); }

/* ─── CARDS VIEW (regra unificada 2: .card-accent no topo) ───────────── */
.audiencias-v2 .cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 12px;
}
.audiencias-v2 .aud-card {
  background: var(--bg-elev);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  cursor: pointer;
  transition: box-shadow var(--dur), border-color var(--dur);
}
.audiencias-v2 .aud-card:hover {
  box-shadow: 0 4px 20px rgba(0,0,0,0.07);
  border-color: var(--border-strong);
}
.audiencias-v2 .card-accent {
  height: 4px;
  background: var(--border-strong);
  flex-shrink: 0;
}
.audiencias-v2 .card-accent.s-realizado  { background: var(--positive); }
.audiencias-v2 .card-accent.s-agendado,
.audiencias-v2 .card-accent.s-confirmado { background: var(--info); }
.audiencias-v2 .card-accent.s-urgente    { background: var(--danger); }
.audiencias-v2 .card-accent.s-adiado     { background: var(--orange); }
.audiencias-v2 .card-accent.s-cancelado  { background: #D6D3D1; }

.audiencias-v2 .card-body {
  padding: 14px 16px 12px;
  display: flex;
  gap: 14px;
  flex: 1;
}
.audiencias-v2 .card-date {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 64px;
  padding: 8px 6px;
  background: var(--bg-soft);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  flex-shrink: 0;
}
.audiencias-v2 .card-date .d-day {
  font-family: 'Inter Tight', sans-serif;
  font-size: 22px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--text);
  line-height: 1;
}
.audiencias-v2 .card-date .d-mon {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-2);
  margin-top: 3px;
}
.audiencias-v2 .card-date .d-time {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--text-2);
  margin-top: 4px;
  font-variant-numeric: tabular-nums;
}

.audiencias-v2 .card-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.audiencias-v2 .card-info .cname { font-size: 13.5px; }
.audiencias-v2 .card-info .csub { font-size: 11.5px; }
.audiencias-v2 .card-meta {
  display: flex;
  flex-direction: column;
  gap: 3px;
  font-size: 11.5px;
  color: var(--text-2);
  margin-top: 4px;
}
.audiencias-v2 .card-meta-row {
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.audiencias-v2 .card-meta-row .icon {
  color: var(--text-3);
  flex-shrink: 0;
  width: 13px; height: 13px;
}
.audiencias-v2 .card-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 16px;
  border-top: 1px solid var(--border);
  background: var(--bg);
}

/* ─── TIMELINE VIEW ───────────────────────────────────────────────────── */
.audiencias-v2 .timeline {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.audiencias-v2 .tl-section {
  background: var(--bg-elev);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
}
.audiencias-v2 .tl-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  background: var(--bg-soft);
  border-bottom: 1px solid var(--border);
}
.audiencias-v2 .tl-header h3 {
  font-family: 'Inter Tight', sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--text);
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.audiencias-v2 .tl-header .tl-date {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  color: var(--text-3);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.audiencias-v2 .tl-header .pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 2px 8px;
  border-radius: 6px;
  font-size: 10.5px;
  font-weight: 500;
  font-family: 'JetBrains Mono', monospace;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.audiencias-v2 .tl-header .pill.today {
  background: var(--danger-soft);
  color: oklch(0.44 0.20 25);
  border: 1px solid oklch(0.64 0.20 25 / 0.25);
}
.audiencias-v2 .tl-header .pill.tomorrow {
  background: var(--orange-soft);
  color: oklch(0.44 0.18 50);
  border: 1px solid oklch(0.70 0.18 50 / 0.25);
}

.audiencias-v2 .tl-items {
  display: flex;
  flex-direction: column;
}
.audiencias-v2 .tl-item {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) 120px 110px 110px 48px;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-bottom: 1px solid var(--border);
  border-left: 3px solid transparent;
  cursor: pointer;
  transition: background var(--dur-fast);
}
.audiencias-v2 .tl-item:last-child { border-bottom: 0; }
.audiencias-v2 .tl-item:hover { background: var(--bg-soft); }
.audiencias-v2 .tl-section.today .tl-item  { border-left-color: var(--danger); }
.audiencias-v2 .tl-section.tomorrow .tl-item { border-left-color: var(--orange); }

.audiencias-v2 .tl-time {
  font-family: 'JetBrains Mono', monospace;
  font-size: 14px;
  font-weight: 600;
  color: var(--text);
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.01em;
}
/* Horário do foro + horário de quem está olhando, cada um com sua UF
   ("08:00 DF" / "07:00 RO"). A segunda linha só existe quando os fusos
   diferem — audiencias.js decide, e sem ela nenhuma sigla aparece. */
.audiencias-v2 .hora-uf {
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--text-3, var(--text-2));
  margin-left: 3px;
  text-transform: uppercase;
}
.audiencias-v2 .hora-local {
  display: block;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 500;
  color: var(--text-2);
  letter-spacing: -0.01em;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  margin-top: 1px;
}
.audiencias-v2 .hora-local-inline { color: var(--text-2); }

.audiencias-v2 .tl-name {
  font-size: 13px;
  font-weight: 600;
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.audiencias-v2 .tl-sub {
  font-size: 11.5px;
  color: var(--text-2);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-top: 1px;
}

/* ─── EMPTY STATE ─────────────────────────────────────────────────────── */
.audiencias-v2 .empty {
  padding: 52px 24px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  background: var(--bg-elev);
  border: 1px solid var(--border);
  border-radius: var(--radius);
}
.audiencias-v2 .empty-icon {
  width: 48px; height: 48px;
  border-radius: 50%;
  background: var(--bg-soft);
  color: var(--text-3);
  display: grid;
  place-items: center;
}
.audiencias-v2 .empty-title {
  font-family: 'Inter Tight', sans-serif;
  font-size: 15px;
  font-weight: 600;
}
.audiencias-v2 .empty-desc {
  font-size: 12px;
  color: var(--text-2);
  max-width: 320px;
}

/* ─── DROPDOWN MENU (3-dots) ──────────────────────────────────────────── */
.audiencias-v2 .menu-pop {
  position: absolute;
  right: 8px;
  top: 42px;
  z-index: 20;
  min-width: 190px;
  background: var(--bg-elev);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  box-shadow: 0 8px 32px rgba(0,0,0,0.12);
  padding: 4px;
  display: none;
  flex-direction: column;
}
.audiencias-v2 .menu-pop.on { display: flex; }
.audiencias-v2 .menu-pop button {
  background: none;
  border: 0;
  text-align: left;
  padding: 7px 10px;
  font-size: 12px;
  color: var(--text-2);
  cursor: pointer;
  border-radius: var(--radius-xs);
  font-family: inherit;
  display: flex;
  align-items: center;
  gap: 8px;
}
.audiencias-v2 .menu-pop button:hover { background: var(--bg-soft); color: var(--text); }
.audiencias-v2 .menu-pop .sep { height: 1px; background: var(--border); margin: 3px 2px; }
.audiencias-v2 .menu-pop button.danger { color: oklch(0.44 0.20 25); }
.audiencias-v2 .menu-pop button.danger:hover { background: var(--danger-soft); }

/* Fix: permitir que .menu-pop escape dos containers com overflow:hidden.
   Sem isso o dropdown dos 3-pontinhos renderiza no DOM mas fica invisível
   (clipado por .list-wrap, .aud-row .td e .aud-card). */
.audiencias-v2 .list-wrap { overflow: visible; }
.audiencias-v2 .aud-row { overflow: visible; }
.audiencias-v2 .aud-row .td { overflow: visible; }
.audiencias-v2 .aud-row .td.col-hide-md,
.audiencias-v2 .aud-row .td:not(:last-child) .cname,
.audiencias-v2 .aud-row .td:not(:last-child) .csub,
.audiencias-v2 .aud-row .td:not(:last-child) .trib {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.audiencias-v2 .aud-card { overflow: visible; }
.audiencias-v2 .tl-section { overflow: visible; }
.audiencias-v2 .tl-section .tl-header {
  border-top-left-radius: var(--radius);
  border-top-right-radius: var(--radius);
}
.audiencias-v2 .aud-card .card-accent {
  border-top-left-radius: var(--radius);
  border-top-right-radius: var(--radius);
}
.audiencias-v2 .aud-card .card-foot {
  border-bottom-left-radius: var(--radius);
  border-bottom-right-radius: var(--radius);
}

/* ─── FOCO VISÍVEL (acessibilidade) ───────────────────────────────────── */
/* Linhas/cards/timeline-items/spotlight viraram tabindex="0" role="button"
   em audiencias.js — precisam de indicador de foco tão claro quanto um
   botão de verdade. Vem depois no arquivo de propósito: mesma especificidade
   das regras de outline:0 acima (ex.: .fsearch input), então precisa vencer
   pela ordem de declaração. */
.audiencias-v2 button:focus-visible,
.audiencias-v2 input:focus-visible,
.audiencias-v2 select:focus-visible,
.audiencias-v2 a:focus-visible,
.audiencias-v2 [tabindex]:focus-visible {
  outline: 2px solid var(--info);
  outline-offset: 2px;
  border-radius: 4px;
}
.audiencias-v2 .aud-row:focus-visible,
.audiencias-v2 .aud-card:focus-visible,
.audiencias-v2 .tl-item:focus-visible,
.audiencias-v2 .spotlight:focus-visible {
  outline: 2px solid var(--info);
  outline-offset: -2px;
  box-shadow: 0 0 0 4px oklch(0.64 0.13 245 / 0.16);
  border-radius: var(--radius-sm);
}
.audiencias-v2 .row-check:focus-visible {
  outline: 2px solid var(--info);
  outline-offset: 2px;
}

/* ─── RESPONSIVE ──────────────────────────────────────────────────────── */
@media (max-width: 1100px) {
  .audiencias-v2 .kpis { grid-template-columns: repeat(2, 1fr); }
  .audiencias-v2 .kpi:nth-child(n+3) { border-top: 1px solid var(--hero-border); }
  .audiencias-v2 .list-head,
  .audiencias-v2 .aud-row {
    grid-template-columns: 40px 128px minmax(0, 1fr) 100px 100px 48px;
  }
  .audiencias-v2 .list-wrap.no-select .list-head,
  .audiencias-v2 .list-wrap.no-select .aud-row {
    grid-template-columns: 8px 128px minmax(0, 1fr) 100px 100px 48px;
  }
  .audiencias-v2 .col-hide-md { display: none !important; }
  .audiencias-v2 .tl-item {
    grid-template-columns: 58px minmax(0, 1fr) 100px 48px;
  }
  .audiencias-v2 .tl-item .col-hide-md { display: none !important; }
}
@media (max-width: 640px) {
  .audiencias-v2 .hero { padding: 18px 18px 16px; }
  .audiencias-v2 .hero h1 { font-size: 22px; }
  .audiencias-v2 .kpis { grid-template-columns: repeat(2, 1fr); }
  .audiencias-v2 .cards-grid { grid-template-columns: 1fr; }
  .audiencias-v2 .list-head,
  .audiencias-v2 .aud-row {
    grid-template-columns: 40px minmax(0, 1fr) 100px 48px;
  }
  .audiencias-v2 .list-wrap.no-select .list-head,
  .audiencias-v2 .list-wrap.no-select .aud-row {
    grid-template-columns: 8px minmax(0, 1fr) 100px 48px;
  }
  .audiencias-v2 .col-hide-sm { display: none !important; }
}

/* ═══════════════════════════════════════════════════════════════════════
   Modal v2 — Audiência (edição em index.html + detalhes em audiencias.js)
   Handoff: Acordly Audiências.html (EditModal + DetailModal)
   ═══════════════════════════════════════════════════════════════════════ */

.audiencia-modal-v2,
.audiencia-detail-v2 {
  background: rgba(10, 11, 13, 0.4);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  padding: 20px;
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
}

/* ─── Modal de edição (index.html) ─────────────────────────── */
.audiencia-modal-v2 .am-modal {
  background: var(--bg-elev, #ffffff);
  border: 1px solid var(--border, #e5e7eb);
  border-radius: var(--radius-lg, 18px);
  width: 100%;
  max-width: 720px;
  max-height: 90vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 32px 80px rgba(0, 0, 0, 0.18);
  animation: am-rise 0.2s cubic-bezier(.2,.7,.2,1);
}
@keyframes am-rise {
  from { transform: translateY(8px); opacity: 0; }
  to   { transform: translateY(0);   opacity: 1; }
}
.audiencia-modal-v2 .am-head {
  padding: 18px 20px;
  border-bottom: 1px solid var(--border, #e5e7eb);
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  flex-shrink: 0;
}
.audiencia-modal-v2 .am-eyebrow {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10px;
  letter-spacing: 0.12em;
  color: var(--text-3, #9ca3af);
  text-transform: uppercase;
  margin: 0 0 4px;
}
.audiencia-modal-v2 .am-title {
  font-family: 'Inter Tight', 'Inter', sans-serif;
  font-size: 17px; font-weight: 600; letter-spacing: -0.01em;
  color: var(--text, #111827); margin: 0;
}
.audiencia-modal-v2 .am-subtitle {
  font-size: 12.5px; color: var(--text-2, #6b7280); margin: 4px 0 0;
}
.audiencia-modal-v2 .am-head-actions { display: flex; gap: 8px; align-items: center; }
.audiencia-modal-v2 .am-btn-ghost {
  padding: 6px; background: transparent; border: 1px solid transparent;
  color: var(--text-2, #6b7280); border-radius: var(--radius-sm, 8px); cursor: pointer;
}
.audiencia-modal-v2 .am-btn-ghost:hover { background: var(--bg-soft, #f3f4f6); color: var(--text, #111827); }

/* Padroniza inputs dentro do form, mantendo classes Tailwind como fallback */
.audiencia-modal-v2 .am-form label { font-size: 11.5px; font-weight: 500; color: var(--text-2, #6b7280); }
.audiencia-modal-v2 .am-form input,
.audiencia-modal-v2 .am-form select,
.audiencia-modal-v2 .am-form textarea {
  padding: 8px 10px !important;
  border: 1px solid var(--border, #e5e7eb) !important;
  border-radius: var(--radius-sm, 8px) !important;
  font-size: 13px !important;
  color: var(--text, #111827);
  background: var(--bg-elev, #ffffff) !important;
  box-shadow: none !important;
}
.audiencia-modal-v2 .am-form input:focus,
.audiencia-modal-v2 .am-form select:focus,
.audiencia-modal-v2 .am-form textarea:focus {
  border-color: var(--text-2, #6b7280) !important;
  outline: 0;
  box-shadow: 0 0 0 3px oklch(0.64 0.13 245 / 0.18);
}
.audiencia-modal-v2 .am-btn-ghost:focus-visible,
.audiencia-modal-v2 .am-cat-btn:focus-visible,
.audiencia-detail-v2 .ad-action:focus-visible,
.audiencia-detail-v2 .ad-close:focus-visible,
.audiencia-detail-v2 .ad-endereco-link:focus-visible,
.audiencia-detail-v2 .ad-cta-link:focus-visible {
  outline: 2px solid var(--info, #3b82f6);
  outline-offset: 2px;
}

/* ─── Modal de detalhes ─────────────────────────────────────── */
.audiencia-detail-v2 .ad-modal {
  background: var(--bg-elev, #ffffff);
  border: 1px solid var(--border, #e5e7eb);
  border-radius: var(--radius-lg, 18px);
  width: 100%;
  max-width: 640px;
  max-height: 90vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 32px 80px rgba(0, 0, 0, 0.18);
  animation: am-rise 0.2s cubic-bezier(.2,.7,.2,1);
}
.audiencia-detail-v2 .ad-head {
  padding: 18px 20px;
  border-bottom: 1px solid var(--border, #e5e7eb);
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  flex-shrink: 0;
}
.audiencia-detail-v2 .ad-eyebrow {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10px;
  letter-spacing: 0.12em;
  color: var(--text-3, #9ca3af);
  text-transform: uppercase;
  margin: 0 0 4px;
}
.audiencia-detail-v2 .ad-title {
  font-family: 'Inter Tight', 'Inter', sans-serif;
  font-size: 17px; font-weight: 600; letter-spacing: -0.01em;
  color: var(--text, #111827); margin: 0;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.audiencia-detail-v2 .ad-chips {
  display: flex; gap: 8px; align-items: center; margin-top: 6px; flex-wrap: wrap;
}
.audiencia-detail-v2 .ad-status-chip {
  font-size: 10.5px; font-weight: 600;
  padding: 3px 9px; border-radius: 999px;
  font-family: 'JetBrains Mono', monospace;
  text-transform: uppercase; letter-spacing: 0.05em;
  background: var(--bg-soft, #f3f4f6); color: var(--text-2, #6b7280);
}
.audiencia-detail-v2 .ad-status-agendada   { background: color-mix(in oklab, var(--info, #3b82f6) 14%, transparent); color: oklch(0.42 0.13 245); }
.audiencia-detail-v2 .ad-status-confirmada { background: color-mix(in oklab, var(--positive, #10b981) 15%, transparent); color: oklch(0.42 0.14 155); }
.audiencia-detail-v2 .ad-status-realizada  { background: var(--bg-soft, #f3f4f6); color: var(--text-2, #6b7280); }
.audiencia-detail-v2 .ad-status-adiada     { background: color-mix(in oklab, var(--accent, #f59e0b) 18%, transparent); color: oklch(0.45 0.14 75); }
.audiencia-detail-v2 .ad-status-cancelada  { background: color-mix(in oklab, var(--danger, #ef4444) 14%, transparent); color: oklch(0.45 0.18 25); }
.audiencia-detail-v2 .ad-modalidade {
  font-size: 11.5px; color: var(--text-2, #6b7280);
}
.audiencia-detail-v2 .ad-head-actions { display: flex; gap: 6px; align-items: center; }
.audiencia-detail-v2 .ad-action {
  padding: 7px 12px; font-size: 12.5px; font-weight: 500;
  border: 1px solid var(--border, #e5e7eb);
  border-radius: var(--radius-sm, 8px);
  background: var(--bg-elev, #ffffff);
  color: var(--text, #111827);
  cursor: pointer;
  transition: background 0.12s ease;
}
.audiencia-detail-v2 .ad-action:hover { background: var(--bg-soft, #f9fafb); }
.audiencia-detail-v2 .ad-action-primary {
  background: var(--text, #111827); color: #fff; border-color: var(--text, #111827);
}
.audiencia-detail-v2 .ad-action-primary:hover { background: #000; }
.audiencia-detail-v2 .ad-close {
  padding: 6px; border: 0; background: transparent;
  color: var(--text-2, #6b7280); border-radius: var(--radius-sm, 8px); cursor: pointer;
}
.audiencia-detail-v2 .ad-close:hover { background: var(--bg-soft, #f3f4f6); color: var(--text, #111827); }

@media (max-width: 560px) {
  .audiencia-detail-v2 .ad-head,
  .audiencia-modal-v2 .am-head { flex-direction: column; align-items: stretch; }
}

/* ── V5 MODAL REFINEMENTS (shared utilities) ── */
.audiencia-detail-v2 .modal-section-label,
.audiencia-modal-v2 .modal-section-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px; font-weight: 600; color: var(--text-3, #9ca3af);
  text-transform: uppercase; letter-spacing: 0.12em;
  padding: 14px 0 8px;
  border-bottom: 1px solid var(--border, #e5e7eb);
  margin-bottom: 4px;
}
.audiencia-detail-v2 .detail-section {
  display: flex; flex-direction: column; gap: 10px;
}
.audiencia-detail-v2 .detail-section-header {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px; font-weight: 600; color: var(--text-3, #9ca3af);
  text-transform: uppercase; letter-spacing: 0.1em;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--border, #e5e7eb);
}
.audiencia-detail-v2 .detail-field-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 10px;
}
.audiencia-detail-v2 .dfield2 .lbl {
  font-size: 10px; font-weight: 600; color: var(--text-3, #9ca3af);
  text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 3px;
}
.audiencia-detail-v2 .dfield2 .val {
  font-size: 13px; color: var(--text-2, #6b7280);
  overflow: hidden; text-overflow: ellipsis;
}
.audiencia-modal-v2 .tab-indicator {
  display: flex; gap: 0; padding: 0 20px;
  border-bottom: 1px solid var(--border, #e5e7eb);
  background: var(--bg-soft, #f9fafb);
}
.audiencia-modal-v2 .tab-btn {
  padding: 10px 14px; font-size: 12.5px; font-weight: 500;
  color: var(--text-3, #9ca3af);
  border: 0; border-bottom: 2px solid transparent;
  cursor: pointer; background: none;
  transition: color 0.12s ease, border-color 0.12s ease;
  white-space: nowrap;
}
.audiencia-modal-v2 .tab-btn:hover { color: var(--text-2, #6b7280); }
.audiencia-modal-v2 .tab-btn.on {
  color: var(--text, #111827);
  border-bottom-color: var(--text, #111827);
}
.audiencia-modal-v2 .field input:focus,
.audiencia-modal-v2 .field select:focus,
.audiencia-modal-v2 .field textarea:focus {
  border-color: var(--text-2, #6b7280);
  box-shadow: 0 0 0 3px rgba(10, 11, 13, 0.06);
  outline: 0;
}

/* Alerta de audiências não confirmadas (v5) */
.audiencia-alerta-nao-confirmada {
  display: flex; align-items: flex-start; gap: 12px;
  padding: 12px 16px; margin-bottom: 10px;
  border-radius: var(--radius-sm, 8px);
  border: 1px solid oklch(0.64 0.2 25 / 0.3);
  background: oklch(0.64 0.2 25 / 0.05);
  animation: rise 380ms cubic-bezier(0.16, 1, 0.3, 1) both;
}
.audiencia-alerta-nao-confirmada .aanc-icon {
  width: 32px; height: 32px; border-radius: 8px;
  background: oklch(0.64 0.2 25 / 0.12);
  color: var(--danger, #ef4444);
  display: grid; place-items: center; flex-shrink: 0;
}
.audiencia-alerta-nao-confirmada .aanc-body { flex: 1; min-width: 0; }
.audiencia-alerta-nao-confirmada .aanc-title {
  font-size: 13px; font-weight: 600; color: var(--text, #111827);
}
.audiencia-alerta-nao-confirmada .aanc-desc {
  font-size: 11.5px; color: var(--text-2, #6b7280); margin-top: 2px;
}
.audiencia-alerta-nao-confirmada .aanc-chip {
  font-size: 11px; font-weight: 500; padding: 3px 8px;
  border-radius: 6px;
  border: 1px solid oklch(0.64 0.2 25 / 0.3);
  background: oklch(0.64 0.2 25 / 0.08);
  color: var(--danger, #ef4444);
  cursor: pointer;
}

/* ─────────────────────────────────────────────────────────────
   PERÍCIA — Segmented control no modal + badges/pills
   ───────────────────────────────────────────────────────────── */

/* Segmented control Audiência | Perícia (no topo do modal) */
.audiencia-modal-v2 .am-cat-wrapper { margin-bottom: 4px; }
.audiencia-modal-v2 .am-cat-seg {
  display: inline-flex;
  margin-top: 8px;
  padding: 4px;
  background: #f3f4f6;
  border-radius: 14px;
  border: 1px solid #e5e7eb;
  gap: 2px;
}
.audiencia-modal-v2 .am-cat-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 9px 18px;
  font-size: 13px; font-weight: 600;
  color: #6b7280;
  border: 0; border-radius: 10px;
  background: transparent;
  cursor: pointer;
  transition: all 160ms cubic-bezier(0.16, 1, 0.3, 1);
}
.audiencia-modal-v2 .am-cat-btn:hover { color: #374151; }
.audiencia-modal-v2 .am-cat-btn.on {
  background: #ffffff;
  color: #111827;
  box-shadow: 0 1px 3px rgba(0,0,0,0.08), 0 1px 2px rgba(0,0,0,0.04);
}
.audiencia-modal-v2 .am-cat-btn[data-categoria="pericia"].on {
  background: #7c3aed;
  color: #ffffff;
  box-shadow: 0 2px 8px rgba(124, 58, 237, 0.35);
}
.audiencia-modal-v2 .am-cat-btn[data-categoria="pericia"].on svg { stroke: #ffffff; }

/* Pill PERÍCIA nos cards / lista / timeline */
.cat-pill-pericia {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 10px; font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 3px 8px;
  border-radius: 6px;
  background: linear-gradient(135deg, #7c3aed, #9333ea);
  color: #ffffff;
  box-shadow: 0 1px 4px rgba(124, 58, 237, 0.35);
  white-space: nowrap;
}
.cat-pill-audiencia {
  display: inline-flex; align-items: center;
  font-size: 10px; font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 3px 8px;
  border-radius: 6px;
  background: #f3f4f6;
  color: #6b7280;
  white-space: nowrap;
}

/* Card accent roxo quando perícia */
.aud-card.cat-pericia .card-accent {
  background: linear-gradient(180deg, #7c3aed, #9333ea) !important;
}
.aud-card.cat-pericia .card-date .d-day,
.aud-card.cat-pericia .card-date .d-mon { color: #6d28d9; }

/* Linha da lista quando perícia: borda esquerda roxa sutil */
.aud-row.cat-pericia { border-left: 3px solid #7c3aed; }

/* Chip "Perícias" ativa: roxo distintivo (mantém o mesmo .fchip dos demais) */
.audiencias-v2 .filters .fchip.cat-chip.cat-pericia-on {
  background: #7c3aed;
  color: #ffffff;
  border-color: #7c3aed;
  box-shadow: 0 2px 6px rgba(124, 58, 237, 0.3);
}
.audiencias-v2 .filters .fchip.cat-chip.cat-pericia-on .count {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.18);
}

/* Chips dos filtros não quebram texto internamente */
.audiencias-v2 .filters .fchip { white-space: nowrap; }

/* Detalhes: eyebrow roxo quando perícia */
.audiencia-detail-v2 .ad-eyebrow.cat-pericia { color: #7c3aed; }

/* ═══════════════════════════════════════════════════════════════════════
   Modal de detalhes no CELULAR (jul/2026)
   O modal era 100% desktop: título do cliente cortado por ellipsis, padding
   de 32px comendo a tela, grid de 2 colunas espremido e o textarea gigante
   de "correspondente" empurrando data/local/link para fora da primeira tela.
   No celular a ordem útil é: quando → onde (endereço/link) → resto.
   ═══════════════════════════════════════════════════════════════════════ */
@media (max-width: 640px) {
  /* Vira bottom sheet: nasce colado embaixo, onde o polegar alcança */
  .audiencia-detail-v2 {
    padding: 0;
    align-items: flex-end;
  }
  .audiencia-detail-v2 .ad-modal {
    max-width: 100%;
    /* dvh acompanha a barra do navegador que aparece/some ao rolar */
    max-height: 92dvh;
    border-radius: 20px 20px 0 0;
    border-bottom: 0;
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }

  /* O nome do cliente é o que o advogado abriu para ver — não cortar */
  .audiencia-detail-v2 .ad-title {
    white-space: normal;
    overflow: visible;
    font-size: 18px;
    line-height: 1.25;
  }
  .audiencia-detail-v2 .ad-head { padding: 16px 16px 14px; }
  /* O .ad-head vira coluna em <=560px (regra antiga), então as ações precisam
     ocupar a largura toda: Editar cresce, fechar fica um quadrado no canto. */
  .audiencia-detail-v2 .ad-head-actions {
    gap: 8px;
    width: 100%;
    margin-top: 12px;
  }
  .audiencia-detail-v2 .ad-action,
  .audiencia-detail-v2 .ad-close {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .audiencia-detail-v2 .ad-action { flex: 1; font-size: 14px; }
  .audiencia-detail-v2 .ad-close { flex: 0 0 44px; width: 44px; }

  .audiencia-detail-v2 .ad-body { padding: 16px !important; }

  /* Reordena sem mexer no DOM (desktop segue igual).
     Quem não tem classe fica no meio (order 5), nunca no topo. */
  .audiencia-detail-v2 .ad-sections {
    display: flex;
    flex-direction: column;
    gap: 22px;
  }
  .audiencia-detail-v2 .ad-sections > * { order: 5; margin-top: 0 !important; }
  .audiencia-detail-v2 .ad-sec-quando   { order: 1; }
  .audiencia-detail-v2 .ad-sec-onde     { order: 2; }
  .audiencia-detail-v2 .ad-sec-corresp  { order: 9; }

  /* Duas colunas em 300px de largura vira ilegível */
  .audiencia-detail-v2 .detail-field-grid { grid-template-columns: 1fr; }

  /* O texto do correspondente não precisa tomar meia tela para ser copiado */
  .audiencia-detail-v2 #ad-corresp-text { min-height: 120px !important; }
  .audiencia-detail-v2 .ad-sec-corresp { padding: 16px !important; }

  /* Link da videoconferência: alvo de toque de verdade */
  .audiencia-detail-v2 .ad-cta-link {
    display: flex;
    justify-content: center;
    min-height: 48px;
    font-size: 15px !important;
    border-radius: 12px;
  }
}

/* Endereço clicável (abre o mapa) — vale em qualquer tamanho de tela.
   Vira um "chip" com fundo sutil para parecer um alvo de toque de verdade,
   não só um link sublinhado perdido no meio do texto. */
.audiencia-detail-v2 .ad-endereco-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  text-decoration: none;
  color: var(--text-2, #6b7280);
  background: var(--bg-soft, #f3f4f6);
  border: 1px solid var(--border, #e5e7eb);
  border-radius: 10px;
  padding: 7px 11px;
  margin-top: 6px;
  transition: background var(--dur-fast, 120ms) ease, border-color var(--dur-fast, 120ms) ease, color var(--dur-fast, 120ms) ease;
}
.audiencia-detail-v2 .ad-endereco-link:hover {
  color: #1d4ed8;
  background: color-mix(in oklab, #3b82f6 8%, var(--bg-soft, #f3f4f6));
  border-color: color-mix(in oklab, #3b82f6 30%, var(--border, #e5e7eb));
}
@media (max-width: 640px) {
  /* No celular o alvo de toque precisa dos 44px mínimos recomendados —
     o resto (fundo, borda, raio) já vem do estilo base acima. */
  .audiencia-detail-v2 .ad-endereco-link {
    min-height: 44px;
    padding: 10px 12px;
  }
}

/* ═══════════════════════════════════════════════════════════════════════
   Timeline no CELULAR (jul/2026)
   A timeline é a visão padrão, mas só tinha breakpoint até 1100px. Num
   telefone de 375px sobravam ~139px para nome + tipo + CNJ, então o nome do
   cliente — que é onde se toca para abrir os detalhes — ficava ilegível.
   Solução: joga o status para uma 2ª linha e devolve a largura ao nome.
   ═══════════════════════════════════════════════════════════════════════ */
@media (max-width: 640px) {
  .audiencias-v2 .tl-item {
    /* 58px (era 52) para caber "08:00 DF" sem quebrar a sigla de linha */
    grid-template-columns: 58px minmax(0, 1fr) 40px;
    grid-template-rows: auto auto;
    align-items: center;
    gap: 4px 10px;
    padding: 12px;
    min-height: 60px;
  }
  /* Filhos 3 e 4 são .col-hide-md (display:none), então não ocupam célula.
     Visíveis, em ordem: hora, bloco do nome, status, menu. */
  .audiencias-v2 .tl-item > *:nth-child(1) { grid-column: 1; grid-row: 1; }
  .audiencias-v2 .tl-item > *:nth-child(2) { grid-column: 2; grid-row: 1; }
  .audiencias-v2 .tl-item > *:nth-child(5) { grid-column: 2; grid-row: 2; justify-self: start; }
  .audiencias-v2 .tl-item > *:nth-child(6) { grid-column: 3; grid-row: 1; }

  /* O nome do cliente é o alvo do toque — não pode sair cortado.
     Deixa usar até 2 linhas em vez do ellipsis de uma linha do desktop. */
  .audiencias-v2 .tl-name {
    font-size: 15px;
    line-height: 1.3;
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  /* CNJ é longo e não tem espaço para quebrar — deixa quebrar em qualquer ponto */
  .audiencias-v2 .tl-sub {
    font-size: 11.5px;
    line-height: 1.35;
    white-space: normal;
    overflow-wrap: anywhere;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .audiencias-v2 .tl-time { font-size: 13px; white-space: nowrap; }
  .audiencias-v2 .hora-uf { font-size: 9px; margin-left: 2px; }
  .audiencias-v2 .hora-local { font-size: 10.5px; }

  /* Alvo de toque do menu de 3 pontos */
  .audiencias-v2 .qa-dots {
    min-width: 40px;
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  /* Feedback de toque na linha inteira (no celular não existe :hover) */
  .audiencias-v2 .tl-item:active,
  .audiencias-v2 .aud-row:active,
  .audiencias-v2 .aud-card:active { background: var(--bg-soft); }
}

/* ─── Onde a audiência acontece ────────────────────────────────
   Tribunal, vara e endereço são três campos para uma informação só.
   A vara é a pergunta; tribunal e endereço são a resposta que o
   sistema já sabe dar — ficam recolhidos, como confirmação editável,
   em vez de três caixas vazias pedindo o mesmo três vezes. */
.audiencia-modal-v2 .am-onde {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.audiencia-modal-v2 .am-onde-derivados {
  border: 1px solid var(--border, #E7E5E4);
  border-radius: 16px;
  background: var(--bg-soft, #F4F4F2);
  padding: 14px 16px 16px;
}
.audiencia-modal-v2 .am-onde-nota {
  margin: 0 0 10px;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-3, #A8A29E);
}
.audiencia-modal-v2 .am-onde-grid {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) minmax(0, 1.6fr);
  gap: 14px;
  align-items: start;
}
/* Dentro do bloco recolhido os campos são secundários: fundo do cartão,
   não do formulário, para o olho ir primeiro na vara. */
.audiencia-modal-v2 .am-onde-derivados input,
.audiencia-modal-v2 .am-onde-derivados textarea {
  background: var(--bg-elev, #FFFFFF);
}
@media (max-width: 640px) {
  .audiencia-modal-v2 .am-onde-grid { grid-template-columns: 1fr; }
}

/* Spotlight dentro do hero escuro (11/09/2026) */
.audiencias-v2 .hero .spotlight { margin-top: 14px; background: rgba(255,255,255,.05); border-color: var(--hero-border-2, #2A2B30); color: var(--hero-text, #FAFAF9); border-radius: var(--radius); }
.audiencias-v2 .hero .spotlight:hover { background: rgba(255,255,255,.09); box-shadow: none; border-color: rgba(255,255,255,.28); }
.audiencias-v2 .hero .spotlight .spotlight-name { color: var(--hero-text, #FAFAF9); }
.audiencias-v2 .hero .spotlight .spotlight-tag, .audiencias-v2 .hero .spotlight .spotlight-count-unit, .audiencias-v2 .hero .spotlight .spotlight-sub, .audiencias-v2 .hero .spotlight .spotlight-meta { color: var(--hero-text-2, #A8A29E); }
.audiencias-v2 .hero .spotlight .spotlight-count-num { color: var(--hero-text, #FAFAF9); }

/* ==== /css/calculadora-prazos.css ==== */
/* ═════════════════════════════════════════════════════════════════════════
   Acordly — Calculadora de Prazos (redesign visual)
   Namespace: .cp-*  (evita colisão com Tailwind/CSS legado)
   Reutiliza os tokens globais de /css/design-tokens.css.
   Ferramenta de propósito único: entrada mínima, resultado gigante,
   memória de cálculo expansível, ação de criar tarefa óbvia.
   ═════════════════════════════════════════════════════════════════════════ */

.cp {
  --cp-shadow: 0 1px 2px rgba(10, 11, 13, 0.04), 0 8px 24px -12px rgba(10, 11, 13, 0.10);
  --cp-shadow-lg: 0 4px 12px rgba(10, 11, 13, 0.06), 0 24px 48px -20px rgba(10, 11, 13, 0.22);
  --cp-focus: var(--info);

  font-family: 'Inter', system-ui, sans-serif;
  color: var(--text);
  max-width: 1180px;
  margin: 0 auto;
  padding: 20px 20px 48px;
  box-sizing: border-box;
}
.cp *, .cp *::before, .cp *::after { box-sizing: border-box; }
.cp button { font: inherit; }
.cp .hidden { display: none; }

.cp :focus-visible {
  outline: 2px solid var(--cp-focus);
  outline-offset: 2px;
  border-radius: var(--radius-xs);
}

/* ── Header ─────────────────────────────────────────────────────────────── */

.cp-head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 20px;
}
.cp-head-icon {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border-radius: var(--radius);
  background: var(--hero-bg);
  color: var(--hero-text);
  display: flex;
  align-items: center;
  justify-content: center;
}
.cp-head-icon svg { width: 22px; height: 22px; }
.cp-title {
  font-family: 'Inter Tight', 'Inter', system-ui, sans-serif;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--text);
  margin: 0;
  line-height: 1.2;
}
.cp-subtitle {
  font-size: 13px;
  color: var(--text-2);
  margin: 3px 0 0;
}

/* ── Layout ─────────────────────────────────────────────────────────────── */

.cp-layout {
  display: grid;
  grid-template-columns: minmax(0, 340px) minmax(0, 1fr);
  gap: 20px;
  align-items: start;
}
.cp-col-input, .cp-col-result {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
}

@media (max-width: 900px) {
  .cp-layout { grid-template-columns: 1fr; }
}

/* ── Card base ──────────────────────────────────────────────────────────── */

.cp-card {
  background: var(--bg-elev);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  box-shadow: var(--cp-shadow);
  padding: 18px;
}
.cp-card-title {
  font-size: 11.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-3);
  margin: 0 0 12px;
}

/* ── Form fields ────────────────────────────────────────────────────────── */

.cp-form { display: flex; flex-direction: column; gap: 16px; }

.cp-field { display: flex; flex-direction: column; gap: 6px; }
.cp-label {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--text-2);
}
.cp-input {
  width: 100%;
  min-height: 44px;
  border: 1.5px solid var(--border);
  background: var(--bg);
  border-radius: var(--radius-sm);
  padding: 0 12px;
  font-size: 14.5px;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-feature-settings: "tnum";
  color: var(--text);
  transition: border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
  appearance: none;
  -webkit-appearance: none;
}
.cp-select {
  font-family: 'Inter', system-ui, sans-serif;
  font-feature-settings: normal;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2357534E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  padding-right: 34px;
}
.cp-input:hover { border-color: var(--border-strong); }
.cp-input:focus {
  outline: none;
  border-color: var(--cp-focus);
  box-shadow: 0 0 0 3px oklch(0.64 0.13 245 / 0.15);
}

.cp-custom {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-top: 4px;
  border-top: 1px dashed var(--border);
  animation: cp-fade var(--dur-slow) var(--ease-out);
}

/* Segmented control (dias úteis / corridos) */
.cp-segmented {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
  background: var(--bg-soft);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 3px;
}
.cp-seg-opt {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  border-radius: calc(var(--radius-sm) - 3px);
  font-size: 12.5px;
  font-weight: 600;
  color: var(--text-2);
  cursor: pointer;
  transition: color var(--dur) var(--ease);
}
.cp-seg-opt input {
  position: absolute;
  inset: 0;
  opacity: 0;
  margin: 0;
  cursor: pointer;
}
.cp-seg-opt:has(input:checked) {
  background: var(--bg-elev);
  color: var(--text);
  box-shadow: 0 1px 2px rgba(10, 11, 13, 0.10);
}
.cp-seg-opt:has(input:focus-visible) {
  outline: 2px solid var(--cp-focus);
  outline-offset: 2px;
}

/* ── Toggles (switches para dobrar / recesso) ──────────────────────────── */

.cp-toggles {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-top: 4px;
  border-top: 1px solid var(--border);
}
.cp-toggle {
  display: grid;
  grid-template-columns: 40px 1fr;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  padding: 6px 4px;
  border-radius: var(--radius-sm);
  transition: background var(--dur) var(--ease);
}
.cp-toggle:hover { background: var(--bg-soft); }
.cp-toggle input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}
.cp-switch {
  position: relative;
  width: 40px;
  height: 24px;
  border-radius: 999px;
  background: var(--border-strong);
  transition: background var(--dur) var(--ease);
  flex-shrink: 0;
}
.cp-switch::after {
  content: '';
  position: absolute;
  top: 3px;
  left: 3px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
  transition: transform var(--dur) var(--ease);
}
.cp-toggle input:checked + .cp-switch { background: var(--positive); }
.cp-toggle input:checked + .cp-switch::after { transform: translateX(16px); }
.cp-toggle input:focus-visible + .cp-switch { outline: 2px solid var(--cp-focus); outline-offset: 2px; }

.cp-toggle-copy { display: flex; flex-direction: column; gap: 1px; line-height: 1.3; }
.cp-toggle-copy strong { font-size: 13px; color: var(--text); font-weight: 600; }
.cp-toggle-copy em { font-size: 11.5px; color: var(--text-3); font-style: normal; }

/* ── Botão primário ─────────────────────────────────────────────────────── */

.cp-btn-primary {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 50px;
  border-radius: var(--radius);
  border: none;
  background: var(--hero-bg);
  color: var(--hero-text);
  font-size: 14.5px;
  font-weight: 700;
  letter-spacing: -0.01em;
  cursor: pointer;
  transition: transform var(--dur-fast) var(--ease), background var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
  box-shadow: 0 1px 2px rgba(10, 11, 13, 0.15);
}
.cp-btn-primary svg { width: 17px; height: 17px; }
.cp-btn-primary:hover { background: var(--hero-bg-2); box-shadow: 0 6px 16px -6px rgba(10, 11, 13, 0.35); }
.cp-btn-primary:active { transform: scale(0.985); }

/* ── Legenda ────────────────────────────────────────────────────────────── */

.cp-legend summary {
  cursor: pointer;
  font-size: 11.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-3);
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.cp-legend summary::-webkit-details-marker { display: none; }
.cp-legend summary::after {
  content: '';
  width: 8px;
  height: 8px;
  border-right: 1.5px solid var(--text-3);
  border-bottom: 1.5px solid var(--text-3);
  transform: rotate(45deg);
  transition: transform var(--dur) var(--ease);
  margin-left: 8px;
}
.cp-legend[open] summary::after { transform: rotate(225deg); }
.cp-legend-grid {
  margin-top: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 12.5px;
  color: var(--text-2);
}
.cp-legend-grid > div { display: flex; align-items: center; gap: 9px; }
.cp-dot { width: 12px; height: 12px; border-radius: 4px; flex-shrink: 0; display: inline-block; }
.cp-dot--pub { background: var(--info); }
.cp-dot--fatal { background: var(--danger); }
.cp-dot--count { background: var(--positive-soft); border: 1px solid var(--positive); }
.cp-dot--off { background: var(--bg-soft); border: 1px solid var(--border-strong); }
.cp-dot--recess { background: var(--purple-soft); border: 1px solid var(--purple); }

/* ── Estado vazio ───────────────────────────────────────────────────────── */

.cp-empty {
  min-height: 260px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cp-empty-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
  padding: 24px 12px;
  color: var(--text-3);
}
.cp-empty-inner svg { width: 44px; height: 44px; opacity: 0.7; }
.cp-empty-inner p { font-size: 13px; max-width: 26ch; margin: 0; line-height: 1.5; }

/* ── Resultado — o herói da tela ───────────────────────────────────────── */

@keyframes cp-pop {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes cp-fade {
  from { opacity: 0; }
  to { opacity: 1; }
}

.cp-hero {
  background: var(--hero-bg);
  color: var(--hero-text);
  border-radius: var(--radius-lg);
  padding: 28px 24px 24px;
  box-shadow: var(--cp-shadow-lg);
  position: relative;
  overflow: hidden;
  animation: cp-pop var(--dur-slow) var(--ease-out);
}
.cp-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(600px 260px at 85% -15%, oklch(0.64 0.13 245 / 0.14), transparent 65%);
  pointer-events: none;
}
.cp-hero > * { position: relative; }

.cp-hero-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 6px;
}
.cp-hero-eyebrow {
  font-size: 11.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  color: var(--hero-text-3);
}
.cp-copy-btn {
  width: 32px;
  height: 32px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--hero-border-2);
  background: transparent;
  color: var(--hero-text-2);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background var(--dur) var(--ease), color var(--dur) var(--ease);
}
.cp-copy-btn:hover { background: var(--hero-border); color: var(--hero-text); }
.cp-copy-btn svg { width: 15px; height: 15px; }

.cp-hero-date {
  font-family: 'Inter Tight', 'Inter', system-ui, sans-serif;
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1;
  font-size: clamp(2.6rem, 5.4vw + 1rem, 4.6rem);
  font-feature-settings: "tnum";
  word-break: keep-all;
}
.cp-hero-weekday {
  margin-top: 8px;
  font-size: 15px;
  color: var(--hero-text-2);
  font-weight: 500;
}

.cp-hero-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 22px;
}
.cp-stat {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--hero-border-2);
  border-radius: var(--radius);
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.cp-stat-value {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-feature-settings: "tnum";
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.cp-stat-label {
  font-size: 11.5px;
  color: var(--hero-text-3);
}
.cp-stat.cp-tone-danger .cp-stat-value { color: #F87171; }
.cp-stat.cp-tone-warning .cp-stat-value { color: #FCD34D; }
.cp-stat.cp-tone-positive .cp-stat-value { color: #4ADE80; }

.cp-hero-details {
  margin: 18px 0 0;
  padding-top: 14px;
  border-top: 1px solid var(--hero-border);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.cp-hero-details > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  font-size: 12.5px;
}
.cp-hero-details dt { color: var(--hero-text-3); margin: 0; flex-shrink: 0; }
.cp-hero-details dd { color: var(--hero-text); margin: 0; font-weight: 500; text-align: right; }
.cp-flag {
  font-size: 11px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 999px;
}
.cp-flag--accent { background: rgba(252, 211, 77, 0.14); color: #FCD34D; }
.cp-flag--info { background: rgba(96, 165, 250, 0.14); color: #60A5FA; }

.cp-btn-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 48px;
  margin-top: 20px;
  border: none;
  border-radius: var(--radius);
  background: var(--positive);
  color: #06210F;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: -0.01em;
  cursor: pointer;
  transition: filter var(--dur) var(--ease), transform var(--dur-fast) var(--ease);
}
.cp-btn-cta svg { width: 17px; height: 17px; }
.cp-btn-cta:hover { filter: brightness(1.08); }
.cp-btn-cta:active { transform: scale(0.985); }

/* ── Memória de cálculo ─────────────────────────────────────────────────── */

.cp-memoria summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: baseline;
  gap: 8px;
  font-size: 11.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-3);
}
.cp-memoria summary::-webkit-details-marker { display: none; }
.cp-memoria summary::before {
  content: '▸';
  font-size: 10px;
  transition: transform var(--dur) var(--ease);
  display: inline-block;
}
.cp-memoria[open] summary::before { transform: rotate(90deg); }
.cp-memoria-hint {
  font-size: 11px;
  font-weight: 500;
  text-transform: none;
  letter-spacing: normal;
  color: var(--text-3);
  opacity: 0.75;
}
.cp-memoria > div { margin-top: 14px; }

.cp-resumo {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 6px;
}
.cp-resumo-chip {
  display: flex;
  align-items: baseline;
  gap: 6px;
  padding: 7px 11px;
  border-radius: 999px;
  font-size: 12px;
  background: var(--bg-soft);
  border: 1px solid var(--border);
}
.cp-resumo-num { font-family: 'JetBrains Mono', ui-monospace, monospace; font-weight: 700; font-size: 13px; }
.cp-resumo-label { color: var(--text-2); }
.cp-resumo-chip.cp-tone-positive { background: var(--positive-soft); border-color: transparent; }
.cp-resumo-chip.cp-tone-positive .cp-resumo-num { color: color-mix(in oklch, var(--positive) 70%, black); }
.cp-resumo-chip.cp-tone-info { background: var(--purple-soft); border-color: transparent; }
.cp-resumo-chip.cp-tone-info .cp-resumo-num { color: var(--purple); }
.cp-resumo-chip.cp-tone-muted { background: var(--bg-soft); }
.cp-resumo-chip.cp-tone-neutral { background: transparent; border-style: dashed; }
.cp-resumo-nota { font-size: 12px; color: var(--text-3); margin: 6px 0 14px; font-style: italic; }

/* Calendário */
.cp-cal-months {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  overflow-x: auto;
  padding-bottom: 4px;
}
.cp-cal-month { flex-shrink: 0; }
.cp-cal-month-title {
  font-size: 11.5px;
  font-weight: 700;
  color: var(--text-2);
  text-align: center;
  margin-bottom: 6px;
}
.cp-cal-table { border-collapse: collapse; }
.cp-cal-table th {
  font-size: 10px;
  font-weight: 600;
  color: var(--text-3);
  width: 26px;
  padding-bottom: 3px;
}
.cp-cal-table td { padding: 1px; text-align: center; }
.cp-cal-day {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 22px;
  border-radius: 6px;
  font-size: 11px;
  color: var(--text-3);
}
.cp-cal-day--pub { background: var(--info); color: #fff; font-weight: 700; }
.cp-cal-day--fatal { background: var(--danger); color: #fff; font-weight: 700; }
.cp-cal-day--count { background: var(--positive-soft); color: color-mix(in oklch, var(--positive) 60%, black); }
.cp-cal-day--off { background: var(--bg-soft); color: var(--text-3); }
.cp-cal-day--recess { background: var(--purple-soft); color: var(--purple); text-decoration: line-through; }
.cp-cal-day--muted { color: var(--text-3); opacity: 0.45; }

/* ── Histórico ──────────────────────────────────────────────────────────── */

.cp-empty-hist { font-size: 12.5px; color: var(--text-3); font-style: italic; margin: 0; }
.cp-hist-list { display: flex; flex-direction: column; gap: 6px; }
.cp-hist-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border-radius: var(--radius-sm);
  background: var(--bg-soft);
  transition: background var(--dur) var(--ease);
}
.cp-hist-row:hover { background: var(--border); }
.cp-hist-main { min-width: 0; flex: 1; }
.cp-hist-tipo {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cp-hist-meta { font-size: 11px; color: var(--text-3); margin-top: 1px; }
.cp-hist-end { flex-shrink: 0; text-align: right; }
.cp-hist-data {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-feature-settings: "tnum";
  font-size: 12.5px;
  font-weight: 700;
  color: var(--text);
}
.cp-hist-pill {
  display: inline-block;
  margin-top: 3px;
  font-size: 10.5px;
  font-weight: 600;
  padding: 1px 7px;
  border-radius: 999px;
}
.cp-hist-pill.cp-tone-danger { background: var(--danger-soft); color: color-mix(in oklch, var(--danger) 75%, black); }
.cp-hist-pill.cp-tone-warning { background: var(--warning-soft); color: color-mix(in oklch, var(--warning) 60%, black); }
.cp-hist-pill.cp-tone-positive { background: var(--positive-soft); color: color-mix(in oklch, var(--positive) 65%, black); }

.cp-link-danger {
  margin-top: 12px;
  background: none;
  border: none;
  padding: 0;
  font-size: 11.5px;
  color: var(--text-3);
  cursor: pointer;
  transition: color var(--dur) var(--ease);
}
.cp-link-danger:hover { color: var(--danger); }

/* ═════════════════════════════════════════════════════════════════════════
   Responsivo — 1440 desktop / 768 tablet / 375 mobile, sem scroll horizontal
   ═════════════════════════════════════════════════════════════════════════ */

@media (min-width: 1200px) {
  .cp { padding-top: 28px; }
  .cp-layout { grid-template-columns: 360px 1fr; gap: 24px; }
}

@media (max-width: 768px) {
  .cp { padding: 16px 16px 40px; }
  .cp-head { margin-bottom: 16px; }
  .cp-title { font-size: 19px; }
  .cp-card { padding: 16px; border-radius: var(--radius); }
  .cp-hero { padding: 22px 18px 20px; border-radius: var(--radius); }
  .cp-hero-date { font-size: clamp(2.25rem, 9vw, 3rem); }
  .cp-hero-stats { grid-template-columns: 1fr 1fr; gap: 8px; }
}

@media (max-width: 480px) {
  .cp { padding: 12px 12px 36px; }
  .cp-head { gap: 10px; }
  .cp-head-icon { width: 38px; height: 38px; }
  .cp-head-icon svg { width: 19px; height: 19px; }
  .cp-title { font-size: 17px; }
  .cp-subtitle { font-size: 12px; }
  .cp-layout { gap: 14px; }
  .cp-col-input, .cp-col-result { gap: 12px; }
  .cp-hero-date { font-size: clamp(2rem, 11vw, 2.6rem); }
  .cp-hero-details > div { flex-wrap: wrap; }
  .cp-hero-details dd { text-align: left; }
  .cp-stat-value { font-size: 19px; }
  .cp-btn-primary, .cp-btn-cta { min-height: 48px; font-size: 14px; }
  .cp-cal-day { width: 22px; height: 20px; font-size: 10px; }
}

/* ── Seletor de Justiça (12/09/2026) ───────────────────────────────────────
   Cinco regimes de prazo: trabalhista, vara federal, JEF, estadual e INSS
   administrativo. Quem só faz trabalhista usa o primeiro e ignora o resto. */
.cp .cp-regimes { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; }
@media (max-width: 620px) { .cp .cp-regimes { grid-template-columns: repeat(3, 1fr); } }
.cp .cp-reg {
  display: flex; flex-direction: column; align-items: center; gap: 2px;
  padding: 9px 6px; border: 1px solid var(--cp-border, #E2E8F0); border-radius: 10px;
  cursor: pointer; background: var(--cp-surface, #fff); text-align: center; position: relative;
  transition: border-color .15s, background .15s;
}
.cp .cp-reg input { position: absolute; opacity: 0; pointer-events: none; }
.cp .cp-reg b { font-size: 12.5px; font-weight: 600; color: var(--cp-text, #0F172A); letter-spacing: .01em; }
.cp .cp-reg span { font-size: 10.5px; line-height: 1.25; color: var(--cp-text-muted, #64748B); }
.cp .cp-reg:hover { border-color: var(--cp-accent, #1D4ED8); }
.cp .cp-reg.on { border-color: var(--cp-accent, #1D4ED8); background: var(--cp-accent-soft, #EFF6FF); box-shadow: 0 0 0 2px var(--cp-accent-ring, #BFDBFE); }
.cp .cp-reg:focus-within { outline: 2px solid var(--cp-accent, #1D4ED8); outline-offset: 2px; }
.cp .cp-hint { margin: 7px 0 0; font-size: 11.5px; line-height: 1.4; color: var(--cp-text-muted, #64748B); }
.cp .cp-toggle--off { opacity: .45; }
.cp .cp-toggle--off .cp-switch { cursor: not-allowed; }

/* ==== /css/inss.css ==== */
/* =============================================================
   Acordly — aba INSS (requerimentos administrativos)
   Segue o MESMO padrão do Inbox DJE v3 (public/css/dje-v3.css):
   mesmas medidas de hero, título, KPI, botão, chip e busca. Se um
   dia o padrão mudar lá, muda aqui junto — o produto tem um
   desenho só. Tokens em design-tokens.css; tudo isolado sob `.inss`.
   ============================================================= */

.inss {
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 13.5px;
  line-height: 1.45;
  color: var(--text);
  background: var(--bg);
  margin: -16px -16px 0;
  min-height: calc(100vh - 60px);
}
.inss *, .inss *::before, .inss *::after { box-sizing: border-box; }
.inss button { font: inherit; cursor: pointer; border: 0; background: none; color: inherit; padding: 0; }
.inss input, .inss select, .inss textarea { font: inherit; }
.inss svg { width: 14px; height: 14px; flex-shrink: 0; }
.inss .mono { font-family: 'JetBrains Mono', ui-monospace, monospace; font-variant-numeric: tabular-nums; }
.inss h1, .inss h2, .inss h3, .inss p, .inss ul { margin: 0; }

@keyframes inss-pulse { 0% { box-shadow: 0 0 0 0 oklch(0.72 0.14 155 / .5); } 70% { box-shadow: 0 0 0 6px oklch(0.72 0.14 155 / 0); } 100% { box-shadow: 0 0 0 0 oklch(0.72 0.14 155 / 0); } }
@keyframes inss-in { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }

/* ===== HERO ===== */
.inss .inss-hero {
  background: var(--hero-bg);
  color: var(--hero-text);
  padding: 22px 28px 20px;
  border-bottom: 1px solid var(--hero-border);
  position: relative;
  overflow: hidden;
}
.inss .inss-hero::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(680px 260px at 84% -10%, oklch(0.72 0.14 240 / .07), transparent 60%);
  pointer-events: none;
}
.inss .inss-hero > * { position: relative; }
.inss .inss-hero-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.inss .inss-eyebrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px; font-weight: 500;
  color: var(--hero-text-3);
  text-transform: uppercase; letter-spacing: .12em;
  display: flex; align-items: center; gap: 7px;
}
.inss .inss-pulse { width: 6px; height: 6px; border-radius: 50%; background: var(--positive); animation: inss-pulse 2.2s infinite; }
.inss .inss-h1 {
  font-family: 'Inter Tight', 'Inter', sans-serif;
  font-size: 26px; font-weight: 600; letter-spacing: -.025em;
  margin: 6px 0 0; line-height: 1.1;
}
.inss .inss-sub { font-size: 13px; color: var(--hero-text-2); margin: 6px 0 0; max-width: 680px; line-height: 1.5; }
.inss .inss-hero-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }

/* ===== BOTÕES (idênticos a .dv3-btn-dark / .av3-btn-dark) ===== */
.inss .inss-btn-dark {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 7px 12px; font-size: 12.5px; font-weight: 500;
  background: rgba(255,255,255,.05); color: var(--hero-text);
  border: 1px solid var(--hero-border-2); border-radius: var(--radius-sm);
  transition: background var(--dur), border-color var(--dur);
}
.inss .inss-btn-dark:hover { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.25); }
.inss .inss-btn-dark.icon { padding: 7px 9px; }
.inss .inss-btn-dark.primary { background: var(--accent); color: #0A0B0D; border-color: var(--accent); }
.inss .inss-btn-dark.primary:hover { background: oklch(0.85 0.14 75); }
.inss .inss-btn-dark:disabled { opacity: .6; cursor: progress; }

/* Botão claro, para uso fora do hero (modal e estado vazio) */
.inss .inss-btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 7px 12px; font-size: 12.5px; font-weight: 500;
  background: var(--bg-elev); color: var(--text-2);
  border: 1px solid var(--border); border-radius: var(--radius-sm);
  transition: background var(--dur-fast), border-color var(--dur-fast), color var(--dur-fast);
}
.inss .inss-btn:hover { color: var(--text); border-color: var(--border-strong); }
.inss .inss-btn.primary { background: var(--text); color: var(--bg-elev); border-color: var(--text); }
.inss .inss-btn.primary:hover { filter: brightness(1.15); }
.inss .inss-btn.ghost { color: var(--danger); border-color: transparent; background: transparent; }
.inss .inss-btn.ghost:hover { background: var(--danger-soft); }
.inss .inss-btn:disabled { opacity: .6; cursor: progress; }

/* Ação pequena no cartão — igual a .dv3-act */
.inss .inss-act {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 5px 9px; border-radius: 7px; font-size: 11.5px; font-weight: 500;
  color: var(--text-2); background: var(--bg-elev); border: 1px solid var(--border);
  white-space: nowrap; transition: all var(--dur-fast);
}
.inss .inss-act:hover { color: var(--text); border-color: var(--border-strong); }
.inss .inss-icon { padding: 6px; border-radius: 7px; color: var(--text-3); }
.inss .inss-icon:hover { background: var(--bg-soft); color: var(--text); }

/* ===== KPIs (mesmas medidas do Inbox) ===== */
.inss .inss-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-top: 16px; }
@media (max-width: 900px) { .inss .inss-kpis { grid-template-columns: repeat(2, 1fr); } }
.inss .inss-kpi {
  display: flex; flex-direction: column; align-items: flex-start; gap: 2px;
  padding: 11px 13px; text-align: left;
  border: 1px solid var(--hero-border-2); border-radius: var(--radius-sm);
  background: rgba(255,255,255,.03);
  transition: background var(--dur), border-color var(--dur);
}
.inss .inss-kpi-lbl { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; color: var(--hero-text-3); }
.inss .inss-kpi-val { font-family: 'Inter Tight', 'Inter', sans-serif; font-size: 24px; font-weight: 600; letter-spacing: -.03em; line-height: 1.05; color: var(--hero-text); }
.inss .inss-kpi-foot { font-size: 11px; color: var(--hero-text-2); font-variant-numeric: tabular-nums; }
.inss .inss-kpi.danger .inss-kpi-val { color: oklch(0.75 0.18 25); }
.inss .inss-kpi.warn .inss-kpi-val { color: oklch(0.82 0.15 60); }
.inss .inss-kpi.info .inss-kpi-val { color: oklch(0.78 0.12 245); }

/* ===== CORPO E TOOLBAR ===== */
.inss .inss-body { padding: 16px 28px 40px; }
.inss .inss-toolbar {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  padding: 10px 0 14px;
  position: sticky; top: 0; z-index: 5;
  background: linear-gradient(var(--bg) 85%, transparent);
}
/* Segmented control, igual ao do Inbox */
.inss .inss-segs { display: inline-flex; gap: 2px; padding: 3px; border: 1px solid var(--border); border-radius: 999px; background: var(--bg-elev); }
.inss .inss-seg {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 5px 12px; border-radius: 999px; font-size: 12.5px; font-weight: 500; color: var(--text-2);
  transition: background var(--dur-fast), color var(--dur-fast);
}
.inss .inss-seg:hover { color: var(--text); }
.inss .inss-seg.on { background: var(--text); color: var(--bg-elev); }
.inss .inss-seg i { font-style: normal; font-family: 'JetBrains Mono', monospace; font-size: 10.5px; opacity: .7; }
.inss .inss-search {
  display: flex; align-items: center; gap: 7px;
  flex: 1 1 220px; min-width: 180px; max-width: 360px;
  padding: 0 11px; height: 34px;
  border: 1px solid var(--border); border-radius: 999px; background: var(--bg-elev); color: var(--text-3);
  transition: border-color var(--dur-fast), box-shadow var(--dur-fast);
}
.inss .inss-search:focus-within { border-color: var(--border-strong); box-shadow: 0 0 0 3px rgba(0,0,0,.04); }
.inss .inss-search input { flex: 1; min-width: 0; border: 0; outline: 0; background: none; font-size: 13px; color: var(--text); }

/* ===== LISTA ===== */
.inss .inss-lista { display: flex; flex-direction: column; }
.inss .inss-card {
  display: flex; flex-direction: column; gap: 5px;
  padding: 11px 14px; border-bottom: 1px solid var(--border);
  cursor: pointer; position: relative;
  transition: background var(--dur-fast);
  animation: inss-in var(--dur) both;
}
.inss .inss-card:hover { background: var(--bg-soft); }
.inss .inss-card.vencido::before {
  content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
  background: var(--danger);
}
.inss .inss-card-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.inss .inss-card-id { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; min-width: 0; }
.inss .inss-card-id b { font-size: 13.5px; font-weight: 600; }
.inss .inss-mono { font-family: 'JetBrains Mono', monospace; font-size: 10.5px; color: var(--text-3); font-variant-numeric: tabular-nums; }
.inss .inss-card-meta { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; font-size: 11.5px; color: var(--text-3); font-variant-numeric: tabular-nums; }
.inss .inss-sep { opacity: .4; }

/* Etiqueta de situação — mesma medida do .dv3-chip */
.inss .inss-status {
  display: inline-flex; align-items: center;
  font-family: 'JetBrains Mono', monospace; font-size: 10px; font-weight: 600;
  padding: 2px 7px; border-radius: 5px; white-space: nowrap; letter-spacing: .01em;
  color: var(--text-2); background: var(--bg-soft); border: 1px solid var(--border);
}
.inss .inss-tom-info { color: oklch(0.45 0.13 245); background: var(--info-soft, oklch(0.95 0.03 245)); border-color: oklch(0.70 0.13 245 / .35); }
.inss .inss-tom-warn { color: oklch(0.45 0.15 55); background: var(--orange-soft); border-color: oklch(0.70 0.18 50 / .4); }
.inss .inss-tom-ok { color: oklch(0.42 0.12 155); background: var(--positive-soft, oklch(0.94 0.05 155)); border-color: oklch(0.68 0.14 155 / .35); }
.inss .inss-tom-bad, .inss .inss-tom-danger { color: oklch(0.45 0.18 25); background: var(--danger-soft); border-color: oklch(0.64 0.20 25 / .35); }
.inss .inss-tom-neutro { color: var(--text-3); background: var(--bg-soft); border-color: var(--border); }

/* Faixa de prazo: a linha que faz a pessoa agir */
.inss .inss-prazo {
  display: flex; align-items: center; gap: 8px;
  margin-top: 3px; padding: 7px 10px; border-radius: 7px; font-size: 12px;
  border: 1px solid transparent;
}
.inss .inss-prazo > div { display: flex; flex-direction: column; gap: 1px; min-width: 0; flex: 1; }
.inss .inss-prazo b { font-weight: 600; }
.inss .inss-prazo span { font-size: 11.5px; opacity: .85; font-variant-numeric: tabular-nums; }
.inss .inss-prazo em {
  font-style: normal; font-family: 'JetBrains Mono', monospace; font-size: 10px;
  opacity: .55; text-align: right; flex-shrink: 0; max-width: 220px;
}
@media (max-width: 760px) { .inss .inss-prazo em { display: none; } }

.inss .inss-vazio {
  display: flex; flex-direction: column; align-items: center; gap: 7px;
  padding: 48px 24px; text-align: center;
}
.inss .inss-vazio h3 { font-family: 'Inter Tight', 'Inter', sans-serif; font-size: 16px; font-weight: 600; }
.inss .inss-vazio p { font-size: 12.5px; color: var(--text-3); max-width: 440px; line-height: 1.5; }
.inss .inss-vazio .inss-btn { margin-top: 6px; }

/* ===== MODAL =====
   O id termina em "-modal" e o conteúdo fica num <form>, então o modal cai
   automaticamente no padrão global de public/css/padrao-modais.css: campos,
   rótulos e os botões do rodapé em pílula, iguais aos de Acordos, Clientes e
   Tarefas. As regras abaixo só desenham o que o padrão global não cobre
   (moldura, blocos por situação, checklist) e servem de reserva. */
.inss .inss-modal { position: fixed; inset: 0; z-index: 60; display: flex; align-items: center; justify-content: center; padding: 20px; }
.inss .inss-modal[hidden] { display: none; }
.inss .inss-modal-bg { position: absolute; inset: 0; background: rgba(8,10,14,.5); backdrop-filter: blur(2px); }
.inss .inss-modal-box {
  position: relative; width: min(700px, 100%); max-height: 90vh; overflow: auto;
  background: var(--bg-elev); border: 1px solid var(--border); border-radius: 14px;
  box-shadow: 0 24px 60px rgba(0,0,0,.24);
}
.inss .inss-modal-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 18px; border-bottom: 1px solid var(--border);
  position: sticky; top: 0; background: var(--bg-elev); z-index: 1;
}
.inss .inss-modal-head h2 { font-family: 'Inter Tight', 'Inter', sans-serif; font-size: 16px; font-weight: 600; letter-spacing: -.02em; }
.inss .inss-form { padding: 14px 18px 18px; display: flex; flex-direction: column; gap: 12px; }
.inss .inss-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
@media (max-width: 620px) { .inss .inss-grid { grid-template-columns: 1fr; } }
.inss .inss-f { display: flex; flex-direction: column; gap: 4px; }
.inss .inss-f--wide { grid-column: 1 / -1; }
.inss .inss-f > span { font-size: 11.5px; font-weight: 500; color: var(--text-3); }
.inss .inss-f input, .inss .inss-f select, .inss .inss-f textarea {
  padding: 7px 10px; font-size: 13px; border: 1px solid var(--border);
  border-radius: var(--radius-sm); background: var(--bg); color: var(--text); width: 100%;
}
.inss .inss-f input[type="date"], .inss .inss-f input[type="time"], .inss .inss-f input[type="number"],
.inss .inss-f input[name="nb"], .inss .inss-f input[name="cpf"], .inss .inss-f input[name="processoCNJ"] {
  font-variant-numeric: tabular-nums;
}
.inss .inss-f input:focus, .inss .inss-f select:focus, .inss .inss-f textarea:focus {
  outline: 0; border-color: var(--border-strong); box-shadow: 0 0 0 3px rgba(0,0,0,.04);
}
.inss .inss-cond { border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 11px 13px 12px; margin: 0; }
.inss .inss-cond[hidden] { display: none; }
.inss .inss-cond legend { font-size: 11.5px; font-weight: 600; color: var(--text-2); padding: 0 6px; }

/* `.inss .inss-f{display:flex}` vence o atributo hidden — quem esconde um
   campo precisa desta linha para valer. */
.inss .inss-f[hidden] { display: none !important; }
.inss .inss-nota { font-size: 11.5px; color: var(--text-3); margin-top: 8px; line-height: 1.45; }
.inss .inss-docs { border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 11px 13px; background: var(--bg-soft); }
.inss .inss-docs[hidden] { display: none; }
.inss .inss-docs b { font-size: 11.5px; }
.inss .inss-docs ul { margin-top: 5px; padding-left: 17px; font-size: 11.5px; color: var(--text-3); }
.inss .inss-docs li { margin-bottom: 2px; }
.inss .inss-modal-foot {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  border-top: 1px solid var(--border); margin-top: 2px; padding-top: 12px;
}
.inss .inss-foot-dir { display: flex; gap: 8px; margin-left: auto; }

/* ===== Preencher pelo documento do INSS (IA) ===== */
.inss .inss-ia { margin: 0 18px; padding: 11px 13px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--bg-soft); }
.inss .inss-ia-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.inss .inss-ia-head b { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 600; }
.inss .inss-ia-box[hidden] { display: none; }
.inss .inss-ia-box { margin-top: 9px; display: flex; flex-direction: column; gap: 8px; }
.inss .inss-ia-box textarea {
  width: 100%; padding: 8px 10px; font-size: 12.5px; line-height: 1.45;
  border: 1px solid var(--border); border-radius: var(--radius-sm);
  background: var(--bg); color: var(--text); resize: vertical;
}
.inss .inss-ia-box textarea:focus { outline: 0; border-color: var(--border-strong); box-shadow: 0 0 0 3px rgba(0,0,0,.04); }
.inss .inss-ia-acoes { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.inss .inss-ia-status { font-size: 11.5px; color: var(--text-3); flex: 1; min-width: 200px; line-height: 1.4; }

/* ===== Mobile ===== */
@media (max-width: 720px) {
  .inss .inss-hero { padding: 18px 14px 16px; }
  .inss .inss-body { padding: 12px 12px 40px; }
  .inss .inss-toolbar { position: static; }
  .inss .inss-search { max-width: none; flex-basis: 100%; }
  .inss .inss-ia { margin: 0 14px; }
  .inss .inss-form { padding: 12px 14px 16px; }
}

/* Ações do cartão: aparecem sempre no toque, e no hover no computador. */
.inss .inss-card-acoes { display: flex; align-items: center; gap: 6px; flex-shrink: 0; }
@media (hover: hover) {
  .inss .inss-card-acoes [data-inss-acao="tarefa"],
  .inss .inss-card-acoes [data-inss-acao="avisar"] { opacity: 0; transition: opacity var(--dur-fast); }
  .inss .inss-card:hover .inss-card-acoes [data-inss-acao],
  .inss .inss-card:focus-within .inss-card-acoes [data-inss-acao] { opacity: 1; }
}

/* Documentos enviados pelo cliente (portal) */
.inss .inss-doc-item { display: flex; align-items: baseline; gap: 8px; padding: 4px 0; list-style: none; }
.inss .inss-doc-baixar { all: unset; cursor: pointer; font: 500 12.5px/1.3 Inter, system-ui, sans-serif; color: var(--text); text-decoration: underline; text-decoration-color: var(--border); text-underline-offset: 3px; }
.inss .inss-doc-baixar:hover { text-decoration-color: var(--text); }
.inss .inss-doc-item:not(.is-ok) .inss-doc-baixar::before { content: ""; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: oklch(0.72 0.17 65); margin-right: 6px; vertical-align: 2px; }

/* ── Esteira do caso (funil por fase) ─────────────────────────────────────── */
.inss .inss-funil {
  display: flex; gap: 6px; overflow-x: auto; padding: 2px 0 10px;
  scrollbar-width: thin;
}
.inss .inss-fase {
  all: unset; box-sizing: border-box; cursor: pointer;
  display: flex; flex-direction: column; gap: 2px; align-items: flex-start;
  min-width: 104px; padding: 9px 12px;
  border: 1px solid var(--border); border-radius: var(--radius-sm);
  background: var(--bg-soft); transition: border-color .12s ease, background .12s ease;
}
.inss .inss-fase:hover { border-color: var(--text-3); }
.inss .inss-fase:focus-visible { outline: 2px solid var(--text); outline-offset: -2px; }
.inss .inss-fase.on { background: var(--text); border-color: var(--text); }
.inss .inss-fase.on .inss-fase-n, .inss .inss-fase.on .inss-fase-l { color: #fff; }
.inss .inss-fase-n {
  font-family: 'JetBrains Mono', monospace; font-weight: 600; font-size: 17px;
  color: var(--text); font-variant-numeric: tabular-nums; line-height: 1.1;
}
.inss .inss-fase-l { font-size: 11px; color: var(--text-2); white-space: nowrap; }
.inss .inss-fase-tag {
  font-family: 'JetBrains Mono', monospace; font-size: 9.5px; letter-spacing: .1em;
  text-transform: uppercase; color: var(--text-3);
  border: 1px solid var(--border); border-radius: 4px; padding: 1px 5px;
}

/* ── Seleção e trabalho em lote ───────────────────────────────────────────── */
.inss .inss-check { display: inline-flex; align-items: center; cursor: pointer; }
.inss .inss-check input { width: 15px; height: 15px; accent-color: var(--text); cursor: pointer; margin: 0; }
.inss .inss-card.sel { border-color: var(--text); background: var(--bg-soft); }
.inss .inss-lote {
  position: sticky; top: 8px; z-index: 5;
  display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap;
  padding: 10px 14px; margin-bottom: 10px;
  background: var(--text); color: #fff; border-radius: var(--radius-sm);
  box-shadow: 0 8px 24px -12px rgba(0,0,0,.4);
}
.inss .inss-lote-n { font-size: 12.5px; font-weight: 600; }
.inss .inss-lote-acoes { display: flex; gap: 6px; flex-wrap: wrap; }
.inss .inss-lote .inss-act {
  border-color: rgba(255,255,255,.28); color: #fff; background: rgba(255,255,255,.08);
}
.inss .inss-lote .inss-act:hover { background: rgba(255,255,255,.18); border-color: rgba(255,255,255,.45); }

/* ── Rodapé da lista ──────────────────────────────────────────────────────── */
.inss .inss-rodape {
  display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap;
  padding: 12px 2px 4px; border-top: 1px dashed var(--border); margin-top: 12px;
}
.inss .inss-rodape > span {
  font-family: 'JetBrains Mono', monospace; font-size: 11px; color: var(--text-3);
  font-variant-numeric: tabular-nums;
}
.inss .inss-rodape-acoes { display: flex; gap: 8px; flex-wrap: wrap; }
@media (max-width: 720px) {
  .inss .inss-fase { min-width: 92px; padding: 8px 10px; }
  .inss .inss-lote { position: static; }
}

/* ── Dependentes e checklist marcável ─────────────────────────────────────── */
.inss .inss-dep {
  display: grid; grid-template-columns: 1.6fr 1fr .9fr 1fr 28px; gap: 6px;
  align-items: center; margin-bottom: 6px;
}
.inss .inss-dep input, .inss .inss-dep select {
  width: 100%; padding: 7px 9px; font: 400 12.5px/1.3 Inter, system-ui, sans-serif;
  border: 1px solid var(--border); border-radius: 7px; background: #fff; color: var(--text);
}
.inss .inss-dep input:focus, .inss .inss-dep select:focus { outline: 2px solid var(--text); outline-offset: -1px; }
.inss .inss-doc-chk { display: flex; gap: 7px; align-items: flex-start; cursor: pointer; }
.inss .inss-doc-chk input { margin-top: 2px; accent-color: var(--text); cursor: pointer; }
.inss .inss-doc-chk input:checked + span { color: var(--text-3); text-decoration: line-through; }
@media (max-width: 720px) {
  .inss .inss-dep { grid-template-columns: 1fr 1fr; }
  .inss .inss-dep .inss-icon { justify-self: end; }
}

/* ==== /css/configuracoes-redesign.css ==== */
/* =============================================================
   Acordly — Aba "Configurações" (redesign AAA, nível Linear/Stripe)
   Escopado sob `.cfg` para não colidir com Tailwind/CSS legado.
   Reutiliza os tokens globais de /css/design-tokens.css (--bg, --text,
   --positive, --danger, --accent, --radius, --ease, --dur…).
   ============================================================= */

.cfg {
  --cfg-amber-text: oklch(0.42 0.13 70);
  --cfg-amber-bg: oklch(0.86 0.10 75 / 0.14);
  --cfg-amber-border: oklch(0.78 0.14 75 / 0.35);
  --cfg-danger-bg: oklch(0.64 0.20 25 / 0.05);
  --cfg-danger-border: oklch(0.64 0.20 25 / 0.22);
  --cfg-blue-text: oklch(0.50 0.15 250);

  display: block;
  width: 100%;
  max-width: none;
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  font-size: 13.5px;
  line-height: 1.45;
  color: var(--text, #0A0B0D);
  animation: cfg-fade var(--dur-slow, 380ms) var(--ease, ease-out);
}
.cfg *, .cfg *::before, .cfg *::after { box-sizing: border-box; }
.cfg button { font: inherit; cursor: pointer; color: inherit; }
.cfg input { font: inherit; }
.cfg a { color: inherit; }
.cfg .mono { font-family: 'JetBrains Mono', ui-monospace, monospace; font-feature-settings: "tnum"; }

@keyframes cfg-fade { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }

/* Foco visível consistente em todo elemento interativo */
.cfg button:focus-visible,
.cfg a:focus-visible,
.cfg input:focus-visible {
  outline: 2px solid var(--info, oklch(0.64 0.13 245));
  outline-offset: 2px;
  border-radius: var(--radius-xs, 6px);
}

/* ===== HERO ===== */
.cfg-hero {
  background: var(--hero-bg, #0A0B0D);
  color: var(--hero-text, #FAFAF9);
  border-radius: var(--radius-lg, 18px);
  padding: 22px 26px;
  margin-bottom: 24px;
  position: relative;
  overflow: hidden;
  border: 1px solid var(--hero-border, #1F2024);
}
.cfg-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(600px 240px at 85% -20%, oklch(0.78 0.14 75 / 0.08), transparent 60%);
  pointer-events: none;
}
.cfg-hero > * { position: relative; }
.cfg-eyebrow {
  font-family: 'Inter Tight', sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 10.5px;
  font-weight: 600;
  color: var(--hero-text-3, #6B6965);
  margin: 0 0 6px;
}
.cfg-hero h1 {
  font-family: 'Inter Tight', sans-serif;
  font-size: clamp(22px, 2.6vw, 28px);
  font-weight: 600;
  letter-spacing: -0.02em;
  margin: 0;
  color: var(--hero-text, #FAFAF9);
}
.cfg-hero .cfg-sub {
  margin: 6px 0 0;
  font-size: 13px;
  color: var(--hero-text-2, #A8A29E);
}

/* ===== LAYOUT ===== */
.cfg-body {
  max-width: 720px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.cfg-group-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
  padding: 0 2px;
}
.cfg-group-head h2 {
  font-family: 'Inter Tight', sans-serif;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-2, #57534E);
  margin: 0;
}
.cfg-group-head p {
  font-size: 12px;
  color: var(--text-3, #A8A29E);
  margin: 2px 0 0;
}
.cfg-group-action {
  flex-shrink: 0;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid var(--border, #E7E5E4);
  background: var(--bg-elev, #fff);
  color: var(--text, #0A0B0D);
  font-size: 12px;
  font-weight: 500;
  transition: background var(--dur, 200ms) var(--ease, ease-out), border-color var(--dur, 200ms) var(--ease, ease-out);
}
.cfg-group-action:hover { background: var(--bg-soft, #F4F4F2); border-color: var(--border-strong, #D6D3D1); }

/* ===== CARD ===== */
.cfg-card {
  background: var(--bg-elev, #fff);
  border: 1px solid var(--border, #E7E5E4);
  border-radius: var(--radius, 14px);
  box-shadow: 0 1px 2px rgba(10, 11, 13, 0.03);
  overflow: hidden;
}
.cfg-card + .cfg-card { margin-top: 12px; }

/* ===== ROW (padrão: ícone + label/descrição + controle) ===== */
.cfg-row {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  padding: 14px 18px;
  background: transparent;
  border: 0;
  text-align: left;
  text-decoration: none;
  color: inherit;
  transition: background var(--dur, 200ms) var(--ease, ease-out);
}
.cfg-row:not(:first-child) { border-top: 1px solid var(--border, #E7E5E4); }
button.cfg-row,
a.cfg-row {
  cursor: pointer;
}
button.cfg-row:hover,
a.cfg-row:hover {
  background: var(--bg-soft, #F4F4F2);
}
.cfg-row:focus-visible {
  outline: 2px solid var(--info, oklch(0.64 0.13 245));
  outline-offset: -2px;
}

.cfg-row-icon {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: var(--radius-sm, 8px);
  background: var(--bg-soft, #F4F4F2);
  color: var(--text-2, #57534E);
  display: flex;
  align-items: center;
  justify-content: center;
}
.cfg-row-icon svg { width: 17px; height: 17px; }
.cfg-row-icon--blue { background: var(--info-soft, oklch(0.64 0.13 245 / 0.1)); color: var(--cfg-blue-text); }
.cfg-row-icon--danger { background: var(--danger-soft, oklch(0.64 0.20 25 / 0.1)); color: var(--danger, oklch(0.64 0.20 25)); }

.cfg-row-text { flex: 1; min-width: 0; }
.cfg-row-label {
  font-family: 'Inter Tight', sans-serif;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--text, #0A0B0D);
}
.cfg-row-label span.mono { font-weight: 500; }
.cfg-row-desc {
  font-size: 12.5px;
  color: var(--text-2, #57534E);
  margin-top: 2px;
  line-height: 1.5;
}
.cfg-row-desc code {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  background: var(--bg-soft, #F4F4F2);
  padding: 1px 5px;
  border-radius: 4px;
  font-size: 11px;
}

.cfg-row-control {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
  color: var(--text-3, #A8A29E);
  font-size: 12.5px;
  white-space: nowrap;
}
.cfg-chevron { color: var(--text-3, #A8A29E); flex-shrink: 0; }
.cfg-chevron svg { width: 16px; height: 16px; }

/* ===== BADGES / CHIPS ===== */
.cfg-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 9px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
}
.cfg-badge--positive { background: var(--positive-soft, oklch(0.72 0.14 155 / 0.12)); color: oklch(0.38 0.10 155); }
.cfg-badge--positive .cfg-dot { background: var(--positive, oklch(0.72 0.14 155)); }
.cfg-badge--admin {
  background: var(--cfg-amber-bg);
  color: var(--cfg-amber-text);
  text-transform: uppercase;
  letter-spacing: 0.07em;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
}
.cfg-badge--uf {
  background: var(--bg-soft, #F4F4F2);
  color: var(--text, #0A0B0D);
  font-family: 'JetBrains Mono', monospace;
  font-weight: 600;
}
.cfg-dot { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; }

/* ===== STATUS + STAT STRIP (Alertas) ===== */
.cfg-status-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 18px;
}
.cfg-stat-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--border, #E7E5E4);
}
.cfg-stat {
  text-align: center;
  padding: 12px 6px 14px;
  border-left: 1px solid var(--border, #E7E5E4);
}
.cfg-stat:first-child { border-left: 0; }
.cfg-stat-num {
  font-family: 'Inter Tight', sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: var(--text, #0A0B0D);
  font-feature-settings: "tnum";
}
.cfg-stat-label {
  font-size: 10.5px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-top: 2px;
}
.cfg-stat-label--danger { color: var(--danger, oklch(0.64 0.20 25)); }
.cfg-stat-label--accent { color: oklch(0.52 0.13 70); }
.cfg-stat-label--info { color: var(--cfg-blue-text); }
.cfg-stat-label--positive { color: oklch(0.42 0.11 155); }

/* ===== CONTA ===== */
.cfg-account-row { padding: 18px; display: flex; align-items: center; gap: 16px; }
.cfg-avatar {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--info-soft, oklch(0.64 0.13 245 / 0.12));
  color: var(--cfg-blue-text);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  flex-shrink: 0;
}
.cfg-avatar img { width: 100%; height: 100%; object-fit: cover; }
.cfg-avatar svg { width: 26px; height: 26px; }
.cfg-account-name {
  font-family: 'Inter Tight', sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: var(--text, #0A0B0D);
}
.cfg-account-email { font-size: 13px; color: var(--text-2, #57534E); margin-top: 1px; }
.cfg-account-meta {
  font-size: 11px;
  color: var(--text-3, #A8A29E);
  margin-top: 4px;
  font-family: 'JetBrains Mono', monospace;
}

/* ===== ADMIN ===== */
.cfg-admin-card {
  background: var(--bg-elev, #fff);
  border: 1px solid var(--cfg-amber-border);
  border-radius: var(--radius, 14px);
  box-shadow: 0 1px 2px rgba(10, 11, 13, 0.03);
  overflow: hidden;
}
.cfg-admin-head {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 16px 18px 0;
}
.cfg-admin-head h3 {
  font-family: 'Inter Tight', sans-serif;
  font-size: 14px;
  font-weight: 600;
  margin: 0;
  color: var(--text, #0A0B0D);
}
.cfg-admin-note {
  font-size: 12px;
  color: var(--text-2, #57534E);
  padding: 6px 18px 16px;
  margin: 0;
}
.cfg-admin-body { padding: 0 18px 18px; display: flex; flex-direction: column; gap: 12px; }
.cfg-field-card {
  background: var(--bg-soft, #F4F4F2);
  border: 1px solid var(--border, #E7E5E4);
  border-radius: var(--radius-sm, 8px);
  padding: 14px;
}
.cfg-field-label {
  display: block;
  font-family: 'Inter Tight', sans-serif;
  font-size: 11px;
  font-weight: 600;
  color: var(--text-3, #A8A29E);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 8px;
}
.cfg-field-help { font-size: 11.5px; color: var(--text-2, #57534E); margin: 0 0 10px; }
.cfg-field-row { display: flex; gap: 8px; flex-wrap: wrap; }
.cfg-field-row input {
  flex: 1 1 180px;
  min-width: 0;
  padding: 9px 12px;
  border: 1px solid var(--border, #E7E5E4);
  border-radius: var(--radius-xs, 6px);
  font-size: 13px;
  outline: none;
  background: var(--bg-elev, #fff);
}
.cfg-btn {
  padding: 9px 16px;
  border-radius: var(--radius-xs, 6px);
  border: 1px solid transparent;
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
  transition: background var(--dur, 200ms) var(--ease, ease-out), border-color var(--dur, 200ms) var(--ease, ease-out), opacity var(--dur, 200ms);
}
.cfg-btn--dark { background: var(--text, #0A0B0D); color: #fff; }
.cfg-btn--dark:hover { opacity: 0.88; }
.cfg-btn--dark:disabled { opacity: 0.5; cursor: default; }
.cfg-btn--ghost { background: var(--bg-elev, #fff); border-color: var(--border, #E7E5E4); color: var(--text, #0A0B0D); }
.cfg-btn--ghost:hover { background: var(--bg-soft, #F4F4F2); }
.cfg-btn--ghost:disabled { opacity: 0.5; cursor: default; }
.cfg-result { margin-top: 10px; font-size: 12px; display: none; }

/* ===== DANGER ZONE ===== */
.cfg-danger-card {
  background: var(--cfg-danger-bg);
  border: 1px solid var(--cfg-danger-border);
  border-radius: var(--radius, 14px);
  overflow: hidden;
}
.cfg-danger-card .cfg-row:not(:first-child) { border-top-color: var(--cfg-danger-border); }
.cfg-danger-card button.cfg-row:hover { background: var(--danger-soft, oklch(0.64 0.20 25 / 0.08)); }
.cfg-danger-card .cfg-row-label { color: var(--danger, oklch(0.64 0.20 25)); }

.cfg-footnote {
  font-size: 11.5px;
  color: var(--text-3, #A8A29E);
  margin: 10px 2px 0;
  line-height: 1.6;
}
.cfg-footnote a { color: var(--cfg-blue-text); text-decoration: underline; text-underline-offset: 2px; }

/* ===== SOBRE ===== */
.cfg-about-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 18px;
  font-size: 13px;
}
.cfg-about-row span:first-child { color: var(--text-2, #57534E); }
.cfg-about-row span:last-child { font-family: 'JetBrains Mono', monospace; font-weight: 600; color: var(--text, #0A0B0D); }

/* =============================================================
   RESPONSIVO
   ============================================================= */

/* Tablet (≤768px) */
@media (max-width: 768px) {
  .cfg-hero { padding: 18px 20px; border-radius: var(--radius, 14px); }
  .cfg-body { max-width: 100%; gap: 24px; }
}

/* Mobile (≤480px, cobre o alvo de 375px) */
@media (max-width: 480px) {
  .cfg-hero { padding: 16px 16px; margin-bottom: 18px; }
  .cfg-hero h1 { font-size: 21px; }
  .cfg-hero .cfg-sub { font-size: 12.5px; }

  .cfg-body { gap: 20px; }
  .cfg-group-head { flex-wrap: wrap; }

  .cfg-row { padding: 13px 14px; gap: 11px; }
  .cfg-row-icon { width: 32px; height: 32px; }
  .cfg-row-icon svg { width: 15px; height: 15px; }
  .cfg-row-label { font-size: 13px; }
  .cfg-row-desc { font-size: 12px; }

  .cfg-status-row { flex-wrap: wrap; padding: 13px 14px; }
  .cfg-stat-strip { grid-template-columns: repeat(2, 1fr); }
  .cfg-stat:nth-child(3) { border-left: 0; }
  .cfg-stat:nth-child(1), .cfg-stat:nth-child(2) { border-bottom: 1px solid var(--border, #E7E5E4); }

  .cfg-account-row { padding: 16px 14px; flex-wrap: wrap; }
  .cfg-avatar { width: 48px; height: 48px; }

  .cfg-group-action { width: 100%; text-align: center; }

  .cfg-field-row { flex-direction: column; }
  .cfg-field-row input, .cfg-field-row .cfg-btn { width: 100%; }

  .cfg-about-row { padding: 13px 14px; }
}

/* Garante zero overflow horizontal em qualquer largura */
.cfg, .cfg-body, .cfg-card, .cfg-admin-card, .cfg-danger-card { max-width: 100%; }
.cfg-field-row input { max-width: 100%; }

/* Saúde da conta no hero (11/09/2026) */
.cfg-saude { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 16px; }
.cfg-saude-item { display: inline-flex; align-items: center; gap: 6px; padding: 6px 11px; border-radius: 999px; font-size: 12.5px; color: var(--hero-text-2, #A8A29E); border: 1px solid var(--hero-border-2, #2A2B30); background: rgba(255,255,255,.04); }
.cfg-saude-item b { font-weight: 600; color: var(--hero-text, #FAFAF9); }
.cfg-saude-item b::after { content: ':'; }
.cfg-saude-item.ok { border-color: oklch(0.72 0.14 155 / .45); }
.cfg-saude-item.aviso { color: oklch(0.85 0.12 50); border-color: oklch(0.70 0.18 50 / .45); }
.cfg-saude-item.ruim { color: oklch(0.82 0.14 25); border-color: oklch(0.64 0.20 25 / .45); }
.cfg-saude-link { font: inherit; font-size: 12.5px; font-weight: 600; color: oklch(0.78 0.14 75); background: none; border: 0; cursor: pointer; padding: 6px 4px; }

/* ── Áreas do escritório (12/09/2026) ─────────────────────────────────────
   Trabalhista e previdenciário coexistem: o escritório marca as duas. */
.cfg-areas { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
@media (max-width: 700px) { .cfg-areas { grid-template-columns: 1fr; } }
.cfg-area { position: relative; cursor: pointer; display: block; }
.cfg-area input { position: absolute; opacity: 0; pointer-events: none; }
.cfg-area-box { display: block; padding: 13px 15px; border: 1px solid var(--border, #E2E8F0); border-radius: 10px; background: var(--bg, #fff); transition: border-color .15s, background .15s; }
.cfg-area-box b { display: block; font-size: 14px; font-weight: 600; margin-bottom: 3px; }
.cfg-area-box small { display: block; font-size: 12px; line-height: 1.45; color: var(--text-muted, #64748B); }
.cfg-area input:checked + .cfg-area-box { border-color: var(--accent, #1D4ED8); background: var(--accent-soft, #EFF6FF); box-shadow: 0 0 0 2px var(--accent-ring, #BFDBFE); }
.cfg-area input:disabled + .cfg-area-box { opacity: .8; cursor: default; }
.cfg-area input:focus-visible + .cfg-area-box { outline: 2px solid var(--accent, #1D4ED8); outline-offset: 2px; }
.cfg-nota { font-size: 12px; color: var(--text-muted, #64748B); margin-top: 10px; line-height: 1.45; }

/* ==== /css/assinatura-v3.css ==== */
/* =============================================================
   Acordly — aba Assinatura (v4, 11/09/2026)
   Mesmo padrão das outras abas v3: hero escuro de ponta a ponta,
   blocos largos, texto ≥ 13px. Tokens em design-tokens.css.
   ============================================================= */
.asn {
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: var(--text);
  background: var(--bg);
  margin: -16px -16px 0;
  min-height: calc(100vh - 60px);
}
.asn *, .asn *::before, .asn *::after { box-sizing: border-box; }
.asn button { font: inherit; cursor: pointer; border: 0; background: none; color: inherit; }
.asn svg { width: 15px; height: 15px; flex-shrink: 0; }
.asn h1, .asn h2, .asn h3, .asn p { margin: 0; }
@keyframes asn-pulse { 0% { box-shadow: 0 0 0 0 oklch(0.72 0.14 155 / .5); } 70% { box-shadow: 0 0 0 6px oklch(0.72 0.14 155 / 0); } 100% { box-shadow: 0 0 0 0 oklch(0.72 0.14 155 / 0); } }

/* ── Hero ── */
.asn .asn-hero { background: var(--hero-bg); color: var(--hero-text); padding: 24px 32px 22px; border-bottom: 1px solid var(--hero-border); position: relative; overflow: hidden; }
.asn .asn-hero::before { content: ''; position: absolute; inset: 0; background: radial-gradient(700px 280px at 85% -10%, oklch(0.78 0.14 75 / .07), transparent 60%); pointer-events: none; }
.asn .asn-hero > * { position: relative; }
.asn .asn-hero-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.asn .asn-eyebrow { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--hero-text-3); display: flex; align-items: center; gap: 7px; }
.asn .asn-pulse { width: 6px; height: 6px; border-radius: 50%; background: var(--positive); animation: asn-pulse 2.2s infinite; }
.asn .asn-h1 { font-family: 'Inter Tight', 'Inter', sans-serif; font-size: 28px; font-weight: 600; letter-spacing: -.025em; margin-top: 6px; line-height: 1.1; }
.asn .asn-sub { font-size: 14px; color: var(--hero-text-2); margin-top: 8px; max-width: 720px; }
.asn .asn-sub b { color: var(--hero-text); font-weight: 600; }
.asn .asn-hero-side { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.asn .asn-badge { display: inline-flex; align-items: center; gap: 7px; padding: 6px 12px; border-radius: 999px; font-size: 12.5px; font-weight: 600; border: 1px solid var(--hero-border-2); background: rgba(255,255,255,.05); color: var(--hero-text); }
.asn .asn-badge i { width: 8px; height: 8px; border-radius: 50%; background: var(--hero-text-3); }
.asn .asn-badge[data-state="active"] i, .asn .asn-badge[data-state="trial"] i { background: var(--positive); }
.asn .asn-badge[data-state="canceling"] i, .asn .asn-badge[data-state="past_due"] i { background: var(--orange); }
.asn .asn-badge[data-state="trial_fim"] i, .asn .asn-badge[data-state="canceled"] i { background: oklch(0.72 0.19 25); }

.asn .asn-btn-dark { display: inline-flex; align-items: center; gap: 7px; padding: 9px 14px; font-size: 13.5px; font-weight: 500; background: rgba(255,255,255,.06); color: var(--hero-text); border: 1px solid var(--hero-border-2); border-radius: var(--radius-sm); transition: background var(--dur), border-color var(--dur); }
.asn .asn-btn-dark:hover { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.28); }
.asn .asn-btn-dark.icon { padding: 9px 11px; }
.asn .asn-btn-dark.primary { background: var(--accent); color: #0A0B0D; border-color: var(--accent); }
.asn .asn-btn-dark.primary:hover { background: oklch(0.85 0.14 75); }
.asn .asn-btn-dark.danger { color: oklch(0.82 0.14 25); border-color: oklch(0.64 0.20 25 / .45); }
.asn .asn-btn-dark.danger:hover { background: oklch(0.64 0.20 25 / .15); }

.asn .asn-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-top: 20px; }
.asn .asn-kpi { display: flex; flex-direction: column; gap: 3px; padding: 14px 16px; border: 1px solid var(--hero-border-2); border-radius: var(--radius-sm); background: rgba(255,255,255,.03); min-width: 0; }
.asn .asn-kpi-lbl { font-family: 'JetBrains Mono', monospace; font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--hero-text-3); }
.asn .asn-kpi-val { font-family: 'Inter Tight', 'Inter', sans-serif; font-size: 26px; font-weight: 600; letter-spacing: -.03em; line-height: 1.1; color: var(--hero-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.asn .asn-kpi-val small { font-size: 14px; font-weight: 500; color: var(--hero-text-2); letter-spacing: 0; }
.asn .asn-kpi-foot { font-size: 12.5px; color: var(--hero-text-2); }
.asn .asn-kpi.warn .asn-kpi-val { color: oklch(0.85 0.15 60); }
.asn .asn-kpi.danger .asn-kpi-val { color: oklch(0.78 0.18 25); }
.asn .asn-acoes { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-top: 16px; min-height: 8px; }
.asn .asn-dica { font-size: 13.5px; color: var(--hero-text-2); }
.asn .asn-sync-status { margin-top: 8px; font-size: 12.5px; color: var(--hero-text-3); min-height: 1em; }

/* ── Corpo ── */
.asn .asn-body { padding: 20px 32px 48px; display: flex; flex-direction: column; gap: 18px; }
.asn .asn-card { background: var(--bg-elev); border: 1px solid var(--border); border-radius: var(--radius); padding: 22px 24px; }
.asn .asn-card-head { margin-bottom: 16px; }
.asn .asn-card-head h2 { font-family: 'Inter Tight', 'Inter', sans-serif; font-size: 19px; font-weight: 600; letter-spacing: -.02em; }
.asn .asn-card-head p { font-size: 13.5px; color: var(--text-2); margin-top: 3px; }
.asn .asn-card-head p b { color: var(--text); font-weight: 600; }
.asn .asn-card-head--row { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; flex-wrap: wrap; }

.asn .asn-uso { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.asn .asn-oab-ctl { display: flex; align-items: center; gap: 12px; margin: 8px 0 6px; }
.asn .asn-oab-ctl > b { font-size: 20px; min-width: 24px; text-align: center; font-variant-numeric: tabular-nums; }
.asn .asn-oab-btn { width: 32px; height: 32px; border-radius: 999px; border: 1px solid var(--border); background: var(--bg); font-size: 18px; line-height: 1; cursor: pointer; }
.asn .asn-oab-btn:hover:not(:disabled) { border-color: var(--accent); color: var(--accent); }
.asn .asn-oab-btn:disabled { opacity: .4; cursor: not-allowed; }
.asn .asn-plano-lim small { color: var(--text-muted, #64748B); font-weight: 400; }
.asn .asn-uso-item { padding: 16px 18px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--bg-soft); }
.asn .asn-uso-top { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; font-size: 13.5px; color: var(--text-2); margin-bottom: 9px; }
.asn .asn-uso-top b { font-family: 'Inter Tight', 'Inter', sans-serif; font-size: 22px; font-weight: 600; color: var(--text); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.asn .asn-uso-top b small { font-size: 13px; font-weight: 500; color: var(--text-3); letter-spacing: 0; }
.asn .asn-uso-bar { height: 8px; border-radius: 4px; background: var(--border); overflow: hidden; }
.asn .asn-uso-bar > div { height: 100%; background: var(--positive); transition: width .5s; }
.asn .asn-uso-item.quase .asn-uso-bar > div { background: var(--accent); }
.asn .asn-uso-item.cheio .asn-uso-bar > div { background: var(--danger); }
.asn .asn-uso-item small { display: block; margin-top: 8px; font-size: 12.5px; color: var(--text-3); }
.asn .asn-uso-item.cheio small { color: oklch(0.45 0.18 25); font-weight: 500; }

.asn .asn-ciclo { display: inline-flex; gap: 2px; padding: 3px; border: 1px solid var(--border); border-radius: 999px; background: var(--bg-soft); flex-shrink: 0; }
.asn .asn-ciclo button { font-size: 13.5px; font-weight: 500; padding: 7px 16px; border-radius: 999px; color: var(--text-2); display: inline-flex; align-items: center; gap: 7px; }
.asn .asn-ciclo button small { font-size: 11px; font-weight: 600; padding: 2px 7px; border-radius: 999px; background: var(--positive-soft); color: oklch(0.40 0.12 160); }
.asn .asn-ciclo button.on { background: var(--text); color: var(--bg-elev); }
.asn .asn-ciclo button.on small { background: rgba(255,255,255,.2); color: #fff; }

.asn .asn-planos { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.asn .asn-plano { display: flex; flex-direction: column; padding: 22px 22px 20px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--bg-elev); transition: border-color var(--dur), box-shadow var(--dur); }
.asn .asn-plano:hover { border-color: var(--border-strong); }
.asn .asn-plano.destaque { border-color: var(--text); box-shadow: 0 12px 30px rgba(0,0,0,.08); }
.asn .asn-plano.atual { outline: 2px solid var(--positive); outline-offset: 2px; }
.asn .asn-plano-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.asn .asn-plano-top h3 { font-family: 'Inter Tight', 'Inter', sans-serif; font-size: 18px; font-weight: 600; letter-spacing: -.02em; }
.asn .asn-tag { font-size: 11px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; padding: 3px 9px; border-radius: 999px; background: var(--accent-soft); color: oklch(0.45 0.15 65); white-space: nowrap; }
.asn .asn-tag.atual { background: var(--positive-soft); color: oklch(0.40 0.12 160); }
.asn .asn-plano-preco { margin-top: 14px; display: flex; align-items: baseline; gap: 4px; }
.asn .asn-plano-preco b { font-family: 'Inter Tight', 'Inter', sans-serif; font-size: 36px; font-weight: 600; letter-spacing: -.03em; line-height: 1; }
.asn .asn-plano-preco span { font-size: 14px; color: var(--text-2); }
.asn .asn-plano-eq { font-size: 13px; color: var(--text-3); margin-top: 6px; }
.asn .asn-plano-lim { list-style: none; margin: 16px 0 0; padding: 12px 0 0; border-top: 1px solid var(--border); display: grid; gap: 6px; }
.asn .asn-plano-lim li { font-size: 14px; color: var(--text); }
.asn .asn-plano-lim li b { font-family: 'JetBrains Mono', monospace; font-weight: 600; }
.asn .asn-plano-feat { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 7px; flex: 1; }
.asn .asn-plano-feat li { display: flex; align-items: center; gap: 8px; font-size: 13.5px; color: var(--text-2); }
.asn .asn-plano-feat li svg { color: var(--positive); width: 14px; height: 14px; }
.asn .asn-cta { margin-top: 18px; width: 100%; padding: 12px 16px; border-radius: 999px; font-size: 14px; font-weight: 600; background: var(--bg-soft); color: var(--text); border: 1px solid var(--border-strong); transition: all var(--dur-fast); }
.asn .asn-cta:hover { border-color: var(--text); transform: translateY(-1px); }
.asn .asn-cta.primary { background: var(--text); color: var(--bg-elev); border-color: var(--text); }
.asn .asn-cta.primary:hover { background: #26272B; }
.asn .asn-cta.off { opacity: .55; cursor: default; transform: none; }
.asn .asn-inclui { margin-top: 18px; font-size: 13.5px; color: var(--text-2); line-height: 1.6; padding: 12px 16px; border-radius: var(--radius-sm); background: var(--bg-soft); }
.asn .asn-inclui b { color: var(--text); }

.asn .asn-faq-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px 24px; }
.asn .asn-faq-grid b { display: block; font-size: 14px; font-weight: 600; margin-bottom: 4px; }
.asn .asn-faq-grid p { font-size: 13.5px; color: var(--text-2); }

/* ── Responsivo ── */
@media (max-width: 1100px) { .asn .asn-kpis { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 1200px) { .asn .asn-planos { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 900px) { .asn .asn-planos, .asn .asn-uso { grid-template-columns: 1fr; } .asn .asn-faq-grid { grid-template-columns: 1fr; } }
@media (max-width: 640px) {
  .asn { margin: -12px -12px 0; }
  .asn .asn-hero { padding: 18px 16px 16px; }
  .asn .asn-h1 { font-size: 22px; }
  .asn .asn-hero-head { flex-direction: column; }
  .asn .asn-btn-dark .lbl { display: none; }
  .asn .asn-kpis { grid-template-columns: 1fr 1fr; gap: 8px; }
  .asn .asn-kpi-val { font-size: 21px; }
  .asn .asn-body { padding: 14px 12px 40px; }
  .asn .asn-card { padding: 16px; }
  .asn .asn-plano-preco b { font-size: 30px; }
}
.asn .asn-plano-lim li.off, .asn .asn-plano-feat li.off { color: var(--text-3); }
.asn .asn-plano-feat li.off svg { color: var(--text-3); }

/* Confirmação do teste grátis */
.asn-modal-back { position: fixed; inset: 0; z-index: 1300; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(10,11,13,.6); backdrop-filter: blur(3px); }
.asn-modal { width: 100%; max-width: 480px; background: #fff; color: #0A0B0D; border-radius: 18px; padding: 26px 28px 24px; font-family: 'Inter', system-ui, sans-serif; box-shadow: 0 32px 80px rgba(0,0,0,.3); }
.asn-modal h2 { margin: 6px 0 10px; font-family: 'Inter Tight', 'Inter', sans-serif; font-size: 22px; font-weight: 600; letter-spacing: -.02em; }
.asn-modal p { margin: 0; font-size: 14.5px; line-height: 1.55; }
.asn-modal .asn-cta { margin-top: 20px; }
.asn .asn-cta:disabled { opacity: .5; cursor: progress; transform: none; }

/* ==== /css/layout-largura.css ==== */
/* =============================================================
   Largura e hero de ponta a ponta — padrão único das abas (11/09/2026)
   DJE, Acordos e Assinatura já nascem assim (raiz com margin -16px).
   Aqui as demais entram no mesmo padrão: bloco preto quadrado colado
   nas bordas e conteúdo usando a largura toda. Carregado por último.
   ============================================================= */

/* Heros que eram cartões arredondados → faixa de ponta a ponta */
.audiencias-v2 .hero,
.clientes-v2 .hero,
.dashboard-v2 .hero,
#tasks-root .prz-hero,
.cfg .cfg-hero,
.wfui .wfui-hero,
.cp .cp-hero {
  border-radius: 0 !important;
  margin: -16px -16px 18px !important;
}

/* Contêineres estreitos → largura toda */
.wfui { max-width: none !important; }
.cfg-body { max-width: none !important; }
.cp { max-width: none !important; padding-top: 16px !important; }
.cp .cp-hero { margin: -16px -20px 20px !important; }
.fv3 { margin: -16px -16px 0 !important; }
.fv3 .fv3-content { max-width: none !important; }

/* Configurações: coluna única na largura toda (o grid de 2 colunas quebrava os grupos) */
.cfg-body { max-width: none !important; }

/* Automações: lista em duas colunas quando cabe */
@media (min-width: 1100px) {
  .wfui .wfui-list { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
}

@media (max-width: 640px) {
  .audiencias-v2 .hero, .clientes-v2 .hero, .dashboard-v2 .hero, #tasks-root .prz-hero,
  .cfg .cfg-hero, .wfui .wfui-hero, .cp .cp-hero { margin: -12px -12px 14px !important; }
  .fv3 { margin: -12px -12px 0 !important; }
}

/* ==== /css/padrao-linhas.css ==== */
/* =============================================================
   Padrão único de linhas e cartões (11/09/2026)
   Referência: Inbox DJE v3 e Financeiro v4 — item = cartão branco com
   borda 1px, raio 14, carimbo/hora à esquerda, título 13.5px/600, meta
   12px, ações visíveis no hover. Listas de diretório (Clientes, Equipe em
   lista, Audiências em lista) mantêm o container único com cabeçalho discreto.
   Carregado depois de todos os CSS das abas.
   ============================================================= */

/* ── Tarefas: cada tarefa vira um cartão ── */
#tasks-root .task-row {
  background: var(--bg-elev) !important;
  border: 1px solid var(--border) !important;
  border-left-width: 3px !important;
  border-radius: var(--radius) !important;
  margin-bottom: 6px !important;
  min-height: 60px !important;
  transition: border-color var(--dur-fast), transform var(--dur-fast) !important;
}
#tasks-root .task-row:hover { background: var(--bg-elev) !important; border-color: var(--border-strong) !important; }
#tasks-root .task-row .task-title { font-size: 13.5px !important; font-weight: 600 !important; }
#tasks-root .task-row .task-sub { font-size: 12px !important; color: var(--text-2) !important; }
#tasks-root .task-row .task-qact { opacity: 0; transition: opacity var(--dur-fast); }
#tasks-root .task-row:hover .task-qact, #tasks-root .task-row:focus-within .task-qact { opacity: 1; }

/* ── Audiências: linhas da timeline no mesmo tom; cabeçalho da lista discreto ── */
.audiencias-v2 .tl-section { border-radius: var(--radius) !important; }
.audiencias-v2 .tl-item { padding: 11px 14px !important; }
.audiencias-v2 .tl-item:hover { background: var(--bg-soft) !important; }
.audiencias-v2 .tl-name { font-size: 13.5px !important; font-weight: 600 !important; }
.audiencias-v2 .tl-sub { font-size: 12px !important; color: var(--text-2) !important; }
.audiencias-v2 .list-head, .clientes-v2 .list-head {
  background: transparent !important;
  border-bottom: 1px solid var(--border) !important;
}
.audiencias-v2 .list-head .th, .clientes-v2 .list-head .th {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important; letter-spacing: .08em !important; text-transform: uppercase !important;
  color: var(--text-3) !important; font-weight: 500 !important;
}
.audiencias-v2 .aud-row, .clientes-v2 .client-row { min-height: 56px; transition: background var(--dur-fast); }
.audiencias-v2 .aud-row:hover, .clientes-v2 .client-row:hover { background: var(--bg-soft) !important; }
.clientes-v2 .cname, .audiencias-v2 .cname { font-size: 13.5px !important; font-weight: 600 !important; }
.clientes-v2 .csub, .audiencias-v2 .csub { font-size: 12px !important; color: var(--text-2) !important; }
.clientes-v2 .client-row .q-actions, .audiencias-v2 .aud-row .q-actions { opacity: 0; transition: opacity var(--dur-fast); }
.clientes-v2 .client-row:hover .q-actions, .audiencias-v2 .aud-row:hover .q-actions { opacity: 1; }

/* ── Acordos: cartões já são o padrão; só alinha raio, borda e hover ── */
.av3 .av3-row { border-radius: var(--radius) !important; }
.av3 .av3-row:hover { border-color: var(--border-strong) !important; transform: none !important; }
.av3 .av3-col-cliente-nome { font-size: 13.5px !important; font-weight: 600 !important; }
.av3 .av3-col-acoes { opacity: 0; transition: opacity var(--dur-fast); }
.av3 .av3-row:hover .av3-col-acoes, .av3 .av3-row:focus-within .av3-col-acoes { opacity: 1; }

/* ── Automações e Dashboard: cartões nos mesmos tokens ── */
.wfui-card { border-radius: var(--radius) !important; }
.wfui-card:hover { border-color: var(--border-strong) !important; box-shadow: none !important; }
.wfui-card .wfui-card-actions { opacity: 0; transition: opacity var(--dur-fast); }
.wfui-card:hover .wfui-card-actions, .wfui-card:focus-within .wfui-card-actions { opacity: 1; }
.dashboard-v2 .card { border-radius: var(--radius) !important; }

/* ── Chips de estado: mesma família em todas as abas ── */
.clientes-v2 .act-badge, .audiencias-v2 .schip, .av3 .av3-status-pill, #tasks-root .status-b, #tasks-root .tipo-b {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important; font-weight: 600 !important;
  letter-spacing: .04em !important; text-transform: uppercase !important;
  border-radius: 5px !important;
}

/* ==== /css/padrao-modais.css ==== */
/* =============================================================
   Padrão único de modais e formulários (11/09/2026)
   11/09: primeira unificação (raio 18, botão preto em pílula).
   24/09: casca única — ver o bloco abaixo e os papéis de botão no fim.
   ============================================================= */
:root { --md-b: #E7E5E4; --md-bs: #D6D3D1; --md-t: #0A0B0D; --md-t2: #57534E; --md-t3: #A8A29E; }

/* -------------------------------------------------------------
   CASCA ÚNICA DE MODAL (24/09/2026)
   Todos os modais iguais em tudo; muda só o conteúdo. Molde: rótulos e
   cabeçalho do Novo cliente, cabeçalho compacto do Templates, contenção do
   Monitorar OAB. As partes são marcadas em acordly-components.js
   (data-md) — aqui só se desenha. `html:not(#_):not(#__)` dá peso de 2 IDs: cada sistema de modal tinha
   regras com #id + vários atributos e !important (o #acordo-form pesava
   1 id + 4 atributos e deixava os campos do acordo com borda).
   Antes: 3 cabeçalhos (preto, com sobretítulo, limpo), rótulo mono em
   caixa alta de 10px, campo com borda, cantos de 14/18/20px, rodapé ora
   pedra ora branco.
   ------------------------------------------------------------- */
:root {
  --md-b: #E7E5E4; --md-bs: #D6D3D1; --md-t: #0A0B0D; --md-t2: #57534E; --md-t3: #A8A29E;
  --md-linha: #EEEDEA;            /* divisória fina de cabeçalho/rodapé */
  --md-campo: #F4F4F2;            /* campo preenchido em pedra, sem borda */
  --md-raio: 18px;
}

/* Caixa */
html:not(#_):not(#__) [data-md="caixa"] {
  background: #fff !important; background-image: none !important;
  border: 0 !important; border-radius: var(--md-raio) !important;
  box-shadow: 0 0 0 1px rgba(10, 11, 13, .04), 0 24px 48px -12px rgba(10, 11, 13, .22) !important;
  color: var(--md-t);
}

/* Tamanhos: 4 degraus, e só eles. Altura segue o conteúdo até a tela
   menos 48px (o corpo de cada modal já rola). No celular é folha de largura
   total (mobile-modais.css), então aqui só acima de 640px. */
@media (min-width: 641px) {
  html:not(#_):not(#__) [data-md="caixa"][data-md-tam] { max-height: calc(100dvh - 48px) !important; }
  html:not(#_):not(#__) [data-md="caixa"][data-md-tam="p"]  { width: min(480px, calc(100vw - 32px)) !important; max-width: min(480px, calc(100vw - 32px)) !important; }
  html:not(#_):not(#__) [data-md="caixa"][data-md-tam="m"]  { width: min(640px, calc(100vw - 32px)) !important; max-width: min(640px, calc(100vw - 32px)) !important; }
  html:not(#_):not(#__) [data-md="caixa"][data-md-tam="g"]  { width: min(800px, calc(100vw - 32px)) !important; max-width: min(800px, calc(100vw - 32px)) !important; }
  html:not(#_):not(#__) [data-md="caixa"][data-md-tam="gg"] { width: min(960px, calc(100vw - 32px)) !important; max-width: min(960px, calc(100vw - 32px)) !important; }
}

/* Estrutura de rolagem: cabeçalho e rodapé fixos, só o corpo rola
   (data-md-corpo/miolo marcados no JS). Só quando o corpo foi achado —
   senão a caixa continua rolando como antes, para nada ficar cortado. */
html:not(#_):not(#__) [data-md="caixa"][data-md-com-corpo] { display: flex !important; flex-direction: column !important; overflow: hidden !important; }
html:not(#_):not(#__) [data-md-com-corpo] > :not([data-md-miolo]):not([data-md-corpo]) { flex: none !important; }
html:not(#_):not(#__) [data-md-miolo] { display: flex !important; flex-direction: column !important; flex: 1 1 auto !important; min-height: 0 !important; overflow: hidden !important; }
html:not(#_):not(#__) [data-md-miolo] > :not([data-md-miolo]):not([data-md-corpo]) { flex: none !important; }
html:not(#_):not(#__) [data-md-corpo] {
  flex: 1 1 auto !important; min-height: 0 !important; max-height: none !important;
  overflow-y: auto !important; overflow-x: hidden !important;
  overscroll-behavior: contain; -webkit-overflow-scrolling: touch;
}
/* caixa que rola ela mesma (sem corpo separado, ex. gaveta do acordo): os
   filhos não encolhem. Com a altura limitada no celular, o flex espremia a
   faixa escura do topo da gaveta para 44px e cortava o título. */
html:not(#_):not(#__) [data-md="caixa"]:not([data-md-com-corpo]) > * { flex-shrink: 0 !important; }
/* margem lateral do corpo = a do cabeçalho, para os campos alinharem com o
   título (na audiência o corpo tinha 32px e o cabeçalho 16px no celular) */
html:not(#_):not(#__) [data-md-corpo] { padding-left: 24px !important; padding-right: 24px !important; }
@media (max-width: 640px) {
  html:not(#_):not(#__) [data-md-corpo] { padding-left: 16px !important; padding-right: 16px !important; }
}
/* rodapé/cabeçalho que moram DENTRO da área que rola — o corpo, ou a
   própria caixa quando é ela que rola (INSS) — grudam na borda. Antes o
   "Salvar" do INSS só aparecia depois de rolar o formulário inteiro. */
html:not(#_):not(#__) :is([data-md-corpo], [data-md="caixa"]:not([data-md-com-corpo])) [data-md="rodape"] { position: sticky !important; bottom: 0 !important; z-index: 3; }
html:not(#_):not(#__) :is([data-md-corpo], [data-md="caixa"]:not([data-md-com-corpo])) [data-md="cabecalho"] { position: sticky !important; top: 0 !important; z-index: 3; }

/* Cabeçalho: o × fica SEMPRE no canto superior direito, ancorado, com o
   espaço dele reservado — o resto do cabeçalho mantém o layout de cada
   modal. (Forçar o cabeçalho numa linha só quebrou o da tarefa, em que o
   título é filho direto e ficou sem poder quebrar; antes disso, no celular,
   o × caía para baixo do título.) */
html:not(#_):not(#__) [data-md="cabecalho"]:has([data-btn="fechar"]) { position: relative !important; padding-right: 64px !important; }
html:not(#_):not(#__) [data-md="cabecalho"] [data-btn="fechar"] { position: absolute !important; top: 16px !important; right: 16px !important; margin: 0 !important; }
html:not(#_):not(#__) [data-md="cabecalho"] > [data-md="titulo"] { flex: 1 1 100% !important; max-width: 100% !important; }
/* o × se ancora no CABEÇALHO: um invólucro interno com position:relative
   (.av3m-head-row no acordo) prendia o × no meio da linha */
html:not(#_):not(#__) [data-md="cabecalho"] :has([data-btn="fechar"]) { position: static !important; }

/* Rodapé: ações agrupadas à direita (o do acordo espalhava Cancelar à
   esquerda e o principal à direita). Excluir, quando vem primeiro, fica
   isolado à esquerda pela regra mais abaixo. */
html:not(#_):not(#__) [data-md="rodape"] > [data-btn="secundario"]:first-child { margin-left: auto !important; }
/* grupo de 3+ ações no cabeçalho (detalhe do cliente): uma linha que desliza */
html:not(#_):not(#__) [data-md-acoes] {
  display: flex !important; flex-wrap: nowrap !important; overflow-x: auto !important; gap: 6px !important;
  scrollbar-width: none; min-width: 0;
}
html:not(#_):not(#__) [data-md-acoes]::-webkit-scrollbar { display: none; }
html:not(#_):not(#__) [data-md-acoes] > [data-btn] { flex: none !important; white-space: nowrap !important; }

/* Modal com abas tem ALTURA FIXA: antes a caixa encolhia/crescia com o
   conteúdo de cada aba e, no celular, a folha saltava pela tela ao trocar
   de "Dados básicos" (longa) para "Processo" (um campo). */
html:not(#_):not(#__) [data-md="caixa"]:has(:is(.cm-tab, .tab-btn, [role="tab"]) ~ :is(.cm-tab, .tab-btn, [role="tab"])) {
  height: min(760px, calc(100dvh - 48px)) !important;
}
@media (max-width: 640px) {
  html:not(#_):not(#__) [data-md="caixa"]:has(:is(.cm-tab, .tab-btn, [role="tab"]) ~ :is(.cm-tab, .tab-btn, [role="tab"])) { height: 92dvh !important; }
}
/* Foco: anel escuro só pelo teclado; toque/clique não deixa contorno (o azul
   padrão ficava na aba anterior e pareciam duas abas marcadas) */
html:not(#_):not(#__) [data-md="caixa"] :is(button, [role="tab"], summary, a):focus:not(:focus-visible) { outline: none !important; box-shadow: none; }
html:not(#_):not(#__) [data-md="caixa"] :is(.cm-tab, .tab-btn, [role="tab"]):focus-visible { outline: 2px solid var(--md-t) !important; outline-offset: -2px !important; box-shadow: none !important; }

/* Abas dentro do modal: uma linha que desliza (antes vazavam para o lado) */
html:not(#_):not(#__) [data-md="caixa"] :has(> :is(.tab-btn, .cm-tab, [role="tab"]) ~ :is(.tab-btn, .cm-tab, [role="tab"])) {
  display: flex !important; flex-wrap: nowrap !important; overflow-x: auto !important; scrollbar-width: none;
}
html:not(#_):not(#__) [data-md="caixa"] :is(.tab-btn, .cm-tab, [role="tab"]) { flex: none !important; white-space: nowrap !important; }

/* Cabeçalho: branco em todos (o de acordo/contrato/pagamento era preto) */
html:not(#_):not(#__) [data-md="cabecalho"] {
  background: #fff !important; background-image: none !important; color: var(--md-t) !important;
  border: 0 !important; border-bottom: 1px solid var(--md-linha) !important;
  padding: 20px 24px 16px !important; border-radius: var(--md-raio) var(--md-raio) 0 0 !important;
  box-shadow: none !important;
}
/* brilho decorativo do cabeçalho antigo (radial âmbar do acordo) sai junto */
html:not(#_):not(#__) [data-md="cabecalho"]::before, html:not(#_):not(#__) [data-md="cabecalho"]::after { display: none !important; }
html:not(#_):not(#__) [data-md="titulo"] {
  font-family: 'Inter Tight', 'Inter', system-ui, sans-serif !important;
  font-size: 20px !important; font-weight: 600 !important; line-height: 1.25 !important;
  letter-spacing: -0.015em !important; text-transform: none !important; color: var(--md-t) !important; margin: 0 !important;
  /* título longo quebra linha (o da tarefa era nowrap e empurrava a caixa
     para 457px no celular) */
  white-space: normal !important; overflow-wrap: anywhere; min-width: 0;
}
html:not(#_):not(#__) [data-md="subtitulo"] {
  font-family: 'Inter', system-ui, sans-serif !important; font-size: 13px !important; font-weight: 400 !important;
  line-height: 1.4 !important; letter-spacing: 0 !important; text-transform: none !important;
  color: var(--md-t2) !important; margin: 4px 0 0 !important;
}
/* Texto miúdo acima do título: fica (às vezes é informação, ex. "Audiência
   — Conciliação"), mas em letra normal, sem mono em caixa alta */
html:not(#_):not(#__) [data-md="sobretitulo"] {
  font-family: 'Inter', system-ui, sans-serif !important; font-size: 12px !important; font-weight: 500 !important;
  letter-spacing: 0 !important; text-transform: none !important; color: var(--md-t2) !important; margin: 0 0 2px !important;
}
html:not(#_):not(#__) [data-md="sobretitulo"]::first-letter { text-transform: uppercase; }
html:not(#_):not(#__) [data-md="sobretitulo"][data-md-repete] { display: none !important; }

/* Títulos de seção: é aqui que o formulário se separa em blocos. 15px em
   negrito com uma linha fina em cima (a mesma separação das linhas do
   Templates); o primeiro bloco não tem linha. Antes a seção tinha quase o
   peso do rótulo e os blocos se emendavam. */
html:not(#_):not(#__) [data-md="secao"] {
  font-family: 'Inter', system-ui, sans-serif !important; font-size: 15px !important; font-weight: 600 !important;
  letter-spacing: -0.005em !important; text-transform: none !important; color: var(--md-t) !important;
  background: none !important; border: 0 !important; border-top: 1px solid var(--md-linha) !important;
  padding: 20px 0 0 !important; margin: 24px 0 14px !important; display: block;
}
html:not(#_):not(#__) [data-md="secao"][data-md-primeira] { border-top: 0 !important; padding-top: 0 !important; margin-top: 4px !important; }
html:not(#_):not(#__) [data-md="secao"]::first-letter { text-transform: uppercase; }

/* Rótulos: 12px cinza, frase normal, logo acima do campo */
html:not(#_):not(#__) [data-md="rotulo"],
[id$="-modal"] form label:not(.reg-plano):not(.dv3-inbox-toggle):not(:has(input)),
.fv3m-backdrop form label:not(:has(input)), [data-task-modal] form label:not(:has(input)) {
  display: block; font-family: 'Inter', system-ui, sans-serif !important; font-size: 13px !important; font-weight: 500 !important;
  letter-spacing: 0 !important; text-transform: none !important; color: var(--md-t2) !important; margin: 0 0 6px !important;
  line-height: 1.3 !important;
}
html:not(#_):not(#__) [data-md="rotulo"]::first-letter { text-transform: uppercase; }

/* Campos: brancos com contorno fino, como a busca do Templates. (24/09: a
   primeira versão era pedra chapada sem borda — ficou pesada e "invertida":
   blocos cinza sobre fundo branco.) */
html:not(#_):not(#__) :is([data-md="campo"], [data-md="campo-moldura"]) {
  background: #fff !important; background-image: none !important;
  border: 1px solid var(--md-b) !important; border-radius: 10px !important; box-shadow: none !important; outline: none !important;
  min-height: 40px !important; color: var(--md-t) !important; margin: 0 !important;
  transition: border-color .12s ease, box-shadow .12s ease !important;
}
html:not(#_):not(#__) [data-md="campo"] {
  font-family: 'Inter', system-ui, sans-serif !important; font-size: 14px !important; letter-spacing: 0 !important;
  text-transform: none !important; padding: 0 12px !important; width: 100%;
}
html:not(#_):not(#__) textarea[data-md="campo"] { padding: 10px 12px !important; min-height: 80px !important; line-height: 1.45 !important; }
html:not(#_):not(#__) select[data-md="campo"] { padding-right: 32px !important; }
html:not(#_):not(#__) [data-md="campo-interno"] {
  background: transparent !important; border: 0 !important; box-shadow: none !important; outline: none !important; margin: 0 !important;
  font-family: 'Inter', system-ui, sans-serif !important; font-size: 14px !important; color: var(--md-t) !important;
}
html:not(#_):not(#__) [data-md="campo"]::placeholder, html:not(#_):not(#__) [data-md="campo-interno"]::placeholder { color: var(--md-t3) !important; opacity: 1; }
html:not(#_):not(#__) :is([data-md="campo"], [data-md="campo-moldura"]):hover { border-color: var(--md-bs) !important; }
html:not(#_):not(#__) [data-md="campo"]:focus,
html:not(#_):not(#__) [data-md="campo-moldura"]:focus-within {
  border-color: var(--md-t) !important; box-shadow: 0 0 0 3px rgba(10, 11, 13, .08) !important;
}
html:not(#_):not(#__) [data-md="campo"]:disabled, html:not(#_):not(#__) [data-md="campo"][readonly] { background: #FAFAF9 !important; color: var(--md-t2) !important; }

/* Rodapé: linha fina em cima, ações à direita, Excluir isolado à esquerda */
html:not(#_):not(#__) [data-md="rodape"] {
  background: #fff !important; background-image: none !important;
  border: 0 !important; border-top: 1px solid var(--md-linha) !important; box-shadow: none !important;
  padding: 14px 24px !important; gap: 8px;
  border-radius: 0 0 var(--md-raio) var(--md-raio) !important;
}
html:not(#_):not(#__) [data-md="rodape"] :is([data-btn="perigo"], [data-btn="perigo-forte"]):first-child { margin-right: auto !important; }

/* Celular: todo modal vira FOLHA de baixo — largura total, encostada
   embaixo, até 92% da altura. Antes uns abriam como cartão no meio (tarefa,
   343px), outros com 5px de sobra dos lados (365px). */
@media (max-width: 640px) {
  html:not(#_):not(#__) [data-md-raiz] { padding: 0 !important; align-items: flex-end !important; justify-content: center !important; }
  html:not(#_):not(#__) [data-md="caixa"] {
    width: 100% !important; max-width: 100% !important; min-width: 0 !important;
    margin: auto 0 0 !important; max-height: 92dvh !important;
    border-radius: var(--md-raio) var(--md-raio) 0 0 !important;
    /* gaveta fixa no topo (detalhe do acordo) também encosta embaixo */
    top: auto !important; bottom: 0 !important; left: 0 !important; right: 0 !important;
  }
  html:not(#_):not(#__) [data-md="cabecalho"] { padding: 16px 16px 12px !important; }
  html:not(#_):not(#__) [data-md="rodape"] { padding: 12px 16px calc(12px + env(safe-area-inset-bottom)) !important; border-radius: 0 !important; }
  /* Cabeçalho de detalhe (cliente): identidade + × na 1ª linha; as ações
     descem para uma 2ª linha que desliza. Antes 5 ações numa linha passavam
     de 640px e o × caía para baixo do título. */
  html:not(#_):not(#__) [data-md="cabecalho"] { flex-wrap: wrap !important; }
  /* cabeçalho com grupo de 3+ ações (detalhe do cliente) é GRADE no módulo;
     vira flex aqui para as ações descerem para a 2ª linha que desliza */
  html:not(#_):not(#__) [data-md="cabecalho"][data-md-com-acoes] { display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; align-items: flex-start !important; }
  html:not(#_):not(#__) [data-md="cabecalho"][data-md-com-acoes] > :not(:has([data-md-acoes])):not([data-md-acoes]) { flex: 1 1 auto !important; min-width: 0 !important; }
  html:not(#_):not(#__) [data-md="cabecalho"] [data-btn="fechar"] { top: 12px !important; right: 12px !important; }
  html:not(#_):not(#__) [data-md="cabecalho"][data-md-com-acoes] > :is([data-md-acoes], :has([data-md-acoes])) {
    flex: 1 1 100% !important; order: 3; min-width: 0 !important; max-width: 100% !important; margin-top: 12px !important;
  }
  /* tipo do acordo (Acordo · Contrato · Execução) lado a lado: empilhados
     ocupavam 1/4 da folha antes do primeiro campo */
  html:not(#_):not(#__) #acordo-modal .av3m-tipo-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 6px !important; }
  html:not(#_):not(#__) #acordo-modal .av3m-tipo-card { padding: 10px 6px !important; justify-content: center; text-align: center; }
  /* ícone em cima do nome: lado a lado, "Execução" não cabia num terço da
     folha e quebrava em duas linhas */
  html:not(#_):not(#__) #acordo-modal .av3m-tipo-card { flex-direction: column !important; align-items: center !important; gap: 6px !important; }
  html:not(#_):not(#__) #acordo-modal .av3m-tipo-card .av3m-tipo-icon { width: 28px !important; height: 28px !important; }
  html:not(#_):not(#__) #acordo-modal .av3m-tipo-card .av3m-tipo-body { flex: none !important; align-items: center; }
  html:not(#_):not(#__) #acordo-modal .av3m-tipo-card .av3m-tipo-title { white-space: nowrap; font-size: 13.5px !important; }
  /* indicadores do detalhe do cliente lado a lado (empilhados, comiam 170px) */
  html:not(#_):not(#__) [data-md="caixa"] .cl3-kpis { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 8px !important; }
  /* alça da folha (arrastar para baixo fecha — acordly-components.js) */
  html:not(#_):not(#__) [data-md="cabecalho"] { position: relative !important; padding-top: 22px !important; }
  html:not(#_):not(#__) [data-md-alca] {
    position: absolute !important; top: 7px; left: 50%; transform: translateX(-50%);
    width: 36px; height: 5px; border-radius: 3px; background: #D6D3D1; pointer-events: none;
  }
  html:not(#_):not(#__) [data-md="cabecalho"] [data-btn="fechar"] { top: 18px !important; }
  /* 16px: abaixo disso o Safari dá zoom na página ao focar o campo */
  html:not(#_):not(#__) :is([data-md="campo"], [data-md="campo-interno"]) { font-size: 16px !important; }
  html:not(#_):not(#__) :is([data-md="campo"], [data-md="campo-moldura"]) { min-height: 44px !important; }
}

/* "Mais opções" (js/atrito.js) */
.atrito-oculto { display: none !important; }
form.atrito-aberto .atrito-oculto { display: revert !important; }
.atrito-toggle {
  display: inline-flex; align-items: center; gap: 8px; margin: 6px 0 10px;
  font: 500 12.5px 'Inter', system-ui, sans-serif; color: var(--md-t2);
  background: #F4F4F2; border: 1px solid var(--md-b); border-radius: 999px; padding: 6px 12px; cursor: pointer;
  grid-column: 1 / -1; width: fit-content;
}
/* contador "3 campos": letra normal (mono miúda era a única sobra do visual antigo aqui) */
.atrito-toggle small { font-family: 'Inter', system-ui, sans-serif; font-size: 11px; color: var(--md-t2); }
.atrito-toggle::after { content: '▾'; font-size: 11px; transition: transform .12s; }
.atrito-toggle.on::after { transform: rotate(180deg); }
.atrito-toggle.on span::before { content: 'Menos opções'; }
.atrito-toggle.on span { font-size: 0; }
.atrito-toggle.on span::before { font-size: 12.5px; }

/* DJE: ferramentas de manutenção só para o admin */
body:not(.acordly-admin) div:has(> #dje-btn-varredura) { display: none !important; }

/* =============================================================
   Botões de modal por PAPEL (24/09/2026)
   O papel (data-btn) é marcado em acordly-components.js. Aqui só se
   desenha. Valores do próprio Acordly: tinta #0A0B0D em pílula (padrão de
   11/09), superfície pedra #F4F4F2, vermelho do diálogo de exclusão.
   `html:not(#_)` dá peso de ID ao seletor: cada sistema de modal tinha as
   suas regras com #id e !important, e perdíamos a disputa para elas.
   ============================================================= */
html:not(#_):not(#__) :is(button, summary)[data-btn] {
  display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important;
  font-family: 'Inter', system-ui, sans-serif !important; letter-spacing: 0 !important; text-transform: none !important;
  /* pode quebrar linha e nunca passa da largura: com nowrap, rótulos longos
     ("Reprocessar audiências com IA…") vazavam para o lado no celular */
  line-height: 1.25 !important; white-space: normal !important; text-align: center; max-width: 100%; cursor: pointer;
  border: 0 !important; box-shadow: none !important; background-image: none !important;
  transition: background-color .12s ease, color .12s ease, transform .08s ease !important;
  -webkit-tap-highlight-color: transparent; touch-action: manipulation;
}
/* [hidden] vence tudo: o display:inline-flex acima passava por cima do
   atributo e mostrava botões escondidos ("Excluir" num caso INSS novo). */
html:not(#_):not(#__):not(#___) :is(button, summary)[data-btn][hidden],
html:not(#_):not(#__):not(#___) :is([data-md], [data-md-miolo], [data-md-corpo])[hidden] { display: none !important; }
html:not(#_):not(#__) :is(button, summary)[data-btn]:active:not(:disabled) { transform: scale(.97) !important; }
html:not(#_):not(#__) :is(button, summary)[data-btn]:focus-visible { outline: 2px solid var(--text, #0A0B0D) !important; outline-offset: 2px !important; }
html:not(#_):not(#__) :is(button, summary)[data-btn]:disabled { opacity: .45 !important; cursor: not-allowed !important; transform: none !important; }
html:not(#_):not(#__) :is(button, summary)[data-btn] svg { flex-shrink: 0; }
html:not(#_):not(#__) summary[data-btn] { list-style: none !important; }
html:not(#_):not(#__) summary[data-btn]::-webkit-details-marker { display: none; }

/* Ação principal, secundária e de perigo: mesmo tamanho, lado a lado */
html:not(#_):not(#__) :is(button, summary):is([data-btn="primario"], [data-btn="secundario"], [data-btn="perigo"], [data-btn="perigo-forte"]) {
  min-height: 36px !important; padding: 0 16px !important; border-radius: 999px !important;
  font-size: 13px !important; font-weight: 600 !important; width: auto;
}
html:not(#_):not(#__) :is(button, summary)[data-btn="primario"] { background-color: var(--text, #0A0B0D) !important; color: #fff !important; }
html:not(#_):not(#__) :is(button, summary)[data-btn="primario"]:hover:not(:disabled) { background-color: #26272B !important; }
/* Secundário: preenchido, sem contorno — antes era texto solto ou borda */
html:not(#_):not(#__) :is(button, summary)[data-btn="secundario"] { background-color: var(--bg-soft, #F4F4F2) !important; color: var(--text, #0A0B0D) !important; font-weight: 500 !important; }
html:not(#_):not(#__) :is(button, summary)[data-btn="secundario"]:hover:not(:disabled) { background-color: var(--border, #E7E5E4) !important; }
/* Perigo no meio de um formulário (ex.: Excluir ao lado de Salvar):
   tingido, para não competir com o Salvar */
html:not(#_):not(#__) :is(button, summary)[data-btn="perigo"] { background-color: var(--danger-soft, oklch(0.64 0.20 25 / 0.10)) !important; color: oklch(0.50 0.21 25) !important; }
html:not(#_):not(#__) :is(button, summary)[data-btn="perigo"]:hover:not(:disabled) { background-color: oklch(0.64 0.20 25 / 0.18) !important; }
/* Perigo que é a própria confirmação (excluir definitivamente) */
html:not(#_):not(#__) :is(button, summary)[data-btn="perigo-forte"] { background-color: oklch(0.52 0.22 25) !important; color: #fff !important; }
html:not(#_):not(#__) :is(button, summary)[data-btn="perigo-forte"]:hover:not(:disabled) { background-color: oklch(0.46 0.23 25) !important; }

/* Ação pequena dentro do conteúdo (+ Item, + Etapa, Mais opções, Remover) */
html:not(#_):not(#__) :is(button, summary)[data-btn="acao"] {
  min-height: 28px !important; padding: 0 12px !important; border-radius: 999px !important;
  font-size: 12px !important; font-weight: 500 !important;
  background-color: var(--bg-soft, #F4F4F2) !important; color: var(--text, #0A0B0D) !important;
}
html:not(#_):not(#__) :is(button, summary)[data-btn="acao"]:hover:not(:disabled) { background-color: var(--border, #E7E5E4) !important; }

/* Fechar (×): quadrado com fundo de superfície, sempre do mesmo tamanho */
html:not(#_):not(#__) :is(button, summary)[data-btn="fechar"] {
  width: 32px !important; height: 32px !important; min-width: 32px !important; min-height: 32px !important; padding: 0 !important;
  border-radius: 8px !important; font-size: 16px !important; font-weight: 400 !important;
  background-color: var(--bg-soft, #F4F4F2) !important; color: var(--text-2, #57534E) !important;
}
html:not(#_):not(#__) :is(button, summary)[data-btn="fechar"]:hover { background-color: var(--border, #E7E5E4) !important; color: var(--text, #0A0B0D) !important; }
html:not(#_):not(#__) :is(button, summary)[data-btn="fechar"] svg { width: 16px !important; height: 16px !important; }

/* Sobre barra/rodapé que já é pedra: o secundário vira branco com sombra
   fina, senão some no fundo (data-btn-sobre marcado no JS) */
html:not(#_):not(#__) :is(button, summary)[data-btn][data-btn-sobre="tom"] {
  background-color: #fff !important;
  box-shadow: 0 0 0 1px rgba(10, 11, 13, .06), 0 1px 2px rgba(10, 11, 13, .06) !important;
}
html:not(#_):not(#__) :is(button, summary)[data-btn][data-btn-sobre="tom"]:hover:not(:disabled) { background-color: #FAFAF9 !important; }

/* Celular: alvo de toque de 44px */
@media (max-width: 640px) {
  html:not(#_):not(#__) :is(button, summary):is([data-btn="primario"], [data-btn="secundario"], [data-btn="perigo"], [data-btn="perigo-forte"]) { min-height: 44px !important; font-size: 15px !important; padding: 0 18px !important; }
  html:not(#_):not(#__) :is(button, summary)[data-btn="acao"] { min-height: 36px !important; font-size: 13px !important; }
  html:not(#_):not(#__) :is(button, summary)[data-btn="fechar"] { width: 40px !important; height: 40px !important; min-width: 40px !important; min-height: 40px !important; }
}

/* Seções da tarefa: a casca já separa cada bloco com a linha do título
   ("Quando", "Processo & cliente"); a borda de baixo de .nt-section dava
   linha dupla com um vão entre elas. */
html:not(#_):not(#__) [data-task-modal] .nt-section { border-bottom: 0 !important; padding-bottom: 4px !important; }

/* Cartão de escolha selecionado (À vista / Parcelado / Recorrente no
   Financeiro): tinta e pedra, como o resto. Era um azulado que sobrou do
   visual antigo. */
html:not(#_):not(#__) .fv3m-tipo-card.active { background: var(--md-campo) !important; border-color: var(--md-t) !important; }
/* Campo de data ocupa a largura da coluna (no Financeiro ficava com ~1/3) */
html:not(#_):not(#__) input[type="date"][data-md="campo"] { width: 100% !important; }

/* ==== /css/guia.css ==== */
/* Guia de uso: botão fixo, painel lateral, tour e dicas "?" */
.guia-btn {
  position: fixed; left: 18px; bottom: 18px; z-index: 900;
  display: inline-flex; align-items: center; gap: 7px;
  padding: 8px 12px 8px 9px; border-radius: 999px; border: 1px solid #2A2B30;
  background: #0A0B0D; color: #FAFAF9; cursor: pointer; font: 500 12.5px 'Inter', system-ui, sans-serif;
  box-shadow: 0 10px 28px rgba(0,0,0,.22); transition: transform .12s, box-shadow .12s;
}
.guia-btn:hover { transform: translateY(-1px); box-shadow: 0 14px 32px rgba(0,0,0,.28); }
.guia-btn span { width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; background: oklch(0.78 0.14 75); color: #0A0B0D; font-weight: 700; font-size: 13px; }
.guia-btn em { font-style: normal; }
@media (max-width: 1023px) { .guia-btn { left: auto; right: 14px; bottom: 74px; } .guia-btn em { display: none; } .guia-btn { padding: 8px 9px; } }

.guia-back { position: fixed; inset: 0; z-index: 1100; background: rgba(10,11,13,.45); backdrop-filter: blur(2px); display: flex; justify-content: flex-end; }
.guia-back.center { align-items: center; justify-content: center; padding: 16px; }
.guia { width: min(460px, 100%); height: 100%; background: #FFFFFF; color: #0A0B0D; display: flex; flex-direction: column; box-shadow: -20px 0 60px rgba(0,0,0,.25); font-family: 'Inter', system-ui, sans-serif; animation: guia-in .22s cubic-bezier(.22,1,.36,1); }
@keyframes guia-in { from { transform: translateX(30px); opacity: 0; } to { transform: none; opacity: 1; } }
.guia-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 22px 24px 16px; border-bottom: 1px solid #E7E5E4; }
.guia-eyebrow { margin: 0; font-family: 'JetBrains Mono', monospace; font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: #A8A29E; }
.guia-head h2, .guia-tour h2 { margin: 4px 0 0; font-family: 'Inter Tight', 'Inter', sans-serif; font-size: 22px; font-weight: 600; letter-spacing: -.02em; }
.guia-x { width: 32px; height: 32px; border-radius: 8px; border: 1px solid #E7E5E4; background: #fff; color: #A8A29E; cursor: pointer; font-size: 13px; }
.guia-x:hover { color: #0A0B0D; border-color: #D6D3D1; }
.guia-body { flex: 1; overflow: auto; padding: 18px 24px; font-size: 14px; line-height: 1.55; }
.guia-oque { margin: 0 0 18px; color: #0A0B0D; font-size: 14.5px; }
.guia-body h3 { margin: 18px 0 8px; font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #57534E; }
.guia-passos { margin: 0; padding-left: 0; list-style: none; counter-reset: p; display: grid; gap: 10px; }
.guia-passos li { position: relative; padding-left: 34px; color: #0A0B0D; }
.guia-passos li::before { counter-increment: p; content: counter(p); position: absolute; left: 0; top: 1px; width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; background: #0A0B0D; color: #fff; font-family: 'JetBrains Mono', monospace; font-size: 11.5px; font-weight: 600; }
.guia-nums { margin: 0; display: grid; grid-template-columns: max-content 1fr; gap: 6px 12px; }
.guia-nums dt { font-weight: 600; font-size: 13px; }
.guia-nums dd { margin: 0; color: #57534E; font-size: 13px; }
.guia-foot { margin: 22px 0 0; padding: 12px 14px; border-radius: 10px; background: #F4F4F2; color: #57534E; font-size: 13px; }
.guia-acts { display: flex; justify-content: flex-end; gap: 8px; padding: 14px 24px 18px; border-top: 1px solid #E7E5E4; }
.guia-tour .guia-acts { border: 0; padding: 18px 0 0; }
.guia-btn2 { font: inherit; font-size: 13.5px; font-weight: 600; cursor: pointer; padding: 9px 16px; border-radius: 999px; border: 1px solid #D6D3D1; background: #fff; color: #0A0B0D; }
.guia-btn2:hover { border-color: #0A0B0D; }
.guia-btn2.primary { background: #0A0B0D; color: #fff; border-color: #0A0B0D; }
.guia-btn2.primary:hover { background: #26272B; }

.guia-tour { width: 100%; max-width: 520px; background: #fff; border-radius: 18px; padding: 26px 28px 22px; font-family: 'Inter', system-ui, sans-serif; box-shadow: 0 32px 80px rgba(0,0,0,.3); }
.guia-tour-s { margin: 12px 0 0; font-size: 15px; line-height: 1.55; color: #0A0B0D; }
.guia-tour-dots { display: flex; gap: 6px; margin-top: 18px; }
.guia-tour-dots i { width: 8px; height: 8px; border-radius: 50%; background: #E7E5E4; }
.guia-tour-dots i.on { background: #0A0B0D; width: 22px; border-radius: 4px; }

.guia-tip { display: inline-grid; place-items: center; width: 15px; height: 15px; margin-left: 6px; border-radius: 50%; background: #E7E5E4; color: #57534E; font-size: 10px; font-weight: 700; cursor: help; vertical-align: middle; }
.guia-tip:hover { background: #0A0B0D; color: #fff; }

/* "O que costuma dar errado" — a parte do guia que evita retrabalho. */
.guia .guia-erros { margin: 8px 0 0; padding-left: 0; list-style: none; display: flex; flex-direction: column; gap: 7px; }
.guia .guia-erros li { position: relative; padding-left: 22px; font-size: 13.5px; line-height: 1.5; color: var(--text-muted, #64748B); }
.guia .guia-erros li::before {
  content: '!'; position: absolute; left: 0; top: 1px;
  width: 15px; height: 15px; border-radius: 50%; display: grid; place-items: center;
  font-size: 10px; font-weight: 700; font-family: 'JetBrains Mono', monospace;
  background: oklch(0.95 0.06 75); color: oklch(0.45 0.12 60);
}

/* Seções temáticas do guia (listas longas, uma ideia por linha) */
.guia .guia-blocos { margin-bottom: 14px; }
.guia .guia-blocos li { list-style: none; padding-left: 16px; position: relative; }
.guia .guia-blocos li::before {
  content: ""; position: absolute; left: 2px; top: 8px;
  width: 5px; height: 5px; border-radius: 50%; background: var(--text-3, #A8A29E);
}

/* ==== /css/tailwind.css ==== */
*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{bottom:0;top:0}.-right-2{right:-.5rem}.-top-2{top:-.5rem}.bottom-0{bottom:0}.bottom-32{bottom:8rem}.bottom-8{bottom:2rem}.bottom-full{bottom:100%}.left-0{left:0}.left-1\/2{left:50%}.left-10{left:2.5rem}.left-2\.5{left:.625rem}.left-20{left:5rem}.left-3{left:.75rem}.left-4{left:1rem}.left-6{left:1.5rem}.left-\[220px\]{left:220px}.left-\[8\%\]{left:8%}.right-0{right:0}.right-16{right:4rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.right-\[8\%\]{right:8%}.top-0{top:0}.top-1\/2{top:50%}.top-2\.5{top:.625rem}.top-20{top:5rem}.top-3{top:.75rem}.top-4{top:1rem}.top-40{top:10rem}.top-8{top:2rem}.top-9{top:2.25rem}.top-full{top:100%}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[1000\]{z-index:1000}.z-\[100\]{z-index:100}.z-\[2000\]{z-index:2000}.z-\[60\]{z-index:60}.z-\[70\]{z-index:70}.z-\[9998\]{z-index:9998}.col-span-2{grid-column:span 2/span 2}.col-span-full{grid-column:1/-1}.float-right{float:right}.m-0{margin:0}.m-0\.5{margin:.125rem}.-mx-4{margin-left:-1rem;margin-right:-1rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-bottom:.25rem;margin-top:.25rem}.-mb-4{margin-bottom:-1rem}.-mb-px{margin-bottom:-1px}.-ml-1{margin-left:-.25rem}.-mr-2{margin-right:-.5rem}.mb-0{margin-bottom:0}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-2\.5{margin-bottom:.625rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-0{margin-left:0}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-1\.5{margin-left:.375rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-2,.line-clamp-3{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical}.line-clamp-3{-webkit-line-clamp:3}.\!block{display:block!important}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.\!grid{display:grid!important}.grid{display:grid}.contents{display:contents}.\!hidden{display:none!important}.hidden{display:none}.aspect-square{aspect-ratio:1/1}.h-0\.5{height:.125rem}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-44{height:11rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[18px\]{height:18px}.h-\[40px\]{height:40px}.h-\[55px\]{height:55px}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-48{max-height:12rem}.max-h-56{max-height:14rem}.max-h-60{max-height:15rem}.max-h-80{max-height:20rem}.max-h-96{max-height:24rem}.max-h-\[500px\]{max-height:500px}.max-h-\[70vh\]{max-height:70vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[85vh\]{max-height:85vh}.max-h-\[90vh\]{max-height:90vh}.max-h-\[95vh\]{max-height:95vh}.min-h-0{min-height:0}.min-h-\[120px\]{min-height:120px}.min-h-\[240px\]{min-height:240px}.min-h-\[600px\]{min-height:600px}.min-h-\[64px\]{min-height:64px}.min-h-\[80px\]{min-height:80px}.min-h-\[90px\]{min-height:90px}.min-h-\[calc\(100vh-80px\)\]{min-height:calc(100vh - 80px)}.min-h-screen{min-height:100vh}.w-0\.5{width:.125rem}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-2\/5{width:40%}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-4{width:1rem}.w-40{width:10rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[110px\]{width:110px}.w-\[160px\]{width:160px}.w-\[220px\]{width:220px}.w-\[90px\]{width:90px}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0}.min-w-\[100px\]{min-width:100px}.min-w-\[120px\]{min-width:120px}.min-w-\[140px\]{min-width:140px}.min-w-\[18px\]{min-width:18px}.min-w-\[200px\]{min-width:200px}.min-w-\[3\.5rem\]{min-width:3.5rem}.min-w-\[36px\]{min-width:36px}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-48{max-width:12rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-\[120px\]{max-width:120px}.max-w-\[520px\]{max-width:520px}.max-w-\[560px\]{max-width:560px}.max-w-\[60\%\]{max-width:60%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-screen-md{max-width:768px}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.origin-left{transform-origin:left}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x:100%}.-rotate-90{--tw-rotate:-90deg}.-rotate-90,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}.animate-bounce{animation:bounce 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize-none{resize:none}.resize{resize:both}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-\[140px_minmax\(250px\2c 450px\)_180px_100px_140px_160px\]{grid-template-columns:140px minmax(250px,450px) 180px 100px 140px 160px}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-px{gap:1px}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.gap-y-1{row-gap:.25rem}.gap-y-2{row-gap:.5rem}.gap-y-4{row-gap:1rem}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.75rem*var(--tw-space-x-reverse))}.space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(2rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(2rem*var(--tw-space-x-reverse))}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(0px*var(--tw-space-y-reverse));margin-top:calc(0px*(1 - var(--tw-space-y-reverse)))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.125rem*var(--tw-space-y-reverse));margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.375rem*var(--tw-space-y-reverse));margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.625rem*var(--tw-space-y-reverse));margin-top:calc(.625rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.25rem*var(--tw-space-y-reverse));margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity,1))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity,1))}.divide-gray-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(249 250 251/var(--tw-divide-opacity,1))}.divide-slate-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(248 250 252/var(--tw-divide-opacity,1))}.self-start{align-self:flex-start}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1.25rem}.rounded-3xl{border-radius:1.5rem}.rounded-\[24px\]{border-radius:24px}.rounded-\[32px\]{border-radius:32px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:1rem}.rounded-b{border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-b-\[32px\]{border-bottom-left-radius:32px;border-bottom-right-radius:32px}.rounded-r-lg{border-bottom-right-radius:.5rem;border-top-right-radius:.5rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-2xl{border-top-left-radius:1.25rem;border-top-right-radius:1.25rem}.rounded-t-3xl{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-b-4{border-bottom-width:4px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-r-4{border-right-width:4px}.border-t{border-top-width:1px}.border-t-2{border-top-width:2px}.border-t-4{border-top-width:4px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-amber-100{--tw-border-opacity:1;border-color:rgb(254 243 199/var(--tw-border-opacity,1))}.border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.border-amber-300\/50{border-color:rgba(252,211,77,.5)}.border-amber-400{--tw-border-opacity:1;border-color:rgb(251 191 36/var(--tw-border-opacity,1))}.border-amber-400\/30{border-color:rgba(251,191,36,.3)}.border-amber-50{--tw-border-opacity:1;border-color:rgb(255 251 235/var(--tw-border-opacity,1))}.border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.border-amber-600{--tw-border-opacity:1;border-color:rgb(217 119 6/var(--tw-border-opacity,1))}.border-amber-700{--tw-border-opacity:1;border-color:rgb(180 83 9/var(--tw-border-opacity,1))}.border-amber-800{--tw-border-opacity:1;border-color:rgb(146 64 14/var(--tw-border-opacity,1))}.border-amber-900{--tw-border-opacity:1;border-color:rgb(120 53 15/var(--tw-border-opacity,1))}.border-blue-100{--tw-border-opacity:1;border-color:rgb(219 234 254/var(--tw-border-opacity,1))}.border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-blue-300{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.border-blue-400\/30{border-color:rgba(96,165,250,.3)}.border-blue-50{--tw-border-opacity:1;border-color:rgb(239 246 255/var(--tw-border-opacity,1))}.border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.border-blue-700{--tw-border-opacity:1;border-color:rgb(29 78 216/var(--tw-border-opacity,1))}.border-blue-800{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.border-blue-900{--tw-border-opacity:1;border-color:rgb(30 58 138/var(--tw-border-opacity,1))}.border-brand-100{--tw-border-opacity:1;border-color:rgb(217 234 255/var(--tw-border-opacity,1))}.border-brand-200{--tw-border-opacity:1;border-color:rgb(185 216 255/var(--tw-border-opacity,1))}.border-brand-300{--tw-border-opacity:1;border-color:rgb(144 192 255/var(--tw-border-opacity,1))}.border-brand-400{--tw-border-opacity:1;border-color:rgb(93 160 255/var(--tw-border-opacity,1))}.border-brand-50{--tw-border-opacity:1;border-color:rgb(238 246 255/var(--tw-border-opacity,1))}.border-brand-500{--tw-border-opacity:1;border-color:rgb(47 127 255/var(--tw-border-opacity,1))}.border-brand-600{--tw-border-opacity:1;border-color:rgb(31 105 229/var(--tw-border-opacity,1))}.border-brand-700{--tw-border-opacity:1;border-color:rgb(28 87 191/var(--tw-border-opacity,1))}.border-brand-800{--tw-border-opacity:1;border-color:rgb(26 73 155/var(--tw-border-opacity,1))}.border-brand-900{--tw-border-opacity:1;border-color:rgb(23 63 130/var(--tw-border-opacity,1))}.border-emerald-100{--tw-border-opacity:1;border-color:rgb(209 250 229/var(--tw-border-opacity,1))}.border-emerald-200{--tw-border-opacity:1;border-color:rgb(167 243 208/var(--tw-border-opacity,1))}.border-emerald-300{--tw-border-opacity:1;border-color:rgb(110 231 183/var(--tw-border-opacity,1))}.border-emerald-300\/50{border-color:rgba(110,231,183,.5)}.border-emerald-400{--tw-border-opacity:1;border-color:rgb(52 211 153/var(--tw-border-opacity,1))}.border-emerald-400\/30{border-color:rgba(52,211,153,.3)}.border-emerald-50{--tw-border-opacity:1;border-color:rgb(236 253 245/var(--tw-border-opacity,1))}.border-emerald-500{--tw-border-opacity:1;border-color:rgb(16 185 129/var(--tw-border-opacity,1))}.border-emerald-600{--tw-border-opacity:1;border-color:rgb(5 150 105/var(--tw-border-opacity,1))}.border-emerald-700{--tw-border-opacity:1;border-color:rgb(4 120 87/var(--tw-border-opacity,1))}.border-emerald-800{--tw-border-opacity:1;border-color:rgb(6 95 70/var(--tw-border-opacity,1))}.border-emerald-900{--tw-border-opacity:1;border-color:rgb(6 78 59/var(--tw-border-opacity,1))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-200\/50{border-color:rgba(229,231,235,.5)}.border-gray-200\/80{border-color:rgba(229,231,235,.8)}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}.border-gray-50{--tw-border-opacity:1;border-color:rgb(249 250 251/var(--tw-border-opacity,1))}.border-gray-500{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity,1))}.border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.border-gray-600\/30{border-color:rgba(75,85,99,.3)}.border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.border-gray-700\/30{border-color:rgba(55,65,81,.3)}.border-gray-700\/50{border-color:rgba(55,65,81,.5)}.border-gray-800{--tw-border-opacity:1;border-color:rgb(31 41 55/var(--tw-border-opacity,1))}.border-gray-900{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.border-gray-900\/10{border-color:rgba(17,24,39,.1)}.border-gray-900\/60{border-color:rgba(17,24,39,.6)}.border-green-100{--tw-border-opacity:1;border-color:rgb(220 252 231/var(--tw-border-opacity,1))}.border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.border-green-300{--tw-border-opacity:1;border-color:rgb(134 239 172/var(--tw-border-opacity,1))}.border-green-400{--tw-border-opacity:1;border-color:rgb(74 222 128/var(--tw-border-opacity,1))}.border-green-50{--tw-border-opacity:1;border-color:rgb(240 253 244/var(--tw-border-opacity,1))}.border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.border-green-600{--tw-border-opacity:1;border-color:rgb(22 163 74/var(--tw-border-opacity,1))}.border-green-700{--tw-border-opacity:1;border-color:rgb(21 128 61/var(--tw-border-opacity,1))}.border-green-800{--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.border-green-900{--tw-border-opacity:1;border-color:rgb(20 83 45/var(--tw-border-opacity,1))}.border-indigo-100{--tw-border-opacity:1;border-color:rgb(224 231 255/var(--tw-border-opacity,1))}.border-indigo-200{--tw-border-opacity:1;border-color:rgb(199 210 254/var(--tw-border-opacity,1))}.border-indigo-300{--tw-border-opacity:1;border-color:rgb(165 180 252/var(--tw-border-opacity,1))}.border-indigo-400{--tw-border-opacity:1;border-color:rgb(129 140 248/var(--tw-border-opacity,1))}.border-indigo-50{--tw-border-opacity:1;border-color:rgb(238 242 255/var(--tw-border-opacity,1))}.border-indigo-500{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.border-indigo-600{--tw-border-opacity:1;border-color:rgb(79 70 229/var(--tw-border-opacity,1))}.border-indigo-700{--tw-border-opacity:1;border-color:rgb(67 56 202/var(--tw-border-opacity,1))}.border-indigo-800{--tw-border-opacity:1;border-color:rgb(55 48 163/var(--tw-border-opacity,1))}.border-indigo-900{--tw-border-opacity:1;border-color:rgb(49 46 129/var(--tw-border-opacity,1))}.border-orange-100{--tw-border-opacity:1;border-color:rgb(255 237 213/var(--tw-border-opacity,1))}.border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.border-orange-300{--tw-border-opacity:1;border-color:rgb(253 186 116/var(--tw-border-opacity,1))}.border-orange-400{--tw-border-opacity:1;border-color:rgb(251 146 60/var(--tw-border-opacity,1))}.border-orange-50{--tw-border-opacity:1;border-color:rgb(255 247 237/var(--tw-border-opacity,1))}.border-orange-500{--tw-border-opacity:1;border-color:rgb(249 115 22/var(--tw-border-opacity,1))}.border-orange-600{--tw-border-opacity:1;border-color:rgb(234 88 12/var(--tw-border-opacity,1))}.border-orange-700{--tw-border-opacity:1;border-color:rgb(194 65 12/var(--tw-border-opacity,1))}.border-orange-800{--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity,1))}.border-orange-900{--tw-border-opacity:1;border-color:rgb(124 45 18/var(--tw-border-opacity,1))}.border-pink-100{--tw-border-opacity:1;border-color:rgb(252 231 243/var(--tw-border-opacity,1))}.border-pink-200{--tw-border-opacity:1;border-color:rgb(251 207 232/var(--tw-border-opacity,1))}.border-pink-300{--tw-border-opacity:1;border-color:rgb(249 168 212/var(--tw-border-opacity,1))}.border-pink-400{--tw-border-opacity:1;border-color:rgb(244 114 182/var(--tw-border-opacity,1))}.border-pink-50{--tw-border-opacity:1;border-color:rgb(253 242 248/var(--tw-border-opacity,1))}.border-pink-500{--tw-border-opacity:1;border-color:rgb(236 72 153/var(--tw-border-opacity,1))}.border-pink-600{--tw-border-opacity:1;border-color:rgb(219 39 119/var(--tw-border-opacity,1))}.border-pink-700{--tw-border-opacity:1;border-color:rgb(190 24 93/var(--tw-border-opacity,1))}.border-pink-800{--tw-border-opacity:1;border-color:rgb(157 23 77/var(--tw-border-opacity,1))}.border-pink-900{--tw-border-opacity:1;border-color:rgb(131 24 67/var(--tw-border-opacity,1))}.border-purple-100{--tw-border-opacity:1;border-color:rgb(243 232 255/var(--tw-border-opacity,1))}.border-purple-200{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.border-purple-300{--tw-border-opacity:1;border-color:rgb(216 180 254/var(--tw-border-opacity,1))}.border-purple-400{--tw-border-opacity:1;border-color:rgb(192 132 252/var(--tw-border-opacity,1))}.border-purple-50{--tw-border-opacity:1;border-color:rgb(250 245 255/var(--tw-border-opacity,1))}.border-purple-500{--tw-border-opacity:1;border-color:rgb(168 85 247/var(--tw-border-opacity,1))}.border-purple-600{--tw-border-opacity:1;border-color:rgb(147 51 234/var(--tw-border-opacity,1))}.border-purple-700{--tw-border-opacity:1;border-color:rgb(126 34 206/var(--tw-border-opacity,1))}.border-purple-800{--tw-border-opacity:1;border-color:rgb(107 33 168/var(--tw-border-opacity,1))}.border-purple-900{--tw-border-opacity:1;border-color:rgb(88 28 135/var(--tw-border-opacity,1))}.border-red-100{--tw-border-opacity:1;border-color:rgb(254 226 226/var(--tw-border-opacity,1))}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-red-200\/80{border-color:hsla(0,96%,89%,.8)}.border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.border-red-300\/60{border-color:hsla(0,94%,82%,.6)}.border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.border-red-50{--tw-border-opacity:1;border-color:rgb(254 242 242/var(--tw-border-opacity,1))}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.border-red-600{--tw-border-opacity:1;border-color:rgb(220 38 38/var(--tw-border-opacity,1))}.border-red-700{--tw-border-opacity:1;border-color:rgb(185 28 28/var(--tw-border-opacity,1))}.border-red-800{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.border-red-900{--tw-border-opacity:1;border-color:rgb(127 29 29/var(--tw-border-opacity,1))}.border-rose-100{--tw-border-opacity:1;border-color:rgb(255 228 230/var(--tw-border-opacity,1))}.border-rose-200{--tw-border-opacity:1;border-color:rgb(254 205 211/var(--tw-border-opacity,1))}.border-rose-300{--tw-border-opacity:1;border-color:rgb(253 164 175/var(--tw-border-opacity,1))}.border-rose-300\/50{border-color:rgba(253,164,175,.5)}.border-rose-400{--tw-border-opacity:1;border-color:rgb(251 113 133/var(--tw-border-opacity,1))}.border-rose-400\/30{border-color:rgba(251,113,133,.3)}.border-rose-50{--tw-border-opacity:1;border-color:rgb(255 241 242/var(--tw-border-opacity,1))}.border-rose-500{--tw-border-opacity:1;border-color:rgb(244 63 94/var(--tw-border-opacity,1))}.border-rose-600{--tw-border-opacity:1;border-color:rgb(225 29 72/var(--tw-border-opacity,1))}.border-rose-700{--tw-border-opacity:1;border-color:rgb(190 18 60/var(--tw-border-opacity,1))}.border-rose-800{--tw-border-opacity:1;border-color:rgb(159 18 57/var(--tw-border-opacity,1))}.border-rose-900{--tw-border-opacity:1;border-color:rgb(136 19 55/var(--tw-border-opacity,1))}.border-sky-100{--tw-border-opacity:1;border-color:rgb(224 242 254/var(--tw-border-opacity,1))}.border-sky-200{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity,1))}.border-slate-100{--tw-border-opacity:1;border-color:rgb(241 245 249/var(--tw-border-opacity,1))}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.border-slate-200\/60{border-color:rgba(226,232,240,.6)}.border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.border-slate-400{--tw-border-opacity:1;border-color:rgb(148 163 184/var(--tw-border-opacity,1))}.border-slate-50{--tw-border-opacity:1;border-color:rgb(248 250 252/var(--tw-border-opacity,1))}.border-slate-500{--tw-border-opacity:1;border-color:rgb(100 116 139/var(--tw-border-opacity,1))}.border-slate-600{--tw-border-opacity:1;border-color:rgb(71 85 105/var(--tw-border-opacity,1))}.border-slate-700{--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1))}.border-slate-800{--tw-border-opacity:1;border-color:rgb(30 41 59/var(--tw-border-opacity,1))}.border-slate-900{--tw-border-opacity:1;border-color:rgb(15 23 42/var(--tw-border-opacity,1))}.border-teal-100{--tw-border-opacity:1;border-color:rgb(204 251 241/var(--tw-border-opacity,1))}.border-teal-200{--tw-border-opacity:1;border-color:rgb(153 246 228/var(--tw-border-opacity,1))}.border-teal-300{--tw-border-opacity:1;border-color:rgb(94 234 212/var(--tw-border-opacity,1))}.border-teal-400{--tw-border-opacity:1;border-color:rgb(45 212 191/var(--tw-border-opacity,1))}.border-teal-50{--tw-border-opacity:1;border-color:rgb(240 253 250/var(--tw-border-opacity,1))}.border-teal-500{--tw-border-opacity:1;border-color:rgb(20 184 166/var(--tw-border-opacity,1))}.border-teal-600{--tw-border-opacity:1;border-color:rgb(13 148 136/var(--tw-border-opacity,1))}.border-teal-700{--tw-border-opacity:1;border-color:rgb(15 118 110/var(--tw-border-opacity,1))}.border-teal-800{--tw-border-opacity:1;border-color:rgb(17 94 89/var(--tw-border-opacity,1))}.border-teal-900{--tw-border-opacity:1;border-color:rgb(19 78 74/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.border-violet-100{--tw-border-opacity:1;border-color:rgb(237 233 254/var(--tw-border-opacity,1))}.border-violet-200{--tw-border-opacity:1;border-color:rgb(221 214 254/var(--tw-border-opacity,1))}.border-violet-300{--tw-border-opacity:1;border-color:rgb(196 181 253/var(--tw-border-opacity,1))}.border-violet-400{--tw-border-opacity:1;border-color:rgb(167 139 250/var(--tw-border-opacity,1))}.border-violet-50{--tw-border-opacity:1;border-color:rgb(245 243 255/var(--tw-border-opacity,1))}.border-violet-500{--tw-border-opacity:1;border-color:rgb(139 92 246/var(--tw-border-opacity,1))}.border-violet-600{--tw-border-opacity:1;border-color:rgb(124 58 237/var(--tw-border-opacity,1))}.border-violet-700{--tw-border-opacity:1;border-color:rgb(109 40 217/var(--tw-border-opacity,1))}.border-violet-800{--tw-border-opacity:1;border-color:rgb(91 33 182/var(--tw-border-opacity,1))}.border-violet-900{--tw-border-opacity:1;border-color:rgb(76 29 149/var(--tw-border-opacity,1))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.border-white\/10{border-color:hsla(0,0%,100%,.1)}.border-white\/15{border-color:hsla(0,0%,100%,.15)}.border-white\/20{border-color:hsla(0,0%,100%,.2)}.border-yellow-100{--tw-border-opacity:1;border-color:rgb(254 249 195/var(--tw-border-opacity,1))}.border-yellow-200{--tw-border-opacity:1;border-color:rgb(254 240 138/var(--tw-border-opacity,1))}.border-yellow-300{--tw-border-opacity:1;border-color:rgb(253 224 71/var(--tw-border-opacity,1))}.border-yellow-400{--tw-border-opacity:1;border-color:rgb(250 204 21/var(--tw-border-opacity,1))}.border-yellow-50{--tw-border-opacity:1;border-color:rgb(254 252 232/var(--tw-border-opacity,1))}.border-yellow-500{--tw-border-opacity:1;border-color:rgb(234 179 8/var(--tw-border-opacity,1))}.border-yellow-600{--tw-border-opacity:1;border-color:rgb(202 138 4/var(--tw-border-opacity,1))}.border-yellow-700{--tw-border-opacity:1;border-color:rgb(161 98 7/var(--tw-border-opacity,1))}.border-yellow-800{--tw-border-opacity:1;border-color:rgb(133 77 14/var(--tw-border-opacity,1))}.border-yellow-900{--tw-border-opacity:1;border-color:rgb(113 63 18/var(--tw-border-opacity,1))}.border-zinc-100{--tw-border-opacity:1;border-color:rgb(244 244 245/var(--tw-border-opacity,1))}.border-zinc-200{--tw-border-opacity:1;border-color:rgb(228 228 231/var(--tw-border-opacity,1))}.border-zinc-300{--tw-border-opacity:1;border-color:rgb(212 212 216/var(--tw-border-opacity,1))}.border-zinc-400{--tw-border-opacity:1;border-color:rgb(161 161 170/var(--tw-border-opacity,1))}.border-zinc-50{--tw-border-opacity:1;border-color:rgb(250 250 250/var(--tw-border-opacity,1))}.border-zinc-500{--tw-border-opacity:1;border-color:rgb(113 113 122/var(--tw-border-opacity,1))}.border-zinc-600{--tw-border-opacity:1;border-color:rgb(82 82 91/var(--tw-border-opacity,1))}.border-zinc-700{--tw-border-opacity:1;border-color:rgb(63 63 70/var(--tw-border-opacity,1))}.border-zinc-800{--tw-border-opacity:1;border-color:rgb(39 39 42/var(--tw-border-opacity,1))}.border-zinc-900{--tw-border-opacity:1;border-color:rgb(24 24 27/var(--tw-border-opacity,1))}.border-b-slate-800{--tw-border-opacity:1;border-bottom-color:rgb(30 41 59/var(--tw-border-opacity,1))}.border-l-amber-300{--tw-border-opacity:1;border-left-color:rgb(252 211 77/var(--tw-border-opacity,1))}.border-l-amber-400{--tw-border-opacity:1;border-left-color:rgb(251 191 36/var(--tw-border-opacity,1))}.border-l-amber-500{--tw-border-opacity:1;border-left-color:rgb(245 158 11/var(--tw-border-opacity,1))}.border-l-blue-300{--tw-border-opacity:1;border-left-color:rgb(147 197 253/var(--tw-border-opacity,1))}.border-l-blue-400{--tw-border-opacity:1;border-left-color:rgb(96 165 250/var(--tw-border-opacity,1))}.border-l-blue-500{--tw-border-opacity:1;border-left-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-l-cyan-500{--tw-border-opacity:1;border-left-color:rgb(6 182 212/var(--tw-border-opacity,1))}.border-l-emerald-300{--tw-border-opacity:1;border-left-color:rgb(110 231 183/var(--tw-border-opacity,1))}.border-l-emerald-400{--tw-border-opacity:1;border-left-color:rgb(52 211 153/var(--tw-border-opacity,1))}.border-l-emerald-500{--tw-border-opacity:1;border-left-color:rgb(16 185 129/var(--tw-border-opacity,1))}.border-l-fuchsia-500{--tw-border-opacity:1;border-left-color:rgb(217 70 239/var(--tw-border-opacity,1))}.border-l-gray-200{--tw-border-opacity:1;border-left-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-l-gray-300{--tw-border-opacity:1;border-left-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-l-gray-400{--tw-border-opacity:1;border-left-color:rgb(156 163 175/var(--tw-border-opacity,1))}.border-l-gray-500{--tw-border-opacity:1;border-left-color:rgb(107 114 128/var(--tw-border-opacity,1))}.border-l-green-500{--tw-border-opacity:1;border-left-color:rgb(34 197 94/var(--tw-border-opacity,1))}.border-l-green-600{--tw-border-opacity:1;border-left-color:rgb(22 163 74/var(--tw-border-opacity,1))}.border-l-indigo-500{--tw-border-opacity:1;border-left-color:rgb(99 102 241/var(--tw-border-opacity,1))}.border-l-lime-600{--tw-border-opacity:1;border-left-color:rgb(101 163 13/var(--tw-border-opacity,1))}.border-l-orange-300{--tw-border-opacity:1;border-left-color:rgb(253 186 116/var(--tw-border-opacity,1))}.border-l-orange-400{--tw-border-opacity:1;border-left-color:rgb(251 146 60/var(--tw-border-opacity,1))}.border-l-orange-500{--tw-border-opacity:1;border-left-color:rgb(249 115 22/var(--tw-border-opacity,1))}.border-l-pink-300{--tw-border-opacity:1;border-left-color:rgb(249 168 212/var(--tw-border-opacity,1))}.border-l-pink-400{--tw-border-opacity:1;border-left-color:rgb(244 114 182/var(--tw-border-opacity,1))}.border-l-pink-500{--tw-border-opacity:1;border-left-color:rgb(236 72 153/var(--tw-border-opacity,1))}.border-l-purple-300{--tw-border-opacity:1;border-left-color:rgb(216 180 254/var(--tw-border-opacity,1))}.border-l-purple-400{--tw-border-opacity:1;border-left-color:rgb(192 132 252/var(--tw-border-opacity,1))}.border-l-purple-500{--tw-border-opacity:1;border-left-color:rgb(168 85 247/var(--tw-border-opacity,1))}.border-l-red-300{--tw-border-opacity:1;border-left-color:rgb(252 165 165/var(--tw-border-opacity,1))}.border-l-red-400{--tw-border-opacity:1;border-left-color:rgb(248 113 113/var(--tw-border-opacity,1))}.border-l-red-500{--tw-border-opacity:1;border-left-color:rgb(239 68 68/var(--tw-border-opacity,1))}.border-l-rose-400\/60{border-left-color:rgba(251,113,133,.6)}.border-l-rose-500{--tw-border-opacity:1;border-left-color:rgb(244 63 94/var(--tw-border-opacity,1))}.border-l-sky-500{--tw-border-opacity:1;border-left-color:rgb(14 165 233/var(--tw-border-opacity,1))}.border-l-slate-300{--tw-border-opacity:1;border-left-color:rgb(203 213 225/var(--tw-border-opacity,1))}.border-l-slate-400{--tw-border-opacity:1;border-left-color:rgb(148 163 184/var(--tw-border-opacity,1))}.border-l-slate-500{--tw-border-opacity:1;border-left-color:rgb(100 116 139/var(--tw-border-opacity,1))}.border-l-teal-500{--tw-border-opacity:1;border-left-color:rgb(20 184 166/var(--tw-border-opacity,1))}.border-l-teal-600{--tw-border-opacity:1;border-left-color:rgb(13 148 136/var(--tw-border-opacity,1))}.border-l-white\/20{border-left-color:hsla(0,0%,100%,.2)}.border-l-yellow-500{--tw-border-opacity:1;border-left-color:rgb(234 179 8/var(--tw-border-opacity,1))}.border-t-amber-300{--tw-border-opacity:1;border-top-color:rgb(252 211 77/var(--tw-border-opacity,1))}.border-t-amber-400{--tw-border-opacity:1;border-top-color:rgb(251 191 36/var(--tw-border-opacity,1))}.border-t-amber-500{--tw-border-opacity:1;border-top-color:rgb(245 158 11/var(--tw-border-opacity,1))}.border-t-blue-300{--tw-border-opacity:1;border-top-color:rgb(147 197 253/var(--tw-border-opacity,1))}.border-t-blue-400{--tw-border-opacity:1;border-top-color:rgb(96 165 250/var(--tw-border-opacity,1))}.border-t-blue-500{--tw-border-opacity:1;border-top-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-t-emerald-300{--tw-border-opacity:1;border-top-color:rgb(110 231 183/var(--tw-border-opacity,1))}.border-t-emerald-400{--tw-border-opacity:1;border-top-color:rgb(52 211 153/var(--tw-border-opacity,1))}.border-t-emerald-500{--tw-border-opacity:1;border-top-color:rgb(16 185 129/var(--tw-border-opacity,1))}.border-t-gray-300{--tw-border-opacity:1;border-top-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-t-gray-400{--tw-border-opacity:1;border-top-color:rgb(156 163 175/var(--tw-border-opacity,1))}.border-t-gray-500{--tw-border-opacity:1;border-top-color:rgb(107 114 128/var(--tw-border-opacity,1))}.border-t-orange-300{--tw-border-opacity:1;border-top-color:rgb(253 186 116/var(--tw-border-opacity,1))}.border-t-orange-400{--tw-border-opacity:1;border-top-color:rgb(251 146 60/var(--tw-border-opacity,1))}.border-t-orange-500{--tw-border-opacity:1;border-top-color:rgb(249 115 22/var(--tw-border-opacity,1))}.border-t-pink-300{--tw-border-opacity:1;border-top-color:rgb(249 168 212/var(--tw-border-opacity,1))}.border-t-pink-400{--tw-border-opacity:1;border-top-color:rgb(244 114 182/var(--tw-border-opacity,1))}.border-t-pink-500{--tw-border-opacity:1;border-top-color:rgb(236 72 153/var(--tw-border-opacity,1))}.border-t-purple-300{--tw-border-opacity:1;border-top-color:rgb(216 180 254/var(--tw-border-opacity,1))}.border-t-purple-400{--tw-border-opacity:1;border-top-color:rgb(192 132 252/var(--tw-border-opacity,1))}.border-t-purple-500{--tw-border-opacity:1;border-top-color:rgb(168 85 247/var(--tw-border-opacity,1))}.border-t-red-300{--tw-border-opacity:1;border-top-color:rgb(252 165 165/var(--tw-border-opacity,1))}.border-t-red-400{--tw-border-opacity:1;border-top-color:rgb(248 113 113/var(--tw-border-opacity,1))}.border-t-red-500{--tw-border-opacity:1;border-top-color:rgb(239 68 68/var(--tw-border-opacity,1))}.border-t-slate-300{--tw-border-opacity:1;border-top-color:rgb(203 213 225/var(--tw-border-opacity,1))}.border-t-slate-400{--tw-border-opacity:1;border-top-color:rgb(148 163 184/var(--tw-border-opacity,1))}.border-t-slate-500{--tw-border-opacity:1;border-top-color:rgb(100 116 139/var(--tw-border-opacity,1))}.border-t-slate-800{--tw-border-opacity:1;border-top-color:rgb(30 41 59/var(--tw-border-opacity,1))}.bg-\[\#F8FAFC\]{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-amber-100{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.bg-amber-200{--tw-bg-opacity:1;background-color:rgb(253 230 138/var(--tw-bg-opacity,1))}.bg-amber-300{--tw-bg-opacity:1;background-color:rgb(252 211 77/var(--tw-bg-opacity,1))}.bg-amber-400{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-amber-50\/60{background-color:rgba(255,251,235,.6)}.bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.bg-amber-500\/20{background-color:rgba(245,158,11,.2)}.bg-amber-600{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity,1))}.bg-amber-700{--tw-bg-opacity:1;background-color:rgb(180 83 9/var(--tw-bg-opacity,1))}.bg-amber-800{--tw-bg-opacity:1;background-color:rgb(146 64 14/var(--tw-bg-opacity,1))}.bg-amber-900{--tw-bg-opacity:1;background-color:rgb(120 53 15/var(--tw-bg-opacity,1))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/40{background-color:rgba(0,0,0,.4)}.bg-black\/45{background-color:rgba(0,0,0,.45)}.bg-black\/50{background-color:rgba(0,0,0,.5)}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity,1))}.bg-blue-300{--tw-bg-opacity:1;background-color:rgb(147 197 253/var(--tw-bg-opacity,1))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(96 165 250/var(--tw-bg-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-50\/20{background-color:rgba(239,246,255,.2)}.bg-blue-50\/30{background-color:rgba(239,246,255,.3)}.bg-blue-50\/40{background-color:rgba(239,246,255,.4)}.bg-blue-50\/50{background-color:rgba(239,246,255,.5)}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-blue-500\/20{background-color:rgba(59,130,246,.2)}.bg-blue-500\/5{background-color:rgba(59,130,246,.05)}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-blue-700{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.bg-blue-800{--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity,1))}.bg-blue-900{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.bg-brand-100{--tw-bg-opacity:1;background-color:rgb(217 234 255/var(--tw-bg-opacity,1))}.bg-brand-200{--tw-bg-opacity:1;background-color:rgb(185 216 255/var(--tw-bg-opacity,1))}.bg-brand-300{--tw-bg-opacity:1;background-color:rgb(144 192 255/var(--tw-bg-opacity,1))}.bg-brand-400{--tw-bg-opacity:1;background-color:rgb(93 160 255/var(--tw-bg-opacity,1))}.bg-brand-50{--tw-bg-opacity:1;background-color:rgb(238 246 255/var(--tw-bg-opacity,1))}.bg-brand-500{--tw-bg-opacity:1;background-color:rgb(47 127 255/var(--tw-bg-opacity,1))}.bg-brand-600{--tw-bg-opacity:1;background-color:rgb(31 105 229/var(--tw-bg-opacity,1))}.bg-brand-700{--tw-bg-opacity:1;background-color:rgb(28 87 191/var(--tw-bg-opacity,1))}.bg-brand-800{--tw-bg-opacity:1;background-color:rgb(26 73 155/var(--tw-bg-opacity,1))}.bg-brand-900{--tw-bg-opacity:1;background-color:rgb(23 63 130/var(--tw-bg-opacity,1))}.bg-current{background-color:currentColor}.bg-emerald-100{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}.bg-emerald-200{--tw-bg-opacity:1;background-color:rgb(167 243 208/var(--tw-bg-opacity,1))}.bg-emerald-300{--tw-bg-opacity:1;background-color:rgb(110 231 183/var(--tw-bg-opacity,1))}.bg-emerald-400{--tw-bg-opacity:1;background-color:rgb(52 211 153/var(--tw-bg-opacity,1))}.bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.bg-emerald-50\/30{background-color:rgba(236,253,245,.3)}.bg-emerald-50\/40{background-color:rgba(236,253,245,.4)}.bg-emerald-500{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.bg-emerald-500\/20{background-color:rgba(16,185,129,.2)}.bg-emerald-600{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.bg-emerald-700{--tw-bg-opacity:1;background-color:rgb(4 120 87/var(--tw-bg-opacity,1))}.bg-emerald-800{--tw-bg-opacity:1;background-color:rgb(6 95 70/var(--tw-bg-opacity,1))}.bg-emerald-900{--tw-bg-opacity:1;background-color:rgb(6 78 59/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-100\/80{background-color:rgba(243,244,246,.8)}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-200\/60{background-color:rgba(229,231,235,.6)}.bg-gray-200\/70{background-color:rgba(229,231,235,.7)}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.bg-gray-300\/60{background-color:rgba(209,213,219,.6)}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.bg-gray-400\/5{background-color:rgba(156,163,175,.05)}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-gray-50\/30{background-color:rgba(249,250,251,.3)}.bg-gray-50\/40{background-color:rgba(249,250,251,.4)}.bg-gray-50\/50{background-color:rgba(249,250,251,.5)}.bg-gray-50\/60{background-color:rgba(249,250,251,.6)}.bg-gray-50\/80{background-color:rgba(249,250,251,.8)}.bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.bg-gray-500\/5{background-color:hsla(220,9%,46%,.05)}.bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.bg-gray-800\/50{background-color:rgba(31,41,55,.5)}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.bg-gray-900\/90{background-color:rgba(17,24,39,.9)}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity,1))}.bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity,1))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(74 222 128/var(--tw-bg-opacity,1))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-green-50\/50{background-color:rgba(240,253,244,.5)}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.bg-green-800{--tw-bg-opacity:1;background-color:rgb(22 101 52/var(--tw-bg-opacity,1))}.bg-green-900{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity,1))}.bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity,1))}.bg-indigo-300{--tw-bg-opacity:1;background-color:rgb(165 180 252/var(--tw-bg-opacity,1))}.bg-indigo-400{--tw-bg-opacity:1;background-color:rgb(129 140 248/var(--tw-bg-opacity,1))}.bg-indigo-50{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.bg-indigo-50\/40{background-color:rgba(238,242,255,.4)}.bg-indigo-500{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.bg-indigo-700{--tw-bg-opacity:1;background-color:rgb(67 56 202/var(--tw-bg-opacity,1))}.bg-indigo-800{--tw-bg-opacity:1;background-color:rgb(55 48 163/var(--tw-bg-opacity,1))}.bg-indigo-900{--tw-bg-opacity:1;background-color:rgb(49 46 129/var(--tw-bg-opacity,1))}.bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.bg-orange-200{--tw-bg-opacity:1;background-color:rgb(254 215 170/var(--tw-bg-opacity,1))}.bg-orange-300{--tw-bg-opacity:1;background-color:rgb(253 186 116/var(--tw-bg-opacity,1))}.bg-orange-400{--tw-bg-opacity:1;background-color:rgb(251 146 60/var(--tw-bg-opacity,1))}.bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.bg-orange-500{--tw-bg-opacity:1;background-color:rgb(249 115 22/var(--tw-bg-opacity,1))}.bg-orange-600{--tw-bg-opacity:1;background-color:rgb(234 88 12/var(--tw-bg-opacity,1))}.bg-orange-700{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}.bg-orange-800{--tw-bg-opacity:1;background-color:rgb(154 52 18/var(--tw-bg-opacity,1))}.bg-orange-900{--tw-bg-opacity:1;background-color:rgb(124 45 18/var(--tw-bg-opacity,1))}.bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity,1))}.bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity,1))}.bg-pink-300{--tw-bg-opacity:1;background-color:rgb(249 168 212/var(--tw-bg-opacity,1))}.bg-pink-400{--tw-bg-opacity:1;background-color:rgb(244 114 182/var(--tw-bg-opacity,1))}.bg-pink-50{--tw-bg-opacity:1;background-color:rgb(253 242 248/var(--tw-bg-opacity,1))}.bg-pink-500{--tw-bg-opacity:1;background-color:rgb(236 72 153/var(--tw-bg-opacity,1))}.bg-pink-600{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity,1))}.bg-pink-700{--tw-bg-opacity:1;background-color:rgb(190 24 93/var(--tw-bg-opacity,1))}.bg-pink-800{--tw-bg-opacity:1;background-color:rgb(157 23 77/var(--tw-bg-opacity,1))}.bg-pink-900{--tw-bg-opacity:1;background-color:rgb(131 24 67/var(--tw-bg-opacity,1))}.bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity,1))}.bg-purple-300{--tw-bg-opacity:1;background-color:rgb(216 180 254/var(--tw-bg-opacity,1))}.bg-purple-400{--tw-bg-opacity:1;background-color:rgb(192 132 252/var(--tw-bg-opacity,1))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.bg-purple-50\/50{background-color:rgba(250,245,255,.5)}.bg-purple-50\/60{background-color:rgba(250,245,255,.6)}.bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.bg-purple-600{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.bg-purple-700{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.bg-purple-800{--tw-bg-opacity:1;background-color:rgb(107 33 168/var(--tw-bg-opacity,1))}.bg-purple-900{--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-200{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity,1))}.bg-red-300{--tw-bg-opacity:1;background-color:rgb(252 165 165/var(--tw-bg-opacity,1))}.bg-red-400{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-50\/30{background-color:hsla(0,86%,97%,.3)}.bg-red-50\/50{background-color:hsla(0,86%,97%,.5)}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.bg-red-800{--tw-bg-opacity:1;background-color:rgb(153 27 27/var(--tw-bg-opacity,1))}.bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.bg-rose-100{--tw-bg-opacity:1;background-color:rgb(255 228 230/var(--tw-bg-opacity,1))}.bg-rose-200{--tw-bg-opacity:1;background-color:rgb(254 205 211/var(--tw-bg-opacity,1))}.bg-rose-300{--tw-bg-opacity:1;background-color:rgb(253 164 175/var(--tw-bg-opacity,1))}.bg-rose-400{--tw-bg-opacity:1;background-color:rgb(251 113 133/var(--tw-bg-opacity,1))}.bg-rose-50{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity,1))}.bg-rose-500{--tw-bg-opacity:1;background-color:rgb(244 63 94/var(--tw-bg-opacity,1))}.bg-rose-500\/20{background-color:rgba(244,63,94,.2)}.bg-rose-500\/5{background-color:rgba(244,63,94,.05)}.bg-rose-600{--tw-bg-opacity:1;background-color:rgb(225 29 72/var(--tw-bg-opacity,1))}.bg-rose-700{--tw-bg-opacity:1;background-color:rgb(190 18 60/var(--tw-bg-opacity,1))}.bg-rose-800{--tw-bg-opacity:1;background-color:rgb(159 18 57/var(--tw-bg-opacity,1))}.bg-rose-900{--tw-bg-opacity:1;background-color:rgb(136 19 55/var(--tw-bg-opacity,1))}.bg-sky-100{--tw-bg-opacity:1;background-color:rgb(224 242 254/var(--tw-bg-opacity,1))}.bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.bg-sky-50\/40{background-color:rgba(240,249,255,.4)}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.bg-slate-300{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity,1))}.bg-slate-400{--tw-bg-opacity:1;background-color:rgb(148 163 184/var(--tw-bg-opacity,1))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-slate-500{--tw-bg-opacity:1;background-color:rgb(100 116 139/var(--tw-bg-opacity,1))}.bg-slate-600{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.bg-slate-700{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.bg-slate-950\/60{background-color:rgba(2,6,23,.6)}.bg-slate-950\/70{background-color:rgba(2,6,23,.7)}.bg-slate-950\/80{background-color:rgba(2,6,23,.8)}.bg-teal-100{--tw-bg-opacity:1;background-color:rgb(204 251 241/var(--tw-bg-opacity,1))}.bg-teal-200{--tw-bg-opacity:1;background-color:rgb(153 246 228/var(--tw-bg-opacity,1))}.bg-teal-300{--tw-bg-opacity:1;background-color:rgb(94 234 212/var(--tw-bg-opacity,1))}.bg-teal-400{--tw-bg-opacity:1;background-color:rgb(45 212 191/var(--tw-bg-opacity,1))}.bg-teal-50{--tw-bg-opacity:1;background-color:rgb(240 253 250/var(--tw-bg-opacity,1))}.bg-teal-500{--tw-bg-opacity:1;background-color:rgb(20 184 166/var(--tw-bg-opacity,1))}.bg-teal-600{--tw-bg-opacity:1;background-color:rgb(13 148 136/var(--tw-bg-opacity,1))}.bg-teal-700{--tw-bg-opacity:1;background-color:rgb(15 118 110/var(--tw-bg-opacity,1))}.bg-teal-800{--tw-bg-opacity:1;background-color:rgb(17 94 89/var(--tw-bg-opacity,1))}.bg-teal-900{--tw-bg-opacity:1;background-color:rgb(19 78 74/var(--tw-bg-opacity,1))}.bg-transparent{background-color:transparent}.bg-violet-100{--tw-bg-opacity:1;background-color:rgb(237 233 254/var(--tw-bg-opacity,1))}.bg-violet-200{--tw-bg-opacity:1;background-color:rgb(221 214 254/var(--tw-bg-opacity,1))}.bg-violet-300{--tw-bg-opacity:1;background-color:rgb(196 181 253/var(--tw-bg-opacity,1))}.bg-violet-400{--tw-bg-opacity:1;background-color:rgb(167 139 250/var(--tw-bg-opacity,1))}.bg-violet-50{--tw-bg-opacity:1;background-color:rgb(245 243 255/var(--tw-bg-opacity,1))}.bg-violet-500{--tw-bg-opacity:1;background-color:rgb(139 92 246/var(--tw-bg-opacity,1))}.bg-violet-600{--tw-bg-opacity:1;background-color:rgb(124 58 237/var(--tw-bg-opacity,1))}.bg-violet-700{--tw-bg-opacity:1;background-color:rgb(109 40 217/var(--tw-bg-opacity,1))}.bg-violet-800{--tw-bg-opacity:1;background-color:rgb(91 33 182/var(--tw-bg-opacity,1))}.bg-violet-900{--tw-bg-opacity:1;background-color:rgb(76 29 149/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/10{background-color:hsla(0,0%,100%,.1)}.bg-white\/20{background-color:hsla(0,0%,100%,.2)}.bg-white\/5{background-color:hsla(0,0%,100%,.05)}.bg-white\/60{background-color:hsla(0,0%,100%,.6)}.bg-white\/70{background-color:hsla(0,0%,100%,.7)}.bg-white\/80{background-color:hsla(0,0%,100%,.8)}.bg-white\/90{background-color:hsla(0,0%,100%,.9)}.bg-white\/95{background-color:hsla(0,0%,100%,.95)}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity,1))}.bg-yellow-300{--tw-bg-opacity:1;background-color:rgb(253 224 71/var(--tw-bg-opacity,1))}.bg-yellow-400{--tw-bg-opacity:1;background-color:rgb(250 204 21/var(--tw-bg-opacity,1))}.bg-yellow-50{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity,1))}.bg-yellow-50\/50{background-color:hsla(55,92%,95%,.5)}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.bg-yellow-600{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.bg-yellow-700{--tw-bg-opacity:1;background-color:rgb(161 98 7/var(--tw-bg-opacity,1))}.bg-yellow-800{--tw-bg-opacity:1;background-color:rgb(133 77 14/var(--tw-bg-opacity,1))}.bg-yellow-900{--tw-bg-opacity:1;background-color:rgb(113 63 18/var(--tw-bg-opacity,1))}.bg-zinc-100{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity,1))}.bg-zinc-200{--tw-bg-opacity:1;background-color:rgb(228 228 231/var(--tw-bg-opacity,1))}.bg-zinc-300{--tw-bg-opacity:1;background-color:rgb(212 212 216/var(--tw-bg-opacity,1))}.bg-zinc-400{--tw-bg-opacity:1;background-color:rgb(161 161 170/var(--tw-bg-opacity,1))}.bg-zinc-50{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.bg-zinc-500{--tw-bg-opacity:1;background-color:rgb(113 113 122/var(--tw-bg-opacity,1))}.bg-zinc-600{--tw-bg-opacity:1;background-color:rgb(82 82 91/var(--tw-bg-opacity,1))}.bg-zinc-700{--tw-bg-opacity:1;background-color:rgb(63 63 70/var(--tw-bg-opacity,1))}.bg-zinc-800{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.bg-zinc-900{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity,1))}.bg-opacity-50{--tw-bg-opacity:0.5}.bg-opacity-75{--tw-bg-opacity:0.75}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-amber-100{--tw-gradient-from:#fef3c7 var(--tw-gradient-from-position);--tw-gradient-to:hsla(48,96%,89%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-amber-200{--tw-gradient-from:#fde68a var(--tw-gradient-from-position);--tw-gradient-to:hsla(48,97%,77%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-amber-300{--tw-gradient-from:#fcd34d var(--tw-gradient-from-position);--tw-gradient-to:rgba(252,211,77,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-amber-400{--tw-gradient-from:#fbbf24 var(--tw-gradient-from-position);--tw-gradient-to:rgba(251,191,36,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-amber-400\/30{--tw-gradient-from:rgba(251,191,36,.3) var(--tw-gradient-from-position);--tw-gradient-to:rgba(251,191,36,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-amber-50{--tw-gradient-from:#fffbeb var(--tw-gradient-from-position);--tw-gradient-to:rgba(255,251,235,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-amber-500{--tw-gradient-from:#f59e0b var(--tw-gradient-from-position);--tw-gradient-to:rgba(245,158,11,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-amber-600{--tw-gradient-from:#d97706 var(--tw-gradient-from-position);--tw-gradient-to:rgba(217,119,6,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-amber-700{--tw-gradient-from:#b45309 var(--tw-gradient-from-position);--tw-gradient-to:rgba(180,83,9,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-amber-800{--tw-gradient-from:#92400e var(--tw-gradient-from-position);--tw-gradient-to:rgba(146,64,14,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-amber-900{--tw-gradient-from:#78350f var(--tw-gradient-from-position);--tw-gradient-to:rgba(120,53,15,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-100{--tw-gradient-from:#dbeafe var(--tw-gradient-from-position);--tw-gradient-to:rgba(219,234,254,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-200{--tw-gradient-from:#bfdbfe var(--tw-gradient-from-position);--tw-gradient-to:rgba(191,219,254,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-300{--tw-gradient-from:#93c5fd var(--tw-gradient-from-position);--tw-gradient-to:rgba(147,197,253,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-400{--tw-gradient-from:#60a5fa var(--tw-gradient-from-position);--tw-gradient-to:rgba(96,165,250,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-50{--tw-gradient-from:#eff6ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(239,246,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-500{--tw-gradient-from:#3b82f6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(59,130,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-500\/10{--tw-gradient-from:rgba(59,130,246,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(59,130,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-500\/20{--tw-gradient-from:rgba(59,130,246,.2) var(--tw-gradient-from-position);--tw-gradient-to:rgba(59,130,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-600{--tw-gradient-from:#2563eb var(--tw-gradient-from-position);--tw-gradient-to:rgba(37,99,235,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-700{--tw-gradient-from:#1d4ed8 var(--tw-gradient-from-position);--tw-gradient-to:rgba(29,78,216,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-800{--tw-gradient-from:#1e40af var(--tw-gradient-from-position);--tw-gradient-to:rgba(30,64,175,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-900{--tw-gradient-from:#1e3a8a var(--tw-gradient-from-position);--tw-gradient-to:rgba(30,58,138,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-brand-100{--tw-gradient-from:#d9eaff var(--tw-gradient-from-position);--tw-gradient-to:rgba(217,234,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-brand-200{--tw-gradient-from:#b9d8ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(185,216,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-brand-300{--tw-gradient-from:#90c0ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(144,192,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-brand-400{--tw-gradient-from:#5da0ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(93,160,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-brand-50{--tw-gradient-from:#eef6ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(238,246,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-brand-500{--tw-gradient-from:#2f7fff var(--tw-gradient-from-position);--tw-gradient-to:rgba(47,127,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-brand-600{--tw-gradient-from:#1f69e5 var(--tw-gradient-from-position);--tw-gradient-to:rgba(31,105,229,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-brand-700{--tw-gradient-from:#1c57bf var(--tw-gradient-from-position);--tw-gradient-to:rgba(28,87,191,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-brand-800{--tw-gradient-from:#1a499b var(--tw-gradient-from-position);--tw-gradient-to:rgba(26,73,155,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-brand-900{--tw-gradient-from:#173f82 var(--tw-gradient-from-position);--tw-gradient-to:rgba(23,63,130,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-cyan-50{--tw-gradient-from:#ecfeff var(--tw-gradient-from-position);--tw-gradient-to:rgba(236,254,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-cyan-500{--tw-gradient-from:#06b6d4 var(--tw-gradient-from-position);--tw-gradient-to:rgba(6,182,212,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-emerald-100{--tw-gradient-from:#d1fae5 var(--tw-gradient-from-position);--tw-gradient-to:rgba(209,250,229,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-emerald-200{--tw-gradient-from:#a7f3d0 var(--tw-gradient-from-position);--tw-gradient-to:rgba(167,243,208,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-emerald-300{--tw-gradient-from:#6ee7b7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(110,231,183,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-emerald-400{--tw-gradient-from:#34d399 var(--tw-gradient-from-position);--tw-gradient-to:rgba(52,211,153,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-emerald-400\/30{--tw-gradient-from:rgba(52,211,153,.3) var(--tw-gradient-from-position);--tw-gradient-to:rgba(52,211,153,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-emerald-50{--tw-gradient-from:#ecfdf5 var(--tw-gradient-from-position);--tw-gradient-to:rgba(236,253,245,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-emerald-500{--tw-gradient-from:#10b981 var(--tw-gradient-from-position);--tw-gradient-to:rgba(16,185,129,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-emerald-600{--tw-gradient-from:#059669 var(--tw-gradient-from-position);--tw-gradient-to:rgba(5,150,105,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-emerald-700{--tw-gradient-from:#047857 var(--tw-gradient-from-position);--tw-gradient-to:rgba(4,120,87,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-emerald-800{--tw-gradient-from:#065f46 var(--tw-gradient-from-position);--tw-gradient-to:rgba(6,95,70,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-emerald-900{--tw-gradient-from:#064e3b var(--tw-gradient-from-position);--tw-gradient-to:rgba(6,78,59,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-fuchsia-500{--tw-gradient-from:#d946ef var(--tw-gradient-from-position);--tw-gradient-to:rgba(217,70,239,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-gray-100{--tw-gradient-from:#f3f4f6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(243,244,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-gray-200{--tw-gradient-from:#e5e7eb var(--tw-gradient-from-position);--tw-gradient-to:rgba(229,231,235,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-gray-300{--tw-gradient-from:#d1d5db var(--tw-gradient-from-position);--tw-gradient-to:rgba(209,213,219,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-gray-400{--tw-gradient-from:#9ca3af var(--tw-gradient-from-position);--tw-gradient-to:rgba(156,163,175,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-gray-50{--tw-gradient-from:#f9fafb var(--tw-gradient-from-position);--tw-gradient-to:rgba(249,250,251,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-gray-500{--tw-gradient-from:#6b7280 var(--tw-gradient-from-position);--tw-gradient-to:hsla(220,9%,46%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-gray-600{--tw-gradient-from:#4b5563 var(--tw-gradient-from-position);--tw-gradient-to:rgba(75,85,99,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-gray-700{--tw-gradient-from:#374151 var(--tw-gradient-from-position);--tw-gradient-to:rgba(55,65,81,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-gray-800{--tw-gradient-from:#1f2937 var(--tw-gradient-from-position);--tw-gradient-to:rgba(31,41,55,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-gray-900{--tw-gradient-from:#111827 var(--tw-gradient-from-position);--tw-gradient-to:rgba(17,24,39,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-gray-950{--tw-gradient-from:#030712 var(--tw-gradient-from-position);--tw-gradient-to:rgba(3,7,18,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-100{--tw-gradient-from:#dcfce7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(220,252,231,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-200{--tw-gradient-from:#bbf7d0 var(--tw-gradient-from-position);--tw-gradient-to:rgba(187,247,208,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-300{--tw-gradient-from:#86efac var(--tw-gradient-from-position);--tw-gradient-to:rgba(134,239,172,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-400{--tw-gradient-from:#4ade80 var(--tw-gradient-from-position);--tw-gradient-to:rgba(74,222,128,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-50{--tw-gradient-from:#f0fdf4 var(--tw-gradient-from-position);--tw-gradient-to:rgba(240,253,244,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-500{--tw-gradient-from:#22c55e var(--tw-gradient-from-position);--tw-gradient-to:rgba(34,197,94,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-600{--tw-gradient-from:#16a34a var(--tw-gradient-from-position);--tw-gradient-to:rgba(22,163,74,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-700{--tw-gradient-from:#15803d var(--tw-gradient-from-position);--tw-gradient-to:rgba(21,128,61,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-800{--tw-gradient-from:#166534 var(--tw-gradient-from-position);--tw-gradient-to:rgba(22,101,52,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-900{--tw-gradient-from:#14532d var(--tw-gradient-from-position);--tw-gradient-to:rgba(20,83,45,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-indigo-100{--tw-gradient-from:#e0e7ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(224,231,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-indigo-200{--tw-gradient-from:#c7d2fe var(--tw-gradient-from-position);--tw-gradient-to:rgba(199,210,254,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-indigo-300{--tw-gradient-from:#a5b4fc var(--tw-gradient-from-position);--tw-gradient-to:rgba(165,180,252,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-indigo-400{--tw-gradient-from:#818cf8 var(--tw-gradient-from-position);--tw-gradient-to:rgba(129,140,248,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-indigo-50{--tw-gradient-from:#eef2ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(238,242,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-indigo-500{--tw-gradient-from:#6366f1 var(--tw-gradient-from-position);--tw-gradient-to:rgba(99,102,241,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-indigo-600{--tw-gradient-from:#4f46e5 var(--tw-gradient-from-position);--tw-gradient-to:rgba(79,70,229,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-indigo-700{--tw-gradient-from:#4338ca var(--tw-gradient-from-position);--tw-gradient-to:rgba(67,56,202,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-indigo-800{--tw-gradient-from:#3730a3 var(--tw-gradient-from-position);--tw-gradient-to:rgba(55,48,163,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-indigo-900{--tw-gradient-from:#312e81 var(--tw-gradient-from-position);--tw-gradient-to:rgba(49,46,129,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-orange-100{--tw-gradient-from:#ffedd5 var(--tw-gradient-from-position);--tw-gradient-to:rgba(255,237,213,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-orange-200{--tw-gradient-from:#fed7aa var(--tw-gradient-from-position);--tw-gradient-to:hsla(32,98%,83%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-orange-300{--tw-gradient-from:#fdba74 var(--tw-gradient-from-position);--tw-gradient-to:hsla(31,97%,72%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-orange-400{--tw-gradient-from:#fb923c var(--tw-gradient-from-position);--tw-gradient-to:rgba(251,146,60,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-orange-50{--tw-gradient-from:#fff7ed var(--tw-gradient-from-position);--tw-gradient-to:rgba(255,247,237,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-orange-500{--tw-gradient-from:#f97316 var(--tw-gradient-from-position);--tw-gradient-to:rgba(249,115,22,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-orange-600{--tw-gradient-from:#ea580c var(--tw-gradient-from-position);--tw-gradient-to:rgba(234,88,12,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-orange-700{--tw-gradient-from:#c2410c var(--tw-gradient-from-position);--tw-gradient-to:rgba(194,65,12,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-orange-800{--tw-gradient-from:#9a3412 var(--tw-gradient-from-position);--tw-gradient-to:rgba(154,52,18,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-orange-900{--tw-gradient-from:#7c2d12 var(--tw-gradient-from-position);--tw-gradient-to:rgba(124,45,18,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-pink-100{--tw-gradient-from:#fce7f3 var(--tw-gradient-from-position);--tw-gradient-to:rgba(252,231,243,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-pink-200{--tw-gradient-from:#fbcfe8 var(--tw-gradient-from-position);--tw-gradient-to:rgba(251,207,232,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-pink-300{--tw-gradient-from:#f9a8d4 var(--tw-gradient-from-position);--tw-gradient-to:rgba(249,168,212,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-pink-400{--tw-gradient-from:#f472b6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(244,114,182,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-pink-50{--tw-gradient-from:#fdf2f8 var(--tw-gradient-from-position);--tw-gradient-to:rgba(253,242,248,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-pink-500{--tw-gradient-from:#ec4899 var(--tw-gradient-from-position);--tw-gradient-to:rgba(236,72,153,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-pink-600{--tw-gradient-from:#db2777 var(--tw-gradient-from-position);--tw-gradient-to:rgba(219,39,119,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-pink-700{--tw-gradient-from:#be185d var(--tw-gradient-from-position);--tw-gradient-to:rgba(190,24,93,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-pink-800{--tw-gradient-from:#9d174d var(--tw-gradient-from-position);--tw-gradient-to:rgba(157,23,77,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-pink-900{--tw-gradient-from:#831843 var(--tw-gradient-from-position);--tw-gradient-to:rgba(131,24,67,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-100{--tw-gradient-from:#f3e8ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(243,232,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-200{--tw-gradient-from:#e9d5ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(233,213,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-300{--tw-gradient-from:#d8b4fe var(--tw-gradient-from-position);--tw-gradient-to:rgba(216,180,254,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-400{--tw-gradient-from:#c084fc var(--tw-gradient-from-position);--tw-gradient-to:rgba(192,132,252,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-50{--tw-gradient-from:#faf5ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(250,245,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-600{--tw-gradient-from:#9333ea var(--tw-gradient-from-position);--tw-gradient-to:rgba(147,51,234,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-700{--tw-gradient-from:#7e22ce var(--tw-gradient-from-position);--tw-gradient-to:rgba(126,34,206,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-800{--tw-gradient-from:#6b21a8 var(--tw-gradient-from-position);--tw-gradient-to:rgba(107,33,168,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-900{--tw-gradient-from:#581c87 var(--tw-gradient-from-position);--tw-gradient-to:rgba(88,28,135,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-red-100{--tw-gradient-from:#fee2e2 var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,93%,94%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-red-200{--tw-gradient-from:#fecaca var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,96%,89%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-red-300{--tw-gradient-from:#fca5a5 var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,94%,82%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-red-400{--tw-gradient-from:#f87171 var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,91%,71%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-red-50{--tw-gradient-from:#fef2f2 var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,86%,97%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-red-500{--tw-gradient-from:#ef4444 var(--tw-gradient-from-position);--tw-gradient-to:rgba(239,68,68,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-red-500\/35{--tw-gradient-from:rgba(239,68,68,.35) var(--tw-gradient-from-position);--tw-gradient-to:rgba(239,68,68,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-red-600{--tw-gradient-from:#dc2626 var(--tw-gradient-from-position);--tw-gradient-to:rgba(220,38,38,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-red-700{--tw-gradient-from:#b91c1c var(--tw-gradient-from-position);--tw-gradient-to:rgba(185,28,28,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-red-800{--tw-gradient-from:#991b1b var(--tw-gradient-from-position);--tw-gradient-to:rgba(153,27,27,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-red-900{--tw-gradient-from:#7f1d1d var(--tw-gradient-from-position);--tw-gradient-to:rgba(127,29,29,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-rose-100{--tw-gradient-from:#ffe4e6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(255,228,230,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-rose-200{--tw-gradient-from:#fecdd3 var(--tw-gradient-from-position);--tw-gradient-to:rgba(254,205,211,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-rose-300{--tw-gradient-from:#fda4af var(--tw-gradient-from-position);--tw-gradient-to:rgba(253,164,175,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-rose-400{--tw-gradient-from:#fb7185 var(--tw-gradient-from-position);--tw-gradient-to:rgba(251,113,133,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-rose-50{--tw-gradient-from:#fff1f2 var(--tw-gradient-from-position);--tw-gradient-to:rgba(255,241,242,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-rose-500{--tw-gradient-from:#f43f5e var(--tw-gradient-from-position);--tw-gradient-to:rgba(244,63,94,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-rose-500\/30{--tw-gradient-from:rgba(244,63,94,.3) var(--tw-gradient-from-position);--tw-gradient-to:rgba(244,63,94,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-rose-600{--tw-gradient-from:#e11d48 var(--tw-gradient-from-position);--tw-gradient-to:rgba(225,29,72,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-rose-700{--tw-gradient-from:#be123c var(--tw-gradient-from-position);--tw-gradient-to:rgba(190,18,60,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-rose-800{--tw-gradient-from:#9f1239 var(--tw-gradient-from-position);--tw-gradient-to:rgba(159,18,57,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-rose-900{--tw-gradient-from:#881337 var(--tw-gradient-from-position);--tw-gradient-to:rgba(136,19,55,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-slate-100{--tw-gradient-from:#f1f5f9 var(--tw-gradient-from-position);--tw-gradient-to:rgba(241,245,249,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-slate-200{--tw-gradient-from:#e2e8f0 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,232,240,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-slate-300{--tw-gradient-from:#cbd5e1 var(--tw-gradient-from-position);--tw-gradient-to:rgba(203,213,225,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-slate-400{--tw-gradient-from:#94a3b8 var(--tw-gradient-from-position);--tw-gradient-to:rgba(148,163,184,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-slate-50{--tw-gradient-from:#f8fafc var(--tw-gradient-from-position);--tw-gradient-to:rgba(248,250,252,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-slate-500{--tw-gradient-from:#64748b var(--tw-gradient-from-position);--tw-gradient-to:rgba(100,116,139,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-slate-600{--tw-gradient-from:#475569 var(--tw-gradient-from-position);--tw-gradient-to:rgba(71,85,105,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-slate-700{--tw-gradient-from:#334155 var(--tw-gradient-from-position);--tw-gradient-to:rgba(51,65,85,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-slate-800{--tw-gradient-from:#1e293b var(--tw-gradient-from-position);--tw-gradient-to:rgba(30,41,59,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-slate-900{--tw-gradient-from:#0f172a var(--tw-gradient-from-position);--tw-gradient-to:rgba(15,23,42,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-teal-100{--tw-gradient-from:#ccfbf1 var(--tw-gradient-from-position);--tw-gradient-to:rgba(204,251,241,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-teal-200{--tw-gradient-from:#99f6e4 var(--tw-gradient-from-position);--tw-gradient-to:rgba(153,246,228,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-teal-300{--tw-gradient-from:#5eead4 var(--tw-gradient-from-position);--tw-gradient-to:rgba(94,234,212,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-teal-400{--tw-gradient-from:#2dd4bf var(--tw-gradient-from-position);--tw-gradient-to:rgba(45,212,191,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-teal-50{--tw-gradient-from:#f0fdfa var(--tw-gradient-from-position);--tw-gradient-to:rgba(240,253,250,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-teal-500{--tw-gradient-from:#14b8a6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(20,184,166,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-teal-600{--tw-gradient-from:#0d9488 var(--tw-gradient-from-position);--tw-gradient-to:rgba(13,148,136,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-teal-700{--tw-gradient-from:#0f766e var(--tw-gradient-from-position);--tw-gradient-to:rgba(15,118,110,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-teal-800{--tw-gradient-from:#115e59 var(--tw-gradient-from-position);--tw-gradient-to:rgba(17,94,89,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-teal-900{--tw-gradient-from:#134e4a var(--tw-gradient-from-position);--tw-gradient-to:rgba(19,78,74,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-violet-100{--tw-gradient-from:#ede9fe var(--tw-gradient-from-position);--tw-gradient-to:rgba(237,233,254,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-violet-200{--tw-gradient-from:#ddd6fe var(--tw-gradient-from-position);--tw-gradient-to:rgba(221,214,254,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-violet-300{--tw-gradient-from:#c4b5fd var(--tw-gradient-from-position);--tw-gradient-to:rgba(196,181,253,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-violet-400{--tw-gradient-from:#a78bfa var(--tw-gradient-from-position);--tw-gradient-to:rgba(167,139,250,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-violet-50{--tw-gradient-from:#f5f3ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(245,243,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-violet-500{--tw-gradient-from:#8b5cf6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(139,92,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-violet-600{--tw-gradient-from:#7c3aed var(--tw-gradient-from-position);--tw-gradient-to:rgba(124,58,237,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-violet-700{--tw-gradient-from:#6d28d9 var(--tw-gradient-from-position);--tw-gradient-to:rgba(109,40,217,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-violet-800{--tw-gradient-from:#5b21b6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(91,33,182,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-violet-900{--tw-gradient-from:#4c1d95 var(--tw-gradient-from-position);--tw-gradient-to:rgba(76,29,149,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-yellow-100{--tw-gradient-from:#fef9c3 var(--tw-gradient-from-position);--tw-gradient-to:hsla(55,97%,88%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-yellow-200{--tw-gradient-from:#fef08a var(--tw-gradient-from-position);--tw-gradient-to:hsla(53,98%,77%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-yellow-300{--tw-gradient-from:#fde047 var(--tw-gradient-from-position);--tw-gradient-to:rgba(253,224,71,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-yellow-400{--tw-gradient-from:#facc15 var(--tw-gradient-from-position);--tw-gradient-to:rgba(250,204,21,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-yellow-50{--tw-gradient-from:#fefce8 var(--tw-gradient-from-position);--tw-gradient-to:hsla(55,92%,95%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-yellow-500{--tw-gradient-from:#eab308 var(--tw-gradient-from-position);--tw-gradient-to:rgba(234,179,8,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-yellow-600{--tw-gradient-from:#ca8a04 var(--tw-gradient-from-position);--tw-gradient-to:rgba(202,138,4,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-yellow-700{--tw-gradient-from:#a16207 var(--tw-gradient-from-position);--tw-gradient-to:rgba(161,98,7,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-yellow-800{--tw-gradient-from:#854d0e var(--tw-gradient-from-position);--tw-gradient-to:rgba(133,77,14,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-yellow-900{--tw-gradient-from:#713f12 var(--tw-gradient-from-position);--tw-gradient-to:rgba(113,63,18,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-zinc-100{--tw-gradient-from:#f4f4f5 var(--tw-gradient-from-position);--tw-gradient-to:hsla(240,5%,96%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-zinc-200{--tw-gradient-from:#e4e4e7 var(--tw-gradient-from-position);--tw-gradient-to:hsla(240,6%,90%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-zinc-300{--tw-gradient-from:#d4d4d8 var(--tw-gradient-from-position);--tw-gradient-to:hsla(240,5%,84%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-zinc-400{--tw-gradient-from:#a1a1aa var(--tw-gradient-from-position);--tw-gradient-to:hsla(240,5%,65%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-zinc-50{--tw-gradient-from:#fafafa var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,98%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-zinc-500{--tw-gradient-from:#71717a var(--tw-gradient-from-position);--tw-gradient-to:hsla(240,4%,46%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-zinc-600{--tw-gradient-from:#52525b var(--tw-gradient-from-position);--tw-gradient-to:rgba(82,82,91,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-zinc-700{--tw-gradient-from:#3f3f46 var(--tw-gradient-from-position);--tw-gradient-to:rgba(63,63,70,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-zinc-800{--tw-gradient-from:#27272a var(--tw-gradient-from-position);--tw-gradient-to:rgba(39,39,42,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-zinc-900{--tw-gradient-from:#18181b var(--tw-gradient-from-position);--tw-gradient-to:rgba(24,24,27,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-amber-500\/20{--tw-gradient-to:rgba(245,158,11,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(245,158,11,.2) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-emerald-500\/20{--tw-gradient-to:rgba(16,185,129,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(16,185,129,.2) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-gray-800{--tw-gradient-to:rgba(31,41,55,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#1f2937 var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-gray-900{--tw-gradient-to:rgba(17,24,39,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#111827 var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-red-500\/25{--tw-gradient-to:rgba(239,68,68,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(239,68,68,.25) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-rose-500\/20{--tw-gradient-to:rgba(244,63,94,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(244,63,94,.2) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-slate-950{--tw-gradient-to:rgba(2,6,23,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#020617 var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-amber-100{--tw-gradient-to:#fef3c7 var(--tw-gradient-to-position)}.to-amber-200{--tw-gradient-to:#fde68a var(--tw-gradient-to-position)}.to-amber-300{--tw-gradient-to:#fcd34d var(--tw-gradient-to-position)}.to-amber-400{--tw-gradient-to:#fbbf24 var(--tw-gradient-to-position)}.to-amber-400\/25{--tw-gradient-to:rgba(251,191,36,.25) var(--tw-gradient-to-position)}.to-amber-50{--tw-gradient-to:#fffbeb var(--tw-gradient-to-position)}.to-amber-500{--tw-gradient-to:#f59e0b var(--tw-gradient-to-position)}.to-amber-600{--tw-gradient-to:#d97706 var(--tw-gradient-to-position)}.to-amber-700{--tw-gradient-to:#b45309 var(--tw-gradient-to-position)}.to-amber-800{--tw-gradient-to:#92400e var(--tw-gradient-to-position)}.to-amber-900{--tw-gradient-to:#78350f var(--tw-gradient-to-position)}.to-black{--tw-gradient-to:#000 var(--tw-gradient-to-position)}.to-blue-100{--tw-gradient-to:#dbeafe var(--tw-gradient-to-position)}.to-blue-200{--tw-gradient-to:#bfdbfe var(--tw-gradient-to-position)}.to-blue-300{--tw-gradient-to:#93c5fd var(--tw-gradient-to-position)}.to-blue-400{--tw-gradient-to:#60a5fa var(--tw-gradient-to-position)}.to-blue-50{--tw-gradient-to:#eff6ff var(--tw-gradient-to-position)}.to-blue-500{--tw-gradient-to:#3b82f6 var(--tw-gradient-to-position)}.to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.to-blue-600\/10{--tw-gradient-to:rgba(37,99,235,.1) var(--tw-gradient-to-position)}.to-blue-700{--tw-gradient-to:#1d4ed8 var(--tw-gradient-to-position)}.to-blue-800{--tw-gradient-to:#1e40af var(--tw-gradient-to-position)}.to-blue-900{--tw-gradient-to:#1e3a8a var(--tw-gradient-to-position)}.to-brand-100{--tw-gradient-to:#d9eaff var(--tw-gradient-to-position)}.to-brand-200{--tw-gradient-to:#b9d8ff var(--tw-gradient-to-position)}.to-brand-300{--tw-gradient-to:#90c0ff var(--tw-gradient-to-position)}.to-brand-400{--tw-gradient-to:#5da0ff var(--tw-gradient-to-position)}.to-brand-50{--tw-gradient-to:#eef6ff var(--tw-gradient-to-position)}.to-brand-500{--tw-gradient-to:#2f7fff var(--tw-gradient-to-position)}.to-brand-600{--tw-gradient-to:#1f69e5 var(--tw-gradient-to-position)}.to-brand-700{--tw-gradient-to:#1c57bf var(--tw-gradient-to-position)}.to-brand-800{--tw-gradient-to:#1a499b var(--tw-gradient-to-position)}.to-brand-900{--tw-gradient-to:#173f82 var(--tw-gradient-to-position)}.to-cyan-50{--tw-gradient-to:#ecfeff var(--tw-gradient-to-position)}.to-emerald-100{--tw-gradient-to:#d1fae5 var(--tw-gradient-to-position)}.to-emerald-200{--tw-gradient-to:#a7f3d0 var(--tw-gradient-to-position)}.to-emerald-300{--tw-gradient-to:#6ee7b7 var(--tw-gradient-to-position)}.to-emerald-400{--tw-gradient-to:#34d399 var(--tw-gradient-to-position)}.to-emerald-400\/25{--tw-gradient-to:rgba(52,211,153,.25) var(--tw-gradient-to-position)}.to-emerald-50{--tw-gradient-to:#ecfdf5 var(--tw-gradient-to-position)}.to-emerald-500{--tw-gradient-to:#10b981 var(--tw-gradient-to-position)}.to-emerald-600{--tw-gradient-to:#059669 var(--tw-gradient-to-position)}.to-emerald-700{--tw-gradient-to:#047857 var(--tw-gradient-to-position)}.to-emerald-800{--tw-gradient-to:#065f46 var(--tw-gradient-to-position)}.to-emerald-900{--tw-gradient-to:#064e3b var(--tw-gradient-to-position)}.to-gray-100{--tw-gradient-to:#f3f4f6 var(--tw-gradient-to-position)}.to-gray-200{--tw-gradient-to:#e5e7eb var(--tw-gradient-to-position)}.to-gray-300{--tw-gradient-to:#d1d5db var(--tw-gradient-to-position)}.to-gray-400{--tw-gradient-to:#9ca3af var(--tw-gradient-to-position)}.to-gray-50{--tw-gradient-to:#f9fafb var(--tw-gradient-to-position)}.to-gray-500{--tw-gradient-to:#6b7280 var(--tw-gradient-to-position)}.to-gray-500\/10{--tw-gradient-to:hsla(220,9%,46%,.1) var(--tw-gradient-to-position)}.to-gray-600{--tw-gradient-to:#4b5563 var(--tw-gradient-to-position)}.to-gray-700{--tw-gradient-to:#374151 var(--tw-gradient-to-position)}.to-gray-800{--tw-gradient-to:#1f2937 var(--tw-gradient-to-position)}.to-gray-900{--tw-gradient-to:#111827 var(--tw-gradient-to-position)}.to-green-100{--tw-gradient-to:#dcfce7 var(--tw-gradient-to-position)}.to-green-200{--tw-gradient-to:#bbf7d0 var(--tw-gradient-to-position)}.to-green-300{--tw-gradient-to:#86efac var(--tw-gradient-to-position)}.to-green-400{--tw-gradient-to:#4ade80 var(--tw-gradient-to-position)}.to-green-50{--tw-gradient-to:#f0fdf4 var(--tw-gradient-to-position)}.to-green-500{--tw-gradient-to:#22c55e var(--tw-gradient-to-position)}.to-green-600{--tw-gradient-to:#16a34a var(--tw-gradient-to-position)}.to-green-700{--tw-gradient-to:#15803d var(--tw-gradient-to-position)}.to-green-800{--tw-gradient-to:#166534 var(--tw-gradient-to-position)}.to-green-900{--tw-gradient-to:#14532d var(--tw-gradient-to-position)}.to-indigo-100{--tw-gradient-to:#e0e7ff var(--tw-gradient-to-position)}.to-indigo-200{--tw-gradient-to:#c7d2fe var(--tw-gradient-to-position)}.to-indigo-300{--tw-gradient-to:#a5b4fc var(--tw-gradient-to-position)}.to-indigo-400{--tw-gradient-to:#818cf8 var(--tw-gradient-to-position)}.to-indigo-50{--tw-gradient-to:#eef2ff var(--tw-gradient-to-position)}.to-indigo-500{--tw-gradient-to:#6366f1 var(--tw-gradient-to-position)}.to-indigo-600{--tw-gradient-to:#4f46e5 var(--tw-gradient-to-position)}.to-indigo-700{--tw-gradient-to:#4338ca var(--tw-gradient-to-position)}.to-indigo-800{--tw-gradient-to:#3730a3 var(--tw-gradient-to-position)}.to-indigo-900{--tw-gradient-to:#312e81 var(--tw-gradient-to-position)}.to-orange-100{--tw-gradient-to:#ffedd5 var(--tw-gradient-to-position)}.to-orange-200{--tw-gradient-to:#fed7aa var(--tw-gradient-to-position)}.to-orange-300{--tw-gradient-to:#fdba74 var(--tw-gradient-to-position)}.to-orange-400{--tw-gradient-to:#fb923c var(--tw-gradient-to-position)}.to-orange-50{--tw-gradient-to:#fff7ed var(--tw-gradient-to-position)}.to-orange-500{--tw-gradient-to:#f97316 var(--tw-gradient-to-position)}.to-orange-600{--tw-gradient-to:#ea580c var(--tw-gradient-to-position)}.to-orange-700{--tw-gradient-to:#c2410c var(--tw-gradient-to-position)}.to-orange-800{--tw-gradient-to:#9a3412 var(--tw-gradient-to-position)}.to-orange-900{--tw-gradient-to:#7c2d12 var(--tw-gradient-to-position)}.to-pink-100{--tw-gradient-to:#fce7f3 var(--tw-gradient-to-position)}.to-pink-200{--tw-gradient-to:#fbcfe8 var(--tw-gradient-to-position)}.to-pink-300{--tw-gradient-to:#f9a8d4 var(--tw-gradient-to-position)}.to-pink-400{--tw-gradient-to:#f472b6 var(--tw-gradient-to-position)}.to-pink-50{--tw-gradient-to:#fdf2f8 var(--tw-gradient-to-position)}.to-pink-500{--tw-gradient-to:#ec4899 var(--tw-gradient-to-position)}.to-pink-600{--tw-gradient-to:#db2777 var(--tw-gradient-to-position)}.to-pink-700{--tw-gradient-to:#be185d var(--tw-gradient-to-position)}.to-pink-800{--tw-gradient-to:#9d174d var(--tw-gradient-to-position)}.to-pink-900{--tw-gradient-to:#831843 var(--tw-gradient-to-position)}.to-purple-100{--tw-gradient-to:#f3e8ff var(--tw-gradient-to-position)}.to-purple-200{--tw-gradient-to:#e9d5ff var(--tw-gradient-to-position)}.to-purple-300{--tw-gradient-to:#d8b4fe var(--tw-gradient-to-position)}.to-purple-400{--tw-gradient-to:#c084fc var(--tw-gradient-to-position)}.to-purple-50{--tw-gradient-to:#faf5ff var(--tw-gradient-to-position)}.to-purple-500{--tw-gradient-to:#a855f7 var(--tw-gradient-to-position)}.to-purple-600{--tw-gradient-to:#9333ea var(--tw-gradient-to-position)}.to-purple-700{--tw-gradient-to:#7e22ce var(--tw-gradient-to-position)}.to-purple-800{--tw-gradient-to:#6b21a8 var(--tw-gradient-to-position)}.to-purple-900{--tw-gradient-to:#581c87 var(--tw-gradient-to-position)}.to-red-100{--tw-gradient-to:#fee2e2 var(--tw-gradient-to-position)}.to-red-200{--tw-gradient-to:#fecaca var(--tw-gradient-to-position)}.to-red-300{--tw-gradient-to:#fca5a5 var(--tw-gradient-to-position)}.to-red-400{--tw-gradient-to:#f87171 var(--tw-gradient-to-position)}.to-red-50{--tw-gradient-to:#fef2f2 var(--tw-gradient-to-position)}.to-red-500{--tw-gradient-to:#ef4444 var(--tw-gradient-to-position)}.to-red-500\/30{--tw-gradient-to:rgba(239,68,68,.3) var(--tw-gradient-to-position)}.to-red-600{--tw-gradient-to:#dc2626 var(--tw-gradient-to-position)}.to-red-700{--tw-gradient-to:#b91c1c var(--tw-gradient-to-position)}.to-red-800{--tw-gradient-to:#991b1b var(--tw-gradient-to-position)}.to-red-900{--tw-gradient-to:#7f1d1d var(--tw-gradient-to-position)}.to-rose-100{--tw-gradient-to:#ffe4e6 var(--tw-gradient-to-position)}.to-rose-200{--tw-gradient-to:#fecdd3 var(--tw-gradient-to-position)}.to-rose-300{--tw-gradient-to:#fda4af var(--tw-gradient-to-position)}.to-rose-400{--tw-gradient-to:#fb7185 var(--tw-gradient-to-position)}.to-rose-50{--tw-gradient-to:#fff1f2 var(--tw-gradient-to-position)}.to-rose-500{--tw-gradient-to:#f43f5e var(--tw-gradient-to-position)}.to-rose-500\/25{--tw-gradient-to:rgba(244,63,94,.25) var(--tw-gradient-to-position)}.to-rose-600{--tw-gradient-to:#e11d48 var(--tw-gradient-to-position)}.to-rose-700{--tw-gradient-to:#be123c var(--tw-gradient-to-position)}.to-rose-800{--tw-gradient-to:#9f1239 var(--tw-gradient-to-position)}.to-rose-900{--tw-gradient-to:#881337 var(--tw-gradient-to-position)}.to-sky-400{--tw-gradient-to:#38bdf8 var(--tw-gradient-to-position)}.to-sky-50{--tw-gradient-to:#f0f9ff var(--tw-gradient-to-position)}.to-sky-500{--tw-gradient-to:#0ea5e9 var(--tw-gradient-to-position)}.to-slate-100{--tw-gradient-to:#f1f5f9 var(--tw-gradient-to-position)}.to-slate-200{--tw-gradient-to:#e2e8f0 var(--tw-gradient-to-position)}.to-slate-300{--tw-gradient-to:#cbd5e1 var(--tw-gradient-to-position)}.to-slate-400{--tw-gradient-to:#94a3b8 var(--tw-gradient-to-position)}.to-slate-50{--tw-gradient-to:#f8fafc var(--tw-gradient-to-position)}.to-slate-500{--tw-gradient-to:#64748b var(--tw-gradient-to-position)}.to-slate-600{--tw-gradient-to:#475569 var(--tw-gradient-to-position)}.to-slate-700{--tw-gradient-to:#334155 var(--tw-gradient-to-position)}.to-slate-800{--tw-gradient-to:#1e293b var(--tw-gradient-to-position)}.to-slate-900{--tw-gradient-to:#0f172a var(--tw-gradient-to-position)}.to-teal-100{--tw-gradient-to:#ccfbf1 var(--tw-gradient-to-position)}.to-teal-200{--tw-gradient-to:#99f6e4 var(--tw-gradient-to-position)}.to-teal-300{--tw-gradient-to:#5eead4 var(--tw-gradient-to-position)}.to-teal-400{--tw-gradient-to:#2dd4bf var(--tw-gradient-to-position)}.to-teal-50{--tw-gradient-to:#f0fdfa var(--tw-gradient-to-position)}.to-teal-500{--tw-gradient-to:#14b8a6 var(--tw-gradient-to-position)}.to-teal-600{--tw-gradient-to:#0d9488 var(--tw-gradient-to-position)}.to-teal-700{--tw-gradient-to:#0f766e var(--tw-gradient-to-position)}.to-teal-800{--tw-gradient-to:#115e59 var(--tw-gradient-to-position)}.to-teal-900{--tw-gradient-to:#134e4a var(--tw-gradient-to-position)}.to-violet-100{--tw-gradient-to:#ede9fe var(--tw-gradient-to-position)}.to-violet-200{--tw-gradient-to:#ddd6fe var(--tw-gradient-to-position)}.to-violet-300{--tw-gradient-to:#c4b5fd var(--tw-gradient-to-position)}.to-violet-400{--tw-gradient-to:#a78bfa var(--tw-gradient-to-position)}.to-violet-50{--tw-gradient-to:#f5f3ff var(--tw-gradient-to-position)}.to-violet-500{--tw-gradient-to:#8b5cf6 var(--tw-gradient-to-position)}.to-violet-600{--tw-gradient-to:#7c3aed var(--tw-gradient-to-position)}.to-violet-700{--tw-gradient-to:#6d28d9 var(--tw-gradient-to-position)}.to-violet-800{--tw-gradient-to:#5b21b6 var(--tw-gradient-to-position)}.to-violet-900{--tw-gradient-to:#4c1d95 var(--tw-gradient-to-position)}.to-white{--tw-gradient-to:#fff var(--tw-gradient-to-position)}.to-yellow-100{--tw-gradient-to:#fef9c3 var(--tw-gradient-to-position)}.to-yellow-200{--tw-gradient-to:#fef08a var(--tw-gradient-to-position)}.to-yellow-300{--tw-gradient-to:#fde047 var(--tw-gradient-to-position)}.to-yellow-400{--tw-gradient-to:#facc15 var(--tw-gradient-to-position)}.to-yellow-50{--tw-gradient-to:#fefce8 var(--tw-gradient-to-position)}.to-yellow-500{--tw-gradient-to:#eab308 var(--tw-gradient-to-position)}.to-yellow-600{--tw-gradient-to:#ca8a04 var(--tw-gradient-to-position)}.to-yellow-700{--tw-gradient-to:#a16207 var(--tw-gradient-to-position)}.to-yellow-800{--tw-gradient-to:#854d0e var(--tw-gradient-to-position)}.to-yellow-900{--tw-gradient-to:#713f12 var(--tw-gradient-to-position)}.to-zinc-100{--tw-gradient-to:#f4f4f5 var(--tw-gradient-to-position)}.to-zinc-200{--tw-gradient-to:#e4e4e7 var(--tw-gradient-to-position)}.to-zinc-300{--tw-gradient-to:#d4d4d8 var(--tw-gradient-to-position)}.to-zinc-400{--tw-gradient-to:#a1a1aa var(--tw-gradient-to-position)}.to-zinc-50{--tw-gradient-to:#fafafa var(--tw-gradient-to-position)}.to-zinc-500{--tw-gradient-to:#71717a var(--tw-gradient-to-position)}.to-zinc-600{--tw-gradient-to:#52525b var(--tw-gradient-to-position)}.to-zinc-700{--tw-gradient-to:#3f3f46 var(--tw-gradient-to-position)}.to-zinc-800{--tw-gradient-to:#27272a var(--tw-gradient-to-position)}.to-zinc-900{--tw-gradient-to:#18181b var(--tw-gradient-to-position)}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-12{padding:3rem}.p-16{padding:4rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-3\.5{padding:.875rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-7{padding:1.75rem}.p-8{padding:2rem}.p-px{padding:1px}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-10{padding-bottom:2.5rem;padding-top:2.5rem}.py-12{padding-bottom:3rem;padding-top:3rem}.py-16{padding-bottom:4rem;padding-top:4rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.py-20{padding-bottom:5rem;padding-top:5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-3\.5{padding-bottom:.875rem;padding-top:.875rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-5{padding-bottom:1.25rem;padding-top:1.25rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.py-8{padding-bottom:2rem;padding-top:2rem}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-20{padding-bottom:5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pb-6{padding-bottom:1.5rem}.pb-8{padding-bottom:2rem}.pl-10{padding-left:2.5rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-9{padding-left:2.25rem}.pr-1{padding-right:.25rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pr-6{padding-right:1.5rem}.pt-0{padding-top:0}.pt-0\.5{padding-top:.125rem}.pt-1{padding-top:.25rem}.pt-1\.5{padding-top:.375rem}.pt-2{padding-top:.5rem}.pt-2\.5{padding-top:.625rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.pt-\[2vh\]{padding-top:2vh}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13\.5px\]{font-size:13.5px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[22px\]{font-size:22px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal}.ordinal,.tabular-nums{font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.tabular-nums{--tw-numeric-spacing:tabular-nums}.leading-4{line-height:1rem}.leading-5{line-height:1.25rem}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[0\.25em\]{letter-spacing:.25em}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-amber-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity,1))}.text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.text-amber-50{--tw-text-opacity:1;color:rgb(255 251 235/var(--tw-text-opacity,1))}.text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.text-blue-100{--tw-text-opacity:1;color:rgb(219 234 254/var(--tw-text-opacity,1))}.text-blue-100\/80{color:rgba(219,234,254,.8)}.text-blue-200{--tw-text-opacity:1;color:rgb(191 219 254/var(--tw-text-opacity,1))}.text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.text-blue-50{--tw-text-opacity:1;color:rgb(239 246 255/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.text-blue-900{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity,1))}.text-brand-100{--tw-text-opacity:1;color:rgb(217 234 255/var(--tw-text-opacity,1))}.text-brand-200{--tw-text-opacity:1;color:rgb(185 216 255/var(--tw-text-opacity,1))}.text-brand-300{--tw-text-opacity:1;color:rgb(144 192 255/var(--tw-text-opacity,1))}.text-brand-400{--tw-text-opacity:1;color:rgb(93 160 255/var(--tw-text-opacity,1))}.text-brand-50{--tw-text-opacity:1;color:rgb(238 246 255/var(--tw-text-opacity,1))}.text-brand-500{--tw-text-opacity:1;color:rgb(47 127 255/var(--tw-text-opacity,1))}.text-brand-600{--tw-text-opacity:1;color:rgb(31 105 229/var(--tw-text-opacity,1))}.text-brand-700{--tw-text-opacity:1;color:rgb(28 87 191/var(--tw-text-opacity,1))}.text-brand-800{--tw-text-opacity:1;color:rgb(26 73 155/var(--tw-text-opacity,1))}.text-brand-900{--tw-text-opacity:1;color:rgb(23 63 130/var(--tw-text-opacity,1))}.text-cyan-100{--tw-text-opacity:1;color:rgb(207 250 254/var(--tw-text-opacity,1))}.text-cyan-600{--tw-text-opacity:1;color:rgb(8 145 178/var(--tw-text-opacity,1))}.text-emerald-100{--tw-text-opacity:1;color:rgb(209 250 229/var(--tw-text-opacity,1))}.text-emerald-200{--tw-text-opacity:1;color:rgb(167 243 208/var(--tw-text-opacity,1))}.text-emerald-300{--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity,1))}.text-emerald-400{--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.text-emerald-50{--tw-text-opacity:1;color:rgb(236 253 245/var(--tw-text-opacity,1))}.text-emerald-500{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity,1))}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-emerald-700{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity,1))}.text-emerald-800{--tw-text-opacity:1;color:rgb(6 95 70/var(--tw-text-opacity,1))}.text-emerald-900{--tw-text-opacity:1;color:rgb(6 78 59/var(--tw-text-opacity,1))}.text-fuchsia-100{--tw-text-opacity:1;color:rgb(250 232 255/var(--tw-text-opacity,1))}.text-fuchsia-600{--tw-text-opacity:1;color:rgb(192 38 211/var(--tw-text-opacity,1))}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-50{--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-100{--tw-text-opacity:1;color:rgb(220 252 231/var(--tw-text-opacity,1))}.text-green-200{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.text-green-300{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.text-green-50{--tw-text-opacity:1;color:rgb(240 253 244/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.text-green-900{--tw-text-opacity:1;color:rgb(20 83 45/var(--tw-text-opacity,1))}.text-indigo-100{--tw-text-opacity:1;color:rgb(224 231 255/var(--tw-text-opacity,1))}.text-indigo-200{--tw-text-opacity:1;color:rgb(199 210 254/var(--tw-text-opacity,1))}.text-indigo-300{--tw-text-opacity:1;color:rgb(165 180 252/var(--tw-text-opacity,1))}.text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.text-indigo-50{--tw-text-opacity:1;color:rgb(238 242 255/var(--tw-text-opacity,1))}.text-indigo-500{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.text-indigo-700{--tw-text-opacity:1;color:rgb(67 56 202/var(--tw-text-opacity,1))}.text-indigo-800{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity,1))}.text-indigo-900{--tw-text-opacity:1;color:rgb(49 46 129/var(--tw-text-opacity,1))}.text-orange-100{--tw-text-opacity:1;color:rgb(255 237 213/var(--tw-text-opacity,1))}.text-orange-200{--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity,1))}.text-orange-300{--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.text-orange-50{--tw-text-opacity:1;color:rgb(255 247 237/var(--tw-text-opacity,1))}.text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.text-orange-800{--tw-text-opacity:1;color:rgb(154 52 18/var(--tw-text-opacity,1))}.text-orange-900{--tw-text-opacity:1;color:rgb(124 45 18/var(--tw-text-opacity,1))}.text-pink-100{--tw-text-opacity:1;color:rgb(252 231 243/var(--tw-text-opacity,1))}.text-pink-200{--tw-text-opacity:1;color:rgb(251 207 232/var(--tw-text-opacity,1))}.text-pink-300{--tw-text-opacity:1;color:rgb(249 168 212/var(--tw-text-opacity,1))}.text-pink-400{--tw-text-opacity:1;color:rgb(244 114 182/var(--tw-text-opacity,1))}.text-pink-50{--tw-text-opacity:1;color:rgb(253 242 248/var(--tw-text-opacity,1))}.text-pink-500{--tw-text-opacity:1;color:rgb(236 72 153/var(--tw-text-opacity,1))}.text-pink-600{--tw-text-opacity:1;color:rgb(219 39 119/var(--tw-text-opacity,1))}.text-pink-700{--tw-text-opacity:1;color:rgb(190 24 93/var(--tw-text-opacity,1))}.text-pink-800{--tw-text-opacity:1;color:rgb(157 23 77/var(--tw-text-opacity,1))}.text-pink-900{--tw-text-opacity:1;color:rgb(131 24 67/var(--tw-text-opacity,1))}.text-purple-100{--tw-text-opacity:1;color:rgb(243 232 255/var(--tw-text-opacity,1))}.text-purple-200{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity,1))}.text-purple-300{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.text-purple-50{--tw-text-opacity:1;color:rgb(250 245 255/var(--tw-text-opacity,1))}.text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.text-purple-700{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity,1))}.text-purple-800{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity,1))}.text-purple-900{--tw-text-opacity:1;color:rgb(88 28 135/var(--tw-text-opacity,1))}.text-red-100{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}.text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-red-50{--tw-text-opacity:1;color:rgb(254 242 242/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.text-rose-100{--tw-text-opacity:1;color:rgb(255 228 230/var(--tw-text-opacity,1))}.text-rose-200{--tw-text-opacity:1;color:rgb(254 205 211/var(--tw-text-opacity,1))}.text-rose-300{--tw-text-opacity:1;color:rgb(253 164 175/var(--tw-text-opacity,1))}.text-rose-400{--tw-text-opacity:1;color:rgb(251 113 133/var(--tw-text-opacity,1))}.text-rose-50{--tw-text-opacity:1;color:rgb(255 241 242/var(--tw-text-opacity,1))}.text-rose-500{--tw-text-opacity:1;color:rgb(244 63 94/var(--tw-text-opacity,1))}.text-rose-600{--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity,1))}.text-rose-700{--tw-text-opacity:1;color:rgb(190 18 60/var(--tw-text-opacity,1))}.text-rose-800{--tw-text-opacity:1;color:rgb(159 18 57/var(--tw-text-opacity,1))}.text-rose-900{--tw-text-opacity:1;color:rgb(136 19 55/var(--tw-text-opacity,1))}.text-sky-500{--tw-text-opacity:1;color:rgb(14 165 233/var(--tw-text-opacity,1))}.text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.text-sky-700{--tw-text-opacity:1;color:rgb(3 105 161/var(--tw-text-opacity,1))}.text-slate-100{--tw-text-opacity:1;color:rgb(241 245 249/var(--tw-text-opacity,1))}.text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.text-slate-200\/70{color:rgba(226,232,240,.7)}.text-slate-200\/80{color:rgba(226,232,240,.8)}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.text-slate-300\/80{color:rgba(203,213,225,.8)}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-50{--tw-text-opacity:1;color:rgb(248 250 252/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.text-teal-100{--tw-text-opacity:1;color:rgb(204 251 241/var(--tw-text-opacity,1))}.text-teal-200{--tw-text-opacity:1;color:rgb(153 246 228/var(--tw-text-opacity,1))}.text-teal-300{--tw-text-opacity:1;color:rgb(94 234 212/var(--tw-text-opacity,1))}.text-teal-400{--tw-text-opacity:1;color:rgb(45 212 191/var(--tw-text-opacity,1))}.text-teal-50{--tw-text-opacity:1;color:rgb(240 253 250/var(--tw-text-opacity,1))}.text-teal-500{--tw-text-opacity:1;color:rgb(20 184 166/var(--tw-text-opacity,1))}.text-teal-600{--tw-text-opacity:1;color:rgb(13 148 136/var(--tw-text-opacity,1))}.text-teal-700{--tw-text-opacity:1;color:rgb(15 118 110/var(--tw-text-opacity,1))}.text-teal-800{--tw-text-opacity:1;color:rgb(17 94 89/var(--tw-text-opacity,1))}.text-teal-900{--tw-text-opacity:1;color:rgb(19 78 74/var(--tw-text-opacity,1))}.text-violet-100{--tw-text-opacity:1;color:rgb(237 233 254/var(--tw-text-opacity,1))}.text-violet-200{--tw-text-opacity:1;color:rgb(221 214 254/var(--tw-text-opacity,1))}.text-violet-300{--tw-text-opacity:1;color:rgb(196 181 253/var(--tw-text-opacity,1))}.text-violet-400{--tw-text-opacity:1;color:rgb(167 139 250/var(--tw-text-opacity,1))}.text-violet-50{--tw-text-opacity:1;color:rgb(245 243 255/var(--tw-text-opacity,1))}.text-violet-500{--tw-text-opacity:1;color:rgb(139 92 246/var(--tw-text-opacity,1))}.text-violet-600{--tw-text-opacity:1;color:rgb(124 58 237/var(--tw-text-opacity,1))}.text-violet-700{--tw-text-opacity:1;color:rgb(109 40 217/var(--tw-text-opacity,1))}.text-violet-800{--tw-text-opacity:1;color:rgb(91 33 182/var(--tw-text-opacity,1))}.text-violet-900{--tw-text-opacity:1;color:rgb(76 29 149/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/80{color:hsla(0,0%,100%,.8)}.text-yellow-100{--tw-text-opacity:1;color:rgb(254 249 195/var(--tw-text-opacity,1))}.text-yellow-200{--tw-text-opacity:1;color:rgb(254 240 138/var(--tw-text-opacity,1))}.text-yellow-300{--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity,1))}.text-yellow-400{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.text-yellow-50{--tw-text-opacity:1;color:rgb(254 252 232/var(--tw-text-opacity,1))}.text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.text-yellow-600{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity,1))}.text-yellow-700{--tw-text-opacity:1;color:rgb(161 98 7/var(--tw-text-opacity,1))}.text-yellow-800{--tw-text-opacity:1;color:rgb(133 77 14/var(--tw-text-opacity,1))}.text-yellow-900{--tw-text-opacity:1;color:rgb(113 63 18/var(--tw-text-opacity,1))}.text-zinc-100{--tw-text-opacity:1;color:rgb(244 244 245/var(--tw-text-opacity,1))}.text-zinc-200{--tw-text-opacity:1;color:rgb(228 228 231/var(--tw-text-opacity,1))}.text-zinc-300{--tw-text-opacity:1;color:rgb(212 212 216/var(--tw-text-opacity,1))}.text-zinc-400{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.text-zinc-50{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.text-zinc-500{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.text-zinc-600{--tw-text-opacity:1;color:rgb(82 82 91/var(--tw-text-opacity,1))}.text-zinc-700{--tw-text-opacity:1;color:rgb(63 63 70/var(--tw-text-opacity,1))}.text-zinc-800{--tw-text-opacity:1;color:rgb(39 39 42/var(--tw-text-opacity,1))}.text-zinc-900{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.overline{text-decoration-line:overline}.line-through{text-decoration-line:line-through}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.placeholder-gray-400::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}.placeholder-gray-400::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}.placeholder-gray-500::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(107 114 128/var(--tw-placeholder-opacity,1))}.placeholder-gray-500::placeholder{--tw-placeholder-opacity:1;color:rgb(107 114 128/var(--tw-placeholder-opacity,1))}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-5{opacity:.05}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-\[0_18px_45px_rgba\(15\2c 23\2c 42\2c 0\.18\)\]{--tw-shadow:0 18px 45px rgba(15,23,42,.18);--tw-shadow-colored:0 18px 45px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_20px_60px_rgba\(15\2c 23\2c 42\2c 0\.12\)\]{--tw-shadow:0 20px 60px rgba(15,23,42,.12);--tw-shadow-colored:0 20px 60px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_30px_60px_rgba\(10\2c 10\2c 25\2c 0\.55\)\]{--tw-shadow:0 30px 60px rgba(10,10,25,.55);--tw-shadow-colored:0 30px 60px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_45px_120px_rgba\(15\2c 23\2c 42\2c 0\.28\)\]{--tw-shadow:0 45px 120px rgba(15,23,42,.28);--tw-shadow-colored:0 45px 120px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_45px_120px_rgba\(220\2c 38\2c 38\2c 0\.35\)\]{--tw-shadow:0 45px 120px rgba(220,38,38,.35);--tw-shadow-colored:0 45px 120px var(--tw-shadow-color)}.shadow-\[0_45px_120px_rgba\(220\2c 38\2c 38\2c 0\.35\)\],.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-sm,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-2,.ring-4{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-amber-100{--tw-ring-opacity:1;--tw-ring-color:rgb(254 243 199/var(--tw-ring-opacity,1))}.ring-amber-200{--tw-ring-opacity:1;--tw-ring-color:rgb(253 230 138/var(--tw-ring-opacity,1))}.ring-amber-300{--tw-ring-opacity:1;--tw-ring-color:rgb(252 211 77/var(--tw-ring-opacity,1))}.ring-amber-400{--tw-ring-opacity:1;--tw-ring-color:rgb(251 191 36/var(--tw-ring-opacity,1))}.ring-amber-50{--tw-ring-opacity:1;--tw-ring-color:rgb(255 251 235/var(--tw-ring-opacity,1))}.ring-amber-500{--tw-ring-opacity:1;--tw-ring-color:rgb(245 158 11/var(--tw-ring-opacity,1))}.ring-amber-600{--tw-ring-opacity:1;--tw-ring-color:rgb(217 119 6/var(--tw-ring-opacity,1))}.ring-amber-700{--tw-ring-opacity:1;--tw-ring-color:rgb(180 83 9/var(--tw-ring-opacity,1))}.ring-amber-800{--tw-ring-opacity:1;--tw-ring-color:rgb(146 64 14/var(--tw-ring-opacity,1))}.ring-amber-900{--tw-ring-opacity:1;--tw-ring-color:rgb(120 53 15/var(--tw-ring-opacity,1))}.ring-blue-100{--tw-ring-opacity:1;--tw-ring-color:rgb(219 234 254/var(--tw-ring-opacity,1))}.ring-blue-200{--tw-ring-opacity:1;--tw-ring-color:rgb(191 219 254/var(--tw-ring-opacity,1))}.ring-blue-300{--tw-ring-opacity:1;--tw-ring-color:rgb(147 197 253/var(--tw-ring-opacity,1))}.ring-blue-400{--tw-ring-opacity:1;--tw-ring-color:rgb(96 165 250/var(--tw-ring-opacity,1))}.ring-blue-50{--tw-ring-opacity:1;--tw-ring-color:rgb(239 246 255/var(--tw-ring-opacity,1))}.ring-blue-500{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.ring-blue-600{--tw-ring-opacity:1;--tw-ring-color:rgb(37 99 235/var(--tw-ring-opacity,1))}.ring-blue-700{--tw-ring-opacity:1;--tw-ring-color:rgb(29 78 216/var(--tw-ring-opacity,1))}.ring-blue-800{--tw-ring-opacity:1;--tw-ring-color:rgb(30 64 175/var(--tw-ring-opacity,1))}.ring-blue-900{--tw-ring-opacity:1;--tw-ring-color:rgb(30 58 138/var(--tw-ring-opacity,1))}.ring-brand-100{--tw-ring-opacity:1;--tw-ring-color:rgb(217 234 255/var(--tw-ring-opacity,1))}.ring-brand-200{--tw-ring-opacity:1;--tw-ring-color:rgb(185 216 255/var(--tw-ring-opacity,1))}.ring-brand-300{--tw-ring-opacity:1;--tw-ring-color:rgb(144 192 255/var(--tw-ring-opacity,1))}.ring-brand-400{--tw-ring-opacity:1;--tw-ring-color:rgb(93 160 255/var(--tw-ring-opacity,1))}.ring-brand-50{--tw-ring-opacity:1;--tw-ring-color:rgb(238 246 255/var(--tw-ring-opacity,1))}.ring-brand-500{--tw-ring-opacity:1;--tw-ring-color:rgb(47 127 255/var(--tw-ring-opacity,1))}.ring-brand-600{--tw-ring-opacity:1;--tw-ring-color:rgb(31 105 229/var(--tw-ring-opacity,1))}.ring-brand-700{--tw-ring-opacity:1;--tw-ring-color:rgb(28 87 191/var(--tw-ring-opacity,1))}.ring-brand-800{--tw-ring-opacity:1;--tw-ring-color:rgb(26 73 155/var(--tw-ring-opacity,1))}.ring-brand-900{--tw-ring-opacity:1;--tw-ring-color:rgb(23 63 130/var(--tw-ring-opacity,1))}.ring-emerald-100{--tw-ring-opacity:1;--tw-ring-color:rgb(209 250 229/var(--tw-ring-opacity,1))}.ring-emerald-200{--tw-ring-opacity:1;--tw-ring-color:rgb(167 243 208/var(--tw-ring-opacity,1))}.ring-emerald-300{--tw-ring-opacity:1;--tw-ring-color:rgb(110 231 183/var(--tw-ring-opacity,1))}.ring-emerald-400{--tw-ring-opacity:1;--tw-ring-color:rgb(52 211 153/var(--tw-ring-opacity,1))}.ring-emerald-50{--tw-ring-opacity:1;--tw-ring-color:rgb(236 253 245/var(--tw-ring-opacity,1))}.ring-emerald-500{--tw-ring-opacity:1;--tw-ring-color:rgb(16 185 129/var(--tw-ring-opacity,1))}.ring-emerald-600{--tw-ring-opacity:1;--tw-ring-color:rgb(5 150 105/var(--tw-ring-opacity,1))}.ring-emerald-700{--tw-ring-opacity:1;--tw-ring-color:rgb(4 120 87/var(--tw-ring-opacity,1))}.ring-emerald-800{--tw-ring-opacity:1;--tw-ring-color:rgb(6 95 70/var(--tw-ring-opacity,1))}.ring-emerald-900{--tw-ring-opacity:1;--tw-ring-color:rgb(6 78 59/var(--tw-ring-opacity,1))}.ring-gray-100{--tw-ring-opacity:1;--tw-ring-color:rgb(243 244 246/var(--tw-ring-opacity,1))}.ring-gray-200{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity,1))}.ring-gray-300{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity,1))}.ring-gray-400{--tw-ring-opacity:1;--tw-ring-color:rgb(156 163 175/var(--tw-ring-opacity,1))}.ring-gray-50{--tw-ring-opacity:1;--tw-ring-color:rgb(249 250 251/var(--tw-ring-opacity,1))}.ring-gray-500{--tw-ring-opacity:1;--tw-ring-color:rgb(107 114 128/var(--tw-ring-opacity,1))}.ring-gray-600{--tw-ring-opacity:1;--tw-ring-color:rgb(75 85 99/var(--tw-ring-opacity,1))}.ring-gray-700{--tw-ring-opacity:1;--tw-ring-color:rgb(55 65 81/var(--tw-ring-opacity,1))}.ring-gray-800{--tw-ring-opacity:1;--tw-ring-color:rgb(31 41 55/var(--tw-ring-opacity,1))}.ring-gray-900{--tw-ring-opacity:1;--tw-ring-color:rgb(17 24 39/var(--tw-ring-opacity,1))}.ring-gray-900\/80{--tw-ring-color:rgba(17,24,39,.8)}.ring-green-100{--tw-ring-opacity:1;--tw-ring-color:rgb(220 252 231/var(--tw-ring-opacity,1))}.ring-green-200{--tw-ring-opacity:1;--tw-ring-color:rgb(187 247 208/var(--tw-ring-opacity,1))}.ring-green-300{--tw-ring-opacity:1;--tw-ring-color:rgb(134 239 172/var(--tw-ring-opacity,1))}.ring-green-400{--tw-ring-opacity:1;--tw-ring-color:rgb(74 222 128/var(--tw-ring-opacity,1))}.ring-green-50{--tw-ring-opacity:1;--tw-ring-color:rgb(240 253 244/var(--tw-ring-opacity,1))}.ring-green-500{--tw-ring-opacity:1;--tw-ring-color:rgb(34 197 94/var(--tw-ring-opacity,1))}.ring-green-600{--tw-ring-opacity:1;--tw-ring-color:rgb(22 163 74/var(--tw-ring-opacity,1))}.ring-green-700{--tw-ring-opacity:1;--tw-ring-color:rgb(21 128 61/var(--tw-ring-opacity,1))}.ring-green-800{--tw-ring-opacity:1;--tw-ring-color:rgb(22 101 52/var(--tw-ring-opacity,1))}.ring-green-900{--tw-ring-opacity:1;--tw-ring-color:rgb(20 83 45/var(--tw-ring-opacity,1))}.ring-indigo-100{--tw-ring-opacity:1;--tw-ring-color:rgb(224 231 255/var(--tw-ring-opacity,1))}.ring-indigo-200{--tw-ring-opacity:1;--tw-ring-color:rgb(199 210 254/var(--tw-ring-opacity,1))}.ring-indigo-300{--tw-ring-opacity:1;--tw-ring-color:rgb(165 180 252/var(--tw-ring-opacity,1))}.ring-indigo-400{--tw-ring-opacity:1;--tw-ring-color:rgb(129 140 248/var(--tw-ring-opacity,1))}.ring-indigo-50{--tw-ring-opacity:1;--tw-ring-color:rgb(238 242 255/var(--tw-ring-opacity,1))}.ring-indigo-500{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity,1))}.ring-indigo-600{--tw-ring-opacity:1;--tw-ring-color:rgb(79 70 229/var(--tw-ring-opacity,1))}.ring-indigo-700{--tw-ring-opacity:1;--tw-ring-color:rgb(67 56 202/var(--tw-ring-opacity,1))}.ring-indigo-800{--tw-ring-opacity:1;--tw-ring-color:rgb(55 48 163/var(--tw-ring-opacity,1))}.ring-indigo-900{--tw-ring-opacity:1;--tw-ring-color:rgb(49 46 129/var(--tw-ring-opacity,1))}.ring-orange-100{--tw-ring-opacity:1;--tw-ring-color:rgb(255 237 213/var(--tw-ring-opacity,1))}.ring-orange-200{--tw-ring-opacity:1;--tw-ring-color:rgb(254 215 170/var(--tw-ring-opacity,1))}.ring-orange-300{--tw-ring-opacity:1;--tw-ring-color:rgb(253 186 116/var(--tw-ring-opacity,1))}.ring-orange-400{--tw-ring-opacity:1;--tw-ring-color:rgb(251 146 60/var(--tw-ring-opacity,1))}.ring-orange-50{--tw-ring-opacity:1;--tw-ring-color:rgb(255 247 237/var(--tw-ring-opacity,1))}.ring-orange-500{--tw-ring-opacity:1;--tw-ring-color:rgb(249 115 22/var(--tw-ring-opacity,1))}.ring-orange-600{--tw-ring-opacity:1;--tw-ring-color:rgb(234 88 12/var(--tw-ring-opacity,1))}.ring-orange-700{--tw-ring-opacity:1;--tw-ring-color:rgb(194 65 12/var(--tw-ring-opacity,1))}.ring-orange-800{--tw-ring-opacity:1;--tw-ring-color:rgb(154 52 18/var(--tw-ring-opacity,1))}.ring-orange-900{--tw-ring-opacity:1;--tw-ring-color:rgb(124 45 18/var(--tw-ring-opacity,1))}.ring-pink-100{--tw-ring-opacity:1;--tw-ring-color:rgb(252 231 243/var(--tw-ring-opacity,1))}.ring-pink-200{--tw-ring-opacity:1;--tw-ring-color:rgb(251 207 232/var(--tw-ring-opacity,1))}.ring-pink-300{--tw-ring-opacity:1;--tw-ring-color:rgb(249 168 212/var(--tw-ring-opacity,1))}.ring-pink-400{--tw-ring-opacity:1;--tw-ring-color:rgb(244 114 182/var(--tw-ring-opacity,1))}.ring-pink-50{--tw-ring-opacity:1;--tw-ring-color:rgb(253 242 248/var(--tw-ring-opacity,1))}.ring-pink-500{--tw-ring-opacity:1;--tw-ring-color:rgb(236 72 153/var(--tw-ring-opacity,1))}.ring-pink-600{--tw-ring-opacity:1;--tw-ring-color:rgb(219 39 119/var(--tw-ring-opacity,1))}.ring-pink-700{--tw-ring-opacity:1;--tw-ring-color:rgb(190 24 93/var(--tw-ring-opacity,1))}.ring-pink-800{--tw-ring-opacity:1;--tw-ring-color:rgb(157 23 77/var(--tw-ring-opacity,1))}.ring-pink-900{--tw-ring-opacity:1;--tw-ring-color:rgb(131 24 67/var(--tw-ring-opacity,1))}.ring-purple-100{--tw-ring-opacity:1;--tw-ring-color:rgb(243 232 255/var(--tw-ring-opacity,1))}.ring-purple-200{--tw-ring-opacity:1;--tw-ring-color:rgb(233 213 255/var(--tw-ring-opacity,1))}.ring-purple-300{--tw-ring-opacity:1;--tw-ring-color:rgb(216 180 254/var(--tw-ring-opacity,1))}.ring-purple-400{--tw-ring-opacity:1;--tw-ring-color:rgb(192 132 252/var(--tw-ring-opacity,1))}.ring-purple-50{--tw-ring-opacity:1;--tw-ring-color:rgb(250 245 255/var(--tw-ring-opacity,1))}.ring-purple-500{--tw-ring-opacity:1;--tw-ring-color:rgb(168 85 247/var(--tw-ring-opacity,1))}.ring-purple-600{--tw-ring-opacity:1;--tw-ring-color:rgb(147 51 234/var(--tw-ring-opacity,1))}.ring-purple-700{--tw-ring-opacity:1;--tw-ring-color:rgb(126 34 206/var(--tw-ring-opacity,1))}.ring-purple-800{--tw-ring-opacity:1;--tw-ring-color:rgb(107 33 168/var(--tw-ring-opacity,1))}.ring-purple-900{--tw-ring-opacity:1;--tw-ring-color:rgb(88 28 135/var(--tw-ring-opacity,1))}.ring-red-100{--tw-ring-opacity:1;--tw-ring-color:rgb(254 226 226/var(--tw-ring-opacity,1))}.ring-red-200{--tw-ring-opacity:1;--tw-ring-color:rgb(254 202 202/var(--tw-ring-opacity,1))}.ring-red-300{--tw-ring-opacity:1;--tw-ring-color:rgb(252 165 165/var(--tw-ring-opacity,1))}.ring-red-400{--tw-ring-opacity:1;--tw-ring-color:rgb(248 113 113/var(--tw-ring-opacity,1))}.ring-red-50{--tw-ring-opacity:1;--tw-ring-color:rgb(254 242 242/var(--tw-ring-opacity,1))}.ring-red-500{--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity,1))}.ring-red-600{--tw-ring-opacity:1;--tw-ring-color:rgb(220 38 38/var(--tw-ring-opacity,1))}.ring-red-700{--tw-ring-opacity:1;--tw-ring-color:rgb(185 28 28/var(--tw-ring-opacity,1))}.ring-red-800{--tw-ring-opacity:1;--tw-ring-color:rgb(153 27 27/var(--tw-ring-opacity,1))}.ring-red-900{--tw-ring-opacity:1;--tw-ring-color:rgb(127 29 29/var(--tw-ring-opacity,1))}.ring-rose-100{--tw-ring-opacity:1;--tw-ring-color:rgb(255 228 230/var(--tw-ring-opacity,1))}.ring-rose-200{--tw-ring-opacity:1;--tw-ring-color:rgb(254 205 211/var(--tw-ring-opacity,1))}.ring-rose-300{--tw-ring-opacity:1;--tw-ring-color:rgb(253 164 175/var(--tw-ring-opacity,1))}.ring-rose-400{--tw-ring-opacity:1;--tw-ring-color:rgb(251 113 133/var(--tw-ring-opacity,1))}.ring-rose-400\/40{--tw-ring-color:rgba(251,113,133,.4)}.ring-rose-50{--tw-ring-opacity:1;--tw-ring-color:rgb(255 241 242/var(--tw-ring-opacity,1))}.ring-rose-500{--tw-ring-opacity:1;--tw-ring-color:rgb(244 63 94/var(--tw-ring-opacity,1))}.ring-rose-600{--tw-ring-opacity:1;--tw-ring-color:rgb(225 29 72/var(--tw-ring-opacity,1))}.ring-rose-700{--tw-ring-opacity:1;--tw-ring-color:rgb(190 18 60/var(--tw-ring-opacity,1))}.ring-rose-800{--tw-ring-opacity:1;--tw-ring-color:rgb(159 18 57/var(--tw-ring-opacity,1))}.ring-rose-900{--tw-ring-opacity:1;--tw-ring-color:rgb(136 19 55/var(--tw-ring-opacity,1))}.ring-sky-600{--tw-ring-opacity:1;--tw-ring-color:rgb(2 132 199/var(--tw-ring-opacity,1))}.ring-slate-100{--tw-ring-opacity:1;--tw-ring-color:rgb(241 245 249/var(--tw-ring-opacity,1))}.ring-slate-200{--tw-ring-opacity:1;--tw-ring-color:rgb(226 232 240/var(--tw-ring-opacity,1))}.ring-slate-300{--tw-ring-opacity:1;--tw-ring-color:rgb(203 213 225/var(--tw-ring-opacity,1))}.ring-slate-400{--tw-ring-opacity:1;--tw-ring-color:rgb(148 163 184/var(--tw-ring-opacity,1))}.ring-slate-50{--tw-ring-opacity:1;--tw-ring-color:rgb(248 250 252/var(--tw-ring-opacity,1))}.ring-slate-500{--tw-ring-opacity:1;--tw-ring-color:rgb(100 116 139/var(--tw-ring-opacity,1))}.ring-slate-600{--tw-ring-opacity:1;--tw-ring-color:rgb(71 85 105/var(--tw-ring-opacity,1))}.ring-slate-700{--tw-ring-opacity:1;--tw-ring-color:rgb(51 65 85/var(--tw-ring-opacity,1))}.ring-slate-800{--tw-ring-opacity:1;--tw-ring-color:rgb(30 41 59/var(--tw-ring-opacity,1))}.ring-slate-900{--tw-ring-opacity:1;--tw-ring-color:rgb(15 23 42/var(--tw-ring-opacity,1))}.ring-teal-100{--tw-ring-opacity:1;--tw-ring-color:rgb(204 251 241/var(--tw-ring-opacity,1))}.ring-teal-200{--tw-ring-opacity:1;--tw-ring-color:rgb(153 246 228/var(--tw-ring-opacity,1))}.ring-teal-300{--tw-ring-opacity:1;--tw-ring-color:rgb(94 234 212/var(--tw-ring-opacity,1))}.ring-teal-400{--tw-ring-opacity:1;--tw-ring-color:rgb(45 212 191/var(--tw-ring-opacity,1))}.ring-teal-50{--tw-ring-opacity:1;--tw-ring-color:rgb(240 253 250/var(--tw-ring-opacity,1))}.ring-teal-500{--tw-ring-opacity:1;--tw-ring-color:rgb(20 184 166/var(--tw-ring-opacity,1))}.ring-teal-600{--tw-ring-opacity:1;--tw-ring-color:rgb(13 148 136/var(--tw-ring-opacity,1))}.ring-teal-700{--tw-ring-opacity:1;--tw-ring-color:rgb(15 118 110/var(--tw-ring-opacity,1))}.ring-teal-800{--tw-ring-opacity:1;--tw-ring-color:rgb(17 94 89/var(--tw-ring-opacity,1))}.ring-teal-900{--tw-ring-opacity:1;--tw-ring-color:rgb(19 78 74/var(--tw-ring-opacity,1))}.ring-violet-100{--tw-ring-opacity:1;--tw-ring-color:rgb(237 233 254/var(--tw-ring-opacity,1))}.ring-violet-200{--tw-ring-opacity:1;--tw-ring-color:rgb(221 214 254/var(--tw-ring-opacity,1))}.ring-violet-300{--tw-ring-opacity:1;--tw-ring-color:rgb(196 181 253/var(--tw-ring-opacity,1))}.ring-violet-400{--tw-ring-opacity:1;--tw-ring-color:rgb(167 139 250/var(--tw-ring-opacity,1))}.ring-violet-50{--tw-ring-opacity:1;--tw-ring-color:rgb(245 243 255/var(--tw-ring-opacity,1))}.ring-violet-500{--tw-ring-opacity:1;--tw-ring-color:rgb(139 92 246/var(--tw-ring-opacity,1))}.ring-violet-600{--tw-ring-opacity:1;--tw-ring-color:rgb(124 58 237/var(--tw-ring-opacity,1))}.ring-violet-700{--tw-ring-opacity:1;--tw-ring-color:rgb(109 40 217/var(--tw-ring-opacity,1))}.ring-violet-800{--tw-ring-opacity:1;--tw-ring-color:rgb(91 33 182/var(--tw-ring-opacity,1))}.ring-violet-900{--tw-ring-opacity:1;--tw-ring-color:rgb(76 29 149/var(--tw-ring-opacity,1))}.ring-white{--tw-ring-opacity:1;--tw-ring-color:rgb(255 255 255/var(--tw-ring-opacity,1))}.ring-yellow-100{--tw-ring-opacity:1;--tw-ring-color:rgb(254 249 195/var(--tw-ring-opacity,1))}.ring-yellow-200{--tw-ring-opacity:1;--tw-ring-color:rgb(254 240 138/var(--tw-ring-opacity,1))}.ring-yellow-300{--tw-ring-opacity:1;--tw-ring-color:rgb(253 224 71/var(--tw-ring-opacity,1))}.ring-yellow-400{--tw-ring-opacity:1;--tw-ring-color:rgb(250 204 21/var(--tw-ring-opacity,1))}.ring-yellow-50{--tw-ring-opacity:1;--tw-ring-color:rgb(254 252 232/var(--tw-ring-opacity,1))}.ring-yellow-500{--tw-ring-opacity:1;--tw-ring-color:rgb(234 179 8/var(--tw-ring-opacity,1))}.ring-yellow-600{--tw-ring-opacity:1;--tw-ring-color:rgb(202 138 4/var(--tw-ring-opacity,1))}.ring-yellow-700{--tw-ring-opacity:1;--tw-ring-color:rgb(161 98 7/var(--tw-ring-opacity,1))}.ring-yellow-800{--tw-ring-opacity:1;--tw-ring-color:rgb(133 77 14/var(--tw-ring-opacity,1))}.ring-yellow-900{--tw-ring-opacity:1;--tw-ring-color:rgb(113 63 18/var(--tw-ring-opacity,1))}.ring-zinc-100{--tw-ring-opacity:1;--tw-ring-color:rgb(244 244 245/var(--tw-ring-opacity,1))}.ring-zinc-200{--tw-ring-opacity:1;--tw-ring-color:rgb(228 228 231/var(--tw-ring-opacity,1))}.ring-zinc-300{--tw-ring-opacity:1;--tw-ring-color:rgb(212 212 216/var(--tw-ring-opacity,1))}.ring-zinc-400{--tw-ring-opacity:1;--tw-ring-color:rgb(161 161 170/var(--tw-ring-opacity,1))}.ring-zinc-50{--tw-ring-opacity:1;--tw-ring-color:rgb(250 250 250/var(--tw-ring-opacity,1))}.ring-zinc-500{--tw-ring-opacity:1;--tw-ring-color:rgb(113 113 122/var(--tw-ring-opacity,1))}.ring-zinc-600{--tw-ring-opacity:1;--tw-ring-color:rgb(82 82 91/var(--tw-ring-opacity,1))}.ring-zinc-700{--tw-ring-opacity:1;--tw-ring-color:rgb(63 63 70/var(--tw-ring-opacity,1))}.ring-zinc-800{--tw-ring-opacity:1;--tw-ring-color:rgb(39 39 42/var(--tw-ring-opacity,1))}.ring-zinc-900{--tw-ring-opacity:1;--tw-ring-color:rgb(24 24 27/var(--tw-ring-opacity,1))}.ring-offset-1{--tw-ring-offset-width:1px}.blur{--tw-blur:blur(8px)}.blur,.blur-2xl{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-2xl{--tw-blur:blur(40px)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px)}.backdrop-blur,.backdrop-blur-sm{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.backdrop-blur-xl{--tw-backdrop-blur:blur(24px)}.backdrop-blur-xl,.backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-shadow{transition-duration:.15s;transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-1000{transition-duration:1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\[-3\:BRT\]{-3:BRT}.last\:border-0:last-child{border-width:0}.hover\:-translate-y-0\.5:hover{--tw-translate-y:-0.125rem}.hover\:-translate-y-0\.5:hover,.hover\:scale-105:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:border-amber-100:hover{--tw-border-opacity:1;border-color:rgb(254 243 199/var(--tw-border-opacity,1))}.hover\:border-amber-200:hover{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.hover\:border-amber-300:hover{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.hover\:border-amber-400:hover{--tw-border-opacity:1;border-color:rgb(251 191 36/var(--tw-border-opacity,1))}.hover\:border-amber-50:hover{--tw-border-opacity:1;border-color:rgb(255 251 235/var(--tw-border-opacity,1))}.hover\:border-amber-500:hover{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.hover\:border-amber-600:hover{--tw-border-opacity:1;border-color:rgb(217 119 6/var(--tw-border-opacity,1))}.hover\:border-amber-700:hover{--tw-border-opacity:1;border-color:rgb(180 83 9/var(--tw-border-opacity,1))}.hover\:border-amber-800:hover{--tw-border-opacity:1;border-color:rgb(146 64 14/var(--tw-border-opacity,1))}.hover\:border-amber-900:hover{--tw-border-opacity:1;border-color:rgb(120 53 15/var(--tw-border-opacity,1))}.hover\:border-blue-100:hover{--tw-border-opacity:1;border-color:rgb(219 234 254/var(--tw-border-opacity,1))}.hover\:border-blue-200:hover{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.hover\:border-blue-300:hover{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.hover\:border-blue-400:hover{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.hover\:border-blue-50:hover{--tw-border-opacity:1;border-color:rgb(239 246 255/var(--tw-border-opacity,1))}.hover\:border-blue-500:hover{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.hover\:border-blue-600:hover{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.hover\:border-blue-700:hover{--tw-border-opacity:1;border-color:rgb(29 78 216/var(--tw-border-opacity,1))}.hover\:border-blue-800:hover{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.hover\:border-blue-900:hover{--tw-border-opacity:1;border-color:rgb(30 58 138/var(--tw-border-opacity,1))}.hover\:border-brand-100:hover{--tw-border-opacity:1;border-color:rgb(217 234 255/var(--tw-border-opacity,1))}.hover\:border-brand-200:hover{--tw-border-opacity:1;border-color:rgb(185 216 255/var(--tw-border-opacity,1))}.hover\:border-brand-300:hover{--tw-border-opacity:1;border-color:rgb(144 192 255/var(--tw-border-opacity,1))}.hover\:border-brand-400:hover{--tw-border-opacity:1;border-color:rgb(93 160 255/var(--tw-border-opacity,1))}.hover\:border-brand-50:hover{--tw-border-opacity:1;border-color:rgb(238 246 255/var(--tw-border-opacity,1))}.hover\:border-brand-500:hover{--tw-border-opacity:1;border-color:rgb(47 127 255/var(--tw-border-opacity,1))}.hover\:border-brand-600:hover{--tw-border-opacity:1;border-color:rgb(31 105 229/var(--tw-border-opacity,1))}.hover\:border-brand-700:hover{--tw-border-opacity:1;border-color:rgb(28 87 191/var(--tw-border-opacity,1))}.hover\:border-brand-800:hover{--tw-border-opacity:1;border-color:rgb(26 73 155/var(--tw-border-opacity,1))}.hover\:border-brand-900:hover{--tw-border-opacity:1;border-color:rgb(23 63 130/var(--tw-border-opacity,1))}.hover\:border-emerald-100:hover{--tw-border-opacity:1;border-color:rgb(209 250 229/var(--tw-border-opacity,1))}.hover\:border-emerald-200:hover{--tw-border-opacity:1;border-color:rgb(167 243 208/var(--tw-border-opacity,1))}.hover\:border-emerald-300:hover{--tw-border-opacity:1;border-color:rgb(110 231 183/var(--tw-border-opacity,1))}.hover\:border-emerald-400:hover{--tw-border-opacity:1;border-color:rgb(52 211 153/var(--tw-border-opacity,1))}.hover\:border-emerald-50:hover{--tw-border-opacity:1;border-color:rgb(236 253 245/var(--tw-border-opacity,1))}.hover\:border-emerald-500:hover{--tw-border-opacity:1;border-color:rgb(16 185 129/var(--tw-border-opacity,1))}.hover\:border-emerald-600:hover{--tw-border-opacity:1;border-color:rgb(5 150 105/var(--tw-border-opacity,1))}.hover\:border-emerald-700:hover{--tw-border-opacity:1;border-color:rgb(4 120 87/var(--tw-border-opacity,1))}.hover\:border-emerald-800:hover{--tw-border-opacity:1;border-color:rgb(6 95 70/var(--tw-border-opacity,1))}.hover\:border-emerald-900:hover{--tw-border-opacity:1;border-color:rgb(6 78 59/var(--tw-border-opacity,1))}.hover\:border-gray-100:hover{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.hover\:border-gray-200:hover{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.hover\:border-gray-400:hover{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}.hover\:border-gray-50:hover{--tw-border-opacity:1;border-color:rgb(249 250 251/var(--tw-border-opacity,1))}.hover\:border-gray-500:hover{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity,1))}.hover\:border-gray-600:hover{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.hover\:border-gray-700:hover{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.hover\:border-gray-800:hover{--tw-border-opacity:1;border-color:rgb(31 41 55/var(--tw-border-opacity,1))}.hover\:border-gray-900:hover{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.hover\:border-green-100:hover{--tw-border-opacity:1;border-color:rgb(220 252 231/var(--tw-border-opacity,1))}.hover\:border-green-200:hover{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.hover\:border-green-300:hover{--tw-border-opacity:1;border-color:rgb(134 239 172/var(--tw-border-opacity,1))}.hover\:border-green-400:hover{--tw-border-opacity:1;border-color:rgb(74 222 128/var(--tw-border-opacity,1))}.hover\:border-green-50:hover{--tw-border-opacity:1;border-color:rgb(240 253 244/var(--tw-border-opacity,1))}.hover\:border-green-500:hover{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.hover\:border-green-600:hover{--tw-border-opacity:1;border-color:rgb(22 163 74/var(--tw-border-opacity,1))}.hover\:border-green-700:hover{--tw-border-opacity:1;border-color:rgb(21 128 61/var(--tw-border-opacity,1))}.hover\:border-green-800:hover{--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.hover\:border-green-900:hover{--tw-border-opacity:1;border-color:rgb(20 83 45/var(--tw-border-opacity,1))}.hover\:border-indigo-100:hover{--tw-border-opacity:1;border-color:rgb(224 231 255/var(--tw-border-opacity,1))}.hover\:border-indigo-200:hover{--tw-border-opacity:1;border-color:rgb(199 210 254/var(--tw-border-opacity,1))}.hover\:border-indigo-300:hover{--tw-border-opacity:1;border-color:rgb(165 180 252/var(--tw-border-opacity,1))}.hover\:border-indigo-400:hover{--tw-border-opacity:1;border-color:rgb(129 140 248/var(--tw-border-opacity,1))}.hover\:border-indigo-50:hover{--tw-border-opacity:1;border-color:rgb(238 242 255/var(--tw-border-opacity,1))}.hover\:border-indigo-500:hover{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.hover\:border-indigo-600:hover{--tw-border-opacity:1;border-color:rgb(79 70 229/var(--tw-border-opacity,1))}.hover\:border-indigo-700:hover{--tw-border-opacity:1;border-color:rgb(67 56 202/var(--tw-border-opacity,1))}.hover\:border-indigo-800:hover{--tw-border-opacity:1;border-color:rgb(55 48 163/var(--tw-border-opacity,1))}.hover\:border-indigo-900:hover{--tw-border-opacity:1;border-color:rgb(49 46 129/var(--tw-border-opacity,1))}.hover\:border-orange-100:hover{--tw-border-opacity:1;border-color:rgb(255 237 213/var(--tw-border-opacity,1))}.hover\:border-orange-200:hover{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.hover\:border-orange-300:hover{--tw-border-opacity:1;border-color:rgb(253 186 116/var(--tw-border-opacity,1))}.hover\:border-orange-400:hover{--tw-border-opacity:1;border-color:rgb(251 146 60/var(--tw-border-opacity,1))}.hover\:border-orange-50:hover{--tw-border-opacity:1;border-color:rgb(255 247 237/var(--tw-border-opacity,1))}.hover\:border-orange-500:hover{--tw-border-opacity:1;border-color:rgb(249 115 22/var(--tw-border-opacity,1))}.hover\:border-orange-600:hover{--tw-border-opacity:1;border-color:rgb(234 88 12/var(--tw-border-opacity,1))}.hover\:border-orange-700:hover{--tw-border-opacity:1;border-color:rgb(194 65 12/var(--tw-border-opacity,1))}.hover\:border-orange-800:hover{--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity,1))}.hover\:border-orange-900:hover{--tw-border-opacity:1;border-color:rgb(124 45 18/var(--tw-border-opacity,1))}.hover\:border-pink-100:hover{--tw-border-opacity:1;border-color:rgb(252 231 243/var(--tw-border-opacity,1))}.hover\:border-pink-200:hover{--tw-border-opacity:1;border-color:rgb(251 207 232/var(--tw-border-opacity,1))}.hover\:border-pink-300:hover{--tw-border-opacity:1;border-color:rgb(249 168 212/var(--tw-border-opacity,1))}.hover\:border-pink-400:hover{--tw-border-opacity:1;border-color:rgb(244 114 182/var(--tw-border-opacity,1))}.hover\:border-pink-50:hover{--tw-border-opacity:1;border-color:rgb(253 242 248/var(--tw-border-opacity,1))}.hover\:border-pink-500:hover{--tw-border-opacity:1;border-color:rgb(236 72 153/var(--tw-border-opacity,1))}.hover\:border-pink-600:hover{--tw-border-opacity:1;border-color:rgb(219 39 119/var(--tw-border-opacity,1))}.hover\:border-pink-700:hover{--tw-border-opacity:1;border-color:rgb(190 24 93/var(--tw-border-opacity,1))}.hover\:border-pink-800:hover{--tw-border-opacity:1;border-color:rgb(157 23 77/var(--tw-border-opacity,1))}.hover\:border-pink-900:hover{--tw-border-opacity:1;border-color:rgb(131 24 67/var(--tw-border-opacity,1))}.hover\:border-purple-100:hover{--tw-border-opacity:1;border-color:rgb(243 232 255/var(--tw-border-opacity,1))}.hover\:border-purple-200:hover{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.hover\:border-purple-300:hover{--tw-border-opacity:1;border-color:rgb(216 180 254/var(--tw-border-opacity,1))}.hover\:border-purple-400:hover{--tw-border-opacity:1;border-color:rgb(192 132 252/var(--tw-border-opacity,1))}.hover\:border-purple-50:hover{--tw-border-opacity:1;border-color:rgb(250 245 255/var(--tw-border-opacity,1))}.hover\:border-purple-500:hover{--tw-border-opacity:1;border-color:rgb(168 85 247/var(--tw-border-opacity,1))}.hover\:border-purple-600:hover{--tw-border-opacity:1;border-color:rgb(147 51 234/var(--tw-border-opacity,1))}.hover\:border-purple-700:hover{--tw-border-opacity:1;border-color:rgb(126 34 206/var(--tw-border-opacity,1))}.hover\:border-purple-800:hover{--tw-border-opacity:1;border-color:rgb(107 33 168/var(--tw-border-opacity,1))}.hover\:border-purple-900:hover{--tw-border-opacity:1;border-color:rgb(88 28 135/var(--tw-border-opacity,1))}.hover\:border-red-100:hover{--tw-border-opacity:1;border-color:rgb(254 226 226/var(--tw-border-opacity,1))}.hover\:border-red-200:hover{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.hover\:border-red-300:hover{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.hover\:border-red-400:hover{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.hover\:border-red-50:hover{--tw-border-opacity:1;border-color:rgb(254 242 242/var(--tw-border-opacity,1))}.hover\:border-red-500:hover{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.hover\:border-red-600:hover{--tw-border-opacity:1;border-color:rgb(220 38 38/var(--tw-border-opacity,1))}.hover\:border-red-700:hover{--tw-border-opacity:1;border-color:rgb(185 28 28/var(--tw-border-opacity,1))}.hover\:border-red-800:hover{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.hover\:border-red-900:hover{--tw-border-opacity:1;border-color:rgb(127 29 29/var(--tw-border-opacity,1))}.hover\:border-rose-100:hover{--tw-border-opacity:1;border-color:rgb(255 228 230/var(--tw-border-opacity,1))}.hover\:border-rose-200:hover{--tw-border-opacity:1;border-color:rgb(254 205 211/var(--tw-border-opacity,1))}.hover\:border-rose-300:hover{--tw-border-opacity:1;border-color:rgb(253 164 175/var(--tw-border-opacity,1))}.hover\:border-rose-400:hover{--tw-border-opacity:1;border-color:rgb(251 113 133/var(--tw-border-opacity,1))}.hover\:border-rose-50:hover{--tw-border-opacity:1;border-color:rgb(255 241 242/var(--tw-border-opacity,1))}.hover\:border-rose-500:hover{--tw-border-opacity:1;border-color:rgb(244 63 94/var(--tw-border-opacity,1))}.hover\:border-rose-600:hover{--tw-border-opacity:1;border-color:rgb(225 29 72/var(--tw-border-opacity,1))}.hover\:border-rose-700:hover{--tw-border-opacity:1;border-color:rgb(190 18 60/var(--tw-border-opacity,1))}.hover\:border-rose-800:hover{--tw-border-opacity:1;border-color:rgb(159 18 57/var(--tw-border-opacity,1))}.hover\:border-rose-900:hover{--tw-border-opacity:1;border-color:rgb(136 19 55/var(--tw-border-opacity,1))}.hover\:border-slate-100:hover{--tw-border-opacity:1;border-color:rgb(241 245 249/var(--tw-border-opacity,1))}.hover\:border-slate-200:hover{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.hover\:border-slate-300:hover{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.hover\:border-slate-400:hover{--tw-border-opacity:1;border-color:rgb(148 163 184/var(--tw-border-opacity,1))}.hover\:border-slate-50:hover{--tw-border-opacity:1;border-color:rgb(248 250 252/var(--tw-border-opacity,1))}.hover\:border-slate-500:hover{--tw-border-opacity:1;border-color:rgb(100 116 139/var(--tw-border-opacity,1))}.hover\:border-slate-600:hover{--tw-border-opacity:1;border-color:rgb(71 85 105/var(--tw-border-opacity,1))}.hover\:border-slate-700:hover{--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1))}.hover\:border-slate-800:hover{--tw-border-opacity:1;border-color:rgb(30 41 59/var(--tw-border-opacity,1))}.hover\:border-slate-900:hover{--tw-border-opacity:1;border-color:rgb(15 23 42/var(--tw-border-opacity,1))}.hover\:border-teal-100:hover{--tw-border-opacity:1;border-color:rgb(204 251 241/var(--tw-border-opacity,1))}.hover\:border-teal-200:hover{--tw-border-opacity:1;border-color:rgb(153 246 228/var(--tw-border-opacity,1))}.hover\:border-teal-300:hover{--tw-border-opacity:1;border-color:rgb(94 234 212/var(--tw-border-opacity,1))}.hover\:border-teal-400:hover{--tw-border-opacity:1;border-color:rgb(45 212 191/var(--tw-border-opacity,1))}.hover\:border-teal-50:hover{--tw-border-opacity:1;border-color:rgb(240 253 250/var(--tw-border-opacity,1))}.hover\:border-teal-500:hover{--tw-border-opacity:1;border-color:rgb(20 184 166/var(--tw-border-opacity,1))}.hover\:border-teal-600:hover{--tw-border-opacity:1;border-color:rgb(13 148 136/var(--tw-border-opacity,1))}.hover\:border-teal-700:hover{--tw-border-opacity:1;border-color:rgb(15 118 110/var(--tw-border-opacity,1))}.hover\:border-teal-800:hover{--tw-border-opacity:1;border-color:rgb(17 94 89/var(--tw-border-opacity,1))}.hover\:border-teal-900:hover{--tw-border-opacity:1;border-color:rgb(19 78 74/var(--tw-border-opacity,1))}.hover\:border-violet-100:hover{--tw-border-opacity:1;border-color:rgb(237 233 254/var(--tw-border-opacity,1))}.hover\:border-violet-200:hover{--tw-border-opacity:1;border-color:rgb(221 214 254/var(--tw-border-opacity,1))}.hover\:border-violet-300:hover{--tw-border-opacity:1;border-color:rgb(196 181 253/var(--tw-border-opacity,1))}.hover\:border-violet-400:hover{--tw-border-opacity:1;border-color:rgb(167 139 250/var(--tw-border-opacity,1))}.hover\:border-violet-50:hover{--tw-border-opacity:1;border-color:rgb(245 243 255/var(--tw-border-opacity,1))}.hover\:border-violet-500:hover{--tw-border-opacity:1;border-color:rgb(139 92 246/var(--tw-border-opacity,1))}.hover\:border-violet-600:hover{--tw-border-opacity:1;border-color:rgb(124 58 237/var(--tw-border-opacity,1))}.hover\:border-violet-700:hover{--tw-border-opacity:1;border-color:rgb(109 40 217/var(--tw-border-opacity,1))}.hover\:border-violet-800:hover{--tw-border-opacity:1;border-color:rgb(91 33 182/var(--tw-border-opacity,1))}.hover\:border-violet-900:hover{--tw-border-opacity:1;border-color:rgb(76 29 149/var(--tw-border-opacity,1))}.hover\:border-white\/40:hover{border-color:hsla(0,0%,100%,.4)}.hover\:border-yellow-100:hover{--tw-border-opacity:1;border-color:rgb(254 249 195/var(--tw-border-opacity,1))}.hover\:border-yellow-200:hover{--tw-border-opacity:1;border-color:rgb(254 240 138/var(--tw-border-opacity,1))}.hover\:border-yellow-300:hover{--tw-border-opacity:1;border-color:rgb(253 224 71/var(--tw-border-opacity,1))}.hover\:border-yellow-400:hover{--tw-border-opacity:1;border-color:rgb(250 204 21/var(--tw-border-opacity,1))}.hover\:border-yellow-50:hover{--tw-border-opacity:1;border-color:rgb(254 252 232/var(--tw-border-opacity,1))}.hover\:border-yellow-500:hover{--tw-border-opacity:1;border-color:rgb(234 179 8/var(--tw-border-opacity,1))}.hover\:border-yellow-600:hover{--tw-border-opacity:1;border-color:rgb(202 138 4/var(--tw-border-opacity,1))}.hover\:border-yellow-700:hover{--tw-border-opacity:1;border-color:rgb(161 98 7/var(--tw-border-opacity,1))}.hover\:border-yellow-800:hover{--tw-border-opacity:1;border-color:rgb(133 77 14/var(--tw-border-opacity,1))}.hover\:border-yellow-900:hover{--tw-border-opacity:1;border-color:rgb(113 63 18/var(--tw-border-opacity,1))}.hover\:border-zinc-100:hover{--tw-border-opacity:1;border-color:rgb(244 244 245/var(--tw-border-opacity,1))}.hover\:border-zinc-200:hover{--tw-border-opacity:1;border-color:rgb(228 228 231/var(--tw-border-opacity,1))}.hover\:border-zinc-300:hover{--tw-border-opacity:1;border-color:rgb(212 212 216/var(--tw-border-opacity,1))}.hover\:border-zinc-400:hover{--tw-border-opacity:1;border-color:rgb(161 161 170/var(--tw-border-opacity,1))}.hover\:border-zinc-50:hover{--tw-border-opacity:1;border-color:rgb(250 250 250/var(--tw-border-opacity,1))}.hover\:border-zinc-500:hover{--tw-border-opacity:1;border-color:rgb(113 113 122/var(--tw-border-opacity,1))}.hover\:border-zinc-600:hover{--tw-border-opacity:1;border-color:rgb(82 82 91/var(--tw-border-opacity,1))}.hover\:border-zinc-700:hover{--tw-border-opacity:1;border-color:rgb(63 63 70/var(--tw-border-opacity,1))}.hover\:border-zinc-800:hover{--tw-border-opacity:1;border-color:rgb(39 39 42/var(--tw-border-opacity,1))}.hover\:border-zinc-900:hover{--tw-border-opacity:1;border-color:rgb(24 24 27/var(--tw-border-opacity,1))}.hover\:bg-amber-100:hover{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.hover\:bg-amber-200:hover{--tw-bg-opacity:1;background-color:rgb(253 230 138/var(--tw-bg-opacity,1))}.hover\:bg-amber-300:hover{--tw-bg-opacity:1;background-color:rgb(252 211 77/var(--tw-bg-opacity,1))}.hover\:bg-amber-400:hover{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}.hover\:bg-amber-50:hover{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.hover\:bg-amber-500:hover{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.hover\:bg-amber-600:hover{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity,1))}.hover\:bg-amber-700:hover{--tw-bg-opacity:1;background-color:rgb(180 83 9/var(--tw-bg-opacity,1))}.hover\:bg-amber-800:hover{--tw-bg-opacity:1;background-color:rgb(146 64 14/var(--tw-bg-opacity,1))}.hover\:bg-amber-900:hover{--tw-bg-opacity:1;background-color:rgb(120 53 15/var(--tw-bg-opacity,1))}.hover\:bg-black:hover{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.hover\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.hover\:bg-blue-100\/50:hover{background-color:rgba(219,234,254,.5)}.hover\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity,1))}.hover\:bg-blue-300:hover{--tw-bg-opacity:1;background-color:rgb(147 197 253/var(--tw-bg-opacity,1))}.hover\:bg-blue-400:hover{--tw-bg-opacity:1;background-color:rgb(96 165 250/var(--tw-bg-opacity,1))}.hover\:bg-blue-50:hover{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.hover\:bg-blue-500:hover{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity,1))}.hover\:bg-blue-900:hover{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.hover\:bg-brand-100:hover{--tw-bg-opacity:1;background-color:rgb(217 234 255/var(--tw-bg-opacity,1))}.hover\:bg-brand-200:hover{--tw-bg-opacity:1;background-color:rgb(185 216 255/var(--tw-bg-opacity,1))}.hover\:bg-brand-300:hover{--tw-bg-opacity:1;background-color:rgb(144 192 255/var(--tw-bg-opacity,1))}.hover\:bg-brand-400:hover{--tw-bg-opacity:1;background-color:rgb(93 160 255/var(--tw-bg-opacity,1))}.hover\:bg-brand-50:hover{--tw-bg-opacity:1;background-color:rgb(238 246 255/var(--tw-bg-opacity,1))}.hover\:bg-brand-500:hover{--tw-bg-opacity:1;background-color:rgb(47 127 255/var(--tw-bg-opacity,1))}.hover\:bg-brand-600:hover{--tw-bg-opacity:1;background-color:rgb(31 105 229/var(--tw-bg-opacity,1))}.hover\:bg-brand-700:hover{--tw-bg-opacity:1;background-color:rgb(28 87 191/var(--tw-bg-opacity,1))}.hover\:bg-brand-800:hover{--tw-bg-opacity:1;background-color:rgb(26 73 155/var(--tw-bg-opacity,1))}.hover\:bg-brand-900:hover{--tw-bg-opacity:1;background-color:rgb(23 63 130/var(--tw-bg-opacity,1))}.hover\:bg-emerald-100:hover{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}.hover\:bg-emerald-100\/50:hover{background-color:rgba(209,250,229,.5)}.hover\:bg-emerald-200:hover{--tw-bg-opacity:1;background-color:rgb(167 243 208/var(--tw-bg-opacity,1))}.hover\:bg-emerald-300:hover{--tw-bg-opacity:1;background-color:rgb(110 231 183/var(--tw-bg-opacity,1))}.hover\:bg-emerald-400:hover{--tw-bg-opacity:1;background-color:rgb(52 211 153/var(--tw-bg-opacity,1))}.hover\:bg-emerald-50:hover{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.hover\:bg-emerald-500:hover{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.hover\:bg-emerald-600:hover{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.hover\:bg-emerald-700:hover{--tw-bg-opacity:1;background-color:rgb(4 120 87/var(--tw-bg-opacity,1))}.hover\:bg-emerald-800:hover{--tw-bg-opacity:1;background-color:rgb(6 95 70/var(--tw-bg-opacity,1))}.hover\:bg-emerald-900:hover{--tw-bg-opacity:1;background-color:rgb(6 78 59/var(--tw-bg-opacity,1))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\:bg-gray-100\/50:hover{background-color:rgba(243,244,246,.5)}.hover\:bg-gray-100\/60:hover{background-color:rgba(243,244,246,.6)}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.hover\:bg-gray-300:hover{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.hover\:bg-gray-400:hover{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-gray-50\/30:hover{background-color:rgba(249,250,251,.3)}.hover\:bg-gray-50\/50:hover{background-color:rgba(249,250,251,.5)}.hover\:bg-gray-500:hover{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.hover\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.hover\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.hover\:bg-gray-900:hover{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.hover\:bg-green-200:hover{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity,1))}.hover\:bg-green-300:hover{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity,1))}.hover\:bg-green-400:hover{--tw-bg-opacity:1;background-color:rgb(74 222 128/var(--tw-bg-opacity,1))}.hover\:bg-green-50:hover{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.hover\:bg-green-500:hover{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.hover\:bg-green-800:hover{--tw-bg-opacity:1;background-color:rgb(22 101 52/var(--tw-bg-opacity,1))}.hover\:bg-green-900:hover{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}.hover\:bg-indigo-100:hover{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity,1))}.hover\:bg-indigo-200:hover{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity,1))}.hover\:bg-indigo-300:hover{--tw-bg-opacity:1;background-color:rgb(165 180 252/var(--tw-bg-opacity,1))}.hover\:bg-indigo-400:hover{--tw-bg-opacity:1;background-color:rgb(129 140 248/var(--tw-bg-opacity,1))}.hover\:bg-indigo-50:hover{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.hover\:bg-indigo-500:hover{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.hover\:bg-indigo-600:hover{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.hover\:bg-indigo-700:hover{--tw-bg-opacity:1;background-color:rgb(67 56 202/var(--tw-bg-opacity,1))}.hover\:bg-indigo-800:hover{--tw-bg-opacity:1;background-color:rgb(55 48 163/var(--tw-bg-opacity,1))}.hover\:bg-indigo-900:hover{--tw-bg-opacity:1;background-color:rgb(49 46 129/var(--tw-bg-opacity,1))}.hover\:bg-orange-100:hover{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.hover\:bg-orange-200:hover{--tw-bg-opacity:1;background-color:rgb(254 215 170/var(--tw-bg-opacity,1))}.hover\:bg-orange-300:hover{--tw-bg-opacity:1;background-color:rgb(253 186 116/var(--tw-bg-opacity,1))}.hover\:bg-orange-400:hover{--tw-bg-opacity:1;background-color:rgb(251 146 60/var(--tw-bg-opacity,1))}.hover\:bg-orange-50:hover{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.hover\:bg-orange-500:hover{--tw-bg-opacity:1;background-color:rgb(249 115 22/var(--tw-bg-opacity,1))}.hover\:bg-orange-600:hover{--tw-bg-opacity:1;background-color:rgb(234 88 12/var(--tw-bg-opacity,1))}.hover\:bg-orange-700:hover{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}.hover\:bg-orange-800:hover{--tw-bg-opacity:1;background-color:rgb(154 52 18/var(--tw-bg-opacity,1))}.hover\:bg-orange-900:hover{--tw-bg-opacity:1;background-color:rgb(124 45 18/var(--tw-bg-opacity,1))}.hover\:bg-pink-100:hover{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity,1))}.hover\:bg-pink-200:hover{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity,1))}.hover\:bg-pink-300:hover{--tw-bg-opacity:1;background-color:rgb(249 168 212/var(--tw-bg-opacity,1))}.hover\:bg-pink-400:hover{--tw-bg-opacity:1;background-color:rgb(244 114 182/var(--tw-bg-opacity,1))}.hover\:bg-pink-50:hover{--tw-bg-opacity:1;background-color:rgb(253 242 248/var(--tw-bg-opacity,1))}.hover\:bg-pink-500:hover{--tw-bg-opacity:1;background-color:rgb(236 72 153/var(--tw-bg-opacity,1))}.hover\:bg-pink-600:hover{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity,1))}.hover\:bg-pink-700:hover{--tw-bg-opacity:1;background-color:rgb(190 24 93/var(--tw-bg-opacity,1))}.hover\:bg-pink-800:hover{--tw-bg-opacity:1;background-color:rgb(157 23 77/var(--tw-bg-opacity,1))}.hover\:bg-pink-900:hover{--tw-bg-opacity:1;background-color:rgb(131 24 67/var(--tw-bg-opacity,1))}.hover\:bg-purple-100:hover{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.hover\:bg-purple-200:hover{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity,1))}.hover\:bg-purple-300:hover{--tw-bg-opacity:1;background-color:rgb(216 180 254/var(--tw-bg-opacity,1))}.hover\:bg-purple-400:hover{--tw-bg-opacity:1;background-color:rgb(192 132 252/var(--tw-bg-opacity,1))}.hover\:bg-purple-50:hover{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.hover\:bg-purple-500:hover{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.hover\:bg-purple-600:hover{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.hover\:bg-purple-700:hover{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.hover\:bg-purple-800:hover{--tw-bg-opacity:1;background-color:rgb(107 33 168/var(--tw-bg-opacity,1))}.hover\:bg-purple-900:hover{--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity,1))}.hover\:bg-red-100:hover{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.hover\:bg-red-200:hover{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity,1))}.hover\:bg-red-300:hover{--tw-bg-opacity:1;background-color:rgb(252 165 165/var(--tw-bg-opacity,1))}.hover\:bg-red-400:hover{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity,1))}.hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.hover\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.hover\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.hover\:bg-red-800:hover{--tw-bg-opacity:1;background-color:rgb(153 27 27/var(--tw-bg-opacity,1))}.hover\:bg-red-900:hover{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.hover\:bg-rose-100:hover{--tw-bg-opacity:1;background-color:rgb(255 228 230/var(--tw-bg-opacity,1))}.hover\:bg-rose-200:hover{--tw-bg-opacity:1;background-color:rgb(254 205 211/var(--tw-bg-opacity,1))}.hover\:bg-rose-300:hover{--tw-bg-opacity:1;background-color:rgb(253 164 175/var(--tw-bg-opacity,1))}.hover\:bg-rose-400:hover{--tw-bg-opacity:1;background-color:rgb(251 113 133/var(--tw-bg-opacity,1))}.hover\:bg-rose-50:hover{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity,1))}.hover\:bg-rose-500:hover{--tw-bg-opacity:1;background-color:rgb(244 63 94/var(--tw-bg-opacity,1))}.hover\:bg-rose-600:hover{--tw-bg-opacity:1;background-color:rgb(225 29 72/var(--tw-bg-opacity,1))}.hover\:bg-rose-700:hover{--tw-bg-opacity:1;background-color:rgb(190 18 60/var(--tw-bg-opacity,1))}.hover\:bg-rose-800:hover{--tw-bg-opacity:1;background-color:rgb(159 18 57/var(--tw-bg-opacity,1))}.hover\:bg-rose-900:hover{--tw-bg-opacity:1;background-color:rgb(136 19 55/var(--tw-bg-opacity,1))}.hover\:bg-sky-100\/50:hover{background-color:rgba(224,242,254,.5)}.hover\:bg-slate-100:hover{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.hover\:bg-slate-200:hover{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.hover\:bg-slate-300:hover{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity,1))}.hover\:bg-slate-400:hover{--tw-bg-opacity:1;background-color:rgb(148 163 184/var(--tw-bg-opacity,1))}.hover\:bg-slate-50:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.hover\:bg-slate-500:hover{--tw-bg-opacity:1;background-color:rgb(100 116 139/var(--tw-bg-opacity,1))}.hover\:bg-slate-600:hover{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.hover\:bg-slate-700:hover{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.hover\:bg-slate-800:hover{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.hover\:bg-slate-900:hover{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.hover\:bg-teal-100:hover{--tw-bg-opacity:1;background-color:rgb(204 251 241/var(--tw-bg-opacity,1))}.hover\:bg-teal-200:hover{--tw-bg-opacity:1;background-color:rgb(153 246 228/var(--tw-bg-opacity,1))}.hover\:bg-teal-300:hover{--tw-bg-opacity:1;background-color:rgb(94 234 212/var(--tw-bg-opacity,1))}.hover\:bg-teal-400:hover{--tw-bg-opacity:1;background-color:rgb(45 212 191/var(--tw-bg-opacity,1))}.hover\:bg-teal-50:hover{--tw-bg-opacity:1;background-color:rgb(240 253 250/var(--tw-bg-opacity,1))}.hover\:bg-teal-500:hover{--tw-bg-opacity:1;background-color:rgb(20 184 166/var(--tw-bg-opacity,1))}.hover\:bg-teal-600:hover{--tw-bg-opacity:1;background-color:rgb(13 148 136/var(--tw-bg-opacity,1))}.hover\:bg-teal-700:hover{--tw-bg-opacity:1;background-color:rgb(15 118 110/var(--tw-bg-opacity,1))}.hover\:bg-teal-800:hover{--tw-bg-opacity:1;background-color:rgb(17 94 89/var(--tw-bg-opacity,1))}.hover\:bg-teal-900:hover{--tw-bg-opacity:1;background-color:rgb(19 78 74/var(--tw-bg-opacity,1))}.hover\:bg-violet-100:hover{--tw-bg-opacity:1;background-color:rgb(237 233 254/var(--tw-bg-opacity,1))}.hover\:bg-violet-200:hover{--tw-bg-opacity:1;background-color:rgb(221 214 254/var(--tw-bg-opacity,1))}.hover\:bg-violet-300:hover{--tw-bg-opacity:1;background-color:rgb(196 181 253/var(--tw-bg-opacity,1))}.hover\:bg-violet-400:hover{--tw-bg-opacity:1;background-color:rgb(167 139 250/var(--tw-bg-opacity,1))}.hover\:bg-violet-50:hover{--tw-bg-opacity:1;background-color:rgb(245 243 255/var(--tw-bg-opacity,1))}.hover\:bg-violet-500:hover{--tw-bg-opacity:1;background-color:rgb(139 92 246/var(--tw-bg-opacity,1))}.hover\:bg-violet-600:hover{--tw-bg-opacity:1;background-color:rgb(124 58 237/var(--tw-bg-opacity,1))}.hover\:bg-violet-700:hover{--tw-bg-opacity:1;background-color:rgb(109 40 217/var(--tw-bg-opacity,1))}.hover\:bg-violet-800:hover{--tw-bg-opacity:1;background-color:rgb(91 33 182/var(--tw-bg-opacity,1))}.hover\:bg-violet-900:hover{--tw-bg-opacity:1;background-color:rgb(76 29 149/var(--tw-bg-opacity,1))}.hover\:bg-white\/10:hover{background-color:hsla(0,0%,100%,.1)}.hover\:bg-white\/5:hover{background-color:hsla(0,0%,100%,.05)}.hover\:bg-yellow-100:hover{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.hover\:bg-yellow-200:hover{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity,1))}.hover\:bg-yellow-300:hover{--tw-bg-opacity:1;background-color:rgb(253 224 71/var(--tw-bg-opacity,1))}.hover\:bg-yellow-400:hover{--tw-bg-opacity:1;background-color:rgb(250 204 21/var(--tw-bg-opacity,1))}.hover\:bg-yellow-50:hover{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity,1))}.hover\:bg-yellow-500:hover{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.hover\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.hover\:bg-yellow-700:hover{--tw-bg-opacity:1;background-color:rgb(161 98 7/var(--tw-bg-opacity,1))}.hover\:bg-yellow-800:hover{--tw-bg-opacity:1;background-color:rgb(133 77 14/var(--tw-bg-opacity,1))}.hover\:bg-yellow-900:hover{--tw-bg-opacity:1;background-color:rgb(113 63 18/var(--tw-bg-opacity,1))}.hover\:bg-zinc-100:hover{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity,1))}.hover\:bg-zinc-200:hover{--tw-bg-opacity:1;background-color:rgb(228 228 231/var(--tw-bg-opacity,1))}.hover\:bg-zinc-300:hover{--tw-bg-opacity:1;background-color:rgb(212 212 216/var(--tw-bg-opacity,1))}.hover\:bg-zinc-400:hover{--tw-bg-opacity:1;background-color:rgb(161 161 170/var(--tw-bg-opacity,1))}.hover\:bg-zinc-50:hover{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.hover\:bg-zinc-500:hover{--tw-bg-opacity:1;background-color:rgb(113 113 122/var(--tw-bg-opacity,1))}.hover\:bg-zinc-600:hover{--tw-bg-opacity:1;background-color:rgb(82 82 91/var(--tw-bg-opacity,1))}.hover\:bg-zinc-700:hover{--tw-bg-opacity:1;background-color:rgb(63 63 70/var(--tw-bg-opacity,1))}.hover\:bg-zinc-800:hover{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.hover\:bg-zinc-900:hover{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity,1))}.hover\:from-amber-100:hover{--tw-gradient-from:#fef3c7 var(--tw-gradient-from-position);--tw-gradient-to:hsla(48,96%,89%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-amber-200:hover{--tw-gradient-from:#fde68a var(--tw-gradient-from-position);--tw-gradient-to:hsla(48,97%,77%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-amber-300:hover{--tw-gradient-from:#fcd34d var(--tw-gradient-from-position);--tw-gradient-to:rgba(252,211,77,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-amber-400:hover{--tw-gradient-from:#fbbf24 var(--tw-gradient-from-position);--tw-gradient-to:rgba(251,191,36,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-amber-50:hover{--tw-gradient-from:#fffbeb var(--tw-gradient-from-position);--tw-gradient-to:rgba(255,251,235,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-amber-500:hover{--tw-gradient-from:#f59e0b var(--tw-gradient-from-position);--tw-gradient-to:rgba(245,158,11,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-amber-600:hover{--tw-gradient-from:#d97706 var(--tw-gradient-from-position);--tw-gradient-to:rgba(217,119,6,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-amber-700:hover{--tw-gradient-from:#b45309 var(--tw-gradient-from-position);--tw-gradient-to:rgba(180,83,9,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-amber-800:hover{--tw-gradient-from:#92400e var(--tw-gradient-from-position);--tw-gradient-to:rgba(146,64,14,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-amber-900:hover{--tw-gradient-from:#78350f var(--tw-gradient-from-position);--tw-gradient-to:rgba(120,53,15,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-blue-100:hover{--tw-gradient-from:#dbeafe var(--tw-gradient-from-position);--tw-gradient-to:rgba(219,234,254,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-blue-200:hover{--tw-gradient-from:#bfdbfe var(--tw-gradient-from-position);--tw-gradient-to:rgba(191,219,254,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-blue-300:hover{--tw-gradient-from:#93c5fd var(--tw-gradient-from-position);--tw-gradient-to:rgba(147,197,253,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-blue-400:hover{--tw-gradient-from:#60a5fa var(--tw-gradient-from-position);--tw-gradient-to:rgba(96,165,250,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-blue-50:hover{--tw-gradient-from:#eff6ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(239,246,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-blue-500:hover{--tw-gradient-from:#3b82f6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(59,130,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-blue-600:hover{--tw-gradient-from:#2563eb var(--tw-gradient-from-position);--tw-gradient-to:rgba(37,99,235,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-blue-700:hover{--tw-gradient-from:#1d4ed8 var(--tw-gradient-from-position);--tw-gradient-to:rgba(29,78,216,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-blue-800:hover{--tw-gradient-from:#1e40af var(--tw-gradient-from-position);--tw-gradient-to:rgba(30,64,175,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-blue-900:hover{--tw-gradient-from:#1e3a8a var(--tw-gradient-from-position);--tw-gradient-to:rgba(30,58,138,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-brand-100:hover{--tw-gradient-from:#d9eaff var(--tw-gradient-from-position);--tw-gradient-to:rgba(217,234,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-brand-200:hover{--tw-gradient-from:#b9d8ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(185,216,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-brand-300:hover{--tw-gradient-from:#90c0ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(144,192,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-brand-400:hover{--tw-gradient-from:#5da0ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(93,160,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-brand-50:hover{--tw-gradient-from:#eef6ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(238,246,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-brand-500:hover{--tw-gradient-from:#2f7fff var(--tw-gradient-from-position);--tw-gradient-to:rgba(47,127,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-brand-600:hover{--tw-gradient-from:#1f69e5 var(--tw-gradient-from-position);--tw-gradient-to:rgba(31,105,229,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-brand-700:hover{--tw-gradient-from:#1c57bf var(--tw-gradient-from-position);--tw-gradient-to:rgba(28,87,191,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-brand-800:hover{--tw-gradient-from:#1a499b var(--tw-gradient-from-position);--tw-gradient-to:rgba(26,73,155,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-brand-900:hover{--tw-gradient-from:#173f82 var(--tw-gradient-from-position);--tw-gradient-to:rgba(23,63,130,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-emerald-100:hover{--tw-gradient-from:#d1fae5 var(--tw-gradient-from-position);--tw-gradient-to:rgba(209,250,229,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-emerald-200:hover{--tw-gradient-from:#a7f3d0 var(--tw-gradient-from-position);--tw-gradient-to:rgba(167,243,208,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-emerald-300:hover{--tw-gradient-from:#6ee7b7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(110,231,183,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-emerald-400:hover{--tw-gradient-from:#34d399 var(--tw-gradient-from-position);--tw-gradient-to:rgba(52,211,153,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-emerald-50:hover{--tw-gradient-from:#ecfdf5 var(--tw-gradient-from-position);--tw-gradient-to:rgba(236,253,245,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-emerald-500:hover{--tw-gradient-from:#10b981 var(--tw-gradient-from-position);--tw-gradient-to:rgba(16,185,129,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-emerald-600:hover{--tw-gradient-from:#059669 var(--tw-gradient-from-position);--tw-gradient-to:rgba(5,150,105,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-emerald-700:hover{--tw-gradient-from:#047857 var(--tw-gradient-from-position);--tw-gradient-to:rgba(4,120,87,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-emerald-800:hover{--tw-gradient-from:#065f46 var(--tw-gradient-from-position);--tw-gradient-to:rgba(6,95,70,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-emerald-900:hover{--tw-gradient-from:#064e3b var(--tw-gradient-from-position);--tw-gradient-to:rgba(6,78,59,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-gray-100:hover{--tw-gradient-from:#f3f4f6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(243,244,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-gray-200:hover{--tw-gradient-from:#e5e7eb var(--tw-gradient-from-position);--tw-gradient-to:rgba(229,231,235,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-gray-300:hover{--tw-gradient-from:#d1d5db var(--tw-gradient-from-position);--tw-gradient-to:rgba(209,213,219,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-gray-400:hover{--tw-gradient-from:#9ca3af var(--tw-gradient-from-position);--tw-gradient-to:rgba(156,163,175,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-gray-50:hover{--tw-gradient-from:#f9fafb var(--tw-gradient-from-position);--tw-gradient-to:rgba(249,250,251,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-gray-500:hover{--tw-gradient-from:#6b7280 var(--tw-gradient-from-position);--tw-gradient-to:hsla(220,9%,46%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-gray-600:hover{--tw-gradient-from:#4b5563 var(--tw-gradient-from-position);--tw-gradient-to:rgba(75,85,99,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-gray-700:hover{--tw-gradient-from:#374151 var(--tw-gradient-from-position);--tw-gradient-to:rgba(55,65,81,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-gray-800:hover{--tw-gradient-from:#1f2937 var(--tw-gradient-from-position);--tw-gradient-to:rgba(31,41,55,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-gray-900:hover{--tw-gradient-from:#111827 var(--tw-gradient-from-position);--tw-gradient-to:rgba(17,24,39,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-green-100:hover{--tw-gradient-from:#dcfce7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(220,252,231,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-green-200:hover{--tw-gradient-from:#bbf7d0 var(--tw-gradient-from-position);--tw-gradient-to:rgba(187,247,208,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-green-300:hover{--tw-gradient-from:#86efac var(--tw-gradient-from-position);--tw-gradient-to:rgba(134,239,172,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-green-400:hover{--tw-gradient-from:#4ade80 var(--tw-gradient-from-position);--tw-gradient-to:rgba(74,222,128,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-green-50:hover{--tw-gradient-from:#f0fdf4 var(--tw-gradient-from-position);--tw-gradient-to:rgba(240,253,244,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-green-500:hover{--tw-gradient-from:#22c55e var(--tw-gradient-from-position);--tw-gradient-to:rgba(34,197,94,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-green-600:hover{--tw-gradient-from:#16a34a var(--tw-gradient-from-position);--tw-gradient-to:rgba(22,163,74,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-green-700:hover{--tw-gradient-from:#15803d var(--tw-gradient-from-position);--tw-gradient-to:rgba(21,128,61,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-green-800:hover{--tw-gradient-from:#166534 var(--tw-gradient-from-position);--tw-gradient-to:rgba(22,101,52,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-green-900:hover{--tw-gradient-from:#14532d var(--tw-gradient-from-position);--tw-gradient-to:rgba(20,83,45,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-indigo-100:hover{--tw-gradient-from:#e0e7ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(224,231,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-indigo-200:hover{--tw-gradient-from:#c7d2fe var(--tw-gradient-from-position);--tw-gradient-to:rgba(199,210,254,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-indigo-300:hover{--tw-gradient-from:#a5b4fc var(--tw-gradient-from-position);--tw-gradient-to:rgba(165,180,252,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-indigo-400:hover{--tw-gradient-from:#818cf8 var(--tw-gradient-from-position);--tw-gradient-to:rgba(129,140,248,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-indigo-50:hover{--tw-gradient-from:#eef2ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(238,242,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-indigo-500:hover{--tw-gradient-from:#6366f1 var(--tw-gradient-from-position);--tw-gradient-to:rgba(99,102,241,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-indigo-600:hover{--tw-gradient-from:#4f46e5 var(--tw-gradient-from-position);--tw-gradient-to:rgba(79,70,229,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-indigo-700:hover{--tw-gradient-from:#4338ca var(--tw-gradient-from-position);--tw-gradient-to:rgba(67,56,202,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-indigo-800:hover{--tw-gradient-from:#3730a3 var(--tw-gradient-from-position);--tw-gradient-to:rgba(55,48,163,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-indigo-900:hover{--tw-gradient-from:#312e81 var(--tw-gradient-from-position);--tw-gradient-to:rgba(49,46,129,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-orange-100:hover{--tw-gradient-from:#ffedd5 var(--tw-gradient-from-position);--tw-gradient-to:rgba(255,237,213,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-orange-200:hover{--tw-gradient-from:#fed7aa var(--tw-gradient-from-position);--tw-gradient-to:hsla(32,98%,83%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-orange-300:hover{--tw-gradient-from:#fdba74 var(--tw-gradient-from-position);--tw-gradient-to:hsla(31,97%,72%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-orange-400:hover{--tw-gradient-from:#fb923c var(--tw-gradient-from-position);--tw-gradient-to:rgba(251,146,60,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-orange-50:hover{--tw-gradient-from:#fff7ed var(--tw-gradient-from-position);--tw-gradient-to:rgba(255,247,237,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-orange-500:hover{--tw-gradient-from:#f97316 var(--tw-gradient-from-position);--tw-gradient-to:rgba(249,115,22,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-orange-600:hover{--tw-gradient-from:#ea580c var(--tw-gradient-from-position);--tw-gradient-to:rgba(234,88,12,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-orange-700:hover{--tw-gradient-from:#c2410c var(--tw-gradient-from-position);--tw-gradient-to:rgba(194,65,12,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-orange-800:hover{--tw-gradient-from:#9a3412 var(--tw-gradient-from-position);--tw-gradient-to:rgba(154,52,18,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-orange-900:hover{--tw-gradient-from:#7c2d12 var(--tw-gradient-from-position);--tw-gradient-to:rgba(124,45,18,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-pink-100:hover{--tw-gradient-from:#fce7f3 var(--tw-gradient-from-position);--tw-gradient-to:rgba(252,231,243,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-pink-200:hover{--tw-gradient-from:#fbcfe8 var(--tw-gradient-from-position);--tw-gradient-to:rgba(251,207,232,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-pink-300:hover{--tw-gradient-from:#f9a8d4 var(--tw-gradient-from-position);--tw-gradient-to:rgba(249,168,212,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-pink-400:hover{--tw-gradient-from:#f472b6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(244,114,182,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-pink-50:hover{--tw-gradient-from:#fdf2f8 var(--tw-gradient-from-position);--tw-gradient-to:rgba(253,242,248,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-pink-500:hover{--tw-gradient-from:#ec4899 var(--tw-gradient-from-position);--tw-gradient-to:rgba(236,72,153,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-pink-600:hover{--tw-gradient-from:#db2777 var(--tw-gradient-from-position);--tw-gradient-to:rgba(219,39,119,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-pink-700:hover{--tw-gradient-from:#be185d var(--tw-gradient-from-position);--tw-gradient-to:rgba(190,24,93,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-pink-800:hover{--tw-gradient-from:#9d174d var(--tw-gradient-from-position);--tw-gradient-to:rgba(157,23,77,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-pink-900:hover{--tw-gradient-from:#831843 var(--tw-gradient-from-position);--tw-gradient-to:rgba(131,24,67,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-purple-100:hover{--tw-gradient-from:#f3e8ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(243,232,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-purple-200:hover{--tw-gradient-from:#e9d5ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(233,213,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-purple-300:hover{--tw-gradient-from:#d8b4fe var(--tw-gradient-from-position);--tw-gradient-to:rgba(216,180,254,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-purple-400:hover{--tw-gradient-from:#c084fc var(--tw-gradient-from-position);--tw-gradient-to:rgba(192,132,252,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-purple-50:hover{--tw-gradient-from:#faf5ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(250,245,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-purple-500:hover{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-purple-600:hover{--tw-gradient-from:#9333ea var(--tw-gradient-from-position);--tw-gradient-to:rgba(147,51,234,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-purple-700:hover{--tw-gradient-from:#7e22ce var(--tw-gradient-from-position);--tw-gradient-to:rgba(126,34,206,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-purple-800:hover{--tw-gradient-from:#6b21a8 var(--tw-gradient-from-position);--tw-gradient-to:rgba(107,33,168,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-purple-900:hover{--tw-gradient-from:#581c87 var(--tw-gradient-from-position);--tw-gradient-to:rgba(88,28,135,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-red-100:hover{--tw-gradient-from:#fee2e2 var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,93%,94%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-red-200:hover{--tw-gradient-from:#fecaca var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,96%,89%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-red-300:hover{--tw-gradient-from:#fca5a5 var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,94%,82%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-red-400:hover{--tw-gradient-from:#f87171 var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,91%,71%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-red-50:hover{--tw-gradient-from:#fef2f2 var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,86%,97%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-red-500:hover{--tw-gradient-from:#ef4444 var(--tw-gradient-from-position);--tw-gradient-to:rgba(239,68,68,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-red-600:hover{--tw-gradient-from:#dc2626 var(--tw-gradient-from-position);--tw-gradient-to:rgba(220,38,38,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-red-700:hover{--tw-gradient-from:#b91c1c var(--tw-gradient-from-position);--tw-gradient-to:rgba(185,28,28,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-red-800:hover{--tw-gradient-from:#991b1b var(--tw-gradient-from-position);--tw-gradient-to:rgba(153,27,27,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-red-900:hover{--tw-gradient-from:#7f1d1d var(--tw-gradient-from-position);--tw-gradient-to:rgba(127,29,29,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-rose-100:hover{--tw-gradient-from:#ffe4e6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(255,228,230,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-rose-200:hover{--tw-gradient-from:#fecdd3 var(--tw-gradient-from-position);--tw-gradient-to:rgba(254,205,211,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-rose-300:hover{--tw-gradient-from:#fda4af var(--tw-gradient-from-position);--tw-gradient-to:rgba(253,164,175,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-rose-400:hover{--tw-gradient-from:#fb7185 var(--tw-gradient-from-position);--tw-gradient-to:rgba(251,113,133,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-rose-50:hover{--tw-gradient-from:#fff1f2 var(--tw-gradient-from-position);--tw-gradient-to:rgba(255,241,242,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-rose-500:hover{--tw-gradient-from:#f43f5e var(--tw-gradient-from-position);--tw-gradient-to:rgba(244,63,94,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-rose-600:hover{--tw-gradient-from:#e11d48 var(--tw-gradient-from-position);--tw-gradient-to:rgba(225,29,72,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-rose-700:hover{--tw-gradient-from:#be123c var(--tw-gradient-from-position);--tw-gradient-to:rgba(190,18,60,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-rose-800:hover{--tw-gradient-from:#9f1239 var(--tw-gradient-from-position);--tw-gradient-to:rgba(159,18,57,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-rose-900:hover{--tw-gradient-from:#881337 var(--tw-gradient-from-position);--tw-gradient-to:rgba(136,19,55,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-slate-100:hover{--tw-gradient-from:#f1f5f9 var(--tw-gradient-from-position);--tw-gradient-to:rgba(241,245,249,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-slate-200:hover{--tw-gradient-from:#e2e8f0 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,232,240,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-slate-300:hover{--tw-gradient-from:#cbd5e1 var(--tw-gradient-from-position);--tw-gradient-to:rgba(203,213,225,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-slate-400:hover{--tw-gradient-from:#94a3b8 var(--tw-gradient-from-position);--tw-gradient-to:rgba(148,163,184,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-slate-50:hover{--tw-gradient-from:#f8fafc var(--tw-gradient-from-position);--tw-gradient-to:rgba(248,250,252,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-slate-500:hover{--tw-gradient-from:#64748b var(--tw-gradient-from-position);--tw-gradient-to:rgba(100,116,139,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-slate-600:hover{--tw-gradient-from:#475569 var(--tw-gradient-from-position);--tw-gradient-to:rgba(71,85,105,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-slate-700:hover{--tw-gradient-from:#334155 var(--tw-gradient-from-position);--tw-gradient-to:rgba(51,65,85,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-slate-800:hover{--tw-gradient-from:#1e293b var(--tw-gradient-from-position);--tw-gradient-to:rgba(30,41,59,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-slate-900:hover{--tw-gradient-from:#0f172a var(--tw-gradient-from-position);--tw-gradient-to:rgba(15,23,42,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-teal-100:hover{--tw-gradient-from:#ccfbf1 var(--tw-gradient-from-position);--tw-gradient-to:rgba(204,251,241,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-teal-200:hover{--tw-gradient-from:#99f6e4 var(--tw-gradient-from-position);--tw-gradient-to:rgba(153,246,228,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-teal-300:hover{--tw-gradient-from:#5eead4 var(--tw-gradient-from-position);--tw-gradient-to:rgba(94,234,212,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-teal-400:hover{--tw-gradient-from:#2dd4bf var(--tw-gradient-from-position);--tw-gradient-to:rgba(45,212,191,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-teal-50:hover{--tw-gradient-from:#f0fdfa var(--tw-gradient-from-position);--tw-gradient-to:rgba(240,253,250,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-teal-500:hover{--tw-gradient-from:#14b8a6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(20,184,166,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-teal-600:hover{--tw-gradient-from:#0d9488 var(--tw-gradient-from-position);--tw-gradient-to:rgba(13,148,136,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-teal-700:hover{--tw-gradient-from:#0f766e var(--tw-gradient-from-position);--tw-gradient-to:rgba(15,118,110,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-teal-800:hover{--tw-gradient-from:#115e59 var(--tw-gradient-from-position);--tw-gradient-to:rgba(17,94,89,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-teal-900:hover{--tw-gradient-from:#134e4a var(--tw-gradient-from-position);--tw-gradient-to:rgba(19,78,74,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-violet-100:hover{--tw-gradient-from:#ede9fe var(--tw-gradient-from-position);--tw-gradient-to:rgba(237,233,254,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-violet-200:hover{--tw-gradient-from:#ddd6fe var(--tw-gradient-from-position);--tw-gradient-to:rgba(221,214,254,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-violet-300:hover{--tw-gradient-from:#c4b5fd var(--tw-gradient-from-position);--tw-gradient-to:rgba(196,181,253,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-violet-400:hover{--tw-gradient-from:#a78bfa var(--tw-gradient-from-position);--tw-gradient-to:rgba(167,139,250,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-violet-50:hover{--tw-gradient-from:#f5f3ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(245,243,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-violet-500:hover{--tw-gradient-from:#8b5cf6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(139,92,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-violet-600:hover{--tw-gradient-from:#7c3aed var(--tw-gradient-from-position);--tw-gradient-to:rgba(124,58,237,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-violet-700:hover{--tw-gradient-from:#6d28d9 var(--tw-gradient-from-position);--tw-gradient-to:rgba(109,40,217,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-violet-800:hover{--tw-gradient-from:#5b21b6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(91,33,182,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-violet-900:hover{--tw-gradient-from:#4c1d95 var(--tw-gradient-from-position);--tw-gradient-to:rgba(76,29,149,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-yellow-100:hover{--tw-gradient-from:#fef9c3 var(--tw-gradient-from-position);--tw-gradient-to:hsla(55,97%,88%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-yellow-200:hover{--tw-gradient-from:#fef08a var(--tw-gradient-from-position);--tw-gradient-to:hsla(53,98%,77%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-yellow-300:hover{--tw-gradient-from:#fde047 var(--tw-gradient-from-position);--tw-gradient-to:rgba(253,224,71,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-yellow-400:hover{--tw-gradient-from:#facc15 var(--tw-gradient-from-position);--tw-gradient-to:rgba(250,204,21,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-yellow-50:hover{--tw-gradient-from:#fefce8 var(--tw-gradient-from-position);--tw-gradient-to:hsla(55,92%,95%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-yellow-500:hover{--tw-gradient-from:#eab308 var(--tw-gradient-from-position);--tw-gradient-to:rgba(234,179,8,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-yellow-600:hover{--tw-gradient-from:#ca8a04 var(--tw-gradient-from-position);--tw-gradient-to:rgba(202,138,4,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-yellow-700:hover{--tw-gradient-from:#a16207 var(--tw-gradient-from-position);--tw-gradient-to:rgba(161,98,7,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-yellow-800:hover{--tw-gradient-from:#854d0e var(--tw-gradient-from-position);--tw-gradient-to:rgba(133,77,14,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-yellow-900:hover{--tw-gradient-from:#713f12 var(--tw-gradient-from-position);--tw-gradient-to:rgba(113,63,18,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-zinc-100:hover{--tw-gradient-from:#f4f4f5 var(--tw-gradient-from-position);--tw-gradient-to:hsla(240,5%,96%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-zinc-200:hover{--tw-gradient-from:#e4e4e7 var(--tw-gradient-from-position);--tw-gradient-to:hsla(240,6%,90%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-zinc-300:hover{--tw-gradient-from:#d4d4d8 var(--tw-gradient-from-position);--tw-gradient-to:hsla(240,5%,84%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-zinc-400:hover{--tw-gradient-from:#a1a1aa var(--tw-gradient-from-position);--tw-gradient-to:hsla(240,5%,65%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-zinc-50:hover{--tw-gradient-from:#fafafa var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,98%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-zinc-500:hover{--tw-gradient-from:#71717a var(--tw-gradient-from-position);--tw-gradient-to:hsla(240,4%,46%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-zinc-600:hover{--tw-gradient-from:#52525b var(--tw-gradient-from-position);--tw-gradient-to:rgba(82,82,91,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-zinc-700:hover{--tw-gradient-from:#3f3f46 var(--tw-gradient-from-position);--tw-gradient-to:rgba(63,63,70,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-zinc-800:hover{--tw-gradient-from:#27272a var(--tw-gradient-from-position);--tw-gradient-to:rgba(39,39,42,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-zinc-900:hover{--tw-gradient-from:#18181b var(--tw-gradient-from-position);--tw-gradient-to:rgba(24,24,27,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:to-amber-100:hover{--tw-gradient-to:#fef3c7 var(--tw-gradient-to-position)}.hover\:to-amber-200:hover{--tw-gradient-to:#fde68a var(--tw-gradient-to-position)}.hover\:to-amber-300:hover{--tw-gradient-to:#fcd34d var(--tw-gradient-to-position)}.hover\:to-amber-400:hover{--tw-gradient-to:#fbbf24 var(--tw-gradient-to-position)}.hover\:to-amber-50:hover{--tw-gradient-to:#fffbeb var(--tw-gradient-to-position)}.hover\:to-amber-500:hover{--tw-gradient-to:#f59e0b var(--tw-gradient-to-position)}.hover\:to-amber-600:hover{--tw-gradient-to:#d97706 var(--tw-gradient-to-position)}.hover\:to-amber-700:hover{--tw-gradient-to:#b45309 var(--tw-gradient-to-position)}.hover\:to-amber-800:hover{--tw-gradient-to:#92400e var(--tw-gradient-to-position)}.hover\:to-amber-900:hover{--tw-gradient-to:#78350f var(--tw-gradient-to-position)}.hover\:to-blue-100:hover{--tw-gradient-to:#dbeafe var(--tw-gradient-to-position)}.hover\:to-blue-200:hover{--tw-gradient-to:#bfdbfe var(--tw-gradient-to-position)}.hover\:to-blue-300:hover{--tw-gradient-to:#93c5fd var(--tw-gradient-to-position)}.hover\:to-blue-400:hover{--tw-gradient-to:#60a5fa var(--tw-gradient-to-position)}.hover\:to-blue-50:hover{--tw-gradient-to:#eff6ff var(--tw-gradient-to-position)}.hover\:to-blue-500:hover{--tw-gradient-to:#3b82f6 var(--tw-gradient-to-position)}.hover\:to-blue-600:hover{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.hover\:to-blue-700:hover{--tw-gradient-to:#1d4ed8 var(--tw-gradient-to-position)}.hover\:to-blue-800:hover{--tw-gradient-to:#1e40af var(--tw-gradient-to-position)}.hover\:to-blue-900:hover{--tw-gradient-to:#1e3a8a var(--tw-gradient-to-position)}.hover\:to-brand-100:hover{--tw-gradient-to:#d9eaff var(--tw-gradient-to-position)}.hover\:to-brand-200:hover{--tw-gradient-to:#b9d8ff var(--tw-gradient-to-position)}.hover\:to-brand-300:hover{--tw-gradient-to:#90c0ff var(--tw-gradient-to-position)}.hover\:to-brand-400:hover{--tw-gradient-to:#5da0ff var(--tw-gradient-to-position)}.hover\:to-brand-50:hover{--tw-gradient-to:#eef6ff var(--tw-gradient-to-position)}.hover\:to-brand-500:hover{--tw-gradient-to:#2f7fff var(--tw-gradient-to-position)}.hover\:to-brand-600:hover{--tw-gradient-to:#1f69e5 var(--tw-gradient-to-position)}.hover\:to-brand-700:hover{--tw-gradient-to:#1c57bf var(--tw-gradient-to-position)}.hover\:to-brand-800:hover{--tw-gradient-to:#1a499b var(--tw-gradient-to-position)}.hover\:to-brand-900:hover{--tw-gradient-to:#173f82 var(--tw-gradient-to-position)}.hover\:to-emerald-100:hover{--tw-gradient-to:#d1fae5 var(--tw-gradient-to-position)}.hover\:to-emerald-200:hover{--tw-gradient-to:#a7f3d0 var(--tw-gradient-to-position)}.hover\:to-emerald-300:hover{--tw-gradient-to:#6ee7b7 var(--tw-gradient-to-position)}.hover\:to-emerald-400:hover{--tw-gradient-to:#34d399 var(--tw-gradient-to-position)}.hover\:to-emerald-50:hover{--tw-gradient-to:#ecfdf5 var(--tw-gradient-to-position)}.hover\:to-emerald-500:hover{--tw-gradient-to:#10b981 var(--tw-gradient-to-position)}.hover\:to-emerald-600:hover{--tw-gradient-to:#059669 var(--tw-gradient-to-position)}.hover\:to-emerald-700:hover{--tw-gradient-to:#047857 var(--tw-gradient-to-position)}.hover\:to-emerald-800:hover{--tw-gradient-to:#065f46 var(--tw-gradient-to-position)}.hover\:to-emerald-900:hover{--tw-gradient-to:#064e3b var(--tw-gradient-to-position)}.hover\:to-gray-100:hover{--tw-gradient-to:#f3f4f6 var(--tw-gradient-to-position)}.hover\:to-gray-200:hover{--tw-gradient-to:#e5e7eb var(--tw-gradient-to-position)}.hover\:to-gray-300:hover{--tw-gradient-to:#d1d5db var(--tw-gradient-to-position)}.hover\:to-gray-400:hover{--tw-gradient-to:#9ca3af var(--tw-gradient-to-position)}.hover\:to-gray-50:hover{--tw-gradient-to:#f9fafb var(--tw-gradient-to-position)}.hover\:to-gray-500:hover{--tw-gradient-to:#6b7280 var(--tw-gradient-to-position)}.hover\:to-gray-600:hover{--tw-gradient-to:#4b5563 var(--tw-gradient-to-position)}.hover\:to-gray-700:hover{--tw-gradient-to:#374151 var(--tw-gradient-to-position)}.hover\:to-gray-800:hover{--tw-gradient-to:#1f2937 var(--tw-gradient-to-position)}.hover\:to-gray-900:hover{--tw-gradient-to:#111827 var(--tw-gradient-to-position)}.hover\:to-green-100:hover{--tw-gradient-to:#dcfce7 var(--tw-gradient-to-position)}.hover\:to-green-200:hover{--tw-gradient-to:#bbf7d0 var(--tw-gradient-to-position)}.hover\:to-green-300:hover{--tw-gradient-to:#86efac var(--tw-gradient-to-position)}.hover\:to-green-400:hover{--tw-gradient-to:#4ade80 var(--tw-gradient-to-position)}.hover\:to-green-50:hover{--tw-gradient-to:#f0fdf4 var(--tw-gradient-to-position)}.hover\:to-green-500:hover{--tw-gradient-to:#22c55e var(--tw-gradient-to-position)}.hover\:to-green-600:hover{--tw-gradient-to:#16a34a var(--tw-gradient-to-position)}.hover\:to-green-700:hover{--tw-gradient-to:#15803d var(--tw-gradient-to-position)}.hover\:to-green-800:hover{--tw-gradient-to:#166534 var(--tw-gradient-to-position)}.hover\:to-green-900:hover{--tw-gradient-to:#14532d var(--tw-gradient-to-position)}.hover\:to-indigo-100:hover{--tw-gradient-to:#e0e7ff var(--tw-gradient-to-position)}.hover\:to-indigo-200:hover{--tw-gradient-to:#c7d2fe var(--tw-gradient-to-position)}.hover\:to-indigo-300:hover{--tw-gradient-to:#a5b4fc var(--tw-gradient-to-position)}.hover\:to-indigo-400:hover{--tw-gradient-to:#818cf8 var(--tw-gradient-to-position)}.hover\:to-indigo-50:hover{--tw-gradient-to:#eef2ff var(--tw-gradient-to-position)}.hover\:to-indigo-500:hover{--tw-gradient-to:#6366f1 var(--tw-gradient-to-position)}.hover\:to-indigo-600:hover{--tw-gradient-to:#4f46e5 var(--tw-gradient-to-position)}.hover\:to-indigo-700:hover{--tw-gradient-to:#4338ca var(--tw-gradient-to-position)}.hover\:to-indigo-800:hover{--tw-gradient-to:#3730a3 var(--tw-gradient-to-position)}.hover\:to-indigo-900:hover{--tw-gradient-to:#312e81 var(--tw-gradient-to-position)}.hover\:to-orange-100:hover{--tw-gradient-to:#ffedd5 var(--tw-gradient-to-position)}.hover\:to-orange-200:hover{--tw-gradient-to:#fed7aa var(--tw-gradient-to-position)}.hover\:to-orange-300:hover{--tw-gradient-to:#fdba74 var(--tw-gradient-to-position)}.hover\:to-orange-400:hover{--tw-gradient-to:#fb923c var(--tw-gradient-to-position)}.hover\:to-orange-50:hover{--tw-gradient-to:#fff7ed var(--tw-gradient-to-position)}.hover\:to-orange-500:hover{--tw-gradient-to:#f97316 var(--tw-gradient-to-position)}.hover\:to-orange-600:hover{--tw-gradient-to:#ea580c var(--tw-gradient-to-position)}.hover\:to-orange-700:hover{--tw-gradient-to:#c2410c var(--tw-gradient-to-position)}.hover\:to-orange-800:hover{--tw-gradient-to:#9a3412 var(--tw-gradient-to-position)}.hover\:to-orange-900:hover{--tw-gradient-to:#7c2d12 var(--tw-gradient-to-position)}.hover\:to-pink-100:hover{--tw-gradient-to:#fce7f3 var(--tw-gradient-to-position)}.hover\:to-pink-200:hover{--tw-gradient-to:#fbcfe8 var(--tw-gradient-to-position)}.hover\:to-pink-300:hover{--tw-gradient-to:#f9a8d4 var(--tw-gradient-to-position)}.hover\:to-pink-400:hover{--tw-gradient-to:#f472b6 var(--tw-gradient-to-position)}.hover\:to-pink-50:hover{--tw-gradient-to:#fdf2f8 var(--tw-gradient-to-position)}.hover\:to-pink-500:hover{--tw-gradient-to:#ec4899 var(--tw-gradient-to-position)}.hover\:to-pink-600:hover{--tw-gradient-to:#db2777 var(--tw-gradient-to-position)}.hover\:to-pink-700:hover{--tw-gradient-to:#be185d var(--tw-gradient-to-position)}.hover\:to-pink-800:hover{--tw-gradient-to:#9d174d var(--tw-gradient-to-position)}.hover\:to-pink-900:hover{--tw-gradient-to:#831843 var(--tw-gradient-to-position)}.hover\:to-purple-100:hover{--tw-gradient-to:#f3e8ff var(--tw-gradient-to-position)}.hover\:to-purple-200:hover{--tw-gradient-to:#e9d5ff var(--tw-gradient-to-position)}.hover\:to-purple-300:hover{--tw-gradient-to:#d8b4fe var(--tw-gradient-to-position)}.hover\:to-purple-400:hover{--tw-gradient-to:#c084fc var(--tw-gradient-to-position)}.hover\:to-purple-50:hover{--tw-gradient-to:#faf5ff var(--tw-gradient-to-position)}.hover\:to-purple-500:hover{--tw-gradient-to:#a855f7 var(--tw-gradient-to-position)}.hover\:to-purple-600:hover{--tw-gradient-to:#9333ea var(--tw-gradient-to-position)}.hover\:to-purple-700:hover{--tw-gradient-to:#7e22ce var(--tw-gradient-to-position)}.hover\:to-purple-800:hover{--tw-gradient-to:#6b21a8 var(--tw-gradient-to-position)}.hover\:to-purple-900:hover{--tw-gradient-to:#581c87 var(--tw-gradient-to-position)}.hover\:to-red-100:hover{--tw-gradient-to:#fee2e2 var(--tw-gradient-to-position)}.hover\:to-red-200:hover{--tw-gradient-to:#fecaca var(--tw-gradient-to-position)}.hover\:to-red-300:hover{--tw-gradient-to:#fca5a5 var(--tw-gradient-to-position)}.hover\:to-red-400:hover{--tw-gradient-to:#f87171 var(--tw-gradient-to-position)}.hover\:to-red-50:hover{--tw-gradient-to:#fef2f2 var(--tw-gradient-to-position)}.hover\:to-red-500:hover{--tw-gradient-to:#ef4444 var(--tw-gradient-to-position)}.hover\:to-red-600:hover{--tw-gradient-to:#dc2626 var(--tw-gradient-to-position)}.hover\:to-red-700:hover{--tw-gradient-to:#b91c1c var(--tw-gradient-to-position)}.hover\:to-red-800:hover{--tw-gradient-to:#991b1b var(--tw-gradient-to-position)}.hover\:to-red-900:hover{--tw-gradient-to:#7f1d1d var(--tw-gradient-to-position)}.hover\:to-rose-100:hover{--tw-gradient-to:#ffe4e6 var(--tw-gradient-to-position)}.hover\:to-rose-200:hover{--tw-gradient-to:#fecdd3 var(--tw-gradient-to-position)}.hover\:to-rose-300:hover{--tw-gradient-to:#fda4af var(--tw-gradient-to-position)}.hover\:to-rose-400:hover{--tw-gradient-to:#fb7185 var(--tw-gradient-to-position)}.hover\:to-rose-50:hover{--tw-gradient-to:#fff1f2 var(--tw-gradient-to-position)}.hover\:to-rose-500:hover{--tw-gradient-to:#f43f5e var(--tw-gradient-to-position)}.hover\:to-rose-600:hover{--tw-gradient-to:#e11d48 var(--tw-gradient-to-position)}.hover\:to-rose-700:hover{--tw-gradient-to:#be123c var(--tw-gradient-to-position)}.hover\:to-rose-800:hover{--tw-gradient-to:#9f1239 var(--tw-gradient-to-position)}.hover\:to-rose-900:hover{--tw-gradient-to:#881337 var(--tw-gradient-to-position)}.hover\:to-slate-100:hover{--tw-gradient-to:#f1f5f9 var(--tw-gradient-to-position)}.hover\:to-slate-200:hover{--tw-gradient-to:#e2e8f0 var(--tw-gradient-to-position)}.hover\:to-slate-300:hover{--tw-gradient-to:#cbd5e1 var(--tw-gradient-to-position)}.hover\:to-slate-400:hover{--tw-gradient-to:#94a3b8 var(--tw-gradient-to-position)}.hover\:to-slate-50:hover{--tw-gradient-to:#f8fafc var(--tw-gradient-to-position)}.hover\:to-slate-500:hover{--tw-gradient-to:#64748b var(--tw-gradient-to-position)}.hover\:to-slate-600:hover{--tw-gradient-to:#475569 var(--tw-gradient-to-position)}.hover\:to-slate-700:hover{--tw-gradient-to:#334155 var(--tw-gradient-to-position)}.hover\:to-slate-800:hover{--tw-gradient-to:#1e293b var(--tw-gradient-to-position)}.hover\:to-slate-900:hover{--tw-gradient-to:#0f172a var(--tw-gradient-to-position)}.hover\:to-teal-100:hover{--tw-gradient-to:#ccfbf1 var(--tw-gradient-to-position)}.hover\:to-teal-200:hover{--tw-gradient-to:#99f6e4 var(--tw-gradient-to-position)}.hover\:to-teal-300:hover{--tw-gradient-to:#5eead4 var(--tw-gradient-to-position)}.hover\:to-teal-400:hover{--tw-gradient-to:#2dd4bf var(--tw-gradient-to-position)}.hover\:to-teal-50:hover{--tw-gradient-to:#f0fdfa var(--tw-gradient-to-position)}.hover\:to-teal-500:hover{--tw-gradient-to:#14b8a6 var(--tw-gradient-to-position)}.hover\:to-teal-600:hover{--tw-gradient-to:#0d9488 var(--tw-gradient-to-position)}.hover\:to-teal-700:hover{--tw-gradient-to:#0f766e var(--tw-gradient-to-position)}.hover\:to-teal-800:hover{--tw-gradient-to:#115e59 var(--tw-gradient-to-position)}.hover\:to-teal-900:hover{--tw-gradient-to:#134e4a var(--tw-gradient-to-position)}.hover\:to-violet-100:hover{--tw-gradient-to:#ede9fe var(--tw-gradient-to-position)}.hover\:to-violet-200:hover{--tw-gradient-to:#ddd6fe var(--tw-gradient-to-position)}.hover\:to-violet-300:hover{--tw-gradient-to:#c4b5fd var(--tw-gradient-to-position)}.hover\:to-violet-400:hover{--tw-gradient-to:#a78bfa var(--tw-gradient-to-position)}.hover\:to-violet-50:hover{--tw-gradient-to:#f5f3ff var(--tw-gradient-to-position)}.hover\:to-violet-500:hover{--tw-gradient-to:#8b5cf6 var(--tw-gradient-to-position)}.hover\:to-violet-600:hover{--tw-gradient-to:#7c3aed var(--tw-gradient-to-position)}.hover\:to-violet-700:hover{--tw-gradient-to:#6d28d9 var(--tw-gradient-to-position)}.hover\:to-violet-800:hover{--tw-gradient-to:#5b21b6 var(--tw-gradient-to-position)}.hover\:to-violet-900:hover{--tw-gradient-to:#4c1d95 var(--tw-gradient-to-position)}.hover\:to-yellow-100:hover{--tw-gradient-to:#fef9c3 var(--tw-gradient-to-position)}.hover\:to-yellow-200:hover{--tw-gradient-to:#fef08a var(--tw-gradient-to-position)}.hover\:to-yellow-300:hover{--tw-gradient-to:#fde047 var(--tw-gradient-to-position)}.hover\:to-yellow-400:hover{--tw-gradient-to:#facc15 var(--tw-gradient-to-position)}.hover\:to-yellow-50:hover{--tw-gradient-to:#fefce8 var(--tw-gradient-to-position)}.hover\:to-yellow-500:hover{--tw-gradient-to:#eab308 var(--tw-gradient-to-position)}.hover\:to-yellow-600:hover{--tw-gradient-to:#ca8a04 var(--tw-gradient-to-position)}.hover\:to-yellow-700:hover{--tw-gradient-to:#a16207 var(--tw-gradient-to-position)}.hover\:to-yellow-800:hover{--tw-gradient-to:#854d0e var(--tw-gradient-to-position)}.hover\:to-yellow-900:hover{--tw-gradient-to:#713f12 var(--tw-gradient-to-position)}.hover\:to-zinc-100:hover{--tw-gradient-to:#f4f4f5 var(--tw-gradient-to-position)}.hover\:to-zinc-200:hover{--tw-gradient-to:#e4e4e7 var(--tw-gradient-to-position)}.hover\:to-zinc-300:hover{--tw-gradient-to:#d4d4d8 var(--tw-gradient-to-position)}.hover\:to-zinc-400:hover{--tw-gradient-to:#a1a1aa var(--tw-gradient-to-position)}.hover\:to-zinc-50:hover{--tw-gradient-to:#fafafa var(--tw-gradient-to-position)}.hover\:to-zinc-500:hover{--tw-gradient-to:#71717a var(--tw-gradient-to-position)}.hover\:to-zinc-600:hover{--tw-gradient-to:#52525b var(--tw-gradient-to-position)}.hover\:to-zinc-700:hover{--tw-gradient-to:#3f3f46 var(--tw-gradient-to-position)}.hover\:to-zinc-800:hover{--tw-gradient-to:#27272a var(--tw-gradient-to-position)}.hover\:to-zinc-900:hover{--tw-gradient-to:#18181b var(--tw-gradient-to-position)}.hover\:text-amber-100:hover{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity,1))}.hover\:text-amber-200:hover{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.hover\:text-amber-300:hover{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.hover\:text-amber-400:hover{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.hover\:text-amber-50:hover{--tw-text-opacity:1;color:rgb(255 251 235/var(--tw-text-opacity,1))}.hover\:text-amber-500:hover{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.hover\:text-amber-600:hover{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.hover\:text-amber-700:hover{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.hover\:text-amber-800:hover{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.hover\:text-amber-900:hover{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.hover\:text-blue-100:hover{--tw-text-opacity:1;color:rgb(219 234 254/var(--tw-text-opacity,1))}.hover\:text-blue-200:hover{--tw-text-opacity:1;color:rgb(191 219 254/var(--tw-text-opacity,1))}.hover\:text-blue-300:hover{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.hover\:text-blue-400:hover{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.hover\:text-blue-50:hover{--tw-text-opacity:1;color:rgb(239 246 255/var(--tw-text-opacity,1))}.hover\:text-blue-500:hover{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.hover\:text-blue-700:hover{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.hover\:text-blue-800:hover{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.hover\:text-blue-900:hover{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity,1))}.hover\:text-brand-100:hover{--tw-text-opacity:1;color:rgb(217 234 255/var(--tw-text-opacity,1))}.hover\:text-brand-200:hover{--tw-text-opacity:1;color:rgb(185 216 255/var(--tw-text-opacity,1))}.hover\:text-brand-300:hover{--tw-text-opacity:1;color:rgb(144 192 255/var(--tw-text-opacity,1))}.hover\:text-brand-400:hover{--tw-text-opacity:1;color:rgb(93 160 255/var(--tw-text-opacity,1))}.hover\:text-brand-50:hover{--tw-text-opacity:1;color:rgb(238 246 255/var(--tw-text-opacity,1))}.hover\:text-brand-500:hover{--tw-text-opacity:1;color:rgb(47 127 255/var(--tw-text-opacity,1))}.hover\:text-brand-600:hover{--tw-text-opacity:1;color:rgb(31 105 229/var(--tw-text-opacity,1))}.hover\:text-brand-700:hover{--tw-text-opacity:1;color:rgb(28 87 191/var(--tw-text-opacity,1))}.hover\:text-brand-800:hover{--tw-text-opacity:1;color:rgb(26 73 155/var(--tw-text-opacity,1))}.hover\:text-brand-900:hover{--tw-text-opacity:1;color:rgb(23 63 130/var(--tw-text-opacity,1))}.hover\:text-emerald-100:hover{--tw-text-opacity:1;color:rgb(209 250 229/var(--tw-text-opacity,1))}.hover\:text-emerald-200:hover{--tw-text-opacity:1;color:rgb(167 243 208/var(--tw-text-opacity,1))}.hover\:text-emerald-300:hover{--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity,1))}.hover\:text-emerald-400:hover{--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.hover\:text-emerald-50:hover{--tw-text-opacity:1;color:rgb(236 253 245/var(--tw-text-opacity,1))}.hover\:text-emerald-500:hover{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity,1))}.hover\:text-emerald-600:hover{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.hover\:text-emerald-700:hover{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity,1))}.hover\:text-emerald-800:hover{--tw-text-opacity:1;color:rgb(6 95 70/var(--tw-text-opacity,1))}.hover\:text-emerald-900:hover{--tw-text-opacity:1;color:rgb(6 78 59/var(--tw-text-opacity,1))}.hover\:text-gray-100:hover{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.hover\:text-gray-200:hover{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.hover\:text-gray-300:hover{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.hover\:text-gray-400:hover{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.hover\:text-gray-50:hover{--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity,1))}.hover\:text-gray-500:hover{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.hover\:text-green-100:hover{--tw-text-opacity:1;color:rgb(220 252 231/var(--tw-text-opacity,1))}.hover\:text-green-200:hover{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.hover\:text-green-300:hover{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.hover\:text-green-400:hover{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.hover\:text-green-50:hover{--tw-text-opacity:1;color:rgb(240 253 244/var(--tw-text-opacity,1))}.hover\:text-green-500:hover{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.hover\:text-green-600:hover{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.hover\:text-green-700:hover{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.hover\:text-green-800:hover{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.hover\:text-green-900:hover{--tw-text-opacity:1;color:rgb(20 83 45/var(--tw-text-opacity,1))}.hover\:text-indigo-100:hover{--tw-text-opacity:1;color:rgb(224 231 255/var(--tw-text-opacity,1))}.hover\:text-indigo-200:hover{--tw-text-opacity:1;color:rgb(199 210 254/var(--tw-text-opacity,1))}.hover\:text-indigo-300:hover{--tw-text-opacity:1;color:rgb(165 180 252/var(--tw-text-opacity,1))}.hover\:text-indigo-400:hover{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.hover\:text-indigo-50:hover{--tw-text-opacity:1;color:rgb(238 242 255/var(--tw-text-opacity,1))}.hover\:text-indigo-500:hover{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.hover\:text-indigo-600:hover{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.hover\:text-indigo-700:hover{--tw-text-opacity:1;color:rgb(67 56 202/var(--tw-text-opacity,1))}.hover\:text-indigo-800:hover{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity,1))}.hover\:text-indigo-900:hover{--tw-text-opacity:1;color:rgb(49 46 129/var(--tw-text-opacity,1))}.hover\:text-orange-100:hover{--tw-text-opacity:1;color:rgb(255 237 213/var(--tw-text-opacity,1))}.hover\:text-orange-200:hover{--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity,1))}.hover\:text-orange-300:hover{--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.hover\:text-orange-400:hover{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.hover\:text-orange-50:hover{--tw-text-opacity:1;color:rgb(255 247 237/var(--tw-text-opacity,1))}.hover\:text-orange-500:hover{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.hover\:text-orange-600:hover{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.hover\:text-orange-700:hover{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.hover\:text-orange-800:hover{--tw-text-opacity:1;color:rgb(154 52 18/var(--tw-text-opacity,1))}.hover\:text-orange-900:hover{--tw-text-opacity:1;color:rgb(124 45 18/var(--tw-text-opacity,1))}.hover\:text-pink-100:hover{--tw-text-opacity:1;color:rgb(252 231 243/var(--tw-text-opacity,1))}.hover\:text-pink-200:hover{--tw-text-opacity:1;color:rgb(251 207 232/var(--tw-text-opacity,1))}.hover\:text-pink-300:hover{--tw-text-opacity:1;color:rgb(249 168 212/var(--tw-text-opacity,1))}.hover\:text-pink-400:hover{--tw-text-opacity:1;color:rgb(244 114 182/var(--tw-text-opacity,1))}.hover\:text-pink-50:hover{--tw-text-opacity:1;color:rgb(253 242 248/var(--tw-text-opacity,1))}.hover\:text-pink-500:hover{--tw-text-opacity:1;color:rgb(236 72 153/var(--tw-text-opacity,1))}.hover\:text-pink-600:hover{--tw-text-opacity:1;color:rgb(219 39 119/var(--tw-text-opacity,1))}.hover\:text-pink-700:hover{--tw-text-opacity:1;color:rgb(190 24 93/var(--tw-text-opacity,1))}.hover\:text-pink-800:hover{--tw-text-opacity:1;color:rgb(157 23 77/var(--tw-text-opacity,1))}.hover\:text-pink-900:hover{--tw-text-opacity:1;color:rgb(131 24 67/var(--tw-text-opacity,1))}.hover\:text-purple-100:hover{--tw-text-opacity:1;color:rgb(243 232 255/var(--tw-text-opacity,1))}.hover\:text-purple-200:hover{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity,1))}.hover\:text-purple-300:hover{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.hover\:text-purple-400:hover{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.hover\:text-purple-50:hover{--tw-text-opacity:1;color:rgb(250 245 255/var(--tw-text-opacity,1))}.hover\:text-purple-500:hover{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.hover\:text-purple-600:hover{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.hover\:text-purple-700:hover{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity,1))}.hover\:text-purple-800:hover{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity,1))}.hover\:text-purple-900:hover{--tw-text-opacity:1;color:rgb(88 28 135/var(--tw-text-opacity,1))}.hover\:text-red-100:hover{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}.hover\:text-red-200:hover{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.hover\:text-red-300:hover{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.hover\:text-red-400:hover{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.hover\:text-red-50:hover{--tw-text-opacity:1;color:rgb(254 242 242/var(--tw-text-opacity,1))}.hover\:text-red-500:hover{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.hover\:text-red-600:hover{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.hover\:text-red-700:hover{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.hover\:text-red-800:hover{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.hover\:text-red-900:hover{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.hover\:text-rose-100:hover{--tw-text-opacity:1;color:rgb(255 228 230/var(--tw-text-opacity,1))}.hover\:text-rose-200:hover{--tw-text-opacity:1;color:rgb(254 205 211/var(--tw-text-opacity,1))}.hover\:text-rose-300:hover{--tw-text-opacity:1;color:rgb(253 164 175/var(--tw-text-opacity,1))}.hover\:text-rose-400:hover{--tw-text-opacity:1;color:rgb(251 113 133/var(--tw-text-opacity,1))}.hover\:text-rose-50:hover{--tw-text-opacity:1;color:rgb(255 241 242/var(--tw-text-opacity,1))}.hover\:text-rose-500:hover{--tw-text-opacity:1;color:rgb(244 63 94/var(--tw-text-opacity,1))}.hover\:text-rose-600:hover{--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity,1))}.hover\:text-rose-700:hover{--tw-text-opacity:1;color:rgb(190 18 60/var(--tw-text-opacity,1))}.hover\:text-rose-800:hover{--tw-text-opacity:1;color:rgb(159 18 57/var(--tw-text-opacity,1))}.hover\:text-rose-900:hover{--tw-text-opacity:1;color:rgb(136 19 55/var(--tw-text-opacity,1))}.hover\:text-slate-100:hover{--tw-text-opacity:1;color:rgb(241 245 249/var(--tw-text-opacity,1))}.hover\:text-slate-200:hover{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.hover\:text-slate-300:hover{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.hover\:text-slate-400:hover{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.hover\:text-slate-50:hover{--tw-text-opacity:1;color:rgb(248 250 252/var(--tw-text-opacity,1))}.hover\:text-slate-500:hover{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.hover\:text-slate-600:hover{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.hover\:text-slate-700:hover{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.hover\:text-slate-800:hover{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.hover\:text-slate-900:hover{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.hover\:text-teal-100:hover{--tw-text-opacity:1;color:rgb(204 251 241/var(--tw-text-opacity,1))}.hover\:text-teal-200:hover{--tw-text-opacity:1;color:rgb(153 246 228/var(--tw-text-opacity,1))}.hover\:text-teal-300:hover{--tw-text-opacity:1;color:rgb(94 234 212/var(--tw-text-opacity,1))}.hover\:text-teal-400:hover{--tw-text-opacity:1;color:rgb(45 212 191/var(--tw-text-opacity,1))}.hover\:text-teal-50:hover{--tw-text-opacity:1;color:rgb(240 253 250/var(--tw-text-opacity,1))}.hover\:text-teal-500:hover{--tw-text-opacity:1;color:rgb(20 184 166/var(--tw-text-opacity,1))}.hover\:text-teal-600:hover{--tw-text-opacity:1;color:rgb(13 148 136/var(--tw-text-opacity,1))}.hover\:text-teal-700:hover{--tw-text-opacity:1;color:rgb(15 118 110/var(--tw-text-opacity,1))}.hover\:text-teal-800:hover{--tw-text-opacity:1;color:rgb(17 94 89/var(--tw-text-opacity,1))}.hover\:text-teal-900:hover{--tw-text-opacity:1;color:rgb(19 78 74/var(--tw-text-opacity,1))}.hover\:text-violet-100:hover{--tw-text-opacity:1;color:rgb(237 233 254/var(--tw-text-opacity,1))}.hover\:text-violet-200:hover{--tw-text-opacity:1;color:rgb(221 214 254/var(--tw-text-opacity,1))}.hover\:text-violet-300:hover{--tw-text-opacity:1;color:rgb(196 181 253/var(--tw-text-opacity,1))}.hover\:text-violet-400:hover{--tw-text-opacity:1;color:rgb(167 139 250/var(--tw-text-opacity,1))}.hover\:text-violet-50:hover{--tw-text-opacity:1;color:rgb(245 243 255/var(--tw-text-opacity,1))}.hover\:text-violet-500:hover{--tw-text-opacity:1;color:rgb(139 92 246/var(--tw-text-opacity,1))}.hover\:text-violet-600:hover{--tw-text-opacity:1;color:rgb(124 58 237/var(--tw-text-opacity,1))}.hover\:text-violet-700:hover{--tw-text-opacity:1;color:rgb(109 40 217/var(--tw-text-opacity,1))}.hover\:text-violet-800:hover{--tw-text-opacity:1;color:rgb(91 33 182/var(--tw-text-opacity,1))}.hover\:text-violet-900:hover{--tw-text-opacity:1;color:rgb(76 29 149/var(--tw-text-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:text-yellow-100:hover{--tw-text-opacity:1;color:rgb(254 249 195/var(--tw-text-opacity,1))}.hover\:text-yellow-200:hover{--tw-text-opacity:1;color:rgb(254 240 138/var(--tw-text-opacity,1))}.hover\:text-yellow-300:hover{--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity,1))}.hover\:text-yellow-400:hover{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.hover\:text-yellow-50:hover{--tw-text-opacity:1;color:rgb(254 252 232/var(--tw-text-opacity,1))}.hover\:text-yellow-500:hover{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.hover\:text-yellow-600:hover{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity,1))}.hover\:text-yellow-700:hover{--tw-text-opacity:1;color:rgb(161 98 7/var(--tw-text-opacity,1))}.hover\:text-yellow-800:hover{--tw-text-opacity:1;color:rgb(133 77 14/var(--tw-text-opacity,1))}.hover\:text-yellow-900:hover{--tw-text-opacity:1;color:rgb(113 63 18/var(--tw-text-opacity,1))}.hover\:text-zinc-100:hover{--tw-text-opacity:1;color:rgb(244 244 245/var(--tw-text-opacity,1))}.hover\:text-zinc-200:hover{--tw-text-opacity:1;color:rgb(228 228 231/var(--tw-text-opacity,1))}.hover\:text-zinc-300:hover{--tw-text-opacity:1;color:rgb(212 212 216/var(--tw-text-opacity,1))}.hover\:text-zinc-400:hover{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.hover\:text-zinc-50:hover{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.hover\:text-zinc-500:hover{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.hover\:text-zinc-600:hover{--tw-text-opacity:1;color:rgb(82 82 91/var(--tw-text-opacity,1))}.hover\:text-zinc-700:hover{--tw-text-opacity:1;color:rgb(63 63 70/var(--tw-text-opacity,1))}.hover\:text-zinc-800:hover{--tw-text-opacity:1;color:rgb(39 39 42/var(--tw-text-opacity,1))}.hover\:text-zinc-900:hover{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}.hover\:opacity-80:hover{opacity:.8}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.hover\:shadow-lg:hover,.hover\:shadow-md:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.hover\:shadow-sm:hover{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.hover\:shadow-sm:hover,.hover\:shadow-xl:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.hover\:ring-amber-100:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(254 243 199/var(--tw-ring-opacity,1))}.hover\:ring-amber-200:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(253 230 138/var(--tw-ring-opacity,1))}.hover\:ring-amber-300:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(252 211 77/var(--tw-ring-opacity,1))}.hover\:ring-amber-400:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(251 191 36/var(--tw-ring-opacity,1))}.hover\:ring-amber-50:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(255 251 235/var(--tw-ring-opacity,1))}.hover\:ring-amber-500:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(245 158 11/var(--tw-ring-opacity,1))}.hover\:ring-amber-600:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(217 119 6/var(--tw-ring-opacity,1))}.hover\:ring-amber-700:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(180 83 9/var(--tw-ring-opacity,1))}.hover\:ring-amber-800:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(146 64 14/var(--tw-ring-opacity,1))}.hover\:ring-amber-900:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(120 53 15/var(--tw-ring-opacity,1))}.hover\:ring-blue-100:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(219 234 254/var(--tw-ring-opacity,1))}.hover\:ring-blue-200:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(191 219 254/var(--tw-ring-opacity,1))}.hover\:ring-blue-300:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(147 197 253/var(--tw-ring-opacity,1))}.hover\:ring-blue-400:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(96 165 250/var(--tw-ring-opacity,1))}.hover\:ring-blue-50:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(239 246 255/var(--tw-ring-opacity,1))}.hover\:ring-blue-500:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.hover\:ring-blue-600:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(37 99 235/var(--tw-ring-opacity,1))}.hover\:ring-blue-700:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(29 78 216/var(--tw-ring-opacity,1))}.hover\:ring-blue-800:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(30 64 175/var(--tw-ring-opacity,1))}.hover\:ring-blue-900:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(30 58 138/var(--tw-ring-opacity,1))}.hover\:ring-brand-100:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(217 234 255/var(--tw-ring-opacity,1))}.hover\:ring-brand-200:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(185 216 255/var(--tw-ring-opacity,1))}.hover\:ring-brand-300:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(144 192 255/var(--tw-ring-opacity,1))}.hover\:ring-brand-400:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(93 160 255/var(--tw-ring-opacity,1))}.hover\:ring-brand-50:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(238 246 255/var(--tw-ring-opacity,1))}.hover\:ring-brand-500:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(47 127 255/var(--tw-ring-opacity,1))}.hover\:ring-brand-600:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(31 105 229/var(--tw-ring-opacity,1))}.hover\:ring-brand-700:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(28 87 191/var(--tw-ring-opacity,1))}.hover\:ring-brand-800:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(26 73 155/var(--tw-ring-opacity,1))}.hover\:ring-brand-900:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(23 63 130/var(--tw-ring-opacity,1))}.hover\:ring-emerald-100:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(209 250 229/var(--tw-ring-opacity,1))}.hover\:ring-emerald-200:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(167 243 208/var(--tw-ring-opacity,1))}.hover\:ring-emerald-300:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(110 231 183/var(--tw-ring-opacity,1))}.hover\:ring-emerald-400:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(52 211 153/var(--tw-ring-opacity,1))}.hover\:ring-emerald-50:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(236 253 245/var(--tw-ring-opacity,1))}.hover\:ring-emerald-500:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(16 185 129/var(--tw-ring-opacity,1))}.hover\:ring-emerald-600:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(5 150 105/var(--tw-ring-opacity,1))}.hover\:ring-emerald-700:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(4 120 87/var(--tw-ring-opacity,1))}.hover\:ring-emerald-800:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(6 95 70/var(--tw-ring-opacity,1))}.hover\:ring-emerald-900:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(6 78 59/var(--tw-ring-opacity,1))}.hover\:ring-gray-100:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(243 244 246/var(--tw-ring-opacity,1))}.hover\:ring-gray-200:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity,1))}.hover\:ring-gray-300:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity,1))}.hover\:ring-gray-400:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(156 163 175/var(--tw-ring-opacity,1))}.hover\:ring-gray-50:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(249 250 251/var(--tw-ring-opacity,1))}.hover\:ring-gray-500:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(107 114 128/var(--tw-ring-opacity,1))}.hover\:ring-gray-600:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(75 85 99/var(--tw-ring-opacity,1))}.hover\:ring-gray-700:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(55 65 81/var(--tw-ring-opacity,1))}.hover\:ring-gray-800:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(31 41 55/var(--tw-ring-opacity,1))}.hover\:ring-gray-900:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(17 24 39/var(--tw-ring-opacity,1))}.hover\:ring-green-100:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(220 252 231/var(--tw-ring-opacity,1))}.hover\:ring-green-200:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(187 247 208/var(--tw-ring-opacity,1))}.hover\:ring-green-300:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(134 239 172/var(--tw-ring-opacity,1))}.hover\:ring-green-400:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(74 222 128/var(--tw-ring-opacity,1))}.hover\:ring-green-50:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(240 253 244/var(--tw-ring-opacity,1))}.hover\:ring-green-500:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(34 197 94/var(--tw-ring-opacity,1))}.hover\:ring-green-600:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(22 163 74/var(--tw-ring-opacity,1))}.hover\:ring-green-700:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(21 128 61/var(--tw-ring-opacity,1))}.hover\:ring-green-800:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(22 101 52/var(--tw-ring-opacity,1))}.hover\:ring-green-900:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(20 83 45/var(--tw-ring-opacity,1))}.hover\:ring-indigo-100:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(224 231 255/var(--tw-ring-opacity,1))}.hover\:ring-indigo-200:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(199 210 254/var(--tw-ring-opacity,1))}.hover\:ring-indigo-300:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(165 180 252/var(--tw-ring-opacity,1))}.hover\:ring-indigo-400:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(129 140 248/var(--tw-ring-opacity,1))}.hover\:ring-indigo-50:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(238 242 255/var(--tw-ring-opacity,1))}.hover\:ring-indigo-500:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity,1))}.hover\:ring-indigo-600:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(79 70 229/var(--tw-ring-opacity,1))}.hover\:ring-indigo-700:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(67 56 202/var(--tw-ring-opacity,1))}.hover\:ring-indigo-800:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(55 48 163/var(--tw-ring-opacity,1))}.hover\:ring-indigo-900:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(49 46 129/var(--tw-ring-opacity,1))}.hover\:ring-orange-100:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(255 237 213/var(--tw-ring-opacity,1))}.hover\:ring-orange-200:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(254 215 170/var(--tw-ring-opacity,1))}.hover\:ring-orange-300:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(253 186 116/var(--tw-ring-opacity,1))}.hover\:ring-orange-400:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(251 146 60/var(--tw-ring-opacity,1))}.hover\:ring-orange-50:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(255 247 237/var(--tw-ring-opacity,1))}.hover\:ring-orange-500:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(249 115 22/var(--tw-ring-opacity,1))}.hover\:ring-orange-600:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(234 88 12/var(--tw-ring-opacity,1))}.hover\:ring-orange-700:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(194 65 12/var(--tw-ring-opacity,1))}.hover\:ring-orange-800:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(154 52 18/var(--tw-ring-opacity,1))}.hover\:ring-orange-900:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(124 45 18/var(--tw-ring-opacity,1))}.hover\:ring-pink-100:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(252 231 243/var(--tw-ring-opacity,1))}.hover\:ring-pink-200:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(251 207 232/var(--tw-ring-opacity,1))}.hover\:ring-pink-300:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(249 168 212/var(--tw-ring-opacity,1))}.hover\:ring-pink-400:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(244 114 182/var(--tw-ring-opacity,1))}.hover\:ring-pink-50:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(253 242 248/var(--tw-ring-opacity,1))}.hover\:ring-pink-500:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(236 72 153/var(--tw-ring-opacity,1))}.hover\:ring-pink-600:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(219 39 119/var(--tw-ring-opacity,1))}.hover\:ring-pink-700:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(190 24 93/var(--tw-ring-opacity,1))}.hover\:ring-pink-800:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(157 23 77/var(--tw-ring-opacity,1))}.hover\:ring-pink-900:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(131 24 67/var(--tw-ring-opacity,1))}.hover\:ring-purple-100:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(243 232 255/var(--tw-ring-opacity,1))}.hover\:ring-purple-200:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(233 213 255/var(--tw-ring-opacity,1))}.hover\:ring-purple-300:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(216 180 254/var(--tw-ring-opacity,1))}.hover\:ring-purple-400:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(192 132 252/var(--tw-ring-opacity,1))}.hover\:ring-purple-50:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(250 245 255/var(--tw-ring-opacity,1))}.hover\:ring-purple-500:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(168 85 247/var(--tw-ring-opacity,1))}.hover\:ring-purple-600:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(147 51 234/var(--tw-ring-opacity,1))}.hover\:ring-purple-700:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(126 34 206/var(--tw-ring-opacity,1))}.hover\:ring-purple-800:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(107 33 168/var(--tw-ring-opacity,1))}.hover\:ring-purple-900:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(88 28 135/var(--tw-ring-opacity,1))}.hover\:ring-red-100:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(254 226 226/var(--tw-ring-opacity,1))}.hover\:ring-red-200:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(254 202 202/var(--tw-ring-opacity,1))}.hover\:ring-red-300:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(252 165 165/var(--tw-ring-opacity,1))}.hover\:ring-red-400:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(248 113 113/var(--tw-ring-opacity,1))}.hover\:ring-red-50:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(254 242 242/var(--tw-ring-opacity,1))}.hover\:ring-red-500:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity,1))}.hover\:ring-red-600:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(220 38 38/var(--tw-ring-opacity,1))}.hover\:ring-red-700:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(185 28 28/var(--tw-ring-opacity,1))}.hover\:ring-red-800:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(153 27 27/var(--tw-ring-opacity,1))}.hover\:ring-red-900:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(127 29 29/var(--tw-ring-opacity,1))}.hover\:ring-rose-100:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(255 228 230/var(--tw-ring-opacity,1))}.hover\:ring-rose-200:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(254 205 211/var(--tw-ring-opacity,1))}.hover\:ring-rose-300:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(253 164 175/var(--tw-ring-opacity,1))}.hover\:ring-rose-400:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(251 113 133/var(--tw-ring-opacity,1))}.hover\:ring-rose-50:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(255 241 242/var(--tw-ring-opacity,1))}.hover\:ring-rose-500:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(244 63 94/var(--tw-ring-opacity,1))}.hover\:ring-rose-600:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(225 29 72/var(--tw-ring-opacity,1))}.hover\:ring-rose-700:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(190 18 60/var(--tw-ring-opacity,1))}.hover\:ring-rose-800:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(159 18 57/var(--tw-ring-opacity,1))}.hover\:ring-rose-900:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(136 19 55/var(--tw-ring-opacity,1))}.hover\:ring-slate-100:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(241 245 249/var(--tw-ring-opacity,1))}.hover\:ring-slate-200:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(226 232 240/var(--tw-ring-opacity,1))}.hover\:ring-slate-300:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(203 213 225/var(--tw-ring-opacity,1))}.hover\:ring-slate-400:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(148 163 184/var(--tw-ring-opacity,1))}.hover\:ring-slate-50:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(248 250 252/var(--tw-ring-opacity,1))}.hover\:ring-slate-500:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(100 116 139/var(--tw-ring-opacity,1))}.hover\:ring-slate-600:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(71 85 105/var(--tw-ring-opacity,1))}.hover\:ring-slate-700:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(51 65 85/var(--tw-ring-opacity,1))}.hover\:ring-slate-800:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(30 41 59/var(--tw-ring-opacity,1))}.hover\:ring-slate-900:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(15 23 42/var(--tw-ring-opacity,1))}.hover\:ring-teal-100:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(204 251 241/var(--tw-ring-opacity,1))}.hover\:ring-teal-200:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(153 246 228/var(--tw-ring-opacity,1))}.hover\:ring-teal-300:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(94 234 212/var(--tw-ring-opacity,1))}.hover\:ring-teal-400:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(45 212 191/var(--tw-ring-opacity,1))}.hover\:ring-teal-50:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(240 253 250/var(--tw-ring-opacity,1))}.hover\:ring-teal-500:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(20 184 166/var(--tw-ring-opacity,1))}.hover\:ring-teal-600:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(13 148 136/var(--tw-ring-opacity,1))}.hover\:ring-teal-700:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(15 118 110/var(--tw-ring-opacity,1))}.hover\:ring-teal-800:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(17 94 89/var(--tw-ring-opacity,1))}.hover\:ring-teal-900:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(19 78 74/var(--tw-ring-opacity,1))}.hover\:ring-violet-100:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(237 233 254/var(--tw-ring-opacity,1))}.hover\:ring-violet-200:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(221 214 254/var(--tw-ring-opacity,1))}.hover\:ring-violet-300:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(196 181 253/var(--tw-ring-opacity,1))}.hover\:ring-violet-400:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(167 139 250/var(--tw-ring-opacity,1))}.hover\:ring-violet-50:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(245 243 255/var(--tw-ring-opacity,1))}.hover\:ring-violet-500:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(139 92 246/var(--tw-ring-opacity,1))}.hover\:ring-violet-600:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(124 58 237/var(--tw-ring-opacity,1))}.hover\:ring-violet-700:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(109 40 217/var(--tw-ring-opacity,1))}.hover\:ring-violet-800:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(91 33 182/var(--tw-ring-opacity,1))}.hover\:ring-violet-900:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(76 29 149/var(--tw-ring-opacity,1))}.hover\:ring-yellow-100:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(254 249 195/var(--tw-ring-opacity,1))}.hover\:ring-yellow-200:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(254 240 138/var(--tw-ring-opacity,1))}.hover\:ring-yellow-300:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(253 224 71/var(--tw-ring-opacity,1))}.hover\:ring-yellow-400:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(250 204 21/var(--tw-ring-opacity,1))}.hover\:ring-yellow-50:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(254 252 232/var(--tw-ring-opacity,1))}.hover\:ring-yellow-500:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(234 179 8/var(--tw-ring-opacity,1))}.hover\:ring-yellow-600:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(202 138 4/var(--tw-ring-opacity,1))}.hover\:ring-yellow-700:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(161 98 7/var(--tw-ring-opacity,1))}.hover\:ring-yellow-800:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(133 77 14/var(--tw-ring-opacity,1))}.hover\:ring-yellow-900:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(113 63 18/var(--tw-ring-opacity,1))}.hover\:ring-zinc-100:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(244 244 245/var(--tw-ring-opacity,1))}.hover\:ring-zinc-200:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(228 228 231/var(--tw-ring-opacity,1))}.hover\:ring-zinc-300:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(212 212 216/var(--tw-ring-opacity,1))}.hover\:ring-zinc-400:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(161 161 170/var(--tw-ring-opacity,1))}.hover\:ring-zinc-50:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(250 250 250/var(--tw-ring-opacity,1))}.hover\:ring-zinc-500:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(113 113 122/var(--tw-ring-opacity,1))}.hover\:ring-zinc-600:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(82 82 91/var(--tw-ring-opacity,1))}.hover\:ring-zinc-700:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(63 63 70/var(--tw-ring-opacity,1))}.hover\:ring-zinc-800:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(39 39 42/var(--tw-ring-opacity,1))}.hover\:ring-zinc-900:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(24 24 27/var(--tw-ring-opacity,1))}.focus\:border-amber-100:focus{--tw-border-opacity:1;border-color:rgb(254 243 199/var(--tw-border-opacity,1))}.focus\:border-amber-200:focus{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.focus\:border-amber-300:focus{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.focus\:border-amber-400:focus{--tw-border-opacity:1;border-color:rgb(251 191 36/var(--tw-border-opacity,1))}.focus\:border-amber-50:focus{--tw-border-opacity:1;border-color:rgb(255 251 235/var(--tw-border-opacity,1))}.focus\:border-amber-500:focus{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.focus\:border-amber-600:focus{--tw-border-opacity:1;border-color:rgb(217 119 6/var(--tw-border-opacity,1))}.focus\:border-amber-700:focus{--tw-border-opacity:1;border-color:rgb(180 83 9/var(--tw-border-opacity,1))}.focus\:border-amber-800:focus{--tw-border-opacity:1;border-color:rgb(146 64 14/var(--tw-border-opacity,1))}.focus\:border-amber-900:focus{--tw-border-opacity:1;border-color:rgb(120 53 15/var(--tw-border-opacity,1))}.focus\:border-blue-100:focus{--tw-border-opacity:1;border-color:rgb(219 234 254/var(--tw-border-opacity,1))}.focus\:border-blue-200:focus{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.focus\:border-blue-300:focus{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.focus\:border-blue-400:focus{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.focus\:border-blue-50:focus{--tw-border-opacity:1;border-color:rgb(239 246 255/var(--tw-border-opacity,1))}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.focus\:border-blue-600:focus{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.focus\:border-blue-700:focus{--tw-border-opacity:1;border-color:rgb(29 78 216/var(--tw-border-opacity,1))}.focus\:border-blue-800:focus{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.focus\:border-blue-900:focus{--tw-border-opacity:1;border-color:rgb(30 58 138/var(--tw-border-opacity,1))}.focus\:border-brand-100:focus{--tw-border-opacity:1;border-color:rgb(217 234 255/var(--tw-border-opacity,1))}.focus\:border-brand-200:focus{--tw-border-opacity:1;border-color:rgb(185 216 255/var(--tw-border-opacity,1))}.focus\:border-brand-300:focus{--tw-border-opacity:1;border-color:rgb(144 192 255/var(--tw-border-opacity,1))}.focus\:border-brand-400:focus{--tw-border-opacity:1;border-color:rgb(93 160 255/var(--tw-border-opacity,1))}.focus\:border-brand-50:focus{--tw-border-opacity:1;border-color:rgb(238 246 255/var(--tw-border-opacity,1))}.focus\:border-brand-500:focus{--tw-border-opacity:1;border-color:rgb(47 127 255/var(--tw-border-opacity,1))}.focus\:border-brand-600:focus{--tw-border-opacity:1;border-color:rgb(31 105 229/var(--tw-border-opacity,1))}.focus\:border-brand-700:focus{--tw-border-opacity:1;border-color:rgb(28 87 191/var(--tw-border-opacity,1))}.focus\:border-brand-800:focus{--tw-border-opacity:1;border-color:rgb(26 73 155/var(--tw-border-opacity,1))}.focus\:border-brand-900:focus{--tw-border-opacity:1;border-color:rgb(23 63 130/var(--tw-border-opacity,1))}.focus\:border-emerald-100:focus{--tw-border-opacity:1;border-color:rgb(209 250 229/var(--tw-border-opacity,1))}.focus\:border-emerald-200:focus{--tw-border-opacity:1;border-color:rgb(167 243 208/var(--tw-border-opacity,1))}.focus\:border-emerald-300:focus{--tw-border-opacity:1;border-color:rgb(110 231 183/var(--tw-border-opacity,1))}.focus\:border-emerald-400:focus{--tw-border-opacity:1;border-color:rgb(52 211 153/var(--tw-border-opacity,1))}.focus\:border-emerald-50:focus{--tw-border-opacity:1;border-color:rgb(236 253 245/var(--tw-border-opacity,1))}.focus\:border-emerald-500:focus{--tw-border-opacity:1;border-color:rgb(16 185 129/var(--tw-border-opacity,1))}.focus\:border-emerald-600:focus{--tw-border-opacity:1;border-color:rgb(5 150 105/var(--tw-border-opacity,1))}.focus\:border-emerald-700:focus{--tw-border-opacity:1;border-color:rgb(4 120 87/var(--tw-border-opacity,1))}.focus\:border-emerald-800:focus{--tw-border-opacity:1;border-color:rgb(6 95 70/var(--tw-border-opacity,1))}.focus\:border-emerald-900:focus{--tw-border-opacity:1;border-color:rgb(6 78 59/var(--tw-border-opacity,1))}.focus\:border-gray-100:focus{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.focus\:border-gray-200:focus{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.focus\:border-gray-300:focus{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.focus\:border-gray-400:focus{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}.focus\:border-gray-50:focus{--tw-border-opacity:1;border-color:rgb(249 250 251/var(--tw-border-opacity,1))}.focus\:border-gray-500:focus{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity,1))}.focus\:border-gray-600:focus{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.focus\:border-gray-700:focus{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.focus\:border-gray-800:focus{--tw-border-opacity:1;border-color:rgb(31 41 55/var(--tw-border-opacity,1))}.focus\:border-gray-900:focus{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.focus\:border-green-100:focus{--tw-border-opacity:1;border-color:rgb(220 252 231/var(--tw-border-opacity,1))}.focus\:border-green-200:focus{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.focus\:border-green-300:focus{--tw-border-opacity:1;border-color:rgb(134 239 172/var(--tw-border-opacity,1))}.focus\:border-green-400:focus{--tw-border-opacity:1;border-color:rgb(74 222 128/var(--tw-border-opacity,1))}.focus\:border-green-50:focus{--tw-border-opacity:1;border-color:rgb(240 253 244/var(--tw-border-opacity,1))}.focus\:border-green-500:focus{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.focus\:border-green-600:focus{--tw-border-opacity:1;border-color:rgb(22 163 74/var(--tw-border-opacity,1))}.focus\:border-green-700:focus{--tw-border-opacity:1;border-color:rgb(21 128 61/var(--tw-border-opacity,1))}.focus\:border-green-800:focus{--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.focus\:border-green-900:focus{--tw-border-opacity:1;border-color:rgb(20 83 45/var(--tw-border-opacity,1))}.focus\:border-indigo-100:focus{--tw-border-opacity:1;border-color:rgb(224 231 255/var(--tw-border-opacity,1))}.focus\:border-indigo-200:focus{--tw-border-opacity:1;border-color:rgb(199 210 254/var(--tw-border-opacity,1))}.focus\:border-indigo-300:focus{--tw-border-opacity:1;border-color:rgb(165 180 252/var(--tw-border-opacity,1))}.focus\:border-indigo-400:focus{--tw-border-opacity:1;border-color:rgb(129 140 248/var(--tw-border-opacity,1))}.focus\:border-indigo-50:focus{--tw-border-opacity:1;border-color:rgb(238 242 255/var(--tw-border-opacity,1))}.focus\:border-indigo-500:focus{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.focus\:border-indigo-600:focus{--tw-border-opacity:1;border-color:rgb(79 70 229/var(--tw-border-opacity,1))}.focus\:border-indigo-700:focus{--tw-border-opacity:1;border-color:rgb(67 56 202/var(--tw-border-opacity,1))}.focus\:border-indigo-800:focus{--tw-border-opacity:1;border-color:rgb(55 48 163/var(--tw-border-opacity,1))}.focus\:border-indigo-900:focus{--tw-border-opacity:1;border-color:rgb(49 46 129/var(--tw-border-opacity,1))}.focus\:border-orange-100:focus{--tw-border-opacity:1;border-color:rgb(255 237 213/var(--tw-border-opacity,1))}.focus\:border-orange-200:focus{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.focus\:border-orange-300:focus{--tw-border-opacity:1;border-color:rgb(253 186 116/var(--tw-border-opacity,1))}.focus\:border-orange-400:focus{--tw-border-opacity:1;border-color:rgb(251 146 60/var(--tw-border-opacity,1))}.focus\:border-orange-50:focus{--tw-border-opacity:1;border-color:rgb(255 247 237/var(--tw-border-opacity,1))}.focus\:border-orange-500:focus{--tw-border-opacity:1;border-color:rgb(249 115 22/var(--tw-border-opacity,1))}.focus\:border-orange-600:focus{--tw-border-opacity:1;border-color:rgb(234 88 12/var(--tw-border-opacity,1))}.focus\:border-orange-700:focus{--tw-border-opacity:1;border-color:rgb(194 65 12/var(--tw-border-opacity,1))}.focus\:border-orange-800:focus{--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity,1))}.focus\:border-orange-900:focus{--tw-border-opacity:1;border-color:rgb(124 45 18/var(--tw-border-opacity,1))}.focus\:border-pink-100:focus{--tw-border-opacity:1;border-color:rgb(252 231 243/var(--tw-border-opacity,1))}.focus\:border-pink-200:focus{--tw-border-opacity:1;border-color:rgb(251 207 232/var(--tw-border-opacity,1))}.focus\:border-pink-300:focus{--tw-border-opacity:1;border-color:rgb(249 168 212/var(--tw-border-opacity,1))}.focus\:border-pink-400:focus{--tw-border-opacity:1;border-color:rgb(244 114 182/var(--tw-border-opacity,1))}.focus\:border-pink-50:focus{--tw-border-opacity:1;border-color:rgb(253 242 248/var(--tw-border-opacity,1))}.focus\:border-pink-500:focus{--tw-border-opacity:1;border-color:rgb(236 72 153/var(--tw-border-opacity,1))}.focus\:border-pink-600:focus{--tw-border-opacity:1;border-color:rgb(219 39 119/var(--tw-border-opacity,1))}.focus\:border-pink-700:focus{--tw-border-opacity:1;border-color:rgb(190 24 93/var(--tw-border-opacity,1))}.focus\:border-pink-800:focus{--tw-border-opacity:1;border-color:rgb(157 23 77/var(--tw-border-opacity,1))}.focus\:border-pink-900:focus{--tw-border-opacity:1;border-color:rgb(131 24 67/var(--tw-border-opacity,1))}.focus\:border-purple-100:focus{--tw-border-opacity:1;border-color:rgb(243 232 255/var(--tw-border-opacity,1))}.focus\:border-purple-200:focus{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.focus\:border-purple-300:focus{--tw-border-opacity:1;border-color:rgb(216 180 254/var(--tw-border-opacity,1))}.focus\:border-purple-400:focus{--tw-border-opacity:1;border-color:rgb(192 132 252/var(--tw-border-opacity,1))}.focus\:border-purple-50:focus{--tw-border-opacity:1;border-color:rgb(250 245 255/var(--tw-border-opacity,1))}.focus\:border-purple-500:focus{--tw-border-opacity:1;border-color:rgb(168 85 247/var(--tw-border-opacity,1))}.focus\:border-purple-600:focus{--tw-border-opacity:1;border-color:rgb(147 51 234/var(--tw-border-opacity,1))}.focus\:border-purple-700:focus{--tw-border-opacity:1;border-color:rgb(126 34 206/var(--tw-border-opacity,1))}.focus\:border-purple-800:focus{--tw-border-opacity:1;border-color:rgb(107 33 168/var(--tw-border-opacity,1))}.focus\:border-purple-900:focus{--tw-border-opacity:1;border-color:rgb(88 28 135/var(--tw-border-opacity,1))}.focus\:border-red-100:focus{--tw-border-opacity:1;border-color:rgb(254 226 226/var(--tw-border-opacity,1))}.focus\:border-red-200:focus{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.focus\:border-red-300:focus{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.focus\:border-red-400:focus{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.focus\:border-red-50:focus{--tw-border-opacity:1;border-color:rgb(254 242 242/var(--tw-border-opacity,1))}.focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.focus\:border-red-600:focus{--tw-border-opacity:1;border-color:rgb(220 38 38/var(--tw-border-opacity,1))}.focus\:border-red-700:focus{--tw-border-opacity:1;border-color:rgb(185 28 28/var(--tw-border-opacity,1))}.focus\:border-red-800:focus{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.focus\:border-red-900:focus{--tw-border-opacity:1;border-color:rgb(127 29 29/var(--tw-border-opacity,1))}.focus\:border-rose-100:focus{--tw-border-opacity:1;border-color:rgb(255 228 230/var(--tw-border-opacity,1))}.focus\:border-rose-200:focus{--tw-border-opacity:1;border-color:rgb(254 205 211/var(--tw-border-opacity,1))}.focus\:border-rose-300:focus{--tw-border-opacity:1;border-color:rgb(253 164 175/var(--tw-border-opacity,1))}.focus\:border-rose-400:focus{--tw-border-opacity:1;border-color:rgb(251 113 133/var(--tw-border-opacity,1))}.focus\:border-rose-50:focus{--tw-border-opacity:1;border-color:rgb(255 241 242/var(--tw-border-opacity,1))}.focus\:border-rose-500:focus{--tw-border-opacity:1;border-color:rgb(244 63 94/var(--tw-border-opacity,1))}.focus\:border-rose-600:focus{--tw-border-opacity:1;border-color:rgb(225 29 72/var(--tw-border-opacity,1))}.focus\:border-rose-700:focus{--tw-border-opacity:1;border-color:rgb(190 18 60/var(--tw-border-opacity,1))}.focus\:border-rose-800:focus{--tw-border-opacity:1;border-color:rgb(159 18 57/var(--tw-border-opacity,1))}.focus\:border-rose-900:focus{--tw-border-opacity:1;border-color:rgb(136 19 55/var(--tw-border-opacity,1))}.focus\:border-slate-100:focus{--tw-border-opacity:1;border-color:rgb(241 245 249/var(--tw-border-opacity,1))}.focus\:border-slate-200:focus{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.focus\:border-slate-300:focus{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.focus\:border-slate-400:focus{--tw-border-opacity:1;border-color:rgb(148 163 184/var(--tw-border-opacity,1))}.focus\:border-slate-50:focus{--tw-border-opacity:1;border-color:rgb(248 250 252/var(--tw-border-opacity,1))}.focus\:border-slate-500:focus{--tw-border-opacity:1;border-color:rgb(100 116 139/var(--tw-border-opacity,1))}.focus\:border-slate-600:focus{--tw-border-opacity:1;border-color:rgb(71 85 105/var(--tw-border-opacity,1))}.focus\:border-slate-700:focus{--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1))}.focus\:border-slate-800:focus{--tw-border-opacity:1;border-color:rgb(30 41 59/var(--tw-border-opacity,1))}.focus\:border-slate-900:focus{--tw-border-opacity:1;border-color:rgb(15 23 42/var(--tw-border-opacity,1))}.focus\:border-teal-100:focus{--tw-border-opacity:1;border-color:rgb(204 251 241/var(--tw-border-opacity,1))}.focus\:border-teal-200:focus{--tw-border-opacity:1;border-color:rgb(153 246 228/var(--tw-border-opacity,1))}.focus\:border-teal-300:focus{--tw-border-opacity:1;border-color:rgb(94 234 212/var(--tw-border-opacity,1))}.focus\:border-teal-400:focus{--tw-border-opacity:1;border-color:rgb(45 212 191/var(--tw-border-opacity,1))}.focus\:border-teal-50:focus{--tw-border-opacity:1;border-color:rgb(240 253 250/var(--tw-border-opacity,1))}.focus\:border-teal-500:focus{--tw-border-opacity:1;border-color:rgb(20 184 166/var(--tw-border-opacity,1))}.focus\:border-teal-600:focus{--tw-border-opacity:1;border-color:rgb(13 148 136/var(--tw-border-opacity,1))}.focus\:border-teal-700:focus{--tw-border-opacity:1;border-color:rgb(15 118 110/var(--tw-border-opacity,1))}.focus\:border-teal-800:focus{--tw-border-opacity:1;border-color:rgb(17 94 89/var(--tw-border-opacity,1))}.focus\:border-teal-900:focus{--tw-border-opacity:1;border-color:rgb(19 78 74/var(--tw-border-opacity,1))}.focus\:border-transparent:focus{border-color:transparent}.focus\:border-violet-100:focus{--tw-border-opacity:1;border-color:rgb(237 233 254/var(--tw-border-opacity,1))}.focus\:border-violet-200:focus{--tw-border-opacity:1;border-color:rgb(221 214 254/var(--tw-border-opacity,1))}.focus\:border-violet-300:focus{--tw-border-opacity:1;border-color:rgb(196 181 253/var(--tw-border-opacity,1))}.focus\:border-violet-400:focus{--tw-border-opacity:1;border-color:rgb(167 139 250/var(--tw-border-opacity,1))}.focus\:border-violet-50:focus{--tw-border-opacity:1;border-color:rgb(245 243 255/var(--tw-border-opacity,1))}.focus\:border-violet-500:focus{--tw-border-opacity:1;border-color:rgb(139 92 246/var(--tw-border-opacity,1))}.focus\:border-violet-600:focus{--tw-border-opacity:1;border-color:rgb(124 58 237/var(--tw-border-opacity,1))}.focus\:border-violet-700:focus{--tw-border-opacity:1;border-color:rgb(109 40 217/var(--tw-border-opacity,1))}.focus\:border-violet-800:focus{--tw-border-opacity:1;border-color:rgb(91 33 182/var(--tw-border-opacity,1))}.focus\:border-violet-900:focus{--tw-border-opacity:1;border-color:rgb(76 29 149/var(--tw-border-opacity,1))}.focus\:border-yellow-100:focus{--tw-border-opacity:1;border-color:rgb(254 249 195/var(--tw-border-opacity,1))}.focus\:border-yellow-200:focus{--tw-border-opacity:1;border-color:rgb(254 240 138/var(--tw-border-opacity,1))}.focus\:border-yellow-300:focus{--tw-border-opacity:1;border-color:rgb(253 224 71/var(--tw-border-opacity,1))}.focus\:border-yellow-400:focus{--tw-border-opacity:1;border-color:rgb(250 204 21/var(--tw-border-opacity,1))}.focus\:border-yellow-50:focus{--tw-border-opacity:1;border-color:rgb(254 252 232/var(--tw-border-opacity,1))}.focus\:border-yellow-500:focus{--tw-border-opacity:1;border-color:rgb(234 179 8/var(--tw-border-opacity,1))}.focus\:border-yellow-600:focus{--tw-border-opacity:1;border-color:rgb(202 138 4/var(--tw-border-opacity,1))}.focus\:border-yellow-700:focus{--tw-border-opacity:1;border-color:rgb(161 98 7/var(--tw-border-opacity,1))}.focus\:border-yellow-800:focus{--tw-border-opacity:1;border-color:rgb(133 77 14/var(--tw-border-opacity,1))}.focus\:border-yellow-900:focus{--tw-border-opacity:1;border-color:rgb(113 63 18/var(--tw-border-opacity,1))}.focus\:border-zinc-100:focus{--tw-border-opacity:1;border-color:rgb(244 244 245/var(--tw-border-opacity,1))}.focus\:border-zinc-200:focus{--tw-border-opacity:1;border-color:rgb(228 228 231/var(--tw-border-opacity,1))}.focus\:border-zinc-300:focus{--tw-border-opacity:1;border-color:rgb(212 212 216/var(--tw-border-opacity,1))}.focus\:border-zinc-400:focus{--tw-border-opacity:1;border-color:rgb(161 161 170/var(--tw-border-opacity,1))}.focus\:border-zinc-50:focus{--tw-border-opacity:1;border-color:rgb(250 250 250/var(--tw-border-opacity,1))}.focus\:border-zinc-500:focus{--tw-border-opacity:1;border-color:rgb(113 113 122/var(--tw-border-opacity,1))}.focus\:border-zinc-600:focus{--tw-border-opacity:1;border-color:rgb(82 82 91/var(--tw-border-opacity,1))}.focus\:border-zinc-700:focus{--tw-border-opacity:1;border-color:rgb(63 63 70/var(--tw-border-opacity,1))}.focus\:border-zinc-800:focus{--tw-border-opacity:1;border-color:rgb(39 39 42/var(--tw-border-opacity,1))}.focus\:border-zinc-900:focus{--tw-border-opacity:1;border-color:rgb(24 24 27/var(--tw-border-opacity,1))}.focus\:bg-amber-100:focus{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.focus\:bg-amber-200:focus{--tw-bg-opacity:1;background-color:rgb(253 230 138/var(--tw-bg-opacity,1))}.focus\:bg-amber-300:focus{--tw-bg-opacity:1;background-color:rgb(252 211 77/var(--tw-bg-opacity,1))}.focus\:bg-amber-400:focus{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}.focus\:bg-amber-50:focus{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.focus\:bg-amber-500:focus{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.focus\:bg-amber-600:focus{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity,1))}.focus\:bg-amber-700:focus{--tw-bg-opacity:1;background-color:rgb(180 83 9/var(--tw-bg-opacity,1))}.focus\:bg-amber-800:focus{--tw-bg-opacity:1;background-color:rgb(146 64 14/var(--tw-bg-opacity,1))}.focus\:bg-amber-900:focus{--tw-bg-opacity:1;background-color:rgb(120 53 15/var(--tw-bg-opacity,1))}.focus\:bg-blue-100:focus{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.focus\:bg-blue-200:focus{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity,1))}.focus\:bg-blue-300:focus{--tw-bg-opacity:1;background-color:rgb(147 197 253/var(--tw-bg-opacity,1))}.focus\:bg-blue-400:focus{--tw-bg-opacity:1;background-color:rgb(96 165 250/var(--tw-bg-opacity,1))}.focus\:bg-blue-50:focus{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.focus\:bg-blue-500:focus{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.focus\:bg-blue-600:focus{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.focus\:bg-blue-700:focus{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.focus\:bg-blue-800:focus{--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity,1))}.focus\:bg-blue-900:focus{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.focus\:bg-brand-100:focus{--tw-bg-opacity:1;background-color:rgb(217 234 255/var(--tw-bg-opacity,1))}.focus\:bg-brand-200:focus{--tw-bg-opacity:1;background-color:rgb(185 216 255/var(--tw-bg-opacity,1))}.focus\:bg-brand-300:focus{--tw-bg-opacity:1;background-color:rgb(144 192 255/var(--tw-bg-opacity,1))}.focus\:bg-brand-400:focus{--tw-bg-opacity:1;background-color:rgb(93 160 255/var(--tw-bg-opacity,1))}.focus\:bg-brand-50:focus{--tw-bg-opacity:1;background-color:rgb(238 246 255/var(--tw-bg-opacity,1))}.focus\:bg-brand-500:focus{--tw-bg-opacity:1;background-color:rgb(47 127 255/var(--tw-bg-opacity,1))}.focus\:bg-brand-600:focus{--tw-bg-opacity:1;background-color:rgb(31 105 229/var(--tw-bg-opacity,1))}.focus\:bg-brand-700:focus{--tw-bg-opacity:1;background-color:rgb(28 87 191/var(--tw-bg-opacity,1))}.focus\:bg-brand-800:focus{--tw-bg-opacity:1;background-color:rgb(26 73 155/var(--tw-bg-opacity,1))}.focus\:bg-brand-900:focus{--tw-bg-opacity:1;background-color:rgb(23 63 130/var(--tw-bg-opacity,1))}.focus\:bg-emerald-100:focus{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}.focus\:bg-emerald-200:focus{--tw-bg-opacity:1;background-color:rgb(167 243 208/var(--tw-bg-opacity,1))}.focus\:bg-emerald-300:focus{--tw-bg-opacity:1;background-color:rgb(110 231 183/var(--tw-bg-opacity,1))}.focus\:bg-emerald-400:focus{--tw-bg-opacity:1;background-color:rgb(52 211 153/var(--tw-bg-opacity,1))}.focus\:bg-emerald-50:focus{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.focus\:bg-emerald-500:focus{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.focus\:bg-emerald-600:focus{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.focus\:bg-emerald-700:focus{--tw-bg-opacity:1;background-color:rgb(4 120 87/var(--tw-bg-opacity,1))}.focus\:bg-emerald-800:focus{--tw-bg-opacity:1;background-color:rgb(6 95 70/var(--tw-bg-opacity,1))}.focus\:bg-emerald-900:focus{--tw-bg-opacity:1;background-color:rgb(6 78 59/var(--tw-bg-opacity,1))}.focus\:bg-gray-100:focus{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.focus\:bg-gray-200:focus{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.focus\:bg-gray-300:focus{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.focus\:bg-gray-400:focus{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.focus\:bg-gray-50:focus{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.focus\:bg-gray-500:focus{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.focus\:bg-gray-600:focus{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.focus\:bg-gray-700:focus{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.focus\:bg-gray-800:focus{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.focus\:bg-gray-900:focus{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.focus\:bg-green-100:focus{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.focus\:bg-green-200:focus{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity,1))}.focus\:bg-green-300:focus{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity,1))}.focus\:bg-green-400:focus{--tw-bg-opacity:1;background-color:rgb(74 222 128/var(--tw-bg-opacity,1))}.focus\:bg-green-50:focus{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.focus\:bg-green-500:focus{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.focus\:bg-green-600:focus{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.focus\:bg-green-700:focus{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.focus\:bg-green-800:focus{--tw-bg-opacity:1;background-color:rgb(22 101 52/var(--tw-bg-opacity,1))}.focus\:bg-green-900:focus{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}.focus\:bg-indigo-100:focus{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity,1))}.focus\:bg-indigo-200:focus{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity,1))}.focus\:bg-indigo-300:focus{--tw-bg-opacity:1;background-color:rgb(165 180 252/var(--tw-bg-opacity,1))}.focus\:bg-indigo-400:focus{--tw-bg-opacity:1;background-color:rgb(129 140 248/var(--tw-bg-opacity,1))}.focus\:bg-indigo-50:focus{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.focus\:bg-indigo-500:focus{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.focus\:bg-indigo-600:focus{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.focus\:bg-indigo-700:focus{--tw-bg-opacity:1;background-color:rgb(67 56 202/var(--tw-bg-opacity,1))}.focus\:bg-indigo-800:focus{--tw-bg-opacity:1;background-color:rgb(55 48 163/var(--tw-bg-opacity,1))}.focus\:bg-indigo-900:focus{--tw-bg-opacity:1;background-color:rgb(49 46 129/var(--tw-bg-opacity,1))}.focus\:bg-orange-100:focus{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.focus\:bg-orange-200:focus{--tw-bg-opacity:1;background-color:rgb(254 215 170/var(--tw-bg-opacity,1))}.focus\:bg-orange-300:focus{--tw-bg-opacity:1;background-color:rgb(253 186 116/var(--tw-bg-opacity,1))}.focus\:bg-orange-400:focus{--tw-bg-opacity:1;background-color:rgb(251 146 60/var(--tw-bg-opacity,1))}.focus\:bg-orange-50:focus{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.focus\:bg-orange-500:focus{--tw-bg-opacity:1;background-color:rgb(249 115 22/var(--tw-bg-opacity,1))}.focus\:bg-orange-600:focus{--tw-bg-opacity:1;background-color:rgb(234 88 12/var(--tw-bg-opacity,1))}.focus\:bg-orange-700:focus{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}.focus\:bg-orange-800:focus{--tw-bg-opacity:1;background-color:rgb(154 52 18/var(--tw-bg-opacity,1))}.focus\:bg-orange-900:focus{--tw-bg-opacity:1;background-color:rgb(124 45 18/var(--tw-bg-opacity,1))}.focus\:bg-pink-100:focus{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity,1))}.focus\:bg-pink-200:focus{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity,1))}.focus\:bg-pink-300:focus{--tw-bg-opacity:1;background-color:rgb(249 168 212/var(--tw-bg-opacity,1))}.focus\:bg-pink-400:focus{--tw-bg-opacity:1;background-color:rgb(244 114 182/var(--tw-bg-opacity,1))}.focus\:bg-pink-50:focus{--tw-bg-opacity:1;background-color:rgb(253 242 248/var(--tw-bg-opacity,1))}.focus\:bg-pink-500:focus{--tw-bg-opacity:1;background-color:rgb(236 72 153/var(--tw-bg-opacity,1))}.focus\:bg-pink-600:focus{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity,1))}.focus\:bg-pink-700:focus{--tw-bg-opacity:1;background-color:rgb(190 24 93/var(--tw-bg-opacity,1))}.focus\:bg-pink-800:focus{--tw-bg-opacity:1;background-color:rgb(157 23 77/var(--tw-bg-opacity,1))}.focus\:bg-pink-900:focus{--tw-bg-opacity:1;background-color:rgb(131 24 67/var(--tw-bg-opacity,1))}.focus\:bg-purple-100:focus{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.focus\:bg-purple-200:focus{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity,1))}.focus\:bg-purple-300:focus{--tw-bg-opacity:1;background-color:rgb(216 180 254/var(--tw-bg-opacity,1))}.focus\:bg-purple-400:focus{--tw-bg-opacity:1;background-color:rgb(192 132 252/var(--tw-bg-opacity,1))}.focus\:bg-purple-50:focus{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.focus\:bg-purple-500:focus{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.focus\:bg-purple-600:focus{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.focus\:bg-purple-700:focus{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.focus\:bg-purple-800:focus{--tw-bg-opacity:1;background-color:rgb(107 33 168/var(--tw-bg-opacity,1))}.focus\:bg-purple-900:focus{--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity,1))}.focus\:bg-red-100:focus{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.focus\:bg-red-200:focus{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity,1))}.focus\:bg-red-300:focus{--tw-bg-opacity:1;background-color:rgb(252 165 165/var(--tw-bg-opacity,1))}.focus\:bg-red-400:focus{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity,1))}.focus\:bg-red-50:focus{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.focus\:bg-red-500:focus{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.focus\:bg-red-600:focus{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.focus\:bg-red-700:focus{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.focus\:bg-red-800:focus{--tw-bg-opacity:1;background-color:rgb(153 27 27/var(--tw-bg-opacity,1))}.focus\:bg-red-900:focus{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.focus\:bg-rose-100:focus{--tw-bg-opacity:1;background-color:rgb(255 228 230/var(--tw-bg-opacity,1))}.focus\:bg-rose-200:focus{--tw-bg-opacity:1;background-color:rgb(254 205 211/var(--tw-bg-opacity,1))}.focus\:bg-rose-300:focus{--tw-bg-opacity:1;background-color:rgb(253 164 175/var(--tw-bg-opacity,1))}.focus\:bg-rose-400:focus{--tw-bg-opacity:1;background-color:rgb(251 113 133/var(--tw-bg-opacity,1))}.focus\:bg-rose-50:focus{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity,1))}.focus\:bg-rose-500:focus{--tw-bg-opacity:1;background-color:rgb(244 63 94/var(--tw-bg-opacity,1))}.focus\:bg-rose-600:focus{--tw-bg-opacity:1;background-color:rgb(225 29 72/var(--tw-bg-opacity,1))}.focus\:bg-rose-700:focus{--tw-bg-opacity:1;background-color:rgb(190 18 60/var(--tw-bg-opacity,1))}.focus\:bg-rose-800:focus{--tw-bg-opacity:1;background-color:rgb(159 18 57/var(--tw-bg-opacity,1))}.focus\:bg-rose-900:focus{--tw-bg-opacity:1;background-color:rgb(136 19 55/var(--tw-bg-opacity,1))}.focus\:bg-slate-100:focus{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.focus\:bg-slate-200:focus{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.focus\:bg-slate-300:focus{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity,1))}.focus\:bg-slate-400:focus{--tw-bg-opacity:1;background-color:rgb(148 163 184/var(--tw-bg-opacity,1))}.focus\:bg-slate-50:focus{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.focus\:bg-slate-500:focus{--tw-bg-opacity:1;background-color:rgb(100 116 139/var(--tw-bg-opacity,1))}.focus\:bg-slate-600:focus{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.focus\:bg-slate-700:focus{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.focus\:bg-slate-800:focus{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.focus\:bg-slate-900:focus{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.focus\:bg-teal-100:focus{--tw-bg-opacity:1;background-color:rgb(204 251 241/var(--tw-bg-opacity,1))}.focus\:bg-teal-200:focus{--tw-bg-opacity:1;background-color:rgb(153 246 228/var(--tw-bg-opacity,1))}.focus\:bg-teal-300:focus{--tw-bg-opacity:1;background-color:rgb(94 234 212/var(--tw-bg-opacity,1))}.focus\:bg-teal-400:focus{--tw-bg-opacity:1;background-color:rgb(45 212 191/var(--tw-bg-opacity,1))}.focus\:bg-teal-50:focus{--tw-bg-opacity:1;background-color:rgb(240 253 250/var(--tw-bg-opacity,1))}.focus\:bg-teal-500:focus{--tw-bg-opacity:1;background-color:rgb(20 184 166/var(--tw-bg-opacity,1))}.focus\:bg-teal-600:focus{--tw-bg-opacity:1;background-color:rgb(13 148 136/var(--tw-bg-opacity,1))}.focus\:bg-teal-700:focus{--tw-bg-opacity:1;background-color:rgb(15 118 110/var(--tw-bg-opacity,1))}.focus\:bg-teal-800:focus{--tw-bg-opacity:1;background-color:rgb(17 94 89/var(--tw-bg-opacity,1))}.focus\:bg-teal-900:focus{--tw-bg-opacity:1;background-color:rgb(19 78 74/var(--tw-bg-opacity,1))}.focus\:bg-violet-100:focus{--tw-bg-opacity:1;background-color:rgb(237 233 254/var(--tw-bg-opacity,1))}.focus\:bg-violet-200:focus{--tw-bg-opacity:1;background-color:rgb(221 214 254/var(--tw-bg-opacity,1))}.focus\:bg-violet-300:focus{--tw-bg-opacity:1;background-color:rgb(196 181 253/var(--tw-bg-opacity,1))}.focus\:bg-violet-400:focus{--tw-bg-opacity:1;background-color:rgb(167 139 250/var(--tw-bg-opacity,1))}.focus\:bg-violet-50:focus{--tw-bg-opacity:1;background-color:rgb(245 243 255/var(--tw-bg-opacity,1))}.focus\:bg-violet-500:focus{--tw-bg-opacity:1;background-color:rgb(139 92 246/var(--tw-bg-opacity,1))}.focus\:bg-violet-600:focus{--tw-bg-opacity:1;background-color:rgb(124 58 237/var(--tw-bg-opacity,1))}.focus\:bg-violet-700:focus{--tw-bg-opacity:1;background-color:rgb(109 40 217/var(--tw-bg-opacity,1))}.focus\:bg-violet-800:focus{--tw-bg-opacity:1;background-color:rgb(91 33 182/var(--tw-bg-opacity,1))}.focus\:bg-violet-900:focus{--tw-bg-opacity:1;background-color:rgb(76 29 149/var(--tw-bg-opacity,1))}.focus\:bg-yellow-100:focus{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.focus\:bg-yellow-200:focus{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity,1))}.focus\:bg-yellow-300:focus{--tw-bg-opacity:1;background-color:rgb(253 224 71/var(--tw-bg-opacity,1))}.focus\:bg-yellow-400:focus{--tw-bg-opacity:1;background-color:rgb(250 204 21/var(--tw-bg-opacity,1))}.focus\:bg-yellow-50:focus{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity,1))}.focus\:bg-yellow-500:focus{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.focus\:bg-yellow-600:focus{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.focus\:bg-yellow-700:focus{--tw-bg-opacity:1;background-color:rgb(161 98 7/var(--tw-bg-opacity,1))}.focus\:bg-yellow-800:focus{--tw-bg-opacity:1;background-color:rgb(133 77 14/var(--tw-bg-opacity,1))}.focus\:bg-yellow-900:focus{--tw-bg-opacity:1;background-color:rgb(113 63 18/var(--tw-bg-opacity,1))}.focus\:bg-zinc-100:focus{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity,1))}.focus\:bg-zinc-200:focus{--tw-bg-opacity:1;background-color:rgb(228 228 231/var(--tw-bg-opacity,1))}.focus\:bg-zinc-300:focus{--tw-bg-opacity:1;background-color:rgb(212 212 216/var(--tw-bg-opacity,1))}.focus\:bg-zinc-400:focus{--tw-bg-opacity:1;background-color:rgb(161 161 170/var(--tw-bg-opacity,1))}.focus\:bg-zinc-50:focus{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.focus\:bg-zinc-500:focus{--tw-bg-opacity:1;background-color:rgb(113 113 122/var(--tw-bg-opacity,1))}.focus\:bg-zinc-600:focus{--tw-bg-opacity:1;background-color:rgb(82 82 91/var(--tw-bg-opacity,1))}.focus\:bg-zinc-700:focus{--tw-bg-opacity:1;background-color:rgb(63 63 70/var(--tw-bg-opacity,1))}.focus\:bg-zinc-800:focus{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.focus\:bg-zinc-900:focus{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity,1))}.focus\:from-amber-100:focus{--tw-gradient-from:#fef3c7 var(--tw-gradient-from-position);--tw-gradient-to:hsla(48,96%,89%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-amber-200:focus{--tw-gradient-from:#fde68a var(--tw-gradient-from-position);--tw-gradient-to:hsla(48,97%,77%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-amber-300:focus{--tw-gradient-from:#fcd34d var(--tw-gradient-from-position);--tw-gradient-to:rgba(252,211,77,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-amber-400:focus{--tw-gradient-from:#fbbf24 var(--tw-gradient-from-position);--tw-gradient-to:rgba(251,191,36,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-amber-50:focus{--tw-gradient-from:#fffbeb var(--tw-gradient-from-position);--tw-gradient-to:rgba(255,251,235,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-amber-500:focus{--tw-gradient-from:#f59e0b var(--tw-gradient-from-position);--tw-gradient-to:rgba(245,158,11,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-amber-600:focus{--tw-gradient-from:#d97706 var(--tw-gradient-from-position);--tw-gradient-to:rgba(217,119,6,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-amber-700:focus{--tw-gradient-from:#b45309 var(--tw-gradient-from-position);--tw-gradient-to:rgba(180,83,9,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-amber-800:focus{--tw-gradient-from:#92400e var(--tw-gradient-from-position);--tw-gradient-to:rgba(146,64,14,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-amber-900:focus{--tw-gradient-from:#78350f var(--tw-gradient-from-position);--tw-gradient-to:rgba(120,53,15,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-blue-100:focus{--tw-gradient-from:#dbeafe var(--tw-gradient-from-position);--tw-gradient-to:rgba(219,234,254,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-blue-200:focus{--tw-gradient-from:#bfdbfe var(--tw-gradient-from-position);--tw-gradient-to:rgba(191,219,254,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-blue-300:focus{--tw-gradient-from:#93c5fd var(--tw-gradient-from-position);--tw-gradient-to:rgba(147,197,253,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-blue-400:focus{--tw-gradient-from:#60a5fa var(--tw-gradient-from-position);--tw-gradient-to:rgba(96,165,250,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-blue-50:focus{--tw-gradient-from:#eff6ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(239,246,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-blue-500:focus{--tw-gradient-from:#3b82f6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(59,130,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-blue-600:focus{--tw-gradient-from:#2563eb var(--tw-gradient-from-position);--tw-gradient-to:rgba(37,99,235,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-blue-700:focus{--tw-gradient-from:#1d4ed8 var(--tw-gradient-from-position);--tw-gradient-to:rgba(29,78,216,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-blue-800:focus{--tw-gradient-from:#1e40af var(--tw-gradient-from-position);--tw-gradient-to:rgba(30,64,175,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-blue-900:focus{--tw-gradient-from:#1e3a8a var(--tw-gradient-from-position);--tw-gradient-to:rgba(30,58,138,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-brand-100:focus{--tw-gradient-from:#d9eaff var(--tw-gradient-from-position);--tw-gradient-to:rgba(217,234,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-brand-200:focus{--tw-gradient-from:#b9d8ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(185,216,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-brand-300:focus{--tw-gradient-from:#90c0ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(144,192,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-brand-400:focus{--tw-gradient-from:#5da0ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(93,160,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-brand-50:focus{--tw-gradient-from:#eef6ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(238,246,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-brand-500:focus{--tw-gradient-from:#2f7fff var(--tw-gradient-from-position);--tw-gradient-to:rgba(47,127,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-brand-600:focus{--tw-gradient-from:#1f69e5 var(--tw-gradient-from-position);--tw-gradient-to:rgba(31,105,229,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-brand-700:focus{--tw-gradient-from:#1c57bf var(--tw-gradient-from-position);--tw-gradient-to:rgba(28,87,191,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-brand-800:focus{--tw-gradient-from:#1a499b var(--tw-gradient-from-position);--tw-gradient-to:rgba(26,73,155,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-brand-900:focus{--tw-gradient-from:#173f82 var(--tw-gradient-from-position);--tw-gradient-to:rgba(23,63,130,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-emerald-100:focus{--tw-gradient-from:#d1fae5 var(--tw-gradient-from-position);--tw-gradient-to:rgba(209,250,229,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-emerald-200:focus{--tw-gradient-from:#a7f3d0 var(--tw-gradient-from-position);--tw-gradient-to:rgba(167,243,208,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-emerald-300:focus{--tw-gradient-from:#6ee7b7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(110,231,183,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-emerald-400:focus{--tw-gradient-from:#34d399 var(--tw-gradient-from-position);--tw-gradient-to:rgba(52,211,153,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-emerald-50:focus{--tw-gradient-from:#ecfdf5 var(--tw-gradient-from-position);--tw-gradient-to:rgba(236,253,245,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-emerald-500:focus{--tw-gradient-from:#10b981 var(--tw-gradient-from-position);--tw-gradient-to:rgba(16,185,129,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-emerald-600:focus{--tw-gradient-from:#059669 var(--tw-gradient-from-position);--tw-gradient-to:rgba(5,150,105,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-emerald-700:focus{--tw-gradient-from:#047857 var(--tw-gradient-from-position);--tw-gradient-to:rgba(4,120,87,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-emerald-800:focus{--tw-gradient-from:#065f46 var(--tw-gradient-from-position);--tw-gradient-to:rgba(6,95,70,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-emerald-900:focus{--tw-gradient-from:#064e3b var(--tw-gradient-from-position);--tw-gradient-to:rgba(6,78,59,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-gray-100:focus{--tw-gradient-from:#f3f4f6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(243,244,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-gray-200:focus{--tw-gradient-from:#e5e7eb var(--tw-gradient-from-position);--tw-gradient-to:rgba(229,231,235,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-gray-300:focus{--tw-gradient-from:#d1d5db var(--tw-gradient-from-position);--tw-gradient-to:rgba(209,213,219,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-gray-400:focus{--tw-gradient-from:#9ca3af var(--tw-gradient-from-position);--tw-gradient-to:rgba(156,163,175,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-gray-50:focus{--tw-gradient-from:#f9fafb var(--tw-gradient-from-position);--tw-gradient-to:rgba(249,250,251,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-gray-500:focus{--tw-gradient-from:#6b7280 var(--tw-gradient-from-position);--tw-gradient-to:hsla(220,9%,46%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-gray-600:focus{--tw-gradient-from:#4b5563 var(--tw-gradient-from-position);--tw-gradient-to:rgba(75,85,99,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-gray-700:focus{--tw-gradient-from:#374151 var(--tw-gradient-from-position);--tw-gradient-to:rgba(55,65,81,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-gray-800:focus{--tw-gradient-from:#1f2937 var(--tw-gradient-from-position);--tw-gradient-to:rgba(31,41,55,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-gray-900:focus{--tw-gradient-from:#111827 var(--tw-gradient-from-position);--tw-gradient-to:rgba(17,24,39,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-green-100:focus{--tw-gradient-from:#dcfce7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(220,252,231,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-green-200:focus{--tw-gradient-from:#bbf7d0 var(--tw-gradient-from-position);--tw-gradient-to:rgba(187,247,208,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-green-300:focus{--tw-gradient-from:#86efac var(--tw-gradient-from-position);--tw-gradient-to:rgba(134,239,172,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-green-400:focus{--tw-gradient-from:#4ade80 var(--tw-gradient-from-position);--tw-gradient-to:rgba(74,222,128,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-green-50:focus{--tw-gradient-from:#f0fdf4 var(--tw-gradient-from-position);--tw-gradient-to:rgba(240,253,244,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-green-500:focus{--tw-gradient-from:#22c55e var(--tw-gradient-from-position);--tw-gradient-to:rgba(34,197,94,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-green-600:focus{--tw-gradient-from:#16a34a var(--tw-gradient-from-position);--tw-gradient-to:rgba(22,163,74,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-green-700:focus{--tw-gradient-from:#15803d var(--tw-gradient-from-position);--tw-gradient-to:rgba(21,128,61,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-green-800:focus{--tw-gradient-from:#166534 var(--tw-gradient-from-position);--tw-gradient-to:rgba(22,101,52,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-green-900:focus{--tw-gradient-from:#14532d var(--tw-gradient-from-position);--tw-gradient-to:rgba(20,83,45,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-indigo-100:focus{--tw-gradient-from:#e0e7ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(224,231,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-indigo-200:focus{--tw-gradient-from:#c7d2fe var(--tw-gradient-from-position);--tw-gradient-to:rgba(199,210,254,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-indigo-300:focus{--tw-gradient-from:#a5b4fc var(--tw-gradient-from-position);--tw-gradient-to:rgba(165,180,252,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-indigo-400:focus{--tw-gradient-from:#818cf8 var(--tw-gradient-from-position);--tw-gradient-to:rgba(129,140,248,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-indigo-50:focus{--tw-gradient-from:#eef2ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(238,242,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-indigo-500:focus{--tw-gradient-from:#6366f1 var(--tw-gradient-from-position);--tw-gradient-to:rgba(99,102,241,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-indigo-600:focus{--tw-gradient-from:#4f46e5 var(--tw-gradient-from-position);--tw-gradient-to:rgba(79,70,229,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-indigo-700:focus{--tw-gradient-from:#4338ca var(--tw-gradient-from-position);--tw-gradient-to:rgba(67,56,202,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-indigo-800:focus{--tw-gradient-from:#3730a3 var(--tw-gradient-from-position);--tw-gradient-to:rgba(55,48,163,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-indigo-900:focus{--tw-gradient-from:#312e81 var(--tw-gradient-from-position);--tw-gradient-to:rgba(49,46,129,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-orange-100:focus{--tw-gradient-from:#ffedd5 var(--tw-gradient-from-position);--tw-gradient-to:rgba(255,237,213,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-orange-200:focus{--tw-gradient-from:#fed7aa var(--tw-gradient-from-position);--tw-gradient-to:hsla(32,98%,83%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-orange-300:focus{--tw-gradient-from:#fdba74 var(--tw-gradient-from-position);--tw-gradient-to:hsla(31,97%,72%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-orange-400:focus{--tw-gradient-from:#fb923c var(--tw-gradient-from-position);--tw-gradient-to:rgba(251,146,60,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-orange-50:focus{--tw-gradient-from:#fff7ed var(--tw-gradient-from-position);--tw-gradient-to:rgba(255,247,237,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-orange-500:focus{--tw-gradient-from:#f97316 var(--tw-gradient-from-position);--tw-gradient-to:rgba(249,115,22,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-orange-600:focus{--tw-gradient-from:#ea580c var(--tw-gradient-from-position);--tw-gradient-to:rgba(234,88,12,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-orange-700:focus{--tw-gradient-from:#c2410c var(--tw-gradient-from-position);--tw-gradient-to:rgba(194,65,12,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-orange-800:focus{--tw-gradient-from:#9a3412 var(--tw-gradient-from-position);--tw-gradient-to:rgba(154,52,18,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-orange-900:focus{--tw-gradient-from:#7c2d12 var(--tw-gradient-from-position);--tw-gradient-to:rgba(124,45,18,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-pink-100:focus{--tw-gradient-from:#fce7f3 var(--tw-gradient-from-position);--tw-gradient-to:rgba(252,231,243,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-pink-200:focus{--tw-gradient-from:#fbcfe8 var(--tw-gradient-from-position);--tw-gradient-to:rgba(251,207,232,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-pink-300:focus{--tw-gradient-from:#f9a8d4 var(--tw-gradient-from-position);--tw-gradient-to:rgba(249,168,212,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-pink-400:focus{--tw-gradient-from:#f472b6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(244,114,182,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-pink-50:focus{--tw-gradient-from:#fdf2f8 var(--tw-gradient-from-position);--tw-gradient-to:rgba(253,242,248,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-pink-500:focus{--tw-gradient-from:#ec4899 var(--tw-gradient-from-position);--tw-gradient-to:rgba(236,72,153,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-pink-600:focus{--tw-gradient-from:#db2777 var(--tw-gradient-from-position);--tw-gradient-to:rgba(219,39,119,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-pink-700:focus{--tw-gradient-from:#be185d var(--tw-gradient-from-position);--tw-gradient-to:rgba(190,24,93,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-pink-800:focus{--tw-gradient-from:#9d174d var(--tw-gradient-from-position);--tw-gradient-to:rgba(157,23,77,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-pink-900:focus{--tw-gradient-from:#831843 var(--tw-gradient-from-position);--tw-gradient-to:rgba(131,24,67,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-purple-100:focus{--tw-gradient-from:#f3e8ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(243,232,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-purple-200:focus{--tw-gradient-from:#e9d5ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(233,213,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-purple-300:focus{--tw-gradient-from:#d8b4fe var(--tw-gradient-from-position);--tw-gradient-to:rgba(216,180,254,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-purple-400:focus{--tw-gradient-from:#c084fc var(--tw-gradient-from-position);--tw-gradient-to:rgba(192,132,252,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-purple-50:focus{--tw-gradient-from:#faf5ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(250,245,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-purple-500:focus{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-purple-600:focus{--tw-gradient-from:#9333ea var(--tw-gradient-from-position);--tw-gradient-to:rgba(147,51,234,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-purple-700:focus{--tw-gradient-from:#7e22ce var(--tw-gradient-from-position);--tw-gradient-to:rgba(126,34,206,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-purple-800:focus{--tw-gradient-from:#6b21a8 var(--tw-gradient-from-position);--tw-gradient-to:rgba(107,33,168,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-purple-900:focus{--tw-gradient-from:#581c87 var(--tw-gradient-from-position);--tw-gradient-to:rgba(88,28,135,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-red-100:focus{--tw-gradient-from:#fee2e2 var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,93%,94%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-red-200:focus{--tw-gradient-from:#fecaca var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,96%,89%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-red-300:focus{--tw-gradient-from:#fca5a5 var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,94%,82%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-red-400:focus{--tw-gradient-from:#f87171 var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,91%,71%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-red-50:focus{--tw-gradient-from:#fef2f2 var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,86%,97%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-red-500:focus{--tw-gradient-from:#ef4444 var(--tw-gradient-from-position);--tw-gradient-to:rgba(239,68,68,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-red-600:focus{--tw-gradient-from:#dc2626 var(--tw-gradient-from-position);--tw-gradient-to:rgba(220,38,38,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-red-700:focus{--tw-gradient-from:#b91c1c var(--tw-gradient-from-position);--tw-gradient-to:rgba(185,28,28,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-red-800:focus{--tw-gradient-from:#991b1b var(--tw-gradient-from-position);--tw-gradient-to:rgba(153,27,27,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-red-900:focus{--tw-gradient-from:#7f1d1d var(--tw-gradient-from-position);--tw-gradient-to:rgba(127,29,29,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-rose-100:focus{--tw-gradient-from:#ffe4e6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(255,228,230,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-rose-200:focus{--tw-gradient-from:#fecdd3 var(--tw-gradient-from-position);--tw-gradient-to:rgba(254,205,211,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-rose-300:focus{--tw-gradient-from:#fda4af var(--tw-gradient-from-position);--tw-gradient-to:rgba(253,164,175,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-rose-400:focus{--tw-gradient-from:#fb7185 var(--tw-gradient-from-position);--tw-gradient-to:rgba(251,113,133,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-rose-50:focus{--tw-gradient-from:#fff1f2 var(--tw-gradient-from-position);--tw-gradient-to:rgba(255,241,242,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-rose-500:focus{--tw-gradient-from:#f43f5e var(--tw-gradient-from-position);--tw-gradient-to:rgba(244,63,94,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-rose-600:focus{--tw-gradient-from:#e11d48 var(--tw-gradient-from-position);--tw-gradient-to:rgba(225,29,72,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-rose-700:focus{--tw-gradient-from:#be123c var(--tw-gradient-from-position);--tw-gradient-to:rgba(190,18,60,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-rose-800:focus{--tw-gradient-from:#9f1239 var(--tw-gradient-from-position);--tw-gradient-to:rgba(159,18,57,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-rose-900:focus{--tw-gradient-from:#881337 var(--tw-gradient-from-position);--tw-gradient-to:rgba(136,19,55,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-slate-100:focus{--tw-gradient-from:#f1f5f9 var(--tw-gradient-from-position);--tw-gradient-to:rgba(241,245,249,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-slate-200:focus{--tw-gradient-from:#e2e8f0 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,232,240,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-slate-300:focus{--tw-gradient-from:#cbd5e1 var(--tw-gradient-from-position);--tw-gradient-to:rgba(203,213,225,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-slate-400:focus{--tw-gradient-from:#94a3b8 var(--tw-gradient-from-position);--tw-gradient-to:rgba(148,163,184,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-slate-50:focus{--tw-gradient-from:#f8fafc var(--tw-gradient-from-position);--tw-gradient-to:rgba(248,250,252,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-slate-500:focus{--tw-gradient-from:#64748b var(--tw-gradient-from-position);--tw-gradient-to:rgba(100,116,139,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-slate-600:focus{--tw-gradient-from:#475569 var(--tw-gradient-from-position);--tw-gradient-to:rgba(71,85,105,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-slate-700:focus{--tw-gradient-from:#334155 var(--tw-gradient-from-position);--tw-gradient-to:rgba(51,65,85,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-slate-800:focus{--tw-gradient-from:#1e293b var(--tw-gradient-from-position);--tw-gradient-to:rgba(30,41,59,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-slate-900:focus{--tw-gradient-from:#0f172a var(--tw-gradient-from-position);--tw-gradient-to:rgba(15,23,42,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-teal-100:focus{--tw-gradient-from:#ccfbf1 var(--tw-gradient-from-position);--tw-gradient-to:rgba(204,251,241,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-teal-200:focus{--tw-gradient-from:#99f6e4 var(--tw-gradient-from-position);--tw-gradient-to:rgba(153,246,228,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-teal-300:focus{--tw-gradient-from:#5eead4 var(--tw-gradient-from-position);--tw-gradient-to:rgba(94,234,212,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-teal-400:focus{--tw-gradient-from:#2dd4bf var(--tw-gradient-from-position);--tw-gradient-to:rgba(45,212,191,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-teal-50:focus{--tw-gradient-from:#f0fdfa var(--tw-gradient-from-position);--tw-gradient-to:rgba(240,253,250,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-teal-500:focus{--tw-gradient-from:#14b8a6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(20,184,166,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-teal-600:focus{--tw-gradient-from:#0d9488 var(--tw-gradient-from-position);--tw-gradient-to:rgba(13,148,136,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-teal-700:focus{--tw-gradient-from:#0f766e var(--tw-gradient-from-position);--tw-gradient-to:rgba(15,118,110,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-teal-800:focus{--tw-gradient-from:#115e59 var(--tw-gradient-from-position);--tw-gradient-to:rgba(17,94,89,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-teal-900:focus{--tw-gradient-from:#134e4a var(--tw-gradient-from-position);--tw-gradient-to:rgba(19,78,74,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-violet-100:focus{--tw-gradient-from:#ede9fe var(--tw-gradient-from-position);--tw-gradient-to:rgba(237,233,254,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-violet-200:focus{--tw-gradient-from:#ddd6fe var(--tw-gradient-from-position);--tw-gradient-to:rgba(221,214,254,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-violet-300:focus{--tw-gradient-from:#c4b5fd var(--tw-gradient-from-position);--tw-gradient-to:rgba(196,181,253,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-violet-400:focus{--tw-gradient-from:#a78bfa var(--tw-gradient-from-position);--tw-gradient-to:rgba(167,139,250,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-violet-50:focus{--tw-gradient-from:#f5f3ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(245,243,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-violet-500:focus{--tw-gradient-from:#8b5cf6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(139,92,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-violet-600:focus{--tw-gradient-from:#7c3aed var(--tw-gradient-from-position);--tw-gradient-to:rgba(124,58,237,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-violet-700:focus{--tw-gradient-from:#6d28d9 var(--tw-gradient-from-position);--tw-gradient-to:rgba(109,40,217,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-violet-800:focus{--tw-gradient-from:#5b21b6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(91,33,182,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-violet-900:focus{--tw-gradient-from:#4c1d95 var(--tw-gradient-from-position);--tw-gradient-to:rgba(76,29,149,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-yellow-100:focus{--tw-gradient-from:#fef9c3 var(--tw-gradient-from-position);--tw-gradient-to:hsla(55,97%,88%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-yellow-200:focus{--tw-gradient-from:#fef08a var(--tw-gradient-from-position);--tw-gradient-to:hsla(53,98%,77%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-yellow-300:focus{--tw-gradient-from:#fde047 var(--tw-gradient-from-position);--tw-gradient-to:rgba(253,224,71,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-yellow-400:focus{--tw-gradient-from:#facc15 var(--tw-gradient-from-position);--tw-gradient-to:rgba(250,204,21,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-yellow-50:focus{--tw-gradient-from:#fefce8 var(--tw-gradient-from-position);--tw-gradient-to:hsla(55,92%,95%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-yellow-500:focus{--tw-gradient-from:#eab308 var(--tw-gradient-from-position);--tw-gradient-to:rgba(234,179,8,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-yellow-600:focus{--tw-gradient-from:#ca8a04 var(--tw-gradient-from-position);--tw-gradient-to:rgba(202,138,4,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-yellow-700:focus{--tw-gradient-from:#a16207 var(--tw-gradient-from-position);--tw-gradient-to:rgba(161,98,7,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-yellow-800:focus{--tw-gradient-from:#854d0e var(--tw-gradient-from-position);--tw-gradient-to:rgba(133,77,14,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-yellow-900:focus{--tw-gradient-from:#713f12 var(--tw-gradient-from-position);--tw-gradient-to:rgba(113,63,18,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-zinc-100:focus{--tw-gradient-from:#f4f4f5 var(--tw-gradient-from-position);--tw-gradient-to:hsla(240,5%,96%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-zinc-200:focus{--tw-gradient-from:#e4e4e7 var(--tw-gradient-from-position);--tw-gradient-to:hsla(240,6%,90%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-zinc-300:focus{--tw-gradient-from:#d4d4d8 var(--tw-gradient-from-position);--tw-gradient-to:hsla(240,5%,84%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-zinc-400:focus{--tw-gradient-from:#a1a1aa var(--tw-gradient-from-position);--tw-gradient-to:hsla(240,5%,65%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-zinc-50:focus{--tw-gradient-from:#fafafa var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,98%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-zinc-500:focus{--tw-gradient-from:#71717a var(--tw-gradient-from-position);--tw-gradient-to:hsla(240,4%,46%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-zinc-600:focus{--tw-gradient-from:#52525b var(--tw-gradient-from-position);--tw-gradient-to:rgba(82,82,91,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-zinc-700:focus{--tw-gradient-from:#3f3f46 var(--tw-gradient-from-position);--tw-gradient-to:rgba(63,63,70,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-zinc-800:focus{--tw-gradient-from:#27272a var(--tw-gradient-from-position);--tw-gradient-to:rgba(39,39,42,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-zinc-900:focus{--tw-gradient-from:#18181b var(--tw-gradient-from-position);--tw-gradient-to:rgba(24,24,27,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:to-amber-100:focus{--tw-gradient-to:#fef3c7 var(--tw-gradient-to-position)}.focus\:to-amber-200:focus{--tw-gradient-to:#fde68a var(--tw-gradient-to-position)}.focus\:to-amber-300:focus{--tw-gradient-to:#fcd34d var(--tw-gradient-to-position)}.focus\:to-amber-400:focus{--tw-gradient-to:#fbbf24 var(--tw-gradient-to-position)}.focus\:to-amber-50:focus{--tw-gradient-to:#fffbeb var(--tw-gradient-to-position)}.focus\:to-amber-500:focus{--tw-gradient-to:#f59e0b var(--tw-gradient-to-position)}.focus\:to-amber-600:focus{--tw-gradient-to:#d97706 var(--tw-gradient-to-position)}.focus\:to-amber-700:focus{--tw-gradient-to:#b45309 var(--tw-gradient-to-position)}.focus\:to-amber-800:focus{--tw-gradient-to:#92400e var(--tw-gradient-to-position)}.focus\:to-amber-900:focus{--tw-gradient-to:#78350f var(--tw-gradient-to-position)}.focus\:to-blue-100:focus{--tw-gradient-to:#dbeafe var(--tw-gradient-to-position)}.focus\:to-blue-200:focus{--tw-gradient-to:#bfdbfe var(--tw-gradient-to-position)}.focus\:to-blue-300:focus{--tw-gradient-to:#93c5fd var(--tw-gradient-to-position)}.focus\:to-blue-400:focus{--tw-gradient-to:#60a5fa var(--tw-gradient-to-position)}.focus\:to-blue-50:focus{--tw-gradient-to:#eff6ff var(--tw-gradient-to-position)}.focus\:to-blue-500:focus{--tw-gradient-to:#3b82f6 var(--tw-gradient-to-position)}.focus\:to-blue-600:focus{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.focus\:to-blue-700:focus{--tw-gradient-to:#1d4ed8 var(--tw-gradient-to-position)}.focus\:to-blue-800:focus{--tw-gradient-to:#1e40af var(--tw-gradient-to-position)}.focus\:to-blue-900:focus{--tw-gradient-to:#1e3a8a var(--tw-gradient-to-position)}.focus\:to-brand-100:focus{--tw-gradient-to:#d9eaff var(--tw-gradient-to-position)}.focus\:to-brand-200:focus{--tw-gradient-to:#b9d8ff var(--tw-gradient-to-position)}.focus\:to-brand-300:focus{--tw-gradient-to:#90c0ff var(--tw-gradient-to-position)}.focus\:to-brand-400:focus{--tw-gradient-to:#5da0ff var(--tw-gradient-to-position)}.focus\:to-brand-50:focus{--tw-gradient-to:#eef6ff var(--tw-gradient-to-position)}.focus\:to-brand-500:focus{--tw-gradient-to:#2f7fff var(--tw-gradient-to-position)}.focus\:to-brand-600:focus{--tw-gradient-to:#1f69e5 var(--tw-gradient-to-position)}.focus\:to-brand-700:focus{--tw-gradient-to:#1c57bf var(--tw-gradient-to-position)}.focus\:to-brand-800:focus{--tw-gradient-to:#1a499b var(--tw-gradient-to-position)}.focus\:to-brand-900:focus{--tw-gradient-to:#173f82 var(--tw-gradient-to-position)}.focus\:to-emerald-100:focus{--tw-gradient-to:#d1fae5 var(--tw-gradient-to-position)}.focus\:to-emerald-200:focus{--tw-gradient-to:#a7f3d0 var(--tw-gradient-to-position)}.focus\:to-emerald-300:focus{--tw-gradient-to:#6ee7b7 var(--tw-gradient-to-position)}.focus\:to-emerald-400:focus{--tw-gradient-to:#34d399 var(--tw-gradient-to-position)}.focus\:to-emerald-50:focus{--tw-gradient-to:#ecfdf5 var(--tw-gradient-to-position)}.focus\:to-emerald-500:focus{--tw-gradient-to:#10b981 var(--tw-gradient-to-position)}.focus\:to-emerald-600:focus{--tw-gradient-to:#059669 var(--tw-gradient-to-position)}.focus\:to-emerald-700:focus{--tw-gradient-to:#047857 var(--tw-gradient-to-position)}.focus\:to-emerald-800:focus{--tw-gradient-to:#065f46 var(--tw-gradient-to-position)}.focus\:to-emerald-900:focus{--tw-gradient-to:#064e3b var(--tw-gradient-to-position)}.focus\:to-gray-100:focus{--tw-gradient-to:#f3f4f6 var(--tw-gradient-to-position)}.focus\:to-gray-200:focus{--tw-gradient-to:#e5e7eb var(--tw-gradient-to-position)}.focus\:to-gray-300:focus{--tw-gradient-to:#d1d5db var(--tw-gradient-to-position)}.focus\:to-gray-400:focus{--tw-gradient-to:#9ca3af var(--tw-gradient-to-position)}.focus\:to-gray-50:focus{--tw-gradient-to:#f9fafb var(--tw-gradient-to-position)}.focus\:to-gray-500:focus{--tw-gradient-to:#6b7280 var(--tw-gradient-to-position)}.focus\:to-gray-600:focus{--tw-gradient-to:#4b5563 var(--tw-gradient-to-position)}.focus\:to-gray-700:focus{--tw-gradient-to:#374151 var(--tw-gradient-to-position)}.focus\:to-gray-800:focus{--tw-gradient-to:#1f2937 var(--tw-gradient-to-position)}.focus\:to-gray-900:focus{--tw-gradient-to:#111827 var(--tw-gradient-to-position)}.focus\:to-green-100:focus{--tw-gradient-to:#dcfce7 var(--tw-gradient-to-position)}.focus\:to-green-200:focus{--tw-gradient-to:#bbf7d0 var(--tw-gradient-to-position)}.focus\:to-green-300:focus{--tw-gradient-to:#86efac var(--tw-gradient-to-position)}.focus\:to-green-400:focus{--tw-gradient-to:#4ade80 var(--tw-gradient-to-position)}.focus\:to-green-50:focus{--tw-gradient-to:#f0fdf4 var(--tw-gradient-to-position)}.focus\:to-green-500:focus{--tw-gradient-to:#22c55e var(--tw-gradient-to-position)}.focus\:to-green-600:focus{--tw-gradient-to:#16a34a var(--tw-gradient-to-position)}.focus\:to-green-700:focus{--tw-gradient-to:#15803d var(--tw-gradient-to-position)}.focus\:to-green-800:focus{--tw-gradient-to:#166534 var(--tw-gradient-to-position)}.focus\:to-green-900:focus{--tw-gradient-to:#14532d var(--tw-gradient-to-position)}.focus\:to-indigo-100:focus{--tw-gradient-to:#e0e7ff var(--tw-gradient-to-position)}.focus\:to-indigo-200:focus{--tw-gradient-to:#c7d2fe var(--tw-gradient-to-position)}.focus\:to-indigo-300:focus{--tw-gradient-to:#a5b4fc var(--tw-gradient-to-position)}.focus\:to-indigo-400:focus{--tw-gradient-to:#818cf8 var(--tw-gradient-to-position)}.focus\:to-indigo-50:focus{--tw-gradient-to:#eef2ff var(--tw-gradient-to-position)}.focus\:to-indigo-500:focus{--tw-gradient-to:#6366f1 var(--tw-gradient-to-position)}.focus\:to-indigo-600:focus{--tw-gradient-to:#4f46e5 var(--tw-gradient-to-position)}.focus\:to-indigo-700:focus{--tw-gradient-to:#4338ca var(--tw-gradient-to-position)}.focus\:to-indigo-800:focus{--tw-gradient-to:#3730a3 var(--tw-gradient-to-position)}.focus\:to-indigo-900:focus{--tw-gradient-to:#312e81 var(--tw-gradient-to-position)}.focus\:to-orange-100:focus{--tw-gradient-to:#ffedd5 var(--tw-gradient-to-position)}.focus\:to-orange-200:focus{--tw-gradient-to:#fed7aa var(--tw-gradient-to-position)}.focus\:to-orange-300:focus{--tw-gradient-to:#fdba74 var(--tw-gradient-to-position)}.focus\:to-orange-400:focus{--tw-gradient-to:#fb923c var(--tw-gradient-to-position)}.focus\:to-orange-50:focus{--tw-gradient-to:#fff7ed var(--tw-gradient-to-position)}.focus\:to-orange-500:focus{--tw-gradient-to:#f97316 var(--tw-gradient-to-position)}.focus\:to-orange-600:focus{--tw-gradient-to:#ea580c var(--tw-gradient-to-position)}.focus\:to-orange-700:focus{--tw-gradient-to:#c2410c var(--tw-gradient-to-position)}.focus\:to-orange-800:focus{--tw-gradient-to:#9a3412 var(--tw-gradient-to-position)}.focus\:to-orange-900:focus{--tw-gradient-to:#7c2d12 var(--tw-gradient-to-position)}.focus\:to-pink-100:focus{--tw-gradient-to:#fce7f3 var(--tw-gradient-to-position)}.focus\:to-pink-200:focus{--tw-gradient-to:#fbcfe8 var(--tw-gradient-to-position)}.focus\:to-pink-300:focus{--tw-gradient-to:#f9a8d4 var(--tw-gradient-to-position)}.focus\:to-pink-400:focus{--tw-gradient-to:#f472b6 var(--tw-gradient-to-position)}.focus\:to-pink-50:focus{--tw-gradient-to:#fdf2f8 var(--tw-gradient-to-position)}.focus\:to-pink-500:focus{--tw-gradient-to:#ec4899 var(--tw-gradient-to-position)}.focus\:to-pink-600:focus{--tw-gradient-to:#db2777 var(--tw-gradient-to-position)}.focus\:to-pink-700:focus{--tw-gradient-to:#be185d var(--tw-gradient-to-position)}.focus\:to-pink-800:focus{--tw-gradient-to:#9d174d var(--tw-gradient-to-position)}.focus\:to-pink-900:focus{--tw-gradient-to:#831843 var(--tw-gradient-to-position)}.focus\:to-purple-100:focus{--tw-gradient-to:#f3e8ff var(--tw-gradient-to-position)}.focus\:to-purple-200:focus{--tw-gradient-to:#e9d5ff var(--tw-gradient-to-position)}.focus\:to-purple-300:focus{--tw-gradient-to:#d8b4fe var(--tw-gradient-to-position)}.focus\:to-purple-400:focus{--tw-gradient-to:#c084fc var(--tw-gradient-to-position)}.focus\:to-purple-50:focus{--tw-gradient-to:#faf5ff var(--tw-gradient-to-position)}.focus\:to-purple-500:focus{--tw-gradient-to:#a855f7 var(--tw-gradient-to-position)}.focus\:to-purple-600:focus{--tw-gradient-to:#9333ea var(--tw-gradient-to-position)}.focus\:to-purple-700:focus{--tw-gradient-to:#7e22ce var(--tw-gradient-to-position)}.focus\:to-purple-800:focus{--tw-gradient-to:#6b21a8 var(--tw-gradient-to-position)}.focus\:to-purple-900:focus{--tw-gradient-to:#581c87 var(--tw-gradient-to-position)}.focus\:to-red-100:focus{--tw-gradient-to:#fee2e2 var(--tw-gradient-to-position)}.focus\:to-red-200:focus{--tw-gradient-to:#fecaca var(--tw-gradient-to-position)}.focus\:to-red-300:focus{--tw-gradient-to:#fca5a5 var(--tw-gradient-to-position)}.focus\:to-red-400:focus{--tw-gradient-to:#f87171 var(--tw-gradient-to-position)}.focus\:to-red-50:focus{--tw-gradient-to:#fef2f2 var(--tw-gradient-to-position)}.focus\:to-red-500:focus{--tw-gradient-to:#ef4444 var(--tw-gradient-to-position)}.focus\:to-red-600:focus{--tw-gradient-to:#dc2626 var(--tw-gradient-to-position)}.focus\:to-red-700:focus{--tw-gradient-to:#b91c1c var(--tw-gradient-to-position)}.focus\:to-red-800:focus{--tw-gradient-to:#991b1b var(--tw-gradient-to-position)}.focus\:to-red-900:focus{--tw-gradient-to:#7f1d1d var(--tw-gradient-to-position)}.focus\:to-rose-100:focus{--tw-gradient-to:#ffe4e6 var(--tw-gradient-to-position)}.focus\:to-rose-200:focus{--tw-gradient-to:#fecdd3 var(--tw-gradient-to-position)}.focus\:to-rose-300:focus{--tw-gradient-to:#fda4af var(--tw-gradient-to-position)}.focus\:to-rose-400:focus{--tw-gradient-to:#fb7185 var(--tw-gradient-to-position)}.focus\:to-rose-50:focus{--tw-gradient-to:#fff1f2 var(--tw-gradient-to-position)}.focus\:to-rose-500:focus{--tw-gradient-to:#f43f5e var(--tw-gradient-to-position)}.focus\:to-rose-600:focus{--tw-gradient-to:#e11d48 var(--tw-gradient-to-position)}.focus\:to-rose-700:focus{--tw-gradient-to:#be123c var(--tw-gradient-to-position)}.focus\:to-rose-800:focus{--tw-gradient-to:#9f1239 var(--tw-gradient-to-position)}.focus\:to-rose-900:focus{--tw-gradient-to:#881337 var(--tw-gradient-to-position)}.focus\:to-slate-100:focus{--tw-gradient-to:#f1f5f9 var(--tw-gradient-to-position)}.focus\:to-slate-200:focus{--tw-gradient-to:#e2e8f0 var(--tw-gradient-to-position)}.focus\:to-slate-300:focus{--tw-gradient-to:#cbd5e1 var(--tw-gradient-to-position)}.focus\:to-slate-400:focus{--tw-gradient-to:#94a3b8 var(--tw-gradient-to-position)}.focus\:to-slate-50:focus{--tw-gradient-to:#f8fafc var(--tw-gradient-to-position)}.focus\:to-slate-500:focus{--tw-gradient-to:#64748b var(--tw-gradient-to-position)}.focus\:to-slate-600:focus{--tw-gradient-to:#475569 var(--tw-gradient-to-position)}.focus\:to-slate-700:focus{--tw-gradient-to:#334155 var(--tw-gradient-to-position)}.focus\:to-slate-800:focus{--tw-gradient-to:#1e293b var(--tw-gradient-to-position)}.focus\:to-slate-900:focus{--tw-gradient-to:#0f172a var(--tw-gradient-to-position)}.focus\:to-teal-100:focus{--tw-gradient-to:#ccfbf1 var(--tw-gradient-to-position)}.focus\:to-teal-200:focus{--tw-gradient-to:#99f6e4 var(--tw-gradient-to-position)}.focus\:to-teal-300:focus{--tw-gradient-to:#5eead4 var(--tw-gradient-to-position)}.focus\:to-teal-400:focus{--tw-gradient-to:#2dd4bf var(--tw-gradient-to-position)}.focus\:to-teal-50:focus{--tw-gradient-to:#f0fdfa var(--tw-gradient-to-position)}.focus\:to-teal-500:focus{--tw-gradient-to:#14b8a6 var(--tw-gradient-to-position)}.focus\:to-teal-600:focus{--tw-gradient-to:#0d9488 var(--tw-gradient-to-position)}.focus\:to-teal-700:focus{--tw-gradient-to:#0f766e var(--tw-gradient-to-position)}.focus\:to-teal-800:focus{--tw-gradient-to:#115e59 var(--tw-gradient-to-position)}.focus\:to-teal-900:focus{--tw-gradient-to:#134e4a var(--tw-gradient-to-position)}.focus\:to-violet-100:focus{--tw-gradient-to:#ede9fe var(--tw-gradient-to-position)}.focus\:to-violet-200:focus{--tw-gradient-to:#ddd6fe var(--tw-gradient-to-position)}.focus\:to-violet-300:focus{--tw-gradient-to:#c4b5fd var(--tw-gradient-to-position)}.focus\:to-violet-400:focus{--tw-gradient-to:#a78bfa var(--tw-gradient-to-position)}.focus\:to-violet-50:focus{--tw-gradient-to:#f5f3ff var(--tw-gradient-to-position)}.focus\:to-violet-500:focus{--tw-gradient-to:#8b5cf6 var(--tw-gradient-to-position)}.focus\:to-violet-600:focus{--tw-gradient-to:#7c3aed var(--tw-gradient-to-position)}.focus\:to-violet-700:focus{--tw-gradient-to:#6d28d9 var(--tw-gradient-to-position)}.focus\:to-violet-800:focus{--tw-gradient-to:#5b21b6 var(--tw-gradient-to-position)}.focus\:to-violet-900:focus{--tw-gradient-to:#4c1d95 var(--tw-gradient-to-position)}.focus\:to-yellow-100:focus{--tw-gradient-to:#fef9c3 var(--tw-gradient-to-position)}.focus\:to-yellow-200:focus{--tw-gradient-to:#fef08a var(--tw-gradient-to-position)}.focus\:to-yellow-300:focus{--tw-gradient-to:#fde047 var(--tw-gradient-to-position)}.focus\:to-yellow-400:focus{--tw-gradient-to:#facc15 var(--tw-gradient-to-position)}.focus\:to-yellow-50:focus{--tw-gradient-to:#fefce8 var(--tw-gradient-to-position)}.focus\:to-yellow-500:focus{--tw-gradient-to:#eab308 var(--tw-gradient-to-position)}.focus\:to-yellow-600:focus{--tw-gradient-to:#ca8a04 var(--tw-gradient-to-position)}.focus\:to-yellow-700:focus{--tw-gradient-to:#a16207 var(--tw-gradient-to-position)}.focus\:to-yellow-800:focus{--tw-gradient-to:#854d0e var(--tw-gradient-to-position)}.focus\:to-yellow-900:focus{--tw-gradient-to:#713f12 var(--tw-gradient-to-position)}.focus\:to-zinc-100:focus{--tw-gradient-to:#f4f4f5 var(--tw-gradient-to-position)}.focus\:to-zinc-200:focus{--tw-gradient-to:#e4e4e7 var(--tw-gradient-to-position)}.focus\:to-zinc-300:focus{--tw-gradient-to:#d4d4d8 var(--tw-gradient-to-position)}.focus\:to-zinc-400:focus{--tw-gradient-to:#a1a1aa var(--tw-gradient-to-position)}.focus\:to-zinc-50:focus{--tw-gradient-to:#fafafa var(--tw-gradient-to-position)}.focus\:to-zinc-500:focus{--tw-gradient-to:#71717a var(--tw-gradient-to-position)}.focus\:to-zinc-600:focus{--tw-gradient-to:#52525b var(--tw-gradient-to-position)}.focus\:to-zinc-700:focus{--tw-gradient-to:#3f3f46 var(--tw-gradient-to-position)}.focus\:to-zinc-800:focus{--tw-gradient-to:#27272a var(--tw-gradient-to-position)}.focus\:to-zinc-900:focus{--tw-gradient-to:#18181b var(--tw-gradient-to-position)}.focus\:text-amber-100:focus{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity,1))}.focus\:text-amber-200:focus{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.focus\:text-amber-300:focus{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.focus\:text-amber-400:focus{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.focus\:text-amber-50:focus{--tw-text-opacity:1;color:rgb(255 251 235/var(--tw-text-opacity,1))}.focus\:text-amber-500:focus{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.focus\:text-amber-600:focus{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.focus\:text-amber-700:focus{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.focus\:text-amber-800:focus{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.focus\:text-amber-900:focus{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.focus\:text-blue-100:focus{--tw-text-opacity:1;color:rgb(219 234 254/var(--tw-text-opacity,1))}.focus\:text-blue-200:focus{--tw-text-opacity:1;color:rgb(191 219 254/var(--tw-text-opacity,1))}.focus\:text-blue-300:focus{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.focus\:text-blue-400:focus{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.focus\:text-blue-50:focus{--tw-text-opacity:1;color:rgb(239 246 255/var(--tw-text-opacity,1))}.focus\:text-blue-500:focus{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.focus\:text-blue-600:focus{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.focus\:text-blue-700:focus{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.focus\:text-blue-800:focus{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.focus\:text-blue-900:focus{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity,1))}.focus\:text-brand-100:focus{--tw-text-opacity:1;color:rgb(217 234 255/var(--tw-text-opacity,1))}.focus\:text-brand-200:focus{--tw-text-opacity:1;color:rgb(185 216 255/var(--tw-text-opacity,1))}.focus\:text-brand-300:focus{--tw-text-opacity:1;color:rgb(144 192 255/var(--tw-text-opacity,1))}.focus\:text-brand-400:focus{--tw-text-opacity:1;color:rgb(93 160 255/var(--tw-text-opacity,1))}.focus\:text-brand-50:focus{--tw-text-opacity:1;color:rgb(238 246 255/var(--tw-text-opacity,1))}.focus\:text-brand-500:focus{--tw-text-opacity:1;color:rgb(47 127 255/var(--tw-text-opacity,1))}.focus\:text-brand-600:focus{--tw-text-opacity:1;color:rgb(31 105 229/var(--tw-text-opacity,1))}.focus\:text-brand-700:focus{--tw-text-opacity:1;color:rgb(28 87 191/var(--tw-text-opacity,1))}.focus\:text-brand-800:focus{--tw-text-opacity:1;color:rgb(26 73 155/var(--tw-text-opacity,1))}.focus\:text-brand-900:focus{--tw-text-opacity:1;color:rgb(23 63 130/var(--tw-text-opacity,1))}.focus\:text-emerald-100:focus{--tw-text-opacity:1;color:rgb(209 250 229/var(--tw-text-opacity,1))}.focus\:text-emerald-200:focus{--tw-text-opacity:1;color:rgb(167 243 208/var(--tw-text-opacity,1))}.focus\:text-emerald-300:focus{--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity,1))}.focus\:text-emerald-400:focus{--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.focus\:text-emerald-50:focus{--tw-text-opacity:1;color:rgb(236 253 245/var(--tw-text-opacity,1))}.focus\:text-emerald-500:focus{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity,1))}.focus\:text-emerald-600:focus{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.focus\:text-emerald-700:focus{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity,1))}.focus\:text-emerald-800:focus{--tw-text-opacity:1;color:rgb(6 95 70/var(--tw-text-opacity,1))}.focus\:text-emerald-900:focus{--tw-text-opacity:1;color:rgb(6 78 59/var(--tw-text-opacity,1))}.focus\:text-gray-100:focus{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.focus\:text-gray-200:focus{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.focus\:text-gray-300:focus{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.focus\:text-gray-400:focus{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.focus\:text-gray-50:focus{--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity,1))}.focus\:text-gray-500:focus{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.focus\:text-gray-600:focus{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.focus\:text-gray-700:focus{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.focus\:text-gray-800:focus{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.focus\:text-gray-900:focus{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.focus\:text-green-100:focus{--tw-text-opacity:1;color:rgb(220 252 231/var(--tw-text-opacity,1))}.focus\:text-green-200:focus{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.focus\:text-green-300:focus{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.focus\:text-green-400:focus{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.focus\:text-green-50:focus{--tw-text-opacity:1;color:rgb(240 253 244/var(--tw-text-opacity,1))}.focus\:text-green-500:focus{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.focus\:text-green-600:focus{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.focus\:text-green-700:focus{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.focus\:text-green-800:focus{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.focus\:text-green-900:focus{--tw-text-opacity:1;color:rgb(20 83 45/var(--tw-text-opacity,1))}.focus\:text-indigo-100:focus{--tw-text-opacity:1;color:rgb(224 231 255/var(--tw-text-opacity,1))}.focus\:text-indigo-200:focus{--tw-text-opacity:1;color:rgb(199 210 254/var(--tw-text-opacity,1))}.focus\:text-indigo-300:focus{--tw-text-opacity:1;color:rgb(165 180 252/var(--tw-text-opacity,1))}.focus\:text-indigo-400:focus{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.focus\:text-indigo-50:focus{--tw-text-opacity:1;color:rgb(238 242 255/var(--tw-text-opacity,1))}.focus\:text-indigo-500:focus{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.focus\:text-indigo-600:focus{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.focus\:text-indigo-700:focus{--tw-text-opacity:1;color:rgb(67 56 202/var(--tw-text-opacity,1))}.focus\:text-indigo-800:focus{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity,1))}.focus\:text-indigo-900:focus{--tw-text-opacity:1;color:rgb(49 46 129/var(--tw-text-opacity,1))}.focus\:text-orange-100:focus{--tw-text-opacity:1;color:rgb(255 237 213/var(--tw-text-opacity,1))}.focus\:text-orange-200:focus{--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity,1))}.focus\:text-orange-300:focus{--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.focus\:text-orange-400:focus{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.focus\:text-orange-50:focus{--tw-text-opacity:1;color:rgb(255 247 237/var(--tw-text-opacity,1))}.focus\:text-orange-500:focus{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.focus\:text-orange-600:focus{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.focus\:text-orange-700:focus{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.focus\:text-orange-800:focus{--tw-text-opacity:1;color:rgb(154 52 18/var(--tw-text-opacity,1))}.focus\:text-orange-900:focus{--tw-text-opacity:1;color:rgb(124 45 18/var(--tw-text-opacity,1))}.focus\:text-pink-100:focus{--tw-text-opacity:1;color:rgb(252 231 243/var(--tw-text-opacity,1))}.focus\:text-pink-200:focus{--tw-text-opacity:1;color:rgb(251 207 232/var(--tw-text-opacity,1))}.focus\:text-pink-300:focus{--tw-text-opacity:1;color:rgb(249 168 212/var(--tw-text-opacity,1))}.focus\:text-pink-400:focus{--tw-text-opacity:1;color:rgb(244 114 182/var(--tw-text-opacity,1))}.focus\:text-pink-50:focus{--tw-text-opacity:1;color:rgb(253 242 248/var(--tw-text-opacity,1))}.focus\:text-pink-500:focus{--tw-text-opacity:1;color:rgb(236 72 153/var(--tw-text-opacity,1))}.focus\:text-pink-600:focus{--tw-text-opacity:1;color:rgb(219 39 119/var(--tw-text-opacity,1))}.focus\:text-pink-700:focus{--tw-text-opacity:1;color:rgb(190 24 93/var(--tw-text-opacity,1))}.focus\:text-pink-800:focus{--tw-text-opacity:1;color:rgb(157 23 77/var(--tw-text-opacity,1))}.focus\:text-pink-900:focus{--tw-text-opacity:1;color:rgb(131 24 67/var(--tw-text-opacity,1))}.focus\:text-purple-100:focus{--tw-text-opacity:1;color:rgb(243 232 255/var(--tw-text-opacity,1))}.focus\:text-purple-200:focus{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity,1))}.focus\:text-purple-300:focus{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.focus\:text-purple-400:focus{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.focus\:text-purple-50:focus{--tw-text-opacity:1;color:rgb(250 245 255/var(--tw-text-opacity,1))}.focus\:text-purple-500:focus{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.focus\:text-purple-600:focus{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.focus\:text-purple-700:focus{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity,1))}.focus\:text-purple-800:focus{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity,1))}.focus\:text-purple-900:focus{--tw-text-opacity:1;color:rgb(88 28 135/var(--tw-text-opacity,1))}.focus\:text-red-100:focus{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}.focus\:text-red-200:focus{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.focus\:text-red-300:focus{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.focus\:text-red-400:focus{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.focus\:text-red-50:focus{--tw-text-opacity:1;color:rgb(254 242 242/var(--tw-text-opacity,1))}.focus\:text-red-500:focus{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.focus\:text-red-600:focus{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.focus\:text-red-700:focus{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.focus\:text-red-800:focus{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.focus\:text-red-900:focus{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.focus\:text-rose-100:focus{--tw-text-opacity:1;color:rgb(255 228 230/var(--tw-text-opacity,1))}.focus\:text-rose-200:focus{--tw-text-opacity:1;color:rgb(254 205 211/var(--tw-text-opacity,1))}.focus\:text-rose-300:focus{--tw-text-opacity:1;color:rgb(253 164 175/var(--tw-text-opacity,1))}.focus\:text-rose-400:focus{--tw-text-opacity:1;color:rgb(251 113 133/var(--tw-text-opacity,1))}.focus\:text-rose-50:focus{--tw-text-opacity:1;color:rgb(255 241 242/var(--tw-text-opacity,1))}.focus\:text-rose-500:focus{--tw-text-opacity:1;color:rgb(244 63 94/var(--tw-text-opacity,1))}.focus\:text-rose-600:focus{--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity,1))}.focus\:text-rose-700:focus{--tw-text-opacity:1;color:rgb(190 18 60/var(--tw-text-opacity,1))}.focus\:text-rose-800:focus{--tw-text-opacity:1;color:rgb(159 18 57/var(--tw-text-opacity,1))}.focus\:text-rose-900:focus{--tw-text-opacity:1;color:rgb(136 19 55/var(--tw-text-opacity,1))}.focus\:text-slate-100:focus{--tw-text-opacity:1;color:rgb(241 245 249/var(--tw-text-opacity,1))}.focus\:text-slate-200:focus{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.focus\:text-slate-300:focus{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.focus\:text-slate-400:focus{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.focus\:text-slate-50:focus{--tw-text-opacity:1;color:rgb(248 250 252/var(--tw-text-opacity,1))}.focus\:text-slate-500:focus{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.focus\:text-slate-600:focus{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.focus\:text-slate-700:focus{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.focus\:text-slate-800:focus{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.focus\:text-slate-900:focus{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.focus\:text-teal-100:focus{--tw-text-opacity:1;color:rgb(204 251 241/var(--tw-text-opacity,1))}.focus\:text-teal-200:focus{--tw-text-opacity:1;color:rgb(153 246 228/var(--tw-text-opacity,1))}.focus\:text-teal-300:focus{--tw-text-opacity:1;color:rgb(94 234 212/var(--tw-text-opacity,1))}.focus\:text-teal-400:focus{--tw-text-opacity:1;color:rgb(45 212 191/var(--tw-text-opacity,1))}.focus\:text-teal-50:focus{--tw-text-opacity:1;color:rgb(240 253 250/var(--tw-text-opacity,1))}.focus\:text-teal-500:focus{--tw-text-opacity:1;color:rgb(20 184 166/var(--tw-text-opacity,1))}.focus\:text-teal-600:focus{--tw-text-opacity:1;color:rgb(13 148 136/var(--tw-text-opacity,1))}.focus\:text-teal-700:focus{--tw-text-opacity:1;color:rgb(15 118 110/var(--tw-text-opacity,1))}.focus\:text-teal-800:focus{--tw-text-opacity:1;color:rgb(17 94 89/var(--tw-text-opacity,1))}.focus\:text-teal-900:focus{--tw-text-opacity:1;color:rgb(19 78 74/var(--tw-text-opacity,1))}.focus\:text-violet-100:focus{--tw-text-opacity:1;color:rgb(237 233 254/var(--tw-text-opacity,1))}.focus\:text-violet-200:focus{--tw-text-opacity:1;color:rgb(221 214 254/var(--tw-text-opacity,1))}.focus\:text-violet-300:focus{--tw-text-opacity:1;color:rgb(196 181 253/var(--tw-text-opacity,1))}.focus\:text-violet-400:focus{--tw-text-opacity:1;color:rgb(167 139 250/var(--tw-text-opacity,1))}.focus\:text-violet-50:focus{--tw-text-opacity:1;color:rgb(245 243 255/var(--tw-text-opacity,1))}.focus\:text-violet-500:focus{--tw-text-opacity:1;color:rgb(139 92 246/var(--tw-text-opacity,1))}.focus\:text-violet-600:focus{--tw-text-opacity:1;color:rgb(124 58 237/var(--tw-text-opacity,1))}.focus\:text-violet-700:focus{--tw-text-opacity:1;color:rgb(109 40 217/var(--tw-text-opacity,1))}.focus\:text-violet-800:focus{--tw-text-opacity:1;color:rgb(91 33 182/var(--tw-text-opacity,1))}.focus\:text-violet-900:focus{--tw-text-opacity:1;color:rgb(76 29 149/var(--tw-text-opacity,1))}.focus\:text-yellow-100:focus{--tw-text-opacity:1;color:rgb(254 249 195/var(--tw-text-opacity,1))}.focus\:text-yellow-200:focus{--tw-text-opacity:1;color:rgb(254 240 138/var(--tw-text-opacity,1))}.focus\:text-yellow-300:focus{--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity,1))}.focus\:text-yellow-400:focus{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.focus\:text-yellow-50:focus{--tw-text-opacity:1;color:rgb(254 252 232/var(--tw-text-opacity,1))}.focus\:text-yellow-500:focus{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.focus\:text-yellow-600:focus{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity,1))}.focus\:text-yellow-700:focus{--tw-text-opacity:1;color:rgb(161 98 7/var(--tw-text-opacity,1))}.focus\:text-yellow-800:focus{--tw-text-opacity:1;color:rgb(133 77 14/var(--tw-text-opacity,1))}.focus\:text-yellow-900:focus{--tw-text-opacity:1;color:rgb(113 63 18/var(--tw-text-opacity,1))}.focus\:text-zinc-100:focus{--tw-text-opacity:1;color:rgb(244 244 245/var(--tw-text-opacity,1))}.focus\:text-zinc-200:focus{--tw-text-opacity:1;color:rgb(228 228 231/var(--tw-text-opacity,1))}.focus\:text-zinc-300:focus{--tw-text-opacity:1;color:rgb(212 212 216/var(--tw-text-opacity,1))}.focus\:text-zinc-400:focus{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.focus\:text-zinc-50:focus{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.focus\:text-zinc-500:focus{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.focus\:text-zinc-600:focus{--tw-text-opacity:1;color:rgb(82 82 91/var(--tw-text-opacity,1))}.focus\:text-zinc-700:focus{--tw-text-opacity:1;color:rgb(63 63 70/var(--tw-text-opacity,1))}.focus\:text-zinc-800:focus{--tw-text-opacity:1;color:rgb(39 39 42/var(--tw-text-opacity,1))}.focus\:text-zinc-900:focus{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}.focus\:placeholder-gray-400:focus::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}.focus\:placeholder-gray-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-1:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-amber-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(254 243 199/var(--tw-ring-opacity,1))}.focus\:ring-amber-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(253 230 138/var(--tw-ring-opacity,1))}.focus\:ring-amber-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(252 211 77/var(--tw-ring-opacity,1))}.focus\:ring-amber-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(251 191 36/var(--tw-ring-opacity,1))}.focus\:ring-amber-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 251 235/var(--tw-ring-opacity,1))}.focus\:ring-amber-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(245 158 11/var(--tw-ring-opacity,1))}.focus\:ring-amber-500\/20:focus{--tw-ring-color:rgba(245,158,11,.2)}.focus\:ring-amber-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(217 119 6/var(--tw-ring-opacity,1))}.focus\:ring-amber-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(180 83 9/var(--tw-ring-opacity,1))}.focus\:ring-amber-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(146 64 14/var(--tw-ring-opacity,1))}.focus\:ring-amber-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(120 53 15/var(--tw-ring-opacity,1))}.focus\:ring-blue-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(219 234 254/var(--tw-ring-opacity,1))}.focus\:ring-blue-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(191 219 254/var(--tw-ring-opacity,1))}.focus\:ring-blue-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(147 197 253/var(--tw-ring-opacity,1))}.focus\:ring-blue-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(96 165 250/var(--tw-ring-opacity,1))}.focus\:ring-blue-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(239 246 255/var(--tw-ring-opacity,1))}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.focus\:ring-blue-500\/20:focus{--tw-ring-color:rgba(59,130,246,.2)}.focus\:ring-blue-500\/30:focus{--tw-ring-color:rgba(59,130,246,.3)}.focus\:ring-blue-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(37 99 235/var(--tw-ring-opacity,1))}.focus\:ring-blue-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(29 78 216/var(--tw-ring-opacity,1))}.focus\:ring-blue-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(30 64 175/var(--tw-ring-opacity,1))}.focus\:ring-blue-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(30 58 138/var(--tw-ring-opacity,1))}.focus\:ring-brand-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(217 234 255/var(--tw-ring-opacity,1))}.focus\:ring-brand-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(185 216 255/var(--tw-ring-opacity,1))}.focus\:ring-brand-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(144 192 255/var(--tw-ring-opacity,1))}.focus\:ring-brand-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(93 160 255/var(--tw-ring-opacity,1))}.focus\:ring-brand-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(238 246 255/var(--tw-ring-opacity,1))}.focus\:ring-brand-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(47 127 255/var(--tw-ring-opacity,1))}.focus\:ring-brand-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(31 105 229/var(--tw-ring-opacity,1))}.focus\:ring-brand-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(28 87 191/var(--tw-ring-opacity,1))}.focus\:ring-brand-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(26 73 155/var(--tw-ring-opacity,1))}.focus\:ring-brand-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(23 63 130/var(--tw-ring-opacity,1))}.focus\:ring-emerald-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(209 250 229/var(--tw-ring-opacity,1))}.focus\:ring-emerald-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(167 243 208/var(--tw-ring-opacity,1))}.focus\:ring-emerald-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(110 231 183/var(--tw-ring-opacity,1))}.focus\:ring-emerald-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(52 211 153/var(--tw-ring-opacity,1))}.focus\:ring-emerald-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(236 253 245/var(--tw-ring-opacity,1))}.focus\:ring-emerald-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(16 185 129/var(--tw-ring-opacity,1))}.focus\:ring-emerald-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(5 150 105/var(--tw-ring-opacity,1))}.focus\:ring-emerald-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(4 120 87/var(--tw-ring-opacity,1))}.focus\:ring-emerald-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(6 95 70/var(--tw-ring-opacity,1))}.focus\:ring-emerald-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(6 78 59/var(--tw-ring-opacity,1))}.focus\:ring-gray-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(243 244 246/var(--tw-ring-opacity,1))}.focus\:ring-gray-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity,1))}.focus\:ring-gray-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity,1))}.focus\:ring-gray-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(156 163 175/var(--tw-ring-opacity,1))}.focus\:ring-gray-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(249 250 251/var(--tw-ring-opacity,1))}.focus\:ring-gray-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(107 114 128/var(--tw-ring-opacity,1))}.focus\:ring-gray-500\/20:focus{--tw-ring-color:hsla(220,9%,46%,.2)}.focus\:ring-gray-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(75 85 99/var(--tw-ring-opacity,1))}.focus\:ring-gray-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(55 65 81/var(--tw-ring-opacity,1))}.focus\:ring-gray-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(31 41 55/var(--tw-ring-opacity,1))}.focus\:ring-gray-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(17 24 39/var(--tw-ring-opacity,1))}.focus\:ring-green-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(220 252 231/var(--tw-ring-opacity,1))}.focus\:ring-green-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(187 247 208/var(--tw-ring-opacity,1))}.focus\:ring-green-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(134 239 172/var(--tw-ring-opacity,1))}.focus\:ring-green-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(74 222 128/var(--tw-ring-opacity,1))}.focus\:ring-green-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(240 253 244/var(--tw-ring-opacity,1))}.focus\:ring-green-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(34 197 94/var(--tw-ring-opacity,1))}.focus\:ring-green-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(22 163 74/var(--tw-ring-opacity,1))}.focus\:ring-green-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(21 128 61/var(--tw-ring-opacity,1))}.focus\:ring-green-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(22 101 52/var(--tw-ring-opacity,1))}.focus\:ring-green-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(20 83 45/var(--tw-ring-opacity,1))}.focus\:ring-indigo-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(224 231 255/var(--tw-ring-opacity,1))}.focus\:ring-indigo-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(199 210 254/var(--tw-ring-opacity,1))}.focus\:ring-indigo-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(165 180 252/var(--tw-ring-opacity,1))}.focus\:ring-indigo-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(129 140 248/var(--tw-ring-opacity,1))}.focus\:ring-indigo-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(238 242 255/var(--tw-ring-opacity,1))}.focus\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity,1))}.focus\:ring-indigo-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(79 70 229/var(--tw-ring-opacity,1))}.focus\:ring-indigo-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(67 56 202/var(--tw-ring-opacity,1))}.focus\:ring-indigo-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(55 48 163/var(--tw-ring-opacity,1))}.focus\:ring-indigo-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(49 46 129/var(--tw-ring-opacity,1))}.focus\:ring-orange-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 237 213/var(--tw-ring-opacity,1))}.focus\:ring-orange-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(254 215 170/var(--tw-ring-opacity,1))}.focus\:ring-orange-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(253 186 116/var(--tw-ring-opacity,1))}.focus\:ring-orange-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(251 146 60/var(--tw-ring-opacity,1))}.focus\:ring-orange-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 247 237/var(--tw-ring-opacity,1))}.focus\:ring-orange-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(249 115 22/var(--tw-ring-opacity,1))}.focus\:ring-orange-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(234 88 12/var(--tw-ring-opacity,1))}.focus\:ring-orange-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(194 65 12/var(--tw-ring-opacity,1))}.focus\:ring-orange-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(154 52 18/var(--tw-ring-opacity,1))}.focus\:ring-orange-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(124 45 18/var(--tw-ring-opacity,1))}.focus\:ring-pink-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(252 231 243/var(--tw-ring-opacity,1))}.focus\:ring-pink-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(251 207 232/var(--tw-ring-opacity,1))}.focus\:ring-pink-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(249 168 212/var(--tw-ring-opacity,1))}.focus\:ring-pink-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(244 114 182/var(--tw-ring-opacity,1))}.focus\:ring-pink-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(253 242 248/var(--tw-ring-opacity,1))}.focus\:ring-pink-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(236 72 153/var(--tw-ring-opacity,1))}.focus\:ring-pink-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(219 39 119/var(--tw-ring-opacity,1))}.focus\:ring-pink-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(190 24 93/var(--tw-ring-opacity,1))}.focus\:ring-pink-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(157 23 77/var(--tw-ring-opacity,1))}.focus\:ring-pink-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(131 24 67/var(--tw-ring-opacity,1))}.focus\:ring-purple-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(243 232 255/var(--tw-ring-opacity,1))}.focus\:ring-purple-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(233 213 255/var(--tw-ring-opacity,1))}.focus\:ring-purple-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(216 180 254/var(--tw-ring-opacity,1))}.focus\:ring-purple-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(192 132 252/var(--tw-ring-opacity,1))}.focus\:ring-purple-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(250 245 255/var(--tw-ring-opacity,1))}.focus\:ring-purple-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(168 85 247/var(--tw-ring-opacity,1))}.focus\:ring-purple-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(147 51 234/var(--tw-ring-opacity,1))}.focus\:ring-purple-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(126 34 206/var(--tw-ring-opacity,1))}.focus\:ring-purple-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(107 33 168/var(--tw-ring-opacity,1))}.focus\:ring-purple-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(88 28 135/var(--tw-ring-opacity,1))}.focus\:ring-red-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(254 226 226/var(--tw-ring-opacity,1))}.focus\:ring-red-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(254 202 202/var(--tw-ring-opacity,1))}.focus\:ring-red-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(252 165 165/var(--tw-ring-opacity,1))}.focus\:ring-red-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(248 113 113/var(--tw-ring-opacity,1))}.focus\:ring-red-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(254 242 242/var(--tw-ring-opacity,1))}.focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity,1))}.focus\:ring-red-500\/20:focus{--tw-ring-color:rgba(239,68,68,.2)}.focus\:ring-red-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(220 38 38/var(--tw-ring-opacity,1))}.focus\:ring-red-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(185 28 28/var(--tw-ring-opacity,1))}.focus\:ring-red-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(153 27 27/var(--tw-ring-opacity,1))}.focus\:ring-red-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(127 29 29/var(--tw-ring-opacity,1))}.focus\:ring-rose-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 228 230/var(--tw-ring-opacity,1))}.focus\:ring-rose-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(254 205 211/var(--tw-ring-opacity,1))}.focus\:ring-rose-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(253 164 175/var(--tw-ring-opacity,1))}.focus\:ring-rose-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(251 113 133/var(--tw-ring-opacity,1))}.focus\:ring-rose-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 241 242/var(--tw-ring-opacity,1))}.focus\:ring-rose-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(244 63 94/var(--tw-ring-opacity,1))}.focus\:ring-rose-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(225 29 72/var(--tw-ring-opacity,1))}.focus\:ring-rose-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(190 18 60/var(--tw-ring-opacity,1))}.focus\:ring-rose-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(159 18 57/var(--tw-ring-opacity,1))}.focus\:ring-rose-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(136 19 55/var(--tw-ring-opacity,1))}.focus\:ring-slate-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(241 245 249/var(--tw-ring-opacity,1))}.focus\:ring-slate-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(226 232 240/var(--tw-ring-opacity,1))}.focus\:ring-slate-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(203 213 225/var(--tw-ring-opacity,1))}.focus\:ring-slate-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(148 163 184/var(--tw-ring-opacity,1))}.focus\:ring-slate-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(248 250 252/var(--tw-ring-opacity,1))}.focus\:ring-slate-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(100 116 139/var(--tw-ring-opacity,1))}.focus\:ring-slate-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(71 85 105/var(--tw-ring-opacity,1))}.focus\:ring-slate-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(51 65 85/var(--tw-ring-opacity,1))}.focus\:ring-slate-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(30 41 59/var(--tw-ring-opacity,1))}.focus\:ring-slate-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(15 23 42/var(--tw-ring-opacity,1))}.focus\:ring-teal-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(204 251 241/var(--tw-ring-opacity,1))}.focus\:ring-teal-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(153 246 228/var(--tw-ring-opacity,1))}.focus\:ring-teal-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(94 234 212/var(--tw-ring-opacity,1))}.focus\:ring-teal-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(45 212 191/var(--tw-ring-opacity,1))}.focus\:ring-teal-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(240 253 250/var(--tw-ring-opacity,1))}.focus\:ring-teal-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(20 184 166/var(--tw-ring-opacity,1))}.focus\:ring-teal-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(13 148 136/var(--tw-ring-opacity,1))}.focus\:ring-teal-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(15 118 110/var(--tw-ring-opacity,1))}.focus\:ring-teal-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(17 94 89/var(--tw-ring-opacity,1))}.focus\:ring-teal-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(19 78 74/var(--tw-ring-opacity,1))}.focus\:ring-violet-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(237 233 254/var(--tw-ring-opacity,1))}.focus\:ring-violet-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(221 214 254/var(--tw-ring-opacity,1))}.focus\:ring-violet-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(196 181 253/var(--tw-ring-opacity,1))}.focus\:ring-violet-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(167 139 250/var(--tw-ring-opacity,1))}.focus\:ring-violet-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(245 243 255/var(--tw-ring-opacity,1))}.focus\:ring-violet-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(139 92 246/var(--tw-ring-opacity,1))}.focus\:ring-violet-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(124 58 237/var(--tw-ring-opacity,1))}.focus\:ring-violet-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(109 40 217/var(--tw-ring-opacity,1))}.focus\:ring-violet-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(91 33 182/var(--tw-ring-opacity,1))}.focus\:ring-violet-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(76 29 149/var(--tw-ring-opacity,1))}.focus\:ring-yellow-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(254 249 195/var(--tw-ring-opacity,1))}.focus\:ring-yellow-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(254 240 138/var(--tw-ring-opacity,1))}.focus\:ring-yellow-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(253 224 71/var(--tw-ring-opacity,1))}.focus\:ring-yellow-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(250 204 21/var(--tw-ring-opacity,1))}.focus\:ring-yellow-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(254 252 232/var(--tw-ring-opacity,1))}.focus\:ring-yellow-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(234 179 8/var(--tw-ring-opacity,1))}.focus\:ring-yellow-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(202 138 4/var(--tw-ring-opacity,1))}.focus\:ring-yellow-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(161 98 7/var(--tw-ring-opacity,1))}.focus\:ring-yellow-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(133 77 14/var(--tw-ring-opacity,1))}.focus\:ring-yellow-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(113 63 18/var(--tw-ring-opacity,1))}.focus\:ring-zinc-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(244 244 245/var(--tw-ring-opacity,1))}.focus\:ring-zinc-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(228 228 231/var(--tw-ring-opacity,1))}.focus\:ring-zinc-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(212 212 216/var(--tw-ring-opacity,1))}.focus\:ring-zinc-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(161 161 170/var(--tw-ring-opacity,1))}.focus\:ring-zinc-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(250 250 250/var(--tw-ring-opacity,1))}.focus\:ring-zinc-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(113 113 122/var(--tw-ring-opacity,1))}.focus\:ring-zinc-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(82 82 91/var(--tw-ring-opacity,1))}.focus\:ring-zinc-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(63 63 70/var(--tw-ring-opacity,1))}.focus\:ring-zinc-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(39 39 42/var(--tw-ring-opacity,1))}.focus\:ring-zinc-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(24 24 27/var(--tw-ring-opacity,1))}.focus\:ring-offset-1:focus{--tw-ring-offset-width:1px}.active\:scale-95:active{--tw-scale-x:.95;--tw-scale-y:.95}.active\:scale-95:active,.active\:scale-\[0\.98\]:active{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-\[0\.98\]:active{--tw-scale-x:0.98;--tw-scale-y:0.98}.active\:bg-emerald-100:active{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}.active\:bg-slate-100:active{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.active\:bg-slate-200:active{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.active\:opacity-70:active{opacity:.7}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.group[open] .group-open\:rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:visible{visibility:visible}.group:hover .group-hover\:scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:border-gray-500\/50{border-color:hsla(220,9%,46%,.5)}.group:hover .group-hover\:bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.group:hover .group-hover\:text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.group:hover .group-hover\:opacity-100{opacity:1}@media not all and (min-width:1024px){.max-lg\:-translate-x-full{--tw-translate-x:-100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}}@media (min-width:640px){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:mx-0{margin-left:0;margin-right:0}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:hidden{display:none}.sm\:max-h-\[90vh\]{max-height:90vh}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:p-4{padding:1rem}.sm\:p-6{padding:1.5rem}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-6{padding-bottom:1.5rem;padding-top:1.5rem}.sm\:pt-16{padding-top:4rem}.sm\:text-\[9px\]{font-size:9px}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:col-span-2{grid-column:span 2/span 2}.md\:block{display:block}.md\:inline{display:inline}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}.md\:p-6{padding:1.5rem}}@media (min-width:1024px){.lg\:col-span-1{grid-column:span 1/span 1}.lg\:ml-\[220px\]{margin-left:220px}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:w-2\/5{width:40%}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[1\.2fr_1fr\]{grid-template-columns:1.2fr 1fr}.lg\:grid-cols-\[1\.4fr_1fr\]{grid-template-columns:1.4fr 1fr}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-between{justify-content:space-between}.lg\:border-l{border-left-width:1px}.lg\:border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:pl-4{padding-left:1rem}.lg\:pt-14{padding-top:3.5rem}}@media (min-width:1280px){.xl\:w-1\/3{width:33.333333%}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:px-12{padding-left:3rem;padding-right:3rem}}@media (min-width:1536px){.\32xl\:px-16{padding-left:4rem;padding-right:4rem}}
/* ==== /css/mobile-overrides.css ==== */
/* ============================================================
   mobile-overrides.css — Acordly Mobile PWA Responsive Styles
   ============================================================ */

/* Mobile header — hidden on desktop (Tailwind md:hidden handles it too) */
.mobile-header-bar {
  display: none;
}

/* ============================================================
   Mobile breakpoint: max-width 768px
   ============================================================ */
@media (max-width: 768px) {

  /* --- Hide desktop sidebar --- */
  aside.desktop-sidebar {
    display: none !important;
  }

  /* --- Remove left margin that desktop sidebar creates --- */
  main.flex-1 {
    margin-left: 0 !important;
  }

  /* --- Respiro no fim do conteúdo (a barra inferior saiu em 24/09/2026) --- */
  main.flex-1,
  .view.active {
    padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px)) !important;
  }

  /* --- Mobile header bar --- */
  .mobile-header-bar {
    display: flex;
    position: sticky;
    top: 0;
    z-index: 9998;
    background: #ffffff;
    border-bottom: 1px solid #e5e7eb;
    padding: 10px 16px;
    align-items: center;
    gap: 12px;
    min-height: 52px;
  }

  .mobile-header-bar .mobile-header-title {
    font-size: 1.125rem;
    font-weight: 600;
    color: #111827;
    flex: 1;
  }

  .mobile-header-bar button {
    background: none;
    border: none;
    padding: 8px;
    border-radius: 8px;
    color: #374151;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }

  .mobile-header-bar button:active {
    background: #f3f4f6;
  }

  /* --- Modais: ver css/mobile-modais.css ---
     Havia aqui uma regra `[id*="modal"] > div:first-child` que forçava
     width:100%, border-radius:0 e max-height:100vh em QUALQUER elemento com
     "modal" no id. Ela quadrava os modais legados enquanto os novos ficavam
     redondos, e o 100vh escondia o rodapé atrás da barra do Safari no iOS.
     O padrão de modal no celular agora é um arquivo só: css/mobile-modais.css
     (folha de baixo, 100dvh, safe-area). Removido em 19/09/2026. */

  /* --- Touch-friendly tap targets --- */
  button,
  a,
  select {
    min-height: 44px;
  }

  /* caixa de marcar/opção fora (24/09/2026): com min-height 44 elas viravam
     blocos altos e vazios; a área de toque vem do <label> que as envolve */
  input:not([type="checkbox"]):not([type="radio"]),
  textarea {
    min-height: 44px;
    font-size: 16px; /* Prevents iOS zoom on focus */
  }

  /* --- Tables: wrapper horizontal scroll (mantém estrutura) --- */
  /* Envolvemos as tabelas num wrapper virtual via overflow no parent */
  table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
    max-width: 100%;
  }
  table thead, table tbody, table tr {
    display: table;
    width: 100%;
    table-layout: auto;
  }
  /* Colunas mais compactas */
  table th, table td {
    padding: 8px 10px !important;
    font-size: 12px !important;
  }

  /* --- Grids: estratégia inteligente ---
     KPIs pequenos (5/4/3 cards) → 2 colunas (mais denso que 1)
     Grids gerais de cards/forms  → 1 coluna
  */
  /* KPIs / stats cards do dashboard: 2 cols em mobile (melhor densidade) */
  [class*="grid-cols-5"],
  [class*="grid-cols-4"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  [class*="grid-cols-3"],
  [class*="grid-cols-2"] {
    grid-template-columns: 1fr !important;
  }
  /* Exceção: stats pequenos que já usam 2 cols no mobile continuam */
  [class*="sm:grid-cols-2"][class*="md:grid-cols-4"],
  [class*="grid-cols-2"][class*="md:grid-cols-4"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  /* --- Reduce padding on mobile --- */
  .view.active {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  /* --- Cards com padding reduzido --- */
  [class*="rounded-2xl"],
  [class*="rounded-3xl"] {
    padding-left: 12px;
    padding-right: 12px;
  }
  .p-6 { padding: 14px !important; }
  .p-5 { padding: 12px !important; }
  .p-4 { padding: 12px !important; }
  .px-6 { padding-left: 12px !important; padding-right: 12px !important; }
  .py-6 { padding-top: 12px !important; padding-bottom: 12px !important; }

  /* --- Textos KPI menores para caber --- */
  .text-3xl { font-size: 1.5rem !important; line-height: 1.75rem !important; }
  .text-2xl { font-size: 1.25rem !important; line-height: 1.5rem !important; }

  /* --- Filtros em barras: empilha quando necessário --- */
  #advanced-filters-row,
  [id*="filters-row"] {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  #advanced-filters-row > *,
  [id*="filters-row"] > * {
    width: 100% !important;
    max-width: none !important;
  }

  /* Linhas de filtros com muitos selects: quebra em 2 colunas */
  .flex.flex-wrap select,
  .flex.flex-wrap input[type="text"],
  .flex.flex-wrap input[type="search"],
  .flex.flex-wrap input[type="date"] {
    flex: 1 1 calc(50% - 6px) !important;
    min-width: 0 !important;
  }

  /* Inputs de busca em toolbars ocupam linha inteira */
  input[placeholder*="uscar"],
  input[placeholder*="esquisar"] {
    flex: 1 1 100% !important;
    width: 100% !important;
  }

  /* --- Gráficos Chart.js: altura reduzida no mobile --- */
  canvas {
    max-height: 260px !important;
  }
  [class*="h-96"] canvas,
  [class*="h-80"] canvas {
    max-height: 240px !important;
  }

  /* --- Calendários grid-cols-7 --- */
  .grid-cols-7 {
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    gap: 2px !important;
    font-size: 11px !important;
  }
  .grid-cols-7 > * {
    padding: 4px 2px !important;
    min-height: 36px !important;
  }

  /* --- Kanban: colunas empilham no mobile --- */
  [class*="kanban"] [class*="grid"],
  .kanban-board {
    grid-template-columns: 1fr !important;
  }
  .kanban-column,
  [data-column] {
    min-width: 0 !important;
    width: 100% !important;
  }

  /* --- Modais: padding interno menor ---
     O `padding:14px` genérico desenhava uma moldura branca em volta do
     cabeçalho preto do modal de Acordo (no desktop ele vai de ponta a ponta) e
     duplicava o respiro de todo modal que já tinha head/body/foot com padding
     próprio. Quem cuida disso agora é css/mobile-modais.css. */
  .modal-content form .grid,
  [id*="modal"] form .grid {
    gap: 10px !important;
  }

  /* --- Botões de ação: mínimo 40px sem esticar demais --- */
  .btn, button.inline-flex, button[class*="rounded"] {
    min-height: 40px;
  }

  /* --- Sidebar DJE: drawer completo (já tem classes max-lg) --- */
  #dje-painel-esq {
    width: 85vw !important;
    max-width: 320px !important;
  }

  /* --- Global search bar: full width on mobile --- */
  #global-search-container {
    left: 0 !important;
    position: relative !important;
  }

  /* --- Fix the existing mobile header from index.html --- */
  main.flex-1 {
    padding-top: 0 !important;
  }

  /* --- FAB adjustment for bottom nav --- */
  .fab-container,
  [class*="fab"] {
    bottom: 80px !important;
  }

  /* --- Smooth scrolling for mobile --- */
  html {
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
  }

  /* --- Prevent horizontal overflow --- */
  body {
    overflow-x: hidden;
  }
}

/* ============================================================
   Small phones (max-width: 480px)
   ============================================================ */
@media (max-width: 480px) {
  /* KPIs 5/4 cards ficam com 2 cols mas com textos menores */
  [class*="grid-cols-5"],
  [class*="grid-cols-4"] {
    gap: 8px !important;
  }
  [class*="grid-cols-5"] > *,
  [class*="grid-cols-4"] > * {
    padding: 10px !important;
  }

  /* Headers gradientes ocupam menos espaço */
  .bg-gradient-to-r,
  .bg-gradient-to-br {
    padding: 14px !important;
  }

  /* Tab bars internas (abas dentro de financeiro, etc) viram scroll horizontal */
  .flex.gap-2.overflow-x-auto,
  nav.flex {
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  nav.flex::-webkit-scrollbar {
    display: none;
  }
}

/* ============================================================
   Very small phones (max-width: 380px)
   ============================================================ */
@media (max-width: 380px) {
  /* KPIs viram 1 coluna em telas muito pequenas */
  [class*="grid-cols-5"],
  [class*="grid-cols-4"] {
    grid-template-columns: 1fr !important;
  }

  /* Textos de card ainda menores */
  .text-3xl { font-size: 1.25rem !important; }
  .text-2xl { font-size: 1.125rem !important; }
  .text-xl { font-size: 1rem !important; }
}


/* ==== /modules/tasks/tasks-dragdrop.css ==== */
/*
 * DRAG & DROP CSS - Apple-level Quality
 * Obsessively crafted for perfect visual feedback
 */

/* Dragging states */
.is-dragging {
  opacity: 0.6 !important;
  transform: rotate(2deg) !important;
  transition: all 0.2s ease !important;
  z-index: 1000;
  cursor: grabbing !important;
}

/* Drop zones */
.kanban-column {
  transition: all 0.2s ease;
  cursor: pointer;
}

.kanban-column.drop-active {
  box-shadow: inset 0 0 0 2px rgba(59, 130, 246, 0.3);
  background-color: rgba(59, 130, 246, 0.05);
  transform: translateY(-2px);
}

.kanban-column.drag-over {
  box-shadow: inset 0 0 0 3px rgba(34, 197, 94, 0.4) !important;
  background-color: rgba(34, 197, 94, 0.1) !important;
  transform: scale(1.02) !important;
}

/* Task items in Kanban */
.kanban-column li[data-task-id] {
  cursor: grab;
  transition: all 0.2s ease;
}

.kanban-column li[data-task-id]:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}

/* Pulse animation for successful drops */
@keyframes pulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.05); }
  100% { transform: scale(1); }
}

/* Drag ghost image improvements */
.kanban-column li[data-task-id].is-dragging {
  opacity: 0.6;
  transform: rotate(2deg);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
}

/* Drop zone indicators */
.drop-zone-indicator {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border: 2px dashed rgba(34, 197, 94, 0.6);
  border-radius: 24px;
  background: rgba(34, 197, 94, 0.05);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s ease;
}

.kanban-column.drag-over .drop-zone-indicator {
  opacity: 1;
}

/* Accessibility improvements */
.kanban-column[aria-dropeffect="move"] {
  outline: 3px solid rgba(59, 130, 246, 0.3);
  outline-offset: 2px;
}

/* Touch device optimizations */
@media (hover: none) and (pointer: coarse) {
  .kanban-column li[data-task-id] {
    cursor: default;
  }

  .is-dragging {
    transform: scale(1.1) rotate(0deg) !important;
  }

  .kanban-column.drop-active {
    transform: translateY(0) !important;
    box-shadow: inset 0 0 0 4px rgba(59, 130, 246, 0.5);
  }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
  .kanban-column.drop-active {
    box-shadow: inset 0 0 0 3px #0066FF;
    background-color: rgba(0, 102, 255, 0.1);
  }

  .kanban-column.drag-over {
    box-shadow: inset 0 0 0 4px #00AA00 !important;
    background-color: rgba(0, 170, 0, 0.15) !important;
  }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
  .kanban-column,
  .kanban-column li[data-task-id],
  .is-dragging {
    transition: none !important;
    animation: none !important;
    transform: none !important;
  }

  .kanban-column.drop-active {
    transform: none !important;
  }

  .kanban-column.drag-over {
    transform: none !important;
  }
}

/* Dark mode support (if applicable) */
/* (24/09/2026) bloco de modo escuro removido: o Acordly não tem tema escuro e,
   num celular em modo escuro, isto pintava campos do app inteiro de cinza. */

/* Focus states for keyboard navigation */
.kanban-column:focus-visible {
  outline: 3px solid rgba(59, 130, 246, 0.5);
  outline-offset: 2px;
}

.kanban-column li[data-task-id]:focus-visible {
  outline: 2px solid rgba(59, 130, 246, 0.5);
  outline-offset: 2px;
  border-radius: 16px;
}
/* ==== /modules/tasks/tasks-accessibility.css ==== */
/*
 * ACCESSIBILITY CSS - APPLE-LEVEL STANDARDS
 * Full WCAG 2.1 AA compliance with Apple HIG guidelines
 */

/* Screen reader only content */
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Screen reader only when not focused */
.sr-only-focusable:focus {
  position: static !important;
  width: auto !important;
  height: auto !important;
  padding: inherit !important;
  margin: inherit !important;
  overflow: visible !important;
  clip: auto !important;
  white-space: normal !important;
}

/* Skip links */
.skip-link {
  position: absolute;
  top: -40px;
  left: 6px;
  background: #000;
  color: #fff;
  padding: 8px 16px;
  text-decoration: none;
  border-radius: 8px;
  z-index: 10000;
  transition: top 0.3s ease;
  font-weight: 600;
  font-size: 14px;
}

.skip-link:focus {
  top: 6px !important;
  outline: 3px solid #0066ff;
  outline-offset: 2px;
}

/* Foco (24/09/2026): antes era um anel AZUL de 3px com !important em todo
   button/input/a do APP INTEIRO, a cada toque, e ainda mudava o arredondamento
   do elemento focado. Agora é o padrão do Acordly: anel de tinta, só quando o
   foco vem do teclado (:focus-visible), e só nos itens do quadro de tarefas —
   campos e botões têm o foco deles na casca (padrao-modais.css). */
[data-task-id]:focus-visible,
.kanban-column:focus-visible {
  outline: 2px solid #0A0B0D;
  outline-offset: 2px;
}

/* Keyboard navigation focus */
.keyboard-focused {
  background: rgba(0, 102, 255, 0.1) !important;
  border: 2px solid rgba(0, 102, 255, 0.4) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px rgba(0, 102, 255, 0.2) !important;
  transition: all 0.2s ease !important;
}

/* High contrast mode support */
@media (prefers-contrast: high) {
  [data-task-id]:focus-visible,
  .kanban-column:focus-visible {
    outline: 4px solid #000 !important;
    outline-offset: 2px !important;
    background: #fff !important;
    color: #000 !important;
  }

  .keyboard-focused {
    background: #fff !important;
    border: 3px solid #000 !important;
    color: #000 !important;
  }

  .skip-link {
    background: #fff !important;
    color: #000 !important;
    border: 2px solid #000 !important;
  }
}

/* Enhanced focus for dark mode */
/* (24/09/2026) bloco de modo escuro removido: o Acordly não tem tema escuro e,
   num celular em modo escuro, isto pintava campos do app inteiro de cinza. */

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
  .keyboard-focused,
  .skip-link,
  [data-task-id]:focus,
  .kanban-column:focus {
    transition: none !important;
    animation: none !important;
    transform: none !important;
  }
}

/* Focus indicators for task items */
[data-task-id][role="option"] {
  position: relative;
  cursor: pointer;
}

[data-task-id][aria-selected="true"] {
  background: rgba(0, 102, 255, 0.08) !important;
  border-left: 4px solid #0066ff !important;
}

/* (24/09/2026) "button:focus" que levantava 1px com sombra AZUL saiu: valia
   para todo botão do app e fazia o botão "saltar" a cada toque. */

/* Form validation errors */
.error-message {
  color: #dc2626;
  font-size: 14px;
  margin-top: 4px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.error-message::before {
  content: "⚠️";
  flex-shrink: 0;
}

input[aria-invalid="true"],
textarea[aria-invalid="true"],
select[aria-invalid="true"] {
  border-color: #dc2626 !important;
  box-shadow: 0 0 0 1px rgba(220, 38, 38, 0.3) !important;
}

/* Loading states accessibility */
[aria-busy="true"] {
  position: relative;
  pointer-events: none;
  opacity: 0.7;
}

[aria-busy="true"]::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 20px;
  margin: -10px 0 0 -10px;
  border: 2px solid #e5e7eb;
  border-top: 2px solid #0066ff;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* Touch target sizes (minimum 44px) */
@media (hover: none) and (pointer: coarse) {
  button,
  [role="button"],
  a,
  input[type="checkbox"],
  input[type="radio"],
  [data-task-id] {
    min-height: 44px !important;
    min-width: 44px !important;
    padding: 12px !important;
  }

  /* Larger focus indicators for touch */
  [data-task-id]:focus,
  button:focus {
    outline-width: 4px !important;
    outline-offset: 3px !important;
  }
}

/* Live region styling */
[aria-live] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Status indicators */
[aria-expanded="true"]::after {
  content: " (expandido)";
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

[aria-expanded="false"]::after {
  content: " (recolhido)";
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* Landmark regions */
[role="main"],
[role="navigation"],
[role="complementary"],
[role="banner"],
[role="contentinfo"] {
  position: relative;
}

/* Focus trap styling */
.focus-trap {
  position: relative;
}

.focus-trap::before,
.focus-trap::after {
  content: "";
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

/* Modal accessibility */
.modal[aria-modal="true"] {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1000;
  background: rgba(0, 0, 0, 0.5);
}

/* Ensure visible focus on modal close button */
.modal [data-action="close-modal"]:focus {
  outline: 3px solid #fff !important;
  outline-offset: 2px !important;
  background: rgba(255, 255, 255, 0.2) !important;
}

/* Keyboard shortcuts indicator */
.keyboard-shortcuts {
  position: fixed;
  bottom: 20px;
  right: 20px;
  background: rgba(0, 0, 0, 0.9);
  color: #fff;
  padding: 16px;
  border-radius: 12px;
  font-size: 14px;
  z-index: 9999;
  max-width: 300px;
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.3s ease;
  pointer-events: none;
}

.keyboard-shortcuts.visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.keyboard-shortcuts h4 {
  margin: 0 0 12px 0;
  font-size: 16px;
  font-weight: 600;
}

.keyboard-shortcuts ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.keyboard-shortcuts li {
  display: flex;
  justify-content: space-between;
  margin-bottom: 8px;
  font-size: 13px;
}

.keyboard-shortcuts kbd {
  background: rgba(255, 255, 255, 0.2);
  padding: 2px 6px;
  border-radius: 4px;
  font-family: monospace;
  font-size: 12px;
}

/* Windows High Contrast Mode */
@media (-ms-high-contrast: active) {
  [data-task-id]:focus,
  .kanban-column:focus,
  button:focus {
    outline: 3px solid WindowText !important;
    outline-offset: 2px !important;
  }

  .keyboard-focused {
    background: Highlight !important;
    color: HighlightText !important;
    border: 2px solid WindowText !important;
  }
}

/* Print accessibility */
@media print {
  .skip-link,
  .keyboard-shortcuts,
  [aria-live] {
    display: none !important;
  }

  [data-task-id] {
    break-inside: avoid;
    margin-bottom: 1em;
  }
}
/* ==== /modules/tasks/tasks-loading.css ==== */
/*
 * LOADING STATES CSS - APPLE-LEVEL ANIMATIONS
 * Superior visual feedback with accessibility support
 */

/* Base loading animations */
@keyframes fadeInLoading {
  from {
    opacity: 0;
    transform: translateY(10px) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

@keyframes skeleton-wave {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

@keyframes pulse {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.6;
    transform: scale(1.1);
  }
}

@keyframes dots-bounce {
  0%, 80%, 100% {
    transform: scale(0.8);
    opacity: 0.6;
  }
  40% {
    transform: scale(1.2);
    opacity: 1;
  }
}

@keyframes logoFloat {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}

/* Loading element base styles */
.loading-element {
  user-select: none;
  pointer-events: none;
  transition: all 0.3s ease;
}

/* Loading overlay styles */
.loading-overlay {
  border-radius: inherit;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  transition: all 0.3s ease;
}

.loading-overlay-content {
  z-index: 1001;
}

/* Global loader styles */
.global-loader {
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}

/* Loading spinner variations */
.loading-spinner {
  box-sizing: border-box;
}

.loading-spinner.small {
  border-width: 1px;
}

.loading-spinner.large {
  border-width: 3px;
}

/* Skeleton loading improvements */
.loading-skeleton {
  position: relative;
  overflow: hidden;
}

.loading-skeleton::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.8),
    transparent
  );
  animation: skeleton-shimmer 1.5s ease-in-out infinite;
}

@keyframes skeleton-shimmer {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(100%); }
}

/* Pulse loading variations */
.loading-pulse.small {
  animation-duration: 1s;
}

.loading-pulse.large {
  animation-duration: 2s;
}

/* Dots loading improvements */
.loading-dots {
  justify-content: center;
}

/* Button loading states */
button[aria-busy="true"] {
  position: relative;
  color: transparent !important;
  cursor: not-allowed;
  pointer-events: none;
}

button[aria-busy="true"]::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 16px;
  margin: -8px 0 0 -8px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-top: 2px solid #fff;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

/* Form loading states */
form[aria-busy="true"] {
  pointer-events: none;
  opacity: 0.7;
}

form[aria-busy="true"] input,
form[aria-busy="true"] textarea,
form[aria-busy="true"] select,
form[aria-busy="true"] button {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Task item loading states */
[data-task-id][aria-busy="true"] {
  position: relative;
  overflow: hidden;
}

[data-task-id][aria-busy="true"]::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(59, 130, 246, 0.1),
    transparent
  );
  animation: loading-sweep 2s ease-in-out infinite;
  z-index: 1;
}

@keyframes loading-sweep {
  0% { left: -100%; }
  100% { left: 100%; }
}

/* Kanban column loading */
.kanban-column[aria-busy="true"] {
  opacity: 0.6;
  pointer-events: none;
}

.kanban-column[aria-busy="true"]::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 24px;
  height: 24px;
  margin: -12px 0 0 -12px;
  border: 2px solid #e5e7eb;
  border-top: 2px solid #3b82f6;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  z-index: 1000;
}

/* Loading message styles */
.loading-message {
  text-align: center;
  font-size: 14px;
  color: #6b7280;
  font-weight: 500;
  margin-top: 8px;
  animation: fadeInLoading 0.5s ease;
}

/* Progress bar loading */
.loading-progress {
  width: 100%;
  height: 4px;
  background: #e5e7eb;
  border-radius: 2px;
  overflow: hidden;
  position: relative;
}

.loading-progress::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 30%;
  background: #3b82f6;
  border-radius: 2px;
  animation: progress-indeterminate 2s ease-in-out infinite;
}

@keyframes progress-indeterminate {
  0% {
    left: -30%;
    width: 30%;
  }
  50% {
    left: 50%;
    width: 50%;
  }
  100% {
    left: 100%;
    width: 30%;
  }
}

/* Dark mode support */
/* (24/09/2026) bloco de modo escuro removido: o Acordly não tem tema escuro e,
   num celular em modo escuro, isto pintava campos do app inteiro de cinza. */

/* High contrast mode support */
@media (prefers-contrast: high) {
  .loading-spinner {
    border-color: #000;
    border-top-color: #0066ff;
  }

  .loading-pulse {
    background: #0066ff;
  }

  .loading-dots div {
    background: #0066ff;
  }

  .loading-message {
    color: #000;
    font-weight: 600;
  }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
  .loading-spinner,
  .loading-pulse,
  .loading-dots div,
  .loading-skeleton,
  .loading-progress::after,
  [data-task-id][aria-busy="true"]::before {
    animation: none !important;
  }

  .loading-skeleton {
    background: #e5e7eb !important;
  }

  .loading-pulse {
    opacity: 0.6 !important;
  }

  .loading-dots div {
    opacity: 0.6 !important;
  }

  .loading-spinner {
    border: 2px solid #e5e7eb !important;
    border-left: 2px solid #3b82f6 !important;
  }
}

/* Touch device optimizations */
@media (hover: none) and (pointer: coarse) {
  .loading-element {
    transform: scale(1.1);
  }

  .loading-overlay {
    backdrop-filter: blur(4px);
  }

  .global-loader {
    backdrop-filter: blur(12px);
  }
}

/* Print styles */
@media print {
  .loading-overlay,
  .global-loader,
  .loading-element,
  [aria-busy="true"]::after,
  [aria-busy="true"]::before {
    display: none !important;
  }

  [aria-busy="true"] {
    opacity: 1 !important;
    color: inherit !important;
  }
}

/* Custom loading states for specific components */
.modal[aria-busy="true"] {
  pointer-events: none;
}

.modal[aria-busy="true"] .modal-content {
  opacity: 0.7;
  filter: blur(1px);
}

.modal[aria-busy="true"]::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 32px;
  height: 32px;
  margin: -16px 0 0 -16px;
  border: 3px solid rgba(255, 255, 255, 0.3);
  border-top: 3px solid #fff;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  z-index: 10001;
}

/* Loading state for drag and drop operations */
.kanban-column.drop-loading {
  background: linear-gradient(45deg,
    rgba(59, 130, 246, 0.1) 25%,
    transparent 25%,
    transparent 75%,
    rgba(59, 130, 246, 0.1) 75%
  );
  background-size: 20px 20px;
  animation: loading-stripes 1s linear infinite;
}

@keyframes loading-stripes {
  0% { background-position: 0 0; }
  100% { background-position: 20px 20px; }
}

/* Success state animations */
@keyframes success-checkmark {
  0% {
    transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  50% {
    transform: scale(1.2) rotate(45deg);
    opacity: 1;
  }
  100% {
    transform: scale(1) rotate(45deg);
    opacity: 1;
  }
}

.loading-success {
  color: #10b981;
  animation: success-checkmark 0.6s ease;
}

/* Error state animations */
@keyframes error-shake {
  0%, 100% { transform: translateX(0); }
  10%, 30%, 50%, 70%, 90% { transform: translateX(-2px); }
  20%, 40%, 60%, 80% { transform: translateX(2px); }
}

.loading-error {
  color: #ef4444;
  animation: error-shake 0.6s ease;
}

/* Progressive loading for large datasets */
.progressive-loading {
  opacity: 0;
  transform: translateY(20px);
  animation: progressive-fade-in 0.6s ease forwards;
}

.progressive-loading:nth-child(1) { animation-delay: 0.1s; }
.progressive-loading:nth-child(2) { animation-delay: 0.2s; }
.progressive-loading:nth-child(3) { animation-delay: 0.3s; }
.progressive-loading:nth-child(4) { animation-delay: 0.4s; }
.progressive-loading:nth-child(5) { animation-delay: 0.5s; }

@keyframes progressive-fade-in {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* ==== /modules/tasks/tasks-notifications.css ==== */
/*
 * NOTIFICATION SYSTEM CSS - APPLE-LEVEL DESIGN
 * Beautiful, accessible notifications with advanced animations
 */

/* Notification container */
.notification-container {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 10000;
  pointer-events: none;
  max-height: calc(100vh - 40px);
  overflow-y: auto;
  width: 400px;
}

.notification-container:hover {
  pointer-events: auto;
}

/* Custom scrollbar for notification container */
.notification-container::-webkit-scrollbar {
  width: 4px;
}

.notification-container::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.1);
  border-radius: 2px;
}

.notification-container::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.3);
  border-radius: 2px;
}

.notification-container::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.5);
}

/* Base notification styles */
.notification {
  margin-bottom: 12px;
  padding: 16px 20px;
  background: rgba(255, 255, 255, 0.95);
  border-radius: 16px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  opacity: 0;
  transform: translateX(400px);
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  position: relative;
  overflow: hidden;
  max-width: 400px;
  cursor: pointer;
  pointer-events: auto;
  border: 1px solid rgba(255, 255, 255, 0.3);
}

.notification:hover {
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.16);
}

/* Notification types */
.notification-success {
  border-left: 4px solid #10b981;
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.1), rgba(255, 255, 255, 0.95));
}

.notification-error {
  border-left: 4px solid #ef4444;
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.1), rgba(255, 255, 255, 0.95));
}

.notification-warning {
  border-left: 4px solid #f59e0b;
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.1), rgba(255, 255, 255, 0.95));
}

.notification-info {
  border-left: 4px solid #3b82f6;
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.1), rgba(255, 255, 255, 0.95));
}

.notification-reminder {
  border-left: 4px solid #8b5cf6;
  background: linear-gradient(135deg, rgba(139, 92, 246, 0.1), rgba(255, 255, 255, 0.95));
}

.notification-task {
  border-left: 4px solid #06b6d4;
  background: linear-gradient(135deg, rgba(6, 182, 212, 0.1), rgba(255, 255, 255, 0.95));
}

.notification-deadline {
  border-left: 4px solid #f97316;
  background: linear-gradient(135deg, rgba(249, 115, 22, 0.1), rgba(255, 255, 255, 0.95));
}

/* Priority indicators */
.notification-priority-urgent {
  border: 2px solid #ef4444;
  animation: urgent-shake 0.5s ease-in-out 3;
}

.notification-priority-urgent::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, #ef4444, #f59e0b, #ef4444);
  background-size: 200% 100%;
  animation: urgent-pulse 2s ease-in-out infinite;
}

.notification-priority-high {
  box-shadow: 0 8px 32px rgba(239, 68, 68, 0.2);
}

@keyframes urgent-pulse {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

@keyframes urgent-shake {
  0%, 100% { transform: translateX(0); }
  10%, 30%, 50%, 70%, 90% { transform: translateX(-2px); }
  20%, 40%, 60%, 80% { transform: translateX(2px); }
}

/* Notification content */
.notification-icon {
  font-size: 20px;
  margin-right: 12px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  animation: icon-bounce 0.6s ease;
}

@keyframes icon-bounce {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.2); }
}

.notification-content {
  flex: 1;
  min-width: 0;
}

.notification-title {
  font-weight: 600;
  font-size: 14px;
  color: #1f2937;
  margin-bottom: 4px;
  line-height: 1.4;
  word-wrap: break-word;
}

.notification-message {
  font-size: 13px;
  color: #6b7280;
  line-height: 1.4;
  word-wrap: break-word;
}

/* Notification actions */
.notification-actions {
  display: flex;
  gap: 8px;
  margin-top: 12px;
  flex-wrap: wrap;
}

.notification-action-btn {
  padding: 6px 12px;
  background: rgba(59, 130, 246, 0.1);
  color: #3b82f6;
  border: 1px solid rgba(59, 130, 246, 0.2);
  border-radius: 8px;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}

.notification-action-btn:hover {
  background: rgba(59, 130, 246, 0.2);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
}

.notification-action-btn:active {
  transform: translateY(0);
}

/* Close button */
.notification-close {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 24px;
  height: 24px;
  border: none;
  background: rgba(107, 114, 128, 0.1);
  color: #6b7280;
  border-radius: 50%;
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.7;
}

.notification-close:hover {
  background: rgba(107, 114, 128, 0.2);
  opacity: 1;
  transform: scale(1.1);
}

.notification-close:active {
  transform: scale(0.95);
}

/* Dark mode support */
/* (24/09/2026) bloco de modo escuro removido: o Acordly não tem tema escuro e,
   num celular em modo escuro, isto pintava campos do app inteiro de cinza. */

/* High contrast mode */
@media (prefers-contrast: high) {
  .notification {
    border: 2px solid #000;
    background: #fff;
  }

  .notification-title {
    color: #000;
    font-weight: 700;
  }

  .notification-message {
    color: #333;
  }

  .notification-close {
    background: #f0f0f0;
    color: #000;
    border: 1px solid #ccc;
  }

  .notification-action-btn {
    background: #e6f3ff;
    color: #0066cc;
    border: 2px solid #0066cc;
  }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
  .notification {
    transition: opacity 0.2s ease !important;
    animation: none !important;
  }

  .notification:hover {
    transform: none !important;
  }

  .notification-icon {
    animation: none !important;
  }

  .notification-priority-urgent {
    animation: none !important;
  }

  .notification-priority-urgent::before {
    animation: none !important;
    background: #ef4444 !important;
  }

  .notification-action-btn:hover,
  .notification-close:hover {
    transform: none !important;
  }
}

/* Mobile optimizations */
@media (max-width: 480px) {
  .notification-container {
    width: calc(100vw - 20px);
    right: 10px;
    left: 10px;
  }

  .notification {
    max-width: none;
    margin-bottom: 8px;
    padding: 14px 16px;
  }

  .notification-title {
    font-size: 13px;
  }

  .notification-message {
    font-size: 12px;
  }

  .notification-actions {
    margin-top: 10px;
  }

  .notification-action-btn {
    padding: 8px 12px;
    font-size: 11px;
    min-height: 32px;
  }

  .notification-close {
    width: 28px;
    height: 28px;
    top: 6px;
    right: 6px;
  }
}

/* Notification entrance animations */
.notification.animate-in {
  opacity: 1;
  transform: translateX(0);
}

.notification.animate-out {
  opacity: 0;
  transform: translateX(400px);
}

/* Progress indicator for persistent notifications */
.notification-progress {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 3px;
  background: rgba(59, 130, 246, 0.3);
  border-radius: 0 0 16px 16px;
  animation: progress-countdown linear;
}

@keyframes progress-countdown {
  from { width: 100%; }
  to { width: 0%; }
}

/* Notification grouping */
.notification-group {
  margin-bottom: 16px;
}

.notification-group-header {
  font-size: 12px;
  color: #6b7280;
  margin-bottom: 8px;
  padding: 0 4px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}

/* Special highlighting for task navigation */
.highlighted {
  animation: highlight-pulse 3s ease-in-out;
  border: 2px solid #3b82f6 !important;
  box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.2) !important;
}

@keyframes highlight-pulse {
  0%, 100% {
    background-color: transparent;
  }
  50% {
    background-color: rgba(59, 130, 246, 0.1);
  }
}

/* Touch optimizations */
@media (hover: none) and (pointer: coarse) {
  .notification {
    padding: 18px 22px;
  }

  .notification-action-btn {
    padding: 10px 16px;
    font-size: 13px;
    min-height: 40px;
  }

  .notification-close {
    width: 32px;
    height: 32px;
    top: 8px;
    right: 8px;
  }
}

/* Print styles */
@media print {
  .notification-container,
  .notification {
    display: none !important;
  }
}

/* Focus styles for accessibility */
.notification:focus-visible {
  outline: 3px solid rgba(59, 130, 246, 0.6);
  outline-offset: 2px;
}

.notification-action-btn:focus-visible,
.notification-close:focus-visible {
  outline: 2px solid rgba(59, 130, 246, 0.6);
  outline-offset: 2px;
}

/* Stack multiple notifications nicely */
.notification:nth-child(n+4) {
  opacity: 0.8;
  transform: scale(0.98) translateY(-4px);
}

.notification:nth-child(n+6) {
  opacity: 0.6;
  transform: scale(0.96) translateY(-8px);
}

.notification:nth-child(n+8) {
  opacity: 0.4;
  transform: scale(0.94) translateY(-12px);
}

/* Notification sound visualization */
.notification.with-sound::after {
  content: '🔊';
  position: absolute;
  top: 8px;
  right: 40px;
  font-size: 12px;
  opacity: 0.7;
  animation: sound-pulse 2s ease-in-out;
}

@keyframes sound-pulse {
  0%, 100% { opacity: 0.7; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.1); }
}

/* Smart Alert Animation - Slide in from right */
@keyframes slide-in-right {
  0% {
    opacity: 0;
    transform: translateX(400px) scale(0.95);
  }
  60% {
    transform: translateX(-10px) scale(1);
  }
  80% {
    transform: translateX(5px);
  }
  100% {
    opacity: 1;
    transform: translateX(0) scale(1);
  }
}

.animate-slide-in-right {
  animation: slide-in-right 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}
/* ==== /modules/tasks/tasks-mobile.css ==== */
/* (24/09/2026) TODO o arquivo confinado a #tasks-root: os seletores genéricos
   (input, button, label, .container, body…) valiam para o app inteiro no celular —
   campos com borda de 2px e 16px internos, caixas de marcar esticadas. */
/*
 * MOBILE RESPONSIVENESS CSS - APPLE-LEVEL DESIGN
 * Complete mobile optimization with Apple HIG standards
 */

/* Base mobile optimizations */
@media (max-width: 1024px) {
  /* Tablet optimizations */
  #tasks-root .kanban-column {
    min-width: 280px;
    padding: 16px;
  }

  #tasks-root .kanban-column h3 {
    font-size: 18px;
    margin-bottom: 12px;
  }

  #tasks-root [data-task-id] {
    padding: 14px 16px;
    margin-bottom: 12px;
  }

  #tasks-root .task-title {
    font-size: 15px;
    line-height: 1.4;
  }

  #tasks-root .task-description {
    font-size: 13px;
    line-height: 1.4;
  }

  /* Form adjustments */
  #tasks-root .modal {
    width: 90%;
    max-width: 600px;
    margin: 5% auto;
  }

  #tasks-root :where(input:not([type="checkbox"]):not([type="radio"]), textarea, select) { /* 24/09/2026: sem escopo, esticava toda caixa de marcar do app no celular */
    font-size: 16px; /* Prevent zoom on iOS */
    padding: 14px 16px;
    border-radius: 12px;
  }

  #tasks-root button {
    min-height: 44px;
    padding: 12px 20px;
    font-size: 15px;
  }
}

@media (max-width: 768px) {
  /* Small tablet / large mobile */
  #tasks-root .container {
    padding: 16px 12px;
  }

  #tasks-root .kanban-board {
    gap: 12px;
    padding: 16px 0;
  }

  #tasks-root .kanban-column {
    min-width: 260px;
    padding: 14px;
    border-radius: 16px;
  }

  #tasks-root .kanban-column h3 {
    font-size: 16px;
    margin-bottom: 10px;
  }

  #tasks-root [data-task-id] {
    padding: 12px 14px;
    margin-bottom: 10px;
    border-radius: 12px;
  }

  #tasks-root .task-title {
    font-size: 14px;
    margin-bottom: 6px;
  }

  #tasks-root .task-description {
    font-size: 12px;
    line-height: 1.3;
  }

  /* Navigation adjustments */
  #tasks-root .nav-header {
    padding: 12px 16px;
    flex-wrap: wrap;
    gap: 8px;
  }

  #tasks-root .nav-title {
    font-size: 20px;
  }

  #tasks-root .nav-actions {
    flex-wrap: wrap;
    gap: 8px;
  }

  /* Modal improvements */
  #tasks-root .modal {
    width: 95%;
    max-width: none;
    margin: 2% auto;
    border-radius: 20px;
  }

  #tasks-root .modal-content {
    padding: 20px;
  }

  #tasks-root .modal-header h2 {
    font-size: 20px;
  }

  #tasks-root .modal-footer {
    flex-direction: column;
    gap: 12px;
  }

  #tasks-root .modal-footer button {
    width: 100%;
    order: 1;
  }

  #tasks-root .modal-footer .btn-secondary {
    order: 2;
  }

  /* Form improvements */
  #tasks-root .form-group {
    margin-bottom: 16px;
  }

  #tasks-root label {
    font-size: 14px;
    margin-bottom: 6px;
  }

  #tasks-root :where(input:not([type="checkbox"]):not([type="radio"]), textarea, select) { /* 24/09/2026: sem escopo, esticava toda caixa de marcar do app no celular */
    font-size: 16px;
    padding: 14px 16px;
    border-radius: 12px;
    width: 100%;
  }

  #tasks-root textarea {
    min-height: 120px;
    resize: vertical;
  }

  /* Button improvements */
  #tasks-root button {
    min-height: 48px;
    padding: 14px 20px;
    font-size: 16px;
    border-radius: 12px;
    font-weight: 600;
  }

  #tasks-root .btn-small {
    min-height: 40px;
    padding: 10px 16px;
    font-size: 14px;
  }

  /* Filter and sort controls */
  #tasks-root .filters-container {
    flex-direction: column;
    gap: 12px;
    padding: 16px;
    background: rgba(248, 250, 252, 0.8);
    border-radius: 16px;
    margin-bottom: 16px;
  }

  #tasks-root .filter-group {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }

  #tasks-root .filter-group label {
    font-size: 13px;
    color: #6b7280;
    margin-bottom: 4px;
  }

  /* Export controls */
  #tasks-root .export-controls {
    flex-direction: column;
    gap: 12px;
  }

  #tasks-root .export-format-selection {
    flex-direction: column;
    gap: 8px;
  }

  #tasks-root .export-format-option {
    padding: 12px 16px;
    border-radius: 12px;
    text-align: center;
  }
}

@media (max-width: 480px) {
  /* Mobile phone optimizations */
  #tasks-root {
    font-size: 14px;
  }

  #tasks-root .container {
    padding: 12px 8px;
  }

  /* Kanban adjustments for mobile */
  #tasks-root .kanban-board {
    flex-direction: column;
    gap: 16px;
    padding: 12px 0;
  }

  #tasks-root .kanban-column {
    width: 100%;
    min-width: auto;
    padding: 16px;
    border-radius: 20px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  }

  #tasks-root .kanban-column h3 {
    font-size: 18px;
    margin-bottom: 12px;
    text-align: center;
    font-weight: 700;
  }

  #tasks-root .kanban-column-count {
    font-size: 13px;
    background: rgba(59, 130, 246, 0.1);
    color: #3b82f6;
    padding: 4px 8px;
    border-radius: 8px;
    margin-left: 8px;
    font-weight: 600;
  }

  /* Task cards for mobile */
  #tasks-root [data-task-id] {
    padding: 16px;
    margin-bottom: 12px;
    border-radius: 16px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.06);
    cursor: pointer;
    transition: all 0.2s ease;
  }

  #tasks-root [data-task-id]:hover, #tasks-root [data-task-id]:focus {
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
    border-color: rgba(59, 130, 246, 0.3);
  }

  #tasks-root .task-title {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
    margin-bottom: 8px;
    color: #1f2937;
  }

  #tasks-root .task-description {
    font-size: 14px;
    line-height: 1.4;
    color: #6b7280;
    margin-bottom: 12px;
  }

  #tasks-root .task-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    font-size: 12px;
  }

  #tasks-root .task-priority {
    padding: 4px 8px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
  }

  #tasks-root .task-priority.high {
    background: rgba(239, 68, 68, 0.1);
    color: #dc2626;
  }

  #tasks-root .task-priority.medium {
    background: rgba(245, 158, 11, 0.1);
    color: #d97706;
  }

  #tasks-root .task-priority.low {
    background: rgba(34, 197, 94, 0.1);
    color: #059669;
  }

  #tasks-root .task-deadline {
    color: #6b7280;
    font-size: 12px;
  }

  #tasks-root .task-deadline.overdue {
    color: #dc2626;
    font-weight: 600;
  }

  #tasks-root .task-deadline.due-soon {
    color: #d97706;
    font-weight: 600;
  }

  /* Navigation for mobile */
  #tasks-root .nav-header {
    padding: 16px;
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    position: sticky;
    top: 0;
    z-index: 100;
  }

  #tasks-root .nav-title {
    font-size: 24px;
    font-weight: 700;
    text-align: center;
    color: #1f2937;
  }

  #tasks-root .nav-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
  }

  #tasks-root .nav-actions button {
    flex: 1;
    min-width: 120px;
    max-width: 200px;
  }

  /* Modal for mobile */
  #tasks-root .modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    border-radius: 0;
    display: flex;
    flex-direction: column;
  }

  #tasks-root .modal-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 20px;
    overflow-y: auto;
  }

  #tasks-root .modal-header {
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
  }

  #tasks-root .modal-header h2 {
    font-size: 20px;
    font-weight: 700;
    text-align: center;
  }

  #tasks-root .modal-body {
    flex: 1;
    overflow-y: auto;
  }

  #tasks-root .modal-footer {
    padding-top: 16px;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    margin-top: 20px;
    flex-direction: column;
    gap: 12px;
  }

  #tasks-root .modal-footer button {
    width: 100%;
    min-height: 52px;
  }

  #tasks-root .modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
  }

  /* Form improvements for mobile */
  #tasks-root .form-group {
    margin-bottom: 20px;
  }

  #tasks-root label {
    display: block;
    font-size: 15px;
    font-weight: 600;
    margin-bottom: 8px;
    color: #374151;
  }

  #tasks-root :where(input:not([type="checkbox"]):not([type="radio"]), textarea, select) { /* 24/09/2026: sem escopo, esticava toda caixa de marcar do app no celular */
    width: 100%;
    font-size: 16px;
    padding: 16px;
    border: 2px solid #e5e7eb;
    border-radius: 12px;
    background: #ffffff;
    transition: all 0.2s ease;
  }

  #tasks-root input:focus, #tasks-root textarea:focus, #tasks-root select:focus {
    outline: none;
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
  }

  #tasks-root textarea {
    min-height: 120px;
    resize: vertical;
    font-family: inherit;
  }

  /* Button improvements for mobile */
  #tasks-root .btn-primary {
    background: linear-gradient(135deg, #3b82f6, #1d4ed8);
    color: white;
    border: none;
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0.025em;
  }

  #tasks-root .btn-primary:hover {
    background: linear-gradient(135deg, #2563eb, #1e40af);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.4);
  }

  #tasks-root .btn-secondary {
    background: #f3f4f6;
    color: #374151;
    border: 1px solid #d1d5db;
    font-weight: 600;
  }

  #tasks-root .btn-secondary:hover {
    background: #e5e7eb;
    border-color: #9ca3af;
  }

  #tasks-root .btn-danger {
    background: linear-gradient(135deg, #ef4444, #dc2626);
    color: white;
    border: none;
    font-weight: 600;
  }

  #tasks-root .btn-danger:hover {
    background: linear-gradient(135deg, #dc2626, #b91c1c);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.4);
  }

  /* Filter controls for mobile */
  #tasks-root .filters-container {
    background: rgba(248, 250, 252, 0.9);
    border-radius: 20px;
    padding: 20px;
    margin-bottom: 20px;
    border: 1px solid rgba(0, 0, 0, 0.06);
  }

  #tasks-root .filter-group {
    margin-bottom: 16px;
  }

  #tasks-root .filter-group:last-child {
    margin-bottom: 0;
  }

  #tasks-root .filter-group label {
    font-size: 14px;
    color: #6b7280;
    margin-bottom: 6px;
  }

  #tasks-root .filter-select {
    width: 100%;
    padding: 12px 16px;
    border-radius: 12px;
    border: 1px solid #d1d5db;
    background: white;
    font-size: 15px;
  }

  /* Search input for mobile */
  #tasks-root .search-input {
    width: 100%;
    padding: 14px 16px 14px 44px;
    border-radius: 20px;
    border: 2px solid #e5e7eb;
    background: white;
    font-size: 16px;
    position: relative;
  }

  #tasks-root .search-input:focus {
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
  }

  #tasks-root .search-icon {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #9ca3af;
    font-size: 18px;
  }

  /* Floating action button for mobile */
  #tasks-root .fab {
    position: fixed;
    bottom: 24px;
    right: 24px;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: linear-gradient(135deg, #3b82f6, #1d4ed8);
    color: white;
    border: none;
    box-shadow: 0 4px 16px rgba(59, 130, 246, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    z-index: 1000;
    transition: all 0.2s ease;
  }

  #tasks-root .fab:hover {
    transform: scale(1.1);
    box-shadow: 0 6px 20px rgba(59, 130, 246, 0.5);
  }

  #tasks-root .fab:active {
    transform: scale(0.95);
  }

  /* Swipe actions for mobile */
  #tasks-root .swipe-actions {
    position: absolute;
    top: 0;
    right: -100px;
    height: 100%;
    width: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ef4444;
    border-radius: 0 16px 16px 0;
    opacity: 0;
    transition: all 0.3s ease;
  }

  #tasks-root .swipe-actions.active {
    opacity: 1;
    right: 0;
  }

  #tasks-root .swipe-actions button {
    background: none;
    border: none;
    color: white;
    font-size: 20px;
    padding: 0;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  /* Progress indicators for mobile */
  #tasks-root .progress-bar {
    height: 6px;
    background: #e5e7eb;
    border-radius: 3px;
    overflow: hidden;
    margin: 12px 0;
  }

  #tasks-root .progress-fill {
    height: 100%;
    background: linear-gradient(90deg, #3b82f6, #1d4ed8);
    border-radius: 3px;
    transition: width 0.3s ease;
  }

  /* Status indicators */
  #tasks-root .status-indicator {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    display: inline-block;
    margin-right: 8px;
  }

  #tasks-root .status-indicator.todo {
    background: #9ca3af;
  }

  #tasks-root .status-indicator.in-progress {
    background: #3b82f6;
  }

  #tasks-root .status-indicator.under-review {
    background: #f59e0b;
  }

  #tasks-root .status-indicator.completed {
    background: #10b981;
  }

  /* Notification adjustments for mobile */
  #tasks-root .notification-container {
    top: 10px;
    right: 10px;
    left: 10px;
    width: auto;
  }

  #tasks-root .notification {
    margin-bottom: 8px;
    border-radius: 12px;
    padding: 16px;
  }

  /* Analytics charts for mobile */
  #tasks-root .chart-container {
    width: 100%;
    height: 250px;
    margin-bottom: 20px;
    border-radius: 16px;
    background: white;
    padding: 16px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  }

  /* Template cards for mobile */
  #tasks-root .template-card {
    background: white;
    border-radius: 16px;
    padding: 16px;
    margin-bottom: 12px;
    border: 1px solid rgba(0, 0, 0, 0.06);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  }

  #tasks-root .template-card h4 {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 6px;
  }

  #tasks-root .template-card p {
    font-size: 14px;
    color: #6b7280;
    margin-bottom: 12px;
  }

  #tasks-root .template-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 12px;
    color: #9ca3af;
  }
}

/* Landscape phone optimizations */
@media (max-width: 767px) and (orientation: landscape) {
  #tasks-root .kanban-board {
    flex-direction: row;
    overflow-x: auto;
    padding: 16px;
  }

  #tasks-root .kanban-column {
    flex: 0 0 280px;
    width: 280px;
    height: calc(100vh - 120px);
    overflow-y: auto;
  }

  #tasks-root .modal {
    width: 90%;
    height: 85%;
    border-radius: 20px;
    margin: auto;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}

/* Touch-specific optimizations */
@media (hover: none) and (pointer: coarse) {
  /* Larger touch targets */
  #tasks-root button, #tasks-root [role="button"], #tasks-root a, #tasks-root [data-task-id] {
    min-height: 44px;
    min-width: 44px;
  }
  /* (24/09/2026) caixa de marcar/opção saiu daqui: com 44×44 o quadradinho
     virava um bloco enorme e vazio (cartão de responsável da tarefa). A área
     de toque grande vem do <label> que envolve a caixa. *//* Hover states for touch */
  #tasks-root [data-task-id]:active, #tasks-root button:active {
    transform: scale(0.98);
    transition: transform 0.1s ease;
  }

  /* Disable hover animations */
  #tasks-root * {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0.1);
  }

  #tasks-root .kanban-column li[data-task-id]:hover {
    transform: none;
    box-shadow: inherit;
  }

  /* Touch-friendly scrollbars */
  #tasks-root .kanban-column {
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }

  #tasks-root .kanban-column::-webkit-scrollbar {
    width: 4px;
  }

  #tasks-root .kanban-column::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.3);
    border-radius: 2px;
  }
}

/* High DPI / Retina display optimizations */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  /* Sharper borders and shadows */
  #tasks-root [data-task-id], #tasks-root .modal, #tasks-root .kanban-column {
    border-width: 0.5px;
  }

  #tasks-root .kanban-column {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  }

  #tasks-root [data-task-id] {
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
  }
}

/* Safe area optimizations for newer iPhones */
@supports (padding: max(0px)) {
  #tasks-root .nav-header {
    padding-top: max(16px, env(safe-area-inset-top));
  }

  #tasks-root .fab {
    bottom: max(24px, env(safe-area-inset-bottom) + 24px);
    right: max(24px, env(safe-area-inset-right) + 24px);
  }

  #tasks-root .modal {
    padding-top: max(0px, env(safe-area-inset-top));
    padding-bottom: max(0px, env(safe-area-inset-bottom));
  }
}

/* Dark mode mobile optimizations */
/* (24/09/2026) bloco de modo escuro removido: o Acordly não tem tema escuro e,
   num celular em modo escuro, isto pintava campos do app inteiro de cinza. */
/* ==== /modules/tasks/tasks-validation.css ==== */
/*
 * VALIDATION SYSTEM CSS - APPLE-LEVEL FEEDBACK
 * Sistema completo de validação com feedback visual premium
 */

/* Form validation states */
.field-valid {
  border-color: #10b981 !important;
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.05), transparent) !important;
}

.field-valid:focus {
  border-color: #10b981 !important;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1) !important;
  ring-color: rgba(16, 185, 129, 0.2) !important;
}

.field-error {
  border-color: #ef4444 !important;
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.05), transparent) !important;
  animation: field-error-shake 0.5s ease-in-out;
}

.field-error:focus {
  border-color: #ef4444 !important;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1) !important;
  ring-color: rgba(239, 68, 68, 0.2) !important;
}

.field-warning {
  border-color: #f59e0b !important;
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.05), transparent) !important;
}

.field-warning:focus {
  border-color: #f59e0b !important;
  box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.1) !important;
  ring-color: rgba(245, 158, 11, 0.2) !important;
}

@keyframes field-error-shake {
  0%, 100% { transform: translateX(0); }
  10%, 30%, 50%, 70%, 90% { transform: translateX(-2px); }
  20%, 40%, 60%, 80% { transform: translateX(2px); }
}

/* Error message styles */
.validation-error {
  color: #ef4444;
  font-size: 12px;
  font-weight: 500;
  margin-top: 4px;
  display: flex;
  align-items: center;
  gap: 4px;
  opacity: 0;
  animation: error-fade-in 0.3s ease forwards;
}

.validation-error::before {
  content: '⚠️';
  font-size: 14px;
  line-height: 1;
}

.validation-warning {
  color: #f59e0b;
  font-size: 12px;
  font-weight: 500;
  margin-top: 4px;
  display: flex;
  align-items: center;
  gap: 4px;
  opacity: 0;
  animation: warning-fade-in 0.3s ease forwards;
}

.validation-warning::before {
  content: '⚠️';
  font-size: 14px;
  line-height: 1;
  filter: hue-rotate(45deg);
}

.validation-success {
  color: #10b981;
  font-size: 12px;
  font-weight: 500;
  margin-top: 4px;
  display: flex;
  align-items: center;
  gap: 4px;
  opacity: 0;
  animation: success-fade-in 0.3s ease forwards;
}

.validation-success::before {
  content: '✅';
  font-size: 14px;
  line-height: 1;
}

@keyframes error-fade-in {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes warning-fade-in {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 0.8;
    transform: translateY(0);
  }
}

@keyframes success-fade-in {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 0.7;
    transform: translateY(0);
  }
}

/* Form container validation states */
.form-container.has-errors {
  border: 1px solid rgba(239, 68, 68, 0.2);
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.02), transparent);
}

.form-container.has-warnings {
  border: 1px solid rgba(245, 158, 11, 0.2);
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.02), transparent);
}

.form-container.is-valid {
  border: 1px solid rgba(16, 185, 129, 0.2);
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.02), transparent);
}

/* Character count feedback */
.char-count {
  font-size: 11px;
  color: #6b7280;
  text-align: right;
  margin-top: 2px;
  transition: color 0.2s ease;
}

.char-count.warning {
  color: #f59e0b;
  font-weight: 500;
}

.char-count.error {
  color: #ef4444;
  font-weight: 600;
}

/* Strength indicators for complex fields */
.field-strength {
  height: 3px;
  margin-top: 4px;
  border-radius: 2px;
  overflow: hidden;
  background: #e5e7eb;
}

.field-strength-bar {
  height: 100%;
  transition: all 0.3s ease;
  border-radius: 2px;
}

.field-strength.weak .field-strength-bar {
  width: 25%;
  background: #ef4444;
}

.field-strength.fair .field-strength-bar {
  width: 50%;
  background: #f59e0b;
}

.field-strength.good .field-strength-bar {
  width: 75%;
  background: #3b82f6;
}

.field-strength.strong .field-strength-bar {
  width: 100%;
  background: #10b981;
}

/* Required field indicators */
.field-required::after {
  content: '*';
  color: #ef4444;
  margin-left: 4px;
  font-weight: 600;
}

/* Form section validation states */
.form-section.has-errors {
  border-left: 3px solid #ef4444;
  padding-left: 12px;
  background: linear-gradient(90deg, rgba(239, 68, 68, 0.05), transparent);
}

.form-section.has-warnings {
  border-left: 3px solid #f59e0b;
  padding-left: 12px;
  background: linear-gradient(90deg, rgba(245, 158, 11, 0.05), transparent);
}

/* Validation summary */
.validation-summary {
  padding: 12px 16px;
  border-radius: 12px;
  margin-bottom: 16px;
  font-size: 13px;
  line-height: 1.4;
}

.validation-summary.errors {
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.1), rgba(239, 68, 68, 0.05));
  border: 1px solid rgba(239, 68, 68, 0.2);
  color: #b91c1c;
}

.validation-summary.warnings {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.1), rgba(245, 158, 11, 0.05));
  border: 1px solid rgba(245, 158, 11, 0.2);
  color: #d97706;
}

.validation-summary.success {
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.1), rgba(16, 185, 129, 0.05));
  border: 1px solid rgba(16, 185, 129, 0.2);
  color: #047857;
}

.validation-summary-title {
  font-weight: 600;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.validation-summary-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.validation-summary-list li {
  margin-bottom: 4px;
  padding-left: 16px;
  position: relative;
}

.validation-summary-list li::before {
  content: '•';
  position: absolute;
  left: 0;
  color: currentColor;
}

/* Loading states during validation */
.field-validating {
  position: relative;
}

.field-validating::after {
  content: '';
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  border: 2px solid #e5e7eb;
  border-top: 2px solid #3b82f6;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% { transform: translateY(-50%) rotate(0deg); }
  100% { transform: translateY(-50%) rotate(360deg); }
}

/* Submit button states */
button[type="submit"] {
  transition: all 0.3s ease;
}

button[type="submit"]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none !important;
}

button[type="submit"].btn-error {
  background: linear-gradient(135deg, #ef4444, #dc2626);
  border-color: #dc2626;
  animation: button-error-pulse 0.6s ease;
}

button[type="submit"].btn-success {
  background: linear-gradient(135deg, #10b981, #059669);
  border-color: #059669;
  animation: button-success-pulse 0.6s ease;
}

@keyframes button-error-pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.05); }
}

@keyframes button-success-pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.05); }
}

/* Tooltip-style validation messages */
.validation-tooltip {
  position: absolute;
  top: -8px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(17, 24, 39, 0.95);
  color: #f9fafb;
  padding: 8px 12px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
  z-index: 1000;
  opacity: 0;
  pointer-events: none;
  transition: all 0.2s ease;
}

.validation-tooltip::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 4px solid transparent;
  border-top-color: rgba(17, 24, 39, 0.95);
}

.field-error:focus + .validation-tooltip,
.field-warning:focus + .validation-tooltip {
  opacity: 1;
  transform: translateX(-50%) translateY(-4px);
}

/* Mobile optimizations */
@media (max-width: 768px) {
  .validation-error,
  .validation-warning,
  .validation-success {
    font-size: 11px;
  }

  .validation-summary {
    padding: 10px 12px;
    font-size: 12px;
  }

  .char-count {
    font-size: 10px;
  }

  .validation-tooltip {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    margin-top: 4px;
    border-radius: 6px;
    opacity: 1;
  }

  .validation-tooltip::after {
    display: none;
  }
}

/* Dark mode support */
/* (24/09/2026) bloco de modo escuro removido: o Acordly não tem tema escuro e,
   num celular em modo escuro, isto pintava campos do app inteiro de cinza. */

/* High contrast mode */
@media (prefers-contrast: high) {
  .field-error {
    border-color: #000 !important;
    background: #ffeeee !important;
  }

  .field-warning {
    border-color: #cc6600 !important;
    background: #fff8ee !important;
  }

  .field-valid {
    border-color: #006600 !important;
    background: #eeffee !important;
  }

  .validation-error {
    color: #cc0000;
    font-weight: 700;
  }

  .validation-warning {
    color: #cc6600;
    font-weight: 700;
  }

  .validation-success {
    color: #006600;
    font-weight: 700;
  }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
  .field-error,
  .validation-error,
  .validation-warning,
  .validation-success,
  .validation-tooltip,
  button[type="submit"],
  .field-strength-bar {
    animation: none !important;
    transition: none !important;
  }

  .field-error {
    transform: none !important;
  }
}

/* Print styles */
@media print {
  .validation-error,
  .validation-warning,
  .validation-tooltip,
  .field-strength,
  .validation-summary {
    display: none !important;
  }

  .field-error,
  .field-warning,
  .field-valid {
    border-color: #000 !important;
    background: #fff !important;
  }
}
/* ==== /modules/tarefas/tarefas-redesign.css ==== */
/* ═════════════════════════════════════════════════════════════════════
   Tarefas & Prazos — redesign (parity com protótipo Acordly Tarefas.html)
   Tudo escopado em #tasks-root para não afetar outras abas.
   ═════════════════════════════════════════════════════════════════════ */

/* Padding do wrapper pai SOMENTE quando a view de tarefas está ativa
   (mesmo padrão das abas Audiências/Clientes — aproveita largura total) */
main > div:has(> #tarefas-view.view.active){
  padding:14px 18px 40px !important;
}
@media (max-width:640px){
  main > div:has(> #tarefas-view.view.active){
    padding:12px 12px 32px !important;
  }
}

#tasks-root{
  /* Tokens do protótipo */
  --bg:#FAFAF9; --bg-elev:#FFFFFF; --bg-soft:#F4F4F2;
  --border:#E7E5E4; --border-strong:#D6D3D1;
  --text:#0A0B0D; --text-2:#57534E; --text-3:#A8A29E;
  --hero-bg:#0A0B0D; --hero-border:#1F2024; --hero-border-2:#2A2B30;
  --hero-text:#FAFAF9; --hero-text-2:#A8A29E; --hero-text-3:#6B6965;
  --positive:oklch(0.72 0.14 155); --positive-soft:oklch(0.72 0.14 155/.12);
  --accent:oklch(0.78 0.14 75);    --accent-soft:oklch(0.78 0.14 75/.14);
  --danger:oklch(0.64 0.20 25);    --danger-soft:oklch(0.64 0.20 25/.10);
  --info:oklch(0.64 0.13 245);     --info-soft:oklch(0.64 0.13 245/.10);
  --orange:oklch(0.70 0.18 50);    --orange-soft:oklch(0.70 0.18 50/.12);
  --purple:oklch(0.62 0.18 295);   --purple-soft:oklch(0.62 0.18 295/.10);
  --radius-lg:18px; --radius:14px; --radius-sm:8px; --radius-xs:6px;
  --ease:cubic-bezier(0.22,1,0.36,1); --ease-out:cubic-bezier(0.16,1,0.3,1);
  --dur:200ms; --dur-fast:120ms; --dur-slow:380ms;

  font-family:'Inter',system-ui,sans-serif;
  font-feature-settings:"cv11","ss01","ss03";
  color:var(--text);
  font-size:13.5px;
  line-height:1.45;
}

#tasks-root .mono,#tasks-root .tnum{font-family:'JetBrains Mono',monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;}

@keyframes przRise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes przPulse{0%{box-shadow:0 0 0 0 oklch(0.72 0.14 155/.5)}70%{box-shadow:0 0 0 6px oklch(0.72 0.14 155/0)}100%{box-shadow:0 0 0 0 oklch(0.72 0.14 155/0)}}
@keyframes przFade{from{opacity:0}to{opacity:1}}

/* ═══════════════════════════════════════════════════════════════════
   HERO (dark)
   ═══════════════════════════════════════════════════════════════════ */
#tasks-root .prz-hero{
  background:var(--hero-bg);
  border-radius:var(--radius-lg);
  padding:22px 24px 20px;
  color:var(--hero-text);
  position:relative;
  overflow:hidden;
  animation:przRise var(--dur-slow) var(--ease-out) both;
}
#tasks-root .prz-hero::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(700px 300px at 80% -10%,oklch(0.64 0.2 25/.08),transparent 60%),
             radial-gradient(500px 260px at 10% 110%,oklch(0.78 0.14 75/.06),transparent 60%);
  pointer-events:none;
}
#tasks-root .prz-hero>*{position:relative;}
#tasks-root .prz-hero__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap;}
#tasks-root .prz-eyebrow{
  font-family:'JetBrains Mono',monospace;font-size:10.5px;font-weight:500;
  color:var(--hero-text-3);text-transform:uppercase;letter-spacing:0.12em;
  margin-bottom:8px;display:flex;align-items:center;gap:8px;
}
#tasks-root .prz-pulse{width:6px;height:6px;border-radius:50%;background:var(--positive);animation:przPulse 2.2s infinite;flex-shrink:0;}
#tasks-root .prz-title{
  font-family:'Inter Tight',sans-serif;font-size:26px;font-weight:600;
  letter-spacing:-0.025em;line-height:1.1;color:var(--hero-text);margin:0;
}
#tasks-root .prz-subline{margin-top:4px;font-size:13px;color:var(--hero-text-2);}
#tasks-root .prz-subline .prz-alert{color:var(--danger);font-weight:600;}
#tasks-root .prz-subline .prz-warn{color:var(--accent);font-weight:600;}

#tasks-root .prz-hero__actions{display:flex;flex-direction:column;gap:8px;align-items:flex-end;flex-shrink:0;}
#tasks-root .prz-chips{display:flex;gap:8px;flex-wrap:wrap;}
#tasks-root .prz-chip{
  display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:6px;
  border:1px solid var(--hero-border-2);background:rgba(255,255,255,.025);
  font-size:12px;color:var(--hero-text-2);font-family:'JetBrains Mono',monospace;
}
#tasks-root .prz-chip strong{color:var(--hero-text);font-weight:600;}
#tasks-root .prz-chip--alert{border-color:oklch(0.64 0.2 25/.4);background:oklch(0.64 0.2 25/.08);color:oklch(0.82 0.12 25);}


#tasks-root .prz-hero__btns{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;}
#tasks-root .prz-btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 11px;font-size:12.5px;font-weight:500;
  background:rgba(255,255,255,.04);color:var(--hero-text);
  border:1px solid var(--hero-border-2);border-radius:var(--radius-sm);
  cursor:pointer;transition:background var(--dur-fast),border-color var(--dur-fast);
}
#tasks-root .prz-btn:hover{background:rgba(255,255,255,.08);border-color:#3A3B40;}
#tasks-root .prz-btn--primary{background:var(--accent);color:#0A0B0D;border-color:var(--accent);font-weight:600;}
#tasks-root .prz-btn--primary:hover{background:oklch(0.82 0.14 75);border-color:oklch(0.82 0.14 75);}

/* KPIs */
#tasks-root .prz-kpis{
  display:grid;grid-template-columns:repeat(5,1fr);gap:1px;
  background:var(--hero-border);border:1px solid var(--hero-border);
  border-radius:12px;overflow:hidden;
}
#tasks-root .prz-kpi{background:var(--hero-bg);padding:15px 16px 13px;display:flex;flex-direction:column;gap:5px;min-width:0;transition:background var(--dur);}
#tasks-root .prz-kpi:hover{background:#0F1013;}
#tasks-root .prz-kpi__lbl{font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:500;color:var(--hero-text-3);text-transform:uppercase;letter-spacing:0.1em;}
#tasks-root .prz-kpi__val{font-family:'Inter Tight',sans-serif;font-size:28px;font-weight:600;letter-spacing:-0.025em;line-height:1;color:var(--hero-text);font-variant-numeric:tabular-nums;}
#tasks-root .prz-kpi.alert .prz-kpi__val{color:var(--danger);}
#tasks-root .prz-kpi.alert .prz-kpi__lbl{color:oklch(0.64 0.2 25/.7);}
#tasks-root .prz-kpi.warn .prz-kpi__val{color:var(--orange);}
#tasks-root .prz-kpi.warn .prz-kpi__lbl{color:oklch(0.70 0.18 50/.7);}
#tasks-root .prz-kpi.pos .prz-kpi__val{color:var(--positive);}
#tasks-root .prz-kpi.pos .prz-kpi__lbl{color:oklch(0.72 0.14 155/.7);}
#tasks-root .prz-kpi__foot{font-size:11px;color:var(--hero-text-2);}
#tasks-root .prz-kpi__bar{height:3px;background:var(--hero-border-2);border-radius:2px;overflow:hidden;margin-top:2px;}
#tasks-root .prz-kpi__bar>div{height:100%;border-radius:2px;background:var(--positive);}

@media(max-width:1200px){#tasks-root .prz-kpis{grid-template-columns:repeat(3,1fr);}}

/* ═══════════════════════════════════════════════════════════════════
   CARGA PANEL
   ═══════════════════════════════════════════════════════════════════ */
#tasks-root .carga-panel{
  background:var(--bg-elev);border:1px solid var(--border);
  border-radius:var(--radius);padding:12px 16px;
  margin-top:16px;margin-bottom:12px;
  display:flex;flex-direction:column;gap:8px;
  animation:przRise var(--dur-slow) var(--ease-out) both;
}
#tasks-root .carga-panel__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:2px;}
#tasks-root .carga-panel__title{
  font-size:11px;font-weight:600;color:var(--text-3);
  text-transform:uppercase;letter-spacing:0.08em;margin:0;
}
#tasks-root .carga-hint{font-size:10.5px;color:var(--text-3);font-style:italic;}
#tasks-root .carga-clear{
  font-size:11px;font-weight:500;color:var(--text-2);
  padding:3px 9px;border-radius:6px;background:var(--bg-soft);
  border:1px solid var(--border);cursor:pointer;font-family:inherit;
  transition:all var(--dur-fast);
}
#tasks-root .carga-clear:hover{border-color:var(--text-2);color:var(--text);}
#tasks-root .carga-row{
  display:grid;grid-template-columns:28px 140px 1fr auto auto;
  gap:10px;align-items:center;
  width:100%;background:transparent;border:0;padding:4px 6px;border-radius:6px;
  cursor:pointer;font:inherit;text-align:left;
  transition:background var(--dur-fast);
}
#tasks-root .carga-row:hover{background:var(--bg-soft);}
#tasks-root .carga-row.active{background:var(--bg-soft);box-shadow:inset 2px 0 0 var(--text);}
#tasks-root .carga-row.active .carga-name{color:var(--text);font-weight:600;}
#tasks-root .carga-avatar{
  width:26px;height:26px;border-radius:50%;
  display:grid;place-items:center;color:white;
  font-size:10px;font-weight:600;flex-shrink:0;
}
#tasks-root .carga-name{font-size:12px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
#tasks-root .carga-bar{height:5px;border-radius:2px;background:var(--border);overflow:hidden;}
#tasks-root .carga-bar__fill{height:100%;border-radius:2px;transition:width .5s var(--ease-out);}
#tasks-root .carga-bar__fill.ok{background:var(--positive);}
#tasks-root .carga-bar__fill.over{background:var(--danger);}
#tasks-root .carga-total{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:600;color:var(--text-2);min-width:16px;text-align:right;}
#tasks-root .carga-total.over{color:var(--danger);}
#tasks-root .carga-badges{font-size:10px;display:flex;gap:3px;}
#tasks-root .carga-badge{padding:1px 5px;border-radius:3px;font-family:'JetBrains Mono',monospace;font-weight:600;}
#tasks-root .carga-badge.v{background:var(--danger-soft);color:var(--danger);}
#tasks-root .carga-badge.u{background:var(--orange-soft);color:var(--orange);}

/* ═══════════════════════════════════════════════════════════════════
   AUDIENCIAS BANNER
   ═══════════════════════════════════════════════════════════════════ */
#tasks-root .audiencias-banner{
  display:flex;align-items:flex-start;gap:12px;
  padding:11px 14px;background:var(--info-soft);
  border:1px solid oklch(0.64 0.13 245/.3);border-radius:var(--radius-sm);
  margin-bottom:12px;
  animation:przRise var(--dur-slow) var(--ease-out) both;
}
#tasks-root .audiencias-banner__icon{
  width:28px;height:28px;border-radius:7px;
  background:var(--bg-elev);border:1px solid oklch(0.64 0.13 245/.3);
  color:var(--info);display:grid;place-items:center;flex-shrink:0;
}
#tasks-root .audiencias-banner__title{font-size:13px;font-weight:600;color:var(--text);margin:0;}
#tasks-root .audiencias-banner__subtitle{font-size:11.5px;color:var(--text-2);margin:2px 0 0 0;}
#tasks-root .audiencias-banner__chips{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap;}
#tasks-root .audiencia-chip{
  display:inline-flex;align-items:center;gap:5px;
  padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500;
  cursor:pointer;border:1px solid oklch(0.64 0.13 245/.3);
  background:var(--bg-elev);color:oklch(0.42 0.13 245);
  transition:all 120ms;
}
#tasks-root .audiencia-chip:hover{background:oklch(0.64 0.13 245/.08);}

/* ═══════════════════════════════════════════════════════════════════
   SEÇÃO + FILTROS
   ═══════════════════════════════════════════════════════════════════ */
#tasks-root .prz-section{margin-top:48px;}
#tasks-root .prz-hero + .prz-section,
#tasks-root .prz-hero ~ .carga-panel + .prz-section,
#tasks-root .prz-hero ~ .foco-panel + .prz-section{margin-top:48px;}
#tasks-root .prz-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:56px 0 14px;flex-wrap:wrap;}
#tasks-root .prz-hero + .prz-section-head,
#tasks-root .carga-panel + .prz-section-head,
#tasks-root .foco-panel + .prz-section-head{margin-top:56px;}
#tasks-root .prz-section-title{
  font-family:'Inter Tight',sans-serif;font-size:16px;font-weight:600;
  letter-spacing:-0.015em;display:flex;align-items:center;gap:8px;margin:0;
  color:var(--text);
}
#tasks-root .prz-section-pill{
  font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--text-2);
  padding:2px 7px;background:var(--bg-soft);border-radius:4px;
}
#tasks-root .prz-section-sub{font-size:12px;color:var(--text-2);margin-top:1px;}
#tasks-root .prz-section-actions{display:flex;gap:8px;align-items:center;flex-shrink:0;}
#tasks-root .prz-section-time{
  font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--text-3);
  display:inline-flex;align-items:center;gap:5px;padding:2px 7px;
  border-radius:var(--radius-xs);background:var(--bg-soft);
}
#tasks-root .prz-section-time__pip{width:5px;height:5px;border-radius:50%;background:var(--positive);flex-shrink:0;}
#tasks-root .prz-btn--sm{padding:4px 9px;font-size:11.5px;}
/* Quando o section-head vem fora do hero, muda paleta para tema claro */
#tasks-root .prz-section-head .prz-btn--primary{background:var(--text);color:#fff;border-color:var(--text);}
#tasks-root .prz-section-head .prz-btn--primary:hover{background:#1c1d20;border-color:#1c1d20;}

/* Filtros (estilo protótipo) */
#tasks-root .prz-filters{
  background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);
  padding:10px 14px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;
  margin-bottom:12px;
  animation:przRise var(--dur-slow) var(--ease-out) both;animation-delay:80ms;
}
#tasks-root .fchip{
  display:inline-flex;align-items:center;gap:4px;
  padding:4px 11px;border-radius:6px;
  font-size:12px;font-weight:500;
  border:1px solid var(--border);background:var(--bg-soft);color:var(--text-2);
  cursor:pointer;transition:all var(--dur-fast);white-space:nowrap;
  font-family:inherit;
}
#tasks-root .fchip:hover{border-color:var(--text-2);color:var(--text);}
#tasks-root .fchip.on{background:var(--text);color:white;border-color:var(--text);}
#tasks-root .fselect{
  padding:4px 9px;border:1px solid var(--border);border-radius:6px;
  font-size:12px;background:var(--bg-soft);color:var(--text-2);
  outline:none;cursor:pointer;font-family:inherit;
}
#tasks-root .fsearch{
  display:flex;align-items:center;gap:6px;
  padding:5px 11px;border:1px solid var(--border);border-radius:6px;
  background:var(--bg-soft);font-size:12px;
  flex:1;min-width:160px;max-width:280px;
}
#tasks-root .fsearch input{background:none;border:0;outline:0;flex:1;font:inherit;color:var(--text);font-size:12px;}
#tasks-root .fsearch input::placeholder{color:var(--text-3);}
#tasks-root .fsearch svg{width:13px;height:13px;color:var(--text-3);}
#tasks-root .view-seg{display:flex;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0;}
#tasks-root .view-seg button{
  padding:5px 10px;font-size:11.5px;font-weight:500;
  color:var(--text-2);background:var(--bg-soft);
  transition:all var(--dur-fast);display:flex;align-items:center;gap:5px;white-space:nowrap;
  border:0;cursor:pointer;font-family:inherit;
}
#tasks-root .view-seg button.on{background:var(--text);color:white;}
#tasks-root .view-seg button svg{width:12px;height:12px;}

/* ═══════════════════════════════════════════════════════════════════
   URGENCY GROUPS
   ═══════════════════════════════════════════════════════════════════ */
#tasks-root .urg-group{margin-bottom:20px;animation:przRise var(--dur-slow) var(--ease-out) both;}
/* Ver mais/Mostrar menos: oculta linhas com data-overflow="1" enquanto container tem .is-clipped */
#tasks-root [data-group-rows].is-clipped > [data-overflow="1"]{display:none !important;}
#tasks-root .list-more svg{transition:transform .18s var(--ease-out);}
#tasks-root .urg-group-head{display:flex;align-items:center;gap:10px;padding:6px 0 8px;}
#tasks-root .urg-group-label{
  font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;
  display:flex;align-items:center;gap:6px;
}
#tasks-root .urg-group-label .dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;}
#tasks-root .urg-group-label.vencido{color:var(--danger);}
#tasks-root .urg-group-label.vencido .dot{background:var(--danger);}
#tasks-root .urg-group-label.hoje{color:var(--orange);}
#tasks-root .urg-group-label.hoje .dot{background:var(--orange);}
#tasks-root .urg-group-label.amanha{color:oklch(0.55 0.14 60);}
#tasks-root .urg-group-label.amanha .dot{background:var(--accent);}
#tasks-root .urg-group-label.semana{color:var(--info);}
#tasks-root .urg-group-label.semana .dot{background:var(--info);}
#tasks-root .urg-group-label.futuro{color:var(--text-3);}
#tasks-root .urg-group-label.futuro .dot{background:var(--border-strong);}
#tasks-root .urg-group-label.done{color:var(--positive);}
#tasks-root .urg-group-label.done .dot{background:var(--positive);}
#tasks-root .urg-group-count{
  font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--text-3);
  background:var(--bg-soft);padding:2px 7px;border-radius:6px;
}
#tasks-root .urg-sep{flex:1;height:1px;background:var(--border);}

/* ═══════════════════════════════════════════════════════════════════
   TASK ROW — 3 zonas
   ═══════════════════════════════════════════════════════════════════ */
#tasks-root .task-wrap{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--bg-elev);}
#tasks-root .task-row{
  display:flex;align-items:stretch;
  min-height:64px;
  border-bottom:1px solid var(--border);
  border-left:3px solid transparent;
  transition:background var(--dur-fast);
  cursor:pointer;
  position:relative;
}
#tasks-root .task-row:last-of-type{border-bottom:0;}
#tasks-root .task-row:hover{background:var(--bg-soft);}
#tasks-root .task-row.vencido{border-left-color:var(--danger);}
#tasks-root .task-row.hoje{border-left-color:var(--orange);}
#tasks-root .task-row.amanha{border-left-color:var(--accent);}
#tasks-root .task-row.semana{border-left-color:var(--info);}
#tasks-root .task-row.futuro{border-left-color:var(--border-strong);}
#tasks-root .task-row.done{border-left-color:var(--positive);opacity:.6;}

/* Zona 1: conteúdo */
#tasks-root .task-main{flex:1;min-width:0;padding:12px 16px;display:flex;flex-direction:column;justify-content:center;gap:3px;}
#tasks-root .task-title-row{display:flex;align-items:baseline;gap:8px;min-width:0;}
#tasks-root .task-title{font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);flex-shrink:0;max-width:60%;}
#tasks-root .task-title-sep{color:var(--border-strong);font-size:12px;flex-shrink:0;}
#tasks-root .task-title-client{font-size:12.5px;color:var(--text-2);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;}
#tasks-root .task-row.done .task-title{text-decoration:line-through;color:var(--text-3);}
#tasks-root .task-row.done .task-title-client{text-decoration:line-through;color:var(--text-3);}
#tasks-root .task-sub{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:1px;}
#tasks-root .task-sub .client{font-size:11.5px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px;}
#tasks-root .task-sub .proc{font-size:10.5px;color:var(--text-3);font-family:'JetBrains Mono',monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px;}
#tasks-root .task-sub .sep{color:var(--border-strong);}
#tasks-root .task-badges{display:flex;align-items:center;gap:5px;margin-top:3px;flex-wrap:wrap;}
#tasks-root .tipo-b{
  display:inline-flex;align-items:center;padding:1px 7px;border-radius:3px;
  font-size:10px;font-weight:600;font-family:'JetBrains Mono',monospace;
  text-transform:uppercase;letter-spacing:0.05em;white-space:nowrap;
}
#tasks-root .tipo-b.prazo{background:var(--danger-soft);color:var(--danger);}
#tasks-root .tipo-b.peticao{background:var(--accent-soft);color:oklch(0.5 0.14 60);}
#tasks-root .tipo-b.audiencia{background:var(--info-soft);color:oklch(0.42 0.13 245);}
#tasks-root .tipo-b.diligencia{background:var(--purple-soft);color:oklch(0.42 0.18 295);}
#tasks-root .tipo-b.recurso{background:oklch(0.70 0.14 300/.12);color:oklch(0.42 0.14 300);}
#tasks-root .tipo-b.admin{background:var(--bg-soft);color:var(--text-3);}
#tasks-root .prio-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;}
#tasks-root .prio-dot.alta,#tasks-root .prio-dot.critica{background:var(--danger);}
#tasks-root .prio-dot.media{background:var(--accent);}
#tasks-root .prio-dot.baixa{background:var(--text-3);}
#tasks-root .prio-txt{font-size:10.5px;color:var(--text-3);text-transform:capitalize;}
#tasks-root .prio-txt.alta,#tasks-root .prio-txt.critica{color:var(--danger);font-weight:500;}
#tasks-root .prio-txt.media{color:oklch(0.5 0.14 60);font-weight:500;}
#tasks-root .prio-chip{
  display:inline-flex;align-items:center;padding:1px 7px;border-radius:3px;
  font-size:10px;font-weight:600;font-family:'JetBrains Mono',monospace;
  text-transform:uppercase;letter-spacing:0.05em;white-space:nowrap;
}
#tasks-root .prio-chip--critica{background:var(--danger-soft);color:var(--danger);}
#tasks-root .prio-chip--alta{background:var(--danger-soft);color:var(--danger);}
#tasks-root .prio-chip--media{background:var(--accent-soft);color:oklch(0.5 0.14 60);}
#tasks-root .prio-chip--baixa{background:var(--bg-soft);color:var(--text-3);}

/* Status badge inline */
#tasks-root .status-b{
  display:inline-flex;align-items:center;padding:1px 7px;border-radius:3px;
  font-size:10px;font-weight:600;font-family:'JetBrains Mono',monospace;
  text-transform:uppercase;letter-spacing:0.05em;white-space:nowrap;
}
#tasks-root .status-b.backlog{background:var(--bg-soft);color:var(--text-3);}
#tasks-root .status-b.doing,#tasks-root .status-b.em-andamento{background:var(--info-soft);color:oklch(0.42 0.13 245);}
#tasks-root .status-b.review,#tasks-root .status-b.em-revisao{background:var(--purple-soft);color:oklch(0.42 0.18 295);}
#tasks-root .status-b.done,#tasks-root .status-b.protocolada{background:var(--positive-soft);color:oklch(0.42 0.14 155);}
#tasks-root .status-b.arquivada{background:var(--bg-soft);color:var(--text-3);}

/* ─────────────────────────────────────────────────────────────────────
   CARD HOJE — substitui Foco Imediato + Pronto pra Protocolar
   Visual sóbrio: sem gradiente, borda esquerda colorida por coluna,
   fundo branco, sombra suave.
   ───────────────────────────────────────────────────────────────────── */
#tasks-root .hjc-card{
  margin:6px 0 24px;
  background:#fff;
  border:1px solid var(--border, #e5e7eb);
  border-radius:12px;
  padding:16px 16px 14px;
  box-shadow:0 1px 2px rgba(15,23,42,.04);
  animation:przRise var(--dur-slow) var(--ease-out) both;
}
#tasks-root .hjc-card-head{
  display:flex;align-items:center;gap:10px;
  padding-bottom:12px;margin-bottom:12px;
  border-bottom:1px solid var(--border, #e5e7eb);
}
#tasks-root .hjc-card-title{
  font-family:'Inter Tight',Inter,sans-serif;
  font-size:18px;font-weight:600;letter-spacing:-0.02em;
  color:var(--text-1, #111827);
}
#tasks-root .hjc-card-date{
  font-size:12px;color:var(--text-3, #6b7280);font-weight:500;
}
#tasks-root .hjc-card-spacer{flex:1;}
#tasks-root .hjc-card-summary{display:flex;gap:6px;flex-wrap:wrap;}
#tasks-root .hjc-summary-pill{
  display:inline-flex;align-items:center;gap:6px;
  font-size:11px;font-weight:600;
  padding:3px 9px;border-radius:999px;
  background:#f3f4f6;color:#374151;
}
#tasks-root .hjc-summary-pill .hjc-summary-dot{
  width:6px;height:6px;border-radius:50%;background:currentColor;
}
#tasks-root .hjc-summary-pill.afazer{background:#fef2f2;color:#b91c1c;}
#tasks-root .hjc-summary-pill.pronto{background:#f0fdf4;color:#15803d;}
#tasks-root .hjc-summary-pill.amanha{background:#fff7ed;color:#c2410c;}

/* Grid de 3 colunas — vira coluna única em telas pequenas */
#tasks-root .hjc-grid{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:14px;
}
@media (max-width: 1100px){
  #tasks-root .hjc-grid{grid-template-columns:1fr;gap:18px;}
}

#tasks-root .hjc-col{
  display:flex;flex-direction:column;min-width:0;
  background:#fafafa;
  border:1px solid var(--border, #e5e7eb);
  border-radius:10px;
  padding:10px 10px 8px;
  border-left-width:3px;
}
#tasks-root .hjc-col--afazer{border-left-color:#dc2626;background:#fffbfb;}
#tasks-root .hjc-col--pronto{border-left-color:#16a34a;background:#fbfffc;}
#tasks-root .hjc-col--amanha{border-left-color:#f59e0b;background:#fffdf7;}

#tasks-root .hjc-col-head{
  display:flex;align-items:center;gap:8px;
  padding:2px 4px 10px;
  border-bottom:1px dashed transparent;
}
#tasks-root .hjc-col-label{
  font-size:11px;font-weight:700;letter-spacing:0.08em;
  text-transform:uppercase;color:var(--text-2, #4b5563);
}
#tasks-root .hjc-col-count{
  font-family:'JetBrains Mono',monospace;
  font-size:11px;font-weight:700;
  padding:2px 7px;border-radius:6px;
  background:#e5e7eb;color:#374151;
}
#tasks-root .hjc-col--afazer .hjc-col-count{background:#fee2e2;color:#b91c1c;}
#tasks-root .hjc-col--pronto .hjc-col-count{background:#dcfce7;color:#15803d;}
#tasks-root .hjc-col--amanha .hjc-col-count{background:#fef3c7;color:#b45309;}
#tasks-root .hjc-col-sub{
  font-size:10.5px;color:var(--text-3, #6b7280);
  margin-left:auto;font-weight:500;
}
#tasks-root .hjc-col-empty{
  padding:18px 8px;text-align:center;
  font-size:12px;color:var(--text-3, #9ca3af);
}
#tasks-root .hjc-col.is-empty{opacity:0.72;}

#tasks-root .hjc-col-list{
  display:flex;flex-direction:column;gap:6px;
  max-height:480px;overflow-y:auto;
  padding:4px 2px;
  /* scrollbar fina */
  scrollbar-width:thin;scrollbar-color:#d1d5db transparent;
}
#tasks-root .hjc-col-list::-webkit-scrollbar{width:6px;}
#tasks-root .hjc-col-list::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px;}

/* Row em 3 linhas — legibilidade > densidade.
   Linha 1 (head): dot + título (até 2 linhas) + avatar resp
   Linha 2 (meta): cliente · processo · tipo (com wrap)
   Linha 3 (foot): pílula de prazo + actions
*/
#tasks-root .hjc-row{
  display:flex;flex-direction:column;gap:5px;
  padding:10px 12px;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:8px;
  transition:border-color var(--dur-fast,.15s) ease,box-shadow var(--dur-fast,.15s) ease;
  cursor:pointer;
}
#tasks-root .hjc-row:hover{
  border-color:#cbd5e1;
  box-shadow:0 2px 6px rgba(15,23,42,.06);
}

#tasks-root .hjc-row-head{
  display:flex;align-items:flex-start;gap:8px;min-width:0;
}
#tasks-root .hjc-dot{
  width:8px;height:8px;border-radius:50%;
  background:#9ca3af;flex-shrink:0;
  margin-top:5px; /* alinha com 1ª linha do título */
}
#tasks-root .hjc-dot.vencido{background:#dc2626;box-shadow:0 0 0 2px #fee2e2;}
#tasks-root .hjc-dot.hoje{background:#f59e0b;box-shadow:0 0 0 2px #fef3c7;}
#tasks-root .hjc-dot.amanha{background:#f59e0b;}
#tasks-root .hjc-dot.pronto-fresca{background:#16a34a;}
#tasks-root .hjc-dot.pronto-media{background:#eab308;}
#tasks-root .hjc-dot.pronto-velha{background:#dc2626;box-shadow:0 0 0 2px #fee2e2;}

#tasks-root .hjc-title{
  flex:1;min-width:0;
  font-size:13px;font-weight:600;color:var(--text-1, #111827);
  line-height:1.35;
  /* até 3 linhas, depois ellipsis. Em coluna estreita (Hoje/Amanhã, ~180px)
     2 linhas cortavam títulos de prazo pela metade; o resto vai no title. */
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;
  overflow:hidden;word-break:break-word;
}

#tasks-root .hjc-resp{
  width:22px;height:22px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  color:#fff;font-size:10px;font-weight:700;
  font-family:'Inter',sans-serif;
  flex-shrink:0;margin-top:1px;
}

#tasks-root .hjc-meta{
  display:flex;align-items:center;gap:5px;flex-wrap:wrap;
  font-size:11.5px;color:var(--text-3, #6b7280);
  padding-left:16px; /* alinha com o título (8px dot + 8px gap) */
  line-height:1.35;
}
#tasks-root .hjc-cliente{
  font-weight:500;color:#374151;
  /* sem max-width — deixa fluir, wrap natural */
}
#tasks-root .hjc-proc{
  font-family:'JetBrains Mono',monospace;
  font-size:10.5px;
}
#tasks-root .hjc-sep{opacity:0.5;font-weight:600;}
#tasks-root .hjc-tipo{
  font-size:10px;font-weight:600;
  padding:1px 6px;border-radius:4px;
  background:#f3f4f6;color:#374151;
  letter-spacing:0.01em;
}

#tasks-root .hjc-foot{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding-left:16px;margin-top:2px;
}
#tasks-root .hjc-prazo{
  font-family:'JetBrains Mono',monospace;
  font-size:10.5px;font-weight:600;
  padding:2px 7px;border-radius:5px;
  white-space:nowrap;
  background:#f3f4f6;color:#4b5563;
}
#tasks-root .hjc-prazo.vencido{background:#fee2e2;color:#b91c1c;}
#tasks-root .hjc-prazo.hoje{background:#fef3c7;color:#b45309;}
#tasks-root .hjc-prazo.amanha{background:#fef3c7;color:#b45309;}
#tasks-root .hjc-prazo.pronto-fresca{background:#dcfce7;color:#15803d;}
#tasks-root .hjc-prazo.pronto-media{background:#fef9c3;color:#854d0e;}
#tasks-root .hjc-prazo.pronto-velha{background:#fee2e2;color:#b91c1c;}

#tasks-root .hjc-actions{
  display:flex;align-items:center;gap:3px;
  opacity:0.5;transition:opacity var(--dur-fast,.15s) ease;
}
#tasks-root .hjc-row:hover .hjc-actions{opacity:1;}
#tasks-root .hjc-act{
  display:inline-flex;align-items:center;gap:4px;
  padding:5px 8px;border-radius:6px;
  font-size:11px;font-weight:600;
  background:#fff;color:var(--text-2, #4b5563);
  border:1px solid #e5e7eb;
  cursor:pointer;
  transition:background var(--dur-fast,.15s) ease,border-color var(--dur-fast,.15s) ease,color var(--dur-fast,.15s) ease;
}
#tasks-root .hjc-act:hover{background:#f9fafb;border-color:#cbd5e1;color:var(--text-1, #111827);}
#tasks-root .hjc-act--primary{
  background:#16a34a;color:#fff;border-color:#15803d;
  box-shadow:0 1px 2px rgba(22,163,74,.25);
}
#tasks-root .hjc-act--primary:hover{background:#15803d;color:#fff;border-color:#14532d;}
/* Protocolar é o CTA principal da coluna "pronto" — sempre 100% visível */
#tasks-root .hjc-row.pronto .hjc-actions{opacity:1;}
#tasks-root .hjc-menu-btn{padding:5px 6px;}

/* Variante touch / sempre visível em telas pequenas */
@media (hover: none), (max-width: 768px){
  #tasks-root .hjc-actions{opacity:1;}
}

/* Estado totalmente vazio (tudo em dia) */
#tasks-root .hjc-card.hjc-empty-all{
  display:flex;align-items:center;gap:12px;
  padding:14px 18px;
}
#tasks-root .hjc-empty-all-icon{
  width:32px;height:32px;border-radius:50%;
  background:#dcfce7;color:#15803d;
  display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
}
#tasks-root .hjc-empty-all-text{
  font-size:13px;color:var(--text-2, #4b5563);
}
#tasks-root .hjc-empty-all-text strong{color:var(--text-1, #111827);font-weight:600;}

/* Foco Imediato panel (legado — pode remover se quiser, deixado por seg.) */
#tasks-root .foco-panel{
  margin:6px 0 26px;animation:przRise var(--dur-slow) var(--ease-out) both;
  background:linear-gradient(180deg,#fff5f5 0%,#fff 100%);
  border:1px solid #fecaca;border-left:3px solid var(--danger);
  border-radius:12px;padding:14px 16px 12px;
  box-shadow:0 1px 0 rgba(220,38,38,.04),0 8px 24px -12px rgba(220,38,38,.18);
  position:relative;
}
#tasks-root .foco-panel::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--danger) 0%,#f97316 100%);
  border-radius:12px 12px 0 0;
}
#tasks-root .foco-head{display:flex;align-items:center;gap:10px;padding:2px 0 12px;}
#tasks-root .foco-label{
  font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.10em;
  color:var(--danger);display:inline-flex;align-items:center;gap:6px;
  background:#fee2e2;padding:4px 9px;border-radius:6px;
}
#tasks-root .foco-label .dot{width:6px;height:6px;border-radius:50%;background:var(--danger);flex-shrink:0;animation:przPulse 1.6s ease-in-out infinite;}
#tasks-root .foco-count{
  font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;
  color:#fff;background:var(--danger);padding:3px 9px;border-radius:6px;
}
#tasks-root .foco-sub{font-size:11.5px;color:#991b1b;font-weight:500;}
#tasks-root .foco-panel .task-row{
  background:#fff;border-color:#fecaca;
  box-shadow:0 1px 2px rgba(220,38,38,.06);
}
#tasks-root .foco-panel .task-row:hover{
  border-color:#fca5a5;background:#fffaf9;
}

/* ── PRONTO PARA PROTOCOLAR (verde, calmo, sugerindo ação) ── */
#tasks-root .pronto-panel{
  margin:6px 0 22px;animation:przRise var(--dur-slow) var(--ease-out) both;
  background:linear-gradient(180deg,#f0fdf4 0%,#fff 100%);
  border:1px solid #bbf7d0;border-left:3px solid #16a34a;
  border-radius:12px;padding:14px 16px 12px;
  box-shadow:0 1px 0 rgba(22,163,74,.04),0 8px 24px -12px rgba(22,163,74,.18);
  position:relative;
}
#tasks-root .pronto-panel::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,#16a34a 0%,#10b981 100%);
  border-radius:12px 12px 0 0;
}
#tasks-root .pronto-head{display:flex;align-items:center;gap:10px;padding:2px 0 12px;}
#tasks-root .pronto-label{
  font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.10em;
  color:#15803d;display:inline-flex;align-items:center;gap:6px;
  background:#dcfce7;padding:4px 9px;border-radius:6px;
}
#tasks-root .pronto-dot{width:6px;height:6px;border-radius:50%;background:#16a34a;flex-shrink:0;}
#tasks-root .pronto-count{
  font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;
  color:#fff;background:#16a34a;padding:3px 9px;border-radius:6px;
}
#tasks-root .pronto-sub{font-size:11.5px;color:#15803d;font-weight:500;}
#tasks-root .pronto-panel .task-row{
  background:#fff;border-color:#bbf7d0;
  box-shadow:0 1px 2px rgba(22,163,74,.06);
  position:relative;
}
#tasks-root .pronto-panel .task-row:hover{
  border-color:#86efac;background:#f7fffa;
}
#tasks-root .prot-cta{
  position:absolute;top:50%;right:14px;transform:translateY(-50%);
  display:inline-flex;align-items:center;gap:5px;
  padding:6px 11px;border-radius:8px;font-size:11.5px;font-weight:600;
  background:#16a34a;color:#fff;border:1px solid #15803d;
  cursor:pointer;transition:transform var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out);
  box-shadow:0 1px 3px rgba(22,163,74,.25);z-index:2;
}
#tasks-root .prot-cta:hover{background:#15803d;transform:translateY(-50%) translateX(-1px);}
#tasks-root .prot-cta:active{transform:translateY(-50%) scale(0.97);}

/* ── KANBAN CARD ENRIQUECIDO ── */
/* Todo card do quadro tem a MESMA altura (--k-card-h): título de até 2 linhas,
   cliente e processo quando existem, e o rodapé sempre colado embaixo
   (margin-top:auto). Antes a altura vinha do conteúdo e a coluna virava uma
   escada — card com cliente e processo ficava o dobro do card sem nenhum. */
#tasks-root .prz-kanban{--k-card-h:126px;}
#tasks-root .k-card{position:relative;box-sizing:border-box;height:var(--k-card-h);overflow:hidden;}
#tasks-root .k-card__title{
  font-size:13px;font-weight:600;line-height:1.35;color:var(--text-1);
  margin-bottom:0;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  white-space:normal;text-overflow:clip;
  max-height:calc(1.35em * 2);   /* no máximo 2 linhas; o resto vira reticências */
}
#tasks-root .k-card__client{
  font-size:11.5px;color:var(--text-2);font-weight:500;
  display:flex;align-items:center;gap:5px;margin-bottom:0;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  height:16px;
}
#tasks-root .k-card__client::before{
  content:'';width:4px;height:4px;border-radius:50%;background:var(--text-3);flex-shrink:0;
}
#tasks-root .k-card__proc{
  font-size:10.5px;color:var(--accent);font-family:'JetBrains Mono',monospace;
  font-weight:500;margin-bottom:0;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  height:14px;
}
/* Slot sem dado simplesmente sai do fluxo — a altura do card é fixa, então
   nada "encolhe" por causa disso. */
#tasks-root .k-card__client.is-vazio,
#tasks-root .k-card__proc.is-vazio{display:none;}
#tasks-root .k-card__chips{
  display:flex;flex-wrap:nowrap;gap:4px;align-items:center;min-width:0;flex:1 1 auto;overflow:hidden;
}
#tasks-root .k-card__chips>*{flex:0 0 auto;}
#tasks-root .k-card__row{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  margin-top:auto;   /* ancora o rodapé na base, sem depender do que veio acima */
  height:20px;flex:0 0 auto;
}
#tasks-root .k-card__meta{
  display:flex;align-items:center;gap:6px;flex-shrink:0;
}
#tasks-root .k-card__meta .sla-value{font-size:11px;font-weight:600;}
#tasks-root .k-card__meta .resp-ava{
  width:20px;height:20px;font-size:9px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  color:#fff;font-weight:600;
}
#tasks-root .k-card[draggable="true"]{cursor:grab;}
#tasks-root .k-card[draggable="true"]:active{cursor:grabbing;}
#tasks-root .k-card--dragging{opacity:.45;transform:scale(.98);}
#tasks-root .kanban-col-body{min-height:60px;transition:background .15s ease;}
#tasks-root .kanban-col-body.is-drop-over{
  background:color-mix(in oklab, var(--accent) 8%, transparent);
  outline:2px dashed color-mix(in oklab, var(--accent) 50%, transparent);
  outline-offset:-4px;border-radius:8px;
}
#tasks-root .kanban-col-empty{font-size:11.5px;color:var(--text-3);text-align:center;padding:16px 0;}
#tasks-root .k-card__date{
  font-size:10.5px;color:var(--text-2);
  display:inline-flex;align-items:center;gap:4px;font-weight:500;
}
#tasks-root .k-card__date svg{width:11px;height:11px;}
#tasks-root .k-card .prio-chip{
  display:inline-flex;align-items:center;
  padding:1px 6px;border-radius:3px;
  font-size:9.5px;font-weight:600;font-family:'JetBrains Mono',monospace;
  text-transform:uppercase;letter-spacing:0.04em;
}
#tasks-root .k-card .prio-chip--critica,
#tasks-root .k-card .prio-chip--alta{background:#fee2e2;color:#991b1b;}
#tasks-root .k-card .prio-chip--media{background:#fef3c7;color:#92400e;}
#tasks-root .k-card .prio-chip--baixa{background:#f3f4f6;color:#6b7280;}
#tasks-root .checklist-prog{font-size:10.5px;color:var(--text-3);font-family:'JetBrains Mono',monospace;display:flex;align-items:center;gap:4px;}
#tasks-root .checklist-bar{width:32px;height:3px;border-radius:2px;background:var(--border);overflow:hidden;}
#tasks-root .checklist-bar>div{height:100%;background:var(--positive);border-radius:2px;}

/* Zona 2: SLA */
#tasks-root .task-sla{
  width:128px;flex-shrink:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;padding:0 16px;
  border-left:1px solid var(--border);gap:3px;
}
#tasks-root .sla-value{
  font-family:'Inter Tight',sans-serif;font-size:16px;font-weight:700;
  letter-spacing:-0.02em;font-variant-numeric:tabular-nums;line-height:1;
}
#tasks-root .sla-date{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--text-3);}
#tasks-root .sla-value.vencido{color:var(--danger);}
#tasks-root .sla-value.hoje{color:var(--orange);}
#tasks-root .sla-value.amanha{color:oklch(0.55 0.14 60);}
#tasks-root .sla-value.semana{color:var(--info);}
#tasks-root .sla-value.futuro{color:var(--text-3);}
#tasks-root .sla-value.done{color:var(--positive);}

/* Zona 3: responsável + menu */
#tasks-root .task-meta{
  width:88px;flex-shrink:0;display:flex;align-items:center;justify-content:flex-end;
  gap:6px;padding:0 12px;border-left:1px solid var(--border);
}
#tasks-root .resp-ava{
  width:28px;height:28px;border-radius:50%;display:grid;place-items:center;
  font-size:10px;font-weight:600;color:white;flex-shrink:0;
}
#tasks-root .task-menu-btn{
  width:28px;height:28px;display:grid;place-items:center;
  border-radius:5px;color:var(--text-3);transition:all var(--dur-fast);flex-shrink:0;
  background:none;border:0;cursor:pointer;
}
#tasks-root .task-menu-btn:hover{background:var(--bg-soft);color:var(--text);}

/* Hover quick actions */
#tasks-root .task-qact{
  position:absolute;right:96px;top:50%;transform:translateY(-50%);
  display:none;gap:3px;
  background:var(--bg-elev);border:1px solid var(--border);
  border-radius:var(--radius-xs);padding:3px;
  box-shadow:0 2px 12px rgba(0,0,0,.08);z-index:5;
}
#tasks-root .task-row:hover .task-qact{display:flex;}
#tasks-root .qa{
  width:28px;height:28px;display:grid;place-items:center;
  border-radius:4px;color:var(--text-3);
  transition:all var(--dur-fast);background:none;border:0;cursor:pointer;
}
#tasks-root .qa:hover{background:var(--bg-soft);color:var(--text);}
#tasks-root .qa svg{width:14px;height:14px;}

/* List-more */
#tasks-root .list-more{
  display:flex;align-items:center;justify-content:center;gap:6px;
  padding:10px;font-size:12px;font-weight:500;color:var(--text-2);
  border-top:1px solid var(--border);cursor:pointer;width:100%;
  transition:all var(--dur-fast);background:none;border-left:0;border-right:0;border-bottom:0;
  font-family:inherit;
}
#tasks-root .list-more:hover{background:var(--bg-soft);color:var(--text);}

/* ═══════════════════════════════════════════════════════════════════
   KANBAN
   ═══════════════════════════════════════════════════════════════════ */
#tasks-root .prz-kanban{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;animation:przRise var(--dur-slow) var(--ease-out) both;}
#tasks-root .kanban-col{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elev);overflow:hidden;display:flex;flex-direction:column;min-height:200px;}
#tasks-root .kanban-col-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--bg-soft);border-bottom:1px solid var(--border);}
#tasks-root .kanban-col-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;color:var(--text-2);display:flex;align-items:center;gap:7px;}
#tasks-root .kanban-col-title .dot{width:6px;height:6px;border-radius:2px;}
#tasks-root .kanban-col-count{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--text-3);font-weight:500;}
#tasks-root .kanban-col-body{padding:8px;display:flex;flex-direction:column;gap:6px;flex:1;min-height:120px;}
#tasks-root .k-card{
  background:var(--bg-elev);border:1px solid var(--border);border-left:3px solid transparent;
  border-radius:7px;padding:10px 12px;cursor:pointer;
  transition:box-shadow var(--dur),border-color var(--dur);
  display:flex;flex-direction:column;gap:6px;
}
#tasks-root .k-card:hover{box-shadow:0 2px 12px rgba(0,0,0,.07);border-color:var(--border-strong);}
#tasks-root .k-card.vencido{border-left-color:var(--danger);}
#tasks-root .k-card.hoje{border-left-color:var(--orange);}
#tasks-root .k-card.amanha{border-left-color:var(--accent);}
#tasks-root .k-card.semana{border-left-color:var(--info);}
#tasks-root .k-card.futuro{border-left-color:var(--border-strong);}
#tasks-root .k-card.done{border-left-color:var(--positive);opacity:.75;}
#tasks-root .k-card.done .k-card__title{text-decoration:line-through;color:var(--text-3);}
#tasks-root .k-card__foot{display:flex;align-items:center;justify-content:space-between;gap:8px;}
#tasks-root .k-card__foot .right{display:flex;align-items:center;gap:6px;}
#tasks-root .k-card__foot .sla-value{font-size:12px;}
#tasks-root .k-card .resp-ava{width:20px;height:20px;font-size:9px;}
#tasks-root .k-card__empty{font-size:12px;color:var(--text-3);text-align:center;padding:20px 12px;}

@media(max-width:1200px){#tasks-root .prz-kanban{grid-template-columns:repeat(2,1fr);}#tasks-root .task-sla{width:100px;}}
@media(max-width:860px){#tasks-root .prz-kanban{grid-template-columns:1fr;}#tasks-root .task-sla{display:none;}}

/* ═══════════════════════════════════════════════════════════════════
   EMPTY STATE
   ═══════════════════════════════════════════════════════════════════ */
#tasks-root .prz-empty{
  border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev);
  padding:52px 24px;text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:10px;
}
#tasks-root .prz-empty__icon{
  width:48px;height:48px;border-radius:50%;background:var(--bg-soft);color:var(--text-3);
  display:grid;place-items:center;
}
#tasks-root .prz-empty__title{font-family:'Inter Tight',sans-serif;font-size:15px;font-weight:600;color:var(--text);}
#tasks-root .prz-empty__desc{font-size:12px;color:var(--text-2);max-width:280px;}

/* Neutraliza seções antigas duplicadas do controller */
#tasks-root .prz-hide{display:none !important;}

/* ═══════════════════════════════════════════════════════════════════
   DROPDOWN MENU (3-dots) — padronizado com Audiências/Clientes
   ═══════════════════════════════════════════════════════════════════ */
#tasks-root .menu-pop{
  position:absolute;right:8px;top:36px;z-index:20;min-width:190px;
  background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);
  box-shadow:0 8px 32px rgba(0,0,0,0.12);
  padding:4px;display:none;flex-direction:column;
}
#tasks-root .menu-pop.on{display:flex;}
#tasks-root .menu-pop button{
  background:none;border:0;text-align:left;
  padding:7px 10px;font-size:12px;color:var(--text-2);cursor:pointer;
  border-radius:var(--radius-xs);font-family:inherit;
  display:flex;align-items:center;gap:8px;
}
#tasks-root .menu-pop button:hover{background:var(--bg-soft);color:var(--text);}
#tasks-root .menu-pop .sep{height:1px;background:var(--border);margin:3px 2px;}
#tasks-root .menu-pop button.danger{color:oklch(0.44 0.20 25);}
#tasks-root .menu-pop button.danger:hover{background:var(--danger-soft);}

/* ═══════════════════════════════════════════════════════════════════
   MODAL REDESIGN — Nova tarefa + Templates jurídicos (combo)
   ═══════════════════════════════════════════════════════════════════ */

/* Section header (uppercase mono) — usado em ambos modais */
[data-task-modal] .msec,
[data-templates-modal] .msec{
  font-family:'JetBrains Mono','SF Mono',ui-monospace,Menlo,monospace;
  font-size:10px;font-weight:600;
  color:#94a3b8;
  text-transform:uppercase;letter-spacing:.12em;
  margin:0 0 10px 0;
}

/* ── NOVA TAREFA — overrides estruturais ───────────────────────── */
[data-task-modal] .nt-shell{
  display:flex;flex-direction:column;gap:0;
}
[data-task-modal] .nt-header{
  display:flex;align-items:center;justify-content:space-between;
  gap:16px;padding:18px 28px 14px;
  border-bottom:1px solid #eef2f6;
}
[data-task-modal] .nt-header__title h2{
  margin:0;font-size:17px;font-weight:600;color:#0f172a;letter-spacing:-.01em;
}
[data-task-modal] .nt-header__title p{
  margin:2px 0 0;font-size:12px;color:#94a3b8;
}
[data-task-modal] .nt-header__actions{
  display:flex;align-items:center;gap:8px;
}
[data-task-modal] .nt-close{
  width:30px;height:30px;border-radius:8px;border:0;background:transparent;
  color:#94a3b8;cursor:pointer;display:flex;align-items:center;justify-content:center;
}
[data-task-modal] .nt-close:hover{background:#f1f5f9;color:#0f172a;}
[data-task-modal] .nt-form{
  display:block!important;
  grid-template-columns:none!important;
  padding:6px 28px 14px!important;
  gap:0!important;
}
[data-task-modal] .nt-section{
  padding:14px 0;
  border-bottom:1px solid #f5f7fa;
}
[data-task-modal] .nt-section:last-child{border-bottom:0;padding-bottom:4px;}
[data-task-modal] .nt-section--first,
[data-task-modal] .nt-section:first-of-type{padding-top:14px;}
[data-task-modal] .nt-section__head{
  display:flex;align-items:center;justify-content:space-between;
  gap:12px;margin-bottom:10px;
}
[data-task-modal] .nt-grid-2{
  display:grid;grid-template-columns:1fr 1fr;gap:12px;
}
[data-task-modal] .nt-grid-3{
  display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;
}
[data-task-modal] .nt-grid-4{
  display:grid;grid-template-columns:repeat(4,1fr);gap:12px;
}
@media (max-width:720px){
  [data-task-modal] .nt-grid-4{grid-template-columns:1fr 1fr;}
}
[data-task-modal] .nt-input--lg{
  font-size:15px!important;padding:12px 14px!important;font-weight:500;
}
[data-task-modal] .nt-field{display:flex;flex-direction:column;gap:6px;}
[data-task-modal] .nt-field > label{
  font-size:10px;font-weight:600;color:#94a3b8;
  text-transform:uppercase;letter-spacing:.10em;
  font-family:'JetBrains Mono','SF Mono',ui-monospace,Menlo,monospace;
}
[data-task-modal] .nt-input,
[data-task-modal] .nt-select,
[data-task-modal] .nt-textarea{
  width:100%;
  padding:10px 12px;
  border:1px solid #e2e8f0;border-radius:10px;
  background:#fff;
  font-size:13px;color:#0f172a;
  transition:border-color .15s,box-shadow .15s;
  margin-top:0!important;box-shadow:none!important;
}
[data-task-modal] .nt-input:focus,
[data-task-modal] .nt-select:focus,
[data-task-modal] .nt-textarea:focus{
  outline:none;border-color:#0f172a;box-shadow:0 0 0 3px rgba(15,23,42,.08);
}
[data-task-modal] .nt-textarea{min-height:96px;resize:vertical;}
[data-task-modal] .nt-tpl-btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:7px 12px;border-radius:8px;
  border:1px solid #e2e8f0;background:#fff;
  font-size:12px;font-weight:500;color:#0f172a;cursor:pointer;
  transition:background .15s;
}
[data-task-modal] .nt-tpl-btn:hover{background:#f8fafc;}
[data-task-modal] .nt-calc{
  margin-top:10px;
  border:1px solid #e2e8f0;border-radius:10px;
  overflow:hidden;background:#fafbfc;
}
[data-task-modal] .nt-calc__head{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 12px;cursor:pointer;
  font-size:12px;font-weight:500;color:#475569;
  user-select:none;
}
[data-task-modal] .nt-calc__head:hover{background:#f1f5f9;}
[data-task-modal] .nt-calc__chev{transition:transform .2s;}
[data-task-modal] .nt-calc[open] .nt-calc__chev{transform:rotate(180deg);}
[data-task-modal] .nt-calc__body{
  display:none;padding:12px;border-top:1px solid #e2e8f0;background:#fff;
}
[data-task-modal] .nt-calc[open] .nt-calc__body{display:block;}
[data-task-modal] .nt-resp-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
  gap:8px;max-height:none;
}
[data-task-modal] .nt-resp{
  display:flex;align-items:center;gap:8px;
  padding:8px 10px;border:1px solid #e2e8f0;border-radius:8px;
  background:#fff;cursor:pointer;font-size:12.5px;color:#0f172a;
  transition:border-color .12s;
}
[data-task-modal] .nt-resp:hover{border-color:#94a3b8;}
[data-task-modal] .nt-resp input{accent-color:#0f172a;}
[data-task-modal] .nt-checklist-li{
  display:flex;align-items:center;gap:8px;
  padding:7px 10px;border:1px solid #e2e8f0;border-radius:8px;
  background:#fff;margin-bottom:6px;
}
[data-task-modal] .nt-checklist-li input[type=text]{
  flex:1;border:0;background:transparent;outline:0;font-size:13px;color:#0f172a;
}
[data-task-modal] .nt-add-btn{
  font-size:12px;font-weight:500;color:#475569;
  padding:6px 10px;border:1px dashed #cbd5e1;border-radius:8px;
  background:#fff;cursor:pointer;
}
[data-task-modal] .nt-add-btn:hover{background:#f8fafc;border-color:#94a3b8;}
[data-task-modal] .nt-footer{
  display:flex;justify-content:space-between;align-items:center;
  padding:14px 32px;border-top:1px solid #e2e8f0;background:#fff;
  border-radius:0 0 32px 32px;
}
[data-task-modal] .nt-footer__right{display:flex;gap:10px;}
[data-task-modal] .nt-btn-ghost{
  padding:9px 18px;border:1px solid #e2e8f0;background:#fff;
  border-radius:9px;font-size:13px;font-weight:500;color:#475569;cursor:pointer;
}
[data-task-modal] .nt-btn-ghost:hover{background:#f8fafc;}
[data-task-modal] .nt-btn-primary{
  padding:9px 20px;background:#0f172a;color:#fff;
  border:0;border-radius:9px;font-size:13px;font-weight:600;cursor:pointer;
  box-shadow:0 1px 2px rgba(15,23,42,.18);
}
[data-task-modal] .nt-btn-primary:hover{background:#1e293b;}

/* ── TEMPLATES JURÍDICOS — redesign completo ───────────────────── */
[data-templates-modal] .tpl-shell{
  width:min(880px,94vw);
  height:min(760px,88vh);
  display:flex;flex-direction:column;
  border-radius:20px;background:#fff;
  border:1px solid #e2e8f0;
  box-shadow:0 32px 80px rgba(15,23,42,.22);
  overflow:hidden;
}
[data-templates-modal] .tpl-head{
  display:flex;align-items:flex-start;justify-content:space-between;
  padding:20px 24px 14px;
}
[data-templates-modal] .tpl-head h2{
  margin:0;font-size:18px;font-weight:600;color:#0f172a;letter-spacing:-.01em;
}
[data-templates-modal] .tpl-head__sub{
  margin:4px 0 0;font-size:12px;color:#64748b;
}
[data-templates-modal] .tpl-close{
  width:30px;height:30px;border-radius:8px;border:0;background:transparent;
  color:#64748b;cursor:pointer;display:flex;align-items:center;justify-content:center;
}
[data-templates-modal] .tpl-close:hover{background:#f1f5f9;color:#0f172a;}
[data-templates-modal] .tpl-search{
  margin:4px 24px 12px;position:relative;
}
[data-templates-modal] .tpl-search input{
  width:100%;padding:11px 14px 11px 38px;
  background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;
  font-size:13px;color:#0f172a;outline:none;
}
[data-templates-modal] .tpl-search input:focus{
  border-color:#0f172a;background:#fff;box-shadow:0 0 0 3px rgba(15,23,42,.06);
}
[data-templates-modal] .tpl-search svg{
  position:absolute;left:13px;top:50%;transform:translateY(-50%);
  color:#94a3b8;
}
[data-templates-modal] .tpl-tabs{
  display:flex;gap:6px;overflow-x:auto;padding:4px 24px 14px;
  scrollbar-width:none;
  border-bottom:1px solid #f1f5f9;margin-bottom:4px;
}
[data-templates-modal] .tpl-tabs::-webkit-scrollbar{display:none;}
[data-templates-modal] .tpl-tab{
  flex-shrink:0;padding:7px 14px;border-radius:999px;
  border:1px solid #e2e8f0;background:#fff;
  font-size:12px;font-weight:500;color:#475569;cursor:pointer;
  white-space:nowrap;transition:all .12s;
}
[data-templates-modal] .tpl-tab:hover{border-color:#94a3b8;}
[data-templates-modal] .tpl-tab.on{
  background:#0f172a;color:#fff;border-color:#0f172a;
}
[data-templates-modal] .tpl-list{
  flex:1;overflow-y:auto;padding:0 24px 22px;
}
[data-templates-modal] .tpl-row{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:12px;padding:12px 4px;
  border-bottom:1px solid #f1f5f9;
  transition:background .12s;
  align-items:center;
}
[data-templates-modal] .tpl-row:hover{background:#f8fafc;}
[data-templates-modal] .tpl-row:last-child{border-bottom:0;}
[data-templates-modal] .tpl-row__main{min-width:0;}
[data-templates-modal] .tpl-row__title{
  display:flex;align-items:center;flex-wrap:wrap;gap:8px;
  font-size:13.5px;font-weight:600;color:#0f172a;
  margin-bottom:3px;line-height:1.3;
}
[data-templates-modal] .tpl-badge-crit{
  display:inline-block;
  font-family:'JetBrains Mono','SF Mono',ui-monospace,Menlo,monospace;
  font-size:9.5px;font-weight:700;
  padding:2px 6px;border-radius:4px;
  background:#fef2f2;color:#dc2626;
  letter-spacing:.05em;
}
[data-templates-modal] .tpl-prazo{
  font-family:'JetBrains Mono','SF Mono',ui-monospace,Menlo,monospace;
  font-size:11.5px;color:#64748b;font-weight:500;
}
[data-templates-modal] .tpl-row__desc{
  font-size:12px;color:#64748b;line-height:1.4;margin:0 0 3px 0;
  overflow:hidden;text-overflow:ellipsis;
  display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;
}
[data-templates-modal] .tpl-row__legal{
  font-family:'JetBrains Mono','SF Mono',ui-monospace,Menlo,monospace;
  font-size:10.5px;color:#94a3b8;
}
[data-templates-modal] .tpl-row__meta{
  display:flex;align-items:center;gap:8px;
  font-size:11px;color:#64748b;
  white-space:nowrap;
}
[data-templates-modal] .tpl-row__area{
  font-size:10.5px;color:#475569;
  background:#f1f5f9;padding:3px 9px;border-radius:999px;
  font-weight:500;
}
[data-templates-modal] .tpl-row__meta > div{
  opacity:0;pointer-events:none;
  transition:opacity .12s;
}
[data-templates-modal] .tpl-row:hover .tpl-row__meta > div{
  opacity:1;pointer-events:auto;
}
[data-templates-modal] .tpl-empty{
  text-align:center;padding:48px 16px;color:#94a3b8;font-size:13px;
}

/* ── KANBAN NO CELULAR E NO TABLET (24/09/2026) ─────────────────────────────
   Abaixo de 860px as 4 colunas empilhavam: "A fazer" com 24 cartões media
   3.500px e "Em andamento" só aparecia lá embaixo. Agora é como nos apps de
   quadro (Trello): uma coluna por tela, deslizando de lado com encaixe, e a
   próxima aparecendo na borda para mostrar que dá para arrastar. Os cartões
   rolam dentro da coluna. */
@media (max-width: 860px) {
  #tasks-root .prz-kanban {
    display: flex !important;
    align-items: flex-start;
    gap: 12px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    margin: 0 -16px;
    padding: 0 16px 4px;
    scroll-padding-inline: 16px;
    scrollbar-width: none;
  }
  #tasks-root .prz-kanban::-webkit-scrollbar { display: none; }
  #tasks-root .prz-kanban > .kanban-col {
    flex: 0 0 min(calc(100% - 44px), 360px);
    scroll-snap-align: start;
    min-height: 0;
    /* cabe entre o topo do app e a barra de abas; o resto rola dentro */
    max-height: calc(100dvh - 190px - env(safe-area-inset-bottom, 0px));
  }
  #tasks-root .prz-kanban .kanban-col-body {
    overflow-y: auto;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    min-height: 0;
  }
  /* numa coluna só não há vizinho para alinhar: a altura fixa do cartão
     virava um vão vazio entre o cliente e as etiquetas */
  #tasks-root .prz-kanban .k-card {
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    transform: none !important;
    flex-shrink: 0;
  }
  #tasks-root .prz-kanban .k-card__row { margin-top: 4px; }
}

/* o quadradinho de seleção em massa é invisível fora do modo "Selecionar",
   mas a regra de toque do celular (botão ≥ 44px) o esticava para 48px em cima
   do título — tocar ali marcava a tarefa em vez de abrir */
#tasks-root .k-card > .bulk-check {
  min-height: 0 !important;
  min-width: 0 !important;
  padding: 0 !important;
  width: 18px;
  height: 18px;
}
body:not(.bulk-mode-on):not(.bulk-has-selection) #tasks-root .k-card:not(.is-bulk-selected) > .bulk-check { pointer-events: none; }

/* ==== /modules/tarefas/tarefas-ux-senior.css ==== */
/* ============================================================
 *  Tarefas UX Senior — estilos das melhorias do modal de tarefas
 *  Alinhado ao design v2 (clientes/audiências): tokens --bg-elev,
 *  --border, --text, --radius-sm, JetBrains Mono para eyebrows.
 * ============================================================ */

/* ---------- PREVIEW DE PRAZO JURÍDICO ---------- */
[data-task-modal] .tux-prazo-preview {
  margin-top: 8px;
  display: none;
  flex-direction: column;
  gap: 6px;
  padding: 10px 12px;
  background: var(--bg-soft, #F4F4F2);
  border: 1px solid var(--border, #E7E5E4);
  border-left: 3px solid var(--info, #0284c7);
  border-radius: var(--radius-sm, 8px);
  font-size: 12.5px;
  color: var(--text, #0A0B0D);
  animation: tux-fade 180ms ease;
}
[data-task-modal] .tux-prazo-preview.tux-tone-warn {
  border-left-color: #d97706;
  background: #fffbeb;
}
[data-task-modal] .tux-prazo-preview.tux-tone-danger {
  border-left-color: #dc2626;
  background: #fef2f2;
}
[data-task-modal] .tux-prazo-main {
  font-family: 'Inter Tight', sans-serif;
  font-size: 13.5px;
  color: var(--text, #0A0B0D);
  letter-spacing: -0.01em;
}
[data-task-modal] .tux-prazo-main strong {
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
[data-task-modal] .tux-prazo-meta {
  font-size: 11.5px;
  color: var(--text-2, #57534E);
}
[data-task-modal] .tux-prazo-warns {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 2px;
}
[data-task-modal] .tux-warn-pill {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  background: #fff;
  border: 1px solid var(--border, #E7E5E4);
  border-radius: 6px;
  font-size: 10.5px;
  font-weight: 500;
  color: var(--text-2, #57534E);
  letter-spacing: 0.01em;
}

/* ---------- TYPEAHEAD DE TEMPLATES ---------- */
.tux-tpl-drop {
  background: #fff;
  border: 1px solid var(--border, #E7E5E4);
  border-radius: 12px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.14);
  padding: 4px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  max-height: 340px;
  overflow-y: auto;
  animation: tux-fade 140ms ease;
}
.tux-tpl-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 10px 12px;
  background: transparent;
  border: 0;
  border-radius: 8px;
  text-align: left;
  cursor: pointer;
  transition: background 120ms ease;
}
.tux-tpl-item:hover,
.tux-tpl-item.on {
  background: var(--bg-soft, #F4F4F2);
}
.tux-tpl-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.tux-tpl-name {
  font-family: 'Inter Tight', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: var(--text, #0A0B0D);
  letter-spacing: -0.01em;
}
.tux-tpl-area {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  color: var(--text-3, #A8A29E);
  padding: 2px 6px;
  background: var(--bg-elev, #fff);
  border: 1px solid var(--border, #E7E5E4);
  border-radius: 6px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  white-space: nowrap;
}
.tux-tpl-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 11.5px;
  color: var(--text-2, #57534E);
}
.tux-tpl-prazo {
  font-family: 'JetBrains Mono', monospace;
  color: var(--info, #0284c7);
  font-weight: 500;
}
.tux-tpl-desc {
  color: var(--text-3, #A8A29E);
  font-size: 11px;
}
.tux-tpl-hint {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  color: var(--text-3, #A8A29E);
  padding: 6px 10px 4px;
  border-top: 1px solid var(--border, #E7E5E4);
  margin-top: 4px;
  text-align: right;
}
.tux-tpl-hint kbd {
  display: inline-block;
  padding: 1px 4px;
  margin: 0 1px;
  background: var(--bg-elev, #fff);
  border: 1px solid var(--border, #E7E5E4);
  border-radius: 4px;
  font-family: inherit;
  font-size: 9.5px;
  color: var(--text-2, #57534E);
}

/* ---------- PROGRESSIVE DISCLOSURE ---------- */
[data-task-modal] .tux-disclosure-bar {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-start;
  margin: -8px 0 4px;
}
[data-task-modal] .tux-disclosure-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: transparent;
  border: 1px dashed var(--border, #E7E5E4);
  border-radius: 6px;
  font-size: 11.5px;
  font-weight: 500;
  color: var(--text-2, #57534E);
  cursor: pointer;
  transition: background 120ms ease, border-color 120ms ease, color 120ms ease;
}
[data-task-modal] .tux-disclosure-btn:hover {
  background: var(--bg-soft, #F4F4F2);
  border-color: var(--text-2, #57534E);
  color: var(--text, #0A0B0D);
}
[data-task-modal] .tux-disclosure-btn svg {
  transition: transform 180ms ease;
}

/* Campos/sections avançados ficam escondidos até "Mostrar" */
[data-task-modal] [data-task-form] .tux-advanced {
  display: none !important;
}
[data-task-modal] [data-task-form].tux-show-advanced .tux-advanced {
  display: block !important;
  animation: tux-fade 200ms ease;
}
[data-task-modal] [data-task-form].tux-show-advanced aside > section.tux-advanced {
  display: block !important;
}

/* ---------- UNDO TOAST ---------- */
.tux-undo-toast {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translate(-50%, 20px);
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px 12px 12px;
  background: var(--text, #0A0B0D);
  color: #fff;
  border-radius: 12px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.28);
  z-index: 10000;
  opacity: 0;
  transition: opacity 220ms ease, transform 220ms ease;
  min-width: 320px;
  max-width: 440px;
  overflow: hidden;
}
.tux-undo-toast.on {
  opacity: 1;
  transform: translate(-50%, 0);
}
.tux-undo-check {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(34, 197, 94, 0.18);
  color: #22c55e;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.tux-undo-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  min-width: 0;
}
.tux-undo-text strong {
  font-family: 'Inter Tight', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #fff;
  letter-spacing: -0.01em;
}
.tux-undo-text span {
  font-size: 11.5px;
  color: rgba(255, 255, 255, 0.7);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.tux-undo-btn {
  padding: 6px 12px;
  background: rgba(255, 255, 255, 0.12);
  border: 0;
  border-radius: 8px;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: background 120ms ease;
  flex-shrink: 0;
}
.tux-undo-btn:hover {
  background: rgba(255, 255, 255, 0.22);
}
.tux-undo-progress {
  position: absolute;
  left: 0;
  bottom: 0;
  right: 0;
  height: 2px;
  background: rgba(255, 255, 255, 0.1);
}
.tux-undo-progress span {
  display: block;
  height: 100%;
  width: 100%;
  background: #22c55e;
}

/* ---------- ANIMAÇÕES ---------- */
@keyframes tux-fade {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ---------- REFINAMENTOS VISUAIS DO MODAL (padrão v2) ---------- */
[data-task-modal] {
  background: rgba(10, 11, 13, 0.45) !important;
  backdrop-filter: blur(3px);
}
[data-task-modal] > div {
  border-radius: 18px !important;
  border-color: var(--border, #E7E5E4) !important;
  box-shadow: 0 32px 80px rgba(0, 0, 0, 0.22) !important;
  background: #fff !important;
  backdrop-filter: none !important;
}
[data-task-modal] header {
  padding: 18px 22px !important;
}
[data-task-modal] header p:first-child {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  letter-spacing: 0.12em !important;
  color: var(--text-3, #A8A29E) !important;
  text-transform: uppercase;
}
[data-task-modal] header h2 {
  font-family: 'Inter Tight', sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em;
  color: var(--text, #0A0B0D) !important;
  margin-top: 4px !important;
}
[data-task-modal] header h2 + p,
[data-task-modal] header p.mt-2 {
  font-size: 12.5px !important;
  color: var(--text-2, #57534E) !important;
  margin-top: 4px !important;
}

/* Inputs e selects no padrão v2 */
[data-task-modal] input:not([type="checkbox"]):not([type="radio"]),
[data-task-modal] select,
[data-task-modal] textarea {
  border-radius: 8px !important;
  border-color: var(--border, #E7E5E4) !important;
  font-size: 13px !important;
  padding: 8px 10px !important;
  transition: border-color 120ms ease, box-shadow 120ms ease !important;
}
[data-task-modal] textarea {
  padding: 10px !important;
  min-height: 96px !important;
}
[data-task-modal] input:focus,
[data-task-modal] select:focus,
[data-task-modal] textarea:focus {
  border-color: var(--text-2, #57534E) !important;
  box-shadow: 0 0 0 3px rgba(10, 11, 13, 0.06) !important;
  outline: 0 !important;
}

/* Labels */
[data-task-modal] label {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  color: var(--text-3, #A8A29E) !important;
  text-transform: uppercase;
}

/* Sidebar sections — radius e background suaves */
[data-task-modal] aside > section {
  border-radius: 12px !important;
  border-color: var(--border, #E7E5E4) !important;
  background: var(--bg-soft, #FAFAF9) !important;
  padding: 14px 16px !important;
}

/* Footer padrão v2 */
[data-task-modal] footer {
  padding: 14px 22px !important;
  border-top: 1px solid var(--border, #E7E5E4) !important;
  background: #fff !important;
  border-radius: 0 0 18px 18px !important;
}
[data-task-modal] footer button {
  border-radius: 8px !important;
  padding: 8px 16px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  transition: background 120ms ease, border-color 120ms ease !important;
}
[data-task-modal] footer button[data-task-close] {
  background: #fff !important;
  border: 1px solid var(--border, #E7E5E4) !important;
  color: var(--text-2, #57534E) !important;
}
[data-task-modal] footer button[data-task-close]:hover {
  background: var(--bg-soft, #F4F4F2) !important;
}
[data-task-modal] footer button[type="submit"] {
  background: var(--text, #0A0B0D) !important;
  border: 1px solid var(--text, #0A0B0D) !important;
  color: #fff !important;
}
[data-task-modal] footer button[type="submit"]:hover {
  background: #000 !important;
}

/* Botão fechar do header */
[data-task-modal] header button[data-task-close] {
  border-radius: 8px !important;
  border: 1px solid var(--border, #E7E5E4) !important;
  background: #fff !important;
  font-size: 12px !important;
  padding: 6px 12px !important;
}

/* ---------- MODAL DE TEMPLATES (padronização v2) ---------- */
[data-templates-modal] {
  background: rgba(10, 11, 13, 0.45) !important;
  backdrop-filter: blur(3px);
}
[data-templates-modal] > div {
  border-radius: 18px !important;
  border-color: var(--border, #E7E5E4) !important;
  box-shadow: 0 32px 80px rgba(0, 0, 0, 0.22) !important;
  background: #fff !important;
  backdrop-filter: none !important;
}
[data-templates-modal] header {
  padding: 18px 22px !important;
}
[data-templates-modal] header p:first-child {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  letter-spacing: 0.12em !important;
  color: var(--text-3, #A8A29E) !important;
}
[data-templates-modal] header h2 {
  font-family: 'Inter Tight', sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em;
}

/* Responsivo */
@media (max-width: 640px) {
  .tux-undo-toast {
    left: 12px;
    right: 12px;
    min-width: 0;
    max-width: none;
    transform: translate(0, 20px);
  }
  .tux-undo-toast.on {
    transform: translate(0, 0);
  }
}

/* ============================================================
 *  APROVEITAMENTO 100% DO MODAL
 *  Quando aside/sidebar está visualmente oculto, o modal fica
 *  estreito e centralizado. Main ocupa 100% da largura.
 * ============================================================ */
[data-task-modal] > div {
  max-width: min(720px, calc(100vw - 32px)) !important;
  margin: 24px auto !important;
  transition: max-width .2s ease;
}
[data-task-modal] [data-task-form].tux-show-advanced {
  /* Quando avançado está visível, expande o modal */
}
[data-task-modal] [data-task-form].tux-show-advanced ~ *,
[data-task-modal] > div:has([data-task-form].tux-show-advanced) {
  /* :has() não é universal — recuo por classe no form */
}
/* Expande modal quando avançado está aberto via classe manual */
[data-task-modal]:has([data-task-form].tux-show-advanced) > div {
  max-width: min(1080px, calc(100vw - 32px)) !important;
}

/* Esconde aside inteiro quando avançado está OFF */
[data-task-modal] [data-task-form]:not(.tux-show-advanced) aside {
  display: none !important;
}
/* Main ocupa 100% */
[data-task-modal] [data-task-form]:not(.tux-show-advanced) {
  display: block !important;
  grid-template-columns: 1fr !important;
}
[data-task-modal] [data-task-form]:not(.tux-show-advanced) > *:not(aside):not(footer) {
  width: 100% !important;
  max-width: 100% !important;
}

/* Melhorias de respiro vertical do form */
[data-task-modal] [data-task-form] {
  padding: 20px 22px 24px !important;
  gap: 14px !important;
}
[data-task-modal] [data-task-form] > section,
[data-task-modal] [data-task-form] > div {
  margin-bottom: 0 !important;
}

/* Previne overflow horizontal do modal body */
[data-task-modal] > div {
  overflow: hidden !important;
}
[data-task-modal] > div > *:not(header):not(footer) {
  overflow-y: auto !important;
}

/* ---------- CLIENT TYPEAHEAD (busca unificada em clientes/acordos/audiências/processos) ---------- */
.tux-cli-drop .tux-cli-item { padding: 10px 12px; }
.tux-cli-dot {
  color: oklch(0.68 0.17 165);
  font-size: 14px;
  line-height: 1;
}
.tux-cli-origens {
  display: inline-flex;
  gap: 4px;
  flex-wrap: wrap;
  margin-left: auto;
}
.tux-cli-origin {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9.5px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 2px 6px;
  border-radius: 6px;
  background: var(--bg-soft, #F4F4F2);
  color: var(--text-3, #A8A29E);
  border: 1px solid var(--border, #E7E5E4);
}
.tux-cli-origin--cliente   { color: oklch(0.45 0.14 165); border-color: oklch(0.88 0.06 165); background: oklch(0.97 0.02 165); }
.tux-cli-origin--acordo    { color: oklch(0.48 0.14 260); border-color: oklch(0.88 0.06 260); background: oklch(0.97 0.02 260); }
.tux-cli-origin--audiência { color: oklch(0.50 0.15 35);  border-color: oklch(0.88 0.06 35);  background: oklch(0.97 0.02 35);  }
.tux-cli-origin--processo  { color: oklch(0.45 0.12 280); border-color: oklch(0.88 0.05 280); background: oklch(0.97 0.02 280); }
.tux-cli-origin--tarefa    { color: oklch(0.45 0.03 80);  border-color: var(--border, #E7E5E4); background: var(--bg-soft, #F4F4F2); }

/* ==== /modules/tarefas/tarefas-kanban-10x.css ==== */
/* ============================================================
 *  KANBAN 10/10 — minimalista, padrão Nova Tarefa
 *  Branco, bordas finas, prioridade só na barra lateral sutil
 * ============================================================ */

/* ---------- BOARD ---------- */
.k10-board {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 14px;
  margin-top: 20px;
  align-items: start;
}
@media (min-width: 1400px) {
  .k10-board { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

/* ---------- COLUNA ---------- */
.k10-col {
  display: flex;
  flex-direction: column;
  min-height: 320px;
  max-height: calc(100vh - 260px);
  background: #ffffff;
  border: 1px solid oklch(0.94 0.005 260);
  border-radius: 14px;
  overflow: hidden;
  transition: border-color 160ms ease;
}
.k10-col.drag-over,
.k10-col:has(.kanban-column.drag-over) {
  border-color: oklch(0.65 0.14 260);
  box-shadow: 0 0 0 3px oklch(0.94 0.04 260);
}

.k10-col__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px 10px;
  background: transparent;
}
.k10-col__headline {
  display: flex; align-items: center; gap: 8px; min-width: 0; flex: 1;
}
.k10-col__dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  flex-shrink: 0;
}
.k10-col__title {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: oklch(0.45 0.015 260);
  margin: 0;
}
.k10-col__count {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 10.5px;
  font-weight: 500;
  color: oklch(0.52 0.015 260);
  letter-spacing: 0;
  margin-left: auto;
  padding-right: 8px;
}
.k10-col__add {
  display: inline-flex; align-items: center; justify-content: center;
  width: 24px; height: 24px; padding: 0;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 6px;
  color: oklch(0.55 0.015 260);
  cursor: pointer;
  transition: all 120ms ease;
}
.k10-col__add svg { width: 13px; height: 13px; }
.k10-col__add:hover {
  background: oklch(0.96 0.005 260);
  color: oklch(0.18 0.008 260);
}

/* ---------- LISTA ---------- */
.k10-list {
  flex: 1;
  overflow-y: auto;
  padding: 4px 10px 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
  list-style: none;
}
.k10-list::-webkit-scrollbar { width: 6px; }
.k10-list::-webkit-scrollbar-thumb {
  background: oklch(0.90 0.008 260);
  border-radius: 3px;
}
.k10-list::-webkit-scrollbar-thumb:hover {
  background: oklch(0.78 0.012 260);
}

/* ============================================================
 *  CARD — MINIMALISTA
 * ============================================================ */
.k10-card {
  position: relative;
  background: #ffffff;
  border: 1px solid oklch(0.93 0.005 260);
  border-radius: 10px;
  padding: 12px 14px 12px 16px;
  cursor: grab;
  transition: border-color 140ms ease, box-shadow 160ms ease;
  display: flex;
  flex-direction: column;
  gap: 8px;
  list-style: none;
  min-height: 0;
}
.k10-card:hover {
  border-color: oklch(0.82 0.01 260);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 8px 20px rgba(15, 23, 42, 0.06);
}
.k10-card:focus-visible {
  outline: 2px solid oklch(0.55 0.17 260);
  outline-offset: 2px;
  border-color: oklch(0.55 0.17 260);
}
.k10-card:active { cursor: grabbing; }
.k10-card.is-dragging {
  opacity: 0.5;
  transform: rotate(1deg);
  box-shadow: 0 20px 40px rgba(15, 23, 42, 0.15);
}

/* ---------- EDGE (barra lateral de prioridade, sutil) ---------- */
.k10-card__edge {
  position: absolute;
  left: 0;
  top: 10px;
  bottom: 10px;
  width: 2px;
  border-radius: 0 2px 2px 0;
  background: transparent;
  transition: background 160ms ease;
}
.k10-card[data-prio="urgente"] .k10-card__edge,
.k10-card[data-prio="critica"] .k10-card__edge { background: oklch(0.58 0.22 25); }
.k10-card[data-prio="alta"]    .k10-card__edge { background: oklch(0.65 0.17 45); }
.k10-card[data-prio="media"]   .k10-card__edge { background: oklch(0.72 0.10 85); }
.k10-card[data-prio="baixa"]   .k10-card__edge { background: oklch(0.80 0.04 200); }

/* ---------- TOP (tipo + recorrência) ---------- */
.k10-card__top {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 16px;
}
.k10-tchip {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  padding: 0;
  background: transparent;
  color: oklch(0.52 0.015 260);
  border: 0;
}
.k10-tchip[data-tipo="prazo-legal"] { color: oklch(0.42 0.14 280); }
.k10-tchip[data-tipo="audiencia"]   { color: oklch(0.44 0.16 35); }
.k10-tchip[data-tipo="peticao"]     { color: oklch(0.42 0.14 260); }
.k10-card__rec {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px; height: 14px;
  color: oklch(0.55 0.02 260);
  margin-left: auto;
  flex-shrink: 0;
}
.k10-card__rec svg { width: 11px; height: 11px; }

/* ---------- TÍTULO ---------- */
.k10-card__title {
  font-family: "Inter Tight", "Inter", -apple-system, sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: -0.013em;
  color: oklch(0.14 0.008 260);
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  word-break: break-word;
  padding-right: 8px;
}

/* ---------- URGENCY INLINE (texto + dot, sem pill colorida) ---------- */
.k10-urg {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: "Inter", -apple-system, sans-serif;
  font-size: 11.5px;
  font-weight: 500;
  line-height: 1;
  padding: 0;
  color: oklch(0.52 0.015 260);
  align-self: flex-start;
}
.k10-urg__ico {
  width: 11px; height: 11px;
  flex-shrink: 0;
  color: oklch(0.62 0.015 260);
}
.k10-urg[data-tone="danger"]  { color: oklch(0.46 0.20 25); font-weight: 600; }
.k10-urg[data-tone="danger"] .k10-urg__ico { color: oklch(0.55 0.22 25); }
.k10-urg[data-tone="warn"]    { color: oklch(0.48 0.17 50); font-weight: 600; }
.k10-urg[data-tone="warn"] .k10-urg__ico { color: oklch(0.58 0.18 50); }
.k10-urg[data-tone="caution"] { color: oklch(0.46 0.14 85); }
.k10-urg[data-tone="caution"] .k10-urg__ico { color: oklch(0.56 0.15 85); }
.k10-urg[data-tone="info"]    { color: oklch(0.42 0.13 240); }
.k10-urg[data-tone="info"] .k10-urg__ico { color: oklch(0.52 0.13 240); }
.k10-urg[data-tone="soft"]    { color: oklch(0.48 0.015 260); }

/* ---------- META (cliente, processo) ---------- */
.k10-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.k10-meta__item {
  display: flex;
  align-items: center;
  gap: 7px;
  font-family: "Inter", -apple-system, sans-serif;
  font-size: 12px;
  line-height: 1.3;
  color: oklch(0.40 0.012 260);
  min-width: 0;
}
.k10-meta__item svg {
  width: 12px; height: 12px;
  flex-shrink: 0;
  color: oklch(0.62 0.012 260);
}
.k10-meta__txt {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  flex: 1;
  min-width: 0;
}
.k10-meta__item--proc .k10-meta__txt {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 11px;
  letter-spacing: -0.01em;
  color: oklch(0.44 0.01 260);
}

/* ---------- SUBTASKS PROGRESS ---------- */
.k10-subs {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.k10-subs__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.k10-subs__lbl {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: oklch(0.58 0.012 260);
}
.k10-subs__bar {
  flex: none;
  height: 3px;
  border-radius: 999px;
  background: oklch(0.94 0.006 260);
  overflow: hidden;
}
.k10-subs__bar > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: oklch(0.18 0.008 260);
  transition: width 320ms cubic-bezier(0.16, 1, 0.3, 1);
}
.k10-subs__txt {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 10px;
  font-weight: 500;
  color: oklch(0.55 0.012 260);
  letter-spacing: 0.01em;
  white-space: nowrap;
}

/* ---------- PRIO CHIP discreto ---------- */
.k10-pchip {
  display: inline-flex;
  align-items: center;
  padding: 1px 6px;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border-radius: 3px;
  background: transparent;
  border: 1px solid oklch(0.90 0.01 260);
  color: oklch(0.48 0.015 260);
  line-height: 1.4;
}
.k10-pchip[data-prio="urgente"],
.k10-pchip[data-prio="critica"] {
  color: oklch(0.48 0.20 25);
  border-color: oklch(0.86 0.06 25);
}
.k10-pchip[data-prio="alta"] {
  color: oklch(0.50 0.15 50);
  border-color: oklch(0.88 0.05 50);
}

/* ---------- CLIENTE (obrigatório, destaque) ---------- */
.k10-cliente {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 5px 8px;
  margin-top: -2px;
  background: oklch(0.98 0.004 260);
  border: 1px solid oklch(0.93 0.006 260);
  border-radius: 6px;
  font-family: "Inter", -apple-system, sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: oklch(0.22 0.012 260);
  line-height: 1.3;
  min-width: 0;
  letter-spacing: -0.005em;
}
.k10-cliente svg {
  width: 12px; height: 12px;
  flex-shrink: 0;
  color: oklch(0.48 0.012 260);
}
.k10-cliente__name {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  flex: 1;
  min-width: 0;
}
.k10-cliente--empty {
  background: transparent;
  border-style: dashed;
  border-color: oklch(0.90 0.008 260);
}
.k10-cliente--empty .k10-cliente__name {
  font-weight: 400;
  font-style: italic;
  color: oklch(0.58 0.012 260);
}
.k10-cliente--empty svg { color: oklch(0.70 0.012 260); }

/* ---------- DESC preview ---------- */
.k10-desc {
  margin: 0;
  font-family: "Inter", -apple-system, sans-serif;
  font-size: 12px;
  line-height: 1.45;
  color: oklch(0.48 0.012 260);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  word-break: break-word;
}

/* ---------- DATELINE (data + urgência em linha) ---------- */
.k10-dateline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 6px 8px;
  background: oklch(0.985 0.003 260);
  border: 1px solid oklch(0.94 0.006 260);
  border-radius: 6px;
}
.k10-dateline__date {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 11px;
  font-weight: 500;
  color: oklch(0.30 0.012 260);
  letter-spacing: -0.005em;
}
.k10-dateline__date svg {
  width: 11px; height: 11px;
  color: oklch(0.58 0.012 260);
  flex-shrink: 0;
}
.k10-dateline__urg {
  font-family: "Inter", -apple-system, sans-serif;
  font-size: 11px;
  font-weight: 500;
  color: oklch(0.50 0.015 260);
  white-space: nowrap;
  letter-spacing: 0;
}
.k10-dateline:has(.k10-dateline__urg[data-tone="danger"]) {
  background: oklch(0.98 0.024 25);
  border-color: oklch(0.90 0.05 25);
}
.k10-dateline__urg[data-tone="danger"]  { color: oklch(0.46 0.20 25); font-weight: 600; }
.k10-dateline:has(.k10-dateline__urg[data-tone="warn"]) {
  background: oklch(0.98 0.026 50);
  border-color: oklch(0.91 0.05 50);
}
.k10-dateline__urg[data-tone="warn"]    { color: oklch(0.48 0.17 50); font-weight: 600; }
.k10-dateline__urg[data-tone="caution"] { color: oklch(0.46 0.14 85); }
.k10-dateline__urg[data-tone="info"]    { color: oklch(0.42 0.13 240); }
.k10-dateline__urg[data-tone="soft"]    { color: oklch(0.52 0.012 260); }

/* ---------- TAGS ---------- */
.k10-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.k10-tag {
  display: inline-flex;
  align-items: center;
  padding: 1px 6px;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 10px;
  font-weight: 500;
  color: oklch(0.48 0.015 260);
  background: oklch(0.97 0.005 260);
  border: 1px solid oklch(0.93 0.005 260);
  border-radius: 3px;
  letter-spacing: 0;
  line-height: 1.5;
}
.k10-tag--more {
  font-style: normal;
  color: oklch(0.55 0.012 260);
  background: transparent;
  border-style: dashed;
}

/* ---------- RESPONSÁVEL (avatar + nome) ---------- */
.k10-resp {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
}
.k10-resp__av {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px; height: 20px;
  border-radius: 50%;
  font-family: "Inter Tight", "Inter", sans-serif;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  flex-shrink: 0;
}
.k10-resp__av--empty {
  border: 1.2px dashed oklch(0.88 0.008 260);
  background: transparent;
}
.k10-resp__name {
  font-family: "Inter", -apple-system, sans-serif;
  font-size: 11.5px;
  font-weight: 500;
  color: oklch(0.30 0.012 260);
  line-height: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}
.k10-resp--empty .k10-resp__name {
  color: oklch(0.60 0.012 260);
  font-style: italic;
  font-weight: 400;
}

/* ---------- FOOTER ---------- */
.k10-card__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding-top: 8px;
  margin-top: 2px;
  border-top: 1px solid oklch(0.95 0.005 260);
  min-height: 22px;
}
.k10-card__left  { display: flex; align-items: center; min-width: 0; }
.k10-card__right { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }

.k10-avstack { display: flex; align-items: center; }
.k10-av {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px; height: 22px;
  border-radius: 50%;
  font-family: "Inter Tight", "Inter", sans-serif;
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: 0.02em;
  margin-left: -5px;
  border: 1.5px solid #fff;
  text-transform: uppercase;
}
.k10-av:first-child { margin-left: 0; }
.k10-av--more {
  background: oklch(0.94 0.006 260);
  color: oklch(0.42 0.015 260);
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 9px;
}
.k10-av-empty {
  display: inline-block;
  width: 22px; height: 22px;
  border-radius: 50%;
  border: 1.2px dashed oklch(0.88 0.008 260);
  background: transparent;
}

/* ---------- CHIPS (SLA, anexos, comentários — minimalistas) ---------- */
.k10-chip {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 0;
  background: transparent;
  color: oklch(0.50 0.012 260);
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 10.5px;
  font-weight: 500;
  letter-spacing: 0;
}
.k10-chip svg { width: 11px; height: 11px; stroke-width: 1.8; }
.k10-chip--sla { color: oklch(0.45 0.015 260); }

/* ---------- HOVER ACTIONS ---------- */
.k10-card__actions {
  position: absolute;
  top: 8px;
  right: 8px;
  display: flex;
  gap: 3px;
  opacity: 0;
  transform: translateY(-2px);
  transition: opacity 140ms ease, transform 140ms cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
  padding: 3px;
  background: oklch(1 0 0 / 0.92);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  border-radius: 8px;
}
.k10-card:hover .k10-card__actions,
.k10-card:focus-within .k10-card__actions {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.k10-act {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px; height: 24px;
  padding: 0;
  background: #ffffff;
  border: 1px solid oklch(0.92 0.008 260);
  border-radius: 6px;
  color: oklch(0.40 0.014 260);
  cursor: pointer;
  transition: all 120ms ease;
}
.k10-act svg { width: 12px; height: 12px; stroke-width: 2; }
.k10-act:hover {
  background: oklch(0.16 0.008 260);
  border-color: oklch(0.16 0.008 260);
  color: #ffffff;
}
.k10-act:focus-visible {
  outline: 2px solid oklch(0.55 0.17 260);
  outline-offset: 2px;
}

/* ---------- EMPTY STATE ---------- */
.k10-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 28px 14px;
  text-align: center;
  border: 1px dashed oklch(0.91 0.008 260);
  border-radius: 10px;
  gap: 10px;
  background: transparent;
  list-style: none;
}
.k10-empty__icon { color: oklch(0.80 0.012 260); }
.k10-empty__icon svg { width: 26px; height: 26px; }
.k10-empty__msg {
  font-family: "Inter", sans-serif;
  font-size: 12px;
  font-weight: 500;
  color: oklch(0.56 0.015 260);
  margin: 0;
}
.k10-empty__add {
  font-family: "Inter", sans-serif;
  font-size: 12px;
  font-weight: 500;
  padding: 6px 12px;
  border-radius: 999px;
  background: transparent;
  border: 1px solid oklch(0.90 0.008 260);
  color: oklch(0.38 0.014 260);
  cursor: pointer;
  transition: all 120ms ease;
}
.k10-empty__add:hover {
  background: oklch(0.16 0.008 260);
  color: #fff;
  border-color: oklch(0.16 0.008 260);
}

/* ---------- REDUCED MOTION ---------- */
@media (prefers-reduced-motion: reduce) {
  .k10-card, .k10-card__actions, .k10-subs__bar > span,
  .k10-act, .k10-col, .k10-col__add {
    transition: none !important;
  }
}

/* ---------- NEUTRALIZAR REGRAS LEGACY ---------- */
.kanban-column .k10-card,
.k10-col .k10-card,
.k10-card[data-task-id] {
  min-height: 0;
  min-width: 0;
  margin: 0;
}
.k10-list.kanban-column {
  background: transparent !important;
  padding: 4px 10px 12px !important;
  gap: 8px !important;
  border: none !important;
  min-width: 0 !important;
}

/* ==== /modules/tarefas/tarefas-view-modal-10x.css ==== */
/* ============================================================
 *  TASK DETAIL MODAL v3 — compacto, single-scroll
 *  DNA: Nova Tarefa (white, thin borders, mono labels)
 *  Referência: screenshot enviado pelo usuário
 * ============================================================ */

/* tokens locais */
.task-detail-v2 {
  --tv-bg: #ffffff;
  --tv-ink: oklch(0.22 0.02 260);
  --tv-ink-soft: oklch(0.45 0.01 260);
  --tv-ink-mut: oklch(0.60 0.01 260);
  --tv-line: oklch(0.92 0.005 260);
  --tv-line-2: oklch(0.95 0.005 260);
  --tv-surface-2: oklch(0.985 0.003 260);
  --tv-radius: 14px;
  --tv-radius-sm: 8px;
  --tv-font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  --tv-font-display: 'Inter Tight', 'Inter', system-ui, sans-serif;
  background: rgba(15, 18, 25, 0.42);
  backdrop-filter: blur(6px) saturate(1.05);
  -webkit-backdrop-filter: blur(6px) saturate(1.05);
  animation: tvFadeIn 140ms ease-out;
}
@keyframes tvFadeIn { from { opacity: 0; } to { opacity: 1; } }

/* ===== shell ===== */
.tv-modal {
  width: min(560px, 94vw);
  max-height: min(92vh, 820px);
  background: var(--tv-bg);
  border: 1px solid var(--tv-line);
  border-radius: var(--tv-radius);
  box-shadow: 0 24px 72px -24px rgba(10, 15, 30, 0.35), 0 2px 8px rgba(10, 15, 30, 0.06);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  color: var(--tv-ink);
  font-family: var(--tv-font-display);
  animation: tvSlideUp 180ms cubic-bezier(0.2, 0.8, 0.2, 1);
}
@keyframes tvSlideUp { from { opacity: 0; transform: translateY(8px) scale(0.985); } to { opacity: 1; transform: translateY(0) scale(1); } }

/* ===== HEADER ===== */
.tv-head {
  padding: 18px 20px 14px;
  border-bottom: 1px solid var(--tv-line-2);
}
.tv-head-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}
.tv-head-tags {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  min-width: 0;
}
.tv-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  font-family: var(--tv-font-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border-radius: 4px;
  line-height: 1.2;
  white-space: nowrap;
}
.tv-chip--tipo {
  background: oklch(0.95 0.06 85);
  color: oklch(0.42 0.14 60);
}
.tv-chip--tipo-audiencia { background: oklch(0.94 0.07 25);  color: oklch(0.42 0.16 25); }
.tv-chip--tipo-peticao   { background: oklch(0.94 0.07 60);  color: oklch(0.42 0.15 60); }
.tv-chip--tipo-prazo     { background: oklch(0.94 0.06 15);  color: oklch(0.42 0.18 15); }
.tv-chip--tipo-reuniao   { background: oklch(0.94 0.06 240); color: oklch(0.42 0.14 240); }
.tv-chip--tipo-email     { background: oklch(0.94 0.05 200); color: oklch(0.42 0.12 200); }
.tv-chip--tipo-ligacao   { background: oklch(0.94 0.05 165); color: oklch(0.42 0.12 165); }
.tv-chip--tipo-documento { background: oklch(0.95 0.03 280); color: oklch(0.42 0.10 280); }
.tv-chip--tipo-outro     { background: oklch(0.95 0.01 260); color: oklch(0.42 0.02 260); }
.tv-chip--rec {
  background: oklch(0.96 0.02 260);
  color: oklch(0.45 0.04 260);
}

/* Priority dot */
.tv-priodot {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 6px 3px 4px;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0;
  color: var(--tv-ink-soft);
  font-family: var(--tv-font-display);
  text-transform: none;
}
.tv-priodot__d {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: oklch(0.60 0.02 260);
  flex-shrink: 0;
}
.tv-priodot--urgente .tv-priodot__d,
.tv-priodot--critica .tv-priodot__d { background: oklch(0.58 0.22 25); }
.tv-priodot--alta    .tv-priodot__d { background: oklch(0.65 0.18 50); }
.tv-priodot--media   .tv-priodot__d { background: oklch(0.70 0.14 85); }
.tv-priodot--baixa   .tv-priodot__d { background: oklch(0.62 0.10 200); }
.tv-priodot--urgente,
.tv-priodot--critica { color: oklch(0.48 0.18 25); }
.tv-priodot--alta    { color: oklch(0.50 0.14 50); }

.tv-close {
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  border: 0;
  background: transparent;
  color: var(--tv-ink-mut);
  cursor: pointer;
  transition: all 120ms;
  flex-shrink: 0;
}
.tv-close:hover { background: var(--tv-surface-2); color: var(--tv-ink); }

.tv-title {
  margin: 0;
  font-family: var(--tv-font-display);
  font-size: 19px;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.3;
  color: var(--tv-ink);
}

/* ===== DEADLINE STRIP ===== */
.tv-deadline {
  margin: 14px 20px 0;
  padding: 10px 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  border-radius: var(--tv-radius-sm);
  background: var(--tv-surface-2);
  border: 1px solid var(--tv-line);
  font-size: 13px;
}
.tv-deadline__ico {
  display: inline-flex;
  color: var(--tv-ink-mut);
  flex-shrink: 0;
}
.tv-deadline__date {
  font-family: var(--tv-font-mono);
  font-size: 13px;
  color: var(--tv-ink);
  font-weight: 500;
  flex: 1;
}
.tv-deadline__badge {
  font-size: 12px;
  font-weight: 600;
  color: var(--tv-ink-soft);
  letter-spacing: 0;
}
.tv-deadline--danger {
  background: oklch(0.98 0.025 25);
  border-color: oklch(0.88 0.06 25);
  color: oklch(0.44 0.18 25);
}
.tv-deadline--danger .tv-deadline__ico,
.tv-deadline--danger .tv-deadline__badge { color: oklch(0.48 0.20 25); }
.tv-deadline--warn {
  background: oklch(0.98 0.03 50);
  border-color: oklch(0.90 0.06 50);
}
.tv-deadline--warn .tv-deadline__ico,
.tv-deadline--warn .tv-deadline__badge { color: oklch(0.50 0.15 50); }
.tv-deadline--caution {
  background: oklch(0.985 0.025 85);
  border-color: oklch(0.92 0.05 85);
}
.tv-deadline--caution .tv-deadline__badge { color: oklch(0.48 0.12 85); }
.tv-deadline--info {
  background: oklch(0.98 0.02 240);
  border-color: oklch(0.92 0.04 240);
}
.tv-deadline--info .tv-deadline__badge { color: oklch(0.48 0.12 240); }

/* ===== BODY ===== */
.tv-body {
  padding: 16px 20px 18px;
  overflow-y: auto;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 14px;
  scrollbar-width: thin;
  scrollbar-color: var(--tv-line) transparent;
}
.tv-body::-webkit-scrollbar { width: 6px; }
.tv-body::-webkit-scrollbar-track { background: transparent; }
.tv-body::-webkit-scrollbar-thumb { background: var(--tv-line); border-radius: 3px; }

/* ===== GRID (meta cells) ===== */
.tv-grid {
  display: grid;
  gap: 14px 20px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--tv-line-2);
}
.tv-grid--3 { grid-template-columns: repeat(3, 1fr); }
.tv-grid--2 { grid-template-columns: repeat(2, 1fr); }

.tv-cell {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
}
.tv-cell__lbl {
  font-family: var(--tv-font-mono);
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--tv-ink-mut);
}
.tv-cell__val {
  font-family: var(--tv-font-display);
  font-size: 13.5px;
  font-weight: 500;
  color: var(--tv-ink);
  line-height: 1.35;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
.tv-cell__val--mono {
  font-family: var(--tv-font-mono);
  font-size: 12.5px;
  letter-spacing: -0.01em;
}
.tv-cell__val--empty { color: var(--tv-ink-mut); font-weight: 400; }
.tv-cell__val--link {
  background: transparent;
  border: 0;
  padding: 0;
  cursor: pointer;
  color: var(--tv-ink);
  transition: color 120ms;
}
.tv-cell__val--link:hover { color: oklch(0.35 0.14 260); }
.tv-cell__val--link svg { color: var(--tv-ink-mut); transition: transform 120ms; }
.tv-cell__val--link:hover svg { transform: translateX(2px); color: oklch(0.45 0.14 260); }

.tv-cell__val--resp { gap: 8px; }
.tv-av {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--tv-font-mono);
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0;
  flex-shrink: 0;
}
.tv-av-name { font-weight: 500; }
.tv-av-extra {
  font-family: var(--tv-font-mono);
  font-size: 10px;
  color: var(--tv-ink-mut);
  font-weight: 500;
  letter-spacing: 0.04em;
}
.tv-statusdot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  flex-shrink: 0;
}

/* ===== BLOCK (checklist / notes / tags / anexos) ===== */
.tv-block {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--tv-line-2);
}
.tv-block:last-of-type { border-bottom: 0; padding-bottom: 0; }
.tv-block__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.tv-block__lbl {
  font-family: var(--tv-font-mono);
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--tv-ink-mut);
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.tv-block__count {
  font-family: var(--tv-font-mono);
  font-size: 10px;
  color: var(--tv-ink-mut);
  font-weight: 500;
}
.tv-block__progress {
  display: flex;
  align-items: center;
  gap: 8px;
}
.tv-progbar {
  width: 72px;
  height: 4px;
  background: var(--tv-line);
  border-radius: 999px;
  overflow: hidden;
  display: inline-block;
}
.tv-progbar > span {
  display: block;
  height: 100%;
  background: oklch(0.65 0.14 150);
  border-radius: 999px;
  transition: width 240ms ease;
}

/* Checklist */
.tv-checklist {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.tv-check {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 12px;
  border: 1px solid var(--tv-line);
  border-radius: var(--tv-radius-sm);
  background: #fff;
  cursor: pointer;
  transition: all 120ms;
  font-size: 13.5px;
}
.tv-check:hover { border-color: oklch(0.85 0.01 260); background: var(--tv-surface-2); }
.tv-check__box {
  width: 17px;
  height: 17px;
  border-radius: 4px;
  border: 1.5px solid oklch(0.75 0.01 260);
  background: #fff;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 120ms;
}
.tv-check__box.is-checked {
  background: oklch(0.60 0.15 150);
  border-color: oklch(0.58 0.16 150);
  color: #fff;
}
.tv-check__box svg { width: 12px; height: 12px; }
.tv-check__txt { color: var(--tv-ink); line-height: 1.35; flex: 1; }
.tv-check.is-done .tv-check__txt {
  color: var(--tv-ink-mut);
  text-decoration: line-through;
  text-decoration-thickness: 1px;
}

/* Notes */
.tv-block--notes .tv-notes {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--tv-ink);
  white-space: pre-wrap;
  word-break: break-word;
}

/* Tags */
.tv-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.tv-tag {
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  font-family: var(--tv-font-mono);
  font-size: 10.5px;
  font-weight: 500;
  color: var(--tv-ink-soft);
  background: var(--tv-surface-2);
  border: 1px solid var(--tv-line);
  border-radius: 4px;
  letter-spacing: 0.02em;
}

/* Anexos */
.tv-files {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.tv-file {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border: 1px solid var(--tv-line);
  border-radius: var(--tv-radius-sm);
  background: #fff;
  font-size: 13px;
  transition: border-color 120ms;
}
.tv-file:hover { border-color: oklch(0.85 0.01 260); }
.tv-file__ico {
  width: 24px; height: 24px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--tv-surface-2);
  border-radius: 5px;
  color: var(--tv-ink-mut);
  flex-shrink: 0;
}
.tv-file__ico svg { width: 14px; height: 14px; }
.tv-file__name {
  flex: 1;
  color: var(--tv-ink);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tv-file__size {
  font-family: var(--tv-font-mono);
  font-size: 10.5px;
  color: var(--tv-ink-mut);
}
.tv-file__open {
  width: 24px; height: 24px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 5px;
  color: var(--tv-ink-mut);
  transition: all 120ms;
}
.tv-file__open:hover { background: var(--tv-surface-2); color: var(--tv-ink); }

/* ===== FOOTER ===== */
.tv-foot {
  border-top: 1px solid var(--tv-line-2);
  background: var(--tv-surface-2);
}
.tv-foot__meta {
  padding: 8px 20px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--tv-font-mono);
  font-size: 10.5px;
  color: var(--tv-ink-mut);
  letter-spacing: 0.02em;
  border-bottom: 1px solid var(--tv-line-2);
  flex-wrap: wrap;
}
.tv-foot__sep {
  width: 3px; height: 3px;
  border-radius: 50%;
  background: var(--tv-ink-mut);
  opacity: 0.55;
  flex-shrink: 0;
}
.tv-foot__actions {
  padding: 12px 20px;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.tv-action {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  font-family: var(--tv-font-display);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: -0.005em;
  border-radius: 8px;
  border: 1px solid var(--tv-line);
  background: #fff;
  color: var(--tv-ink);
  cursor: pointer;
  transition: all 120ms;
  white-space: nowrap;
}
.tv-action:hover { border-color: oklch(0.75 0.01 260); background: var(--tv-surface-2); }
.tv-action:focus-visible {
  outline: 2px solid oklch(0.70 0.12 260);
  outline-offset: 2px;
}
.tv-action--success {
  color: oklch(0.38 0.14 150);
  border-color: oklch(0.82 0.08 150);
  background: oklch(0.98 0.03 150);
}
.tv-action--success:hover {
  background: oklch(0.96 0.05 150);
  border-color: oklch(0.68 0.14 150);
}
.tv-action--ghost {
  border-color: transparent;
  background: transparent;
  color: var(--tv-ink-soft);
  margin-left: auto;
}
.tv-action--ghost:hover { background: var(--tv-line-2); color: var(--tv-ink); }
.tv-action--primary {
  background: oklch(0.22 0.02 260);
  color: #fff;
  border-color: oklch(0.22 0.02 260);
}
.tv-action--primary:hover {
  background: oklch(0.30 0.02 260);
  border-color: oklch(0.30 0.02 260);
}
.tv-action--danger-ghost {
  width: 34px;
  padding: 8px;
  justify-content: center;
  color: oklch(0.55 0.18 25);
  border-color: var(--tv-line);
}
.tv-action--danger-ghost:hover {
  background: oklch(0.97 0.04 25);
  border-color: oklch(0.82 0.10 25);
  color: oklch(0.45 0.20 25);
}

/* ===== RESPONSIVE ===== */
@media (max-width: 600px) {
  .tv-modal { width: 96vw; max-height: 96vh; }
  .tv-head, .tv-body, .tv-foot__meta, .tv-foot__actions { padding-left: 16px; padding-right: 16px; }
  .tv-deadline { margin-left: 16px; margin-right: 16px; }
  .tv-grid--3 { grid-template-columns: repeat(2, 1fr); }
  .tv-title { font-size: 17px; }
  .tv-action--ghost { margin-left: 0; }
}

/* ==== /modules/tarefas/tarefas-bulk-select.css ==== */
/* ============================================================
 *  BULK SELECT — checkbox sutil + action bar flutuante
 * ============================================================ */

/* ---------- CHECKBOX no card/linha ---------- */
.bulk-check {
  position: absolute;
  top: 8px;
  left: 8px;
  width: 18px;
  height: 18px;
  padding: 0;
  margin: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  z-index: 5;
  opacity: 0;
  transform: scale(0.85);
  transition: opacity 140ms ease, transform 140ms ease;
}
.bulk-check__box {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 5px;
  background: #fff;
  border: 1.5px solid oklch(0.80 0.01 260);
  color: transparent;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
  transition: all 140ms cubic-bezier(0.2, 0.8, 0.2, 1);
}
.bulk-check__box svg {
  width: 11px;
  height: 11px;
  opacity: 0;
  transition: opacity 120ms;
}

/* Revela checkbox SOMENTE quando o modo seleção estiver ativo
   (botão "Selecionar" na barra de filtros) ou quando já houver seleção. */
body.bulk-mode-on .k10-card > .bulk-check,
body.bulk-mode-on [data-task-row] > .bulk-check,
body.bulk-has-selection .k10-card > .bulk-check,
body.bulk-has-selection [data-task-row] > .bulk-check,
.k10-card.is-bulk-selected > .bulk-check,
[data-task-row].is-bulk-selected > .bulk-check {
  opacity: 1;
  transform: scale(1);
}

.bulk-check:hover .bulk-check__box {
  border-color: oklch(0.55 0.15 260);
  transform: scale(1.05);
}

.bulk-check.is-checked .bulk-check__box {
  background: oklch(0.55 0.17 260);
  border-color: oklch(0.55 0.17 260);
  color: #fff;
}
.bulk-check.is-checked .bulk-check__box svg { opacity: 1; }

/* ---------- CARD selecionado ---------- */
.k10-card.is-bulk-selected {
  border-color: oklch(0.55 0.17 260) !important;
  box-shadow: 0 0 0 2px oklch(0.92 0.05 260),
              0 8px 20px rgba(15, 23, 42, 0.06);
  background: oklch(0.995 0.008 260);
}
.k10-card.is-bulk-selected .k10-card__edge {
  background: oklch(0.55 0.17 260) !important;
}

/* tabela */
[data-task-row].is-bulk-selected {
  background: oklch(0.98 0.015 260) !important;
  box-shadow: inset 3px 0 0 oklch(0.55 0.17 260);
}

/* compensa o espaço do checkbox no card — só quando modo seleção ou seleção ativa */
body.bulk-mode-on .k10-card,
body.bulk-has-selection .k10-card {
  padding-left: 32px;
  transition: padding-left 140ms ease;
}
/* edge agora é no TOPO (ds-bridge); não precisa empurrar lateralmente */

/* esconde actions de hover quando seleção ativa (não confundir UI) */
body.bulk-has-selection .k10-card__actions { display: none; }

/* ---------- ACTION BAR ---------- */
.bulk-bar {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 60;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 10px;
  background: oklch(0.18 0.008 260);
  color: #fff;
  border-radius: 12px;
  box-shadow: 0 20px 48px rgba(10, 15, 30, 0.40),
              0 4px 12px rgba(10, 15, 30, 0.20);
  font-family: "Inter Tight", "Inter", -apple-system, sans-serif;
  font-size: 13px;
  animation: bulkBarIn 220ms cubic-bezier(0.2, 0.8, 0.2, 1);
}
@keyframes bulkBarIn {
  from { opacity: 0; transform: translateX(-50%) translateY(8px); }
  to   { opacity: 1; transform: translateX(-50%) translateY(0); }
}

.bulk-bar__count {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px 4px 6px;
}
.bulk-bar__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 7px;
  background: oklch(0.55 0.17 260);
  color: #fff;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 11px;
  font-weight: 700;
  border-radius: 6px;
  letter-spacing: 0;
}
.bulk-bar__lbl {
  font-size: 12.5px;
  font-weight: 500;
  color: oklch(0.88 0.008 260);
  letter-spacing: -0.005em;
}
.bulk-bar__sep {
  width: 1px;
  height: 22px;
  background: oklch(0.28 0.008 260);
  margin: 0 2px;
  flex-shrink: 0;
}

.bulk-bar__btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 11px;
  background: transparent;
  color: #fff;
  border: 0;
  border-radius: 7px;
  font-family: inherit;
  font-size: 12.5px;
  font-weight: 500;
  letter-spacing: -0.005em;
  cursor: pointer;
  transition: all 120ms;
  white-space: nowrap;
}
.bulk-bar__btn:hover {
  background: oklch(0.26 0.01 260);
}
.bulk-bar__btn:focus-visible {
  outline: 2px solid oklch(0.70 0.14 260);
  outline-offset: 2px;
}
.bulk-bar__btn svg { flex-shrink: 0; }
.bulk-bar__btn.is-loading {
  opacity: 0.6;
  pointer-events: none;
}

.bulk-bar__btn--danger {
  color: oklch(0.82 0.12 25);
}
.bulk-bar__btn--danger:hover {
  background: oklch(0.30 0.08 25);
  color: oklch(0.88 0.14 25);
}
.bulk-bar__btn--ghost {
  color: oklch(0.72 0.008 260);
  padding: 7px 9px;
}
.bulk-bar__btn--ghost:hover { color: #fff; }

/* ---------- MENU "Mover para" ---------- */
.bulk-bar__group {
  position: relative;
}
.bulk-bar__menu {
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  min-width: 180px;
  padding: 6px;
  background: oklch(0.20 0.008 260);
  border: 1px solid oklch(0.26 0.008 260);
  border-radius: 10px;
  box-shadow: 0 18px 40px rgba(10, 15, 30, 0.45);
  display: flex;
  flex-direction: column;
  gap: 1px;
  z-index: 10;
  animation: bulkMenuIn 160ms cubic-bezier(0.2, 0.8, 0.2, 1);
}
@keyframes bulkMenuIn {
  from { opacity: 0; transform: translateX(-50%) translateY(4px) scale(0.98); }
  to   { opacity: 1; transform: translateX(-50%) translateY(0) scale(1); }
}
.bulk-bar__mi {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  background: transparent;
  color: #fff;
  border: 0;
  border-radius: 6px;
  font-family: inherit;
  font-size: 12.5px;
  font-weight: 500;
  text-align: left;
  cursor: pointer;
  transition: background 120ms;
  white-space: nowrap;
}
.bulk-bar__mi:hover { background: oklch(0.28 0.01 260); }
.bulk-bar__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: oklch(0.62 0.02 260);
  flex-shrink: 0;
}
.bulk-bar__dot--backlog     { background: oklch(0.62 0.02 80); }
.bulk-bar__dot--doing       { background: oklch(0.65 0.17 260); }
.bulk-bar__dot--review      { background: oklch(0.68 0.17 35); }
.bulk-bar__dot--done        { background: oklch(0.65 0.16 165); }
.bulk-bar__dot--protocolada { background: oklch(0.60 0.14 280); }
.bulk-bar__dot--arquivada   { background: oklch(0.60 0.01 80); }

/* ---------- RESPONSIVE ---------- */
@media (max-width: 640px) {
  .bulk-bar {
    left: 12px;
    right: 12px;
    transform: none;
    bottom: 14px;
    flex-wrap: wrap;
    justify-content: center;
  }
  @keyframes bulkBarIn {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: translateY(0); }
  }
  .bulk-bar__btn--ghost { padding: 7px; }
  .bulk-bar__btn--ghost span { display: none; }
}

/* ==== /modules/tarefas/tarefas-10x-enhancements.css ==== */
/* ============================================================
 *  TAREFAS 10X ENHANCEMENTS — CSS dos quick wins
 * ============================================================ */

/* ============================================================
 *  MOBILE KANBAN — scroll horizontal abaixo de 900px
 * ============================================================ */
@media (max-width: 900px) {
  .k10-board {
    grid-template-columns: none !important;
    display: flex !important;
    gap: 12px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 12px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }
  .k10-col {
    flex: 0 0 84vw;
    max-width: 340px;
    scroll-snap-align: start;
    max-height: calc(100vh - 200px);
  }
  .k10-board::-webkit-scrollbar { height: 6px; }
  .k10-board::-webkit-scrollbar-thumb {
    background: oklch(0.88 0.008 260);
    border-radius: 3px;
  }
}

@media (max-width: 600px) {
  .k10-col { flex: 0 0 88vw; }
}

/* ============================================================
 *  ÍCONE "BLOQUEADA" — badge sutil
 * ============================================================ */
.k10-blocked {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 6px 2px 4px;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: oklch(0.44 0.15 30);
  background: oklch(0.96 0.04 30);
  border: 1px solid oklch(0.88 0.06 30);
  border-radius: 4px;
  line-height: 1.2;
  align-self: flex-start;
  text-transform: uppercase;
}
.k10-blocked svg {
  width: 10px; height: 10px;
  flex-shrink: 0;
}

/* ============================================================
 *  EMPTY STATE GLOBAL DO BOARD
 * ============================================================ */
.k10-global-empty {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 24px;
  text-align: center;
  color: oklch(0.40 0.012 260);
  gap: 14px;
  background: #ffffff;
  border: 1px dashed oklch(0.90 0.008 260);
  border-radius: 16px;
  margin: 0;
  animation: t10FadeIn 220ms ease-out;
}
@keyframes t10FadeIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
.k10-global-empty__ico {
  width: 56px; height: 56px;
  display: flex; align-items: center; justify-content: center;
  background: oklch(0.97 0.005 260);
  border-radius: 50%;
  color: oklch(0.60 0.012 260);
}
.k10-global-empty__ico svg { width: 26px; height: 26px; }
.k10-global-empty h3 {
  margin: 0;
  font-family: "Inter Tight", "Inter", sans-serif;
  font-size: 17px;
  font-weight: 600;
  color: oklch(0.22 0.012 260);
  letter-spacing: -0.01em;
}
.k10-global-empty p {
  margin: 0;
  font-family: "Inter", sans-serif;
  font-size: 13px;
  max-width: 360px;
  line-height: 1.5;
  color: oklch(0.50 0.012 260);
}
.k10-global-empty__acts {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
  flex-wrap: wrap;
  justify-content: center;
}
.k10-global-empty__btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  font-family: "Inter", sans-serif;
  font-size: 13px;
  font-weight: 500;
  border-radius: 8px;
  border: 1px solid oklch(0.90 0.008 260);
  background: #fff;
  color: oklch(0.30 0.012 260);
  cursor: pointer;
  transition: all 120ms;
}
.k10-global-empty__btn:hover {
  background: oklch(0.98 0.005 260);
  border-color: oklch(0.75 0.012 260);
}
.k10-global-empty__btn--primary {
  background: oklch(0.22 0.02 260);
  color: #fff;
  border-color: oklch(0.22 0.02 260);
}
.k10-global-empty__btn--primary:hover {
  background: oklch(0.30 0.02 260);
  border-color: oklch(0.30 0.02 260);
}

/* ============================================================
 *  SHORTCUT HELP OVERLAY (? para abrir)
 * ============================================================ */
.t10-shhelp {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(15, 18, 25, 0.5);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  animation: t10FadeIn 160ms ease-out;
}
.t10-shhelp__box {
  width: min(440px, 94vw);
  background: #fff;
  border-radius: 16px;
  border: 1px solid oklch(0.92 0.005 260);
  box-shadow: 0 28px 72px rgba(10, 15, 30, 0.35);
  padding: 0;
  overflow: hidden;
  animation: t10SlideUp 200ms cubic-bezier(0.2, 0.8, 0.2, 1);
  font-family: "Inter", -apple-system, sans-serif;
}
@keyframes t10SlideUp { from { transform: translateY(8px) scale(0.985); opacity: 0; } to { transform: translateY(0) scale(1); opacity: 1; } }
.t10-shhelp__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid oklch(0.95 0.005 260);
}
.t10-shhelp__head h3 {
  margin: 0;
  font-family: "Inter Tight", sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: oklch(0.22 0.012 260);
  letter-spacing: -0.01em;
}
.t10-shhelp__close {
  width: 28px; height: 28px;
  display: inline-flex; align-items: center; justify-content: center;
  background: transparent;
  border: 0;
  border-radius: 6px;
  cursor: pointer;
  color: oklch(0.55 0.012 260);
  transition: all 120ms;
}
.t10-shhelp__close:hover {
  background: oklch(0.96 0.005 260);
  color: oklch(0.22 0.012 260);
}
.t10-shhelp__grid {
  padding: 16px 20px 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.t10-shhelp__grid > div {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: oklch(0.35 0.012 260);
}
.t10-shhelp__grid > div span {
  margin-left: auto;
  color: oklch(0.30 0.012 260);
}
.t10-shhelp__grid kbd {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  padding: 2px 7px;
  background: oklch(0.98 0.005 260);
  border: 1px solid oklch(0.90 0.008 260);
  border-bottom-width: 2px;
  border-radius: 5px;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 11px;
  font-weight: 600;
  color: oklch(0.24 0.012 260);
  line-height: 1.3;
}
.t10-shhelp__sep {
  margin-top: 8px;
  padding-top: 12px;
  border-top: 1px solid oklch(0.95 0.005 260);
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 9.5px;
  font-weight: 600;
  color: oklch(0.55 0.012 260);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  justify-content: flex-start !important;
}

/* ==== /modules/tarefas/tarefas-usability-polish.css ==== */
/* ============================================================
 *  TAREFAS USABILITY POLISH — CSS
 * ============================================================ */

/* ---------- QUICK-ADD INLINE NO KANBAN ---------- */
.t10-qadd {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 6px 8px 10px;
  padding: 6px 8px 6px 10px;
  background: #fff;
  border: 1px dashed oklch(0.88 0.008 260);
  border-radius: 10px;
  transition: border-color 140ms, background 140ms, box-shadow 140ms;
}
.t10-qadd:focus-within {
  border-style: solid;
  border-color: oklch(0.55 0.17 260);
  background: #fff;
  box-shadow: 0 0 0 3px oklch(0.92 0.05 260);
}
.t10-qadd.is-loading { opacity: 0.6; pointer-events: none; }

.t10-qadd__plus {
  width: 14px; height: 14px;
  display: inline-flex; align-items: center; justify-content: center;
  color: oklch(0.60 0.012 260);
  flex-shrink: 0;
}
.t10-qadd__plus svg { width: 14px; height: 14px; }

.t10-qadd__in {
  flex: 1 1 auto;
  min-width: 0;
  background: transparent;
  border: 0;
  outline: 0;
  padding: 4px 0;
  font-family: "Inter", -apple-system, sans-serif;
  font-size: 12.5px;
  color: oklch(0.22 0.012 260);
  letter-spacing: -0.005em;
}
.t10-qadd__in::placeholder {
  color: oklch(0.55 0.012 260);
  font-weight: 400;
}

.t10-qadd__more {
  width: 22px; height: 22px;
  display: inline-flex; align-items: center; justify-content: center;
  background: transparent;
  border: 0;
  border-radius: 5px;
  cursor: pointer;
  color: oklch(0.55 0.012 260);
  opacity: 0;
  transition: all 120ms;
  flex-shrink: 0;
}
.t10-qadd:focus-within .t10-qadd__more,
.t10-qadd:hover .t10-qadd__more { opacity: 1; }
.t10-qadd__more:hover {
  background: oklch(0.96 0.005 260);
  color: oklch(0.22 0.012 260);
}
.t10-qadd__more svg { width: 11px; height: 11px; }

/* ---------- FILTER CHIPS (Minhas / Urgentes) ---------- */
button[data-tf-chip].tf-chip--on {
  background: oklch(0.22 0.02 260) !important;
  color: #fff !important;
  border-color: oklch(0.22 0.02 260) !important;
}
button[data-tf-chip] { display: inline-flex; align-items: center; gap: 4px; }

/* ---------- BUSCA CLIENT-SIDE ----------
   Filtro instantâneo via atributo, sem setState/re-render */
[data-search-hidden="1"] { display: none !important; }


/* ==== /modules/shared/acordly-components.css ==== */
/* ============================================================
 *  ACORDLY UI — Sistema de componentes unificados
 *  Dois componentes base aplicados em toda a ferramenta:
 *    • .a-pop — menus / dropdowns / typeaheads / popovers (branco v2)
 *    • .a-tip — tooltips (branco v2, substitui title= nativo)
 *
 *  Tokens herdados: --bg-elev, --bg-soft, --border, --text,
 *  --text-2, --text-3, --danger, --radius-sm.
 * ============================================================ */

/* ============================================================
 *  1. POP (menu/dropdown/typeahead/popover)
 * ============================================================ */
.a-pop {
  position: fixed;
  z-index: 2000;
  min-width: 200px;
  max-width: 360px;
  background: var(--bg-elev, #ffffff);
  border: 1px solid var(--border, #E7E5E4);
  border-radius: 12px;
  box-shadow:
    0 1px 2px rgba(0, 0, 0, 0.04),
    0 12px 40px rgba(0, 0, 0, 0.14),
    0 24px 60px rgba(0, 0, 0, 0.08);
  padding: 6px;
  display: flex;
  flex-direction: column;
  gap: 1px;

  opacity: 0;
  transform: scale(0.96) translateY(-4px);
  transform-origin: top right;
  transition:
    opacity 140ms cubic-bezier(.16, 1, .3, 1),
    transform 140ms cubic-bezier(.16, 1, .3, 1);
  pointer-events: none;

  font-family: inherit;
  font-variant-numeric: tabular-nums;
  max-height: min(420px, calc(100vh - 40px));
  overflow-y: auto;
  overscroll-behavior: contain;
}
.a-pop.is-open {
  opacity: 1;
  transform: scale(1) translateY(0);
  pointer-events: auto;
}
.a-pop[data-origin="top-left"]     { transform-origin: top left; }
.a-pop[data-origin="top-right"]    { transform-origin: top right; }
.a-pop[data-origin="bottom-left"]  { transform-origin: bottom left; }
.a-pop[data-origin="bottom-right"] { transform-origin: bottom right; }

/* Arrow/pointer */
.a-pop__arrow {
  position: absolute;
  width: 10px;
  height: 10px;
  background: var(--bg-elev, #ffffff);
  border-left: 1px solid var(--border, #E7E5E4);
  border-top:  1px solid var(--border, #E7E5E4);
  transform: rotate(45deg);
  pointer-events: none;
  z-index: -1;
}
.a-pop[data-origin^="top"] .a-pop__arrow    { top: -6px; }
.a-pop[data-origin^="bottom"] .a-pop__arrow { bottom: -6px; transform: rotate(225deg); }

/* Section headers */
.a-pop__section {
  padding: 8px 10px 4px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 9.5px;
  font-weight: 600;
  color: var(--text-3, #A8A29E);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  user-select: none;
}
.a-pop__section:not(:first-child) {
  margin-top: 2px;
  border-top: 0.5px solid oklch(0.94 0.004 250);
  padding-top: 10px;
}

/* Items */
.a-pop__item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 7px 10px;
  border: 0;
  background: transparent;
  border-radius: 8px;
  font-family: inherit;
  font-size: 12.5px;
  color: var(--text-2, #57534E);
  cursor: pointer;
  text-align: left;
  position: relative;
  transition: background 100ms ease, color 100ms ease;
  width: 100%;
  white-space: nowrap;
  box-sizing: border-box;
}
.a-pop__item::before {
  content: '';
  position: absolute;
  left: 0;
  top: 6px;
  bottom: 6px;
  width: 2px;
  border-radius: 0 2px 2px 0;
  background: transparent;
  transition: background 120ms ease;
}
.a-pop__item:hover,
.a-pop__item:focus-visible,
.a-pop__item.is-active,
.a-pop__item.on {
  background: var(--bg-soft, #F4F4F2);
  color: var(--text, #0A0B0D);
  outline: none;
}
.a-pop__item:hover::before,
.a-pop__item.is-active::before,
.a-pop__item.on::before {
  background: var(--text, #0A0B0D);
}
.a-pop__item[disabled],
.a-pop__item[aria-disabled="true"] {
  opacity: 0.45;
  cursor: not-allowed;
}
.a-pop__item .a-pop__icon,
.a-pop__item > svg:first-child {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  color: currentColor;
  opacity: 0.75;
}

/* Label / meta / shortcut */
.a-pop__item-label {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
.a-pop__item-meta {
  margin-left: auto;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  color: var(--text-3, #A8A29E);
  padding-left: 12px;
}

/* Keyboard shortcut */
.a-pop__kbd {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  margin-left: auto;
  padding-left: 12px;
}
.a-pop__kbd kbd {
  display: inline-block;
  padding: 1px 5px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 500;
  color: var(--text-3, #A8A29E);
  background: var(--bg-soft, #F4F4F2);
  border: 1px solid var(--border, #E7E5E4);
  border-bottom-width: 1.5px;
  border-radius: 4px;
  min-width: 14px;
  text-align: center;
  line-height: 1.25;
}
.a-pop__item:hover .a-pop__kbd kbd,
.a-pop__item.is-active .a-pop__kbd kbd {
  color: var(--text-2, #57534E);
  background: #fff;
}

/* Danger variant */
.a-pop__item--danger,
.a-pop__item.danger {
  color: oklch(0.52 0.22 25);
}
.a-pop__item--danger:hover,
.a-pop__item.danger:hover {
  background: oklch(0.97 0.025 25);
  color: oklch(0.44 0.22 25);
}
.a-pop__item--danger:hover::before,
.a-pop__item.danger:hover::before {
  background: oklch(0.52 0.22 25);
}

/* Separator */
.a-pop__sep,
.a-pop .sep {
  height: 0.5px;
  background: oklch(0.94 0.004 250);
  margin: 4px 4px;
  border: 0;
}

/* Loading state */
.a-pop__item.is-loading {
  cursor: progress;
  pointer-events: none;
}
.a-pop__item.is-loading .a-pop__icon,
.a-pop__item.is-loading > svg:first-child {
  animation: a-spin 700ms linear infinite;
}
@keyframes a-spin { to { transform: rotate(360deg); } }

/* Search box (for large lists) */
.a-pop__search {
  padding: 4px 4px 6px;
  border-bottom: 0.5px solid oklch(0.94 0.004 250);
  margin-bottom: 4px;
}
.a-pop__search input {
  width: 100%;
  padding: 6px 8px;
  border: 1px solid var(--border, #E7E5E4);
  border-radius: 6px;
  font-size: 12px;
  background: var(--bg-soft, #FAFAF9);
  color: var(--text, #0A0B0D);
  outline: 0;
}
.a-pop__search input:focus {
  border-color: var(--text-2, #57534E);
  background: #fff;
}

/* Empty state inside pop */
.a-pop__empty {
  padding: 14px 10px;
  text-align: center;
  font-size: 11.5px;
  color: var(--text-3, #A8A29E);
}

/* ============================================================
 *  2. TIP (tooltip)
 * ============================================================ */
.a-tip {
  position: fixed;
  z-index: 10000;
  padding: 7px 10px;
  background: var(--bg-elev, #ffffff);
  color: var(--text, #0A0B0D);
  border: 1px solid var(--border, #E7E5E4);
  border-radius: 8px;
  box-shadow:
    0 1px 2px rgba(0, 0, 0, 0.04),
    0 10px 28px rgba(0, 0, 0, 0.12);
  font-family: inherit;
  font-size: 11.5px;
  font-weight: 500;
  line-height: 1.4;
  max-width: 260px;
  min-width: 40px;
  white-space: normal;
  pointer-events: none;
  opacity: 0;
  transform: translateY(-2px);
  transition: opacity 120ms ease, transform 120ms ease;
}
.a-tip.is-open {
  opacity: 1;
  transform: translateY(0);
}
.a-tip[data-placement="bottom"] { transform: translateY(2px); }
.a-tip[data-placement="bottom"].is-open { transform: translateY(0); }
.a-tip kbd {
  display: inline-block;
  padding: 1px 4px;
  background: var(--bg-soft, #F4F4F2);
  border: 1px solid var(--border, #E7E5E4);
  border-radius: 3px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 9.5px;
  color: var(--text-2, #57534E);
}
.a-tip code {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  background: var(--bg-soft, #F4F4F2);
  padding: 1px 4px;
  border-radius: 3px;
}
.a-tip strong { color: var(--text, #0A0B0D); font-weight: 600; }

/* ============================================================
 *  3. NORMALIZAÇÃO DE .menu-pop EXISTENTES
 *  Todo .menu-pop antigo herda visual e comportamento do .a-pop
 * ============================================================ */
.menu-pop {
  /* mantém comportamento de display via classe .on (controlado pelos scripts antigos) */
  position: fixed !important;
  background: var(--bg-elev, #ffffff) !important;
  border: 1px solid var(--border, #E7E5E4) !important;
  border-radius: 12px !important;
  box-shadow:
    0 1px 2px rgba(0, 0, 0, 0.04),
    0 12px 40px rgba(0, 0, 0, 0.14),
    0 24px 60px rgba(0, 0, 0, 0.08) !important;
  padding: 6px !important;
  min-width: 200px;
  max-width: 360px;
  gap: 1px;
  font-variant-numeric: tabular-nums;
  max-height: min(420px, calc(100vh - 40px));
  overflow-y: auto;
  z-index: 2000 !important;

  opacity: 0;
  transform: scale(0.96) translateY(-4px);
  transform-origin: top right;
  transition:
    opacity 140ms cubic-bezier(.16, 1, .3, 1),
    transform 140ms cubic-bezier(.16, 1, .3, 1);
  pointer-events: none;
}
.menu-pop.on,
.menu-pop.is-open {
  opacity: 1;
  transform: scale(1) translateY(0);
  pointer-events: auto;
}
.menu-pop[data-origin="top-left"]     { transform-origin: top left; }
.menu-pop[data-origin="top-right"]    { transform-origin: top right; }
.menu-pop[data-origin="bottom-left"]  { transform-origin: bottom left; }
.menu-pop[data-origin="bottom-right"] { transform-origin: bottom right; }

/* Items inside .menu-pop */
.menu-pop button {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 7px 10px !important;
  border: 0 !important;
  background: transparent !important;
  border-radius: 8px !important;
  font-family: inherit !important;
  font-size: 12.5px !important;
  color: var(--text-2, #57534E) !important;
  cursor: pointer;
  text-align: left !important;
  position: relative;
  transition: background 100ms ease, color 100ms ease !important;
  width: 100%;
  white-space: nowrap;
  box-sizing: border-box;
}
.menu-pop button::before {
  content: '';
  position: absolute;
  left: 0;
  top: 6px;
  bottom: 6px;
  width: 2px;
  border-radius: 0 2px 2px 0;
  background: transparent;
  transition: background 120ms ease;
}
.menu-pop button:hover,
.menu-pop button:focus-visible,
.menu-pop button.is-active {
  background: var(--bg-soft, #F4F4F2) !important;
  color: var(--text, #0A0B0D) !important;
  outline: none !important;
}
.menu-pop button:hover::before,
.menu-pop button.is-active::before {
  background: var(--text, #0A0B0D);
}
.menu-pop button svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  color: currentColor;
  opacity: 0.75;
}
.menu-pop button.danger {
  color: oklch(0.52 0.22 25) !important;
}
.menu-pop button.danger:hover {
  background: oklch(0.97 0.025 25) !important;
  color: oklch(0.44 0.22 25) !important;
}
.menu-pop button.danger:hover::before { background: oklch(0.52 0.22 25); }
/* Status atual destacado no row-menu (3 pontinhos) */
.menu-pop button.is-active[disabled],
.menu-pop button[aria-current="true"][disabled] {
  background: oklch(0.97 0.02 165) !important;
  color: oklch(0.42 0.14 165) !important;
  cursor: default !important;
  opacity: 1 !important;
}
.menu-pop button.is-active[disabled]::before,
.menu-pop button[aria-current="true"][disabled]::before {
  background: oklch(0.55 0.16 165) !important;
}
.menu-pop button.is-active[disabled] svg,
.menu-pop button[aria-current="true"][disabled] svg {
  opacity: 1 !important;
  color: oklch(0.55 0.16 165) !important;
}
.menu-pop button.is-active[disabled] .a-pop__kbd svg {
  width: 8px !important;
  height: 8px !important;
}
.menu-pop .sep {
  height: 0.5px !important;
  background: oklch(0.94 0.004 250) !important;
  margin: 4px 4px !important;
  border: 0 !important;
}

/* Shortcut chips dentro de .menu-pop button */
.menu-pop button kbd,
.menu-pop button .kbd {
  display: inline-block;
  margin-left: auto;
  padding: 1px 5px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 500;
  color: var(--text-3, #A8A29E);
  background: var(--bg-soft, #F4F4F2);
  border: 1px solid var(--border, #E7E5E4);
  border-bottom-width: 1.5px;
  border-radius: 4px;
  min-width: 14px;
  text-align: center;
}
.menu-pop button:hover kbd,
.menu-pop button:hover .kbd {
  color: var(--text-2, #57534E);
  background: #fff;
}

/* =============================================================
 *  DIALOG v2 (confirm / alert / destructive)
 *  Backdrop + card branco radius 18px + impact + type-to-confirm
 * ============================================================= */
.a-dlg-backdrop {
  position: fixed;
  inset: 0;
  /* Confirmação fica acima de tudo: em 2100 o "Excluir acordo?" pedido de
     dentro da gaveta (z 9999) e dos modais (z 10000) abria escondido atrás. */
  z-index: 10050;
  background: rgba(28, 25, 23, 0);
  backdrop-filter: blur(0px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  opacity: 0;
  transition: opacity .18s ease, backdrop-filter .24s ease, background-color .24s ease;
}
.a-dlg-backdrop.is-open {
  opacity: 1;
  background: rgba(28, 25, 23, 0.32);
  backdrop-filter: blur(6px);
}
.a-dlg {
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 32px 80px -24px rgba(0, 0, 0, 0.35), 0 8px 24px -12px rgba(0, 0, 0, 0.18);
  width: 100%;
  max-width: 460px;
  max-height: calc(100vh - 48px);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transform: translateY(8px) scale(.985);
  opacity: 0;
  transition: transform .22s cubic-bezier(.2,.9,.3,1.2), opacity .18s ease;
}
.a-dlg-backdrop.is-open .a-dlg {
  transform: translateY(0) scale(1);
  opacity: 1;
}
.a-dlg__head {
  padding: 20px 22px 14px;
  display: flex;
  gap: 14px;
  align-items: flex-start;
}
.a-dlg__icon {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: var(--bg-soft, #F4F4F2);
  color: var(--text-2, #57534E);
}
.a-dlg__icon svg {
  width: 20px;
  height: 20px;
  stroke-width: 2;
}
.a-dlg__icon--danger {
  background: color-mix(in oklch, oklch(0.52 0.22 25) 12%, transparent);
  color: oklch(0.52 0.22 25);
}
.a-dlg__icon--warn {
  background: color-mix(in oklch, oklch(0.75 0.15 75) 15%, transparent);
  color: oklch(0.55 0.17 65);
}
.a-dlg__icon--info {
  background: color-mix(in oklch, oklch(0.65 0.14 240) 14%, transparent);
  color: oklch(0.45 0.15 240);
}
.a-dlg__head-text { flex: 1; min-width: 0; }
.a-dlg__eyebrow {
  font: 500 9.5px/1 "JetBrains Mono", ui-monospace, monospace;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-3, #8B8683);
  margin-bottom: 6px;
}
.a-dlg__title {
  font: 600 17px/1.3 "Inter Tight", Inter, system-ui, sans-serif;
  color: var(--text, #1C1917);
  letter-spacing: -0.015em;
  margin: 0;
}
.a-dlg__close {
  border: 0;
  background: transparent;
  color: var(--text-3, #8B8683);
  cursor: pointer;
  padding: 4px;
  border-radius: 6px;
  display: grid;
  place-items: center;
  transition: background .12s ease, color .12s ease;
}
.a-dlg__close:hover { background: var(--bg-soft, #F4F4F2); color: var(--text, #1C1917); }
.a-dlg__close svg { width: 16px; height: 16px; stroke-width: 2; }
.a-dlg__body {
  padding: 0 22px 18px;
  font: 400 14px/1.55 Inter, system-ui, sans-serif;
  color: var(--text-2, #57534E);
  overflow-y: auto;
}
.a-dlg__body strong { color: var(--text, #1C1917); font-weight: 600; }
.a-dlg__impact {
  margin-top: 14px;
  padding: 12px 14px;
  background: var(--bg-soft, #F4F4F2);
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.a-dlg__impact-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font: 400 13px/1.4 Inter, system-ui, sans-serif;
  color: var(--text-2, #57534E);
}
.a-dlg__impact-row strong {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  color: var(--text, #1C1917);
}
.a-dlg__impact-row--danger strong { color: oklch(0.52 0.22 25); }
.a-dlg__confirm-type {
  margin-top: 14px;
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.a-dlg__confirm-type label {
  font: 400 12.5px/1.4 Inter, system-ui, sans-serif;
  color: var(--text-2, #57534E);
}
.a-dlg__confirm-type label code {
  padding: 1px 6px;
  border-radius: 4px;
  background: #fff;
  border: 1px solid var(--border, #E7E5E4);
  font: 600 11.5px/1 "JetBrains Mono", ui-monospace, monospace;
  color: oklch(0.52 0.22 25);
  letter-spacing: 0.08em;
}
.a-dlg__confirm-type input {
  width: 100%;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid var(--border, #E7E5E4);
  background: #fff;
  font: 500 13.5px/1.2 "JetBrains Mono", ui-monospace, monospace;
  letter-spacing: 0.08em;
  color: var(--text, #1C1917);
  transition: border-color .12s ease, box-shadow .12s ease;
  outline: none;
}
.a-dlg__confirm-type input:focus {
  border-color: oklch(0.52 0.22 25);
  box-shadow: 0 0 0 3px color-mix(in oklch, oklch(0.52 0.22 25) 18%, transparent);
}
.a-dlg__confirm-type.is-shake input {
  animation: a-dlg-shake .28s ease;
  border-color: oklch(0.52 0.22 25);
}
@keyframes a-dlg-shake {
  0%,100% { transform: translateX(0); }
  25% { transform: translateX(-4px); }
  75% { transform: translateX(4px); }
}
.a-dlg__actions {
  display: flex;
  gap: 8px;
  padding: 14px 18px 18px;
  justify-content: flex-end;
  border-top: 1px solid var(--border, #E7E5E4);
  background: var(--bg-soft, #F4F4F2);
}
.a-dlg__btn {
  border: 0;
  padding: 9px 16px;
  border-radius: 9px;
  font: 500 13.5px/1.2 Inter, system-ui, sans-serif;
  cursor: pointer;
  transition: background .12s ease, color .12s ease, transform .08s ease, box-shadow .12s ease;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  letter-spacing: -0.005em;
}
.a-dlg__btn:active { transform: scale(.97); }
.a-dlg__btn--ghost {
  background: transparent;
  color: var(--text-2, #57534E);
  border: 1px solid var(--border, #E7E5E4);
  background: #fff;
}
.a-dlg__btn--ghost:hover { background: var(--bg-soft, #F4F4F2); color: var(--text, #1C1917); }
.a-dlg__btn--primary {
  background: var(--text, #1C1917);
  color: #fff;
}
.a-dlg__btn--primary:hover { background: oklch(0.28 0.01 60); }
.a-dlg__btn--danger {
  background: oklch(0.52 0.22 25);
  color: #fff;
}
.a-dlg__btn--danger:hover { background: oklch(0.46 0.23 25); }
.a-dlg__btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  .a-dlg-backdrop, .a-dlg { transition: opacity .12s linear; }
  .a-dlg { transform: none; }
  .a-dlg__confirm-type.is-shake input { animation: none; }
}

/* =============================================================
 *  NOTICE v2 (substituto do card "Sobrecarga Crítica")
 *  Canto superior direito, discreto, dispensável
 * ============================================================= */
.a-notice-stack {
  position: fixed;
  top: 80px;
  right: 16px;
  z-index: 1900;
  display: flex;
  flex-direction: column;
  gap: 10px;
  pointer-events: none;
  max-width: 360px;
  width: calc(100vw - 32px);
}
.a-notice {
  pointer-events: auto;
  background: #fff;
  border: 1px solid var(--border, #E7E5E4);
  border-left-width: 4px;
  border-radius: 12px;
  box-shadow: 0 12px 32px -12px rgba(0, 0, 0, 0.18), 0 2px 8px -2px rgba(0, 0, 0, 0.08);
  padding: 14px 16px 12px;
  display: grid;
  grid-template-columns: 32px 1fr auto;
  gap: 12px;
  transform: translateX(12px);
  opacity: 0;
  transition: transform .24s cubic-bezier(.2,.9,.3,1.2), opacity .2s ease;
  position: relative;
  overflow: hidden;
}
.a-notice.is-open { transform: translateX(0); opacity: 1; }
.a-notice.is-closing { transform: translateX(16px); opacity: 0; }
.a-notice--info { border-left-color: oklch(0.55 0.14 240); }
.a-notice--warn { border-left-color: oklch(0.65 0.17 65); }
.a-notice--danger { border-left-color: oklch(0.52 0.22 25); }
.a-notice--success { border-left-color: oklch(0.55 0.14 150); }
.a-notice__icon {
  width: 32px;
  height: 32px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.a-notice--info .a-notice__icon {
  background: color-mix(in oklch, oklch(0.55 0.14 240) 12%, transparent);
  color: oklch(0.45 0.15 240);
}
.a-notice--warn .a-notice__icon {
  background: color-mix(in oklch, oklch(0.75 0.15 75) 14%, transparent);
  color: oklch(0.52 0.17 65);
}
.a-notice--danger .a-notice__icon {
  background: color-mix(in oklch, oklch(0.52 0.22 25) 12%, transparent);
  color: oklch(0.52 0.22 25);
}
.a-notice--success .a-notice__icon {
  background: color-mix(in oklch, oklch(0.55 0.14 150) 12%, transparent);
  color: oklch(0.42 0.14 150);
}
.a-notice__icon svg { width: 16px; height: 16px; stroke-width: 2; }
.a-notice__body { min-width: 0; }
.a-notice__eyebrow {
  font: 500 9px/1 "JetBrains Mono", ui-monospace, monospace;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-3, #8B8683);
  margin-bottom: 4px;
}
.a-notice__title {
  font: 600 13.5px/1.3 "Inter Tight", Inter, system-ui, sans-serif;
  color: var(--text, #1C1917);
  letter-spacing: -0.01em;
  margin: 0 0 2px;
}
.a-notice__msg {
  font: 400 12.5px/1.45 Inter, system-ui, sans-serif;
  color: var(--text-2, #57534E);
  margin: 0;
}
.a-notice__actions {
  display: flex;
  gap: 6px;
  margin-top: 10px;
  flex-wrap: wrap;
}
.a-notice__btn {
  border: 0;
  padding: 5px 10px;
  border-radius: 6px;
  font: 500 11.5px/1.2 Inter, system-ui, sans-serif;
  cursor: pointer;
  transition: background .12s ease, color .12s ease;
  background: var(--bg-soft, #F4F4F2);
  color: var(--text-2, #57534E);
}
.a-notice__btn:hover { background: var(--border, #E7E5E4); color: var(--text, #1C1917); }
.a-notice__btn--primary {
  background: var(--text, #1C1917);
  color: #fff;
}
.a-notice__btn--primary:hover { background: oklch(0.28 0.01 60); }
.a-notice__close {
  border: 0;
  background: transparent;
  color: var(--text-3, #8B8683);
  cursor: pointer;
  padding: 3px;
  border-radius: 5px;
  display: grid;
  place-items: center;
  align-self: flex-start;
  transition: background .12s ease, color .12s ease;
}
.a-notice__close:hover { background: var(--bg-soft, #F4F4F2); color: var(--text, #1C1917); }
.a-notice__close svg { width: 13px; height: 13px; stroke-width: 2; }
.a-notice__progress {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 2px;
  background: var(--border, #E7E5E4);
  overflow: hidden;
}
.a-notice__progress span {
  display: block;
  height: 100%;
  background: currentColor;
  width: 100%;
  transform-origin: left center;
  opacity: 0.5;
}

/* =============================================================
 *  UNDO TOAST (snackbar inferior com timer)
 * ============================================================= */
.a-undo-stack {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2050;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  pointer-events: none;
}
.a-undo {
  pointer-events: auto;
  background: oklch(0.18 0.01 60);
  color: #fff;
  border-radius: 12px;
  padding: 11px 14px 11px 16px;
  display: flex;
  align-items: center;
  gap: 14px;
  box-shadow: 0 18px 40px -10px rgba(0,0,0,.4);
  min-width: 300px;
  max-width: 480px;
  transform: translateY(12px);
  opacity: 0;
  transition: transform .26s cubic-bezier(.2,.9,.3,1.2), opacity .2s ease;
  position: relative;
  overflow: hidden;
  font: 400 13px/1.4 Inter, system-ui, sans-serif;
}
.a-undo.is-open { transform: translateY(0); opacity: 1; }
.a-undo.is-closing { transform: translateY(8px); opacity: 0; }
.a-undo__msg { flex: 1; min-width: 0; }
.a-undo__msg strong { font-weight: 600; color: #fff; }
.a-undo__btn {
  border: 0;
  background: rgba(255,255,255,.12);
  color: #fff;
  padding: 6px 12px;
  border-radius: 7px;
  cursor: pointer;
  font: 500 12.5px/1 Inter, system-ui, sans-serif;
  transition: background .12s ease;
}
.a-undo__btn:hover { background: rgba(255,255,255,.2); }
.a-undo__progress {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 2px;
  background: rgba(255,255,255,.14);
  overflow: hidden;
}
.a-undo__progress span {
  display: block;
  height: 100%;
  background: rgba(255,255,255,.75);
  transform-origin: left center;
}

/* =============================================================
 *  COMMAND PALETTE ⌘K
 * ============================================================= */
.a-palette-backdrop {
  position: fixed;
  inset: 0;
  z-index: 2200;
  background: rgba(28,25,23,0);
  backdrop-filter: blur(0);
  display: flex;
  justify-content: center;
  align-items: flex-start;
  padding: 10vh 24px 24px;
  opacity: 0;
  transition: opacity .16s ease, backdrop-filter .24s ease, background-color .24s ease;
}
.a-palette-backdrop.is-open {
  opacity: 1;
  background: rgba(28,25,23,.28);
  backdrop-filter: blur(6px);
}
.a-palette {
  width: 100%;
  max-width: 560px;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 40px 90px -20px rgba(0,0,0,.45), 0 10px 28px -10px rgba(0,0,0,.2);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  max-height: 72vh;
  transform: translateY(-8px) scale(.99);
  opacity: 0;
  transition: transform .22s cubic-bezier(.2,.9,.3,1.2), opacity .18s ease;
}
.a-palette-backdrop.is-open .a-palette { transform: translateY(0) scale(1); opacity: 1; }
.a-palette__search {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--border, #E7E5E4);
}
.a-palette__search svg { width: 16px; height: 16px; stroke-width: 2; color: var(--text-3, #8B8683); flex-shrink: 0; }
.a-palette__search input {
  flex: 1;
  border: 0;
  outline: none;
  background: transparent;
  font: 400 15px/1.3 Inter, system-ui, sans-serif;
  color: var(--text, #1C1917);
}
.a-palette__search input::placeholder { color: var(--text-3, #8B8683); }
.a-palette__list {
  overflow-y: auto;
  padding: 6px;
}
.a-palette__section {
  font: 500 9.5px/1 "JetBrains Mono", ui-monospace, monospace;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-3, #8B8683);
  padding: 10px 10px 6px;
}
.a-palette__item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 10px;
  border-radius: 8px;
  cursor: pointer;
  font: 400 13.5px/1.3 Inter, system-ui, sans-serif;
  color: var(--text, #1C1917);
  user-select: none;
}
.a-palette__item-icon {
  width: 28px; height: 28px;
  border-radius: 7px;
  background: var(--bg-soft, #F4F4F2);
  color: var(--text-2, #57534E);
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.a-palette__item-icon svg { width: 14px; height: 14px; stroke-width: 2; }
.a-palette__item-text { flex: 1; min-width: 0; }
.a-palette__item-title { color: var(--text, #1C1917); font-weight: 500; }
.a-palette__item-sub { font-size: 11.5px; color: var(--text-3, #8B8683); margin-top: 1px; }
.a-palette__item-kbd {
  font: 500 10.5px/1 "JetBrains Mono", ui-monospace, monospace;
  color: var(--text-3, #8B8683);
  padding: 3px 6px;
  border-radius: 5px;
  background: var(--bg-soft, #F4F4F2);
  border: 1px solid var(--border, #E7E5E4);
  border-bottom-width: 1.5px;
  letter-spacing: 0.06em;
}
.a-palette__item.is-active {
  background: var(--bg-soft, #F4F4F2);
}
.a-palette__item.is-active .a-palette__item-icon {
  background: var(--text, #1C1917);
  color: #fff;
}
.a-palette__empty {
  padding: 32px 16px;
  text-align: center;
  color: var(--text-3, #8B8683);
  font: 400 13px/1.5 Inter, system-ui, sans-serif;
}
.a-palette__hint {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 12px;
  border-top: 1px solid var(--border, #E7E5E4);
  background: var(--bg-soft, #F4F4F2);
  font: 400 11px/1 Inter, system-ui, sans-serif;
  color: var(--text-3, #8B8683);
}
.a-palette__hint kbd {
  font: 500 10px/1 "JetBrains Mono", ui-monospace, monospace;
  padding: 2px 5px;
  border-radius: 4px;
  background: #fff;
  border: 1px solid var(--border, #E7E5E4);
  border-bottom-width: 1.5px;
  color: var(--text-2, #57534E);
  margin: 0 2px;
}

/* Silencia o card antigo de "Sobrecarga" enquanto migramos */
.sto-card.legacy-hidden { display: none !important; }

/* =============================================================
 *  Normalização row-menu-popup (tarefas) → padrão a-pop/menu-pop
 * ============================================================= */
.row-menu-popup.a-pop {
  background: #fff !important;
  border: 1px solid var(--border, #E7E5E4) !important;
  border-radius: 12px !important;
  box-shadow: 0 20px 40px -8px rgba(0,0,0,.18), 0 4px 12px -4px rgba(0,0,0,.08) !important;
  padding: 6px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 1px !important;
}
.row-menu-popup.a-pop button {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  border: 0 !important;
  background: transparent !important;
  padding: 7px 10px 7px 12px !important;
  border-radius: 7px !important;
  cursor: pointer !important;
  font: 500 13px/1.3 Inter, system-ui, sans-serif !important;
  color: var(--text, #1C1917) !important;
  text-align: left !important;
  position: relative;
  transition: background .12s ease, color .12s ease;
}
.row-menu-popup.a-pop button svg {
  width: 15px !important;
  height: 15px !important;
  color: var(--text-3, #8B8683) !important;
  flex-shrink: 0;
  transition: color .12s ease;
}
.row-menu-popup.a-pop button > span:not(.a-pop__kbd) {
  flex: 1;
  min-width: 0;
}
.row-menu-popup.a-pop button:hover {
  background: var(--bg-soft, #F4F4F2) !important;
}
.row-menu-popup.a-pop button:hover svg {
  color: var(--text, #1C1917) !important;
}
.row-menu-popup.a-pop button.danger {
  color: oklch(0.52 0.22 25) !important;
}
.row-menu-popup.a-pop button.danger svg {
  color: oklch(0.52 0.22 25) !important;
}
.row-menu-popup.a-pop button.danger:hover {
  background: color-mix(in oklch, oklch(0.52 0.22 25) 8%, transparent) !important;
}
.row-menu-popup.a-pop .a-pop__section {
  font: 500 9.5px/1 "JetBrains Mono", ui-monospace, monospace !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--text-3, #8B8683) !important;
  padding: 8px 10px 4px !important;
}
.row-menu-popup.a-pop .a-pop__sep {
  height: 1px !important;
  background: var(--border, #E7E5E4) !important;
  margin: 4px 4px !important;
}
.row-menu-popup.a-pop .a-pop__kbd {
  margin-left: auto;
  display: inline-flex;
  gap: 3px;
}
.row-menu-popup.a-pop .a-pop__kbd kbd {
  font: 500 10px/1 "JetBrains Mono", ui-monospace, monospace !important;
  padding: 1px 5px !important;
  border-radius: 4px !important;
  background: var(--bg-soft, #F4F4F2) !important;
  border: 1px solid var(--border, #E7E5E4) !important;
  border-bottom-width: 1.5px !important;
  color: var(--text-3, #8B8683) !important;
}

/* ── Header "Atual: Em execução" ──────────────────── */
.row-menu-popup.a-pop .a-pop__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 10px 10px 8px;
  border-bottom: 1px solid var(--border, #E7E5E4);
  margin-bottom: 4px;
}
.row-menu-popup.a-pop .a-pop__header-label {
  font: 500 9.5px/1 "JetBrains Mono", ui-monospace, monospace;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-3, #8B8683);
}
.row-menu-popup.a-pop .a-pop__header-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font: 500 12px/1 "Inter Tight", sans-serif;
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--bg-soft, #F4F4F2);
  color: var(--text, #0A0B0D);
  border: 1px solid var(--border, #E7E5E4);
}
.row-menu-popup.a-pop .a-pop__header-status svg {
  width: 12px !important; height: 12px !important;
}
.row-menu-popup.a-pop .a-pop__header-status--backlog     { color: oklch(0.44 0.03 80);  }
.row-menu-popup.a-pop .a-pop__header-status--doing       { color: oklch(0.48 0.14 260); background: oklch(0.96 0.02 260); border-color: oklch(0.88 0.04 260); }
.row-menu-popup.a-pop .a-pop__header-status--review      { color: oklch(0.50 0.15 35);  background: oklch(0.97 0.02 35);  border-color: oklch(0.88 0.04 35);  }
.row-menu-popup.a-pop .a-pop__header-status--done        { color: oklch(0.45 0.14 165); background: oklch(0.96 0.02 165); border-color: oklch(0.88 0.04 165); }
.row-menu-popup.a-pop .a-pop__header-status--protocolada { color: oklch(0.45 0.14 280); background: oklch(0.96 0.02 280); border-color: oklch(0.88 0.04 280); }

/* ── Botão primário "Avançar para X" ──────────────── */
.row-menu-popup.a-pop button.is-primary {
  background: oklch(0.12 0.008 80) !important;
  color: #fff !important;
  margin: 2px 4px 6px !important;
  border-radius: 10px !important;
}
.row-menu-popup.a-pop button.is-primary svg { color: #fff !important; opacity: 1 !important; }
.row-menu-popup.a-pop button.is-primary:hover {
  background: oklch(0.18 0.01 80) !important;
}
.row-menu-popup.a-pop button.is-primary .a-pop__kbd kbd {
  background: rgba(255,255,255,0.12) !important;
  border-color: rgba(255,255,255,0.2) !important;
  color: #fff !important;
}
.row-menu-popup.a-pop button.is-primary strong {
  font-weight: 600;
}

/* ── Estado "on" pra keyboard nav ──────────────────── */
.row-menu-popup.a-pop button.on:not([disabled]) {
  background: var(--bg-soft, #F4F4F2) !important;
  box-shadow: inset 2px 0 0 0 oklch(0.55 0.16 165) !important;
}
.row-menu-popup.a-pop button.is-primary.on {
  background: oklch(0.22 0.01 80) !important;
}

/* Garante que menu-pop criado em clientes ganhe layout flex */
.menu-pop[data-cliente-menu] {
  position: absolute !important;
  right: 6px !important;
  top: 42px !important;
  z-index: 30 !important;
  width: 220px !important;
}
/* Clientes toggla só a classe .hidden — quando ela sai, o menu precisa ficar visível
   mesmo sem .is-open/.on (que outros módulos usam). */
.menu-pop[data-cliente-menu]:not(.hidden) {
  opacity: 1 !important;
  transform: scale(1) translateY(0) !important;
  pointer-events: auto !important;
}
.menu-pop[data-cliente-menu].hidden {
  display: none !important;
}

/* =============================================================
 *  Briefing "Assistente IA · Agora" (smart-task-organizer)
 *  Mesmo notice da casa, mais largo, com lista agrupada clicável.
 * ============================================================= */
.a-notice-stack:has(.a-notice--brief) { max-width: 440px; }
.a-notice--brief { padding: 16px 16px 14px; }
.a-notice--brief .a-notice__title { font-size: 15px; letter-spacing: -0.015em; margin-bottom: 8px; }
.a-brief { display: flex; flex-direction: column; gap: 2px; margin: 2px 0 0; }
.a-brief__grupo {
  font: 500 9px/1 "JetBrains Mono", ui-monospace, monospace;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--text-3, #8B8683);
  margin: 8px 0 3px;
}
.a-brief__grupo:first-child { margin-top: 0; }
.a-brief__item {
  all: unset; box-sizing: border-box; cursor: pointer; width: 100%;
  display: grid; grid-template-columns: 8px 1fr auto; align-items: start; gap: 10px;
  padding: 7px 8px 7px 6px; margin: 0 -6px; border-radius: 8px;
  transition: background .12s ease;
}
.a-brief__item:hover, .a-brief__item:focus-visible { background: var(--bg-soft, #F4F4F2); }
.a-brief__item:focus-visible { outline: 2px solid var(--text, #1C1917); outline-offset: -2px; }
.a-brief__dot { width: 8px; height: 8px; border-radius: 50%; margin-top: 5px; background: oklch(0.55 0.14 240); }
.a-brief__item--warn .a-brief__dot { background: oklch(0.72 0.17 65); }
.a-brief__item--danger .a-brief__dot { background: oklch(0.55 0.22 25); box-shadow: 0 0 0 3px color-mix(in oklch, oklch(0.55 0.22 25) 18%, transparent); }
.a-brief__txt { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.a-brief__t { font: 500 12.5px/1.35 Inter, system-ui, sans-serif; color: var(--text, #1C1917); overflow-wrap: anywhere; }
.a-brief__s { font: 400 11.5px/1.35 Inter, system-ui, sans-serif; color: var(--text-2, #57534E); font-variant-numeric: tabular-nums; }
.a-brief__go { color: var(--text-3, #8B8683); font-size: 16px; line-height: 1; margin-top: 2px; transition: transform .12s ease; }
.a-brief__item:hover .a-brief__go { transform: translateX(2px); color: var(--text, #1C1917); }
.a-brief__meta {
  margin-top: 10px; padding-top: 8px; border-top: 1px dashed var(--border, #E7E5E4);
  font: 400 11px/1.4 "JetBrains Mono", ui-monospace, monospace; letter-spacing: 0.01em;
  color: var(--text-3, #8B8683); font-variant-numeric: tabular-nums;
}
@media (max-width: 640px) {
  .a-notice-stack:has(.a-notice--brief) { max-width: none; top: 64px; }
}

/* ==== /modules/tarefas/tarefas-ds-bridge.css ==== */
/* ═══════════════════════════════════════════════════════════════
   TAREFAS — DS BRIDGE (alinha a aba ao Design System oficial)
   Carregado por último; sobrescreve as variantes locais
   sem tocar nos arquivos existentes.

   Padrão de Clientes/Audiências:
   - Paleta warm-stone do DS (var(--bg/--bg-soft/--border/--text))
   - Card.card-accent no TOPO (4px), não na lateral
   - Filter chips (.fchip): pílula 99px neutra, ativo = preto + branco
   - Raios na escala 18/14/8/6
   - Botões/links em var(--text), não oklch(... 260)
═══════════════════════════════════════════════════════════════ */

/* ─────────────────────────────────────────────
   ONDA 1 — TOKENS (substitui oklch hue 260 azulado
   por warm-stone hue ~50 do DS)
   ───────────────────────────────────────────── */

/* Board / colunas / cards */
#tarefas-view .k10-board { background: transparent; }

#tarefas-view .k10-col {
  background: var(--bg-elev);
  border: 1px solid var(--border);
  border-radius: var(--radius);          /* 14 */
}
#tarefas-view .k10-col__head {
  border-bottom: 1px solid var(--border);
  background: var(--bg-soft);
}
#tarefas-view .k10-col__title { color: var(--text); }
#tarefas-view .k10-col__count {
  color: var(--text-3);
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-feature-settings: "tnum";
}
#tarefas-view .k10-col__add {
  color: var(--text-3);
  background: transparent;
  border-radius: var(--radius-xs);
}
#tarefas-view .k10-col__add:hover {
  color: var(--text);
  background: var(--bg-soft);
}

/* CARD — raio padrão DS, paleta neutra */
#tarefas-view .k10-card {
  background: var(--bg-elev);
  border: 1px solid var(--border);
  border-radius: var(--radius);          /* 14, era 10 */
  padding: 16px 16px 14px 16px;          /* compensa edge no topo */
  transition: border-color var(--dur-fast) var(--ease),
              box-shadow var(--dur) var(--ease);
}
#tarefas-view .k10-card:hover {
  border-color: var(--border-strong);
  box-shadow: 0 4px 20px rgba(0,0,0,.07);
}
#tarefas-view .k10-card:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
  border-color: var(--border-strong);
}

/* ─────────────────────────────────────────────
   ONDA 2 — EDGE NO TOPO (igual .card-accent)
   ───────────────────────────────────────────── */
#tarefas-view .k10-card { overflow: hidden; }

#tarefas-view .k10-card__edge {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: auto !important;
  width: auto !important;
  height: 4px !important;
  border-radius: 0 !important;
}

/* Mapeia prioridade -> cores semânticas do DS */
#tarefas-view .k10-card[data-prio="urgente"] .k10-card__edge,
#tarefas-view .k10-card[data-prio="critica"] .k10-card__edge { background: var(--danger) !important; }
#tarefas-view .k10-card[data-prio="alta"]    .k10-card__edge { background: var(--orange) !important; }
#tarefas-view .k10-card[data-prio="media"]   .k10-card__edge { background: var(--accent) !important; }
#tarefas-view .k10-card[data-prio="baixa"]   .k10-card__edge { background: var(--info)   !important; }
#tarefas-view .k10-card:not([data-prio]) .k10-card__edge,
#tarefas-view .k10-card[data-prio=""] .k10-card__edge       { background: var(--border-strong) !important; }

/* Card selecionado (bulk) — usa accent do DS */
#tarefas-view .k10-card.is-bulk-selected {
  border-color: var(--text) !important;
  box-shadow: 0 0 0 2px var(--bg-soft),
              0 8px 20px rgba(0,0,0,.06) !important;
  background: var(--bg-elev) !important;
}
#tarefas-view .k10-card.is-bulk-selected .k10-card__edge {
  background: var(--text) !important;
}

/* Pchip de prioridade — pílula DS */
#tarefas-view .k10-pchip {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 3px 8px;
  border-radius: 6px;
  font-size: 11px; font-weight: 500;
  border: 1px solid var(--border);
  background: var(--bg-soft);
  color: var(--text-2);
  letter-spacing: 0;
  text-transform: none;
  font-family: 'Inter', sans-serif;
}
#tarefas-view .k10-pchip[data-prio="urgente"],
#tarefas-view .k10-pchip[data-prio="critica"] {
  background: var(--danger-soft); color: var(--danger);
  border-color: oklch(0.64 0.20 25 / 0.25);
}
#tarefas-view .k10-pchip[data-prio="alta"] {
  background: var(--orange-soft); color: oklch(0.45 0.18 50);
  border-color: oklch(0.70 0.18 50 / 0.25);
}
#tarefas-view .k10-pchip[data-prio="media"] {
  background: var(--accent-soft); color: oklch(0.5 0.14 60);
  border-color: oklch(0.78 0.14 75 / 0.30);
}
#tarefas-view .k10-pchip[data-prio="baixa"] {
  background: var(--info-soft); color: oklch(0.42 0.13 245);
  border-color: oklch(0.64 0.13 245 / 0.25);
}

/* Cliente row, dateline, tags, resp — paleta neutra DS */
#tarefas-view .k10-cliente,
#tarefas-view .k10-dateline,
#tarefas-view .k10-resp,
#tarefas-view .k10-desc { color: var(--text-2); }
#tarefas-view .k10-cliente__name { color: var(--text); }
#tarefas-view .k10-tags .k10-tag,
#tarefas-view .k10-chip {
  background: var(--bg-soft);
  border: 1px solid var(--border);
  color: var(--text-2);
  border-radius: 6px;
}
#tarefas-view .k10-empty {
  background: var(--bg-soft);
  border: 1px dashed var(--border);
  border-radius: var(--radius-sm);
  color: var(--text-2);
}

/* Subtarefas */
#tarefas-view .k10-subs__head,
#tarefas-view .k10-subs__lbl { color: var(--text-3); }

/* ─────────────────────────────────────────────
   ONDA 3 — FILTER BAR canônica (.fchip pattern)
   ───────────────────────────────────────────── */

/* Container dos filtros — neutraliza glassmorphism Tailwind */
#tarefas-view section:has(> div > div > [data-action="filter-date"]) {
  background: var(--bg-elev) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;          /* 14, não 24 */
  box-shadow: none !important;
  backdrop-filter: none !important;
  padding: 12px 14px !important;
}

/* Botões de filtro de data — vira .fchip neutro */
#tarefas-view [data-action="filter-date"] {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 4px 11px !important;
  border-radius: 6px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  border: 1px solid var(--border) !important;
  background: var(--bg-soft) !important;
  color: var(--text-2) !important;
  box-shadow: none !important;
  transition: all var(--dur-fast) var(--ease) !important;
  white-space: nowrap !important;
}
#tarefas-view [data-action="filter-date"]:hover {
  border-color: var(--text-2) !important;
  color: var(--text) !important;
  background: var(--bg-soft) !important;
}
/* Estado ativo: o JS marca com bg-{red|blue|orange}-500 — sobrescrevemos */
#tarefas-view [data-action="filter-date"].bg-red-500,
#tarefas-view [data-action="filter-date"].bg-blue-500,
#tarefas-view [data-action="filter-date"].bg-orange-500 {
  background: var(--text) !important;
  color: #fff !important;
  border-color: var(--text) !important;
}

/* Tags / pipelines / prioridade — também viram .fchip */
#tarefas-view [data-filter-tag],
#tarefas-view [data-filter-prioridade],
#tarefas-view [data-filter-status],
#tarefas-view [data-filter-pipeline] {
  border-radius: 6px !important;
  border: 1px solid var(--border) !important;
  background: var(--bg-soft) !important;
  color: var(--text-2) !important;
  font-size: 12px !important;
  padding: 4px 11px !important;
  box-shadow: none !important;
}
#tarefas-view [data-filter-tag].bg-gray-900 {
  background: var(--text) !important;
  color: #fff !important;
  border-color: var(--text) !important;
}

/* Chips Minhas/Urgentes/Selecionar (do polish) — mesmo padrão */
#tarefas-view button[data-tf-chip],
#tarefas-view button[data-action="toggle-bulk-mode"] {
  border-radius: 6px !important;
  border: 1px solid var(--border) !important;
  background: var(--bg-soft) !important;
  color: var(--text-2) !important;
  font-size: 12px !important;
  padding: 4px 11px !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
}
#tarefas-view button[data-tf-chip].tf-chip--on,
#tarefas-view button[data-action="toggle-bulk-mode"].tf-chip--on,
#tarefas-view button[data-action="toggle-bulk-mode"][aria-pressed="true"] {
  background: var(--text) !important;
  color: #fff !important;
  border-color: var(--text) !important;
}

/* ─────────────────────────────────────────────
   QUICK-ADD INLINE — segue paleta DS
   ───────────────────────────────────────────── */
#tarefas-view .t10-qadd {
  background: var(--bg-elev);
  border: 1px dashed var(--border);
  border-radius: var(--radius-sm);     /* 8 */
}
#tarefas-view .t10-qadd:focus-within {
  border-style: solid;
  border-color: var(--text-2);
  box-shadow: 0 0 0 3px var(--bg-soft);
}
#tarefas-view .t10-qadd__in { color: var(--text); }
#tarefas-view .t10-qadd__in::placeholder { color: var(--text-3); }
#tarefas-view .t10-qadd__plus,
#tarefas-view .t10-qadd__more { color: var(--text-3); }
#tarefas-view .t10-qadd__more:hover {
  color: var(--text);
  background: var(--bg-soft);
}

/* ─────────────────────────────────────────────
   EMPTY STATE GLOBAL — paleta DS
   ───────────────────────────────────────────── */
#tarefas-view .k10-global-empty {
  background: var(--bg-elev);
  border: 1px dashed var(--border);
  border-radius: var(--radius);
  color: var(--text-2);
}
#tarefas-view .k10-global-empty__ico {
  background: var(--bg-soft);
  color: var(--text-3);
}
#tarefas-view .k10-global-empty h3 { color: var(--text); }
#tarefas-view .k10-global-empty p  { color: var(--text-2); }
#tarefas-view .k10-global-empty__btn {
  background: var(--bg-elev);
  border: 1px solid var(--border);
  color: var(--text);
  border-radius: var(--radius-sm);
}
#tarefas-view .k10-global-empty__btn:hover {
  border-color: var(--text-2);
  background: var(--bg-soft);
}
#tarefas-view .k10-global-empty__btn--primary {
  background: var(--text);
  color: #fff;
  border-color: var(--text);
}
#tarefas-view .k10-global-empty__btn--primary:hover {
  background: #1c1d20;
  border-color: #1c1d20;
}

/* ─────────────────────────────────────────────
   BULK BAR — preto puro do DS (era oklch 260)
   ───────────────────────────────────────────── */
.bulk-bar {
  background: var(--text) !important;
  border-radius: var(--radius) !important;      /* 14, era 12 */
}
.bulk-bar__num { background: var(--accent) !important; color: var(--text) !important; }
.bulk-bar__sep { background: rgba(255,255,255,.12) !important; }
.bulk-bar__btn:hover { background: rgba(255,255,255,.06) !important; }
.bulk-bar__menu {
  background: var(--text) !important;
  border-color: rgba(255,255,255,.12) !important;
}
.bulk-bar__mi:hover { background: rgba(255,255,255,.06) !important; }

/* ─────────────────────────────────────────────
   MODAL DE VISUALIZAÇÃO — alinha tokens
   ───────────────────────────────────────────── */
[data-task-detail-modal] .tv-shell,
[data-task-detail-modal] .tv-modal {
  border-radius: var(--radius-lg) !important;   /* 18 */
  border: 1px solid var(--border) !important;
  background: var(--bg-elev) !important;
}
[data-task-detail-modal] .tv-head { border-bottom: 1px solid var(--border) !important; }
[data-task-detail-modal] .tv-foot { border-top: 1px solid var(--border) !important; }

/* ─────────────────────────────────────────────
   SHORTCUT HELP OVERLAY — paleta DS
   ───────────────────────────────────────────── */
.t10-shhelp__box {
  border-radius: var(--radius-lg) !important;
  border: 1px solid var(--border) !important;
}
.t10-shhelp__head { border-bottom: 1px solid var(--border) !important; }
.t10-shhelp__head h3 { color: var(--text) !important; }
.t10-shhelp__close { color: var(--text-3) !important; }
.t10-shhelp__close:hover {
  background: var(--bg-soft) !important;
  color: var(--text) !important;
}
.t10-shhelp__grid kbd {
  background: var(--bg-soft) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}

/* ==== /modules/tarefas/tarefas-v3.css ==== */
/* tarefas-v3.css — Tarefas & Prazos v3: escopo MODAIS (skin da lista "Mesa"
   foi revertida — a 2ª tentativa via CSS-sobre-DOM ficou ruim; a remodelagem
   correta será com renderer próprio, combinada antes). Flag tarefas-v3. */

/* ── Modal de DETALHE: tamanho fixo + régua fina ─────────────────────────── */
html.tf3 .task-detail-v2 .tv-modal {
  height: min(88vh, 860px) !important;
  max-height: 88vh !important;
  width: min(640px, 94vw) !important;
  display: flex !important;
  flex-direction: column !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.18) !important;
}
html.tf3 .task-detail-v2 .tv-body { flex: 1 1 auto; overflow-y: auto; }

/* ── Modal de EDIÇÃO: altura fixa, ZERO scroll lateral, dobra alinhada ───── */
html.tf3 .nt-shell.tf3-shell {
  height: min(90vh, 860px) !important;
  max-height: 90vh !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.18) !important;
}
/* Nunca rolar na horizontal: grids clampam (datetime-local tem min-width
   intrínseco grande) e o form esconde qualquer excedente. */
html.tf3 .tf3-shell [data-task-form] { overflow-x: hidden !important; }
html.tf3 .tf3-shell .nt-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
html.tf3 .tf3-shell .nt-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
html.tf3 .tf3-shell .nt-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
html.tf3 .tf3-shell .nt-input,
html.tf3 .tf3-shell .nt-select { min-width: 0 !important; max-width: 100% !important; }

/* Dobra "Mais opções": alinhada ao form (que já dá 28px laterais) e com o
   mesmo respiro interno das seções normais. */
.tf3-more {
  margin: 6px 0 14px;
  border: 0.5px solid rgba(28,25,23,.14);
  border-radius: 12px;
  background: #FAFAF9;
}
.tf3-more > .nt-section { border-top: 0.5px solid rgba(28,25,23,.10); padding: 14px 16px !important; }
.tf3-more > .nt-section:last-of-type { border-bottom: 0; }
.tf3-more__head {
  display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap;
  padding: 12px 16px; cursor: pointer; list-style: none;
  font-size: 13px; font-weight: 600; color: #1C1917;
}
.tf3-more__head::-webkit-details-marker { display: none; }
.tf3-more__head::before { content: "▸"; font-size: 11px; color: #9CA3AF; transition: transform .15s; }
.tf3-more[open] > .tf3-more__head::before { transform: rotate(90deg); }
.tf3-more__hint { font-size: 11.5px; font-weight: 400; color: #9CA3AF; }
.tf3-more[open] > .tf3-more__head .tf3-more__hint { display: none; }


/* ==== /modules/tarefas/tarefas-bola.css ==== */
/* ============================================================
   TAREFAS — "De quem é a bola"
   Faixa de Foco + Quadro por bola (Minha vez / Aguardando / Prazo futuro)
   + popover de aguardando + cabeçalho do Panorama.
   Usa os tokens de tarefas-redesign.css (--bg, --text, --positive, etc.)
   ============================================================ */

/* ── FAIXA DE FOCO ─────────────────────────────────────────── */
.foco-band{
  background:var(--bg-elev);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:14px 16px;
  margin:0 0 16px;
}
.foco-head{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap;}
.foco-badge{
  display:inline-flex;align-items:center;gap:7px;
  font-size:13.5px;font-weight:600;color:var(--text);
}
.foco-badge svg{color:var(--text-2);}
.foco-sub{font-size:12px;color:var(--text-3);}
.foco-rows{display:flex;flex-direction:column;gap:6px;}
.foco-row{
  display:flex;align-items:center;gap:11px;
  padding:9px 12px;border-radius:var(--radius-sm);
  cursor:pointer;transition:background var(--dur-fast) var(--ease-out);
  border:1px solid transparent;
}
.foco-row:hover{background:var(--bg-soft);}
.foco-ic{flex:none;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.foco-main{min-width:0;flex:1;}
/* título e cliente são irmãos: o ellipsis do título não pode comer o nome do
   cliente, que é o que diz de quem é o prazo. O título encolhe, o cliente fica. */
.foco-title{font-size:13.5px;font-weight:500;color:var(--text);display:flex;gap:4px;min-width:0;align-items:baseline;}
.foco-tit{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:0 1 auto;}
/* o separador vive no CSS: no celular o cliente vira linha própria e o "·"
   solto no começo da linha ficaria órfão (ver css/mobile-ajustes.css) */
.foco-cli{font-weight:400;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:0 1 auto;}
.foco-cli::before{content:"· ";}
.foco-kicker{font-size:11.5px;color:var(--text-3);margin-top:1px;}
.foco-row.fatal .foco-ic{background:var(--danger-soft);color:var(--danger);}
.foco-row.fatal .foco-kicker{color:var(--danger);}
.foco-row.cobrar .foco-ic{background:var(--accent-soft);color:var(--accent);}
.foco-row.cobrar .foco-kicker{color:color-mix(in oklab,var(--accent) 80%,var(--text));}
.foco-row.vez .foco-ic{background:var(--positive-soft);color:var(--positive);}

/* ── QUADRO POR BOLA ───────────────────────────────────────── */
.bola-board{margin:0 0 18px;}
.bola-board-head{display:flex;align-items:baseline;gap:10px;margin:0 2px 10px;flex-wrap:wrap;}
.bola-board-title{font-size:13.5px;font-weight:600;color:var(--text);}
.bola-board-sub{font-size:12px;color:var(--text-3);}
.bola-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
@media (max-width:900px){.bola-grid{grid-template-columns:1fr;}}

.bola-col{
  background:var(--bg-soft);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:10px 10px 12px;
  min-height:90px;
}
.bola-col.is-empty{background:transparent;border-style:dashed;}
.bola-col-head{display:flex;align-items:center;gap:7px;padding:2px 4px 10px;flex-wrap:wrap;}
.bola-col-dot{width:8px;height:8px;border-radius:50%;flex:none;}
.bola-col-dot.minha{background:var(--positive);}
.bola-col-dot.aguardando{background:var(--accent);}
.bola-col-dot.futuro{background:var(--text-3);}
.bola-col-label{font-size:12.5px;font-weight:600;color:var(--text);}
.bola-col-count{font-size:11.5px;color:var(--text-3);font-variant-numeric:tabular-nums;}
.bola-col-sub{font-size:11px;color:var(--text-3);width:100%;margin-top:-2px;}
.bola-col-empty{font-size:12px;color:var(--text-3);padding:14px 6px;text-align:center;}
.bola-col-list{display:flex;flex-direction:column;gap:8px;}

/* cards reaproveitam .hjc-row (estilizado em tarefas-redesign/v3); ajustes da bola */
.bola-card{background:var(--bg-elev);}
.bola-card .hjc-dot.minha{background:var(--positive);}
.bola-card .hjc-dot.aguardando{background:var(--accent);}
.bola-card .hjc-dot.futuro{background:var(--text-3);}
.bola-dequem{font-size:11px;color:color-mix(in oklab,var(--accent) 75%,var(--text));font-weight:500;}

/* chips de estado no rodapé do card */
.bola-chip-wrap{display:flex;flex-wrap:wrap;gap:4px;min-width:0;align-items:center;}
.bola-chip{
  display:inline-block;font-size:11px;font-weight:600;
  padding:2px 8px;border-radius:999px;white-space:nowrap;
}
.bola-chip.ok{background:var(--positive-soft);color:var(--positive);}
.bola-chip.danger{background:var(--danger-soft);color:var(--danger);}
.bola-chip.warn{background:var(--orange-soft);color:var(--orange);}
.bola-chip.soft{background:var(--bg-soft);color:var(--text-2);border:1px solid var(--border);}
.bola-col--aguardando .bola-card{border-left:2px solid color-mix(in oklab,var(--accent) 55%,transparent);}

/* tag "aguardando" no panorama (linha .task-row) */
.status-b.aguardando{
  background:var(--accent-soft);
  color:color-mix(in oklab,var(--accent) 80%,var(--text));
}

/* cabeçalho do panorama */
.bola-panorama-head{
  display:flex;align-items:baseline;gap:9px;
  margin:6px 2px 10px;padding-top:4px;
  border-top:1px solid var(--border);
}
.bph-title{font-size:13px;font-weight:600;color:var(--text-2);padding-top:12px;}
.bph-count{font-size:11.5px;color:var(--text-3);padding-top:12px;}

/* ── POPOVER MARCAR AGUARDANDO ─────────────────────────────── */
.bola-aguardando-pop{
  position:absolute;z-index:9999;width:248px;
  background:var(--bg-elev);
  border:1px solid var(--border-strong);
  border-radius:var(--radius);
  box-shadow:0 12px 32px rgba(0,0,0,.16);
  padding:13px 14px;
  font-size:13px;color:var(--text);
}
.bap-title{font-size:13.5px;font-weight:600;margin-bottom:10px;}
.bap-label{font-size:11px;color:var(--text-3);margin-bottom:6px;}
.bap-oque{
  width:100%;font-size:13px;padding:7px 9px;margin-bottom:12px;
  border:1px solid var(--border);border-radius:var(--radius-sm);
  background:var(--bg);color:var(--text);box-sizing:border-box;
}
.bap-oque::placeholder{color:var(--text-3);}
.bap-de{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;}
.bap-chip{
  font-size:12px;padding:4px 10px;border-radius:999px;cursor:pointer;
  background:var(--bg-soft);border:1px solid var(--border);color:var(--text-2);
  transition:all var(--dur-fast) var(--ease-out);
}
.bap-chip:hover{border-color:var(--border-strong);}
.bap-chip.on{background:var(--accent-soft);border-color:var(--accent);color:color-mix(in oklab,var(--accent) 80%,var(--text));font-weight:600;}
.bap-row{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--text-2);margin-bottom:13px;}
.bap-row input.bap-dias{
  width:54px;text-align:center;font-size:13px;padding:5px 6px;
  border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);
}
.bap-actions{display:flex;justify-content:flex-end;gap:8px;}
.bap-cancel,.bap-ok{font-size:12.5px;padding:6px 12px;border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--border);}
.bap-cancel{background:transparent;color:var(--text-2);}
.bap-cancel:hover{background:var(--bg-soft);}
.bap-ok{background:var(--text);color:var(--bg-elev);border-color:var(--text);font-weight:600;}
.bap-ok:hover{opacity:.9;}

/* ── QUADRO DE PRODUÇÃO (5 colunas em UMA linha) ───────────────
   IMPORTANTE: precisa vencer #tasks-root .hjc-grid{1fr 1fr 1fr} (ID em
   tarefas-redesign.css). Por isso uso #tasks-root + !important. */
/* flex (não grid) para a coluna cheia poder crescer: o `flex` de cada coluna
   vem do render, proporcional à contagem. Grid com 5fr iguais dava 227px para
   46 tarefas e 227px para zero. */
#tasks-root .prod-grid{
  display:flex !important;
  grid-template-columns:none !important;
  gap:8px;
  align-items:flex-start;
}
/* sempre 5 numa linha só; em telas estreitas (celular) rola na horizontal, nunca quebra */
@media (max-width:760px){
  #tasks-root .prod-grid{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x proximity;
    padding-bottom:4px;
  }
  /* no celular a proporção não ajuda: cada coluna vira um cartão rolável */
  #tasks-root .prod-grid>.hjc-col{flex:0 0 80vw !important;scroll-snap-align:start;}
}

/* rótulos das colunas em sentence case (tom calmo, não CAPS) */
#tasks-root .prod-grid .hjc-col-label{text-transform:none;letter-spacing:0;font-size:12.5px;font-weight:600;}

/* faixa de cor no topo de cada coluna — leitura rápida */
#tasks-root .prod-grid .hjc-col{border-top:2px solid var(--border);}
#tasks-root .prod-grid .hjc-col--atrasadas{border-top-color:var(--danger);}
#tasks-root .prod-grid .hjc-col--hoje{border-top-color:var(--orange);}
#tasks-root .prod-grid .hjc-col--amanha{border-top-color:var(--text-3);}
#tasks-root .prod-grid .hjc-col--aguardando{border-top-color:var(--accent);}
#tasks-root .prod-grid .hjc-col--pronto{border-top-color:var(--positive);}

/* colunas vazias ficam discretas (não roubam atenção nem altura) */
#tasks-root .prod-grid .hjc-col.is-empty{opacity:.6;}
#tasks-root .prod-grid .hjc-col.is-empty .hjc-col-empty{padding:9px 6px;font-size:10.5px;}

/* cards de aguardando dentro do quadro herdam o estilo da bola-card */
#tasks-root .prod-grid .hjc-col--aguardando .bola-chip-wrap{margin-top:2px;}

/* ── CARDS NA COLUNA ESTREITA: caber sem vazar e sem scroll lateral ──────
   Aperta margens, mata overflow-x e faz o rodapé (chip + botões) quebrar
   linha em vez de estourar a largura da coluna. */
#tasks-root .prod-grid .hjc-col{padding:8px 6px;}
#tasks-root .prod-grid .hjc-col-head{padding:2px 4px 8px;gap:6px;}
#tasks-root .prod-grid .hjc-col-list{padding:3px 2px;overflow-x:hidden;}
#tasks-root .prod-grid .hjc-row{padding:9px 9px;min-width:0;}
#tasks-root .prod-grid .hjc-meta{padding-left:14px;}
#tasks-root .prod-grid .hjc-foot{
  padding-left:0;
  margin-top:4px;
  flex-wrap:wrap;
  row-gap:6px;
  justify-content:flex-start;
}
#tasks-root .prod-grid .hjc-prazo,
#tasks-root .prod-grid .bola-chip{max-width:100%;}
#tasks-root .prod-grid .hjc-actions{
  opacity:1;            /* sempre visível no quadro */
  flex-wrap:wrap;
  gap:4px;
  margin-left:auto;     /* empurra os botões pra direita; quebram juntos */
}
#tasks-root .prod-grid .hjc-act{padding:4px 6px;font-size:10.5px;gap:3px;}
#tasks-root .prod-grid .hjc-menu-btn{padding:4px 5px;}

/* ── ARRASTAR ENTRE COLUNAS ─────────────────────────────────── */
#tasks-root .prod-grid [data-bola-drag]{cursor:grab;}
#tasks-root .prod-grid .hjc-row.bola-dragging{opacity:.45;cursor:grabbing;}
#tasks-root .prod-grid .hjc-col.drop-over{
  outline:2px dashed var(--accent);
  outline-offset:-2px;
  background:color-mix(in oklab,var(--accent) 8%,#fafafa);
}
#tasks-root .prod-grid .hjc-col.drop-over .hjc-col-empty{color:var(--accent);}

/* ── FAIXA AGUARDANDO (legado — não usada no layout atual) ──── */
.aguardando-sec{
  background:var(--bg-elev);
  border:1px solid var(--border);
  border-left:3px solid var(--accent);
  border-radius:var(--radius);
  padding:12px 14px 14px;
  margin:0 0 16px;
}
.aguardando-head{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap;}
.aguardando-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex:none;}
.aguardando-title{font-size:13px;font-weight:600;color:var(--text);}
.aguardando-count{font-size:11.5px;color:var(--text-3);font-variant-numeric:tabular-nums;}
.aguardando-cobrar{
  font-size:11px;font-weight:600;padding:1px 8px;border-radius:999px;
  background:var(--danger-soft);color:var(--danger);
}
.aguardando-sub{font-size:11.5px;color:var(--text-3);margin-left:auto;}
.aguardando-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;
}
.aguardando-grid .bola-card{background:var(--bg-soft);}

/* quadro vazio */
.bola-board--empty{
  display:flex;align-items:center;gap:12px;
  background:var(--bg-soft);border:1px solid var(--border);
  border-radius:var(--radius);padding:16px 18px;
}
.bola-empty-icon{width:30px;height:30px;border-radius:50%;background:var(--positive-soft);color:var(--positive);display:flex;align-items:center;justify-content:center;flex:none;}
.bola-empty-text{font-size:13px;color:var(--text-2);}
.bola-empty-text strong{color:var(--text);}

/* ==== /modules/tarefas/tarefas-aaa-redesign.css ==== */
/* ═══════════════════════════════════════════════════════════════════════
   TAREFAS & PRAZOS — Passe visual AAA (Things 3 / Linear)
   Carregado por ÚLTIMO na cascata (depois de tarefas-bola.css). Só CSS —
   nenhuma classe/id/handler é removido ou renomeado, apenas reestilizado.
   Reaproveita 100% dos hooks já emitidos pelo JS (hjc-*, bola-*, foco-*,
   prz-*, nt-*, task-*). Ver relatório da sessão para o mapa completo.
   ═══════════════════════════════════════════════════════════════════════ */

/* ── 0. Acessibilidade de movimento ──────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  #tasks-root *,
  #tasks-root *::before,
  #tasks-root *::after,
  [data-task-modal] *,
  [data-task-modal] *::before,
  [data-task-modal] *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
    scroll-behavior: auto !important;
  }
}

/* ── 0.1 Foco visível em qualquer elemento interativo (AA) ───────────── */
#tasks-root button:focus-visible,
#tasks-root a:focus-visible,
#tasks-root [tabindex]:focus-visible,
#tasks-root input:focus-visible,
#tasks-root select:focus-visible,
#tasks-root summary:focus-visible,
#tasks-root [data-task-row]:focus-visible,
#tasks-root [data-carga-resp]:focus-visible,
[data-task-modal] button:focus-visible,
[data-task-modal] input:focus-visible,
[data-task-modal] select:focus-visible,
[data-task-modal] textarea:focus-visible,
[data-task-modal] label.nt-resp:focus-within,
[data-task-modal] summary:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
  border-radius: 6px;
}
/* Uma regra herdada (tarefas-ux-senior.css) zera outline em TODO input/
   select/textarea do modal com !important. Repito o mesmo seletor genérico
   (mesma especificidade, carregado por último → vence o empate) pra devolver
   foco visível também nos campos fora de .nt-input (checkboxes de
   responsável, checklist, popover de "aguardando"). */
[data-task-modal] input:focus,
[data-task-modal] select:focus,
[data-task-modal] textarea:focus {
  outline: 2px solid var(--accent, #0f172a) !important;
  outline-offset: 1px !important;
}

/* ═══════════════════════════════════════════════════════════════════════
   1. FOCO DE HOJE — a primeira coisa que aparece, com destaque real.
   ═══════════════════════════════════════════════════════════════════════ */
#tasks-root .foco-band {
  position: relative;
  background: var(--bg-elev);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 20px 22px 17px;
  margin: 0 0 22px;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 20px 44px -30px rgba(15, 23, 42, .38);
  animation: przRise var(--dur-slow) var(--ease-out) both;
}
#tasks-root .foco-band::before {
  content: '';
  position: absolute; inset: 0 0 auto 0; height: 3px;
  background: linear-gradient(90deg, var(--danger), var(--orange) 45%, var(--positive) 100%);
  opacity: .95;
}
#tasks-root .foco-head {
  margin: 2px 0 14px;
  gap: 12px;
}
#tasks-root .foco-badge {
  font-family: 'Inter Tight', Inter, sans-serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -0.015em;
  color: var(--text);
}
#tasks-root .foco-badge svg {
  color: var(--danger);
  width: 16px; height: 16px;
}
#tasks-root .foco-sub {
  font-size: 12.5px;
  color: var(--text-3);
}
#tasks-root .foco-rows {
  gap: 7px;
}
#tasks-root .foco-row {
  padding: 12px 14px;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  background: var(--bg-soft);
  gap: 12px;
  transition: transform var(--dur-fast) var(--ease-out),
              box-shadow var(--dur-fast) var(--ease-out),
              border-color var(--dur-fast) var(--ease-out);
}
#tasks-root .foco-row:hover {
  border-color: var(--border-strong);
  box-shadow: 0 4px 14px rgba(15, 23, 42, .07);
  transform: translateX(2px);
}
#tasks-root .foco-ic {
  width: 30px; height: 30px;
}
#tasks-root .foco-title {
  font-size: 14px;
  font-weight: 600;
}
#tasks-root .foco-kicker {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .01em;
  margin-top: 2px;
}
#tasks-root .foco-row.fatal {
  background: color-mix(in oklab, var(--danger) 6%, var(--bg-elev));
  border-color: color-mix(in oklab, var(--danger) 24%, var(--border));
}
#tasks-root .foco-row.cobrar {
  background: color-mix(in oklab, var(--accent) 9%, var(--bg-elev));
  border-color: color-mix(in oklab, var(--accent) 28%, var(--border));
}
#tasks-root .foco-row.vez {
  background: color-mix(in oklab, var(--positive) 5%, var(--bg-elev));
  border-color: color-mix(in oklab, var(--positive) 20%, var(--border));
}
#tasks-root .foco-row.vez .foco-kicker { color: color-mix(in oklab, var(--positive) 75%, var(--text)); }

/* ═══════════════════════════════════════════════════════════════════════
   2. TRÊS "BALDES" — buckets do quadro de produção com transição clara.
      Ordem viva: Atrasadas · Hoje · Amanhã (minha bola) → Aguardando
      (bola de terceiro) → Prontas (minha bola de novo, fechando o ciclo).
   ═══════════════════════════════════════════════════════════════════════ */
#tasks-root .hjc-card.prod-board {
  padding: 18px 18px 16px;
  border-radius: var(--radius-lg);
  box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 14px 34px -28px rgba(15, 23, 42, .3);
}
#tasks-root .hjc-card.prod-board .hjc-card-title {
  font-size: 17px;
}

#tasks-root .prod-grid .hjc-col {
  border-radius: 12px 12px 10px 10px;
  border-top-width: 3px;
  transition: box-shadow var(--dur) var(--ease-out);
}
#tasks-root .prod-grid .hjc-col:hover { box-shadow: 0 4px 16px rgba(15, 23, 42, .05); }

/* Zona de tempo (minha vez, ordenada pela urgência) */
#tasks-root .prod-grid .hjc-col--atrasadas { background: color-mix(in oklab, var(--danger) 5%, var(--bg-soft)); }
#tasks-root .prod-grid .hjc-col--hoje      { background: color-mix(in oklab, var(--orange) 6%, var(--bg-soft)); }
#tasks-root .prod-grid .hjc-col--amanha    { background: var(--bg-soft); }

/* Divisor + zona "aguardando" (bola de terceiro) — visualmente separada */
#tasks-root .prod-grid .hjc-col--aguardando {
  background: color-mix(in oklab, var(--accent) 7%, var(--bg-soft));
  position: relative;
  margin-left: 8px;
}
#tasks-root .prod-grid .hjc-col--aguardando::before {
  content: '';
  position: absolute; left: -9px; top: 6px; bottom: 6px; width: 1px;
  background: var(--border-strong);
}

/* Divisor + zona "prontas" (minha vez de novo, fechando o ciclo) */
#tasks-root .prod-grid .hjc-col--pronto {
  background: color-mix(in oklab, var(--positive) 6%, var(--bg-soft));
  position: relative;
  margin-left: 8px;
}
#tasks-root .prod-grid .hjc-col--pronto::before {
  content: '';
  position: absolute; left: -9px; top: 6px; bottom: 6px; width: 1px;
  background: var(--border-strong);
}

/* Selos de contagem coloridos por bucket — leitura de zona sem ler o rótulo */
#tasks-root .prod-grid .hjc-col--atrasadas .hjc-col-count  { background: var(--danger-soft); color: var(--danger); }
#tasks-root .prod-grid .hjc-col--hoje .hjc-col-count       { background: var(--orange-soft); color: var(--orange); }
#tasks-root .prod-grid .hjc-col--amanha .hjc-col-count     { background: var(--bg-elev); color: var(--text-2); border: 1px solid var(--border); }
#tasks-root .prod-grid .hjc-col--aguardando .hjc-col-count { background: var(--accent-soft); color: color-mix(in oklab, var(--accent) 80%, var(--text)); }
#tasks-root .prod-grid .hjc-col--pronto .hjc-col-count     { background: var(--positive-soft); color: var(--positive); }

/* Empty state "bom" (nada atrasado / nada hoje) ganha tom positivo —
   ausência aqui é vitória, não deve ler como neutro/cinza */
#tasks-root .prod-grid .hjc-col--atrasadas.is-empty .hjc-col-empty,
#tasks-root .prod-grid .hjc-col--hoje.is-empty .hjc-col-empty {
  color: var(--positive);
  font-weight: 600;
}

/* ═══════════════════════════════════════════════════════════════════════
   3. CONTAGEM REGRESSIVA — legível à distância (tipografia + peso, não só cor)
   ═══════════════════════════════════════════════════════════════════════ */
#tasks-root .hjc-prazo {
  font-size: 11.5px;
  font-weight: 700;
  padding: 3px 9px;
  letter-spacing: -0.005em;
}
#tasks-root .hjc-prazo.vencido,
#tasks-root .hjc-prazo.hoje {
  font-weight: 800;
}
#tasks-root .bola-chip {
  font-size: 11.5px;
  font-weight: 700;
  padding: 3px 9px;
}
#tasks-root .sla-value {
  font-size: 17px;
  letter-spacing: -0.03em;
}
#tasks-root .sla-value.vencido,
#tasks-root .sla-value.hoje {
  font-weight: 800;
}
#tasks-root .sla-date {
  font-weight: 500;
}
/* Ponto de urgência com leve reforço de tamanho — mais fácil de mirar/ler */
#tasks-root .hjc-dot.vencido,
#tasks-root .hjc-dot.hoje {
  width: 9px; height: 9px;
}

/* ═══════════════════════════════════════════════════════════════════════
   4. MODAL DE TAREFA — preencher rápido, sem fricção.
   ═══════════════════════════════════════════════════════════════════════ */
[data-task-modal] .nt-header {
  padding: 20px 28px 16px;
}
[data-task-modal] .nt-header__title h2 {
  font-size: 18px;
}
[data-task-modal] .msec {
  font-size: 10.5px;
  letter-spacing: .14em;
  color: var(--text-3, #94a3b8);
}
[data-task-modal] .nt-field > label {
  color: var(--text-3, #94a3b8);
}
[data-task-modal] .nt-input,
[data-task-modal] .nt-select,
[data-task-modal] .nt-textarea {
  padding: 10px 13px;
  border-radius: 10px;
  font-size: 13.5px;
  border-color: var(--border, #e2e8f0);
}
[data-task-modal] .nt-input--lg {
  border-radius: 12px;
}
[data-task-modal] .nt-input:hover,
[data-task-modal] .nt-select:hover {
  border-color: var(--border-strong, #cbd5e1);
}
/* A regra herdada zera outline E marca box-shadow:none como !important —
   sem foco visível nenhum sobrevivia no teclado. Repito o MESMO seletor
   (mesma especificidade, carregado depois → vence) com !important próprio
   para devolver um anel de foco visível de verdade. */
[data-task-modal] .nt-input:focus,
[data-task-modal] .nt-select:focus,
[data-task-modal] .nt-textarea:focus {
  box-shadow: 0 0 0 3px var(--accent-soft, rgba(15, 23, 42, .08)) !important;
  border-color: var(--accent, #0f172a);
  outline: 2px solid var(--accent, #0f172a) !important;
  outline-offset: 1px !important;
}
/* Campos obrigatórios (Título/Vencimento) ganham indicação sutil sem
   depender só do asterisco no texto — funciona onde :has() é suportado
   (Chrome/Edge/Safari 15.4+/Firefox 121+); degrada graciosamente. */
[data-task-modal] .nt-field:has(> input[name="titulo"]),
[data-task-modal] .nt-field:has(> input[name="vencimento"]) {
  position: relative;
}
/* (24/09/2026) O ponto vermelho depois do rótulo saiu: o rótulo já tem "*",
   e os dois juntos ("Título * •") eram sinal duplicado. Obrigatório = "*". */

/* Responsáveis: pílulas com estado marcado visível (antes idênticas
   selecionadas/não-selecionadas — só o checkbox nativo mudava) */
[data-task-modal] .nt-resp {
  border-radius: 999px;
  padding: 7px 12px 7px 10px;
}
[data-task-modal] .nt-resp:has(input:checked) {
  background: var(--accent-soft, #eef2ff);
  border-color: var(--accent, #0f172a);
  color: var(--text, #0f172a);
  font-weight: 600;
}

/* Calculadora de prazo — realce leve para não passar despercebida */
[data-task-modal] .nt-calc {
  border-radius: 12px;
}
[data-task-modal] .nt-calc__head svg {
  color: var(--text-3, #94a3b8);
}

/* Rodapé: CTA principal maior, com resposta tátil no clique */
[data-task-modal] .nt-footer {
  padding: 16px 28px;
}
[data-task-modal] .nt-btn-primary,
[data-task-modal] .nt-btn-ghost {
  padding: 10px 20px;
  border-radius: 10px;
  font-size: 13.5px;
  transition: transform var(--dur-fast, .12s) var(--ease-out, ease),
              background var(--dur-fast, .12s) ease,
              box-shadow var(--dur-fast, .12s) ease;
}
[data-task-modal] .nt-btn-primary {
  box-shadow: 0 2px 8px rgba(15, 23, 42, .22);
}
[data-task-modal] .nt-btn-primary:active {
  transform: scale(.97);
}
[data-task-modal] .nt-close:focus-visible,
[data-task-modal] .nt-tpl-btn:focus-visible {
  outline: 2px solid var(--accent, #0f172a);
  outline-offset: 2px;
}

/* "Mais opções" — deixa claro que é opcional/colapsável, não um formulário
   escondido por acidente */
.tf3-more {
  transition: background var(--dur, .2s) var(--ease-out, ease);
}
.tf3-more[open] {
  background: var(--bg-elev, #fff);
}
.tf3-more__head:hover {
  color: var(--text, #1c1917);
}

/* ═══════════════════════════════════════════════════════════════════════
   5. ESTADOS VAZIOS — motivam, não acusam.
   ═══════════════════════════════════════════════════════════════════════ */
#tasks-root .hjc-card.hjc-empty-all {
  padding: 18px 20px;
  gap: 14px;
  background: linear-gradient(180deg, color-mix(in oklab, var(--positive) 5%, var(--bg-elev)) 0%, var(--bg-elev) 70%);
}
#tasks-root .hjc-empty-all-icon {
  width: 38px; height: 38px;
  background: var(--positive-soft);
  color: var(--positive);
  box-shadow: 0 0 0 5px color-mix(in oklab, var(--positive) 9%, transparent);
}
#tasks-root .hjc-empty-all-text {
  font-size: 13.5px;
}
#tasks-root .hjc-empty-all-text strong {
  font-size: 14px;
}

#tasks-root .bola-board--empty,
#tasks-root .hjc-col-empty,
#tasks-root .bola-col-empty {
  transition: color var(--dur, .2s) var(--ease-out, ease);
}
#tasks-root .bola-board--empty {
  padding: 18px 20px;
  border-radius: var(--radius-lg);
  background: linear-gradient(180deg, color-mix(in oklab, var(--positive) 5%, var(--bg-soft)) 0%, var(--bg-soft) 70%);
}
#tasks-root .bola-empty-icon {
  width: 34px; height: 34px;
  box-shadow: 0 0 0 5px color-mix(in oklab, var(--positive) 9%, transparent);
}
#tasks-root .bola-empty-text { font-size: 13.5px; }

/* ═══════════════════════════════════════════════════════════════════════
   6. MOBILE — 375 / 768 sem scroll horizontal na página.
   ═══════════════════════════════════════════════════════════════════════ */

/* 6.1 Panorama (lista) — a contagem regressiva NÃO pode sumir no celular.
   Uma regra herdada (tarefas-redesign.css) escondia .task-sla inteiro em
   telas <=860px; aqui ela reaparece como uma 2ª linha compacta em vez de
   uma coluna lateral fixa — nenhum handler muda, só o layout. */
@media (max-width: 860px) {
  #tasks-root .task-row {
    flex-wrap: wrap;
    min-height: auto;
    padding: 4px 0;
  }
  #tasks-root .task-main {
    flex: 1 1 100%;
    order: 1;
    padding: 11px 14px 6px;
  }
  #tasks-root .task-sla {
    display: flex !important;
    order: 2;
    width: auto;
    flex: 0 0 auto;
    flex-direction: row;
    align-items: baseline;
    gap: 6px;
    border-left: 0;
    padding: 0 0 10px 14px;
  }
  #tasks-root .task-meta {
    order: 3;
    width: auto;
    flex: 0 0 auto;
    border-left: 0;
    padding: 0 14px 10px 0;
    margin-left: auto;
  }
  #tasks-root .task-qact {
    display: none !important; /* zona já vira toque direto na linha 2 */
  }
}

/* 6.2 Hero KPIs — 2 colunas em telas estreitas, texto continua legível */
@media (max-width: 480px) {
  #tasks-root .prz-kpis { grid-template-columns: repeat(2, 1fr); }
  #tasks-root .prz-title { font-size: 21px; }
  #tasks-root .prz-hero { padding: 18px 16px 16px; }
  #tasks-root .foco-band { padding: 15px 14px 13px; }
  #tasks-root .foco-title { font-size: 13.5px; }
  #tasks-root .foco-kicker { font-size: 11.5px; }
}

/* 6.3 Painel de carga — coluna de nome flexível, sem estourar largura */
@media (max-width: 480px) {
  #tasks-root .carga-row {
    grid-template-columns: 26px minmax(0, 88px) 1fr auto auto;
    gap: 8px;
  }
  #tasks-root .carga-badges { flex-wrap: wrap; }
}

/* 6.4 Quadro de produção — peek maior da próxima coluna + sombra de
   continuidade lateral (indica "tem mais pra rolar" sem texto extra) */
@media (max-width: 760px) {
  #tasks-root .hjc-card.prod-board { position: relative; padding: 16px 4px 14px 16px; }
  #tasks-root .prod-grid { padding-right: 16px; }
  #tasks-root .hjc-card.prod-board::after {
    content: '';
    position: absolute; top: 54px; bottom: 14px; right: 0; width: 22px;
    background: linear-gradient(90deg, transparent, var(--bg-elev) 85%);
    pointer-events: none;
  }
}

/* 6.5 Modal de tarefa — nunca 2 colunas apertadas num celular */
@media (max-width: 560px) {
  [data-task-modal] .nt-grid-2,
  [data-task-modal] .nt-grid-3,
  [data-task-modal] .nt-grid-4,
  html.tf3 .tf3-shell .nt-grid-2,
  html.tf3 .tf3-shell .nt-grid-3,
  html.tf3 .tf3-shell .nt-grid-4 {
    grid-template-columns: 1fr !important;
  }
  [data-task-modal] .nt-header,
  [data-task-modal] .nt-footer {
    padding-left: 18px;
    padding-right: 18px;
  }
  /* .nt-form tem padding lateral 28px marcado !important na regra herdada
     (tarefas-redesign.css) — preciso do mesmo !important pra vencer. */
  [data-task-modal] .nt-form {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
  [data-task-modal] .nt-tpl-btn span,
  [data-task-modal] .nt-tpl-btn { font-size: 11.5px; }
}

/* 6.6 Popover "Aguardando" — não deve estourar viewport em 375px */
@media (max-width: 400px) {
  .bola-aguardando-pop { width: min(248px, 88vw); }
}

/* ==== /modules/tarefas/tarefas-busca-inteligente.css ==== */
/* tarefas-busca-inteligente.css — painel de sugestões, chips de leitura,
   resumo de resultados e destaque dos trechos que casaram. */

/* ── Painel de sugestões (portal no body, posicionado em JS) ───────── */
.tbi-painel{
  position:fixed; z-index:9500;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  border-radius:14px;
  box-shadow:0 12px 40px rgba(15,23,42,.14), 0 2px 6px rgba(15,23,42,.06);
  padding:6px;
  max-height:min(62vh,460px); overflow:auto;
  font-size:13px; color:#0f172a;
  animation:tbi-surge .12s ease-out;
}
@keyframes tbi-surge{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

.tbi-item{
  display:flex; align-items:center; gap:9px; width:100%;
  padding:8px 10px; border:0; background:transparent; border-radius:9px;
  text-align:left; cursor:pointer; color:inherit; font:inherit;
}
.tbi-item:hover,.tbi-item.on{background:#f1f5f9}
.tbi-icone{width:18px; text-align:center; font-size:13px; flex:none; opacity:.85}
.tbi-label{flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:500}
.tbi-hint{font-size:11px; color:#94a3b8; flex:none}

/* ── Chips do que a busca entendeu ────────────────────────────────── */
.tbi-lidos{
  display:flex; align-items:center; gap:5px; flex-wrap:wrap;
  padding:8px 10px 9px; border-bottom:1px solid #f1f5f9; margin-bottom:4px;
}
.tbi-lidos-lbl{font-size:10.5px; text-transform:uppercase; letter-spacing:.05em; color:#94a3b8; font-weight:600}
.tbi-chip{
  display:inline-flex; align-items:center;
  padding:2px 8px; border-radius:999px;
  font-size:11.5px; font-weight:600; line-height:1.6;
  background:#f1f5f9; color:#475569; border:1px solid transparent;
}
.tbi-chip--texto{background:#eef2ff; color:#4338ca}
.tbi-chip--cliente{background:#ecfdf5; color:#047857}
.tbi-chip--resp{background:#eff6ff; color:#1d4ed8}
.tbi-chip--urgencia{background:#fef2f2; color:#b91c1c}
.tbi-chip--prioridade{background:#fff7ed; color:#c2410c}
.tbi-chip--tipo{background:#f5f3ff; color:#6d28d9}
.tbi-chip--status{background:#f8fafc; color:#475569; border-color:#e2e8f0}
.tbi-chip--processo,.tbi-chip--tag{background:#f0f9ff; color:#0369a1}

.tbi-contagem{padding:6px 10px 8px; font-size:11.5px; color:#64748b; font-weight:500}
.tbi-contagem.vazio{color:#b91c1c}

.tbi-rodape{
  display:flex; align-items:center; gap:12px; flex-wrap:wrap;
  padding:8px 10px 4px; margin-top:4px; border-top:1px solid #f1f5f9;
  font-size:10.5px; color:#94a3b8;
}
.tbi-rodape kbd{
  display:inline-block; padding:1px 5px; margin-right:2px;
  border:1px solid #e2e8f0; border-bottom-width:2px; border-radius:5px;
  background:#f8fafc; font-family:inherit; font-size:10px; color:#64748b;
}
.tbi-dica{margin-left:auto}
.tbi-dica em{font-style:normal; color:#64748b; font-weight:600}

/* ── Resumo acima da lista ────────────────────────────────────────── */
.tbi-resumo{
  display:flex; align-items:center; gap:7px; flex-wrap:wrap;
  margin:2px 0 14px; padding:9px 13px;
  background:#f8fafc; border:1px solid #eef2f6; border-radius:12px;
  font-size:12.5px; color:#475569;
}
.tbi-resumo-n{font-weight:700; color:#0f172a; font-variant-numeric:tabular-nums}
.tbi-resumo-n.vazio{color:#b91c1c}
.tbi-resumo-txt{color:#64748b}
.tbi-limpar{
  margin-left:auto; border:0; background:transparent; cursor:pointer;
  font:inherit; font-size:12px; font-weight:600; color:#2563eb;
  padding:2px 6px; border-radius:6px;
}
.tbi-limpar:hover{background:#eff6ff}

/* ── Destaque nos cards ───────────────────────────────────────────── */
mark.tbi-hl{
  background:#fef08a; color:inherit;
  padding:0 1px; border-radius:3px; font-weight:inherit;
}

/* ── Mobile ───────────────────────────────────────────────────────── */
@media (max-width:640px){
  .tbi-painel{left:8px !important; right:8px; width:auto !important; max-height:56vh}
  .tbi-rodape{display:none}
  .tbi-resumo{font-size:12px; padding:8px 11px}
}

/* ── Dark mode (segue o resto da aba) ─────────────────────────────── */
@media (prefers-color-scheme:dark){
  html[data-theme="dark"] .tbi-painel{background:#0f172a; border-color:#1e293b; color:#e2e8f0}
  html[data-theme="dark"] .tbi-item:hover,
  html[data-theme="dark"] .tbi-item.on{background:#1e293b}
  html[data-theme="dark"] .tbi-resumo{background:#0f172a; border-color:#1e293b}
}

/* ── Campo de busca: espaço para o placeholder longo + foco visível ── */
#tasks-root .fsearch{max-width:340px; min-width:200px; transition:border-color .15s, box-shadow .15s}
#tasks-root .fsearch:focus-within{
  border-color:#93c5fd;
  box-shadow:0 0 0 3px rgba(59,130,246,.14);
}
#tasks-root .fsearch input::placeholder{font-size:11.5px}
@media (max-width:640px){
  #tasks-root .fsearch{max-width:none; width:100%}
}

/* ==== /css/automacao-ia.css ==== */
/* automacao-ia.css — modal "descrever automação em português" */

.aia-overlay{
  position:fixed; inset:0; z-index:1200;
  display:flex; align-items:center; justify-content:center; padding:24px;
  background:rgba(15,23,42,.42); backdrop-filter:blur(3px);
  animation:aia-fade .14s ease-out;
}
@keyframes aia-fade{from{opacity:0}to{opacity:1}}

.aia-card{
  width:100%; max-width:560px; max-height:88vh;
  display:flex; flex-direction:column;
  background:#fff; border-radius:24px;
  box-shadow:0 24px 64px rgba(15,23,42,.24);
  overflow:hidden;
  animation:aia-rise .18s cubic-bezier(.2,.8,.3,1);
}
@keyframes aia-rise{from{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:none}}

.aia-head{
  display:flex; align-items:flex-start; gap:16px;
  padding:22px 24px 18px; border-bottom:1px solid #f1f5f9;
}
.aia-eyebrow{
  font-size:10.5px; font-weight:700; letter-spacing:.08em;
  text-transform:uppercase; color:#94a3b8; margin:0 0 4px;
}
.aia-title{font-size:19px; font-weight:650; color:#0f172a; margin:0}
.aia-close{
  margin-left:auto; border:0; background:transparent;
  font-size:26px; line-height:1; color:#94a3b8; cursor:pointer;
  padding:0 4px; border-radius:8px;
}
.aia-close:hover{color:#0f172a; background:#f1f5f9}

.aia-body{padding:20px 24px 24px; overflow-y:auto; flex:1}
.aia-hint{font-size:13px; color:#64748b; line-height:1.55; margin:0 0 14px}

.aia-body textarea{
  width:100%; border:1px solid #e2e8f0; border-radius:16px;
  padding:14px 16px; font:inherit; font-size:14px; line-height:1.6;
  color:#0f172a; resize:vertical; outline:none;
  transition:border-color .15s, box-shadow .15s;
}
.aia-body textarea:focus{border-color:#93c5fd; box-shadow:0 0 0 3px rgba(59,130,246,.14)}
.aia-body textarea::placeholder{color:#cbd5e1}

.aia-exemplos{display:flex; flex-direction:column; gap:6px; margin-top:12px}
.aia-ex{
  text-align:left; border:1px dashed #e2e8f0; border-radius:12px;
  padding:9px 12px; background:#fff; font:inherit; font-size:12.5px;
  color:#64748b; cursor:pointer; transition:all .13s; line-height:1.45;
}
.aia-ex:hover{border-color:#93c5fd; border-style:solid; color:#1e293b; background:#f8fafc}

/* ── Conferência ───────────────────────────────────────────────── */
.aia-nome{display:flex; flex-direction:column; gap:5px; margin-bottom:14px}
.aia-nome label{
  font-size:10.5px; font-weight:700; letter-spacing:.07em;
  text-transform:uppercase; color:#94a3b8;
}
.aia-nome input{
  border:1px solid #e2e8f0; border-radius:12px; padding:10px 13px;
  font:inherit; font-size:15px; font-weight:600; color:#0f172a; outline:none;
}
.aia-nome input:focus{border-color:#93c5fd; box-shadow:0 0 0 3px rgba(59,130,246,.14)}

.aia-explicacao{
  font-size:13.5px; color:#475569; line-height:1.6;
  padding:12px 14px; background:#f8fafc; border-radius:14px; margin:0 0 12px;
}

.aia-bloco{border:1px solid #eef2f6; border-radius:16px; padding:14px 16px; margin-bottom:11px}
.aia-bloco--alerta{background:#fffbeb; border-color:#fde68a}
.aia-bloco-tit{
  font-size:10.5px; font-weight:700; letter-spacing:.07em;
  text-transform:uppercase; color:#94a3b8; margin:0 0 9px;
}
.aia-bloco--alerta .aia-bloco-tit{color:#b45309}

.aia-trigger{font-size:15px; font-weight:650; color:#0f172a; margin:0 0 8px}
.aia-todos{font-size:12.5px; color:#94a3b8; margin:0; font-style:italic}

.aia-lista{margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:7px}
.aia-lista li{font-size:13.5px; color:#475569; line-height:1.5}
.aia-lista code{
  background:#f1f5f9; padding:1.5px 6px; border-radius:6px;
  font-size:12.5px; color:#0f172a; font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
}
.aia-lista strong{color:#0f172a}
.aia-param{
  display:inline-block; margin-left:7px; padding:1.5px 8px;
  background:#f1f5f9; border-radius:999px; font-size:11.5px; color:#475569;
}

.aia-lista-alerta{margin:0; padding-left:18px; font-size:13px; color:#92400e; line-height:1.6}
.aia-lista-alerta li + li{margin-top:5px}

.aia-check{display:flex; align-items:center; gap:8px; margin:14px 0 0; font-size:13px; color:#475569; cursor:pointer}
.aia-check input{width:15px; height:15px; accent-color:#0f172a; cursor:pointer}

.aia-rodape{display:flex; align-items:center; gap:10px; padding-top:16px; margin-top:14px; border-top:1px solid #f1f5f9}
.aia-flex{flex:1}

.aia-btn{
  padding:9px 18px; border:1px solid #e2e8f0; border-radius:999px;
  background:#fff; font:inherit; font-size:13.5px; font-weight:600;
  color:#475569; cursor:pointer; transition:all .15s;
}
.aia-btn:hover:not(:disabled){border-color:#cbd5e1; background:#f8fafc}
.aia-btn--primario{background:#0f172a; border-color:#0f172a; color:#fff}
.aia-btn--primario:hover:not(:disabled){background:#1e293b; border-color:#1e293b}
.aia-btn:disabled{opacity:.55; cursor:default}

/* Botão na aba — variante clara ao lado do "Nova automação" */
.aia-hero-btn{
  background:#fff !important; color:#0f172a !important;
  border:1px solid #e2e8f0 !important; margin-right:8px;
}
.aia-hero-btn:hover{background:#f8fafc !important; border-color:#cbd5e1 !important}

@media (max-width:640px){
  .aia-overlay{padding:0; align-items:flex-end}
  .aia-card{max-width:none; max-height:94vh; border-radius:24px 24px 0 0}
  .aia-head{padding:18px 18px 14px}
  .aia-body{padding:16px 18px 20px}
  .aia-hero-btn{margin-right:0; margin-bottom:8px; width:100%; justify-content:center}
}

/* ==== /css/modalidade-aviso.css ==== */
/* modalidade-aviso.css — faixa de correção da modalidade na aba Audiências */
.mod-aviso{
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
  margin:0 0 16px; padding:13px 16px;
  background:#fffbeb; border:1px solid #fde68a; border-radius:14px;
  font-size:13px; color:#92400e; line-height:1.55;
}
.mod-aviso-txt{flex:1; min-width:220px}
.mod-aviso-txt strong{color:#78350f; font-weight:650}
.mod-aviso-btn{
  flex:none; padding:7px 16px; border:0; border-radius:999px;
  background:#b45309; color:#fff; font:inherit; font-size:12.5px;
  font-weight:650; cursor:pointer; transition:background .15s;
}
.mod-aviso-btn:hover:not(:disabled){background:#92400e}
.mod-aviso-btn:disabled{opacity:.6; cursor:default}
.mod-aviso-x{
  flex:none; border:0; background:transparent; font-size:20px; line-height:1;
  color:#b45309; cursor:pointer; padding:0 2px; border-radius:6px;
}
.mod-aviso-x:hover{background:#fef3c7}
@media (max-width:640px){
  .mod-aviso{padding:12px 13px; gap:10px}
  .mod-aviso-btn{width:100%; order:10}
}

/* ==== /css/padrao-app.css ==== */
/* =============================================================
   Padrão único do app (12/09/2026) — alinha o que sobrou do visual antigo
   (azul/índigo do Tailwind, menu lateral índigo, abas azuis, foco azul) à
   mesma linguagem do site e das abas novas: tinta #0A0B0D, pedra, mono.
   Carregado por último no app.html. Só cor/raio/tipografia — nada de layout.
   ============================================================= */
:root { --pa-ink: #0A0B0D; --pa-ink-2: #26272B; --pa-stone: #F4F4F2; --pa-stone-2: #E7E5E4; --pa-stone-3: #D6D3D1; --pa-t2: #57534E; --pa-t3: #A8A29E; }

/* ---------- menu lateral ---------- */
.desktop-sidebar { background: #FAFAF9 !important; border-right-color: var(--pa-stone-2) !important; }
.desktop-sidebar .nav-link { color: var(--pa-t2); border-radius: 8px; }
.desktop-sidebar .nav-link:hover { background: var(--pa-stone); color: var(--pa-ink); }
.desktop-sidebar .nav-link.active { background: var(--pa-ink); color: #fff; font-weight: 500; }
.desktop-sidebar .nav-link.active::before { display: none; }
.desktop-sidebar .nav-link.active svg { color: #fff; opacity: .9; }
.desktop-sidebar .nav-group-label { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: .1em; color: var(--pa-t3); font-weight: 500; }
:where(a, button, input, textarea, select):focus-visible { outline-color: var(--pa-ink) !important; }

/* ---------- utilitários azul/índigo/céu → tinta e pedra ---------- */
#app-container :is(.bg-blue-600, .bg-blue-500, .bg-indigo-600, .bg-indigo-500, .bg-sky-500, .bg-blue-700) { background-color: var(--pa-ink) !important; color: #fff; }
#app-container :is(.hover\:bg-blue-700:hover, .hover\:bg-blue-600:hover, .hover\:bg-indigo-700:hover, .hover\:bg-blue-500:hover) { background-color: var(--pa-ink-2) !important; }
#app-container :is(.bg-blue-50, .bg-blue-100, .bg-blue-200, .bg-indigo-50, .bg-indigo-100, .bg-sky-50, .bg-sky-100, .bg-blue-50\/50, .bg-blue-50\/20) { background-color: var(--pa-stone) !important; }
#app-container :is(.hover\:bg-blue-50:hover, .hover\:bg-blue-100:hover) { background-color: var(--pa-stone-2) !important; }
#app-container :is(.text-blue-600, .text-blue-700, .text-blue-800, .text-blue-900, .text-blue-500, .text-indigo-600, .text-indigo-700, .text-sky-700, .text-sky-600, .hover\:text-blue-600:hover, .hover\:text-blue-700:hover, .hover\:text-blue-800:hover, .hover\:text-indigo-800:hover) { color: var(--pa-ink) !important; }
#app-container :is(.text-blue-400, .text-blue-300, .text-blue-200, .text-blue-100) { color: var(--pa-t3) !important; }
#app-container :is(.border-blue-500, .border-blue-600, .border-indigo-500, .border-indigo-600, .focus\:border-blue-500:focus, .focus\:border-indigo-500:focus, .hover\:border-indigo-400:hover) { border-color: var(--pa-ink) !important; }
#app-container :is(.border-blue-100, .border-blue-200, .border-blue-300, .border-indigo-200, .border-sky-200) { border-color: var(--pa-stone-2) !important; }
#app-container :is(.focus\:ring-blue-500:focus, .focus\:ring-indigo-500:focus, .focus\:ring-blue-500\/20:focus, .ring-blue-400, .ring-blue-100) { --tw-ring-color: rgba(10,11,13,.12) !important; }
#app-container :is(.from-blue-50, .from-blue-100, .from-blue-400, .from-blue-500, .from-blue-600) { --tw-gradient-from: var(--pa-stone) !important; --tw-gradient-to: rgba(244,244,242,0) !important; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important; }
#app-container :is(.from-blue-500, .from-blue-600, .from-blue-400) { --tw-gradient-from: var(--pa-ink) !important; }
#app-container :is(.to-sky-50, .to-blue-600, .to-sky-500, .to-sky-400, .to-indigo-100) { --tw-gradient-to: var(--pa-stone-2) !important; }
#app-container :is(.to-blue-600, .to-sky-500, .to-sky-400) { --tw-gradient-to: var(--pa-ink-2) !important; }
/* texto branco sobre botão que virou preto continua branco; ícone azul dentro de chip pedra fica tinta */
#app-container :is(.bg-blue-600, .bg-blue-500, .bg-indigo-600) :is(svg, span, b) { color: inherit; }

/* botões primários antigos: pílula, como no resto */
#app-container button:is(.bg-blue-600, .bg-blue-500, .bg-indigo-600):not([class*="rounded-full"]):not([class*="w-8"]):not([class*="w-9"]):not([class*="w-10"]):not([class*="h-8"]):not([class*="h-9"]) { border-radius: 999px !important; font-weight: 600; }

/* ---------- abas do detalhe do cliente e abas Tailwind em geral ---------- */
#app-container .tab-btn.active { border-color: var(--pa-ink) !important; color: var(--pa-ink) !important; }
#app-container .tab-btn:not(.active) { color: var(--pa-t2); }
#app-container .cm-tab.active { background: var(--pa-ink) !important; color: #fff !important; }

/* ---------- toggles/checkbox/radio ---------- */
#app-container :is(input[type="checkbox"], input[type="radio"]) { accent-color: var(--pa-ink); }
#app-container input[type="range"] { accent-color: var(--pa-ink); }

/* ---------- Tarefas: restos azuis (busca, validação, avisos) ---------- */
.tarefas-busca-sugestao.ativa, .tb-sug.ativa { background: var(--pa-stone) !important; color: var(--pa-ink) !important; }
.notification.info, .notification--info { border-left-color: var(--pa-ink) !important; }
.validation-error { border-color: #B91C1C; }

/* ── Painel do dono: item de menu só para admin ───────────────────────────
   A classe acordly-admin é aplicada no body quando users/{uid}.isAdmin é true.
   Isto é conveniência de UI, não segurança: a callable adminPainel e as regras
   do Firestore é que barram de fato quem não é dono. */
body:not(.acordly-admin) .nav-admin-only { display: none !important; }

/* ==== /css/mobile-ajustes.css ==== */
/* ============================================================================
   AJUSTES DE CELULAR — arquivo único, carregado por último
   ----------------------------------------------------------------------------
   Cada bloco corrige um defeito visto na tela em 390px, com o motivo anotado.
   Fica separado de propósito: é fácil auditar o que é só-mobile e reverter
   um bloco sem tocar no CSS da aba. Só regras dentro de @media — nada daqui
   pode vazar para o desktop.
   ========================================================================== */

/* (24/09/2026) a barra de filtros de Tarefas e a toolbar de Acordos foram para
   css/padrao-filtros.css — o padrão único de busca e filtros de todas as abas. */

@media (max-width: 640px) {

  /* ── TAREFAS · KPIs do hero ───────────────────────────────────────────────
     São 5 cartões em 2 colunas: o último sobrava sozinho e deixava um buraco
     preto do lado. O 5º passa a ocupar a linha inteira. */
  #tasks-root .prz-kpis > .prz-kpi:nth-child(5):last-child { grid-column: 1 / -1; }

  /* ── TAREFAS · "Foco de hoje" ─────────────────────────────────────────────
     O cliente vinha DENTRO do título (<span class="foco-cli">), e o título
     tinha nowrap + ellipsis: no celular o corte comia exatamente o nome do
     cliente e sobravam quatro cartões idênticos "Petição Inicial - Recla…".
     O título passa a quebrar em 2 linhas e o cliente ganha linha própria. */
  #tasks-root .foco-title {
    display: block;          /* desktop é flex numa linha; aqui empilha */
    line-height: 1.3;
  }
  #tasks-root .foco-tit {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    white-space: normal;
    overflow: hidden;
  }
  #tasks-root .foco-cli {
    display: block;
    margin-top: 2px;
    font-size: 12.5px;
    color: var(--text-2);
  }
  /* em linha própria o separador não faz sentido (ele é ::before no desktop) */
  #tasks-root .foco-cli::before { content: none; }

  /* ── TAREFAS · cabeçalho da seção ─────────────────────────────────────────
     "há 1 min" e "+ Nova tarefa" ficavam centralizados no meio da linha. */
  #tasks-root .prz-section-head { margin: 28px 0 12px; }
  #tasks-root .prz-section-head > *:last-child {
    display: flex; align-items: center; gap: 8px;
    width: 100%; justify-content: space-between;
  }
  #tasks-root .prz-section-head button { min-height: 40px; }
}

@media (max-width: 640px) {

  /* ── DASHBOARD · cabeçalho do hero ────────────────────────────────────────
     O bloco da direita (sync + "META MENSAL · R$ [input] Salvar") tinha
     flex-shrink:0 e vazava 44px: o botão Salvar ficava fora da tela, sem como
     tocar. Vira coluna e o chip da meta ocupa a largura toda. */
  .dashboard-v2 .hero-head { flex-direction: column; gap: 12px; }
  .dashboard-v2 .hero-head > *:last-child {
    width: 100%; flex-shrink: 1; min-width: 0;
  }
  .dashboard-v2 .chip.meta {
    width: 100%;
    box-sizing: border-box;
    justify-content: space-between;
    min-height: 40px;
    flex-wrap: nowrap;
  }
  .dashboard-v2 .chip.meta input {
    width: auto; flex: 1 1 0; min-width: 0;
    font-size: 16px;              /* evita o zoom do iOS ao focar */
    text-align: right;
  }
  .dashboard-v2 .chip.meta button {
    flex-shrink: 0; min-height: 32px; padding: 6px 10px; font-size: 12px;
  }
}

@media (max-width: 640px) {

  /* ── ACORDOS · hero ───────────────────────────────────────────────────────
     .av3-hero-actions tinha flex-shrink:0 e cinco botões numa linha só: o
     "Novo acordo" ficava fora da tela e o texto do hero era espremido em uma
     coluna de ~150px, quebrando a cada duas palavras. */
  .av3 .av3-hero-head { flex-direction: column; gap: 12px; }
  .av3 .av3-hero-head > *:first-child { width: 100%; min-width: 0; }
  .av3 .av3-hero-actions {
    width: 100%;
    flex-shrink: 1;
    flex-wrap: wrap;
    gap: 8px;
  }
  /* botões de ícone dividem a linha; o primário ocupa a linha inteira */
  .av3 .av3-hero-actions > * { flex: 1 1 auto; min-height: 40px; justify-content: center; }
  .av3 .av3-hero-actions > .av3-btn-dark.primary { flex: 1 0 100%; }
  .av3 .av3-eyebrow { flex-wrap: wrap; }

  /* ── ACORDOS · KPIs ───────────────────────────────────────────────────────
     `.av3-kpis{repeat(2,1fr)}` (media 1280px, linha ~1158) vem depois de
     `.av3-kpis-hierarchy{1fr}` (media 1100px, linha ~192) e, com a mesma
     especificidade, vencia: no celular davam duas colunas, com o KPI principal
     esticado na altura de três. Um por linha. */
  .av3 .av3-kpis,
  .av3 .av3-kpis-hierarchy,
  .av3 .av3-kpis-secondary { grid-template-columns: 1fr; }
  .av3 .av3-kpis-hierarchy .av3-kpi-primary { padding: 16px 16px 14px; }
  .av3 .av3-kpis-hierarchy .av3-kpi-primary .av3-kpi-val { font-size: 30px; }
  /* rótulo de 3 linhas ("HONORÁRIOS: RECEBIDOS NO MÊS") come o cartão */
  .av3 .av3-kpi-lbl { letter-spacing: 0.06em; }

  /* ── ACORDOS · sub-abas (a toolbar foi para css/padrao-filtros.css) */
  /* sub-abas rolam na horizontal em vez de esticar a página */
  .av3 .av3-subabas {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    flex-wrap: nowrap;
    scrollbar-width: none;
  }
  .av3 .av3-subabas::-webkit-scrollbar { display: none; }
  .av3 .av3-subaba { flex: 0 0 auto; white-space: nowrap; }
}

@media (max-width: 640px) {

  /* ── ACORDOS · aviso "sem quem paga" ──────────────────────────────────────
     O flex-wrap sozinho não bastava: .pgd-banner-txt{flex:1} disputava a linha
     com um botão de 200px e nowrap, então o texto era espremido numa coluna de
     ~9 linhas e o botão ficava por cima dele. Vira coluna. */
  .pgd-banner {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    position: relative;
    padding: 12px 14px 12px 16px;
  }
  .pgd-banner-txt { flex-direction: column; gap: 3px; align-items: flex-start; }
  /* espaço para o X, que passa a flutuar no canto */
  .pgd-banner-t { padding-right: 34px; }
  .pgd-banner .pgd-btn { width: 100%; min-height: 40px; }
  .pgd-banner .pgd-x { position: absolute; top: 10px; right: 12px; }
}

@media (max-width: 640px) {

  /* ── FINANCEIRO · KPIs ────────────────────────────────────────────────────
     São 5 cartões em 2 colunas: o "Sem dono" sobrava sozinho e abria um vão. */
  .fv4 .fv4-kpis > .fv4-kpi:nth-child(5):last-child { grid-column: 1 / -1; }
  /* rótulo de duas linhas ("A pagar · vencidas") não pode empurrar o valor */
  .fv4 .fv4-kpi-lbl { line-height: 1.25; }

  /* ── FINANCEIRO · faixa de saúde do extrato ───────────────────────────────
     Pílula (radius 999px) com texto de 3 linhas vira uma cápsula deformada, e o
     separador <i>·</i> sobra órfão no começo da última linha. No celular é um
     bloco retangular com o "N contas" em linha própria. */
  .fv4 .fv4-saude {
    display: flex;
    align-items: flex-start;
    border-radius: 10px;
    padding: 9px 12px;
    line-height: 1.45;
  }
  .fv4 .fv4-saude-dot { margin-top: 6px; flex-shrink: 0; }
  .fv4 .fv4-saude > i { display: none; }
  .fv4 .fv4-saude > span:last-child {
    flex-basis: 100%;
    margin-left: 15px;      /* alinha com o texto, não com o ponto */
    opacity: .75;
  }
}

@media (max-width: 640px) {

  /* ── HEROES · regra geral ─────────────────────────────────────────────────
     Todo hero do app repete a mesma estrutura: texto à esquerda, botões à
     direita com flex-shrink:0. Em 390px os botões ficam com a largura toda e
     espremem o texto numa coluna de ~150px, que quebra a cada duas palavras
     ("Sua carteira de / recebíveis, / com / indicadores"). Empilha. */
  .audiencias-v2 .hero-head,
  .dv3 .dv3-hero-head,
  .fv4 .fv4-hero-head,
  .clientes-v2 .hero-head,
  .equipe-v2 .hero-head {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }
  .audiencias-v2 .hero-head > *,
  .dv3 .dv3-hero-head > *,
  .fv4 .fv4-hero-head > *,
  .clientes-v2 .hero-head > *,
  .equipe-v2 .hero-head > * { min-width: 0; flex-shrink: 1; }

  /* a régua de botões do hero divide a linha; o primário ocupa a largura toda */
  .audiencias-v2 .hero-actions,
  .dv3 .dv3-hero-actions,
  .fv4 .fv4-hero-actions,
  .clientes-v2 .hero-actions,
  .equipe-v2 .hero-actions {
    display: flex; flex-wrap: wrap; gap: 8px; width: 100%;
  }
  .audiencias-v2 .hero-actions > *,
  .dv3 .dv3-hero-actions > *,
  .fv4 .fv4-hero-actions > *,
  .clientes-v2 .hero-actions > *,
  .equipe-v2 .hero-actions > * {
    flex: 1 1 auto; min-height: 40px; justify-content: center;
  }
}

@media (max-width: 640px) {

  /* ── AUDIÊNCIAS · a visão "Lista" vira cartão ─────────────────────────────
     A linha era um grid de 8 colunas fixas (40+148+1fr+110+110+120+100+48) com
     height:62px e .td{height:100%}. Em 390px o nome do cliente saía como
     "Suzana Patri", o tribunal virava "TR…" e o chip de status era desenhado
     por cima da linha de baixo. Aqui cada linha é um cartão de 3 faixas.
     ATENÇÃO ao :nth-child — os filhos 5 e 6 são .col-hide-md e estão
     display:none, então NÃO ocupam célula; a posição é dada explicitamente. */
  .audiencias-v2 .list-head { display: none; }          /* cabeçalho de tabela não serve a cartão */

  .audiencias-v2 .aud-row,
  .audiencias-v2 .list-wrap.no-select .aud-row {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto auto auto;
    height: auto;                                        /* era 62px fixo */
    min-height: 0;
    align-items: start;
    gap: 2px 8px;
    padding: 12px 12px 12px 10px;
  }
  .audiencias-v2 .aud-row .td {
    height: auto;                                        /* era 100% do 62px */
    padding: 0;
    overflow: visible;
    min-width: 0;
    justify-content: flex-start;                         /* sem altura fixa, centrar não faz sentido */
  }

  /* 1 checkbox · 2 data · 3 cliente · 4 tribunal · 7 status · 8 menu */
  .audiencias-v2 .aud-row > .td:nth-child(1) { grid-area: 1 / 1 / 2 / 2; }
  .audiencias-v2 .list-wrap.no-select .aud-row > .td:nth-child(1) { display: none; }
  /* ao virar row, o justify-content:center do .td (que centralizava na
     vertical) passaria a centralizar na horizontal e a data sairia do prumo
     com o nome logo abaixo */
  .audiencias-v2 .aud-row > .td:nth-child(2) { grid-area: 1 / 1 / 2 / 2; flex-direction: row; align-items: baseline; justify-content: flex-start; gap: 8px; flex-wrap: wrap; }
  .audiencias-v2 .aud-row > .td:nth-child(3) { grid-area: 2 / 1 / 3 / 3; }
  .audiencias-v2 .aud-row > .td:nth-child(4) { grid-area: 3 / 1 / 4 / 2; }
  .audiencias-v2 .aud-row > .td:nth-child(7) { grid-area: 3 / 2 / 4 / 3; align-items: flex-end; }
  .audiencias-v2 .aud-row > .td:nth-child(8) { grid-area: 1 / 2 / 2 / 3; align-items: flex-end; }

  /* o nome é o alvo do toque: 2 linhas, nunca reticências no meio do nome.
     Os seletores repetem o `.td:not(:last-child)` porque a regra do
     audiencias-redesign.css (linha ~1102) que força nowrap tem especificidade
     0,4,0 e venceria um seletor mais curto. */
  .audiencias-v2 .aud-row .td:not(:last-child) .cname,
  .audiencias-v2 .aud-row .cname {
    white-space: normal;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 14px; line-height: 1.3;
  }
  .audiencias-v2 .aud-row .td:not(:last-child) .csub,
  .audiencias-v2 .aud-row .csub {
    white-space: normal;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 11.5px; line-height: 1.35; margin-top: 1px;
  }
  .audiencias-v2 .aud-row .td:not(:last-child) .trib,
  .audiencias-v2 .aud-row .trib { white-space: normal; font-size: 11.5px; }
  .audiencias-v2 .aud-row .dt-big { font-size: 13px; }
  .audiencias-v2 .aud-row .dt-small { font-size: 11px; }
  .audiencias-v2 .aud-row .schip { white-space: nowrap; }
  /* alvo de toque do menu de ações */
  .audiencias-v2 .aud-row .qa-dots { min-width: 36px; min-height: 36px; }
}

@media (max-width: 640px) {

  /* ── EQUIPE ───────────────────────────────────────────────────────────────
     A aba é montada com style inline, então as regras precisam de !important.
     O cabeçalho tinha flex-shrink:0 na régua de botões e o "Adicionar membro"
     ficava 69px fora da tela; os 4 KPIs em repeat(4,1fr) sobravam com 43px de
     largura cada, com todos os rótulos cortados ("Tarefas ativas", "Taxa de
     conclusão"). Classes adicionadas em js/colaboradores.js. */
  #equipe-view .eq-hero-head {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
  }
  #equipe-view .eq-hero-actions {
    flex-shrink: 1 !important;
    justify-content: flex-start !important;
    width: 100%;
  }
  #equipe-view .eq-hero-actions > * { flex: 1 1 auto; min-height: 40px; justify-content: center; }

  #equipe-view .eq-kpis { grid-template-columns: repeat(2, 1fr) !important; }
  /* 4 KPIs em 2 colunas fecham certinho — sem sobra de célula */
  #equipe-view .eq-kpis > div { padding: 13px 14px 11px !important; }
}

@media (max-width: 640px) {

  /* ── MODAIS acima da barra de navegação ───────────────────────────────────
     .mobile-bottom-nav tem z-index 9999 e os modais ficam em z-50: o rodapé do
     modal (onde moram Salvar/Fechar/Excluir) era desenhado ATRÁS da barra e
     não dava para tocar. O modal é modal: passa por cima de tudo. */
  .audiencia-detail-v2,
  #acordo-modal, #audiencia-modal, #cliente-detalhes-modal, #delete-modal,
  #edit-payment-modal, #edit-lanc-modal, #editar-parcelas-modal,
  #fornecedores-modal, #modal-pagamento, #pagamento-modal, #tarefa-modal,
  #dje-modal-det, #dje-mov-drawer,
  [data-task-modal], [data-task-detail-modal], [data-finalizadas-modal] {
    z-index: 10000 !important;
  }

  /* o rodapé não pode encostar na borda inferior do aparelho */
  .audiencia-detail-v2 .ad-modal,
  [data-task-detail-modal] .tv-modal {
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }

  /* ── Balão de ajuda ───────────────────────────────────────────────────────
     z-index 900: flutuava por cima do conteúdo do modal e de botões da página
     (tapava o "+ Nova tarefa"). Some quando há modal aberto e sobe um pouco
     para não colidir com a barra de navegação. */
  .guia-btn { bottom: calc(env(safe-area-inset-bottom, 0px) + 16px) !important; }
  body:has(.audiencia-detail-v2) .guia-btn,
  body:has([data-task-detail-modal]) .guia-btn,
  body:has([data-task-modal]) .guia-btn,
  body:has(#acordo-modal:not(.hidden)) .guia-btn,
  body:has(#modal-pagamento:not(.hidden)) .guia-btn,
  body:has(#cliente-detalhes-modal:not(.hidden)) .guia-btn { display: none !important; }
}

@media (max-width: 640px) {

  /* ── TAREFAS · panorama e carga ───────────────────────────────────────────
     .task-title tem max-width:60% + nowrap: em 390px sobravam 178px e o
     título saía como "Manifestar sobre laudo pericial e declar…". O título e o
     cliente passam a dividir a linha inteira, cada um em até 2 linhas. */
  #tasks-root .task-title-row { flex-wrap: wrap; align-items: flex-start; }
  #tasks-root .task-title {
    max-width: none;
    flex: 1 1 100%;
    white-space: normal;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.3;
  }
  #tasks-root .task-title-sep { display: none; }   /* sem "·" entre linhas */
  #tasks-root .task-title-client {
    flex: 1 1 100%;
    white-space: normal;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
    overflow: hidden;
    margin-top: 1px;
  }
  /* nome do colaborador no painel de carga: cabe inteiro em vez de "Matheus…" */
  #tasks-root .carga-name { white-space: normal; overflow: visible; }
}

@media (max-width: 640px) {
  /* último corte: nome do cliente na sub-linha do panorama (.task-sub .client)
     saía como "Francisco Edinaldo Lira do Nasciment…" */
  #tasks-root .task-sub { flex-wrap: wrap; }
  /* a regra de origem é `#tasks-root .task-sub .client` com max-width:200px */
  #tasks-root .task-sub .client {
    white-space: normal;
    overflow: visible;
    min-width: 0;
    max-width: none;
  }
}

@media (max-width: 640px) {

  /* ── DASHBOARD · linha do tempo e ranking ─────────────────────────────────
     .tl-title tinha 97px para um texto de 352px ("Informar sobre necessidade
     de oiti…") e os nomes do ranking saíam cortados. */
  .dashboard-v2 .tl-title {
    white-space: normal;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.3;
  }
  .dashboard-v2 .rank-name {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    line-height: 1.3;
  }
}

@media (max-width: 640px) {
  /* ── DASHBOARD · linha do tempo ───────────────────────────────────────────
     grid 64px/1fr/auto/auto deixava ~96px para o título: nem a palavra
     "videoconferência" cabia. O título passa para a segunda faixa, inteiro. */
  .dashboard-v2 .tl-row {
    grid-template-columns: auto 1fr auto;
    grid-template-areas:
      "hora meta icone"
      "titulo titulo titulo";
    gap: 4px 10px;
    align-items: start;
  }
  .dashboard-v2 .tl-row > *:nth-child(1) { grid-area: hora; }
  .dashboard-v2 .tl-row > *:nth-child(2) { grid-area: titulo; }
  .dashboard-v2 .tl-row > *:nth-child(3) { grid-area: meta; justify-self: start; }
  .dashboard-v2 .tl-row > *:nth-child(4) { grid-area: icone; }
}

@media (max-width: 640px) {
  /* ── FINANCEIRO · linha da fila ───────────────────────────────────────────
     .fv4-l2 leva o CNJ + a parcela e tinha nowrap com ~104px disponíveis:
     "0000922-81.2026.5.11.0007 - Parcela 1 (Honorários)" virava
     "0000922-81.2026…". O número do processo é a identificação da cobrança —
     ganha duas linhas. */
  .fv4 .fv4-l2 {
    white-space: normal;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.35;
    text-overflow: clip;
  }
  /* o bloco principal da linha ocupa a largura toda antes de valor e ações */
  .fv4 .fv4-main { flex: 1 1 100%; }
}

@media (max-width: 1023px) {
  /* ── MENU ☰ (#mobile-sidebar) ─────────────────────────────────────────────
     O <aside> não era flex: o `flex-1 overflow-y-auto` da <nav> não limitava
     nada, a lista passava da altura da tela e nada rolava — o "Sair" ficava
     fora de alcance. Além disso ele estava em z-50, ATRÁS da barra inferior
     (z 9999), que tapava justamente o rodapé com o "Sair". */
  #mobile-sidebar {
    display: flex;
    flex-direction: column;
    height: 100vh;
    height: 100dvh;
    z-index: 10002;
  }
  #mobile-sidebar-overlay { z-index: 10001; }
  #mobile-sidebar > nav {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }
  #mobile-sidebar > div:last-child {
    flex-shrink: 0;
    padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  }
}

/* ── TOPO DAS ABAS · botão principal com texto ───────────────────────────
   Financeiro, DJE e Assinatura escondem o rótulo de TODOS os botões do topo
   no celular. Os secundários podem ficar só com ícone, mas o principal virava
   um "+" âmbar mudo — ninguém sabia que era "Nova cobrança" (24/09/2026). */
@media (max-width: 640px) {
  .fv4 .fv4-btn-dark.primary .lbl,
  .dv3 .dv3-btn-dark.primary .lbl,
  .asn .asn-btn-dark.primary .lbl { display: inline !important; }
  .fv4 .fv4-btn-dark.primary, .dv3 .dv3-btn-dark.primary, .asn .asn-btn-dark.primary { flex: 1 1 auto; }
}

/* ══ BARRA DE ABAS (js/barra-abas.js) — celular e tablet ═══════════════════
   24/09/2026: navegação de app nativo. 4 destinos + "Mais" embaixo, ao
   alcance do polegar; o ☰ e o "Guia" flutuante saem (os dois moram no
   "Mais"). Fora deste media query a barra nem é criada. */
#barra-abas, #ba-veu, #ba-folha { display: none; }
@media (max-width: 1023px) {
  html.tem-barra-abas #mobile-menu-btn { visibility: hidden !important; }
  html.tem-barra-abas .guia-btn, html.tem-barra-abas #guia-btn { display: none !important; }

  #barra-abas {
    display: grid; grid-template-columns: repeat(5, 1fr);
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 900;
    padding: 6px 4px calc(6px + env(safe-area-inset-bottom, 0px));
    background: rgba(250, 250, 249, .94);
    -webkit-backdrop-filter: saturate(1.6) blur(18px); backdrop-filter: saturate(1.6) blur(18px);
    box-shadow: 0 -1px 0 rgba(10, 11, 13, .08);
  }
  /* teclado aberto ou folha "Mais" aberta: a barra sai do caminho */
  html.ba-teclado #barra-abas { display: none; }

  .ba-item {
    position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
    min-height: 49px; padding: 2px 0; border: 0; background: none; cursor: pointer;
    color: #8A8580; font: 500 10.5px/1.1 'Inter', system-ui, sans-serif; letter-spacing: 0;
    -webkit-tap-highlight-color: transparent; touch-action: manipulation;
    transition: color .15s ease, transform .08s ease;
  }
  .ba-item svg { width: 25px; height: 25px; }
  .ba-item.on { color: var(--text, #0A0B0D); }
  .ba-item.on svg { stroke-width: 2.1; }
  .ba-item:active { transform: scale(.94); }
  /* toque não deixa contorno; teclado ganha anel escuro */
  /* !important: regras globais de foco (anel azul de tasks-accessibility) venciam */
  .ba-item:focus { outline: none !important; box-shadow: none !important; }
  .ba-item:focus-visible { outline: 2px solid var(--text, #0A0B0D); outline-offset: -4px; border-radius: 10px; }
  .ba-selo {
    position: absolute; top: 2px; left: calc(50% + 6px);
    min-width: 17px; height: 17px; padding: 0 5px; border-radius: 999px;
    background: oklch(0.58 0.21 25); color: #fff; font: 600 10.5px/17px 'Inter', system-ui, sans-serif; text-align: center;
    box-shadow: 0 0 0 2px rgba(250, 250, 249, .94);
  }

  /* o conteúdo termina ACIMA da barra (nem mais, nem menos: a barra antiga
     deixava 80px de sobra) */
  html.tem-barra-abas #app-container main,
  html.tem-barra-abas body > main { padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px)) !important; }

  /* folha "Mais": sobe de baixo, com alça, raio 16 no topo */
  #ba-veu {
    display: block; position: fixed; inset: 0; z-index: 9990;
    background: rgba(10, 11, 13, .35); opacity: 0; pointer-events: none; transition: opacity .22s ease;
  }
  #ba-veu.on { opacity: 1; pointer-events: auto; }
  #ba-folha {
    display: block; position: fixed; left: 0; right: 0; bottom: 0; z-index: 9991;
    max-height: 86dvh; overflow-y: auto; overscroll-behavior: contain;
    background: #F2F2F0; border-radius: 16px 16px 0 0;
    padding: 0 16px calc(16px + env(safe-area-inset-bottom, 0px));
    transform: translateY(105%); transition: transform .28s cubic-bezier(.32, .72, 0, 1);
    box-shadow: 0 -8px 32px rgba(10, 11, 13, .18);
  }
  #ba-folha.on { transform: translateY(0); }
  .ba-folha-topo { position: sticky; top: 0; z-index: 1; background: #F2F2F0; padding: 8px 4px 10px; }
  .ba-alca { width: 36px; height: 5px; border-radius: 3px; background: #C9C6C2; margin: 0 auto 12px; }
  .ba-folha-topo h2 { margin: 0; font: 700 22px/1.2 'Inter Tight', 'Inter', system-ui, sans-serif; letter-spacing: -0.02em; color: var(--text, #0A0B0D); }
  /* lista agrupada estilo Ajustes do iOS: cartão branco, linhas com divisória */
  .ba-lista { background: #fff; border-radius: 12px; overflow: hidden; margin-top: 12px; }
  .ba-linha {
    display: flex; align-items: center; gap: 12px; width: 100%; min-height: 50px; padding: 0 14px;
    border: 0; background: #fff; text-align: left; cursor: pointer;
    font: 400 16px/1.2 'Inter', system-ui, sans-serif; color: var(--text, #0A0B0D);
    -webkit-tap-highlight-color: transparent;
  }
  .ba-linha + .ba-linha { box-shadow: inset 52px 1px 0 -51px #fff, inset 0 1px 0 #ECEAE7; }
  .ba-linha:active { background: #F4F4F2; }
  .ba-linha.on .ba-txt { font-weight: 600; }
  .ba-ico { width: 28px; height: 28px; border-radius: 7px; background: #F4F4F2; display: grid; place-items: center; flex: none; color: #57534E; }
  .ba-ico svg { width: 17px; height: 17px; }
  .ba-txt { flex: 1; min-width: 0; }
  .ba-seta { width: 16px; height: 16px; color: #C4C0BB; flex: none; }
  .ba-sair .ba-txt, .ba-sair .ba-ico { color: oklch(0.52 0.21 25); }
}

/* ══ TOPO DAS ABAS · título grande (partes marcadas em js/barra-abas.js) ═══
   O bloco escuro de cada aba ocupava a 1ª tela inteira no celular. Fica o
   título grande; o texto explicativo e o sobretítulo mono somem; botões numa
   linha que desliza; indicadores numa faixa horizontal com encaixe. */
@media (max-width: 640px) {
  [data-topo] { padding: 16px !important; }
  [data-topo] [data-topo-sobre], [data-topo] [data-topo-desc] { display: none !important; }
  [data-topo] [data-topo-titulo] {
    font-family: 'Inter Tight', 'Inter', system-ui, sans-serif !important;
    font-size: 30px !important; font-weight: 700 !important; line-height: 1.12 !important;
    letter-spacing: -0.025em !important; margin: 0 !important;
  }
  [data-topo] [data-topo-acoes] {
    display: flex !important; flex-wrap: nowrap !important; overflow-x: auto !important; gap: 8px !important;
    margin-top: 12px !important; scrollbar-width: none; -webkit-overflow-scrolling: touch;
    grid-template-columns: none !important;
  }
  [data-topo] [data-topo-acoes]::-webkit-scrollbar { display: none; }
  [data-topo] [data-topo-acoes] > * { flex: 0 0 auto !important; width: auto !important; min-height: 38px; white-space: nowrap; }
  [data-topo] [data-topo-kpis] {
    display: flex !important; flex-wrap: nowrap !important; overflow-x: auto !important;
    scroll-snap-type: x mandatory; gap: 8px !important; grid-template-columns: none !important;
    margin: 14px -16px 0 !important; padding: 0 16px !important; scroll-padding: 0 16px;
    scrollbar-width: none; -webkit-overflow-scrolling: touch;
  }
  [data-topo] [data-topo-kpis]::-webkit-scrollbar { display: none; }
  [data-topo] [data-topo-kpis] { align-items: flex-start !important; }
  [data-topo] [data-topo-kpis] > * {
    flex: 0 0 auto !important; width: auto !important; min-width: 148px; max-width: 72%;
    scroll-snap-align: start; border-radius: 12px !important;
    height: auto !important; min-height: 0 !important; grid-row: auto !important;
  }

  /* título pequeno no topo fixo: aparece quando o grande sai de cena */
  [data-topo-pequeno] { font-size: 17px !important; font-weight: 600 !important; opacity: 0; transition: opacity .18s ease; }
  [data-topo-pequeno].on { opacity: 1; }
}

/* ══ TOQUE DE APP (celular e tablet com dedo) ═══════════════════════════════
   24/09/2026. Sem o flash do navegador ao tocar, sem o atraso do toque duplo,
   botão que afunda levemente ao apertar, sem o menu de "copiar/abrir link" ao
   segurar um botão, e a página não estica além do fim (o "elástico" deixava
   ver o fundo por trás da barra de abas). Campo de texto continua
   selecionável — só controles perdem a seleção. */
@media (hover: none) and (pointer: coarse) {
  html { -webkit-tap-highlight-color: transparent; }
  html, body { overscroll-behavior-y: none; }
  :where(button, a, [role="button"], summary, label, .nav-link, [data-action]) {
    touch-action: manipulation; -webkit-touch-callout: none; -webkit-user-select: none; user-select: none;
  }
  :where(button, [role="button"], summary):not(:disabled):active { transform: scale(.97); transition: transform .06s ease; }
  /* lista e cartão tocável respondem com um leve escurecer, não com escala */
  :where([data-action], [onclick]):not(button):not(a):active { filter: brightness(.97); }
}

/* ══ MARGEM ÚNICA NO CELULAR ════════════════════════════════════════════════
   24/09/2026. Uma régua só para TODAS as abas: 16px da borda da tela até
   qualquer bloco visível (lista, cartão, busca, filtro, topo). Antes as margens
   se somavam camada por camada (aba 12 + módulo −8 + seção 18 + cartão + campo)
   e cada aba ficava diferente: título a 16 numa e 32 noutra, lista a 27 numa
   e 93 noutra. Agora quem dá os 16px é só o invólucro das abas; toda camada
   INVISÍVEL (sem fundo nem borda) no caminho perde a margem lateral
   (data-margem-zero, marcado em js/barra-abas.js); cartões e blocos
   visíveis mantêm só o espaço INTERNO deles. */
@media (max-width: 640px) {
  /* id repetido: a regra do módulo de audiências (main > div:has(> #audiencias-view.active)) pesava mais */
  #views-wrap#views-wrap { padding-left: 16px !important; padding-right: 16px !important; }
  #app-container main .view { padding-left: 0 !important; padding-right: 0 !important; margin-left: 0 !important; margin-right: 0 !important; }
  /* o topo também respeita os 16px (os módulos davam margem negativa a ele) */
  [data-topo] { margin-left: 0 !important; margin-right: 0 !important; }
  [data-margem-zero] { padding-left: 0 !important; padding-right: 0 !important; margin-left: 0 !important; margin-right: 0 !important; }
  /* dentro do topo, o cabeçalho não soma recuo ao padding do próprio topo */
  [data-topo] > :has([data-topo-titulo]) { padding-left: 0 !important; padding-right: 0 !important; margin-left: 0 !important; margin-right: 0 !important; }
}

/* ==== /css/padrao-filtros.css ==== */
/* ============================================================================
   PADRÃO DE BUSCA E FILTROS — um só para todas as abas (24/09/2026)
   ----------------------------------------------------------------------------
   Antes cada aba tinha a sua barra: caixa branca com borda em volta, chips
   quadrados de 6px com borda, separadores verticais, busca de 160px espremida
   no meio ("Buscar por clier…"), segmented preto. No celular os chips quebravam
   em 3 linhas e os selects empilhavam.

   Agora, em Clientes, Audiências, Tarefas, Acordos, DJE e Financeiro:
     · busca primeiro (campo branco com borda, igual aos campos dos modais);
     · filtros = pílulas; o ativo é tinta com texto branco;
     · troca de visualização = segmented de trilho pedra, ativo branco;
     · sem caixa em volta, sem separador.
   No celular: busca na linha inteira e o resto numa linha que rola de lado
   (.filtros-rolo — no desktop é display:contents e não existe no layout).

   Barras: .filters (Clientes/Audiências) · .prz-filters (Tarefas)
           .av3-toolbar (Acordos) · .dv3-toolbar (DJE) · .fv4-toolbar (Financeiro)
   Peso html:not(#_) para vencer o CSS de cada aba sem espalhar !important.
   ========================================================================== */

:root {
  --pf-tinta: #0A0B0D;
  --pf-texto: #1C1917;
  --pf-texto-2: #44403C;
  --pf-texto-3: #A8A29E;
  --pf-borda: #E7E5E4;
  --pf-borda-forte: #D6D3D1;
  --pf-trilho: #EFEEEB;
  --pf-alt: 34px;
}

/* ── Barra ─────────────────────────────────────────────────────────────── */
html:not(#_) :is(.clientes-v2 .filters, .audiencias-v2 .filters, #tasks-root .prz-filters) {
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
html:not(#_) :is(.av3 .av3-toolbar, .dv3 .dv3-toolbar, .fv4 .fv4-toolbar) { gap: 8px; }
html:not(#_) .filtros-rolo { display: contents; }
html:not(#_) :is(.filters, .prz-filters) .fsep { display: none; }

/* ── Busca ─────────────────────────────────────────────────────────────── */
html:not(#_) :is(.filters .fsearch, .prz-filters .fsearch, .av3 .av3-search, .dv3 .dv3-search, .fv4 .fv4-search) {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1 1 260px;
  min-width: 200px;
  max-width: 360px;
  height: var(--pf-alt);
  padding: 0 12px;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid var(--pf-borda);
  border-radius: 10px;
  box-shadow: none;
  color: var(--pf-texto-3);
  cursor: text;
  transition: border-color .15s, box-shadow .15s;
}
html:not(#_) :is(.filters .fsearch, .prz-filters .fsearch, .av3 .av3-search, .dv3 .dv3-search, .fv4 .fv4-search):hover { border-color: var(--pf-borda-forte); }
html:not(#_) :is(.filters .fsearch, .prz-filters .fsearch, .av3 .av3-search, .dv3 .dv3-search, .fv4 .fv4-search):focus-within {
  border-color: var(--pf-tinta);
  box-shadow: 0 0 0 3px rgba(10, 11, 13, .07);
}
html:not(#_) :is(.filters .fsearch, .prz-filters .fsearch, .av3 .av3-search, .dv3 .dv3-search, .fv4 .fv4-search) svg {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
  color: var(--pf-texto-3);
}
html:not(#_) :is(.filters .fsearch, .prz-filters .fsearch, .av3 .av3-search, .dv3 .dv3-search, .fv4 .fv4-search) input {
  flex: 1;
  min-width: 0;
  height: 100%;
  min-height: 0;
  padding: 0;
  margin: 0;
  border: 0;
  outline: 0;
  background: none;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
  font: 400 14px/1 'Inter', system-ui, sans-serif;
  color: var(--pf-texto);
  text-overflow: ellipsis;
}
html:not(#_) :is(.filters .fsearch, .prz-filters .fsearch, .av3 .av3-search, .dv3 .dv3-search, .fv4 .fv4-search) input::placeholder {
  color: var(--pf-texto-3);
  font-size: inherit;
  opacity: 1;
}

/* ── Filtros (pílulas) ─────────────────────────────────────────────────── */
html:not(#_) :is(.filters .fchip, .filters .btn.sm, .prz-filters .fchip, .av3 .av3-fchip, .av3 .av3-bulk-toggle, .dv3 .dv3-tipo-chip, .fv4 .fv4-tipo-chip) {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
  height: 32px;
  min-height: 0;
  padding: 0 12px;
  box-sizing: border-box;
  border-radius: 999px;
  border: 1px solid var(--pf-borda);
  background: #fff;
  color: var(--pf-texto-2);
  box-shadow: none;
  font: 500 13px/1 'Inter', system-ui, sans-serif;
  letter-spacing: 0;
  white-space: nowrap;
  cursor: pointer;
  transition: border-color .15s, background .15s, color .15s;
}
html:not(#_) :is(.filters .fchip, .filters .btn.sm, .prz-filters .fchip, .av3 .av3-fchip, .av3 .av3-bulk-toggle, .dv3 .dv3-tipo-chip, .fv4 .fv4-tipo-chip):hover {
  border-color: var(--pf-borda-forte);
  background: #fff;
  color: var(--pf-tinta);
}
/* ativo: tinta. !important porque o DJE pinta o chip ativo com a cor do tipo
   em style="" — no padrão, ativo é sempre tinta (a cor do tipo fica na lista) */
html:not(#_) :is(.filters .fchip.on, .filters .btn.sm.on, .prz-filters .fchip.on, .av3 .av3-fchip.on, .av3 .av3-bulk-toggle.on, .dv3 .dv3-tipo-chip.on, .fv4 .fv4-tipo-chip.on) {
  background: var(--pf-tinta) !important;
  border-color: var(--pf-tinta) !important;
  color: #fff !important;
  box-shadow: none !important;
}
/* contagem: mono, apagada, sem fundo próprio */
html:not(#_) :is(.filters .fchip > span, .av3 .av3-fchip-count, .dv3 .dv3-tipo-chip b, .fv4 .fv4-seg b) {
  font: 500 11px/1 'JetBrains Mono', ui-monospace, monospace;
  font-feature-settings: "tnum";
  color: inherit !important;
  background: none !important;
  opacity: .55;
  margin: 0;
  padding: 0;
}
html:not(#_) :is(.av3 .av3-bulk-toggle, .fv4 .fv4-tipo-chip) svg { width: 12px; height: 12px; }

/* ── Selects (mesma pílula, com seta) ──────────────────────────────────── */
html:not(#_) :is(.filters, .prz-filters) .fselect {
  -webkit-appearance: none;
  appearance: none;
  flex-shrink: 0;
  height: 32px;
  min-height: 0;
  max-width: 200px;
  padding: 0 30px 0 12px;
  box-sizing: border-box;
  border-radius: 999px;
  border: 1px solid var(--pf-borda);
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none' stroke='%2378716C' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1l4 4 4-4'/%3E%3C/svg%3E") no-repeat right 12px center;
  color: var(--pf-texto-2);
  box-shadow: none;
  font: 500 13px/1 'Inter', system-ui, sans-serif;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: pointer;
  outline: none;
}
html:not(#_) :is(.filters, .prz-filters) .fselect:hover { border-color: var(--pf-borda-forte); color: var(--pf-tinta); }
html:not(#_) :is(.filters, .prz-filters) .fselect:focus-visible { border-color: var(--pf-tinta); box-shadow: 0 0 0 3px rgba(10, 11, 13, .07); }

/* ── Visualização (segmented de trilho pedra) ──────────────────────────── */
html:not(#_) :is(.filters .view-seg, .prz-filters .view-seg, .av3 .av3-seg, .dv3 .dv3-segs, .dv3 .dv3-ordem, .fv4 .fv4-segs) {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  flex-shrink: 0;
  height: var(--pf-alt);
  padding: 2px;
  box-sizing: border-box;
  background: var(--pf-trilho);
  border: 0;
  border-radius: 10px;
  overflow: visible;
}
html:not(#_) :is(.filters .view-seg button, .prz-filters .view-seg button, .av3 .av3-seg button, .dv3 .dv3-seg, .fv4 .fv4-seg) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 100%;
  min-height: 0;
  padding: 0 12px;
  box-sizing: border-box;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--pf-texto-2);
  box-shadow: none;
  font: 500 13px/1 'Inter', system-ui, sans-serif;
  white-space: nowrap;
  cursor: pointer;
  transition: background .15s, color .15s, box-shadow .15s;
}
html:not(#_) :is(.filters .view-seg button, .prz-filters .view-seg button, .av3 .av3-seg button, .dv3 .dv3-seg, .fv4 .fv4-seg):hover { color: var(--pf-tinta); }
html:not(#_) :is(.filters .view-seg button.on, .prz-filters .view-seg button.on, .av3 .av3-seg button.on, .dv3 .dv3-seg.on, .fv4 .fv4-seg.on) {
  background: #fff;
  color: var(--pf-tinta);
  box-shadow: 0 1px 2px rgba(10, 11, 13, .10), 0 0 0 .5px rgba(10, 11, 13, .06);
}
html:not(#_) :is(.filters .view-seg, .prz-filters .view-seg, .av3 .av3-seg) svg { width: 13px; height: 13px; }
/* o rótulo do segmented de Acordos sumia abaixo de 1280px (ficava só o ícone) */
html:not(#_) .av3 .av3-seg-lbl { display: inline; }

/* ── Resto ─────────────────────────────────────────────────────────────── */
html:not(#_) .av3 .av3-toolbar-count { font-size: 12px; color: var(--pf-texto-3); }

/* ── Celular: busca na linha toda, filtros numa linha que rola ─────────── */
@media (max-width: 640px) {
  :root { --pf-alt: 40px; }

  html:not(#_) :is(.clientes-v2 .filters, .audiencias-v2 .filters, #tasks-root .prz-filters, .av3 .av3-toolbar, .dv3 .dv3-toolbar, .fv4 .fv4-toolbar) {
    gap: 10px;
  }
  html:not(#_) :is(.filters .fsearch, .prz-filters .fsearch, .av3 .av3-search, .dv3 .dv3-search, .fv4 .fv4-search) {
    flex: 1 1 100%;
    max-width: none;
    min-width: 0;
  }
  /* 16px: abaixo disso o iPhone dá zoom ao tocar no campo */
  html:not(#_) :is(.filters .fsearch, .prz-filters .fsearch, .av3 .av3-search, .dv3 .dv3-search, .fv4 .fv4-search) input { font-size: 16px; }

  /* abas de fila do DJE e do Financeiro: segmented na largura toda */
  html:not(#_) :is(.dv3 .dv3-segs, .fv4 .fv4-segs) { display: flex; width: 100%; }
  html:not(#_) :is(.dv3 .dv3-segs > .dv3-seg, .fv4 .fv4-segs > .fv4-seg) { flex: 1 1 auto; padding: 0 8px; }

  /* a linha que rola vai de borda a borda da tela, alinhada à margem de 16px */
  html:not(#_) .filtros-rolo {
    display: flex;
    flex: 1 1 100%;
    flex-wrap: nowrap;
    align-items: center;
    gap: 8px;
    min-width: 0;
    margin: 0 -16px;
    padding: 0 16px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scroll-padding-inline: 16px;
    scrollbar-width: none;
  }
  html:not(#_) .filtros-rolo::-webkit-scrollbar { display: none; }
  html:not(#_) .filtros-rolo > * { flex-shrink: 0; margin: 0; }
  html:not(#_) .filtros-rolo :is(.filters-spacer) { display: none; }
  html:not(#_) .filtros-rolo :is(.av3-toolbar-tail, .dv3-tipos, .fv4-tipos) {
    display: contents;
  }
  html:not(#_) .filtros-rolo .av3-toolbar-count { flex-shrink: 0; white-space: nowrap; }

  html:not(#_) :is(.filters .fchip, .filters .btn.sm, .prz-filters .fchip, .av3 .av3-fchip, .av3 .av3-bulk-toggle, .dv3 .dv3-tipo-chip, .fv4 .fv4-tipo-chip) {
    height: 36px;
    font-size: 14px;
  }
  html:not(#_) :is(.filters, .prz-filters) .fselect {
    height: 36px;
    font-size: 16px;
    /* o select mede a opção mais longa ("Audiência de Julgamento"); o que
       aparece é a escolhida, curta */
    max-width: 180px;
  }
  html:not(#_) :is(.filters .view-seg, .prz-filters .view-seg, .av3 .av3-seg, .dv3 .dv3-ordem) { height: 36px; }
  html:not(#_) :is(.filters .view-seg button, .prz-filters .view-seg button, .av3 .av3-seg button, .dv3 .dv3-seg, .fv4 .fv4-seg) { font-size: 14px; }
}

/* ==== /css/mobile-modais.css ==== */
/* ============================================================================
   MODAIS NO CELULAR — folha de baixo única (19/09/2026)
   ----------------------------------------------------------------------------
   O app acumulou 20 famílias de modal (av3m, fv3m, fv4, cm, cd, am, ad, dv3,
   tv, inss, guardiao, imp, wfui, asn, pgd, fan, aia + caixas Tailwind escritas
   à mão no app.html). Cada uma trazia seu próprio raio (0/12/14/16/18/20px),
   sua margem lateral (8/12/16/20/27px) e sua altura máxima (85/86/88/90/92vh e
   100vh). Na mesma tela isso lia como "metade do app é de outro app".

   Aqui, abaixo de 640px, TODAS viram a mesma coisa: uma folha ancorada no
   rodapé, largura cheia, cantos de cima arredondados, acima da barra de
   navegação e respeitando o notch. É o padrão que .aia-overlay e .pgd-back já
   usavam sozinhos — esta camada só estende para o resto.

   Carregado por último, só dentro de @media: nada daqui vaza para o desktop.
   Para reverter, apague o <link> no app.html.
   ========================================================================== */

@media (max-width: 640px) {

  /* ── 1. As raízes (o fundo escurecido) ────────────────────────────────────
     `.fixed.inset-0[id$="-modal"]` e `[id^="modal-"]` pegam de uma vez as ~20
     caixas Tailwind do app.html e as que o JS cria (config-financeiro-modal,
     nova-conta-modal, transferencia-modal...), inclusive as que ainda vão
     nascer. O resto é listado pelo nome da família.

     Coluna em vez de linha de propósito: o #edit-payment-modal tem o <footer>
     como IRMÃO da caixa (há um </div> a mais no app.html, linha ~2564). Em
     linha os dois disputam a largura e a caixa fica com 95px. Empilhados, os
     dois ocupam a largura toda e a folha sai certa mesmo com o HTML torto. */
  .acordly-folha,
  .fixed.inset-0[id$="-modal"],
  .fixed.inset-0[id^="modal-"],
  .fv3m-backdrop,
  .fv4-modal-back,
  .dv3 .dv3-modal-back,
  .guardiao-modal-back,
  .wfui-modal-backdrop,
  .asn-modal-back,
  .fan-modal-back,
  .imp-backdrop,
  .av3w-back,
  .inss .inss-modal,
  .cliente-modal-v2,
  .cliente-detail-v2,
  .audiencia-modal-v2,
  .audiencia-detail-v2,
  .task-detail-v2,
  [data-task-modal],
  [data-task-detail-modal],
  [data-finalizadas-modal] {
    display: flex;
    flex-direction: column !important;
    justify-content: flex-end !important;
    align-items: stretch !important;
    padding: 0 !important;
    /* a barra de navegação é z-index 9999; modal é modal, passa por cima */
    z-index: 10000 !important;
    /* mesmo véu para todos — antes uns tinham bg-slate-950/70, outros nada
       (o Configurações Financeiras abria sem escurecer o fundo) */
    background: rgba(10, 11, 13, .5) !important;
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
    /* a folha para acima do indicador de home do iPhone */
    padding-bottom: env(safe-area-inset-bottom, 0px) !important;
  }

  /* raiz escondida continua escondida: o `display:flex` acima não pode
     ressuscitar modal fechado (Tailwind .hidden e style="display:none") */
  .fixed.inset-0[id$="-modal"].hidden,
  .fixed.inset-0[id^="modal-"].hidden,
  .cliente-modal-v2.hidden,
  .cliente-detail-v2.hidden,
  .audiencia-modal-v2.hidden,
  .audiencia-detail-v2.hidden,
  .task-detail-v2.hidden,
  .imp-modal.hidden,
  .wfui-modal-backdrop.hidden,
  [hidden] { display: none !important; }

  /* ── 2. Os painéis (a folha branca em si) ─────────────────────────────────
     Vale para o filho direto da raiz, seja ele .fv3m-box, .am-modal, .tv-modal
     ou um <div> sem classe. */
  .acordly-folha > *,
  .fixed.inset-0[id$="-modal"] > *,
  .fixed.inset-0[id^="modal-"] > *,
  .fv3m-backdrop > *,
  .fv4-modal-back > *,
  .dv3 .dv3-modal-back > *,
  .guardiao-modal-back > *,
  .wfui-modal-backdrop > *,
  .asn-modal-back > *,
  .fan-modal-back > *,
  .imp-backdrop > *,
  .av3w-back > *,
  .inss .inss-modal > .inss-modal-box,
  .cliente-modal-v2 > *,
  .cliente-detail-v2 > *,
  .audiencia-modal-v2 > *,
  .audiencia-detail-v2 > *,
  .task-detail-v2 > *,
  [data-task-modal] > *,
  [data-task-detail-modal] > *,
  [data-finalizadas-modal] > * {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    border-radius: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  /* só o primeiro painel arredonda em cima — é ele que encosta no fundo
     escuro. Se a caixa e o rodapé forem irmãos, o rodapé fica reto embaixo. */
  .acordly-folha > :first-child,
  .fixed.inset-0[id$="-modal"] > :first-child,
  .fixed.inset-0[id^="modal-"] > :first-child,
  .fv3m-backdrop > :first-child,
  .fv4-modal-back > :first-child,
  .dv3 .dv3-modal-back > :first-child,
  .guardiao-modal-back > :first-child,
  .wfui-modal-backdrop > :first-child,
  .asn-modal-back > :first-child,
  .fan-modal-back > :first-child,
  .imp-backdrop > :first-child,
  .av3w-back > :first-child,
  .inss .inss-modal > .inss-modal-box,
  .cliente-modal-v2 > :first-child,
  .cliente-detail-v2 > :first-child,
  .audiencia-modal-v2 > :first-child,
  .audiencia-detail-v2 > :first-child,
  .task-detail-v2 > :first-child,
  [data-task-modal] > :first-child,
  [data-task-detail-modal] > :first-child,
  [data-finalizadas-modal] > :first-child {
    border-top-left-radius: 20px !important;
    border-top-right-radius: 20px !important;
    /* os cantos de baixo encostam na borda da tela: redondos ali deixariam
       dois triângulos escuros. `> *` perde de um `> div` escrito com id
       (o universal não conta como tipo), então vai no :first-child. */
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    /* 100dvh, não 100vh: no iOS o vh conta a barra do Safari como se não
       existisse e o rodapé com o Salvar some atrás dela. Os 28px deixam uma
       nesga do fundo aparecendo — é o que diz "dá para arrastar/fechar". */
    max-height: calc(100dvh - 28px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    animation: acordly-folha-sobe .26s cubic-bezier(.16, 1, .3, 1) both !important;
  }

  /* o painel de baixo (quando o rodapé é irmão) entra junto, sem saltar */
  .fixed.inset-0[id$="-modal"] > :last-child:not(:first-child),
  .fixed.inset-0[id^="modal-"] > :last-child:not(:first-child) {
    animation: acordly-folha-sobe .26s cubic-bezier(.16, 1, .3, 1) both !important;
    flex-shrink: 0;
  }

  @keyframes acordly-folha-sobe {
    from { transform: translateY(18px); opacity: 0; }
    to   { transform: translateY(0);    opacity: 1; }
  }

  /* fundo já escurecido pela raiz: o véu interno de algumas famílias
     escureceria duas vezes */
  .inss .inss-modal > .inss-modal-bg { display: none !important; }
}

/* ============================================================================
   Defeitos pontuais vistos na tela (não são do padrão, são de cada modal)
   ========================================================================== */
@media (max-width: 640px) {

  /* ── Configurações Financeiras ────────────────────────────────────────────
     As 4 abas (Contas / Categorias / Centro de Custos / Importar) estavam numa
     linha rígida e chegavam a x=503 numa tela de 390: as duas últimas ficavam
     fora, sem como tocar. Vira faixa que rola de lado. */
  #config-financeiro-modal .config-tab { flex: 0 0 auto !important; white-space: nowrap; }
  #config-financeiro-modal .config-tab:first-child,
  #config-financeiro-modal div:has(> .config-tab) {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  #config-financeiro-modal div:has(> .config-tab)::-webkit-scrollbar { display: none; }
  /* "+ Nova Conta" saía como "Nova / Conta" em duas linhas, espremido ao lado
     da descrição. O rótulo não quebra; se faltar espaço, a linha é que quebra. */
  #config-financeiro-modal button { white-space: nowrap; }
  #config-financeiro-modal div:has(> button):not(:has(> .config-tab)) { flex-wrap: wrap; gap: 10px; }

  /* ── Editar parcelas ──────────────────────────────────────────────────────
     O rodapé vazava 19px: o botão .px-8 não cabia ao lado do Cancelar. */
  #editar-parcelas-modal footer { flex-wrap: wrap !important; }
  #editar-parcelas-modal footer > * { min-width: 0; }
  #editar-parcelas-modal footer .px-8 { padding-left: 16px !important; padding-right: 16px !important; }

  /* ── Rede de segurança ────────────────────────────────────────────────────
     Ninguém dentro de uma folha pode passar da largura da tela; rodapé de
     botões quebra em vez de empurrar. */
  .fixed.inset-0[id$="-modal"] footer,
  .fixed.inset-0[id^="modal-"] footer,
  .fv3m-backdrop .fv3m-foot,
  .av3m-foot { flex-wrap: wrap !important; }

  /* tabelas dentro de modal rolam sozinhas em vez de esticar a folha */
  .fixed.inset-0[id$="-modal"] table,
  .fixed.inset-0[id^="modal-"] table { max-width: 100%; }
}

/* ============================================================================
   Famílias que escrevem por #id e por isso venciam a camada acima
   ----------------------------------------------------------------------------
   acordos-v3.css tem `#acordo-modal { padding:24px !important }` e
   `#acordo-modal > div { border-radius:14px !important; max-width:880px }`.
   Um seletor de id (1,0,1) ganha de `.fixed.inset-0[id$="-modal"] > *` (0,3,1)
   mesmo com !important dos dois lados — daí estes quatro continuarem cartão
   centralizado enquanto o resto já era folha. Repetido aqui com id.
   ========================================================================== */
@media (max-width: 640px) {

  #acordo-modal,
  #pagamento-modal,
  #edit-payment-modal,
  #delete-modal {
    padding: 0 0 env(safe-area-inset-bottom, 0px) !important;
  }

  #acordo-modal > *,
  #pagamento-modal > *,
  #edit-payment-modal > *,
  #delete-modal > * {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    border-radius: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  #acordo-modal > :first-child,
  #pagamento-modal > :first-child,
  #edit-payment-modal > :first-child,
  #delete-modal > :first-child {
    border-top-left-radius: 20px !important;
    border-top-right-radius: 20px !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    max-height: calc(100dvh - 28px) !important;
  }

  /* o cabeçalho escuro volta a encostar nas bordas da folha, como no desktop */
  #acordo-modal .av3m-head,
  #pagamento-modal .av3m-head,
  #edit-payment-modal .av3m-head {
    border-top-left-radius: 20px !important;
    border-top-right-radius: 20px !important;
  }
}


/* ============================================================================
   Faixa 641–768px (tablet, celular deitado)
   ----------------------------------------------------------------------------
   A barra de navegação de baixo aparece a partir de 768px (mobile-overrides) e
   tem z-index 9999, mas a folha de baixo só vale até 640: nessa faixa o modal
   continua cartão centralizado e o rodapé dele ficava ATRÁS da barra. Aqui o
   modal só sobe acima da barra — o formato continua o de desktop, que cabe
   bem numa tela desse tamanho.
   ========================================================================== */
@media (min-width: 641px) and (max-width: 768px) {
  .fixed.inset-0[id$="-modal"],
  .fixed.inset-0[id^="modal-"],
  .fv3m-backdrop,
  .fv4-modal-back,
  .dv3 .dv3-modal-back,
  .guardiao-modal-back,
  .wfui-modal-backdrop,
  .asn-modal-back,
  .fan-modal-back,
  .imp-backdrop,
  .av3w-back,
  .inss .inss-modal,
  .cliente-modal-v2,
  .cliente-detail-v2,
  .audiencia-modal-v2,
  .audiencia-detail-v2,
  .task-detail-v2,
  [data-task-modal],
  [data-task-detail-modal],
  [data-finalizadas-modal] { z-index: 10000 !important; }
}

