/* ===== TEMA NEON =====
   Escuro em degradê azul-marinho/petróleo
   Cartões com borda verde-neon (#2DE0B5)
   Acentos ciano (#2CC4E8) e âmbar (#FFC857)
   Fonte Inter
*/
[data-tema="neon"] {
  --bg: #050912;
  --bg-deep: #03060d;
  --surface: #0a1220;
  --surface-2: #0e1a2e;
  --surface-3: #122038;
  --surface-hover: #152840;
  --ink: #e8f4fd;
  --ink-muted: #a8c8e8;      /* Lighter for 4.5:1 on surface */
  --ink-dim: #7a9abc;        /* Lighter for 4.5:1 on surface */
  --line: #1f3552;           /* Lighter for contrast */
  --line-bright: #2DE0B5;
  --brand: #2CC4E8;
  --brand-2: #2DE0B5;
  --brand-gradient: linear-gradient(135deg, var(--brand), var(--brand-2));
  --accent: #2DE0B5;       /* verde-neon */
  --accent-ink: #04241a;
  --accent-bg: #0f241d;
  --accent-border: #245c4d;
  --accent-cyan: #2CC4E8;  /* ciano */
  --accent-amber: #FFC857; /* âmbar */
  --accent-amber-dim: rgba(255, 200, 87, 0.15);
  --accent-cyan-dim: rgba(44, 196, 232, 0.15);
  --accent-green-dim: rgba(45, 224, 181, 0.15);
  --danger: #c0392b;         /* Darker red for 4.5:1 on white */
  --danger-ink: #fff;
  --danger-bg: #2a1822;
  --danger-border: #6b3a4a;
  --warning: #b45309;         /* Darker amber for 4.5:1 with white text */
  --warning-ink: #fff;
  --warning-bg: #332914;
  --warning-border: #5a450f;
  --info: #4dc4ff;          /* Brighter cyan for 4.5:1 on dark */
  --info-ink: #fff;
  --info-bg: #0f1f3a;
  --info-border: #3a8fd6;
  --violet: #a78bfa;
  --violet-ink: #fff;
  --violet-bg: #1e103a;
  --violet-border: #5b3fa8;
  --focus: #4dc4ff;
  --focus-ring: rgba(77, 196, 255, 0.35);
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 16px 48px rgba(0, 0, 0, 0.5);
  --shadow-xl: 0 20px 40px rgba(0, 0, 0, 0.55);
  --shadow-inner: inset 0 1px 0 rgba(255,255,255,.05);
  --shadow-glow: 0 0 24px rgba(77, 196, 255, 0.25);
  --shadow-glow-green: 0 0 24px rgba(45, 224, 181, 0.3);
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-full: 999px;
  --transition-fast: 150ms cubic-bezier(0.2, 0.7, 0.2, 1);
  --transition-base: 200ms cubic-bezier(0.2, 0.7, 0.2, 1);
  --transition-slow: 250ms cubic-bezier(0.2, 0.7, 0.2, 1);
  --font: 'Inter', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --font-mono: 'JetBrains Mono', 'Fira Code', monospace;
  --fs-xs: 12px;
  --fs-sm: 14px;
  --fs-md: 16px;
  --fs-lg: 20px;
  --fs-xl: 28px;
  --fs-2xl: 36px;
  --lh-tight: 1.2;
  --lh-normal: 1.45;
  --lh-relaxed: 1.6;
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 32px;
  --space-2xl: 48px;
  --card-padding-mobile: 16px;
  --card-padding-desktop: 22px;
  --card-gap: 12px;
  /* Legacy aliases for backward compatibility */
  --panel: var(--surface);
  --panel-elevated: var(--surface-2);
  --panel-hover: var(--surface-hover);
  --success: var(--accent);
  --success-dim: var(--accent-bg);
  --success-light: rgba(45, 224, 181, 0.12);
  --success-medium: var(--accent-border);
  --bad: var(--danger);
  --warn: var(--warning);
  --acc: var(--accent);
  --blue: var(--info);
  --mute: var(--ink-muted);
  --warn-ink: var(--warning-ink);
  --acc-ink: var(--accent-ink);
}

