/* =========================================================
   DARK GREEN PROFESSIONAL — Design System
   Família Pinheiro — Sistema Financeiro
   Ativado via <html data-theme="dark-neon">
   ========================================================= */

/* =============================================
   SECTION 1: DESIGN TOKENS
   ============================================= */

:root[data-theme="dark-neon"] {

  /* ─── BACKGROUNDS / SURFACES ─── */
  --bg-0: #0a0f0d;
  --bg-1: #0d1412;
  --surface-0: #111a17;
  --surface-1: #141f1b;
  --surface-2: #192621;
  --surface-3: #1e2d27;
  --surface-4: #243530;

  /* Glass */
  --glass-bg: rgba(255, 255, 255, 0.03);
  --glass-bg-strong: rgba(255, 255, 255, 0.05);

  /* ─── TEXT ─── */
  --text-1: #e8efe9;
  --text-2: #a8b8ad;
  --text-3: #7a8f80;
  --text-4: #576960;
  --text-inverse: #0a0f0d;

  /* ─── BORDERS / DIVIDERS ─── */
  --border-1: rgba(255, 255, 255, 0.06);
  --border-2: rgba(255, 255, 255, 0.09);
  --border-3: rgba(255, 255, 255, 0.14);
  --divider: rgba(255, 255, 255, 0.06);

  /* ─── ACCENT (green) ─── */
  --accent: #34d399;
  --accent-hover: #5ee8b5;
  --accent-active: #2ab883;
  --accent-soft: rgba(52, 211, 153, 0.12);
  --accent-soft-2: rgba(52, 211, 153, 0.07);

  /* ─── SEMANTIC ─── */
  --success: #34d399;
  --success-hover: #5ee8b5;
  --success-soft: rgba(52, 211, 153, 0.12);

  --warning: #fbbf24;
  --warning-hover: #fcd34d;
  --warning-soft: rgba(251, 191, 36, 0.12);

  --danger: #f87171;
  --danger-hover: #fca5a5;
  --danger-active: #ef4444;
  --danger-soft: rgba(248, 113, 113, 0.12);

  --info: #60a5fa;
  --info-hover: #93bbfd;
  --info-soft: rgba(96, 165, 250, 0.12);

  --violet: #a78bfa;
  --violet-hover: #c4b5fd;
  --violet-soft: rgba(167, 139, 250, 0.12);

  /* ─── FINANCE ─── */
  --income: var(--success);
  --expense: var(--danger);
  --transfer: var(--info);
  --invest: var(--violet);
  --savings: var(--accent);

  /* ─── LINKS ─── */
  --link: var(--accent);
  --link-hover: var(--accent-hover);

  /* ─── INPUTS ─── */
  --input-bg: rgba(255, 255, 255, 0.03);
  --input-bg-hover: rgba(255, 255, 255, 0.05);
  --input-bg-disabled: rgba(255, 255, 255, 0.02);
  --input-border: var(--border-2);
  --input-border-hover: var(--border-3);
  --placeholder: rgba(168, 184, 173, 0.50);
  --focus-ring: rgba(52, 211, 153, 0.22);

  /* ─── BUTTONS ─── */
  --btn-primary-bg: var(--accent);
  --btn-primary-text: var(--text-inverse);
  --btn-primary-bg-hover: var(--accent-hover);
  --btn-primary-bg-active: var(--accent-active);

  --btn-secondary-bg: rgba(255, 255, 255, 0.05);
  --btn-secondary-text: var(--text-1);
  --btn-secondary-bg-hover: rgba(255, 255, 255, 0.08);

  --btn-ghost-bg: transparent;
  --btn-ghost-text: var(--text-2);
  --btn-ghost-bg-hover: rgba(255, 255, 255, 0.04);

  --btn-danger-bg: var(--danger);
  --btn-danger-text: #1a0505;
  --btn-danger-bg-hover: var(--danger-hover);

  --btn-success-bg: var(--success);
  --btn-success-text: #051a10;
  --btn-success-bg-hover: var(--success-hover);

  /* ─── CHIPS / BADGES ─── */
  --chip-bg: rgba(255, 255, 255, 0.05);
  --chip-border: var(--border-2);
  --chip-text: var(--text-2);

  /* ─── CARDS ─── */
  --card-bg: var(--surface-1);
  --card-border: var(--border-1);
  --card-border-hover: rgba(52, 211, 153, 0.16);

  /* ─── NAV / SIDEBAR ─── */
  --nav-bg: var(--surface-0);
  --nav-border: var(--border-1);
  --nav-item-text: var(--text-2);
  --nav-item-text-hover: var(--text-1);
  --nav-item-bg-hover: rgba(255, 255, 255, 0.04);
  --nav-item-bg-active: var(--accent-soft);

  /* ─── TABLE ─── */
  --table-header-bg: rgba(255, 255, 255, 0.03);
  --table-row-hover: rgba(52, 211, 153, 0.05);

  /* ─── TOOLTIP / DROPDOWN ─── */
  --tooltip-bg: rgba(17, 26, 23, 0.95);
  --tooltip-border: var(--border-2);

  /* ─── MODAL ─── */
  --overlay-bg: rgba(0, 0, 0, 0.55);
  --modal-bg: var(--surface-2);
  --modal-border: var(--border-2);

  /* ─── SHADOWS (suaves) ─── */
  --shadow-xs: 0 1px 4px rgba(0, 0, 0, 0.18);
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.20);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.22);
  --shadow-lg: 0 8px 28px rgba(0, 0, 0, 0.25);

  /* ─── SELECTION ─── */
  --selection-bg: rgba(52, 211, 153, 0.18);
  --selection-text: var(--text-1);

  /* ─── SCROLLBAR ─── */
  --scrollbar-track: rgba(255, 255, 255, 0.02);
  --scrollbar-thumb: rgba(255, 255, 255, 0.08);
  --scrollbar-thumb-hover: rgba(255, 255, 255, 0.14);

  /* ─── CHARTS ─── */
  --chart-grid: rgba(255, 255, 255, 0.06);
  --chart-axis: var(--text-4);

  --series-1: #34d399;
  --series-2: #60a5fa;
  --series-3: #a78bfa;
  --series-4: #fbbf24;
  --series-5: #f87171;
  --series-6: #38bdf8;
  --series-7: #fb923c;
  --series-8: #c084fc;

  /* ─── LOG LEVELS ─── */
  --log-success-bg: rgba(52, 211, 153, 0.10);
  --log-success-border: rgba(52, 211, 153, 0.22);
  --log-success-text: #a7f3d0;

  --log-info-bg: rgba(96, 165, 250, 0.10);
  --log-info-border: rgba(96, 165, 250, 0.22);
  --log-info-text: #bfdbfe;

  --log-warning-bg: rgba(251, 191, 36, 0.10);
  --log-warning-border: rgba(251, 191, 36, 0.22);
  --log-warning-text: #fef3c7;

  --log-error-bg: rgba(248, 113, 113, 0.10);
  --log-error-border: rgba(248, 113, 113, 0.22);
  --log-error-text: #fecaca;

  /* ─── RADII ─── */
  --radius-xs: 6px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-pill: 999px;

  /* ─── SPACING (8pt) ─── */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 40px;
  --space-8: 48px;

  /* ─── TYPOGRAPHY ─── */
  --font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;

  --text-xs: 11px;
  --text-sm: 12px;
  --text-md: 14px;
  --text-lg: 16px;
  --text-xl: 18px;
  --text-2xl: 20px;
  --text-3xl: 24px;

  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;

  --lh-tight: 1.2;
  --lh-normal: 1.4;
  --lh-relaxed: 1.6;

  /* Presets */
  --ty-title: var(--fw-semibold) var(--text-2xl)/var(--lh-tight) var(--font-sans);
  --ty-section: var(--fw-semibold) var(--text-lg)/var(--lh-tight) var(--font-sans);
  --ty-card-title: var(--fw-medium) var(--text-md)/var(--lh-tight) var(--font-sans);
  --ty-body: var(--fw-regular) var(--text-md)/var(--lh-normal) var(--font-sans);
  --ty-kpi: var(--fw-semibold) 20px/var(--lh-tight) var(--font-mono);
  --ty-number: var(--fw-medium) var(--text-md)/var(--lh-normal) var(--font-mono);
  --ty-caption: var(--fw-regular) var(--text-xs)/var(--lh-relaxed) var(--font-sans);

  /* ─── MOTION ─── */
  --ease: cubic-bezier(.2, .8, .2, 1);
  --dur: 150ms;

  /* ─── LAYOUT (compat) ─── */
  --sidebar-width: 16rem;
  --primary-color: var(--accent);
  --secondary-color: var(--violet);
}


