/*!
 * dark-mode.css — Pousada Flow
 * GERADO por tools/build-dark-mode-css.mjs — NAO EDITAR A MAO.
 * Editou o gerador? rode `node tools/build-dark-mode-css.mjs` e bumpe
 * PF_THEME_VER em includes/theme.php (o .htaccess cacheia CSS por 1 ano).
 *
 * Overlay de tema: re-pinta as classes CLARAS ja presentes no HTML sob o
 * escopo html.dark. Nao depende de variantes dark: do Tailwind (que nao
 * existem neste build) nem de qualquer build step.
 */

/* ==========================================================================
   0. O CONTROLE DE TEMA
   Estilo proprio da pilula do toggle. NAO escopado em html.dark de
   proposito: o fundo e rgba(0,0,0,.25), que escurece o que estiver atras — e
   o mesmo controle funciona tanto sobre o azul da sidebar clara quanto sobre
   o navy da escura (secao 10b), sem precisar de duas versoes.
   Tambem nao depende de nenhuma classe do Tailwind — assim funciona em
   qualquer pagina que inclua o markup, mesmo as que usam outro build.
   ========================================================================== */
[data-pf-theme-toggle] { display:flex; gap:2px; padding:2px; border-radius:8px; background:rgba(0,0,0,.25); }
[data-pf-theme-toggle] button {
  flex:1 1 0; padding:6px 0; border:0; border-radius:6px; cursor:pointer;
  font-size:12px; line-height:1; color:#93c5fd; background:transparent;
  transition:background-color .15s ease, color .15s ease;
}
[data-pf-theme-toggle] button:hover { color:#fff; background:rgba(255,255,255,.10); }
[data-pf-theme-toggle] button.pf-theme-on { color:#fff; background:#2563eb; }
[data-pf-theme-toggle] button:focus-visible { outline:2px solid #60a5fa; outline-offset:1px; }
@media print { [data-pf-theme-toggle] { display:none !important; } }

/* ==========================================================================
   1. TOKENS E BASE
   ========================================================================== */
html { color-scheme: light; }
html.dark {
  color-scheme: dark;
  --pf-canvas:#0f172a; --pf-surface:#1e293b; --pf-surface-2:#243044;
  --pf-surface-3:#2c3a4f; --pf-hover:#334155; --pf-border:rgba(148,163,184,.22);
  --pf-border-strong:rgba(148,163,184,.34); --pf-neutral:#64748b; --pf-text:#f1f5f9; --pf-text-2:#cbd5e1;
  --pf-text-muted:#9fb0c4;
}

/* body[class] = (0,2,2), necessario para vencer html.dark .bg-gray-100 = (0,2,1)
   — o <body class="bg-gray-100"> do includes/header.php. Sem isso o fundo da
   pagina ficaria MAIS CLARO que os cartoes. */
html.dark body, html.dark body[class] { background-color:#0f172a; color:#cbd5e1; }

/* Gradientes claros de body (login, welcome, payment-required, multi-pousada):
   uma regra resolve as 12 paradas de cor. */
html.dark body[class*="bg-gradient"] { background-image:none; background-color:#0f172a; }

/* ==========================================================================
   2. SUPERFICIES
   Nao definimos `color` aqui: o texto herda do body ou de uma classe text-*.
   ========================================================================== */
html.dark .bg-white { background-color:#1e293b; }
html.dark .bg-gray-50 { background-color:#243044; }
html.dark .bg-gray-100 { background-color:#2c3a4f; }
html.dark .bg-gray-200 { background-color:#334155; }
html.dark .bg-gray-300 { background-color:#475569; }
html.dark .bg-gray-400 { background-color:#64748b; }
html.dark .bg-gray-500 { background-color:#64748b; }
html.dark .bg-gray-600 { background-color:#475569; }
html.dark .bg-slate-50 { background-color:#243044; }
html.dark .bg-slate-100 { background-color:#2c3a4f; }
html.dark .bg-slate-200 { background-color:#334155; }

/* Paradas de gradiente claras usadas em cartoes. */
html.dark .from-white { --tw-gradient-from:#1e293b; }
html.dark .via-white { --tw-gradient-via:#1e293b; }
html.dark .to-white { --tw-gradient-to:#1e293b; }
html.dark .from-gray-50, html.dark .from-slate-50 { --tw-gradient-from:#243044; }
html.dark .to-gray-50, html.dark .to-slate-50 { --tw-gradient-to:#243044; }
html.dark .from-gray-100, html.dark .from-slate-100 { --tw-gradient-from:#2c3a4f; }
html.dark .to-gray-100, html.dark .to-slate-100 { --tw-gradient-to:#2c3a4f; }

/* NUNCA remapeados (ja sao escuros ou sao cor de marca):
   bg-gray-700/800/900/950, bg-black, bg-white/N, bg-black/N, bg-{cor}-400..900. */

/* ==========================================================================
   3. TEXTO
   ========================================================================== */
html.dark .text-gray-900 { color:#f1f5f9; }
html.dark .text-gray-800 { color:#f1f5f9; }
html.dark .text-gray-700 { color:#cbd5e1; }
html.dark .text-gray-600 { color:#cbd5e1; }
html.dark .text-gray-500 { color:#9fb0c4; }
html.dark .text-gray-400 { color:#9fb0c4; }
html.dark .text-black { color:#f1f5f9; }
html.dark .text-slate-900 { color:#f1f5f9; }
html.dark .text-slate-800 { color:#f1f5f9; }
html.dark .text-slate-700 { color:#cbd5e1; }
html.dark .text-slate-600 { color:#cbd5e1; }
html.dark .text-slate-500 { color:#9fb0c4; }
html.dark .text-slate-400 { color:#9fb0c4; }

/* NAO remapeados: text-white, text-white/N, text-gray-100/200/300 —
   sao textos claros, ja pensados para fundo escuro. */

/* ==========================================================================
   4. BORDAS E DIVISORES
   ========================================================================== */
/* Cor de borda PADRAO. Espelha o preflight do Tailwind
   (`*,::before,::after{border-color:#e5e7eb}`), que e o que pinta as bordas
   de quem usa `border`/`border-t`/`divide-y` SEM classe de cor.
   Especificidade (0,1,1): de proposito MENOR que .border-gray-300 (0,2,1),
   senao esta regra sobrescreveria toda cor de borda explicita. */
html.dark *, html.dark ::before, html.dark ::after { border-color:rgba(148,163,184,.22); }

html.dark .border-gray-100 { border-color:rgba(148,163,184,.14); }
html.dark .border-gray-200 { border-color:rgba(148,163,184,.22); }
html.dark .border-gray-300 { border-color:rgba(148,163,184,.34); }
html.dark .border-gray-400 { border-color:rgba(148,163,184,.48); }
html.dark .border-gray-500 { border-color:rgba(148,163,184,.48); }
html.dark .border-slate-100 { border-color:rgba(148,163,184,.14); }
html.dark .border-slate-200 { border-color:rgba(148,163,184,.22); }
html.dark .border-slate-300 { border-color:rgba(148,163,184,.34); }

html.dark .divide-gray-100 > :not([hidden]) ~ :not([hidden]) { border-color:rgba(148,163,184,.14); }
html.dark .divide-gray-200 > :not([hidden]) ~ :not([hidden]) { border-color:rgba(148,163,184,.22); }
html.dark .divide-gray-300 > :not([hidden]) ~ :not([hidden]) { border-color:rgba(148,163,184,.34); }
html.dark .divide-slate-200 > :not([hidden]) ~ :not([hidden]) { border-color:rgba(148,163,184,.22); }

html.dark .ring-gray-200, html.dark .ring-slate-200 { --tw-ring-color:rgba(148,163,184,.22); }
html.dark .ring-gray-300, html.dark .ring-slate-300 { --tw-ring-color:rgba(148,163,184,.34); }

/* `border`, `border-t`, `divide-y` etc. sem classe de cor ja sao cobertos
   pela regra de preflight no topo desta secao — nao repetir aqui, senao a
   ordem no arquivo faria a regra generica vencer as especificas. */

/* ==========================================================================
   5. HOVER
   Inverte de direcao: no escuro o hover CLAREIA. Mapear para o mesmo
   valor do estado normal produziria um hover invisivel.
   ========================================================================== */
html.dark .hover\:bg-white:hover { background-color:#334155; }
html.dark .hover\:bg-gray-50:hover { background-color:#334155; }
html.dark .hover\:bg-gray-100:hover { background-color:#3b4a60; }
html.dark .hover\:bg-gray-200:hover { background-color:#3b4a60; }
html.dark .hover\:bg-gray-300:hover { background-color:#475569; }
html.dark .hover\:bg-gray-400:hover { background-color:#64748b; }
html.dark .hover\:bg-slate-50:hover { background-color:#334155; }
html.dark .hover\:bg-slate-100:hover { background-color:#3b4a60; }
html.dark .group:hover .group-hover\:bg-gray-50,
html.dark .group:hover .group-hover\:bg-gray-100 { background-color:#334155; }

html.dark .hover\:text-gray-900:hover { color:#f1f5f9; }
html.dark .hover\:text-gray-800:hover { color:#f1f5f9; }
html.dark .hover\:text-gray-700:hover { color:#f1f5f9; }
html.dark .hover\:text-gray-600:hover { color:#f1f5f9; }
html.dark .hover\:border-gray-300:hover,
html.dark .hover\:border-gray-400:hover { border-color:rgba(148,163,184,.48); }
html.dark .odd\:bg-gray-50:nth-child(odd),
html.dark .even\:bg-gray-50:nth-child(even) { background-color:#243044; }

/* ==========================================================================
   6. CHIPS DE STATUS
   Formula, nao inversao. Inverter bg-green-100 para um verde
   escuro destruiria a legibilidade do text-green-800 que anda junto.
   Tint em rgba compoe corretamente sobre QUALQUER superficie — hex fixo nao.
   Conferido no chip mais usado (bg-green-100 + text-green-800):
   rgba(34,197,94,.16) sobre #1e293b -> L 0,083; text-green-300 -> L 0,697.
   Razao 5,7:1 — passa no WCAG AA.
   ========================================================================== */
/* red — texto de link 300 (5.46:1 sobre a superfície), chip 300 (5.41:1 sobre o tint) */
html.dark .bg-red-50 { background-color:rgba(239,68,68,.10); }
html.dark .bg-red-100 { background-color:rgba(239,68,68,.16); }
html.dark .bg-red-200 { background-color:rgba(239,68,68,.26); }
html.dark .border-red-100 { border-color:rgba(239,68,68,.25); }
html.dark .border-red-200 { border-color:rgba(239,68,68,.35); }
html.dark .border-red-300 { border-color:rgba(239,68,68,.50); }
html.dark .text-red-500 { color:#fca5a5; }
html.dark .text-red-600 { color:#fca5a5; }
html.dark .text-red-700 { color:#fca5a5; }
html.dark .text-red-800 { color:#fca5a5; }
html.dark .text-red-900 { color:#fecaca; }
html.dark .hover\:bg-red-50:hover { background-color:rgba(239,68,68,.18); }
html.dark .hover\:bg-red-100:hover { background-color:rgba(239,68,68,.26); }
html.dark .hover\:bg-red-200:hover { background-color:rgba(239,68,68,.34); }
html.dark .divide-red-200 > :not([hidden]) ~ :not([hidden]) { border-color:rgba(239,68,68,.35); }
/* orange — texto de link 400 (4.58:1 sobre a superfície), chip 300 (5.64:1 sobre o tint) */
html.dark .bg-orange-50 { background-color:rgba(249,115,22,.10); }
html.dark .bg-orange-100 { background-color:rgba(249,115,22,.16); }
html.dark .bg-orange-200 { background-color:rgba(249,115,22,.26); }
html.dark .border-orange-100 { border-color:rgba(249,115,22,.25); }
html.dark .border-orange-200 { border-color:rgba(249,115,22,.35); }
html.dark .border-orange-300 { border-color:rgba(249,115,22,.50); }
html.dark .text-orange-500 { color:#fb923c; }
html.dark .text-orange-600 { color:#fb923c; }
html.dark .text-orange-700 { color:#fdba74; }
html.dark .text-orange-800 { color:#fdba74; }
html.dark .text-orange-900 { color:#fed7aa; }
html.dark .hover\:bg-orange-50:hover { background-color:rgba(249,115,22,.18); }
html.dark .hover\:bg-orange-100:hover { background-color:rgba(249,115,22,.26); }
html.dark .hover\:bg-orange-200:hover { background-color:rgba(249,115,22,.34); }
html.dark .divide-orange-200 > :not([hidden]) ~ :not([hidden]) { border-color:rgba(249,115,22,.35); }
/* amber — texto de link 400 (6.20:1 sobre a superfície), chip 300 (6.14:1 sobre o tint) */
html.dark .bg-amber-50 { background-color:rgba(245,158,11,.10); }
html.dark .bg-amber-100 { background-color:rgba(245,158,11,.16); }
html.dark .bg-amber-200 { background-color:rgba(245,158,11,.26); }
html.dark .border-amber-100 { border-color:rgba(245,158,11,.25); }
html.dark .border-amber-200 { border-color:rgba(245,158,11,.35); }
html.dark .border-amber-300 { border-color:rgba(245,158,11,.50); }
html.dark .text-amber-500 { color:#fbbf24; }
html.dark .text-amber-600 { color:#fbbf24; }
html.dark .text-amber-700 { color:#fcd34d; }
html.dark .text-amber-800 { color:#fcd34d; }
html.dark .text-amber-900 { color:#fde68a; }
html.dark .hover\:bg-amber-50:hover { background-color:rgba(245,158,11,.18); }
html.dark .hover\:bg-amber-100:hover { background-color:rgba(245,158,11,.26); }
html.dark .hover\:bg-amber-200:hover { background-color:rgba(245,158,11,.34); }
html.dark .divide-amber-200 > :not([hidden]) ~ :not([hidden]) { border-color:rgba(245,158,11,.35); }
/* yellow — texto de link 400 (6.76:1 sobre a superfície), chip 300 (6.51:1 sobre o tint) */
html.dark .bg-yellow-50 { background-color:rgba(234,179,8,.10); }
html.dark .bg-yellow-100 { background-color:rgba(234,179,8,.16); }
html.dark .bg-yellow-200 { background-color:rgba(234,179,8,.26); }
html.dark .border-yellow-100 { border-color:rgba(234,179,8,.25); }
html.dark .border-yellow-200 { border-color:rgba(234,179,8,.35); }
html.dark .border-yellow-300 { border-color:rgba(234,179,8,.50); }
html.dark .text-yellow-500 { color:#facc15; }
html.dark .text-yellow-600 { color:#facc15; }
html.dark .text-yellow-700 { color:#fde047; }
html.dark .text-yellow-800 { color:#fde047; }
html.dark .text-yellow-900 { color:#fef08a; }
html.dark .hover\:bg-yellow-50:hover { background-color:rgba(234,179,8,.18); }
html.dark .hover\:bg-yellow-100:hover { background-color:rgba(234,179,8,.26); }
html.dark .hover\:bg-yellow-200:hover { background-color:rgba(234,179,8,.34); }
html.dark .divide-yellow-200 > :not([hidden]) ~ :not([hidden]) { border-color:rgba(234,179,8,.35); }
/* lime — texto de link 400 (6.87:1 sobre a superfície), chip 300 (6.54:1 sobre o tint) */
html.dark .bg-lime-50 { background-color:rgba(132,204,22,.10); }
html.dark .bg-lime-100 { background-color:rgba(132,204,22,.16); }
html.dark .bg-lime-200 { background-color:rgba(132,204,22,.26); }
html.dark .border-lime-100 { border-color:rgba(132,204,22,.25); }
html.dark .border-lime-200 { border-color:rgba(132,204,22,.35); }
html.dark .border-lime-300 { border-color:rgba(132,204,22,.50); }
html.dark .text-lime-500 { color:#a3e635; }
html.dark .text-lime-600 { color:#a3e635; }
html.dark .text-lime-700 { color:#bef264; }
html.dark .text-lime-800 { color:#bef264; }
html.dark .text-lime-900 { color:#d9f99d; }
html.dark .hover\:bg-lime-50:hover { background-color:rgba(132,204,22,.18); }
html.dark .hover\:bg-lime-100:hover { background-color:rgba(132,204,22,.26); }
html.dark .hover\:bg-lime-200:hover { background-color:rgba(132,204,22,.34); }
html.dark .divide-lime-200 > :not([hidden]) ~ :not([hidden]) { border-color:rgba(132,204,22,.35); }
/* green — texto de link 400 (5.94:1 sobre a superfície), chip 300 (6.30:1 sobre o tint) */
html.dark .bg-green-50 { background-color:rgba(34,197,94,.10); }
html.dark .bg-green-100 { background-color:rgba(34,197,94,.16); }
html.dark .bg-green-200 { background-color:rgba(34,197,94,.26); }
html.dark .border-green-100 { border-color:rgba(34,197,94,.25); }
html.dark .border-green-200 { border-color:rgba(34,197,94,.35); }
html.dark .border-green-300 { border-color:rgba(34,197,94,.50); }
html.dark .text-green-500 { color:#4ade80; }
html.dark .text-green-600 { color:#4ade80; }
html.dark .text-green-700 { color:#86efac; }
html.dark .text-green-800 { color:#86efac; }
html.dark .text-green-900 { color:#bbf7d0; }
html.dark .hover\:bg-green-50:hover { background-color:rgba(34,197,94,.18); }
html.dark .hover\:bg-green-100:hover { background-color:rgba(34,197,94,.26); }
html.dark .hover\:bg-green-200:hover { background-color:rgba(34,197,94,.34); }
html.dark .divide-green-200 > :not([hidden]) ~ :not([hidden]) { border-color:rgba(34,197,94,.35); }
/* emerald — texto de link 400 (5.39:1 sobre a superfície), chip 300 (5.93:1 sobre o tint) */
html.dark .bg-emerald-50 { background-color:rgba(16,185,129,.10); }
html.dark .bg-emerald-100 { background-color:rgba(16,185,129,.16); }
html.dark .bg-emerald-200 { background-color:rgba(16,185,129,.26); }
html.dark .border-emerald-100 { border-color:rgba(16,185,129,.25); }
html.dark .border-emerald-200 { border-color:rgba(16,185,129,.35); }
html.dark .border-emerald-300 { border-color:rgba(16,185,129,.50); }
html.dark .text-emerald-500 { color:#34d399; }
html.dark .text-emerald-600 { color:#34d399; }
html.dark .text-emerald-700 { color:#6ee7b7; }
html.dark .text-emerald-800 { color:#6ee7b7; }
html.dark .text-emerald-900 { color:#a7f3d0; }
html.dark .hover\:bg-emerald-50:hover { background-color:rgba(16,185,129,.18); }
html.dark .hover\:bg-emerald-100:hover { background-color:rgba(16,185,129,.26); }
html.dark .hover\:bg-emerald-200:hover { background-color:rgba(16,185,129,.34); }
html.dark .divide-emerald-200 > :not([hidden]) ~ :not([hidden]) { border-color:rgba(16,185,129,.35); }
/* teal — texto de link 400 (5.56:1 sobre a superfície), chip 300 (6.06:1 sobre o tint) */
html.dark .bg-teal-50 { background-color:rgba(20,184,166,.10); }
html.dark .bg-teal-100 { background-color:rgba(20,184,166,.16); }
html.dark .bg-teal-200 { background-color:rgba(20,184,166,.26); }
html.dark .border-teal-100 { border-color:rgba(20,184,166,.25); }
html.dark .border-teal-200 { border-color:rgba(20,184,166,.35); }
html.dark .border-teal-300 { border-color:rgba(20,184,166,.50); }
html.dark .text-teal-500 { color:#2dd4bf; }
html.dark .text-teal-600 { color:#2dd4bf; }
html.dark .text-teal-700 { color:#5eead4; }
html.dark .text-teal-800 { color:#5eead4; }
html.dark .text-teal-900 { color:#99f6e4; }
html.dark .hover\:bg-teal-50:hover { background-color:rgba(20,184,166,.18); }
html.dark .hover\:bg-teal-100:hover { background-color:rgba(20,184,166,.26); }
html.dark .hover\:bg-teal-200:hover { background-color:rgba(20,184,166,.34); }
html.dark .divide-teal-200 > :not([hidden]) ~ :not([hidden]) { border-color:rgba(20,184,166,.35); }
/* cyan — texto de link 400 (5.73:1 sobre a superfície), chip 300 (6.16:1 sobre o tint) */
html.dark .bg-cyan-50 { background-color:rgba(6,182,212,.10); }
html.dark .bg-cyan-100 { background-color:rgba(6,182,212,.16); }
html.dark .bg-cyan-200 { background-color:rgba(6,182,212,.26); }
html.dark .border-cyan-100 { border-color:rgba(6,182,212,.25); }
html.dark .border-cyan-200 { border-color:rgba(6,182,212,.35); }
html.dark .border-cyan-300 { border-color:rgba(6,182,212,.50); }
html.dark .text-cyan-500 { color:#22d3ee; }
html.dark .text-cyan-600 { color:#22d3ee; }
html.dark .text-cyan-700 { color:#67e8f9; }
html.dark .text-cyan-800 { color:#67e8f9; }
html.dark .text-cyan-900 { color:#a5f3fc; }
html.dark .hover\:bg-cyan-50:hover { background-color:rgba(6,182,212,.18); }
html.dark .hover\:bg-cyan-100:hover { background-color:rgba(6,182,212,.26); }
html.dark .hover\:bg-cyan-200:hover { background-color:rgba(6,182,212,.34); }
html.dark .divide-cyan-200 > :not([hidden]) ~ :not([hidden]) { border-color:rgba(6,182,212,.35); }
/* sky — texto de link 400 (4.83:1 sobre a superfície), chip 300 (5.49:1 sobre o tint) */
html.dark .bg-sky-50 { background-color:rgba(14,165,233,.10); }
html.dark .bg-sky-100 { background-color:rgba(14,165,233,.16); }
html.dark .bg-sky-200 { background-color:rgba(14,165,233,.26); }
html.dark .border-sky-100 { border-color:rgba(14,165,233,.25); }
html.dark .border-sky-200 { border-color:rgba(14,165,233,.35); }
html.dark .border-sky-300 { border-color:rgba(14,165,233,.50); }
html.dark .text-sky-500 { color:#38bdf8; }
html.dark .text-sky-600 { color:#38bdf8; }
html.dark .text-sky-700 { color:#7dd3fc; }
html.dark .text-sky-800 { color:#7dd3fc; }
html.dark .text-sky-900 { color:#bae6fd; }
html.dark .hover\:bg-sky-50:hover { background-color:rgba(14,165,233,.18); }
html.dark .hover\:bg-sky-100:hover { background-color:rgba(14,165,233,.26); }
html.dark .hover\:bg-sky-200:hover { background-color:rgba(14,165,233,.34); }
html.dark .divide-sky-200 > :not([hidden]) ~ :not([hidden]) { border-color:rgba(14,165,233,.35); }
/* blue — texto de link 300 (5.74:1 sobre a superfície), chip 300 (5.32:1 sobre o tint) */
html.dark .bg-blue-50 { background-color:rgba(59,130,246,.10); }
html.dark .bg-blue-100 { background-color:rgba(59,130,246,.16); }
html.dark .bg-blue-200 { background-color:rgba(59,130,246,.26); }
html.dark .border-blue-100 { border-color:rgba(59,130,246,.25); }
html.dark .border-blue-200 { border-color:rgba(59,130,246,.35); }
html.dark .border-blue-300 { border-color:rgba(59,130,246,.50); }
html.dark .text-blue-500 { color:#93c5fd; }
html.dark .text-blue-600 { color:#93c5fd; }
html.dark .text-blue-700 { color:#93c5fd; }
html.dark .text-blue-800 { color:#93c5fd; }
html.dark .text-blue-900 { color:#bfdbfe; }
html.dark .hover\:bg-blue-50:hover { background-color:rgba(59,130,246,.18); }
html.dark .hover\:bg-blue-100:hover { background-color:rgba(59,130,246,.26); }
html.dark .hover\:bg-blue-200:hover { background-color:rgba(59,130,246,.34); }
html.dark .divide-blue-200 > :not([hidden]) ~ :not([hidden]) { border-color:rgba(59,130,246,.35); }
/* indigo — texto de link 300 (5.19:1 sobre a superfície), chip 300 (4.99:1 sobre o tint) */
html.dark .bg-indigo-50 { background-color:rgba(99,102,241,.10); }
html.dark .bg-indigo-100 { background-color:rgba(99,102,241,.16); }
html.dark .bg-indigo-200 { background-color:rgba(99,102,241,.26); }
html.dark .border-indigo-100 { border-color:rgba(99,102,241,.25); }
html.dark .border-indigo-200 { border-color:rgba(99,102,241,.35); }
html.dark .border-indigo-300 { border-color:rgba(99,102,241,.50); }
html.dark .text-indigo-500 { color:#a5b4fc; }
html.dark .text-indigo-600 { color:#a5b4fc; }
html.dark .text-indigo-700 { color:#a5b4fc; }
html.dark .text-indigo-800 { color:#a5b4fc; }
html.dark .text-indigo-900 { color:#c7d2fe; }
html.dark .hover\:bg-indigo-50:hover { background-color:rgba(99,102,241,.18); }
html.dark .hover\:bg-indigo-100:hover { background-color:rgba(99,102,241,.26); }
html.dark .hover\:bg-indigo-200:hover { background-color:rgba(99,102,241,.34); }
html.dark .divide-indigo-200 > :not([hidden]) ~ :not([hidden]) { border-color:rgba(99,102,241,.35); }
/* violet — texto de link 300 (5.61:1 sobre a superfície), chip 300 (5.38:1 sobre o tint) */
html.dark .bg-violet-50 { background-color:rgba(139,92,246,.10); }
html.dark .bg-violet-100 { background-color:rgba(139,92,246,.16); }
html.dark .bg-violet-200 { background-color:rgba(139,92,246,.26); }
html.dark .border-violet-100 { border-color:rgba(139,92,246,.25); }
html.dark .border-violet-200 { border-color:rgba(139,92,246,.35); }
html.dark .border-violet-300 { border-color:rgba(139,92,246,.50); }
html.dark .text-violet-500 { color:#c4b5fd; }
html.dark .text-violet-600 { color:#c4b5fd; }
html.dark .text-violet-700 { color:#c4b5fd; }
html.dark .text-violet-800 { color:#c4b5fd; }
html.dark .text-violet-900 { color:#ddd6fe; }
html.dark .hover\:bg-violet-50:hover { background-color:rgba(139,92,246,.18); }
html.dark .hover\:bg-violet-100:hover { background-color:rgba(139,92,246,.26); }
html.dark .hover\:bg-violet-200:hover { background-color:rgba(139,92,246,.34); }
html.dark .divide-violet-200 > :not([hidden]) ~ :not([hidden]) { border-color:rgba(139,92,246,.35); }
/* purple — texto de link 300 (5.86:1 sobre a superfície), chip 300 (5.60:1 sobre o tint) */
html.dark .bg-purple-50 { background-color:rgba(168,85,247,.10); }
html.dark .bg-purple-100 { background-color:rgba(168,85,247,.16); }
html.dark .bg-purple-200 { background-color:rgba(168,85,247,.26); }
html.dark .border-purple-100 { border-color:rgba(168,85,247,.25); }
html.dark .border-purple-200 { border-color:rgba(168,85,247,.35); }
html.dark .border-purple-300 { border-color:rgba(168,85,247,.50); }
html.dark .text-purple-500 { color:#d8b4fe; }
html.dark .text-purple-600 { color:#d8b4fe; }
html.dark .text-purple-700 { color:#d8b4fe; }
html.dark .text-purple-800 { color:#d8b4fe; }
html.dark .text-purple-900 { color:#e9d5ff; }
html.dark .hover\:bg-purple-50:hover { background-color:rgba(168,85,247,.18); }
html.dark .hover\:bg-purple-100:hover { background-color:rgba(168,85,247,.26); }
html.dark .hover\:bg-purple-200:hover { background-color:rgba(168,85,247,.34); }
html.dark .divide-purple-200 > :not([hidden]) ~ :not([hidden]) { border-color:rgba(168,85,247,.35); }
/* fuchsia — texto de link 300 (5.89:1 sobre a superfície), chip 300 (5.63:1 sobre o tint) */
html.dark .bg-fuchsia-50 { background-color:rgba(217,70,239,.10); }
html.dark .bg-fuchsia-100 { background-color:rgba(217,70,239,.16); }
html.dark .bg-fuchsia-200 { background-color:rgba(217,70,239,.26); }
html.dark .border-fuchsia-100 { border-color:rgba(217,70,239,.25); }
html.dark .border-fuchsia-200 { border-color:rgba(217,70,239,.35); }
html.dark .border-fuchsia-300 { border-color:rgba(217,70,239,.50); }
html.dark .text-fuchsia-500 { color:#f0abfc; }
html.dark .text-fuchsia-600 { color:#f0abfc; }
html.dark .text-fuchsia-700 { color:#f0abfc; }
html.dark .text-fuchsia-800 { color:#f0abfc; }
html.dark .text-fuchsia-900 { color:#f5d0fe; }
html.dark .hover\:bg-fuchsia-50:hover { background-color:rgba(217,70,239,.18); }
html.dark .hover\:bg-fuchsia-100:hover { background-color:rgba(217,70,239,.26); }
html.dark .hover\:bg-fuchsia-200:hover { background-color:rgba(217,70,239,.34); }
html.dark .divide-fuchsia-200 > :not([hidden]) ~ :not([hidden]) { border-color:rgba(217,70,239,.35); }
/* pink — texto de link 300 (5.71:1 sobre a superfície), chip 300 (5.52:1 sobre o tint) */
html.dark .bg-pink-50 { background-color:rgba(236,72,153,.10); }
html.dark .bg-pink-100 { background-color:rgba(236,72,153,.16); }
html.dark .bg-pink-200 { background-color:rgba(236,72,153,.26); }
html.dark .border-pink-100 { border-color:rgba(236,72,153,.25); }
html.dark .border-pink-200 { border-color:rgba(236,72,153,.35); }
html.dark .border-pink-300 { border-color:rgba(236,72,153,.50); }
html.dark .text-pink-500 { color:#f9a8d4; }
html.dark .text-pink-600 { color:#f9a8d4; }
html.dark .text-pink-700 { color:#f9a8d4; }
html.dark .text-pink-800 { color:#f9a8d4; }
html.dark .text-pink-900 { color:#fbcfe8; }
html.dark .hover\:bg-pink-50:hover { background-color:rgba(236,72,153,.18); }
html.dark .hover\:bg-pink-100:hover { background-color:rgba(236,72,153,.26); }
html.dark .hover\:bg-pink-200:hover { background-color:rgba(236,72,153,.34); }
html.dark .divide-pink-200 > :not([hidden]) ~ :not([hidden]) { border-color:rgba(236,72,153,.35); }
/* rose — texto de link 300 (5.48:1 sobre a superfície), chip 300 (5.42:1 sobre o tint) */
html.dark .bg-rose-50 { background-color:rgba(244,63,94,.10); }
html.dark .bg-rose-100 { background-color:rgba(244,63,94,.16); }
html.dark .bg-rose-200 { background-color:rgba(244,63,94,.26); }
html.dark .border-rose-100 { border-color:rgba(244,63,94,.25); }
html.dark .border-rose-200 { border-color:rgba(244,63,94,.35); }
html.dark .border-rose-300 { border-color:rgba(244,63,94,.50); }
html.dark .text-rose-500 { color:#fda4af; }
html.dark .text-rose-600 { color:#fda4af; }
html.dark .text-rose-700 { color:#fda4af; }
html.dark .text-rose-800 { color:#fda4af; }
html.dark .text-rose-900 { color:#fecdd3; }
html.dark .hover\:bg-rose-50:hover { background-color:rgba(244,63,94,.18); }
html.dark .hover\:bg-rose-100:hover { background-color:rgba(244,63,94,.26); }
html.dark .hover\:bg-rose-200:hover { background-color:rgba(244,63,94,.34); }
html.dark .divide-rose-200 > :not([hidden]) ~ :not([hidden]) { border-color:rgba(244,63,94,.35); }
/* primary — texto de link 300 (5.74:1 sobre a superfície), chip 300 (5.32:1 sobre o tint) */
html.dark .bg-primary-50 { background-color:rgba(59,130,246,.10); }
html.dark .bg-primary-100 { background-color:rgba(59,130,246,.16); }
html.dark .bg-primary-200 { background-color:rgba(59,130,246,.26); }
html.dark .border-primary-100 { border-color:rgba(59,130,246,.25); }
html.dark .border-primary-200 { border-color:rgba(59,130,246,.35); }
html.dark .border-primary-300 { border-color:rgba(59,130,246,.50); }
html.dark .text-primary-500 { color:#93c5fd; }
html.dark .text-primary-600 { color:#93c5fd; }
html.dark .text-primary-700 { color:#93c5fd; }
html.dark .text-primary-800 { color:#93c5fd; }
html.dark .text-primary-900 { color:#bfdbfe; }
html.dark .hover\:bg-primary-50:hover { background-color:rgba(59,130,246,.18); }
html.dark .hover\:bg-primary-100:hover { background-color:rgba(59,130,246,.26); }
html.dark .hover\:bg-primary-200:hover { background-color:rgba(59,130,246,.34); }
html.dark .divide-primary-200 > :not([hidden]) ~ :not([hidden]) { border-color:rgba(59,130,246,.35); }

/* NAO remapeados: bg-{cor}-400..900 (botoes solidos, identidade de marca —
   leem perfeitamente sobre escuro) e text-{cor}-100/200/300. */

/* ==========================================================================
   7. SOMBRAS
   shadow-sm e `0 1px 2px rgba(0,0,0,.05)` — literalmente invisivel sobre
   #1e293b. No escuro a elevacao se comunica por um anel de 1px.
   Sobrescrevemos --tw-shadow (custom property), NUNCA box-shadow: o Tailwind
   compoe box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),
   var(--tw-shadow) — escrever box-shadow apagaria o anel de FOCO.
   ========================================================================== */
html.dark .shadow-sm { --tw-shadow:0 1px 2px 0 rgba(0,0,0,.4),0 0 0 1px rgba(148,163,184,.08); --tw-shadow-colored:0 1px 2px 0 rgba(0,0,0,.4); }
html.dark .shadow { --tw-shadow:0 1px 3px 0 rgba(0,0,0,.5),0 1px 2px -1px rgba(0,0,0,.5),0 0 0 1px rgba(148,163,184,.09); --tw-shadow-colored:0 1px 3px 0 rgba(0,0,0,.5),0 1px 2px -1px rgba(0,0,0,.5); }
html.dark .shadow-md { --tw-shadow:0 4px 6px -1px rgba(0,0,0,.55),0 2px 4px -2px rgba(0,0,0,.5),0 0 0 1px rgba(148,163,184,.10); --tw-shadow-colored:0 4px 6px -1px rgba(0,0,0,.55),0 2px 4px -2px rgba(0,0,0,.5); }
html.dark .shadow-lg { --tw-shadow:0 10px 15px -3px rgba(0,0,0,.6),0 4px 6px -4px rgba(0,0,0,.5),0 0 0 1px rgba(148,163,184,.11); --tw-shadow-colored:0 10px 15px -3px rgba(0,0,0,.6),0 4px 6px -4px rgba(0,0,0,.5); }
html.dark .shadow-xl { --tw-shadow:0 20px 25px -5px rgba(0,0,0,.65),0 8px 10px -6px rgba(0,0,0,.5),0 0 0 1px rgba(148,163,184,.12); --tw-shadow-colored:0 20px 25px -5px rgba(0,0,0,.65),0 8px 10px -6px rgba(0,0,0,.5); }
html.dark .shadow-2xl { --tw-shadow:0 25px 50px -12px rgba(0,0,0,.75),0 0 0 1px rgba(148,163,184,.14); --tw-shadow-colored:0 25px 50px -12px rgba(0,0,0,.75); }
html.dark .shadow-inner { --tw-shadow:inset 0 2px 4px 0 rgba(0,0,0,.45); }
html.dark .hover\:shadow-md:hover { --tw-shadow:0 4px 6px -1px rgba(0,0,0,.55),0 2px 4px -2px rgba(0,0,0,.5),0 0 0 1px rgba(148,163,184,.14); }
html.dark .hover\:shadow-lg:hover { --tw-shadow:0 10px 15px -3px rgba(0,0,0,.6),0 4px 6px -4px rgba(0,0,0,.5),0 0 0 1px rgba(148,163,184,.16); }
html.dark .hover\:shadow-xl:hover { --tw-shadow:0 20px 25px -5px rgba(0,0,0,.65),0 8px 10px -6px rgba(0,0,0,.5),0 0 0 1px rgba(148,163,184,.18); }

/* ==========================================================================
   8. FORMULARIOS
   color-scheme:dark (secao 1) ja resolve date/time picker nativo,
   spinners e a scrollbar padrao. Aqui vai o resto.
   ========================================================================== */
html.dark input, html.dark select, html.dark textarea {
  background-color:#0f172a; color:#cbd5e1; border-color:#475569;
}
html.dark input[type=checkbox], html.dark input[type=radio],
html.dark input[type=range], html.dark progress { accent-color:#3b82f6; background-color:transparent; }
html.dark input[type=file] { background-color:transparent; }
html.dark option, html.dark optgroup { background-color:#1e293b; color:#cbd5e1; }
html.dark ::placeholder { color:#7f8ea6; opacity:1; }
html.dark .placeholder-gray-400::placeholder, html.dark .placeholder-gray-500::placeholder { color:#7f8ea6; }
html.dark input:disabled, html.dark select:disabled, html.dark textarea:disabled,
html.dark input[readonly], html.dark textarea[readonly] {
  background-color:#1a2334; color:#64748b; -webkit-text-fill-color:#64748b;
}
html.dark input::-webkit-calendar-picker-indicator { filter:invert(1) opacity(.7); }
html.dark input:-webkit-autofill, html.dark input:-webkit-autofill:hover,
html.dark input:-webkit-autofill:focus, html.dark textarea:-webkit-autofill, html.dark select:-webkit-autofill {
  -webkit-text-fill-color:#cbd5e1; -webkit-box-shadow:0 0 0 1000px #0f172a inset; caret-color:#cbd5e1;
}
html.dark button:disabled, html.dark .disabled\:opacity-50:disabled { opacity:.45; }

/* ==========================================================================
   9. TABELAS E CROMO
   ========================================================================== */
html.dark table { border-color:rgba(148,163,184,.22); }
html.dark thead th { color:#9fb0c4; }
html.dark tbody tr { border-color:rgba(148,163,184,.22); }
html.dark tbody tr:nth-child(even) { background-color:rgba(148,163,184,.03); }
html.dark hr { border-color:rgba(148,163,184,.22); }
html.dark ::selection { background:#2563eb; color:#fff; }
html.dark ::-webkit-scrollbar-track { background:#0f172a; }
html.dark ::-webkit-scrollbar-thumb { background:#475569; border-radius:4px; }
html.dark ::-webkit-scrollbar-thumb:hover { background:#64748b; }
html.dark code, html.dark pre, html.dark kbd { background-color:#0f172a; color:#cbd5e1; }

/* A scrollbar da sidebar tem tratamento proprio na secao 10b: ela escurece
   junto com a sidebar e precisa de azuis mais escuros que estes cinzas. */

/* ==========================================================================
   10. SWEETALERT2
   86 chamadas Swal.fire no app, sem wrapper. Cobertura 100% por CSS
   porque o markup do SweetAlert e inteiramente baseado em classes .swal2-*.
   NUNCA passar customClass que SUBSTITUA classes swal2-*: js/auto-update.js
   le .swal2-container e body.swal2-shown para suprimir o reload de 3s.
   Os confirmButtonColor inline do financial.php (#16a34a, #dc2626, #2563eb,
   #ea580c, #8b5cf6, #6366f1) e os footer com #991b1b sao matizes saturados
   com texto branco — legiveis sobre popup escuro, ficam como estao.
   ========================================================================== */
html.dark .swal2-container { background-color:rgba(0,0,0,.6); }
html.dark .swal2-popup { background:#1e293b; color:#cbd5e1; }
html.dark .swal2-title, html.dark .swal2-html-container { color:#f1f5f9; }
html.dark .swal2-html-container b, html.dark .swal2-html-container strong { color:#f1f5f9; }
html.dark .swal2-input, html.dark .swal2-textarea, html.dark .swal2-select,
html.dark .swal2-file, html.dark .swal2-input-label {
  background:#0f172a; color:#cbd5e1; border-color:#475569; box-shadow:none;
}
html.dark .swal2-input::placeholder, html.dark .swal2-textarea::placeholder { color:#7f8ea6; }
html.dark .swal2-close { color:#9fb0c4; }
html.dark .swal2-close:hover { color:#f1f5f9; }
html.dark .swal2-footer { border-top-color:rgba(148,163,184,.22); color:#cbd5e1; }
html.dark .swal2-styled.swal2-cancel { background-color:#475569; }
html.dark .swal2-validation-message { background:#3f1d1d; color:#fca5a5; }
html.dark .swal2-icon.swal2-question, html.dark .swal2-icon.swal2-info { color:#93c5fd; border-color:#93c5fd; }
html.dark .swal2-timer-progress-bar { background:rgba(148,163,184,.4); }
html.dark .swal2-loader { border-color:#3b82f6 transparent #3b82f6 transparent; }

/* ==========================================================================
   10b. BARRA LATERAL
   No tema claro a sidebar e bg-primary-800 (#1e40af). No escuro ela vira
   NAVY (#172554) — mesma familia de azul, bem mais escura, ainda legivelmente
   AZUL ao lado do #0f172a cinza-ardosia do conteudo.
   Escopado em #sidebar de proposito: bg-primary-800 so existe nela
   (includes/header.php:329), e remapear a CLASSE afetaria qualquer uso futuro.
   Esta e a unica excecao a regra "nao mexer em bg-{cor}-400..900".
   O item ATIVO (bg-primary-600 = #2563eb) fica como esta: destaca bem sobre o
   navy e e a cor de selecao da marca.
   ========================================================================== */
html.dark #sidebar { background-color:#172554; }
html.dark #sidebar .hover\:bg-primary-700:hover { background-color:#1e3a8a; }
html.dark #sidebar .border-primary-700 { border-color:#1e3a8a; }
html.dark #sidebar .bg-white\/10 { background-color:rgba(255,255,255,.08); }

/* Scrollbar da sidebar. O includes/header.php fixa #1e40af/#3b82f6 em
   .sidebar-scroll (o <nav> interno) — azuis do tema claro, que sobre o navy
   ficariam claros demais. Especificidade (0,2,1) vence a regra inline (0,1,0),
   entao a ordem dos <style> na pagina nao importa. */
html.dark #sidebar::-webkit-scrollbar-track,
html.dark .sidebar-scroll::-webkit-scrollbar-track { background:#172554; }
html.dark #sidebar::-webkit-scrollbar-thumb,
html.dark .sidebar-scroll::-webkit-scrollbar-thumb { background:#3b5bb5; }
html.dark #sidebar::-webkit-scrollbar-thumb:hover,
html.dark .sidebar-scroll::-webkit-scrollbar-thumb:hover { background:#4f6fd0; }
html.dark #sidebar, html.dark .sidebar-scroll { scrollbar-color:#3b5bb5 #172554; }

/* ==========================================================================
   11. AJUSTES ESPECIFICOS DO APP
   ========================================================================== */
/* includes/header.php: a setinha do card de instalacao PWA no iOS e um
   triangulo CSS `border-top:12px solid white` — apontaria branco para um
   cartao que virou #1e293b. */
html.dark .pwa-ios-arrow { border-top-color:#1e293b; }

/* comercial.php: portado do bloco .dark-mode que este overlay aposentou. */
html.dark .dark-roi-info { background:#1e3a5f; border-color:#2563eb; }
html.dark .text-brand-navy { color:#67e8f9; }
html.dark .bg-brand-light, html.dark .bg-brand-cream { background-color:#243044; }

/* Skeletons/placeholders de carregamento. */
html.dark .animate-pulse .bg-gray-200, html.dark .animate-pulse .bg-gray-300 { background-color:#334155; }

/* ==========================================================================
   12. OPT-OUT: [data-pf-theme="light"]
   Subarvores que DEVEM continuar claras mesmo no tema escuro, porque
   sao maquetes de superficies do hospede (que sao sempre claras):
     site-editor.php    -> "Preview: Como o cliente vera"
     portal-settings.php -> "Preview em tempo real" (mockup de celular)
   Escurecer essas maquetes seria mentir para o usuario sobre o que o
   cliente dele vai ver. Especificidade (0,3,1) > (0,2,1), vence sempre.
   ========================================================================== */
html.dark [data-pf-theme="light"] { color-scheme:light; color:#1f2937; }
html.dark [data-pf-theme="light"] .bg-white { background-color:#ffffff; }
html.dark [data-pf-theme="light"] .bg-gray-50 { background-color:#f9fafb; }
html.dark [data-pf-theme="light"] .bg-gray-100 { background-color:#f3f4f6; }
html.dark [data-pf-theme="light"] .bg-gray-200 { background-color:#e5e7eb; }
html.dark [data-pf-theme="light"] .bg-gray-300 { background-color:#d1d5db; }
html.dark [data-pf-theme="light"] .bg-slate-100 { background-color:#f3f4f6; }
html.dark [data-pf-theme="light"] .text-gray-900 { color:#111827; }
html.dark [data-pf-theme="light"] .text-gray-800 { color:#1f2937; }
html.dark [data-pf-theme="light"] .text-gray-700 { color:#374151; }
html.dark [data-pf-theme="light"] .text-gray-600 { color:#4b5563; }
html.dark [data-pf-theme="light"] .text-gray-500 { color:#6b7280; }
html.dark [data-pf-theme="light"] .text-gray-400 { color:#9ca3af; }
html.dark [data-pf-theme="light"] .text-black { color:#000000; }
html.dark [data-pf-theme="light"] .border-gray-100 { border-color:#f3f4f6; }
html.dark [data-pf-theme="light"] .border-gray-200 { border-color:#e5e7eb; }
html.dark [data-pf-theme="light"] .border-gray-300 { border-color:#d1d5db; }
html.dark [data-pf-theme="light"] .divide-gray-200 > :not([hidden]) ~ :not([hidden]) { border-color:#e5e7eb; }
html.dark [data-pf-theme="light"] input, html.dark [data-pf-theme="light"] select, html.dark [data-pf-theme="light"] textarea { background-color:#ffffff; color:#111827; border-color:#d1d5db; }
html.dark [data-pf-theme="light"] tbody tr:nth-child(even) { background-color:transparent; }
html.dark [data-pf-theme="light"] .bg-red-50{background-color:#fef2f2} html.dark [data-pf-theme="light"] .bg-red-100{background-color:#fee2e2} html.dark [data-pf-theme="light"] .bg-red-200{background-color:#fecaca}
html.dark [data-pf-theme="light"] .text-red-600{color:#dc2626} html.dark [data-pf-theme="light"] .text-red-700{color:#b91c1c} html.dark [data-pf-theme="light"] .text-red-800{color:#991b1b} html.dark [data-pf-theme="light"] .text-red-900{color:#7f1d1d} html.dark [data-pf-theme="light"] .text-red-500{color:#ef4444}
html.dark [data-pf-theme="light"] .border-red-200{border-color:#fecaca} html.dark [data-pf-theme="light"] .border-red-300{border-color:#fca5a5}
html.dark [data-pf-theme="light"] .bg-orange-50{background-color:#fff7ed} html.dark [data-pf-theme="light"] .bg-orange-100{background-color:#ffedd5} html.dark [data-pf-theme="light"] .bg-orange-200{background-color:#fed7aa}
html.dark [data-pf-theme="light"] .text-orange-600{color:#ea580c} html.dark [data-pf-theme="light"] .text-orange-700{color:#c2410c} html.dark [data-pf-theme="light"] .text-orange-800{color:#9a3412} html.dark [data-pf-theme="light"] .text-orange-900{color:#7c2d12} html.dark [data-pf-theme="light"] .text-orange-500{color:#f97316}
html.dark [data-pf-theme="light"] .border-orange-200{border-color:#fed7aa} html.dark [data-pf-theme="light"] .border-orange-300{border-color:#fdba74}
html.dark [data-pf-theme="light"] .bg-amber-50{background-color:#fffbeb} html.dark [data-pf-theme="light"] .bg-amber-100{background-color:#fef3c7} html.dark [data-pf-theme="light"] .bg-amber-200{background-color:#fde68a}
html.dark [data-pf-theme="light"] .text-amber-600{color:#d97706} html.dark [data-pf-theme="light"] .text-amber-700{color:#b45309} html.dark [data-pf-theme="light"] .text-amber-800{color:#92400e} html.dark [data-pf-theme="light"] .text-amber-900{color:#78350f} html.dark [data-pf-theme="light"] .text-amber-500{color:#f59e0b}
html.dark [data-pf-theme="light"] .border-amber-200{border-color:#fde68a} html.dark [data-pf-theme="light"] .border-amber-300{border-color:#fcd34d}
html.dark [data-pf-theme="light"] .bg-yellow-50{background-color:#fefce8} html.dark [data-pf-theme="light"] .bg-yellow-100{background-color:#fef9c3} html.dark [data-pf-theme="light"] .bg-yellow-200{background-color:#fef08a}
html.dark [data-pf-theme="light"] .text-yellow-600{color:#ca8a04} html.dark [data-pf-theme="light"] .text-yellow-700{color:#a16207} html.dark [data-pf-theme="light"] .text-yellow-800{color:#854d0e} html.dark [data-pf-theme="light"] .text-yellow-900{color:#713f12} html.dark [data-pf-theme="light"] .text-yellow-500{color:#eab308}
html.dark [data-pf-theme="light"] .border-yellow-200{border-color:#fef08a} html.dark [data-pf-theme="light"] .border-yellow-300{border-color:#fde047}
html.dark [data-pf-theme="light"] .bg-lime-50{background-color:#f7fee7} html.dark [data-pf-theme="light"] .bg-lime-100{background-color:#ecfccb} html.dark [data-pf-theme="light"] .bg-lime-200{background-color:#d9f99d}
html.dark [data-pf-theme="light"] .text-lime-600{color:#65a30d} html.dark [data-pf-theme="light"] .text-lime-700{color:#4d7c0f} html.dark [data-pf-theme="light"] .text-lime-800{color:#3f6212} html.dark [data-pf-theme="light"] .text-lime-900{color:#365314} html.dark [data-pf-theme="light"] .text-lime-500{color:#84cc16}
html.dark [data-pf-theme="light"] .border-lime-200{border-color:#d9f99d} html.dark [data-pf-theme="light"] .border-lime-300{border-color:#bef264}
html.dark [data-pf-theme="light"] .bg-green-50{background-color:#f0fdf4} html.dark [data-pf-theme="light"] .bg-green-100{background-color:#dcfce7} html.dark [data-pf-theme="light"] .bg-green-200{background-color:#bbf7d0}
html.dark [data-pf-theme="light"] .text-green-600{color:#16a34a} html.dark [data-pf-theme="light"] .text-green-700{color:#15803d} html.dark [data-pf-theme="light"] .text-green-800{color:#166534} html.dark [data-pf-theme="light"] .text-green-900{color:#14532d} html.dark [data-pf-theme="light"] .text-green-500{color:#22c55e}
html.dark [data-pf-theme="light"] .border-green-200{border-color:#bbf7d0} html.dark [data-pf-theme="light"] .border-green-300{border-color:#86efac}
html.dark [data-pf-theme="light"] .bg-emerald-50{background-color:#ecfdf5} html.dark [data-pf-theme="light"] .bg-emerald-100{background-color:#d1fae5} html.dark [data-pf-theme="light"] .bg-emerald-200{background-color:#a7f3d0}
html.dark [data-pf-theme="light"] .text-emerald-600{color:#059669} html.dark [data-pf-theme="light"] .text-emerald-700{color:#047857} html.dark [data-pf-theme="light"] .text-emerald-800{color:#065f46} html.dark [data-pf-theme="light"] .text-emerald-900{color:#064e3b} html.dark [data-pf-theme="light"] .text-emerald-500{color:#10b981}
html.dark [data-pf-theme="light"] .border-emerald-200{border-color:#a7f3d0} html.dark [data-pf-theme="light"] .border-emerald-300{border-color:#6ee7b7}
html.dark [data-pf-theme="light"] .bg-teal-50{background-color:#f0fdfa} html.dark [data-pf-theme="light"] .bg-teal-100{background-color:#ccfbf1} html.dark [data-pf-theme="light"] .bg-teal-200{background-color:#99f6e4}
html.dark [data-pf-theme="light"] .text-teal-600{color:#0d9488} html.dark [data-pf-theme="light"] .text-teal-700{color:#0f766e} html.dark [data-pf-theme="light"] .text-teal-800{color:#115e59} html.dark [data-pf-theme="light"] .text-teal-900{color:#134e4a} html.dark [data-pf-theme="light"] .text-teal-500{color:#14b8a6}
html.dark [data-pf-theme="light"] .border-teal-200{border-color:#99f6e4} html.dark [data-pf-theme="light"] .border-teal-300{border-color:#5eead4}
html.dark [data-pf-theme="light"] .bg-cyan-50{background-color:#ecfeff} html.dark [data-pf-theme="light"] .bg-cyan-100{background-color:#cffafe} html.dark [data-pf-theme="light"] .bg-cyan-200{background-color:#a5f3fc}
html.dark [data-pf-theme="light"] .text-cyan-600{color:#0891b2} html.dark [data-pf-theme="light"] .text-cyan-700{color:#0e7490} html.dark [data-pf-theme="light"] .text-cyan-800{color:#155e75} html.dark [data-pf-theme="light"] .text-cyan-900{color:#164e63} html.dark [data-pf-theme="light"] .text-cyan-500{color:#06b6d4}
html.dark [data-pf-theme="light"] .border-cyan-200{border-color:#a5f3fc} html.dark [data-pf-theme="light"] .border-cyan-300{border-color:#67e8f9}
html.dark [data-pf-theme="light"] .bg-sky-50{background-color:#f0f9ff} html.dark [data-pf-theme="light"] .bg-sky-100{background-color:#e0f2fe} html.dark [data-pf-theme="light"] .bg-sky-200{background-color:#bae6fd}
html.dark [data-pf-theme="light"] .text-sky-600{color:#0284c7} html.dark [data-pf-theme="light"] .text-sky-700{color:#0369a1} html.dark [data-pf-theme="light"] .text-sky-800{color:#075985} html.dark [data-pf-theme="light"] .text-sky-900{color:#0c4a6e} html.dark [data-pf-theme="light"] .text-sky-500{color:#0ea5e9}
html.dark [data-pf-theme="light"] .border-sky-200{border-color:#bae6fd} html.dark [data-pf-theme="light"] .border-sky-300{border-color:#7dd3fc}
html.dark [data-pf-theme="light"] .bg-blue-50{background-color:#eff6ff} html.dark [data-pf-theme="light"] .bg-blue-100{background-color:#dbeafe} html.dark [data-pf-theme="light"] .bg-blue-200{background-color:#bfdbfe}
html.dark [data-pf-theme="light"] .text-blue-600{color:#2563eb} html.dark [data-pf-theme="light"] .text-blue-700{color:#1d4ed8} html.dark [data-pf-theme="light"] .text-blue-800{color:#1e40af} html.dark [data-pf-theme="light"] .text-blue-900{color:#1e3a8a} html.dark [data-pf-theme="light"] .text-blue-500{color:#3b82f6}
html.dark [data-pf-theme="light"] .border-blue-200{border-color:#bfdbfe} html.dark [data-pf-theme="light"] .border-blue-300{border-color:#93c5fd}
html.dark [data-pf-theme="light"] .bg-indigo-50{background-color:#eef2ff} html.dark [data-pf-theme="light"] .bg-indigo-100{background-color:#e0e7ff} html.dark [data-pf-theme="light"] .bg-indigo-200{background-color:#c7d2fe}
html.dark [data-pf-theme="light"] .text-indigo-600{color:#4f46e5} html.dark [data-pf-theme="light"] .text-indigo-700{color:#4338ca} html.dark [data-pf-theme="light"] .text-indigo-800{color:#3730a3} html.dark [data-pf-theme="light"] .text-indigo-900{color:#312e81} html.dark [data-pf-theme="light"] .text-indigo-500{color:#6366f1}
html.dark [data-pf-theme="light"] .border-indigo-200{border-color:#c7d2fe} html.dark [data-pf-theme="light"] .border-indigo-300{border-color:#a5b4fc}
html.dark [data-pf-theme="light"] .bg-violet-50{background-color:#f5f3ff} html.dark [data-pf-theme="light"] .bg-violet-100{background-color:#ede9fe} html.dark [data-pf-theme="light"] .bg-violet-200{background-color:#ddd6fe}
html.dark [data-pf-theme="light"] .text-violet-600{color:#7c3aed} html.dark [data-pf-theme="light"] .text-violet-700{color:#6d28d9} html.dark [data-pf-theme="light"] .text-violet-800{color:#5b21b6} html.dark [data-pf-theme="light"] .text-violet-900{color:#4c1d95} html.dark [data-pf-theme="light"] .text-violet-500{color:#8b5cf6}
html.dark [data-pf-theme="light"] .border-violet-200{border-color:#ddd6fe} html.dark [data-pf-theme="light"] .border-violet-300{border-color:#c4b5fd}
html.dark [data-pf-theme="light"] .bg-purple-50{background-color:#faf5ff} html.dark [data-pf-theme="light"] .bg-purple-100{background-color:#f3e8ff} html.dark [data-pf-theme="light"] .bg-purple-200{background-color:#e9d5ff}
html.dark [data-pf-theme="light"] .text-purple-600{color:#9333ea} html.dark [data-pf-theme="light"] .text-purple-700{color:#7e22ce} html.dark [data-pf-theme="light"] .text-purple-800{color:#6b21a8} html.dark [data-pf-theme="light"] .text-purple-900{color:#581c87} html.dark [data-pf-theme="light"] .text-purple-500{color:#a855f7}
html.dark [data-pf-theme="light"] .border-purple-200{border-color:#e9d5ff} html.dark [data-pf-theme="light"] .border-purple-300{border-color:#d8b4fe}
html.dark [data-pf-theme="light"] .bg-fuchsia-50{background-color:#fdf4ff} html.dark [data-pf-theme="light"] .bg-fuchsia-100{background-color:#fae8ff} html.dark [data-pf-theme="light"] .bg-fuchsia-200{background-color:#f5d0fe}
html.dark [data-pf-theme="light"] .text-fuchsia-600{color:#c026d3} html.dark [data-pf-theme="light"] .text-fuchsia-700{color:#a21caf} html.dark [data-pf-theme="light"] .text-fuchsia-800{color:#86198f} html.dark [data-pf-theme="light"] .text-fuchsia-900{color:#701a75} html.dark [data-pf-theme="light"] .text-fuchsia-500{color:#d946ef}
html.dark [data-pf-theme="light"] .border-fuchsia-200{border-color:#f5d0fe} html.dark [data-pf-theme="light"] .border-fuchsia-300{border-color:#f0abfc}
html.dark [data-pf-theme="light"] .bg-pink-50{background-color:#fdf2f8} html.dark [data-pf-theme="light"] .bg-pink-100{background-color:#fce7f3} html.dark [data-pf-theme="light"] .bg-pink-200{background-color:#fbcfe8}
html.dark [data-pf-theme="light"] .text-pink-600{color:#db2777} html.dark [data-pf-theme="light"] .text-pink-700{color:#be185d} html.dark [data-pf-theme="light"] .text-pink-800{color:#9d174d} html.dark [data-pf-theme="light"] .text-pink-900{color:#831843} html.dark [data-pf-theme="light"] .text-pink-500{color:#ec4899}
html.dark [data-pf-theme="light"] .border-pink-200{border-color:#fbcfe8} html.dark [data-pf-theme="light"] .border-pink-300{border-color:#f9a8d4}
html.dark [data-pf-theme="light"] .bg-rose-50{background-color:#fff1f2} html.dark [data-pf-theme="light"] .bg-rose-100{background-color:#ffe4e6} html.dark [data-pf-theme="light"] .bg-rose-200{background-color:#fecdd3}
html.dark [data-pf-theme="light"] .text-rose-600{color:#e11d48} html.dark [data-pf-theme="light"] .text-rose-700{color:#be123c} html.dark [data-pf-theme="light"] .text-rose-800{color:#9f1239} html.dark [data-pf-theme="light"] .text-rose-900{color:#881337} html.dark [data-pf-theme="light"] .text-rose-500{color:#f43f5e}
html.dark [data-pf-theme="light"] .border-rose-200{border-color:#fecdd3} html.dark [data-pf-theme="light"] .border-rose-300{border-color:#fda4af}
html.dark [data-pf-theme="light"] .bg-primary-50{background-color:#eff6ff} html.dark [data-pf-theme="light"] .bg-primary-100{background-color:#dbeafe} html.dark [data-pf-theme="light"] .bg-primary-200{background-color:#bfdbfe}
html.dark [data-pf-theme="light"] .text-primary-600{color:#2563eb} html.dark [data-pf-theme="light"] .text-primary-700{color:#1d4ed8} html.dark [data-pf-theme="light"] .text-primary-800{color:#1e40af} html.dark [data-pf-theme="light"] .text-primary-900{color:#1e3a8a} html.dark [data-pf-theme="light"] .text-primary-500{color:#3b82f6}
html.dark [data-pf-theme="light"] .border-primary-200{border-color:#bfdbfe} html.dark [data-pf-theme="light"] .border-primary-300{border-color:#93c5fd}
html.dark [data-pf-theme="light"] .shadow-sm { --tw-shadow:0 1px 2px 0 rgba(0,0,0,.05); }
html.dark [data-pf-theme="light"] .shadow { --tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1); }
html.dark [data-pf-theme="light"] .shadow-md { --tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1); }
html.dark [data-pf-theme="light"] .shadow-lg { --tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1); }
html.dark [data-pf-theme="light"] .shadow-xl { --tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1); }

/* ==========================================================================
   13. CAMADA DE ESCAPE: utilitarios dark: escritos a mao
   Este build do Tailwind nao tem nenhuma variante dark: e nao ha build step
   para gerar. Estas regras dao a sintaxe idiomatica para o codigo FUTURO
   sobrescrever pontualmente o remapeamento automatico.
   Vem DEPOIS do remapeamento de proposito: mesma especificidade (0,2,1),
   entao quem vem por ultimo ganha — a intencao explicita vence.
   Uso:  class="bg-white dark:bg-slate-900"
   ========================================================================== */
html.dark .dark\:bg-slate-950 { background-color:#020617; }
html.dark .dark\:bg-slate-900 { background-color:#0f172a; }
html.dark .dark\:bg-slate-800 { background-color:#1e293b; }
html.dark .dark\:bg-slate-700 { background-color:#334155; }
html.dark .dark\:bg-slate-600 { background-color:#475569; }
html.dark .dark\:bg-gray-900 { background-color:#111827; }
html.dark .dark\:bg-gray-800 { background-color:#1f2937; }
html.dark .dark\:bg-gray-700 { background-color:#374151; }
html.dark .dark\:bg-transparent { background-color:transparent; }
html.dark .dark\:bg-black\/20 { background-color:rgba(0,0,0,.2); }
html.dark .dark\:bg-black\/40 { background-color:rgba(0,0,0,.4); }
html.dark .dark\:bg-white\/5 { background-color:rgba(255,255,255,.05); }
html.dark .dark\:bg-white\/10 { background-color:rgba(255,255,255,.1); }
html.dark .dark\:bg-none { background-image:none; }
html.dark .dark\:text-white { color:#fff; }
html.dark .dark\:text-slate-100 { color:#f1f5f9; }
html.dark .dark\:text-slate-200 { color:#e2e8f0; }
html.dark .dark\:text-slate-300 { color:#cbd5e1; }
html.dark .dark\:text-slate-400 { color:#94a3b8; }
html.dark .dark\:text-slate-500 { color:#64748b; }
html.dark .dark\:text-gray-100 { color:#f3f4f6; }
html.dark .dark\:text-gray-200 { color:#e5e7eb; }
html.dark .dark\:text-gray-300 { color:#d1d5db; }
html.dark .dark\:text-gray-400 { color:#9ca3af; }
html.dark .dark\:text-green-300 { color:#86efac; }
html.dark .dark\:text-green-400 { color:#4ade80; }
html.dark .dark\:text-red-300 { color:#fca5a5; }
html.dark .dark\:text-red-400 { color:#f87171; }
html.dark .dark\:text-blue-300 { color:#93c5fd; }
html.dark .dark\:text-blue-400 { color:#60a5fa; }
html.dark .dark\:text-amber-300 { color:#fcd34d; }
html.dark .dark\:text-purple-300 { color:#d8b4fe; }
html.dark .dark\:border-slate-600 { border-color:#475569; }
html.dark .dark\:border-slate-700 { border-color:#334155; }
html.dark .dark\:border-slate-800 { border-color:#1e293b; }
html.dark .dark\:border-gray-600 { border-color:#4b5563; }
html.dark .dark\:border-gray-700 { border-color:#374151; }
html.dark .dark\:border-gray-800 { border-color:#1f2937; }
html.dark .dark\:border-transparent { border-color:transparent; }
html.dark .dark\:border-white\/10 { border-color:rgba(255,255,255,.1); }
html.dark .dark\:border-red-500\/40 { border-color:rgba(239,68,68,.4); }
html.dark .dark\:shadow-none { --tw-shadow:0 0 #0000; }
html.dark .dark\:shadow-black\/40 { --tw-shadow-color:rgba(0,0,0,.4); }
html.dark .dark\:opacity-0 { opacity:0; }
html.dark .dark\:opacity-50 { opacity:.5; }
html.dark .dark\:opacity-75 { opacity:.75; }
html.dark .dark\:invert { filter:invert(1); }
html.dark .dark\:brightness-90 { filter:brightness(.9); }
html.dark .dark\:from-slate-900 { --tw-gradient-from:#0f172a; }
html.dark .dark\:via-slate-800 { --tw-gradient-via:#1e293b; }
html.dark .dark\:to-slate-800 { --tw-gradient-to:#1e293b; }
html.dark .dark\:ring-slate-700 { --tw-ring-color:#334155; }
html.dark .dark\:ring-white\/10 { --tw-ring-color:rgba(255,255,255,.1); }
html.dark .dark\:ring-offset-slate-900 { --tw-ring-offset-color:#0f172a; }
html.dark .dark\:placeholder-slate-400::placeholder { color:#94a3b8; }
html.dark .dark\:placeholder-slate-500::placeholder { color:#64748b; }
html.dark .dark\:hover\:bg-slate-700:hover { background-color:#334155; }
html.dark .dark\:hover\:bg-slate-800:hover { background-color:#1e293b; }
html.dark .dark\:hover\:bg-gray-700:hover { background-color:#374151; }
html.dark .dark\:hover\:bg-gray-800:hover { background-color:#1f2937; }
html.dark .dark\:hover\:bg-white\/10:hover { background-color:rgba(255,255,255,.1); }
html.dark .dark\:hover\:text-white:hover { color:#fff; }
html.dark .dark\:hover\:text-slate-200:hover { color:#e2e8f0; }
html.dark .dark\:hover\:border-slate-500:hover { border-color:#64748b; }
html.dark .dark\:focus\:ring-primary-400:focus { --tw-ring-color:#60a5fa; }
html.dark .dark\:focus\:border-primary-400:focus { border-color:#60a5fa; }
html.dark .dark\:focus\:ring-offset-slate-900:focus { --tw-ring-offset-color:#0f172a; }
html.dark .dark\:divide-slate-700 > :not([hidden]) ~ :not([hidden]) { border-color:#334155; }
html.dark .dark\:divide-gray-700 > :not([hidden]) ~ :not([hidden]) { border-color:#374151; }

/* ==========================================================================
   14. IMPRESSAO
   Imprimir a tela escura nunca e o que o usuario quer: gasta toner e o
   reports.php ja tem @media print chaveado em .bg-white. Reset total.
   Unico lugar do arquivo onde !important e legitimo — precisa vencer
   ate estilos inline.
   NOTA: js/source-protect.js injeta @media print{body{display:none}} para
   cargos NAO privilegiados. Bug pre-existente, fora do escopo deste overlay.
   ========================================================================== */
@media print {
  html.dark { color-scheme:light !important; }
  html.dark, html.dark body, html.dark body[class] { background:#fff !important; color:#000 !important; }
  html.dark * { background-color:transparent !important; color:#000 !important;
    border-color:#ccc !important; box-shadow:none !important; --tw-shadow:0 0 #0000 !important; }
  html.dark .bg-white, html.dark .bg-gray-50, html.dark .bg-gray-100 { background-color:#fff !important; }
}


/* Degradês claros (from-*-50/100, to-*-50/100): o dark-mode.css escurecia bg-green-50 mas não os
   degradês, e a caixa 'Teste Grátis por 7 Dias' do cadastro ficava verde-claro sobre verde-claro
   (achado do dono, 26/09/2026). Aqui cada tom vira a mesma cor translúcida, como os bg-*-50 acima. */
html.dark .from-green-50{--tw-gradient-from:rgba(34,197,94,.10) 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)}
html.dark .via-green-50{--tw-gradient-to:rgba(34,197,94,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(34,197,94,.10) var(--tw-gradient-via-position),var(--tw-gradient-to)}
html.dark .to-green-50{--tw-gradient-to:rgba(34,197,94,.10) var(--tw-gradient-to-position)}
html.dark .from-green-100{--tw-gradient-from:rgba(34,197,94,.16) 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)}
html.dark .via-green-100{--tw-gradient-to:rgba(34,197,94,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(34,197,94,.16) var(--tw-gradient-via-position),var(--tw-gradient-to)}
html.dark .to-green-100{--tw-gradient-to:rgba(34,197,94,.16) var(--tw-gradient-to-position)}
html.dark .from-emerald-50{--tw-gradient-from:rgba(16,185,129,.10) 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)}
html.dark .via-emerald-50{--tw-gradient-to:rgba(16,185,129,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(16,185,129,.10) var(--tw-gradient-via-position),var(--tw-gradient-to)}
html.dark .to-emerald-50{--tw-gradient-to:rgba(16,185,129,.10) var(--tw-gradient-to-position)}
html.dark .from-emerald-100{--tw-gradient-from:rgba(16,185,129,.16) 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)}
html.dark .via-emerald-100{--tw-gradient-to:rgba(16,185,129,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(16,185,129,.16) var(--tw-gradient-via-position),var(--tw-gradient-to)}
html.dark .to-emerald-100{--tw-gradient-to:rgba(16,185,129,.16) var(--tw-gradient-to-position)}
html.dark .from-blue-50{--tw-gradient-from:rgba(59,130,246,.10) 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)}
html.dark .via-blue-50{--tw-gradient-to:rgba(59,130,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(59,130,246,.10) var(--tw-gradient-via-position),var(--tw-gradient-to)}
html.dark .to-blue-50{--tw-gradient-to:rgba(59,130,246,.10) var(--tw-gradient-to-position)}
html.dark .from-blue-100{--tw-gradient-from:rgba(59,130,246,.16) 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)}
html.dark .via-blue-100{--tw-gradient-to:rgba(59,130,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(59,130,246,.16) var(--tw-gradient-via-position),var(--tw-gradient-to)}
html.dark .to-blue-100{--tw-gradient-to:rgba(59,130,246,.16) var(--tw-gradient-to-position)}
html.dark .from-purple-50{--tw-gradient-from:rgba(168,85,247,.10) 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)}
html.dark .via-purple-50{--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(168,85,247,.10) var(--tw-gradient-via-position),var(--tw-gradient-to)}
html.dark .to-purple-50{--tw-gradient-to:rgba(168,85,247,.10) var(--tw-gradient-to-position)}
html.dark .from-purple-100{--tw-gradient-from:rgba(168,85,247,.16) 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)}
html.dark .via-purple-100{--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(168,85,247,.16) var(--tw-gradient-via-position),var(--tw-gradient-to)}
html.dark .to-purple-100{--tw-gradient-to:rgba(168,85,247,.16) var(--tw-gradient-to-position)}
html.dark .from-pink-50{--tw-gradient-from:rgba(236,72,153,.10) 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)}
html.dark .via-pink-50{--tw-gradient-to:rgba(236,72,153,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(236,72,153,.10) var(--tw-gradient-via-position),var(--tw-gradient-to)}
html.dark .to-pink-50{--tw-gradient-to:rgba(236,72,153,.10) var(--tw-gradient-to-position)}
html.dark .from-pink-100{--tw-gradient-from:rgba(236,72,153,.16) 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)}
html.dark .via-pink-100{--tw-gradient-to:rgba(236,72,153,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(236,72,153,.16) var(--tw-gradient-via-position),var(--tw-gradient-to)}
html.dark .to-pink-100{--tw-gradient-to:rgba(236,72,153,.16) var(--tw-gradient-to-position)}
html.dark .from-orange-50{--tw-gradient-from:rgba(249,115,22,.10) 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)}
html.dark .via-orange-50{--tw-gradient-to:rgba(249,115,22,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(249,115,22,.10) var(--tw-gradient-via-position),var(--tw-gradient-to)}
html.dark .to-orange-50{--tw-gradient-to:rgba(249,115,22,.10) var(--tw-gradient-to-position)}
html.dark .from-orange-100{--tw-gradient-from:rgba(249,115,22,.16) 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)}
html.dark .via-orange-100{--tw-gradient-to:rgba(249,115,22,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(249,115,22,.16) var(--tw-gradient-via-position),var(--tw-gradient-to)}
html.dark .to-orange-100{--tw-gradient-to:rgba(249,115,22,.16) var(--tw-gradient-to-position)}
html.dark .from-yellow-50{--tw-gradient-from:rgba(234,179,8,.10) 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)}
html.dark .via-yellow-50{--tw-gradient-to:rgba(234,179,8,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(234,179,8,.10) var(--tw-gradient-via-position),var(--tw-gradient-to)}
html.dark .to-yellow-50{--tw-gradient-to:rgba(234,179,8,.10) var(--tw-gradient-to-position)}
html.dark .from-yellow-100{--tw-gradient-from:rgba(234,179,8,.16) 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)}
html.dark .via-yellow-100{--tw-gradient-to:rgba(234,179,8,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(234,179,8,.16) var(--tw-gradient-via-position),var(--tw-gradient-to)}
html.dark .to-yellow-100{--tw-gradient-to:rgba(234,179,8,.16) var(--tw-gradient-to-position)}
html.dark .from-teal-50{--tw-gradient-from:rgba(20,184,166,.10) 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)}
html.dark .via-teal-50{--tw-gradient-to:rgba(20,184,166,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(20,184,166,.10) var(--tw-gradient-via-position),var(--tw-gradient-to)}
html.dark .to-teal-50{--tw-gradient-to:rgba(20,184,166,.10) var(--tw-gradient-to-position)}
html.dark .from-teal-100{--tw-gradient-from:rgba(20,184,166,.16) 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)}
html.dark .via-teal-100{--tw-gradient-to:rgba(20,184,166,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(20,184,166,.16) var(--tw-gradient-via-position),var(--tw-gradient-to)}
html.dark .to-teal-100{--tw-gradient-to:rgba(20,184,166,.16) var(--tw-gradient-to-position)}
html.dark .from-slate-50{--tw-gradient-from:rgba(100,116,139,.10) 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)}
html.dark .via-slate-50{--tw-gradient-to:rgba(100,116,139,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(100,116,139,.10) var(--tw-gradient-via-position),var(--tw-gradient-to)}
html.dark .to-slate-50{--tw-gradient-to:rgba(100,116,139,.10) var(--tw-gradient-to-position)}
html.dark .from-slate-100{--tw-gradient-from:rgba(100,116,139,.16) 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)}
html.dark .via-slate-100{--tw-gradient-to:rgba(100,116,139,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(100,116,139,.16) var(--tw-gradient-via-position),var(--tw-gradient-to)}
html.dark .to-slate-100{--tw-gradient-to:rgba(100,116,139,.16) var(--tw-gradient-to-position)}
html.dark .from-rose-50{--tw-gradient-from:rgba(244,63,94,.10) 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)}
html.dark .via-rose-50{--tw-gradient-to:rgba(244,63,94,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(244,63,94,.10) var(--tw-gradient-via-position),var(--tw-gradient-to)}
html.dark .to-rose-50{--tw-gradient-to:rgba(244,63,94,.10) var(--tw-gradient-to-position)}
html.dark .from-rose-100{--tw-gradient-from:rgba(244,63,94,.16) 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)}
html.dark .via-rose-100{--tw-gradient-to:rgba(244,63,94,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(244,63,94,.16) var(--tw-gradient-via-position),var(--tw-gradient-to)}
html.dark .to-rose-100{--tw-gradient-to:rgba(244,63,94,.16) var(--tw-gradient-to-position)}
html.dark .from-red-50{--tw-gradient-from:rgba(239,68,68,.10) 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)}
html.dark .via-red-50{--tw-gradient-to:rgba(239,68,68,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(239,68,68,.10) var(--tw-gradient-via-position),var(--tw-gradient-to)}
html.dark .to-red-50{--tw-gradient-to:rgba(239,68,68,.10) var(--tw-gradient-to-position)}
html.dark .from-red-100{--tw-gradient-from:rgba(239,68,68,.16) 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)}
html.dark .via-red-100{--tw-gradient-to:rgba(239,68,68,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(239,68,68,.16) var(--tw-gradient-via-position),var(--tw-gradient-to)}
html.dark .to-red-100{--tw-gradient-to:rgba(239,68,68,.16) var(--tw-gradient-to-position)}
html.dark .from-indigo-50{--tw-gradient-from:rgba(99,102,241,.10) 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)}
html.dark .via-indigo-50{--tw-gradient-to:rgba(99,102,241,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(99,102,241,.10) var(--tw-gradient-via-position),var(--tw-gradient-to)}
html.dark .to-indigo-50{--tw-gradient-to:rgba(99,102,241,.10) var(--tw-gradient-to-position)}
html.dark .from-indigo-100{--tw-gradient-from:rgba(99,102,241,.16) 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)}
html.dark .via-indigo-100{--tw-gradient-to:rgba(99,102,241,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(99,102,241,.16) var(--tw-gradient-via-position),var(--tw-gradient-to)}
html.dark .to-indigo-100{--tw-gradient-to:rgba(99,102,241,.16) var(--tw-gradient-to-position)}
html.dark .from-amber-50{--tw-gradient-from:rgba(245,158,11,.10) 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)}
html.dark .via-amber-50{--tw-gradient-to:rgba(245,158,11,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(245,158,11,.10) var(--tw-gradient-via-position),var(--tw-gradient-to)}
html.dark .to-amber-50{--tw-gradient-to:rgba(245,158,11,.10) var(--tw-gradient-to-position)}
html.dark .from-amber-100{--tw-gradient-from:rgba(245,158,11,.16) 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)}
html.dark .via-amber-100{--tw-gradient-to:rgba(245,158,11,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(245,158,11,.16) var(--tw-gradient-via-position),var(--tw-gradient-to)}
html.dark .to-amber-100{--tw-gradient-to:rgba(245,158,11,.16) var(--tw-gradient-to-position)}