/* Background base com degradê radial animado sutil */
[data-tema="neon"] body {
  background:
    radial-gradient(ellipse 70% 50% at 15% -10%, rgba(10, 31, 58, 0.6), transparent 60%),
    radial-gradient(ellipse 60% 40% at 85% 0%, rgba(13, 42, 58, 0.5), transparent 55%),
    radial-gradient(ellipse 80% 60% at 50% 100%, rgba(45, 224, 181, 0.03), transparent 50%),
    var(--bg);
  background-attachment: fixed;
}

/* Cartões base */
[data-tema="neon"] section,
[data-tema="neon"] .box,
[data-tema="neon"] .module-card,
[data-tema="neon"] .stat,
[data-tema="neon"] .module-stat,
[data-tema="neon"] .pf-card,
[data-tema="neon"] .notif-item,
[data-tema="neon"] .notification-panel section,
[data-tema="neon"] .cn-link,
[data-tema="neon"] .cn-ok,
[data-tema="neon"] .unid-card,
[data-tema="neon"] .asg-dir-card,
[data-tema="neon"] .asg-group,
[data-tema="neon"] .asg-unidades,
[data-tema="neon"] .asg-names,
[data-tema="neon"] .asg-detail,
[data-tema="neon"] .treino-card,
[data-tema="neon"] .prob-card,
[data-tema="neon"] .om-card,
[data-tema="neon"] .lv-item,
[data-tema="neon"] .lv-foto,
[data-tema="neon"] .lv-prev,
[data-tema="neon"] .asg-orfas,
[data-tema="neon"] .asg-orfa,
[data-tema="neon"] .asg-semhoje,
[data-tema="neon"] .cfg-preview {
  background: linear-gradient(145deg, var(--panel), var(--panel-elevated)) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-md) !important;
  transition: background var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-fast) !important;
}

[data-tema="neon"] section:hover,
[data-tema="neon"] .box:hover,
[data-tema="neon"] .module-card:hover,
[data-tema="neon"] .stat:hover,
[data-tema="neon"] .module-stat:hover,
[data-tema="neon"] .pf-card:hover,
[data-tema="neon"] .notif-item:hover,
[data-tema="neon"] .unid-card:hover,
[data-tema="neon"] .asg-dir-card:hover,
[data-tema="neon"] .asg-group:hover,
[data-tema="neon"] .treino-card:hover,
[data-tema="neon"] .prob-card:hover,
[data-tema="neon"] .om-card:hover,
[data-tema="neon"] .lv-item:hover,
[data-tema="neon"] .lv-foto:hover,
[data-tema="neon"] .lv-prev:hover,
[data-tema="neon"] .asg-orfa:hover {
  border-color: var(--accent) !important;
  box-shadow: var(--shadow-lg), var(--shadow-glow-green) !important;
  transform: translateY(-2px) !important;
}

/* Cartão selecionado/ativo */
[data-tema="neon"] .asg-dir-card.on,
[data-tema="neon"] .module-card.on,
[data-tema="neon"] .module-subnav button.on,
[data-tema="neon"] .topnav button.on,
[data-tema="neon"] .unid-card.on,
[data-tema="neon"] .normas-chip.on {
  border-color: var(--accent) !important;
  background: linear-gradient(145deg, var(--panel-hover), var(--panel-elevated)) !important;
  box-shadow: var(--shadow-md), var(--shadow-glow-green), inset 0 0 0 1px var(--accent) !important;
  transform: translateY(-2px) !important;
}

/* Botões */
[data-tema="neon"] button {
  border-radius: var(--radius-md) !important;
  font-weight: 600 !important;
  transition: all var(--transition-fast) !important;
  min-height: 44px !important;
}

