/* ================================================================
   GesTrack — Design System Light Mode v3.0
   Baseado na imagem de referência: sidebar slate-800 escuro,
   área de conteúdo branca/slate-50, cards brancos com sombra leve.
   ================================================================ */

/* ── TOKENS DE DESIGN ─────────────────────────────────────────── */
:root,
html,
html.dark,
html[data-theme="dark"],
html[data-theme="light"] {
  /* Brand Teal */
  --gt-teal:        #0d9488;
  --gt-teal-light:  #14b8a6;
  --gt-teal-dark:   #0f766e;
  --gt-teal-bg:     rgba(13,148,136,0.08);
  --gt-teal-border: rgba(13,148,136,0.2);

  /* Page Background */
  --gt-bg:          #f1f5f9;
  --gt-surface:     #ffffff;
  --gt-surface2:    #f8fafc;
  --gt-surface3:    #f0f4f8;

  /* Sidebar — PERMANECE ESCURO conforme design */
  --gt-sidebar-bg:       #1e293b;
  --gt-sidebar-border:   #334155;
  --gt-sidebar-text:     #94a3b8;
  --gt-sidebar-hover-bg: rgba(255,255,255,0.06);
  --gt-sidebar-hover-text: #e2e8f0;
  --gt-sidebar-active-bg:  rgba(20,184,166,0.15);
  --gt-sidebar-active-text: #2dd4bf;
  --gt-sidebar-active-border: rgba(20,184,166,0.25);

  /* Borders */
  --gt-border:        #e2e8f0;
  --gt-border-light:  #cbd5e1;
  --gt-border-focus:  #0d9488;

  /* Typography */
  --gt-text:           #0f172a;
  --gt-text-secondary: #1e293b;
  --gt-text-muted:     #64748b;
  --gt-text-dim:       #94a3b8;

  /* Status */
  --gt-green:      #16a34a;
  --gt-green-bg:   rgba(22,163,74,0.1);
  --gt-amber:      #d97706;
  --gt-amber-bg:   rgba(217,119,6,0.1);
  --gt-red:        #dc2626;
  --gt-red-bg:     rgba(220,38,38,0.1);
  --gt-blue:       #2563eb;
  --gt-blue-bg:    rgba(37,99,235,0.1);
  --gt-purple:     #7c3aed;
  --gt-purple-bg:  rgba(124,58,237,0.1);
  --gt-orange:     #ea580c;
  --gt-orange-bg:  rgba(234,88,12,0.1);

  /* Shadows */
  --gt-shadow-xs:   0 1px 2px rgba(0,0,0,0.05);
  --gt-shadow-sm:   0 1px 3px rgba(0,0,0,0.07), 0 1px 2px rgba(0,0,0,0.04);
  --gt-shadow-md:   0 4px 12px rgba(0,0,0,0.08);
  --gt-shadow-lg:   0 10px 40px rgba(0,0,0,0.12);
  --gt-shadow-card: 0 1px 3px rgba(0,0,0,0.05), 0 1px 2px rgba(0,0,0,0.03);

  /* Modal backdrop */
  --gt-backdrop: rgba(15,23,42,0.5);

  /* Scrollbar */
  --gt-scroll-track: #f1f5f9;
  --gt-scroll-thumb: #cbd5e1;
}

/* ── RESET GLOBAL ──────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }

/* ── BASE ──────────────────────────────────────────────────────── */
html, body {
  background: var(--gt-bg) !important;
  color: var(--gt-text) !important;
  font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  -webkit-font-smoothing: antialiased;
}

/* ── SCROLLBAR ─────────────────────────────────────────────────── */
::-webkit-scrollbar { width: 5px; height: 5px; }
::-webkit-scrollbar-track { background: var(--gt-scroll-track) !important; }
::-webkit-scrollbar-thumb { background: var(--gt-scroll-thumb) !important; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--gt-teal) !important; }

/* ═══════════════════════════════════════════════════════════════
   SIDEBAR — Fundo escuro slate-800 conforme design de referência
   ═══════════════════════════════════════════════════════════════ */
aside,
aside.fixed,
.sidebar,
nav.sidebar {
  background: var(--gt-sidebar-bg) !important;
  border-right-color: var(--gt-sidebar-border) !important;
}