/* =============================================
   2 · RESETS
   ============================================= */

[data-theme="dark-neon"],
[data-theme="dark-neon"] body {
  background: var(--bg-1);
  color: var(--text-1);
  font-family: var(--font-sans);
  font-size: var(--text-md);
  line-height: var(--lh-normal);
}

[data-theme="dark-neon"] ::selection {
  background: var(--selection-bg);
  color: var(--selection-text);
}

[data-theme="dark-neon"] ::-webkit-scrollbar { width: 6px; height: 6px; }
[data-theme="dark-neon"] ::-webkit-scrollbar-track { background: var(--scrollbar-track); }
[data-theme="dark-neon"] ::-webkit-scrollbar-thumb { background: var(--scrollbar-thumb); border-radius: var(--radius-pill); }
[data-theme="dark-neon"] ::-webkit-scrollbar-thumb:hover { background: var(--scrollbar-thumb-hover); }


/* =============================================
   3 · LAYOUT (body, topbar, sidebar, content)
   ============================================= */

[data-theme="dark-neon"] body.bg-gray-50 { background: var(--bg-1) !important; }

/* ── Topbar ── */
[data-theme="dark-neon"] .topbar {
  background: var(--surface-0) !important;
  border-bottom: 1px solid var(--border-1) !important;
  box-shadow: none !important;
  color: var(--text-1) !important;
}
[data-theme="dark-neon"] .topbar * { color: var(--text-2); }
[data-theme="dark-neon"] .topbar button.relative.text-gray-500:hover { color: var(--accent) !important; }

/* ── Sidebar ── */
[data-theme="dark-neon"] .sidebar-modern {
  background: var(--surface-0) !important;
  border-right: 1px solid var(--border-1) !important;
  box-shadow: none !important;
  color: var(--text-2) !important;
}
[data-theme="dark-neon"] .sidebar-header { border-bottom: 1px solid var(--border-1) !important; }
[data-theme="dark-neon"] .sidebar-item svg { color: var(--text-3) !important; }
[data-theme="dark-neon"] .sidebar-item span { color: var(--text-2) !important; }
[data-theme="dark-neon"] .sidebar-item:hover { background: var(--nav-item-bg-hover) !important; }
[data-theme="dark-neon"] .sidebar-item:hover span { color: var(--text-1) !important; }
[data-theme="dark-neon"] .sidebar-item:hover svg { color: var(--text-1) !important; }

/* Active menu item */
[data-theme="dark-neon"] .sidebar-item.bg-gray-700,
[data-theme="dark-neon"] .module-item.bg-gray-700 {
  background: var(--nav-item-bg-active) !important;
  border-radius: var(--radius-sm);
}
[data-theme="dark-neon"] .sidebar-item.bg-gray-700 span,
[data-theme="dark-neon"] .module-item.bg-gray-700 span { color: var(--text-1) !important; font-weight: var(--fw-semibold); }
[data-theme="dark-neon"] .sidebar-item.bg-gray-700 svg,
[data-theme="dark-neon"] .module-item.bg-gray-700 svg { color: var(--accent) !important; }

/* Submenu */
[data-theme="dark-neon"] .submenu-item span { color: var(--text-3) !important; }
[data-theme="dark-neon"] .submenu-item svg { color: var(--text-4) !important; }
[data-theme="dark-neon"] .submenu-item:hover span { color: var(--text-1) !important; }
[data-theme="dark-neon"] .submenu-item:hover svg { color: var(--text-2) !important; }

/* Collapse buttons */
[data-theme="dark-neon"] .collapse-btn,
[data-theme="dark-neon"] .expand-btn { color: var(--text-3) !important; }
[data-theme="dark-neon"] .collapse-btn:hover,
[data-theme="dark-neon"] .expand-btn:hover { color: var(--text-1) !important; background: var(--nav-item-bg-hover) !important; }

/* Admin section */
[data-theme="dark-neon"] .admin-section { border-top: 1px solid var(--border-1) !important; }

/* Hover menu collapsed */
[data-theme="dark-neon"] .sidebar-modern.w-20 .hover-menu {
  background: var(--surface-3) !important;
  border: 1px solid var(--border-2) !important;
  box-shadow: var(--shadow-md) !important;
}
[data-theme="dark-neon"] .hover-menu .submenu-item { color: var(--text-2) !important; }
[data-theme="dark-neon"] .hover-menu .submenu-item:hover { background: var(--nav-item-bg-hover) !important; }
[data-theme="dark-neon"] .hover-menu .submenu-item span { color: var(--text-2) !important; }
[data-theme="dark-neon"] .hover-menu .submenu-item:hover span { color: var(--text-1) !important; }

/* Sidebar tooltip */
[data-theme="dark-neon"] .sidebar-modern.w-20 a.sidebar-item:hover::after {
  background-color: var(--surface-3) !important; color: var(--text-1) !important;
  box-shadow: var(--shadow-sm) !important; border: 1px solid var(--border-2);
}

/* Logo placeholder */
[data-theme="dark-neon"] .sidebar-logo-placeholder {
  background: linear-gradient(135deg, var(--accent), var(--violet)) !important;
}

/* ── Content wrapper — sem container duplo ── */
[data-theme="dark-neon"] .content-card {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
}


/* =============================================
   4 · CARDS
   ============================================= */

[data-theme="dark-neon"] .card,
[data-theme="dark-neon"] .card-summary {
  background: var(--card-bg) !important;
  border: 1px solid var(--card-border) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-xs) !important;
  color: var(--text-1);
}
[data-theme="dark-neon"] .card:hover { border-color: var(--card-border-hover) !important; }

[data-theme="dark-neon"] .card-summary-title { color: var(--accent) !important; }
[data-theme="dark-neon"] .card-summary-value { color: var(--text-1) !important; font-family: var(--font-mono); font-variant-numeric: tabular-nums; }
[data-theme="dark-neon"] .card-summary-subtext { color: var(--text-3) !important; }
[data-theme="dark-neon"] .card-summary-header svg { color: var(--accent) !important; }

/* Card highlight */
[data-theme="dark-neon"] .card-highlight {
  background: var(--surface-2) !important;
  border: 1px solid var(--card-border-hover) !important;
  color: var(--text-1) !important;
}
[data-theme="dark-neon"] .card-highlight:hover { border-color: var(--accent) !important; }