[data-tema="neon"] button.main,
[data-tema="neon"] button[data-module-action="asg-rot-apply"],
[data-tema="neon"] button[data-module-action="asg-copy"],
[data-tema="neon"] button[data-module-action="asg-local-add"],
[data-tema="neon"] .auth-google {
  background: linear-gradient(135deg, var(--accent), var(--accent-cyan)) !important;
  border: none !important;
  color: var(--bg) !important;
  font-weight: 700 !important;
  box-shadow: var(--shadow-md), var(--shadow-glow-green) !important;
  text-shadow: none !important;
}

[data-tema="neon"] button.main:hover,
[data-tema="neon"] button.main:focus-visible {
  background: linear-gradient(135deg, var(--accent-cyan), var(--accent)) !important;
  box-shadow: var(--shadow-lg), var(--shadow-glow-green), 0 0 32px rgba(45, 224, 181, 0.4) !important;
  transform: translateY(-2px) scale(1.01) !important;
}

[data-tema="neon"] button.main:active {
  transform: translateY(0) scale(0.99) !important;
}

[data-tema="neon"] button.in {
  background: var(--success-dim) !important;
  border: 1px solid var(--success) !important;
  color: var(--success) !important;
}

[data-tema="neon"] button.in:hover {
  background: var(--success) !important;
  color: var(--bg) !important;
  box-shadow: var(--shadow-glow-green) !important;
}

[data-tema="neon"] button.out,
[data-tema="neon"] button.danger,
[data-tema="neon"] .asg-del-lista {
  background: var(--danger-dim) !important;
  border: 1px solid var(--danger) !important;
  color: var(--danger) !important;
}

[data-tema="neon"] button.out:hover,
[data-tema="neon"] button.danger:hover,
[data-tema="neon"] .asg-del-lista:hover {
  background: var(--danger) !important;
  color: #fff !important;
  box-shadow: 0 0 24px rgba(255, 77, 106, 0.4) !important;
}

[data-tema="neon"] button.link {
  color: var(--accent-cyan) !important;
  background: transparent !important;
  border: none !important;
}

[data-tema="neon"] button.link:hover {
  color: var(--accent) !important;
  text-shadow: 0 0 8px var(--accent-cyan) !important;
}

[data-tema="neon"] button:disabled {
  opacity: 0.4 !important;
  cursor: not-allowed !important;
  transform: none !important;
}

[data-tema="neon"] button:focus-visible {
  outline: 2px solid var(--accent-cyan) !important;
  outline-offset: 2px !important;
}

/* Botões pequenos (mover, etc) */
[data-tema="neon"] .mover,
[data-tema="neon"] .actions button:not(.main):not(.in):not(.out):not(.danger):not(.link) {
  background: var(--panel-elevated) !important;
  border: 1px solid var(--line) !important;
  color: var(--ink) !important;
  min-width: 40px !important;
}

[data-tema="neon"] .mover:hover,
[data-tema="neon"] .actions button:not(.main):not(.in):not(.out):not(.danger):not(.link):hover {
  border-color: var(--accent) !important;
  background: var(--panel-hover) !important;
  color: var(--accent) !important;
}

/* Inputs */
[data-tema="neon"] input,
[data-tema="neon"] select,
[data-tema="neon"] textarea {
  background: var(--panel-elevated) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius-sm) !important;
  color: var(--ink) !important;
  font-family: var(--font-sans) !important;
  padding: 12px 14px !important;
  transition: all var(--transition-fast) !important;
  min-height: 44px !important;
}

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

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

[data-tema="neon"] label {
  color: var(--ink-muted) !important;
  font-weight: 600 !important;
  font-size: 0.8rem !important;
}

/* Select custom */
[data-tema="neon"] select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238ab4d8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  padding-right: 40px !important;
  appearance: none !important;
}

/* Tabelas */
[data-tema="neon"] table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
  width: 100% !important;
}

[data-tema="neon"] th {
  background: var(--panel-elevated) !important;
  border-bottom: 2px solid var(--line) !important;
  color: var(--ink-dim) !important;
  font-weight: 600 !important;
  font-size: 0.75rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  padding: 12px 14px !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 1 !important;
}