/* Logo pill */
aside > div:first-child,
aside .p-5 {
  border-bottom-color: var(--gt-sidebar-border) !important;
}

/* Logo texto */
aside .font-bold { color: #f1f5f9 !important; }
aside [style*="color:#14b8a6"] { color: #2dd4bf !important; }

/* Section labels */
aside .text-xs.uppercase,
aside .text-xs.text-gray-500,
aside .text-xs.tracking-wider {
  color: #475569 !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
}

/* Nav links */
.sl,
aside a,
aside nav a {
  color: var(--gt-sidebar-text) !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px !important;
  margin-bottom: 2px;
  transition: all 0.15s ease !important;
}
.sl:hover,
aside a:hover {
  background: var(--gt-sidebar-hover-bg) !important;
  color: var(--gt-sidebar-hover-text) !important;
}
.sl.active,
aside a.active {
  background: var(--gt-sidebar-active-bg) !important;
  color: var(--gt-sidebar-active-text) !important;
  font-weight: 600 !important;
  border: 1px solid var(--gt-sidebar-active-border) !important;
}

/* Sidebar footer */
aside .border-t { border-top-color: var(--gt-sidebar-border) !important; }
aside .p-4.border-t { color: #475569 !important; }

/* ═══════════════════════════════════════════════════════════════
   MAIN / CONTEÚDO — Branco e claro
   ═══════════════════════════════════════════════════════════════ */
main,
.main-content,
[class*="ml-64"] {
  background: var(--gt-bg) !important;
  color: var(--gt-text) !important;
}

/* ── HEADINGS ──────────────────────────────────────────────────── */
main h1, main h2, main h3, main h4, main h5, main h6 {
  color: var(--gt-text) !important;
}

main h1 {
  font-size: 20px !important;
  font-weight: 800 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

/* Ícone no h1 com estilo do design de referência */
main h1 i, main h1 .fas, main h1 .far, main h1 .fab {
  width: 36px !important;
  height: 36px !important;
  border-radius: 10px !important;
  background: rgba(13,148,136,0.1) !important;
  border: 1.5px solid rgba(13,148,136,0.2) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 15px !important;
  flex-shrink: 0 !important;
  color: #0d9488 !important;
}

main h1 + p,
main .page-subtitle {
  color: var(--gt-text-muted) !important;
  font-size: 13px !important;
}

/* ── CLASSES TAILWIND DARK → LIGHT ───────────────────────────── */

/* Backgrounds de página */
.bg-gray-950 { background: #f1f5f9 !important; }

/* Textos → mantêm o valor próprio */
main .text-white        { color: var(--gt-text) !important; }
main .text-gray-100     { color: #1e293b !important; }
main .text-gray-200     { color: #334155 !important; }
main .text-gray-300     { color: #475569 !important; }
main .text-gray-400     { color: var(--gt-text-muted) !important; }
main .text-gray-500     { color: #64748b !important; }
main .text-gray-600     { color: #475569 !important; }

/* Bordas */
main .border-gray-800,
main .border-gray-700,
main .border-zinc-800 { border-color: var(--gt-border) !important; }

/* ── CARDS ─────────────────────────────────────────────────────── */
.card, .gt-card, .kpi-card {
  background: var(--gt-surface) !important;
  border: 1px solid var(--gt-border) !important;
  border-radius: 12px !important;
  box-shadow: var(--gt-shadow-card) !important;
  color: var(--gt-text) !important;
  transition: box-shadow 0.2s, transform 0.2s !important;
}
.card:hover, .gt-card:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,0.08) !important;
  transform: translateY(-1px) !important;
}

/* Números KPI */
.card .text-3xl, .card .text-4xl,
.kpi-card .text-3xl, .kpi-number {
  color: var(--gt-text) !important;
  font-weight: 900 !important;
}
.card .text-3xl.text-amber-400 { color: var(--gt-amber) !important; }
.card .text-3xl[style*="color:#14b8a6"],
.card .text-3xl[style*="color: #14b8a6"] { color: var(--gt-teal) !important; }

/* Labels KPI */
.card .text-xs.uppercase,
.card .text-xs.text-gray-400 {
  color: var(--gt-text-muted) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
}

/* Roundeds em main → cards brancos */
main .rounded-2xl,
main .rounded-xl,
main .rounded-lg {
  background: var(--gt-surface) !important;
  border-color: var(--gt-border) !important;
  color: var(--gt-text) !important;
}

/* ── TABELAS ───────────────────────────────────────────────────── */
main table { color: var(--gt-text) !important; }

main thead tr,
main thead th {
  background: var(--gt-surface2) !important;
  color: var(--gt-text-muted) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  border-bottom: 1px solid var(--gt-border) !important;
  padding: 10px 16px !important;
}

main td {
  color: var(--gt-text) !important;
  font-size: 13px !important;
  border-bottom: 1px solid #f1f5f9 !important;
  padding: 12px 16px !important;
}

main tbody tr:hover td {
  background: rgba(13,148,136,0.03) !important;
}

/* ── INPUTS / FORMS ────────────────────────────────────────────── */
main input,
main select,
main textarea,
input, select, textarea {
  background: var(--gt-surface) !important;
  border: 1px solid var(--gt-border) !important;
  color: var(--gt-text) !important;
  border-radius: 8px !important;
  padding: 8px 12px !important;
  font-size: 13px !important;
  width: 100%;
  outline: none !important;
  transition: border-color 0.15s, box-shadow 0.15s !important;
}

input:focus, select:focus, textarea:focus {
  border-color: var(--gt-teal) !important;
  box-shadow: 0 0 0 3px rgba(13,148,136,0.1) !important;
}

input::placeholder, textarea::placeholder { color: var(--gt-text-dim) !important; }
select option { background: var(--gt-surface) !important; color: var(--gt-text) !important; }

/* ── BOTÕES ────────────────────────────────────────────────────── */
.btn, .gt-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  cursor: pointer;
  border: none;
  transition: all 0.15s !important;
  padding: 8px 16px !important;
}

.btn-teal, .gt-btn-primary {
  background: var(--gt-teal) !important;
  color: #fff !important;
  box-shadow: 0 1px 3px rgba(13,148,136,0.3) !important;
}
.btn-teal:hover, .gt-btn-primary:hover {
  background: var(--gt-teal-dark) !important;
  box-shadow: 0 4px 12px rgba(13,148,136,0.3) !important;
  transform: translateY(-1px) !important;
}

.btn-purple {
  background: #7c3aed !important;
  color: #fff !important;
}
.btn-purple:hover {
  background: #6d28d9 !important;
  transform: translateY(-1px) !important;
}

.btn-secondary, .gt-btn-secondary {
  background: var(--gt-surface) !important;
  border: 1px solid var(--gt-border) !important;
  color: var(--gt-text) !important;
}
.btn-secondary:hover { background: var(--gt-surface2) !important; }

/* ── BADGES / STATUS PILLS ─────────────────────────────────────── */
.badge, .gt-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  padding: 3px 9px !important;
  border-radius: 999px !important;
  white-space: nowrap !important;
}

.b-active,   .badge-active   { background: rgba(22,163,74,0.1) !important;   color: #15803d !important;   border: 1px solid rgba(22,163,74,0.2) !important; }
.b-inactive, .badge-inactive { background: rgba(100,116,139,0.1) !important; color: #64748b !important;   border: 1px solid rgba(100,116,139,0.2) !important; }
.b-suspended,.badge-suspended{ background: rgba(220,38,38,0.1) !important;   color: #dc2626 !important;   border: 1px solid rgba(220,38,38,0.2) !important; }

.badge-transit { background: rgba(13,148,136,0.1) !important; color: var(--gt-teal) !important; border: 1px solid rgba(13,148,136,0.2) !important; }
.badge-pending { background: rgba(217,119,6,0.1) !important;  color: var(--gt-amber) !important; border: 1px solid rgba(217,119,6,0.2) !important; }
.badge-done    { background: rgba(22,163,74,0.1) !important;  color: #15803d !important; border: 1px solid rgba(22,163,74,0.2) !important; }
.badge-cancel  { background: rgba(220,38,38,0.1) !important;  color: var(--gt-red) !important; border: 1px solid rgba(220,38,38,0.2) !important; }
.badge-overdue { background: rgba(220,38,38,0.1) !important;  color: var(--gt-red) !important; border: 1px solid rgba(220,38,38,0.2) !important; }

/* Status dots */
.dot-active    { background: #16a34a !important; }
.dot-inactive  { background: #94a3b8 !important; }
.dot-suspended { background: #dc2626 !important; }

/* ── MODAIS ────────────────────────────────────────────────────── */
.modal-overlay { background: var(--gt-backdrop) !important; backdrop-filter: blur(4px) !important; }

.modal-box, .gt-modal {
  background: var(--gt-surface) !important;
  border: 1px solid var(--gt-border) !important;
  border-radius: 16px !important;
  box-shadow: var(--gt-shadow-lg) !important;
  color: var(--gt-text) !important;
}
.modal-box h2, .modal-box h3, .gt-modal h2 { color: var(--gt-text) !important; font-weight: 700 !important; }
.modal-box label, .gt-modal label { color: var(--gt-text-muted) !important; font-size: 12px !important; font-weight: 600 !important; }
.modal-box input, .modal-box select, .modal-box textarea {
  background: var(--gt-surface2) !important;
  border-color: var(--gt-border) !important;
  color: var(--gt-text) !important;
}
.modal-box input::placeholder, .modal-box textarea::placeholder { color: var(--gt-text-dim) !important; }
.modal-box .text-gray-400, .modal-box .text-gray-500 { color: var(--gt-text-muted) !important; }

/* ── KANBAN ────────────────────────────────────────────────────── */
.kanban-col, [class*="kanban-col"] {
  background: var(--gt-surface) !important;
  border: 1px solid var(--gt-border) !important;
  border-radius: 12px !important;
}
.kanban-card, [class*="kanban-card"] {
  background: var(--gt-surface2) !important;
  border: 1px solid var(--gt-border) !important;
  border-radius: 8px !important;
  color: var(--gt-text) !important;
}
.kanban-card:hover {
  border-color: var(--gt-teal) !important;
  box-shadow: 0 2px 8px rgba(13,148,136,0.1) !important;
}

/* ── TORRE DE CONTROLE / DESPACHO ──────────────────────────────── */
.dispatch-card, .tech-slot, .event-card, .timeline-item {
  background: var(--gt-surface) !important;
  border-color: var(--gt-border) !important;
  color: var(--gt-text) !important;
}

/* ── PORTAL CLIENTE / TÉCNICO ──────────────────────────────────── */
.portal-card { background: var(--gt-surface) !important; border-color: var(--gt-border) !important; border-radius: 12px !important; }

/* ── PREVIEW CARD ──────────────────────────────────────────────── */
.preview-card {
  background: var(--gt-surface2) !important;
  border: 1px solid var(--gt-border) !important;
  border-radius: 12px !important;
  color: var(--gt-text-muted) !important;
}

/* ── BIPE INPUT ────────────────────────────────────────────────── */
.bipe-input, input.bipe {
  background: var(--gt-surface) !important;
  border: 2px solid var(--gt-teal) !important;
  border-radius: 10px !important;
  color: var(--gt-text) !important;
  font-size: 16px !important;
  padding: 14px 18px !important;
}

/* ── HEADER DA PÁGINA ──────────────────────────────────────────── */
header, .topbar, .page-header {
  background: var(--gt-surface) !important;
  border-color: var(--gt-border) !important;
  color: var(--gt-text) !important;
}

/* ── HR / DIVIDERS ─────────────────────────────────────────────── */
hr, .divider { border-color: var(--gt-border) !important; }

/* ── TABS ──────────────────────────────────────────────────────── */
.tab-active { color: var(--gt-teal) !important; border-bottom: 2px solid var(--gt-teal) !important; }

/* ── TOOLTIP ───────────────────────────────────────────────────── */
[role="tooltip"], .tooltip-box {
  background: var(--gt-surface) !important;
  border: 1px solid var(--gt-border) !important;
  color: var(--gt-text) !important;
  border-radius: 8px !important;
  box-shadow: var(--gt-shadow-md) !important;
}

/* ── RECHARTS ──────────────────────────────────────────────────── */
.recharts-text, .recharts-cartesian-axis-tick-value { fill: var(--gt-text-muted) !important; }
.recharts-cartesian-grid-horizontal line,
.recharts-cartesian-grid-vertical line { stroke: var(--gt-border) !important; }

/* ── ANIMAÇÕES ─────────────────────────────────────────────────── */
@keyframes fi {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes gtFadeIn {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}
.fi, .gt-fade-in { animation: fi 0.25s ease-out; }

/* ── AVATAR ────────────────────────────────────────────────────── */
.user-avatar, .gt-avatar {
  width: 36px; height: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg, #0d9488, #0f766e);
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 14px; font-weight: 700;
}

/* ═══════════════════════════════════════════════════════════════
   OVERRIDES DE ALTA ESPECIFICIDADE — Inline styles e classes dark
   Cobre o que o script Python pode não ter alcançado
   ═══════════════════════════════════════════════════════════════ */

/* Backgrounds escuros inline em MAIN */
main [style*="background:#060e1a"],
main [style*="background: #060e1a"],
main [style*="background-color:#060e1a"],
main [style*="background:#0c1929"],
main [style*="background: #0c1929"],
main [style*="background-color:#0c1929"],
main [style*="background:#112236"],
main [style*="background: #112236"],
main [style*="background:#0a1628"],
main [style*="background: #0a1628"],
main [style*="background:#0d1b2a"],
main [style*="background: #0d1b2a"],
main [style*="background:#0e1a2d"],
main [style*="background: #0e1a2d"],
main [style*="background:#081525"],
main [style*="background: #081525"],
main [style*="background:#0f1e2e"],
main [style*="background: #0f1e2e"],
main [style*="background:#162032"],
main [style*="background: #162032"],
main [style*="background:#1a2940"],
main [style*="background: #1a2940"],
main [style*="background:#0e1d2e"],
main [style*="background: #0e1d2e"] {
  background: #ffffff !important;
}

/* Textos claros inline em MAIN */
main [style*="color:#e2e8f0"],
main [style*="color: #e2e8f0"],
main [style*="color:#f1f5f9"],
main [style*="color: #f1f5f9"],
main [style*="color:#ffffff"],
main [style*="color: #ffffff"],
main [style*="color:#fff"],
main [style*="color: #fff"],
main [style*="color:#f8fafc"],
main [style*="color: #f8fafc"] {
  color: #0f172a !important;
}

main [style*="color:#94a3b8"],
main [style*="color: #94a3b8"],
main [style*="color:#7a99b8"],
main [style*="color: #7a99b8"],
main [style*="color:#8899aa"],
main [style*="color: #8899aa"],
main [style*="color:#adb5c7"],
main [style*="color: #adb5c7"] {
  color: #64748b !important;
}

main [style*="color:#cbd5e1"],
main [style*="color: #cbd5e1"] {
  color: #475569 !important;
}

/* Bordas escuras inline em MAIN */
main [style*="border:1px solid #1a3352"],
main [style*="border: 1px solid #1a3352"],
main [style*="border-color:#1a3352"],
main [style*="border-color: #1a3352"],
main [style*="border:1px solid #253a52"],
main [style*="border: 1px solid #253a52"],
main [style*="border:1px solid #1e3a5f"],
main [style*="border: 1px solid #1e3a5f"],
main [style*="border-bottom:1px solid #1a3352"],
main [style*="border-top:1px solid #1a3352"] {
  border-color: #e2e8f0 !important;
}

/* EXCEÇÕES — Status colors preservados mesmo em main */
main [style*="color:#14b8a6"],
main [style*="color: #14b8a6"] { color: #0d9488 !important; }

main [style*="color:#10b981"],
main [style*="color: #10b981"] { color: #16a34a !important; }

main [style*="color:#fbbf24"],
main [style*="color: #fbbf24"],
main [style*="color:#f59e0b"],
main [style*="color: #f59e0b"] { color: #d97706 !important; }

main [style*="color:#f87171"],
main [style*="color: #f87171"],
main [style*="color:#ef4444"],
main [style*="color: #ef4444"] { color: #dc2626 !important; }

main [style*="color:#60a5fa"],
main [style*="color: #60a5fa"],
main [style*="color:#3b82f6"],
main [style*="color: #3b82f6"] { color: #2563eb !important; }

main [style*="color:#a78bfa"],
main [style*="color: #a78bfa"],
main [style*="color:#7c3aed"],
main [style*="color: #7c3aed"] { color: #7c3aed !important; }

/* Bg coloridos inline preservados (teal, verde, etc.) */
main [style*="background:rgba(20,184,166"],
main [style*="background: rgba(20,184,166"],
main [style*="background:rgba(13,148,136"],
main [style*="background: rgba(13,148,136"] { background: rgba(13,148,136,0.1) !important; }

main [style*="background:rgba(22,163,74"],
main [style*="background: rgba(22,163,74"],
main [style*="background:rgba(16,185,129"],
main [style*="background: rgba(16,185,129"] { background: rgba(22,163,74,0.1) !important; }

main [style*="background:rgba(239,68,68"],
main [style*="background: rgba(239,68,68"],
main [style*="background:rgba(220,38,38"],
main [style*="background: rgba(220,38,38"] { background: rgba(220,38,38,0.1) !important; }

/* Gradientes especiais preservados */
main [style*="background:linear-gradient(135deg,#14b8a6"],
main [style*="background: linear-gradient(135deg,#14b8a6"],
main [style*="background:linear-gradient(135deg, #14b8a6"] { /* Preserva */ }

/* Tailwind classes em main */
main .bg-gray-900,
main .bg-gray-800,
main .bg-gray-700,
main .bg-zinc-900,
main .bg-zinc-800,
main .bg-neutral-900,
main .bg-neutral-800 {
  background: #ffffff !important;
  border-color: #e2e8f0 !important;
}

main .bg-gray-600 { background: #f1f5f9 !important; }

main .hover\:bg-gray-800:hover,
main .hover\:bg-gray-700:hover { background: #f8fafc !important; }

/* Spans e divs com text-white em main */
main span.text-white,
main div.text-white,
main p.text-white,
main li.text-white { color: #0f172a !important; }

/* Font-black text-white em main */
main .font-black.text-white,
main .font-bold.text-white,
main .font-semibold.text-white { color: #0f172a !important; }

/* ── EXCEÇÃO: Botões e badges preservam text-white ─────────────── */
.btn-teal .text-white,
.btn-teal span,
.btn-purple .text-white,
.btn-purple span,
.badge .text-white,
[class*="bg-teal"] .text-white,
[class*="bg-green"] .text-white,
[class*="bg-red"] .text-white,
[class*="bg-blue"] .text-white,
[class*="bg-purple"] .text-white,
[class*="bg-amber"] .text-white {
  color: #ffffff !important;
}

/* Botões com gradiente → preservar texto branco */
[style*="background:linear-gradient(135deg,#14b8a6"] *,
[style*="background: linear-gradient(135deg,#14b8a6"] *,
[style*="background:linear-gradient(135deg,#7c3aed"] *,
[style*="background: linear-gradient(135deg,#7c3aed"] * {
  color: #ffffff !important;
}

/* ── GLOBAL TRANSITION (suave) ─────────────────────────────────── */
*, *::before, *::after {
  transition-property: background-color, border-color, color, box-shadow;
  transition-duration: 0.15s;
  transition-timing-function: ease;
}
.fa-spin, .gt-spin, .gt-spin *, .fa-spin * { transition: none !important; }

/* ── OVERRIDES FINAIS DE PÁGINAS ESPECÍFICAS ──────────────────── */

/* Executive Dashboard */
.recharts-wrapper { background: transparent !important; }

/* PDV / Caixa */
.pdv-item { background: var(--gt-surface) !important; border-color: var(--gt-border) !important; }

/* Estoque */
.stock-row:hover { background: rgba(13,148,136,0.03) !important; }

/* Financeiro */
.fin-card { background: var(--gt-surface) !important; }

/* Compact row (casamento) */
.compact-row {
  background: var(--gt-surface) !important;
  border-bottom: 1px solid var(--gt-border) !important;
}
.compact-row:hover { background: var(--gt-surface2) !important; }

/* Info labels */
.info-label { color: var(--gt-text-dim) !important; font-size: 11px !important; font-weight: 600 !important; text-transform: uppercase !important; }
.info-value { color: var(--gt-text) !important; font-size: 14px !important; font-weight: 600 !important; }

/* Toast */
.gt-toast {
  background: var(--gt-surface) !important;
  border: 1px solid var(--gt-border) !important;
  color: var(--gt-text) !important;
  box-shadow: var(--gt-shadow-md) !important;
}