[data-theme="dark-neon"] .card-label { color: var(--text-3) !important; }
[data-theme="dark-neon"] .card-value { color: var(--text-1) !important; font-family: var(--font-mono); font-variant-numeric: tabular-nums; }
[data-theme="dark-neon"] .card-subtext { color: var(--text-3) !important; }

/* Person cards */
[data-theme="dark-neon"] .card-person {
  background: var(--card-bg) !important;
  border: 1px solid var(--card-border) !important;
  box-shadow: var(--shadow-xs) !important;
}
[data-theme="dark-neon"] .card-person:hover { border-color: var(--card-border-hover) !important; }

[data-theme="dark-neon"] .card-person.pink {
  background: linear-gradient(135deg, rgba(248, 113, 113, 0.06), rgba(248, 113, 113, 0.02)) !important;
  border-color: rgba(248, 113, 113, 0.14) !important;
}
[data-theme="dark-neon"] .card-person.blue {
  background: linear-gradient(135deg, rgba(96, 165, 250, 0.06), rgba(96, 165, 250, 0.02)) !important;
  border-color: rgba(96, 165, 250, 0.14) !important;
}
[data-theme="dark-neon"] .card-person.green {
  background: linear-gradient(135deg, rgba(52, 211, 153, 0.06), rgba(52, 211, 153, 0.02)) !important;
  border-color: rgba(52, 211, 153, 0.14) !important;
}
[data-theme="dark-neon"] .card-person.yellow {
  background: linear-gradient(135deg, rgba(251, 191, 36, 0.06), rgba(251, 191, 36, 0.02)) !important;
  border-color: rgba(251, 191, 36, 0.14) !important;
}

[data-theme="dark-neon"] .card-person-header { border-bottom-color: var(--divider) !important; }

[data-theme="dark-neon"] .card-person.pink .card-person-name { color: var(--danger) !important; }
[data-theme="dark-neon"] .card-person.blue .card-person-name { color: var(--info) !important; }
[data-theme="dark-neon"] .card-person.green .card-person-name { color: var(--success) !important; }
[data-theme="dark-neon"] .card-person.yellow .card-person-name { color: var(--warning) !important; }

[data-theme="dark-neon"] .card-person-label { color: var(--text-3) !important; }

[data-theme="dark-neon"] .card-person.pink .card-person-value,
[data-theme="dark-neon"] .card-person.pink .card-person-total { color: var(--danger) !important; }
[data-theme="dark-neon"] .card-person.blue .card-person-value,
[data-theme="dark-neon"] .card-person.blue .card-person-total { color: var(--info) !important; }
[data-theme="dark-neon"] .card-person.green .card-person-value,
[data-theme="dark-neon"] .card-person.green .card-person-total { color: var(--success) !important; }
[data-theme="dark-neon"] .card-person.yellow .card-person-value,
[data-theme="dark-neon"] .card-person.yellow .card-person-total { color: var(--warning) !important; }

[data-theme="dark-neon"] .card-person-divider { border-top-color: var(--divider) !important; }

[data-theme="dark-neon"] .btn-ver-pagamentos {
  color: var(--text-3) !important; background: var(--glass-bg) !important; border: 1px solid var(--border-2) !important;
}
[data-theme="dark-neon"] .btn-ver-pagamentos:hover {
  color: var(--text-1) !important; background: var(--glass-bg-strong) !important; border-color: var(--border-3) !important;
}


/* =============================================
   5 · BUTTONS
   ============================================= */

[data-theme="dark-neon"] .btn,
[data-theme="dark-neon"] .btn-gradient,
[data-theme="dark-neon"] .btn-primary,
[data-theme="dark-neon"] .btn-secondary,
[data-theme="dark-neon"] .btn-action {
  border-radius: var(--radius-sm) !important;
  font-weight: var(--fw-semibold);
  font-family: var(--font-sans);
  transition: all var(--dur) var(--ease) !important;
}

/* Primary */
[data-theme="dark-neon"] .btn-primary,
[data-theme="dark-neon"] .btn-gradient.btn-blue,
[data-theme="dark-neon"] .form-actions .btn-primary,
[data-theme="dark-neon"] button[type="submit"].btn-primary {
  background: var(--btn-primary-bg) !important;
  color: var(--btn-primary-text) !important;
  box-shadow: none !important;
}
[data-theme="dark-neon"] .btn-primary:hover,
[data-theme="dark-neon"] .btn-gradient.btn-blue:hover,
[data-theme="dark-neon"] .form-actions .btn-primary:hover,
[data-theme="dark-neon"] button[type="submit"].btn-primary:hover {
  background: var(--btn-primary-bg-hover) !important;
  transform: translateY(-1px) !important;
}

/* Secondary */
[data-theme="dark-neon"] .btn-secondary,
[data-theme="dark-neon"] .form-actions .btn-secondary,
[data-theme="dark-neon"] a.btn-secondary {
  background: var(--btn-secondary-bg) !important;
  color: var(--btn-secondary-text) !important;
  border-color: var(--border-1) !important;
}
[data-theme="dark-neon"] .btn-secondary:hover,
[data-theme="dark-neon"] .form-actions .btn-secondary:hover,
[data-theme="dark-neon"] a.btn-secondary:hover {
  background: var(--btn-secondary-bg-hover) !important;
  color: var(--text-1) !important;
}

/* Green */
[data-theme="dark-neon"] .btn-gradient.btn-green,
[data-theme="dark-neon"] .btn-success {
  background: var(--btn-success-bg) !important; color: var(--btn-success-text) !important;
}
[data-theme="dark-neon"] .btn-gradient.btn-green:hover,
[data-theme="dark-neon"] .btn-success:hover { background: var(--btn-success-bg-hover) !important; }

/* Purple */
[data-theme="dark-neon"] .btn-gradient.btn-purple {
  background: var(--violet) !important; color: #fff !important;
}
[data-theme="dark-neon"] .btn-gradient.btn-purple:hover { background: var(--violet-hover) !important; }

/* Red / Danger */
[data-theme="dark-neon"] .btn-gradient.btn-red,
[data-theme="dark-neon"] .btn-danger,
[data-theme="dark-neon"] .btn-delete {
  background: var(--btn-danger-bg) !important; color: var(--btn-danger-text) !important;
}
[data-theme="dark-neon"] .btn-gradient.btn-red:hover,
[data-theme="dark-neon"] .btn-danger:hover,
[data-theme="dark-neon"] .btn-delete:hover { background: var(--btn-danger-bg-hover) !important; }

/* Orange */
[data-theme="dark-neon"] .btn-gradient.btn-orange {
  background: var(--warning) !important; color: var(--text-inverse) !important;
}
[data-theme="dark-neon"] .btn-gradient.btn-orange:hover { background: var(--warning-hover) !important; }