[data-tema="neon"] td {
  border-bottom: 1px solid var(--line) !important;
  padding: 12px 14px !important;
  color: var(--ink) !important;
  vertical-align: middle !important;
  transition: background var(--transition-fast) !important;
}

[data-tema="neon"] tr:hover td {
  background: var(--accent-green-dim) !important;
}

[data-tema="neon"] tr:last-child td {
  border-bottom: none !important;
}

/* Status pills/badges */
[data-tema="neon"] .st,
[data-tema="neon"] .tag,
[data-tema="neon"] .module-status,
[data-tema="neon"] .asg-dir-turnos,
[data-tema="neon"] .pend-row b,
[data-tema="neon"] .pf-tag {
  border-radius: 999px !important;
  padding: 4px 12px !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}

[data-tema="neon"] .st.aprovada,
[data-tema="neon"] .st.ativas,
[data-tema="neon"] .pf-tag:not(.bad) {
  background: var(--success-dim) !important;
  color: var(--success) !important;
  border: 1px solid var(--success) !important;
}

[data-tema="neon"] .st.pendente,
[data-tema="neon"] .st.recusada,
[data-tema="neon"] .pf-tag.bad {
  background: var(--danger-dim) !important;
  color: var(--danger) !important;
  border: 1px solid var(--danger) !important;
}

[data-tema="neon"] .tag {
  background: var(--warning-dim) !important;
  color: var(--warning) !important;
  border: 1px solid var(--warning) !important;
}

/* Topbar / navegação */
[data-tema="neon"] header.topbar {
  background: linear-gradient(180deg, rgba(10, 18, 32, 0.95), rgba(5, 9, 18, 0.95)) !important;
  border: 1px solid var(--line) !important;
  border-bottom-color: var(--accent) !important;
  box-shadow:
    0 4px 24px rgba(0, 0, 0, 0.4),
    0 0 0 1px var(--line) inset,
    0 0 40px rgba(44, 196, 232, 0.05) inset !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
}

[data-tema="neon"] .brand-logo {
  background: linear-gradient(135deg, var(--accent), var(--accent-cyan)) !important;
  box-shadow: var(--shadow-glow-green), inset 0 1px 0 rgba(255,255,255,0.1) !important;
}