/* Edit / View */
[data-theme="dark-neon"] .btn-edit { background: var(--info) !important; color: #fff !important; }
[data-theme="dark-neon"] .btn-edit:hover { background: var(--info-hover) !important; }
[data-theme="dark-neon"] .btn-view { background: var(--btn-secondary-bg) !important; color: var(--text-2) !important; }
[data-theme="dark-neon"] .btn-view:hover { background: var(--btn-secondary-bg-hover) !important; }

/* Focus visible */
[data-theme="dark-neon"] .btn:focus-visible,
[data-theme="dark-neon"] .btn-primary:focus-visible,
[data-theme="dark-neon"] .btn-gradient:focus-visible {
  outline: none !important; box-shadow: 0 0 0 2px var(--focus-ring) !important;
}


/* =============================================
   6 · INPUTS / FORMS
   ============================================= */

[data-theme="dark-neon"] .form-grid input[type="text"],
[data-theme="dark-neon"] .form-grid input[type="email"],
[data-theme="dark-neon"] .form-grid input[type="number"],
[data-theme="dark-neon"] .form-grid input[type="date"],
[data-theme="dark-neon"] .form-grid input[type="password"],
[data-theme="dark-neon"] .form-grid select,
[data-theme="dark-neon"] .form-grid textarea,
[data-theme="dark-neon"] input[type="text"],
[data-theme="dark-neon"] input[type="email"],
[data-theme="dark-neon"] input[type="number"],
[data-theme="dark-neon"] input[type="date"],
[data-theme="dark-neon"] input[type="password"],
[data-theme="dark-neon"] select,
[data-theme="dark-neon"] textarea {
  background: var(--input-bg) !important;
  border: 1px solid var(--input-border) !important;
  color: var(--text-1) !important;
  border-radius: var(--radius-xs) !important;
  font-family: var(--font-sans);
  transition: border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease) !important;
}

[data-theme="dark-neon"] input::placeholder,
[data-theme="dark-neon"] textarea::placeholder { color: var(--placeholder) !important; }

[data-theme="dark-neon"] input:hover,
[data-theme="dark-neon"] select:hover,
[data-theme="dark-neon"] textarea:hover { background: var(--input-bg-hover) !important; border-color: var(--input-border-hover) !important; }

[data-theme="dark-neon"] input:focus,
[data-theme="dark-neon"] select:focus,
[data-theme="dark-neon"] textarea:focus {
  outline: none !important; border-color: var(--accent) !important; box-shadow: 0 0 0 2px var(--focus-ring) !important;
}

[data-theme="dark-neon"] input[disabled],
[data-theme="dark-neon"] select[disabled],
[data-theme="dark-neon"] textarea[disabled] { background: var(--input-bg-disabled) !important; color: var(--text-4) !important; cursor: not-allowed; }

[data-theme="dark-neon"] .form-label, [data-theme="dark-neon"] label { color: var(--text-2) !important; }
[data-theme="dark-neon"] .form-help { color: var(--text-4) !important; }
[data-theme="dark-neon"] .form-error { color: var(--danger) !important; }
[data-theme="dark-neon"] .form-actions { border-top-color: var(--divider) !important; }
[data-theme="dark-neon"] input[type="checkbox"] { accent-color: var(--accent); }
[data-theme="dark-neon"] .form-grid ul li label { color: var(--text-2) !important; }

[data-theme="dark-neon"] #total_preview {
  background: var(--success-soft) !important; border: 1px solid rgba(52,211,153,0.18) !important; color: var(--success) !important;
}
[data-theme="dark-neon"] #total_preview_value { color: var(--success) !important; }


/* =============================================
   7 · TABLES
   ============================================= */

[data-theme="dark-neon"] .table-modern { color: var(--text-2); }
[data-theme="dark-neon"] .table-modern thead { background: var(--table-header-bg) !important; border-bottom: 1px solid var(--divider) !important; }
[data-theme="dark-neon"] .table-modern thead th { color: var(--text-3) !important; font-weight: var(--fw-semibold); border-bottom: 1px solid var(--divider) !important; }
[data-theme="dark-neon"] .table-modern tbody tr { border-bottom: 1px solid var(--divider) !important; }
[data-theme="dark-neon"] .table-modern tbody tr:hover { background: var(--table-row-hover) !important; }
[data-theme="dark-neon"] .table-modern tbody td { color: var(--text-2) !important; }
[data-theme="dark-neon"] .table-modern tbody td.font-medium { color: var(--text-1) !important; }

[data-theme="dark-neon"] table { border-color: var(--border-1); }
[data-theme="dark-neon"] table thead th { background: var(--table-header-bg); color: var(--text-3); border-color: var(--divider); }
[data-theme="dark-neon"] table tbody td { border-color: var(--divider); color: var(--text-2); }
[data-theme="dark-neon"] table tbody tr:hover { background: var(--table-row-hover); }


/* =============================================
   8 · BADGES
   ============================================= */

[data-theme="dark-neon"] .badge { border-radius: var(--radius-pill); font-weight: var(--fw-semibold); }
[data-theme="dark-neon"] .badge-success { background: var(--success-soft) !important; color: var(--success) !important; }
[data-theme="dark-neon"] .badge-warning { background: var(--warning-soft) !important; color: var(--warning) !important; }
[data-theme="dark-neon"] .badge-danger  { background: var(--danger-soft) !important;  color: var(--danger) !important; }
[data-theme="dark-neon"] .badge-info    { background: var(--info-soft) !important;    color: var(--info) !important; }
[data-theme="dark-neon"] .badge-gray    { background: var(--chip-bg) !important;      color: var(--text-3) !important; }


/* =============================================
   9 · ALERTS (Django messages)
   ============================================= */

[data-theme="dark-neon"] .bg-green-50  { background: var(--success-soft) !important; border-color: rgba(52,211,153,0.22) !important;  color: var(--log-success-text) !important; }
[data-theme="dark-neon"] .bg-red-50    { background: var(--danger-soft) !important;  border-color: rgba(248,113,113,0.22) !important; color: var(--log-error-text) !important; }
[data-theme="dark-neon"] .bg-yellow-50 { background: var(--warning-soft) !important; border-color: rgba(251,191,36,0.22) !important;  color: var(--log-warning-text) !important; }
[data-theme="dark-neon"] .bg-blue-50   { background: var(--info-soft) !important;    border-color: rgba(96,165,250,0.22) !important;  color: var(--log-info-text) !important; }


/* =============================================
   10 · MODALS
   ============================================= */

[data-theme="dark-neon"] .modal-overlay,
[data-theme="dark-neon"] [class*="fixed"][class*="bg-black"] { background: var(--overlay-bg) !important; }

[data-theme="dark-neon"] .modal,
[data-theme="dark-neon"] .modal-content {
  background: var(--modal-bg) !important; border: 1px solid var(--modal-border) !important;
  border-radius: var(--radius-lg) !important; box-shadow: var(--shadow-lg) !important; color: var(--text-1) !important;
}


/* =============================================
   11 · EMPTY STATE
   ============================================= */

[data-theme="dark-neon"] .empty-state svg { color: var(--text-4) !important; }
[data-theme="dark-neon"] .empty-state h3  { color: var(--text-3) !important; }
[data-theme="dark-neon"] .empty-state p   { color: var(--text-4) !important; }


/* =============================================
   12 · PAGINATION
   ============================================= */

[data-theme="dark-neon"] .pagination a,
[data-theme="dark-neon"] .pagination span { color: var(--text-2); border-color: var(--border-2); background: var(--glass-bg); }
[data-theme="dark-neon"] .pagination a:hover { background: var(--nav-item-bg-hover); color: var(--text-1); }
[data-theme="dark-neon"] .pagination .current,
[data-theme="dark-neon"] .pagination .active { background: var(--accent-soft) !important; color: var(--accent) !important; border-color: rgba(52,211,153,0.22) !important; }


/* =============================================
   13 · TYPOGRAPHY HELPERS
   ============================================= */

[data-theme="dark-neon"] h1 { font: var(--ty-title); color: var(--text-1); }
[data-theme="dark-neon"] h2 { font: var(--ty-section); color: var(--text-1); }
[data-theme="dark-neon"] h3 { font: var(--ty-card-title); color: var(--text-1); }

[data-theme="dark-neon"] .kpi  { font: var(--ty-kpi);  color: var(--text-1); font-variant-numeric: tabular-nums; }
[data-theme="dark-neon"] .num,
[data-theme="dark-neon"] .money { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }

/* ── Finance semantic ── */
[data-theme="dark-neon"] .valor-credito, [data-theme="dark-neon"] .text-income  { color: var(--income) !important; }
[data-theme="dark-neon"] .valor-debito,  [data-theme="dark-neon"] .text-expense { color: var(--expense) !important; }
[data-theme="dark-neon"] .text-transfer { color: var(--transfer) !important; }
[data-theme="dark-neon"] .text-invest   { color: var(--invest) !important; }
[data-theme="dark-neon"] .text-savings  { color: var(--savings) !important; }


/* =============================================
   14 · LINKS
   ============================================= */

[data-theme="dark-neon"] a:not(.btn):not(.btn-gradient):not(.btn-primary):not(.btn-secondary):not(.sidebar-item):not(.submenu-item):not(.module-item):not(.btn-action):not(.btn-edit):not(.btn-delete):not(.btn-view):not(.btn-ver-pagamentos) {
  color: var(--link);
}
[data-theme="dark-neon"] a:not(.btn):not(.btn-gradient):not(.btn-primary):not(.btn-secondary):not(.sidebar-item):not(.submenu-item):not(.module-item):not(.btn-action):not(.btn-edit):not(.btn-delete):not(.btn-view):not(.btn-ver-pagamentos):hover {
  color: var(--link-hover);
}


/* =============================================
   15 · TAILWIND UTILITY OVERRIDES
   ============================================= */

[data-theme="dark-neon"] .text-gray-400 { color: var(--text-4) !important; }
[data-theme="dark-neon"] .text-gray-500,
[data-theme="dark-neon"] .text-gray-600 { color: var(--text-3) !important; }
[data-theme="dark-neon"] .text-gray-700,
[data-theme="dark-neon"] .text-gray-800 { color: var(--text-2) !important; }
[data-theme="dark-neon"] .text-gray-900 { color: var(--text-1) !important; }

[data-theme="dark-neon"] .bg-white      { background: var(--surface-1) !important; }
[data-theme="dark-neon"] .bg-gray-50,
[data-theme="dark-neon"] .bg-gray-100   { background: var(--surface-0) !important; }
[data-theme="dark-neon"] .bg-gray-200   { background: var(--surface-2) !important; }

[data-theme="dark-neon"] .border-gray-200,
[data-theme="dark-neon"] .border-gray-300 { border-color: var(--border-1) !important; }

[data-theme="dark-neon"] .shadow-sm { box-shadow: var(--shadow-xs) !important; }
[data-theme="dark-neon"] .shadow    { box-shadow: var(--shadow-sm) !important; }
[data-theme="dark-neon"] .shadow-md { box-shadow: var(--shadow-md) !important; }
[data-theme="dark-neon"] .shadow-lg { box-shadow: var(--shadow-lg) !important; }

[data-theme="dark-neon"] .rounded-lg { border-radius: var(--radius-md) !important; }

[data-theme="dark-neon"] hr,
[data-theme="dark-neon"] .divide-gray-200 > * + * { border-color: var(--divider) !important; }

/* ── Dropdown ── */
[data-theme="dark-neon"] [x-show] > div,
[data-theme="dark-neon"] .dropdown-menu {
  background: var(--surface-3) !important; border: 1px solid var(--border-2) !important;
  box-shadow: var(--shadow-md) !important; border-radius: var(--radius-sm) !important;
}
[data-theme="dark-neon"] .dropdown-menu a,
[data-theme="dark-neon"] .dropdown-menu button { color: var(--text-2) !important; }
[data-theme="dark-neon"] .dropdown-menu a:hover,
[data-theme="dark-neon"] .dropdown-menu button:hover { background: var(--nav-item-bg-hover) !important; color: var(--text-1) !important; }


/* =============================================
   16 · RESPONSIVE
   ============================================= */

@media (max-width: 768px) {
  [data-theme="dark-neon"] .topbar { left: 0 !important; }
  [data-theme="dark-neon"] .main-content { margin-left: 0 !important; }
}
/* =============================================
   16b · GLOBAL OVERRIDES — tables.css, body, badges, forms
   ============================================= */

/* Body background override (Tailwind bg-gray-50) */
[data-theme="dark-neon"] body,
[data-theme="dark-neon"] body.bg-gray-50 {
  background: var(--surface-0) !important;
}

/* tailwind-basic.css global element overrides (linhas 274-300) */
[data-theme="dark-neon"] table {
  background-color: var(--surface-1) !important;
}
[data-theme="dark-neon"] thead {
  background-color: var(--table-header-bg) !important;
}
[data-theme="dark-neon"] th {
  color: var(--text-3) !important;
  border-bottom-color: var(--divider) !important;
}
[data-theme="dark-neon"] td {
  color: var(--text-2) !important;
  border-bottom-color: var(--divider) !important;
}
[data-theme="dark-neon"] tr:hover {
  background-color: var(--table-row-hover) !important;
}

/* tailwind-basic.css global input overrides (linhas 173-234) */
[data-theme="dark-neon"] input[type="text"],
[data-theme="dark-neon"] input[type="password"],
[data-theme="dark-neon"] input[type="email"],
[data-theme="dark-neon"] input[type="number"],
[data-theme="dark-neon"] input[type="datetime-local"],
[data-theme="dark-neon"] input[type="date"],
[data-theme="dark-neon"] input[type="month"],
[data-theme="dark-neon"] select,
[data-theme="dark-neon"] textarea,
[data-theme="dark-neon"] .form-control {
  background-color: var(--input-bg) !important;
  border-color: var(--input-border) !important;
  color: var(--text-1) !important;
}
[data-theme="dark-neon"] input[type="text"]:focus,
[data-theme="dark-neon"] input[type="password"]:focus,
[data-theme="dark-neon"] input[type="email"]:focus,
[data-theme="dark-neon"] input[type="number"]:focus,
[data-theme="dark-neon"] input[type="date"]:focus,
[data-theme="dark-neon"] input[type="month"]:focus,
[data-theme="dark-neon"] select:focus,
[data-theme="dark-neon"] textarea:focus {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 2px var(--focus-ring) !important;
}

/* tailwind-basic.css global button overrides (linhas 212-272) */
[data-theme="dark-neon"] .btn-primary {
  background-color: var(--accent) !important;
  width: auto !important;
}
[data-theme="dark-neon"] .btn-primary:hover {
  background-color: var(--accent-hover) !important;
}
[data-theme="dark-neon"] .btn-secondary {
  background-color: var(--info) !important;
}
[data-theme="dark-neon"] .btn-secondary:hover {
  background-color: var(--info-hover) !important;
}
[data-theme="dark-neon"] .btn-danger {
  background-color: var(--danger) !important;
}
[data-theme="dark-neon"] .btn-danger:hover {
  background-color: var(--danger-hover) !important;
}
[data-theme="dark-neon"] .btn-success {
  background-color: var(--accent) !important;
}
[data-theme="dark-neon"] .btn-success:hover {
  background-color: var(--accent-hover) !important;
}