[data-tema="neon"] .brand-name {
  background: linear-gradient(90deg, var(--accent-cyan), var(--accent), var(--accent-amber)) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

[data-tema="neon"] .topnav button {
  color: var(--ink-muted) !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  border-radius: var(--radius-md) !important;
  padding: 10px 16px !important;
  font-weight: 600 !important;
}

[data-tema="neon"] .topnav button:hover {
  background: var(--panel-elevated) !important;
  color: var(--ink) !important;
}

[data-tema="neon"] .topnav button.on {
  background: linear-gradient(145deg, var(--panel-hover), var(--panel-elevated)) !important;
  border-color: var(--accent) !important;
  color: var(--accent) !important;
  box-shadow: var(--shadow-glow-green), inset 0 0 0 1px var(--accent) !important;
}

[data-tema="neon"] .topnav button.on::after {
  background: var(--accent) !important;
  box-shadow: 0 0 12px var(--accent) !important;
}

[data-tema="neon"] .topnav button svg {
  color: var(--ink-dim) !important;
}

[data-tema="neon"] .topnav button.on svg,
[data-tema="neon"] .topnav button:hover svg {
  color: var(--accent) !important;
}

[data-tema="neon"] .user-txt b {
  color: var(--ink) !important;
}

[data-tema="neon"] .user-txt small {
  color: var(--accent-cyan) !important;
}

[data-tema="neon"] .avatar {
  background: linear-gradient(135deg, var(--accent), var(--accent-cyan)) !important;
  border-color: var(--line) !important;
}

/* Notificação bell */
[data-tema="neon"] .notification-bell {
  background: var(--panel-elevated) !important;
  border-color: var(--line) !important;
  color: var(--ink-muted) !important;
}

[data-tema="neon"] .notification-bell:hover {
  background: var(--panel-hover) !important;
  border-color: var(--accent) !important;
  color: var(--accent) !important;
}

[data-tema="neon"] .notification-count {
  background: var(--danger) !important;
  box-shadow: 0 0 16px var(--danger) !important;
}

/* Module cards (hub) */
[data-tema="neon"] .module-card {
  border-radius: var(--radius-xl) !important;
  padding: 28px !important;
  min-height: 200px !important;
}

[data-tema="neon"] .module-card::before {
  height: 3px !important;
  background: linear-gradient(90deg, transparent, var(--accent), transparent) !important;
}

[data-tema="neon"] .mc-ico {
  background: var(--success-dim) !important;
  border-color: var(--success) !important;
  color: var(--success) !important;
  border-radius: var(--radius-md) !important;
}

[data-tema="neon"] .module-card:hover .mc-ico {
  background: var(--success) !important;
  color: var(--bg) !important;
  box-shadow: var(--shadow-glow-green) !important;
}

/* Checklist hero */
[data-tema="neon"] .asg-hero {
  background:
    radial-gradient(ellipse 60% 40% at 15% -10%, rgba(45, 224, 181, 0.1), transparent 70%),
    radial-gradient(ellipse 50% 40% at 90% -5%, rgba(44, 196, 232, 0.08), transparent 70%),
    var(--bg) !important;
}

[data-tema="neon"] .asg-start {
  background: linear-gradient(135deg, var(--accent), var(--accent-cyan)) !important;
  box-shadow: var(--shadow-lg), var(--shadow-glow-green) !important;
}

[data-tema="neon"] .asg-start-in .asg-play {
  color: var(--bg) !important;
  filter: drop-shadow(0 0 16px rgba(0,0,0,0.3)) !important;
}

/* Cards específicos */
[data-tema="neon"] .asg-names {
  background: linear-gradient(180deg, var(--panel), var(--panel-elevated)) !important;
  border-color: var(--line) !important;
  box-shadow: var(--shadow-lg) !important;
}

[data-tema="neon"] .asg-names-header {
  border-bottom-color: var(--line) !important;
}

[data-tema="neon"] .asg-names-header input {
  background: var(--panel-elevated) !important;
  border-color: var(--line) !important;
}

[data-tema="neon"] .asg-dir-card.on {
  border-color: var(--accent) !important;
  background: linear-gradient(145deg, var(--panel-hover), var(--panel-elevated)) !important;
  box-shadow: var(--shadow-md), var(--shadow-glow-green), inset 0 0 0 1px var(--accent) !important;
}

[data-tema="neon"] .asg-detail {
  background: transparent !important;
}

[data-tema="neon"] .asg-group {
  border-radius: var(--radius-lg) !important;
}

[data-tema="neon"] .asg-head {
  border-bottom: 1px solid var(--line) !important;
  padding-bottom: 14px !important;
  margin-bottom: 14px !important;
}

[data-tema="neon"] .asg-unid select,
[data-tema="neon"] .asg-unid.falta select {
  border-color: var(--warning) !important;
}

[data-tema="neon"] .asg-unid .on {
  background: var(--success) !important;
  border-color: var(--success) !important;
  color: var(--bg) !important;
}

[data-tema="neon"] .asg-semhoje {
  background: var(--accent-cyan-dim) !important;
  border-color: var(--accent-cyan) !important;
  color: var(--ink) !important;
}

[data-tema="neon"] .asg-semhoje b {
  color: var(--accent-cyan) !important;
}

[data-tema="neon"] .asg-orfas {
  border-style: dashed !important;
  border-color: var(--line) !important;
  background: var(--panel-elevated) !important;
}

[data-tema="neon"] .asg-orfas summary {
  color: var(--accent-cyan) !important;
}

[data-tema="neon"] .asg-orfa {
  background: var(--panel) !important;
  border-color: var(--line) !important;
}

[data-tema="neon"] .asg-del-lista {
  border-color: var(--danger) !important;
}

/* Forms */
[data-tema="neon"] .module-form {
  gap: 16px !important;
}

[data-tema="neon"] .module-form .field {
  margin-bottom: 0 !important;
}

[data-tema="neon"] .module-form input,
[data-tema="neon"] .module-form select,
[data-tema="neon"] .module-form textarea {
  padding: 14px 16px !important;
}

/* Stats */
[data-tema="neon"] .stat,
[data-tema="neon"] .module-stat {
  background: linear-gradient(145deg, var(--panel), var(--panel-elevated)) !important;
  border-radius: var(--radius-lg) !important;
  padding: 20px !important;
}

[data-tema="neon"] .stat b,
[data-tema="neon"] .module-stat strong {
  color: var(--accent) !important;
  text-shadow: 0 0 16px var(--accent-green-dim) !important;
}

[data-tema="neon"] .stat span,
[data-tema="neon"] .module-stat span {
  color: var(--ink-dim) !important;
}

/* Insights / barras de progresso */
[data-tema="neon"] .bar .trk {
  background: var(--panel-elevated) !important;
  border-radius: 999px !important;
}

[data-tema="neon"] .bar i {
  background: linear-gradient(90deg, var(--accent), var(--accent-cyan)) !important;
  border-radius: 999px !important;
  box-shadow: 0 0 12px var(--accent) !important;
}

[data-tema="neon"] .treino-bar i {
  background: linear-gradient(90deg, var(--accent), var(--accent-cyan)) !important;
}

/* Treino cards */
[data-tema="neon"] .treino-card {
  background: var(--panel-elevated) !important;
  border-color: var(--line) !important;
  border-radius: var(--radius-lg) !important;
}

[data-tema="neon"] .treino-card.feito {
  border-color: var(--success) !important;
  background: var(--success-dim) !important;
}

[data-tema="neon"] .treino-n {
  background: var(--accent-cyan-dim) !important;
  color: var(--accent-cyan) !important;
}

[data-tema="neon"] .treino-card.feito .treino-n {
  background: var(--success) !important;
  color: var(--bg) !important;
}

[data-tema="neon"] .treino-op {
  background: var(--panel-elevated) !important;
  border-color: var(--line) !important;
  border-radius: var(--radius-md) !important;
}

[data-tema="neon"] .treino-op.certa {
  border-color: var(--success) !important;
  background: var(--success-dim) !important;
}

[data-tema="neon"] .treino-op.errada {
  border-color: var(--danger) !important;
  background: var(--danger-dim) !important;
}

/* Configurações */
[data-tema="neon"] .settings-nav {
  background: var(--panel) !important;
  border-color: var(--line) !important;
}

[data-tema="neon"] .settings-nav button {
  color: var(--ink-muted) !important;
}

[data-tema="neon"] .settings-nav button:hover {
  background: var(--panel-elevated) !important;
  color: var(--ink) !important;
}

[data-tema="neon"] .settings-nav button.on {
  background: var(--accent-green-dim) !important;
  color: var(--accent) !important;
  border-left: 3px solid var(--accent) !important;
}

[data-tema="neon"] .settings-main {
  background: var(--panel) !important;
  border-color: var(--line) !important;
}

[data-tema="neon"] .settings-link {
  background: var(--panel-elevated) !important;
  border-radius: var(--radius-md) !important;
  border: 1px solid var(--line) !important;
}

[data-tema="neon"] .settings-link:hover {
  border-color: var(--accent) !important;
  background: var(--panel-hover) !important;
}

[data-tema="neon"] .switch .knob {
  background: var(--line) !important;
}

[data-tema="neon"] .switch input:checked + .knob {
  background: linear-gradient(135deg, var(--accent), var(--accent-cyan)) !important;
}

[data-tema="neon"] .cfg-preview {
  border-style: dashed !important;
  border-color: var(--line) !important;
  background: var(--panel) !important;
}

[data-tema="neon"] .pv-logo {
  background: var(--accent) !important;
}

[data-tema="neon"] .pv-btn {
  background: var(--accent) !important;
}

/* Modal/overlay */
[data-tema="neon"] .cn-scan-frame {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 100vmax rgba(0,0,0,0.7), var(--shadow-glow-green) !important;
}

[data-tema="neon"] .cn-scan-btn {
  background: linear-gradient(135deg, var(--accent), var(--accent-cyan)) !important;
}

/* Notif toast */
[data-tema="neon"] .notif-toast {
  background: var(--panel-elevated) !important;
  border-color: var(--accent-cyan) !important;
  box-shadow: var(--shadow-lg), var(--shadow-glow) !important;
}

/* Loading skeleton */
[data-tema="neon"] .skeleton {
  background: linear-gradient(90deg, var(--panel-elevated) 25%, var(--panel-hover) 50%, var(--panel-elevated) 75%) !important;
  background-size: 200% 100% !important;
  animation: neon-shimmer 1.5s infinite !important;
  border-radius: var(--radius-sm) !important;
}

@keyframes neon-shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* Scrollbar */
[data-tema="neon"] ::-webkit-scrollbar {
  width: 8px !important;
  height: 8px !important;
}

[data-tema="neon"] ::-webkit-scrollbar-track {
  background: var(--panel) !important;
}

[data-tema="neon"] ::-webkit-scrollbar-thumb {
  background: var(--line) !important;
  border-radius: 4px !important;
  border: 2px solid var(--panel) !important;
}

[data-tema="neon"] ::-webkit-scrollbar-thumb:hover {
  background: var(--accent) !important;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  [data-tema="neon"] *,
  [data-tema="neon"] *::before,
  [data-tema="neon"] *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* Mobile adjustments */
@media (max-width: 800px) {
  [data-tema="neon"] .asg-split {
    grid-template-columns: 1fr !important;
  }
  [data-tema="neon"] .asg-names {
    position: sticky !important;
    top: 90px !important;
    max-height: 280px !important;
    height: auto !important;
  }
  [data-tema="neon"] .module-card {
    min-height: auto !important;
    padding: 20px !important;
  }
  [data-tema="neon"] .topnav button {
    padding: 10px 12px !important;
    font-size: 0.85rem !important;
  }
}

/* Theme selector cards */
[data-tema="neon"] .tema-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
  gap: 16px !important;
  margin-top: 16px !important;
}

[data-tema="neon"] .tema-card {
  background: linear-gradient(145deg, var(--panel), var(--panel-elevated)) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius-lg) !important;
  padding: 20px !important;
  cursor: pointer !important;
  transition: all var(--transition-base) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  text-align: left !important;
  box-shadow: var(--shadow-md) !important;
}

[data-tema="neon"] .tema-card:hover {
  border-color: var(--accent) !important;
  box-shadow: var(--shadow-lg), var(--shadow-glow-green) !important;
  transform: translateY(-4px) !important;
}

[data-tema="neon"] .tema-card.on {
  border-color: var(--accent) !important;
  background: linear-gradient(145deg, var(--panel-hover), var(--panel-elevated)) !important;
  box-shadow: var(--shadow-md), var(--shadow-glow-green), inset 0 0 0 1px var(--accent) !important;
}

[data-tema="neon"] .tema-ico {
  font-size: 2.5rem !important;
  line-height: 1 !important;
  background: linear-gradient(135deg, var(--accent), var(--accent-cyan)) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

[data-tema="neon"] .tema-nome {
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: var(--ink) !important;
}

[data-tema="neon"] .tema-desc {
  font-size: 0.8rem !important;
  color: var(--ink-dim) !important;
  line-height: 1.4 !important;
}

[data-tema="neon"] .switch input:checked + .knob::after {
  background: var(--bg) !important;
}