/* tailwind-basic.css global Tailwind utility overrides */
[data-theme="dark-neon"] .bg-white {
  background-color: var(--surface-1) !important;
}
[data-theme="dark-neon"] .bg-gray-50 {
  background-color: var(--surface-0) !important;
}
[data-theme="dark-neon"] .bg-gray-100 {
  background-color: var(--surface-2) !important;
}
[data-theme="dark-neon"] .text-gray-900 {
  color: var(--text-1) !important;
}
[data-theme="dark-neon"] .text-gray-800 {
  color: var(--text-1) !important;
}
[data-theme="dark-neon"] .text-gray-700 {
  color: var(--text-2) !important;
}
[data-theme="dark-neon"] .text-gray-600 {
  color: var(--text-2) !important;
}
[data-theme="dark-neon"] .text-gray-500 {
  color: var(--text-3) !important;
}
[data-theme="dark-neon"] .text-gray-400 {
  color: var(--text-4) !important;
}
[data-theme="dark-neon"] .border-gray-200 {
  border-color: var(--border-1) !important;
}
[data-theme="dark-neon"] .border-gray-300 {
  border-color: var(--border-2) !important;
}
[data-theme="dark-neon"] .divide-gray-100 > * + * {
  border-color: var(--divider) !important;
}
[data-theme="dark-neon"] a {
  color: var(--accent) !important;
}
[data-theme="dark-neon"] a:hover {
  color: var(--accent-hover) !important;
}
[data-theme="dark-neon"] body {
  color: var(--text-1) !important;
}

/* tables.css overrides */
[data-theme="dark-neon"] .table-modern thead {
  background-color: var(--table-header-bg) !important;
  border-bottom-color: var(--divider) !important;
}
[data-theme="dark-neon"] .table-modern thead th {
  color: var(--text-3) !important;
}
[data-theme="dark-neon"] .table-modern tbody tr {
  border-bottom-color: var(--divider) !important;
}
[data-theme="dark-neon"] .table-modern tbody tr:hover {
  background-color: var(--table-row-hover) !important;
}
[data-theme="dark-neon"] .table-modern tbody td {
  color: var(--text-2) !important;
}
[data-theme="dark-neon"] .table-modern tbody td.font-medium {
  color: var(--text-1) !important;
}

/* Badge overrides (tables.css) */
[data-theme="dark-neon"] .badge-success {
  background-color: var(--success-soft) !important;
  color: var(--success) !important;
}
[data-theme="dark-neon"] .badge-warning {
  background-color: var(--warning-soft) !important;
  color: var(--warning) !important;
}
[data-theme="dark-neon"] .badge-danger {
  background-color: var(--danger-soft) !important;
  color: var(--danger) !important;
}
[data-theme="dark-neon"] .badge-info {
  background-color: var(--info-soft) !important;
  color: var(--info) !important;
}
[data-theme="dark-neon"] .badge-gray {
  background-color: var(--chip-bg) !important;
  color: var(--text-3) !important;
}

/* Empty state override */
[data-theme="dark-neon"] .empty-state {
  color: var(--text-4) !important;
}
[data-theme="dark-neon"] .empty-state svg {
  color: var(--text-4) !important;
}
[data-theme="dark-neon"] .empty-state h3 {
  color: var(--text-3) !important;
}
[data-theme="dark-neon"] .empty-state p {
  color: var(--text-4) !important;
}

/* forms.css override */
[data-theme="dark-neon"] .form-container {
  background: var(--surface-1) !important;
  border-color: var(--border-1) !important;
}
[data-theme="dark-neon"] .form-container input,
[data-theme="dark-neon"] .form-container select,
[data-theme="dark-neon"] .form-container textarea {
  background: var(--input-bg) !important;
  border-color: var(--input-border) !important;
  color: var(--text-1) !important;
}
[data-theme="dark-neon"] .form-container label {
  color: var(--text-2) !important;
}

/* Inline style color overrides (catches hardcoded grays in templates) */
[data-theme="dark-neon"] [style*="color:#6b7280"],
[data-theme="dark-neon"] [style*="color: #6b7280"] {
  color: var(--text-3) !important;
}
[data-theme="dark-neon"] [style*="color:#9ca3af"],
[data-theme="dark-neon"] [style*="color: #9ca3af"] {
  color: var(--text-4) !important;
}
[data-theme="dark-neon"] [style*="color:#374151"],
[data-theme="dark-neon"] [style*="color: #374151"] {
  color: var(--text-2) !important;
}
[data-theme="dark-neon"] [style*="color:#111827"],
[data-theme="dark-neon"] [style*="color: #111827"] {
  color: var(--text-1) !important;
}
[data-theme="dark-neon"] [style*="color:#1f2937"],
[data-theme="dark-neon"] [style*="color: #1f2937"] {
  color: var(--text-1) !important;
}
[data-theme="dark-neon"] [style*="color: #3b82f6"],
[data-theme="dark-neon"] [style*="color:#3b82f6"] {
  color: var(--info) !important;
}


/* =============================================
   17 · GLOBAL CONTAINER — sem max-width local
   ============================================= */

/* Todos os containers de app herdam largura total do .container-wrapper */
[data-theme="dark-neon"] .container-wrapper {
  max-width: none !important;
  padding: 0 !important;
}

/* Remove max-width e padding de containers específicos dos apps */
[data-theme="dark-neon"] .receitas-container,
[data-theme="dark-neon"] .categorias-container,
[data-theme="dark-neon"] .emprestimo-container,
[data-theme="dark-neon"] .dashboard-container,
[data-theme="dark-neon"] .dashboard.receita-dashboard {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}


/* =============================================
   18 · GLOBAL PAGE HEADER & TITLE
   Padrão único para todas as páginas
   ============================================= */

[data-theme="dark-neon"] .page-header {
  margin-bottom: var(--space-5);
}

[data-theme="dark-neon"] .page-title,
[data-theme="dark-neon"] .page-title-left h2,
[data-theme="dark-neon"] .receitas-header h1,
[data-theme="dark-neon"] .receitas-title,
[data-theme="dark-neon"] .emprestimo-header h1 {
  font: var(--ty-title) !important;
  color: var(--text-1) !important;
  display: flex !important;
  align-items: center !important;
  gap: var(--space-3) !important;
  margin: 0 0 var(--space-1) 0 !important;
}

[data-theme="dark-neon"] .page-title i,
[data-theme="dark-neon"] .page-title-left h2 i {
  color: var(--accent) !important;
}

[data-theme="dark-neon"] .page-subtitle,
[data-theme="dark-neon"] .receitas-header p,
[data-theme="dark-neon"] .receitas-subtitle,
[data-theme="dark-neon"] .emprestimo-header p {
  font-size: var(--text-md) !important;
  color: var(--text-3) !important;
  margin: 0 !important;
}

/* Card header within pages (Despesas "Despesas" + buttons) */
[data-theme="dark-neon"] .card-header {
  padding: var(--space-4) var(--space-5) !important;
  border-bottom: 1px solid var(--divider) !important;
  background: transparent !important;
}

[data-theme="dark-neon"] .card-title {
  font: var(--ty-section) !important;
  color: var(--text-1) !important;
}

[data-theme="dark-neon"] .card-body {
  padding: var(--space-5) !important;
}


/* =============================================
   19 · APP OVERRIDES — Despesas
   ============================================= */

/* Despesas buttons (inline .btn, .btn.secondary, .btn.neutral, .btn.sm) */
[data-theme="dark-neon"] .btn {
  background: var(--accent) !important;
  color: var(--text-inverse) !important;
  border: none !important;
}
[data-theme="dark-neon"] .btn:hover {
  background: var(--accent-hover) !important;
}
[data-theme="dark-neon"] .btn.secondary {
  background: var(--info) !important;
  color: #fff !important;
}
[data-theme="dark-neon"] .btn.secondary:hover {
  background: var(--info-hover) !important;
}
[data-theme="dark-neon"] .btn.neutral {
  background: var(--btn-secondary-bg) !important;
  color: var(--text-1) !important;
  border: 1px solid var(--border-2) !important;
}
[data-theme="dark-neon"] .btn.neutral:hover {
  background: var(--btn-secondary-bg-hover) !important;
}
[data-theme="dark-neon"] .btn.cancel {
  background: var(--btn-secondary-bg) !important;
  color: var(--text-2) !important;
}
[data-theme="dark-neon"] .btn.cancel:hover {
  background: var(--btn-secondary-bg-hover) !important;
  color: var(--text-1) !important;
}
[data-theme="dark-neon"] .btn.sm {
  background: var(--info) !important;
  color: #fff !important;
  font-size: var(--text-xs) !important;
}

/* Despesas badges */
[data-theme="dark-neon"] .badge.success {
  background: var(--success-soft) !important;
  color: var(--success) !important;
}
[data-theme="dark-neon"] .badge.warning {
  background: var(--warning-soft) !important;
  color: var(--warning) !important;
}
[data-theme="dark-neon"] .badge.gray {
  background: var(--chip-bg) !important;
  color: var(--text-3) !important;
}

/* Despesas modal styling */
[data-theme="dark-neon"] .modal.show {
  background: var(--overlay-bg) !important;
}
[data-theme="dark-neon"] .modal .modal-content {
  background: var(--modal-bg) !important;
  color: var(--text-1) !important;
  border: 1px solid var(--modal-border) !important;
  box-shadow: var(--shadow-lg) !important;
}
[data-theme="dark-neon"] .modal-header {
  background: var(--surface-3) !important;
  color: var(--text-1) !important;
  border-bottom: 1px solid var(--divider) !important;
}
[data-theme="dark-neon"] .modal-body {
  background: var(--modal-bg) !important;
  color: var(--text-1) !important;
}
[data-theme="dark-neon"] .modal-footer {
  background: var(--surface-3) !important;
  border-top: 1px solid var(--divider) !important;
}

/* Despesas form grid */
[data-theme="dark-neon"] .grid .field label {
  color: var(--text-2) !important;
}
[data-theme="dark-neon"] .grid .field input,
[data-theme="dark-neon"] .grid .field select {
  background: var(--input-bg) !important;
  border-color: var(--input-border) !important;
  color: var(--text-1) !important;
}
[data-theme="dark-neon"] .grid .field input:focus,
[data-theme="dark-neon"] .grid .field select:focus {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 2px var(--focus-ring) !important;
}

/* Despesas candidatos lista (modal pagar) */
[data-theme="dark-neon"] #candidatos_lista {
  background: var(--surface-0) !important;
  border-color: var(--border-1) !important;
  color: var(--text-2) !important;
}

/* Pagination bar */
[data-theme="dark-neon"] .pagination-bar {
  color: var(--text-3) !important;
}
[data-theme="dark-neon"] .pagination-info {
  color: var(--text-3) !important;
}
[data-theme="dark-neon"] .pagination-link {
  color: var(--text-2) !important;
  border-color: var(--border-2) !important;
  background: var(--glass-bg) !important;
}
[data-theme="dark-neon"] .pagination-link:hover {
  background: var(--nav-item-bg-hover) !important;
  color: var(--text-1) !important;
}
[data-theme="dark-neon"] .pagination-link.disabled {
  color: var(--text-4) !important;
  opacity: 0.5;
}
[data-theme="dark-neon"] .pagination-current {
  background: var(--accent-soft) !important;
  color: var(--accent) !important;
  border-color: rgba(52,211,153,0.22) !important;
}


/* =============================================
   20 · APP OVERRIDES — Receitas
   ============================================= */

[data-theme="dark-neon"] .receitas-actions {
  background: var(--surface-1) !important;
  border-color: var(--border-1) !important;
  color: var(--text-1) !important;
}

[data-theme="dark-neon"] .action-divider {
  background: var(--border-2) !important;
}

[data-theme="dark-neon"] .receitas-filters {
  background: var(--surface-1) !important;
  border-color: var(--border-1) !important;
  box-shadow: none !important;
}

[data-theme="dark-neon"] .filters-summary {
  color: var(--text-3) !important;
}
[data-theme="dark-neon"] .filters-summary strong {
  color: var(--text-1) !important;
}

[data-theme="dark-neon"] .filter-input,
[data-theme="dark-neon"] .form-input {
  background: var(--input-bg) !important;
  border-color: var(--input-border) !important;
  color: var(--text-1) !important;
}
[data-theme="dark-neon"] .filter-input:focus,
[data-theme="dark-neon"] .form-input:focus {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 2px var(--focus-ring) !important;
}
[data-theme="dark-neon"] .form-input::placeholder {
  color: var(--placeholder) !important;
}

[data-theme="dark-neon"] .btn-filter {
  background: var(--btn-secondary-bg) !important;
  color: var(--text-1) !important;
  border: 1px solid var(--border-2) !important;
}
[data-theme="dark-neon"] .btn-filter:hover {
  background: var(--btn-secondary-bg-hover) !important;
}

[data-theme="dark-neon"] .btn-clear {
  background: var(--danger) !important;
  color: var(--text-inverse) !important;
}
[data-theme="dark-neon"] .btn-clear:hover {
  background: var(--danger-hover) !important;
}

/* Receitas table */
[data-theme="dark-neon"] .receitas-table-card {
  background: var(--surface-1) !important;
  border-color: var(--border-1) !important;
  box-shadow: none !important;
}
[data-theme="dark-neon"] .receitas-table thead {
  background: var(--table-header-bg) !important;
}
[data-theme="dark-neon"] .receitas-table th {
  color: var(--text-3) !important;
  border-bottom-color: var(--divider) !important;
}
[data-theme="dark-neon"] .receitas-table tbody tr {
  border-bottom-color: var(--divider) !important;
}
[data-theme="dark-neon"] .receitas-table tbody tr:hover {
  background: var(--table-row-hover) !important;
}
[data-theme="dark-neon"] .receitas-table td {
  color: var(--text-2) !important;
}

[data-theme="dark-neon"] .valor-positivo {
  color: var(--income) !important;
}

[data-theme="dark-neon"] .status-badge {
  background: var(--success-soft) !important;
  color: var(--success) !important;
}

[data-theme="dark-neon"] .categoria-badge {
  background: var(--chip-bg) !important;
  color: var(--text-2) !important;
}

/* Receitas modal */
[data-theme="dark-neon"] .modal-overlay {
  background: var(--overlay-bg) !important;
}
[data-theme="dark-neon"] .modal-title {
  color: var(--text-1) !important;
}
[data-theme="dark-neon"] .form-group .form-label,
[data-theme="dark-neon"] .form-label {
  color: var(--text-2) !important;
}
[data-theme="dark-neon"] .form-hint {
  color: var(--text-4) !important;
}
[data-theme="dark-neon"] .btn-modal-primary {
  background: var(--accent) !important;
  color: var(--text-inverse) !important;
}
[data-theme="dark-neon"] .btn-modal-primary:hover {
  background: var(--accent-hover) !important;
}
[data-theme="dark-neon"] .btn-modal-secondary {
  background: var(--btn-secondary-bg) !important;
  color: var(--text-1) !important;
  border-color: var(--border-2) !important;
}
[data-theme="dark-neon"] .btn-modal-secondary:hover {
  background: var(--btn-secondary-bg-hover) !important;
}

/* Receitas vinculos */
[data-theme="dark-neon"] .vinculos-title {
  color: var(--text-1) !important;
}
[data-theme="dark-neon"] .vinculos-list {
  background: var(--surface-1) !important;
  border-color: var(--border-1) !important;
  box-shadow: none !important;
}
[data-theme="dark-neon"] .vinculo-item {
  border-bottom-color: var(--divider) !important;
}
[data-theme="dark-neon"] .vinculo-item:hover {
  background: var(--table-row-hover) !important;
}
[data-theme="dark-neon"] .vinculo-name {
  color: var(--text-1) !important;
}
[data-theme="dark-neon"] .vinculo-details {
  color: var(--text-3) !important;
}
[data-theme="dark-neon"] .vinculo-badge.ativo {
  background: var(--success-soft) !important;
  color: var(--success) !important;
}
[data-theme="dark-neon"] .vinculo-badge.inativo {
  background: var(--chip-bg) !important;
  color: var(--text-3) !important;
}

/* Receitas btn-sm (inline) */
[data-theme="dark-neon"] .btn-sm {
  background: var(--accent) !important;
  color: var(--text-inverse) !important;
  border: none !important;
}
[data-theme="dark-neon"] .btn-sm:hover {
  background: var(--accent-hover) !important;
}


/* =============================================
   21 · APP OVERRIDES — Categorias
   ============================================= */

[data-theme="dark-neon"] .categoria-form-card {
  background: var(--surface-1) !important;
  border-color: var(--border-1) !important;
  box-shadow: none !important;
}
[data-theme="dark-neon"] .categoria-form-header {
  background: var(--surface-3) !important;
  color: var(--text-1) !important;
}
[data-theme="dark-neon"] .categoria-form-header h2 {
  color: var(--text-1) !important;
}
[data-theme="dark-neon"] .categoria-form-body {
  background: var(--surface-1) !important;
}
[data-theme="dark-neon"] .form-group label {
  color: var(--text-2) !important;
}
[data-theme="dark-neon"] .form-group label i {
  color: var(--text-4) !important;
}
[data-theme="dark-neon"] .form-group input[type="text"],
[data-theme="dark-neon"] .form-group select {
  background: var(--input-bg) !important;
  border-color: var(--input-border) !important;
  color: var(--text-1) !important;
}
[data-theme="dark-neon"] .form-group input[type="text"]:focus,
[data-theme="dark-neon"] .form-group select:focus {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 2px var(--focus-ring) !important;
}
[data-theme="dark-neon"] .form-group input[type="color"] {
  border-color: var(--border-2) !important;
}
[data-theme="dark-neon"] .form-group .hint {
  color: var(--text-4) !important;
}
[data-theme="dark-neon"] .btn-submit {
  background: var(--accent) !important;
  color: var(--text-inverse) !important;
  box-shadow: none !important;
}
[data-theme="dark-neon"] .btn-submit:hover {
  background: var(--accent-hover) !important;
}

/* Categorias cards */
[data-theme="dark-neon"] .categoria-card {
  background: var(--surface-1) !important;
  border-color: var(--border-1) !important;
  box-shadow: none !important;
}
[data-theme="dark-neon"] .categoria-card-header.entrada {
  background: var(--success-soft) !important;
}
[data-theme="dark-neon"] .categoria-card-header.saida {
  background: var(--danger-soft) !important;
}
[data-theme="dark-neon"] .categoria-card-header {
  border-bottom-color: var(--divider) !important;
}
[data-theme="dark-neon"] .categoria-card-header.entrada .categoria-card-title {
  color: var(--success) !important;
}
[data-theme="dark-neon"] .categoria-card-header.saida .categoria-card-title {
  color: var(--danger) !important;
}
[data-theme="dark-neon"] .categoria-card-header.entrada .categoria-card-count {
  background: var(--success) !important;
  color: var(--text-inverse) !important;
}
[data-theme="dark-neon"] .categoria-card-header.saida .categoria-card-count {
  background: var(--danger) !important;
  color: #fff !important;
}
[data-theme="dark-neon"] .categoria-item {
  background: var(--surface-0) !important;
}
[data-theme="dark-neon"] .categoria-item:hover {
  background: var(--surface-2) !important;
}
[data-theme="dark-neon"] .categoria-nome {
  color: var(--text-1) !important;
}
[data-theme="dark-neon"] .categoria-edit-btn {
  color: var(--text-4) !important;
}
[data-theme="dark-neon"] .categoria-edit-btn:hover {
  background: var(--surface-3) !important;
  color: var(--text-1) !important;
}

/* Subcategorias */
[data-theme="dark-neon"] .subcategoria-item {
  background: var(--surface-1) !important;
  border-color: var(--border-1) !important;
}
[data-theme="dark-neon"] .subcategoria-item:hover {
  border-color: var(--border-2) !important;
}
[data-theme="dark-neon"] .subcategoria-nome {
  color: var(--text-2) !important;
}
[data-theme="dark-neon"] .subcategoria-edit-btn {
  color: var(--text-4) !important;
}
[data-theme="dark-neon"] .subcategoria-edit-btn:hover {
  color: var(--text-2) !important;
}
[data-theme="dark-neon"] .categoria-empty {
  color: var(--text-4) !important;
}

/* Icon picker */
[data-theme="dark-neon"] .icon-picker-trigger {
  background: var(--input-bg) !important;
  border-color: var(--input-border) !important;
}
[data-theme="dark-neon"] .icon-picker-trigger:hover {
  border-color: var(--border-3) !important;
}
[data-theme="dark-neon"] .icon-picker-preview {
  background: var(--surface-2) !important;
  color: var(--text-3) !important;
}
[data-theme="dark-neon"] .icon-picker-preview.has-icon {
  background: var(--accent-soft) !important;
  color: var(--accent) !important;
}
[data-theme="dark-neon"] .icon-picker-text {
  color: var(--text-3) !important;
}
[data-theme="dark-neon"] .icon-picker-text.has-icon {
  color: var(--text-1) !important;
}
[data-theme="dark-neon"] .icon-picker-dropdown {
  background: var(--surface-3) !important;
  border-color: var(--border-2) !important;
  box-shadow: var(--shadow-lg) !important;
}
[data-theme="dark-neon"] .icon-picker-search {
  border-bottom-color: var(--divider) !important;
}
[data-theme="dark-neon"] .icon-picker-search input {
  background: var(--input-bg) !important;
  border-color: var(--input-border) !important;
  color: var(--text-1) !important;
}
[data-theme="dark-neon"] .icon-picker-item {
  color: var(--text-2) !important;
  background: var(--surface-2) !important;
}
[data-theme="dark-neon"] .icon-picker-item:hover {
  background: var(--accent-soft) !important;
  color: var(--accent) !important;
}
[data-theme="dark-neon"] .icon-picker-item.selected {
  background: var(--accent) !important;
  color: var(--text-inverse) !important;
}
[data-theme="dark-neon"] .icon-picker-empty {
  color: var(--text-4) !important;
}


/* =============================================
   22 · APP OVERRIDES — Empréstimo
   ============================================= */

[data-theme="dark-neon"] .emprestimo-header {
  margin-bottom: var(--space-5);
}

[data-theme="dark-neon"] .emprestimo-header-buttons .btn-success {
  background: var(--accent) !important;
  color: var(--text-inverse) !important;
}
[data-theme="dark-neon"] .emprestimo-header-buttons .btn-success:hover {
  background: var(--accent-hover) !important;
}

/* Inline style overrides */
[data-theme="dark-neon"] [style*="color:#2563eb"],
[data-theme="dark-neon"] [style*="color: #2563eb"] {
  color: var(--accent) !important;
}
