/* ==========================================================================
   SINDICON — Temas dinâmicos (slugs em português no html.theme-*)
   ========================================================================== */

/* —— Logo adaptável à cor do tema —— */
.logo-marca {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}
.logo-marca--sidebar { height: 36px; max-width: 120px; }
.logo-marca--login { max-width: 280px; width: 100%; }
.logo-marca-foto {
  display: block;
  height: 100%;
  width: auto;
  max-width: 100%;
  object-fit: contain;
}
.logo-marca--login .logo-marca-foto { width: 100%; height: auto; }
.logo-marca-tint {
  display: none;
  position: absolute;
  inset: 0;
  background: var(--logo-color, var(--color-primary));
  -webkit-mask-image: url('../icons/logo-sindicon.png');
  mask-image: url('../icons/logo-sindicon.png');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}
html:not(.theme-original-sindicon) .logo-marca-tint { display: block; }
html:not(.theme-original-sindicon) .logo-marca-foto {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
  overflow: hidden;
}
html.theme-original-sindicon .logo-marca-foto {
  position: static;
  width: auto;
  height: 100%;
  opacity: 1;
  background: #fff;
  border-radius: 4px;
  padding: 2px 4px;
  box-shadow: 0 2px 12px rgba(0, 51, 204, 0.2);
}
html.theme-original-sindicon .logo-marca--login .logo-marca-foto {
  height: auto;
  width: 100%;
  padding: 8px;
  border-radius: 8px;
}

/* —— Menu flutuante de temas —— */
.page-header {
  position: relative;
  z-index: 400;
}
.header-actions {
  position: relative;
  z-index: 401;
}
.tema-switcher { position: relative; z-index: 402; }
.tema-switcher-btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid var(--glass-border, rgba(255,255,255,.15));
  background: var(--glass-bg, rgba(255,255,255,.08));
  color: var(--color-text);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.tema-switcher-btn:hover {
  transform: scale(1.05);
  border-color: var(--color-neon, var(--color-primary-light));
  box-shadow: var(--glow-purple, 0 0 20px rgba(147,51,234,.35));
}
.tema-switcher-menu {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  width: min(92vw, 320px);
  max-height: min(70vh, 480px);
  overflow: auto;
  padding: 12px;
  border-radius: var(--radius-lg, 16px);
  background: var(--glass-bg-strong, rgba(18,8,32,.92));
  border: 1px solid var(--glass-border-hover, rgba(192,132,252,.35));
  box-shadow: var(--shadow-elevated, 0 20px 50px rgba(0,0,0,.55));
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  z-index: 10050;
  pointer-events: auto;
}
.tema-switcher.is-aberto .tema-switcher-menu {
  position: fixed;
}
.tema-switcher-menu-title {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--color-text-muted);
  margin: 0 8px 8px;
}
.tema-switcher-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.tema-switcher-item {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid transparent;
  border-radius: var(--radius-md, 12px);
  background: transparent;
  color: var(--color-text);
  font-size: 14px;
  text-align: left;
  cursor: pointer;
  transition: background .2s, border-color .2s;
}
.tema-switcher-item:hover {
  background: var(--color-gray-50, rgba(255,255,255,.05));
  border-color: var(--glass-border);
}
.tema-switcher-item.is-ativo {
  background: rgba(147, 51, 234, 0.18);
  border-color: var(--color-neon, var(--color-primary-light));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06);
}
.tema-switcher-swatch {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  flex-shrink: 0;
  background: var(--swatch, #9333ea);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.15);
}
.tema-switcher-swatch--arcoiris {
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.22);
}

.tema-switcher--flutuante {
  position: fixed;
  top: max(12px, env(safe-area-inset-top));
  right: max(12px, env(safe-area-inset-right));
  z-index: 10060;
}

.header-actions .tema-switcher { flex-shrink: 0; }

/* —— Ambiente (variáveis por tema) —— */
.ambient-orb-1 { background: radial-gradient(circle, var(--ambient-1, rgba(147,51,234,.65)) 0%, transparent 70%); }
.ambient-orb-2 { background: radial-gradient(circle, var(--ambient-2, rgba(192,132,252,.45)) 0%, transparent 70%); }
.ambient-orb-3 { background: radial-gradient(circle, var(--ambient-3, rgba(124,58,237,.5)) 0%, transparent 70%); }
.ambient-mouse-glow {
  background: radial-gradient(
    800px circle at var(--mouse-x) var(--mouse-y),
    var(--mouse-glow, rgba(168,85,247,.12)),
    transparent 45%
  );
}

/* ==========================================================================
   TEMA: roxo-ultravioleta (padrão — espelha tokens.css)
   ========================================================================== */
html.theme-roxo-ultravioleta {
  --logo-color: #9333ea;
  --ambient-1: rgba(147, 51, 234, 0.65);
  --ambient-2: rgba(192, 132, 252, 0.45);
  --ambient-3: rgba(124, 58, 237, 0.5);
}

/* ==========================================================================
   TEMA: original-sindicon (azul institucional da logo)
   ========================================================================== */
html.theme-original-sindicon {
  --bg-deep: #eef2ff;
  --bg-elevated: #ffffff;
  --bg-surface: #f8fafc;
  --color-primary: #0033cc;
  --color-primary-light: #2563eb;
  --color-primary-dark: #1e3a8a;
  --color-neon: #3b82f6;
  --color-ultraviolet: #0033cc;
  --color-pearl-1: #60a5fa;
  --color-pearl-2: #93c5fd;
  --color-pearl-3: #3b82f6;
  --color-white: #ffffff;
  --color-background: #eef2ff;
  --color-text: #1e293b;
  --color-text-muted: #475569;
  --color-gray-50: rgba(0, 51, 204, 0.04);
  --color-gray-100: rgba(0, 51, 204, 0.07);
  --color-gray-200: rgba(0, 51, 204, 0.14);
  --color-gray-300: rgba(0, 51, 204, 0.22);
  --color-gray-400: #64748b;
  --color-gray-500: #64748b;
  --color-gray-600: #475569;
  --color-gray-700: #334155;
  --color-gray-900: #0f172a;
  --glass-bg: rgba(255, 255, 255, 0.88);
  --glass-bg-strong: #0033cc;
  --glass-border: rgba(0, 51, 204, 0.12);
  --glass-border-hover: rgba(37, 99, 235, 0.35);
  --glow-purple: 0 0 30px rgba(0, 51, 204, 0.2);
  --glow-neon: 0 0 40px rgba(37, 99, 235, 0.35);
  --shadow-card: 0 4px 20px rgba(15, 23, 42, 0.08);
  --shadow-md: 0 8px 28px rgba(15, 23, 42, 0.12);
  --shadow-elevated: 0 20px 40px rgba(15, 23, 42, 0.14);
  --gradient-pearl: linear-gradient(135deg, #2563eb 0%, #0033cc 50%, #1d4ed8 100%);
  --gradient-card-shine: linear-gradient(125deg, rgba(255,255,255,.5) 0%, transparent 50%);
  --logo-color: #0033cc;
  --ambient-1: rgba(0, 51, 204, 0.15);
  --ambient-2: rgba(37, 99, 235, 0.1);
  --ambient-3: rgba(59, 130, 246, 0.08);
  --grid-line: rgba(0, 51, 204, 0.06);
  --mouse-glow: rgba(37, 99, 235, 0.08);
}
html.theme-original-sindicon .sidebar {
  background: #0033cc !important;
  border-right-color: rgba(255,255,255,.12) !important;
}
html.theme-original-sindicon .sidebar-nav a { color: rgba(255,255,255,.85); }
html.theme-original-sindicon .sidebar-nav a.active,
html.theme-original-sindicon .sidebar-nav a:hover { color: #fff !important; background: rgba(255,255,255,.12) !important; }
html.theme-original-sindicon .sidebar-logo-text strong,
html.theme-original-sindicon .login-brand-name {
  background: none;
  -webkit-text-fill-color: #fff;
  color: #fff;
}
html.theme-original-sindicon .sidebar-logo-text span { color: rgba(255,255,255,.75); }
html.theme-original-sindicon .sidebar-footer { color: rgba(255,255,255,.7) !important; }
html.theme-original-sindicon .page-header h1 {
  background: linear-gradient(135deg, #0f172a, #0033cc);
  -webkit-background-clip: text;
  background-clip: text;
}
html.theme-original-sindicon .form-input { background: #fff !important; }

/* ==========================================================================
   TEMA: floresta-nativa
   ========================================================================== */
html.theme-floresta-nativa {
  --bg-deep: #052e16;
  --bg-elevated: #0a3d22;
  --bg-surface: #14532d;
  --color-primary: #16a34a;
  --color-primary-light: #4ade80;
  --color-primary-dark: #15803d;
  --color-neon: #86efac;
  --color-ultraviolet: #166534;
  --color-pearl-1: #bbf7d0;
  --color-pearl-2: #86efac;
  --color-pearl-3: #4ade80;
  --color-text: #ecfdf5;
  --color-text-muted: #a7f3d0;
  --color-gray-200: rgba(74, 222, 128, 0.22);
  --color-gray-400: #6ee7b7;
  --color-gray-500: #34d399;
  --glass-bg: rgba(10, 61, 34, 0.6);
  --glass-bg-strong: rgba(20, 83, 45, 0.88);
  --glass-border: rgba(134, 239, 172, 0.2);
  --glass-border-hover: rgba(187, 247, 208, 0.4);
  --glow-purple: 0 0 40px rgba(22, 163, 74, 0.35);
  --glow-neon: 0 0 60px rgba(74, 222, 128, 0.4);
  --gradient-pearl: linear-gradient(135deg, #4ade80, #16a34a, #15803d);
  --gradient-card-shine: linear-gradient(125deg, rgba(187,247,208,.12), transparent 55%);
  --logo-color: #4ade80;
  --ambient-1: rgba(22, 163, 74, 0.55);
  --ambient-2: rgba(74, 222, 128, 0.35);
  --ambient-3: rgba(21, 128, 61, 0.45);
  --grid-line: rgba(74, 222, 128, 0.05);
  --mouse-glow: rgba(74, 222, 128, 0.1);
}

/* ==========================================================================
   TEMA: grafite (modo claro — preto, branco e cinzas)
   ========================================================================== */
html.theme-grafite,
html.theme-grafite-menta {
  --bg-deep: #e8e8e8;
  --bg-elevated: #f3f3f3;
  --bg-surface: #d9d9d9;
  --color-primary: #262626;
  --color-primary-light: #404040;
  --color-primary-dark: #171717;
  --color-neon: #525252;
  --color-ultraviolet: #737373;
  --color-pearl-1: #fafafa;
  --color-pearl-2: #e5e5e5;
  --color-pearl-3: #d4d4d4;
  --color-background: #e8e8e8;
  --color-text: #171717;
  --color-text-muted: #737373;
  --color-gray-50: rgba(23, 23, 23, 0.04);
  --color-gray-100: rgba(23, 23, 23, 0.07);
  --color-gray-200: rgba(23, 23, 23, 0.12);
  --color-gray-300: rgba(23, 23, 23, 0.16);
  --color-gray-400: #a3a3a3;
  --color-gray-500: #737373;
  --color-gray-600: #525252;
  --color-gray-700: #404040;
  --color-gray-900: #171717;
  --glass-bg: rgba(255, 255, 255, 0.88);
  --glass-bg-strong: #ffffff;
  --glass-border: rgba(23, 23, 23, 0.1);
  --glass-border-hover: rgba(23, 23, 23, 0.22);
  --glow-purple: 0 4px 20px rgba(23, 23, 23, 0.06);
  --glow-neon: 0 8px 28px rgba(23, 23, 23, 0.08);
  --shadow-card: 0 1px 3px rgba(23, 23, 23, 0.08), 0 1px 2px rgba(23, 23, 23, 0.05);
  --shadow-md: 0 8px 24px rgba(23, 23, 23, 0.1);
  --shadow-elevated: 0 20px 40px rgba(23, 23, 23, 0.12);
  --gradient-pearl: linear-gradient(135deg, #525252, #404040, #262626, #171717);
  --gradient-card-shine: linear-gradient(125deg, rgba(255,255,255,.75), transparent 50%);
  --logo-color: #262626;
  --ambient-1: rgba(163, 163, 163, 0.14);
  --ambient-2: rgba(212, 212, 212, 0.2);
  --ambient-3: rgba(243, 243, 243, 0.85);
  --grid-line: rgba(23, 23, 23, 0.05);
  --mouse-glow: rgba(23, 23, 23, 0.04);
  --color-birthday-start: #525252;
  --color-birthday-end: #737373;
  --digital-card-border: rgba(255, 255, 255, 0.16);
  color-scheme: light;
}
html.theme-grafite .card,
html.theme-grafite-menta .card,
html.theme-grafite .menu-item,
html.theme-grafite-menta .menu-item { box-shadow: var(--shadow-card) !important; }
html.theme-grafite .form-input,
html.theme-grafite-menta .form-input {
  background: #fff !important;
  border-color: var(--glass-border) !important;
  color: var(--color-text) !important;
}
html.theme-grafite .sidebar,
html.theme-grafite-menta .sidebar {
  background: var(--glass-bg-strong) !important;
  color: var(--color-text) !important;
  border-right: 1px solid var(--glass-border) !important;
  box-shadow: none !important;
}
html.theme-grafite .sidebar-logo,
html.theme-grafite-menta .sidebar-logo { border-bottom-color: var(--glass-border) !important; }
html.theme-grafite .sidebar-nav a,
html.theme-grafite-menta .sidebar-nav a { color: var(--color-text-muted) !important; }
html.theme-grafite .sidebar-nav a:hover,
html.theme-grafite .sidebar-nav a.active,
html.theme-grafite-menta .sidebar-nav a:hover,
html.theme-grafite-menta .sidebar-nav a.active {
  color: var(--color-text) !important;
  background: var(--color-gray-100) !important;
  border-left-color: var(--color-primary) !important;
}
html.theme-grafite .sidebar-footer,
html.theme-grafite-menta .sidebar-footer { color: var(--color-text-muted) !important; }
html.theme-grafite .sidebar-logo-text span,
html.theme-grafite-menta .sidebar-logo-text span { color: var(--color-text-muted); opacity: 1; }
html.theme-grafite .sidebar-logo-text strong,
html.theme-grafite .login-brand-name,
html.theme-grafite-menta .sidebar-logo-text strong,
html.theme-grafite-menta .login-brand-name {
  background: linear-gradient(135deg, #171717, #525252);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
html.theme-grafite .page-header h1,
html.theme-grafite-menta .page-header h1 {
  background: linear-gradient(135deg, #171717, #525252);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
html.theme-grafite .menu-item,
html.theme-grafite-menta .menu-item { color: var(--color-gray-700) !important; }
html.theme-grafite .btn-secondary,
html.theme-grafite-menta .btn-secondary {
  background: var(--color-gray-100) !important;
  color: var(--color-text) !important;
  border-color: var(--glass-border) !important;
}
html.theme-grafite .tabs,
html.theme-grafite-menta .tabs { background: var(--color-gray-50) !important; }
html.theme-grafite .tab.active,
html.theme-grafite-menta .tab.active {
  background: #fff !important;
  color: var(--color-primary) !important;
  box-shadow: var(--shadow-card) !important;
}
html.theme-grafite .bottom-nav,
html.theme-grafite-menta .bottom-nav { box-shadow: 0 -1px 0 var(--glass-border) !important; }
html.theme-grafite .bottom-nav a.active,
html.theme-grafite-menta .bottom-nav a.active { text-shadow: none !important; }
html.theme-grafite .card::before,
html.theme-grafite .menu-item::before,
html.theme-grafite .home-quick-item::before,
html.theme-grafite-menta .card::before,
html.theme-grafite-menta .menu-item::before,
html.theme-grafite-menta .home-quick-item::before {
  background: radial-gradient(
    400px circle at var(--spot-x, 50%) var(--spot-y, 50%),
    rgba(23, 23, 23, 0.05),
    transparent 45%
  );
}
html.theme-grafite [style*="background:var(--color-gray-50)"],
html.theme-grafite [style*="background: var(--color-gray-50)"],
html.theme-grafite-menta [style*="background:var(--color-gray-50)"],
html.theme-grafite-menta [style*="background: var(--color-gray-50)"] {
  background: var(--color-gray-50) !important;
}
html.theme-grafite .ambient-scene,
html.theme-grafite-menta .ambient-scene { opacity: 0.35; }

/* ==========================================================================
   TEMA: azul-infinito
   ========================================================================== */
html.theme-azul-infinito {
  --bg-deep: #082f49;
  --bg-elevated: #0c4a6e;
  --bg-surface: #075985;
  --color-primary: #0284c7;
  --color-primary-light: #38bdf8;
  --color-primary-dark: #0369a1;
  --color-neon: #7dd3fc;
  --color-ultraviolet: #0ea5e9;
  --color-pearl-1: #bae6fd;
  --color-pearl-2: #7dd3fc;
  --color-pearl-3: #38bdf8;
  --color-text: #f0f9ff;
  --color-text-muted: #bae6fd;
  --color-gray-200: rgba(56, 189, 248, 0.22);
  --glass-bg: rgba(12, 74, 110, 0.62);
  --glass-bg-strong: rgba(7, 89, 133, 0.9);
  --glass-border: rgba(125, 211, 252, 0.22);
  --glass-border-hover: rgba(186, 230, 253, 0.42);
  --glow-purple: 0 0 40px rgba(14, 165, 233, 0.35);
  --glow-neon: 0 0 55px rgba(56, 189, 248, 0.45);
  --gradient-pearl: linear-gradient(135deg, #38bdf8, #0284c7, #0369a1);
  --logo-color: #38bdf8;
  --ambient-1: rgba(14, 165, 233, 0.5);
  --ambient-2: rgba(56, 189, 248, 0.35);
  --ambient-3: rgba(2, 132, 199, 0.4);
  --grid-line: rgba(56, 189, 248, 0.05);
  --mouse-glow: rgba(56, 189, 248, 0.11);
}

/* ==========================================================================
   TEMA: aurora-magenta
   ========================================================================== */
html.theme-aurora-magenta {
  --bg-deep: #2e1065;
  --bg-elevated: #4c1d95;
  --bg-surface: #5b21b6;
  --color-primary: #c026d3;
  --color-primary-light: #e879f9;
  --color-primary-dark: #a21caf;
  --color-neon: #f0abfc;
  --color-ultraviolet: #d946ef;
  --color-pearl-1: #f5d0fe;
  --color-pearl-2: #f0abfc;
  --color-pearl-3: #e879f9;
  --color-text: #fdf4ff;
  --color-text-muted: #f5d0fe;
  --color-gray-200: rgba(232, 121, 249, 0.24);
  --glass-bg: rgba(76, 29, 149, 0.58);
  --glass-bg-strong: rgba(91, 33, 182, 0.88);
  --glass-border: rgba(240, 171, 252, 0.22);
  --glass-border-hover: rgba(245, 208, 254, 0.42);
  --glow-purple: 0 0 44px rgba(217, 70, 239, 0.4);
  --glow-neon: 0 0 60px rgba(232, 121, 249, 0.5);
  --gradient-pearl: linear-gradient(135deg, #e879f9, #c026d3, #7c3aed);
  --logo-color: #e879f9;
  --ambient-1: rgba(192, 38, 211, 0.55);
  --ambient-2: rgba(232, 121, 249, 0.38);
  --ambient-3: rgba(124, 58, 237, 0.45);
  --grid-line: rgba(232, 121, 249, 0.05);
  --mouse-glow: rgba(232, 121, 249, 0.12);
}

/* ==========================================================================
   TEMA: laranja-incandescente
   ========================================================================== */
html.theme-laranja-incandescente {
  --bg-deep: #1c0a00;
  --bg-elevated: #431407;
  --bg-surface: #7c2d12;
  --color-primary: #ea580c;
  --color-primary-light: #fb923c;
  --color-primary-dark: #c2410c;
  --color-neon: #fdba74;
  --color-ultraviolet: #f97316;
  --color-pearl-1: #fed7aa;
  --color-pearl-2: #fdba74;
  --color-pearl-3: #fb923c;
  --color-text: #fff7ed;
  --color-text-muted: #fed7aa;
  --color-gray-200: rgba(251, 146, 60, 0.22);
  --glass-bg: rgba(67, 20, 7, 0.62);
  --glass-bg-strong: rgba(124, 45, 18, 0.88);
  --glass-border: rgba(253, 186, 116, 0.22);
  --glass-border-hover: rgba(254, 215, 170, 0.4);
  --glow-purple: 0 0 40px rgba(249, 115, 22, 0.35);
  --glow-neon: 0 0 55px rgba(251, 146, 60, 0.45);
  --gradient-pearl: linear-gradient(135deg, #fb923c, #ea580c, #c2410c);
  --logo-color: #fb923c;
  --ambient-1: rgba(234, 88, 12, 0.55);
  --ambient-2: rgba(251, 146, 60, 0.35);
  --ambient-3: rgba(194, 65, 12, 0.45);
  --grid-line: rgba(251, 146, 60, 0.05);
  --mouse-glow: rgba(251, 146, 60, 0.11);
}

/* ==========================================================================
   TEMA: papel-texturizado (modo claro)
   ========================================================================== */
html.theme-papel-texturizado {
  --bg-deep: #f5f0e6;
  --bg-elevated: #faf7f2;
  --bg-surface: #ebe4d8;
  --color-primary: #92400e;
  --color-primary-light: #b45309;
  --color-primary-dark: #78350f;
  --color-neon: #d97706;
  --color-ultraviolet: #a16207;
  --color-pearl-1: #fde68a;
  --color-pearl-2: #fcd34d;
  --color-pearl-3: #f59e0b;
  --color-text: #292524;
  --color-text-muted: #57534e;
  --color-gray-50: rgba(41, 37, 36, 0.04);
  --color-gray-100: rgba(41, 37, 36, 0.07);
  --color-gray-200: rgba(120, 53, 15, 0.12);
  --color-gray-400: #78716c;
  --color-gray-500: #78716c;
  --color-gray-600: #57534e;
  --color-gray-700: #44403c;
  --color-gray-900: #1c1917;
  --glass-bg: rgba(250, 247, 242, 0.92);
  --glass-bg-strong: rgba(235, 228, 216, 0.96);
  --glass-border: rgba(120, 53, 15, 0.12);
  --glass-border-hover: rgba(180, 83, 9, 0.28);
  --glow-purple: 0 4px 24px rgba(120, 53, 15, 0.1);
  --glow-neon: 0 8px 32px rgba(217, 119, 6, 0.15);
  --shadow-card: 0 4px 18px rgba(28, 25, 23, 0.08);
  --shadow-md: 0 8px 28px rgba(28, 25, 23, 0.1);
  --shadow-elevated: 0 16px 40px rgba(28, 25, 23, 0.12);
  --gradient-pearl: linear-gradient(135deg, #f59e0b, #b45309, #92400e);
  --gradient-card-shine: linear-gradient(125deg, rgba(255,255,255,.65), transparent 50%);
  --logo-color: #b45309;
  --ambient-1: rgba(217, 119, 6, 0.08);
  --ambient-2: rgba(180, 83, 9, 0.06);
  --ambient-3: rgba(146, 64, 14, 0.05);
  --grid-line: rgba(120, 53, 15, 0.05);
  --mouse-glow: rgba(217, 119, 6, 0.06);
  color-scheme: light;
}
html.theme-papel-texturizado {
  background-image:
    radial-gradient(circle at 20% 20%, rgba(217,119,6,.04), transparent 40%),
    radial-gradient(circle at 80% 0%, rgba(180,83,9,.03), transparent 35%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.04'/%3E%3C/svg%3E") !important;
}
html.theme-papel-texturizado .form-input { background: #fff !important; color: #292524 !important; }
html.theme-papel-texturizado .sidebar {
  background: var(--glass-bg-strong) !important;
  color: var(--color-text) !important;
  box-shadow: none !important;
}
html.theme-papel-texturizado .sidebar-nav a { color: var(--color-text-muted) !important; }
html.theme-papel-texturizado .sidebar-nav a:hover,
html.theme-papel-texturizado .sidebar-nav a.active {
  color: var(--color-text) !important;
  background: var(--color-gray-100) !important;
  border-left-color: var(--color-primary) !important;
}
html.theme-papel-texturizado .sidebar-footer { color: var(--color-text-muted) !important; }
html.theme-papel-texturizado .sidebar-logo-text span { color: var(--color-text-muted); opacity: 1; }
html.theme-papel-texturizado .page-header h1 {
  background: linear-gradient(135deg, #1c1917, #92400e);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
html.theme-papel-texturizado .menu-item { color: var(--color-gray-700) !important; }
html.theme-papel-texturizado .btn-secondary {
  background: var(--color-gray-100) !important;
  color: var(--color-text) !important;
  border-color: var(--glass-border) !important;
}
html.theme-papel-texturizado .bottom-nav { box-shadow: 0 -1px 0 var(--glass-border) !important; }
html.theme-papel-texturizado .bottom-nav a.active { text-shadow: none !important; }
html.theme-papel-texturizado [style*="background:var(--color-gray-50)"],
html.theme-papel-texturizado [style*="background: var(--color-gray-50)"] {
  background: var(--color-gray-50) !important;
}

/* ==========================================================================
   TEMA: branco-minimalista (modo claro)
   ========================================================================== */
html.theme-branco-minimalista {
  --bg-deep: #ffffff;
  --bg-elevated: #f8fafc;
  --bg-surface: #f1f5f9;
  --color-primary: #0f172a;
  --color-primary-light: #334155;
  --color-primary-dark: #020617;
  --color-neon: #475569;
  --color-ultraviolet: #1e293b;
  --color-pearl-1: #64748b;
  --color-pearl-2: #94a3b8;
  --color-pearl-3: #cbd5e1;
  --color-background: #ffffff;
  --color-text: #0f172a;
  --color-text-muted: #64748b;
  --color-gray-50: rgba(15, 23, 42, 0.03);
  --color-gray-100: rgba(15, 23, 42, 0.06);
  --color-gray-200: rgba(15, 23, 42, 0.1);
  --color-gray-300: rgba(15, 23, 42, 0.14);
  --color-gray-400: #94a3b8;
  --color-gray-500: #64748b;
  --color-gray-600: #475569;
  --color-gray-700: #334155;
  --color-gray-900: #0f172a;
  --glass-bg: rgba(255, 255, 255, 0.94);
  --glass-bg-strong: #ffffff;
  --glass-border: rgba(15, 23, 42, 0.08);
  --glass-border-hover: rgba(15, 23, 42, 0.18);
  --glow-purple: 0 4px 20px rgba(15, 23, 42, 0.06);
  --glow-neon: 0 8px 28px rgba(15, 23, 42, 0.08);
  --shadow-card: 0 1px 3px rgba(15, 23, 42, 0.06), 0 1px 2px rgba(15, 23, 42, 0.04);
  --shadow-md: 0 8px 24px rgba(15, 23, 42, 0.08);
  --shadow-elevated: 0 20px 40px rgba(15, 23, 42, 0.1);
  --gradient-pearl: linear-gradient(135deg, #334155, #0f172a);
  --gradient-card-shine: linear-gradient(125deg, rgba(255,255,255,.8), transparent 50%);
  --logo-color: #0f172a;
  --ambient-1: rgba(148, 163, 184, 0.12);
  --ambient-2: rgba(203, 213, 225, 0.15);
  --ambient-3: rgba(241, 245, 249, 0.8);
  --grid-line: rgba(15, 23, 42, 0.04);
  --mouse-glow: rgba(15, 23, 42, 0.04);
  color-scheme: light;
}
html.theme-branco-minimalista .card,
html.theme-branco-minimalista .menu-item { box-shadow: var(--shadow-card) !important; }
html.theme-branco-minimalista .form-input { background: #fff !important; border-color: var(--glass-border) !important; color: var(--color-text) !important; }
html.theme-branco-minimalista .sidebar {
  background: var(--glass-bg-strong) !important;
  color: var(--color-text) !important;
  border-right: 1px solid var(--glass-border) !important;
  box-shadow: none !important;
}
html.theme-branco-minimalista .sidebar-logo { border-bottom-color: var(--glass-border) !important; }
html.theme-branco-minimalista .sidebar-nav a { color: var(--color-text-muted) !important; }
html.theme-branco-minimalista .sidebar-nav a:hover,
html.theme-branco-minimalista .sidebar-nav a.active {
  color: var(--color-text) !important;
  background: var(--color-gray-100) !important;
  border-left-color: var(--color-primary) !important;
}
html.theme-branco-minimalista .sidebar-footer { color: var(--color-text-muted) !important; }
html.theme-branco-minimalista .sidebar-logo-text span { color: var(--color-text-muted); opacity: 1; }
html.theme-branco-minimalista .sidebar-logo-text strong,
html.theme-branco-minimalista .login-brand-name {
  background: linear-gradient(135deg, #0f172a, #475569);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
html.theme-branco-minimalista .page-header h1 {
  background: linear-gradient(135deg, #0f172a, #475569);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
html.theme-branco-minimalista .menu-item { color: var(--color-gray-700) !important; }
html.theme-branco-minimalista .btn-secondary {
  background: var(--color-gray-100) !important;
  color: var(--color-text) !important;
  border-color: var(--glass-border) !important;
}
html.theme-branco-minimalista .tabs { background: var(--color-gray-50) !important; }
html.theme-branco-minimalista .tab.active {
  background: #fff !important;
  color: var(--color-primary) !important;
  box-shadow: var(--shadow-card) !important;
}
html.theme-branco-minimalista .bottom-nav { box-shadow: 0 -1px 0 var(--glass-border) !important; }
html.theme-branco-minimalista .bottom-nav a.active { text-shadow: none !important; }
html.theme-branco-minimalista .card::before,
html.theme-branco-minimalista .menu-item::before,
html.theme-branco-minimalista .home-quick-item::before {
  background: radial-gradient(
    400px circle at var(--spot-x, 50%) var(--spot-y, 50%),
    rgba(15, 23, 42, 0.05),
    transparent 45%
  );
}
html.theme-branco-minimalista [style*="background:var(--color-gray-50)"],
html.theme-branco-minimalista [style*="background: var(--color-gray-50)"] {
  background: var(--color-gray-50) !important;
}
html.theme-branco-minimalista .ambient-scene { opacity: 0.45; }

/* ==========================================================================
   TEMA: terra-batida
   ========================================================================== */
html.theme-terra-batida {
  --bg-deep: #1a120b;
  --bg-elevated: #292018;
  --bg-surface: #3d2b1f;
  --color-primary: #d97706;
  --color-primary-light: #fbbf24;
  --color-primary-dark: #b45309;
  --color-neon: #fcd34d;
  --color-ultraviolet: #f59e0b;
  --color-pearl-1: #fde68a;
  --color-pearl-2: #fcd34d;
  --color-pearl-3: #fbbf24;
  --color-text: #fef3c7;
  --color-text-muted: #fde68a;
  --color-gray-200: rgba(251, 191, 36, 0.2);
  --glass-bg: rgba(41, 32, 24, 0.65);
  --glass-bg-strong: rgba(61, 43, 31, 0.9);
  --glass-border: rgba(251, 191, 36, 0.18);
  --glass-border-hover: rgba(253, 224, 71, 0.35);
  --glow-purple: 0 0 38px rgba(217, 119, 6, 0.32);
  --glow-neon: 0 0 52px rgba(251, 191, 36, 0.38);
  --gradient-pearl: linear-gradient(135deg, #fbbf24, #d97706, #92400e);
  --logo-color: #fbbf24;
  --ambient-1: rgba(217, 119, 6, 0.45);
  --ambient-2: rgba(180, 83, 9, 0.35);
  --ambient-3: rgba(146, 64, 14, 0.4);
  --grid-line: rgba(251, 191, 36, 0.04);
  --mouse-glow: rgba(251, 191, 36, 0.1);
}

/* ==========================================================================
   TEMA: mar-iridescente
   ========================================================================== */
html.theme-mar-iridescente {
  --bg-deep: #042f2e;
  --bg-elevated: #0f766e;
  --bg-surface: #115e59;
  --color-primary: #14b8a6;
  --color-primary-light: #5eead4;
  --color-primary-dark: #0d9488;
  --color-neon: #99f6e4;
  --color-ultraviolet: #2dd4bf;
  --color-pearl-1: #a5f3fc;
  --color-pearl-2: #67e8f9;
  --color-pearl-3: #22d3ee;
  --color-text: #ecfeff;
  --color-text-muted: #a5f3fc;
  --color-gray-200: rgba(45, 212, 191, 0.22);
  --glass-bg: rgba(15, 118, 110, 0.55);
  --glass-bg-strong: rgba(17, 94, 89, 0.88);
  --glass-border: rgba(153, 246, 228, 0.22);
  --glass-border-hover: rgba(165, 243, 252, 0.42);
  --glow-purple: 0 0 44px rgba(20, 184, 166, 0.38);
  --glow-neon: 0 0 60px rgba(94, 234, 212, 0.45);
  --gradient-pearl: linear-gradient(135deg, #5eead4, #14b8a6, #0891b2, #6366f1);
  --logo-color: #5eead4;
  --ambient-1: rgba(20, 184, 166, 0.5);
  --ambient-2: rgba(34, 211, 238, 0.35);
  --ambient-3: rgba(99, 102, 241, 0.28);
  --grid-line: rgba(94, 234, 212, 0.05);
  --mouse-glow: rgba(94, 234, 212, 0.12);
}

/* ==========================================================================
   TEMA: rose (rosê claro — feminino)
   ========================================================================== */
html.theme-rose {
  --bg-deep: #fdf2f8;
  --bg-elevated: #ffffff;
  --bg-surface: #fce7f3;
  --color-primary: #be185d;
  --color-primary-light: #ec4899;
  --color-primary-dark: #9d174d;
  --color-neon: #f472b6;
  --color-ultraviolet: #db2777;
  --color-pearl-1: #fbcfe8;
  --color-pearl-2: #f9a8d4;
  --color-pearl-3: #f472b6;
  --color-background: #fdf2f8;
  --color-text: #4a044e;
  --color-text-muted: #9d174d;
  --color-gray-50: rgba(190, 24, 93, 0.04);
  --color-gray-100: rgba(190, 24, 93, 0.07);
  --color-gray-200: rgba(190, 24, 93, 0.12);
  --color-gray-300: rgba(190, 24, 93, 0.16);
  --color-gray-400: #f9a8d4;
  --color-gray-500: #be185d;
  --color-gray-600: #9d174d;
  --color-gray-700: #831843;
  --color-gray-900: #4a044e;
  --glass-bg: rgba(255, 255, 255, 0.88);
  --glass-bg-strong: #ffffff;
  --glass-border: rgba(190, 24, 93, 0.1);
  --glass-border-hover: rgba(219, 39, 119, 0.24);
  --glow-purple: 0 4px 24px rgba(219, 39, 119, 0.12);
  --glow-neon: 0 8px 32px rgba(244, 114, 182, 0.18);
  --shadow-card: 0 2px 12px rgba(190, 24, 93, 0.08);
  --shadow-md: 0 8px 28px rgba(190, 24, 93, 0.1);
  --shadow-elevated: 0 20px 40px rgba(190, 24, 93, 0.12);
  --gradient-pearl: linear-gradient(135deg, #fbcfe8, #f472b6, #ec4899, #be185d);
  --gradient-card-shine: linear-gradient(125deg, rgba(255,255,255,.75), transparent 50%);
  --logo-color: #db2777;
  --ambient-1: rgba(244, 114, 182, 0.22);
  --ambient-2: rgba(251, 207, 232, 0.32);
  --ambient-3: rgba(219, 39, 119, 0.14);
  --grid-line: rgba(190, 24, 93, 0.05);
  --mouse-glow: rgba(244, 114, 182, 0.08);
  --color-birthday-start: #f472b6;
  --color-birthday-end: #ec4899;
  --digital-card-bg: linear-gradient(135deg, #fbcfe8, #f472b6, #db2777, #be185d);
  --digital-card-border: rgba(255, 255, 255, 0.35);
  color-scheme: light;
}
html.theme-rose body {
  background: linear-gradient(160deg, #fdf2f8 0%, #fce7f3 35%, #fff1f2 65%, #fdf2f8 100%) !important;
  background-size: 220% 220% !important;
  animation: rose-bg-flow 20s ease-in-out infinite;
}
html.theme-rose .ambient-scene { opacity: 0.75; }
html.theme-rose .ambient-orb { opacity: 0.42; }
html.theme-rose .page-header h1 {
  background: linear-gradient(135deg, #831843, #be185d, #db2777);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
html.theme-rose .sidebar-logo-text strong,
html.theme-rose .login-brand-name {
  background: linear-gradient(135deg, #831843, #db2777);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
html.theme-rose .card,
html.theme-rose .menu-item { box-shadow: var(--shadow-card) !important; }
html.theme-rose .form-input { background: #fff !important; border-color: var(--glass-border) !important; color: var(--color-text) !important; }
html.theme-rose .sidebar {
  background: var(--glass-bg-strong) !important;
  color: var(--color-text) !important;
  border-right: 1px solid var(--glass-border) !important;
  box-shadow: none !important;
}
html.theme-rose .sidebar-logo { border-bottom-color: var(--glass-border) !important; }
html.theme-rose .sidebar-nav a { color: var(--color-text-muted) !important; }
html.theme-rose .sidebar-nav a:hover,
html.theme-rose .sidebar-nav a.active {
  color: var(--color-text) !important;
  background: var(--color-gray-100) !important;
  border-left-color: var(--color-primary) !important;
}
html.theme-rose .sidebar-footer { color: var(--color-text-muted) !important; }
html.theme-rose .sidebar-logo-text span { color: var(--color-text-muted); opacity: 1; }
html.theme-rose .menu-item { color: var(--color-gray-700) !important; }
html.theme-rose .btn-secondary {
  background: var(--color-gray-100) !important;
  color: var(--color-text) !important;
  border-color: var(--glass-border) !important;
}
html.theme-rose .tabs { background: var(--color-gray-50) !important; }
html.theme-rose .tab.active {
  background: #fff !important;
  color: var(--color-primary) !important;
  box-shadow: var(--shadow-card) !important;
}
html.theme-rose .bottom-nav { box-shadow: 0 -1px 0 var(--glass-border) !important; }
html.theme-rose .bottom-nav a.active { text-shadow: none !important; }
html.theme-rose .card::before,
html.theme-rose .menu-item::before,
html.theme-rose .home-quick-item::before {
  background: radial-gradient(
    400px circle at var(--spot-x, 50%) var(--spot-y, 50%),
    rgba(244, 114, 182, 0.1),
    transparent 45%
  );
}
html.theme-rose [style*="background:var(--color-gray-50)"],
html.theme-rose [style*="background: var(--color-gray-50)"] {
  background: var(--color-gray-50) !important;
}

@keyframes rose-bg-flow {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

/* ==========================================================================
   TEMA: orgulho-lgbt (arco-íris claro — bandeira do orgulho)
   ========================================================================== */
html.theme-orgulho-lgbt {
  --bg-deep: #fffbfd;
  --bg-elevated: #ffffff;
  --bg-surface: #fff5f7;
  --color-primary: #c026d3;
  --color-primary-light: #e879f9;
  --color-primary-dark: #750787;
  --color-neon: #f472b6;
  --color-ultraviolet: #a855f7;
  --color-pearl-1: #fda4af;
  --color-pearl-2: #fcd34d;
  --color-pearl-3: #86efac;
  --color-background: #fffbfd;
  --color-text: #2d0a22;
  --color-text-muted: #6b3358;
  --color-gray-50: rgba(116, 39, 129, 0.04);
  --color-gray-100: rgba(116, 39, 129, 0.07);
  --color-gray-200: rgba(116, 39, 129, 0.11);
  --color-gray-300: rgba(116, 39, 129, 0.15);
  --color-gray-400: #c084fc;
  --color-gray-500: #9333ea;
  --color-gray-600: #7e22ce;
  --color-gray-700: #581c87;
  --color-gray-900: #2d0a22;
  --glass-bg: rgba(255, 255, 255, 0.84);
  --glass-bg-strong: rgba(255, 255, 255, 0.96);
  --glass-border: rgba(116, 39, 129, 0.1);
  --glass-border-hover: rgba(228, 3, 3, 0.22);
  --glow-purple: 0 4px 28px rgba(228, 3, 3, 0.1), 0 8px 40px rgba(0, 77, 255, 0.08);
  --glow-neon: 0 8px 36px rgba(255, 140, 0, 0.14), 0 12px 48px rgba(0, 128, 38, 0.1);
  --shadow-card: 0 2px 14px rgba(116, 39, 129, 0.07);
  --shadow-md: 0 8px 28px rgba(116, 39, 129, 0.09);
  --shadow-elevated: 0 20px 44px rgba(116, 39, 129, 0.11);
  --gradient-pearl: linear-gradient(135deg, #e40303, #ff8c00, #ffed00, #008026, #004dff, #750787);
  --gradient-card-shine: linear-gradient(125deg, rgba(255,255,255,.85) 0%, transparent 45%, rgba(255,237,0,.06) 100%);
  --logo-color: #db2777;
  --ambient-1: rgba(228, 3, 3, 0.26);
  --ambient-2: rgba(0, 128, 38, 0.22);
  --ambient-3: rgba(0, 77, 255, 0.2);
  --grid-line: rgba(116, 39, 129, 0.04);
  --mouse-glow: rgba(255, 140, 0, 0.07);
  --color-birthday-start: #f472b6;
  --color-birthday-end: #004dff;
  --digital-card-bg: linear-gradient(135deg, #e40303, #ff8c00, #ffed00, #008026, #004dff, #750787);
  --digital-card-birthday-bg: linear-gradient(135deg, #e40303, #f472b6, #004dff, #750787);
  --digital-card-border: rgba(255, 255, 255, 0.45);
  color-scheme: light;
}
html.theme-orgulho-lgbt body {
  background: linear-gradient(
    125deg,
    #fff5f7 0%,
    #fff7ed 14%,
    #fefce8 28%,
    #f0fdf4 42%,
    #ecfeff 56%,
    #eff6ff 70%,
    #faf5ff 84%,
    #fff5f7 100%
  ) !important;
  background-size: 420% 420% !important;
  animation: orgulho-bg-flow 24s ease-in-out infinite;
}
html.theme-orgulho-lgbt .ambient-scene { opacity: 1; }
html.theme-orgulho-lgbt .ambient-orb {
  opacity: 0.48;
  animation: ambient-float 16s ease-in-out infinite, orgulho-orb-pulse 14s ease-in-out infinite;
}
html.theme-orgulho-lgbt .ambient-orb-1 { background: radial-gradient(circle, rgba(228, 3, 3, 0.35) 0%, transparent 70%); }
html.theme-orgulho-lgbt .ambient-orb-2 { background: radial-gradient(circle, rgba(255, 140, 0, 0.3) 0%, transparent 70%); animation-delay: -5s, -3s; }
html.theme-orgulho-lgbt .ambient-orb-3 { background: radial-gradient(circle, rgba(0, 77, 255, 0.28) 0%, transparent 70%); animation-delay: -10s, -7s; }
html.theme-orgulho-lgbt .ambient-mouse-glow {
  background: radial-gradient(
    600px circle at var(--mouse-x, 50%) var(--mouse-y, 50%),
    rgba(244, 114, 182, 0.12),
    rgba(134, 239, 172, 0.08) 35%,
    transparent 60%
  );
}
html.theme-orgulho-lgbt .page-header h1 {
  background: linear-gradient(135deg, #e40303, #ff8c00, #ca8a04, #16a34a, #2563eb, #7c3aed);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
html.theme-orgulho-lgbt .sidebar-logo-text strong,
html.theme-orgulho-lgbt .login-brand-name {
  background: linear-gradient(135deg, #be123c, #ea580c, #2563eb, #7c3aed);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
html.theme-orgulho-lgbt .sidebar {
  background: var(--glass-bg-strong) !important;
  color: var(--color-text) !important;
  border-right: 1px solid var(--glass-border) !important;
  box-shadow: none !important;
}
html.theme-orgulho-lgbt .sidebar-logo { border-bottom-color: var(--glass-border) !important; }
html.theme-orgulho-lgbt .sidebar-nav a { color: var(--color-text-muted) !important; }
html.theme-orgulho-lgbt .sidebar-nav a:hover,
html.theme-orgulho-lgbt .sidebar-nav a.active {
  color: var(--color-text) !important;
  background: var(--color-gray-100) !important;
  border-left-color: #ff8c00 !important;
}
html.theme-orgulho-lgbt .sidebar-footer { color: var(--color-text-muted) !important; }
html.theme-orgulho-lgbt .sidebar-logo-text span { color: var(--color-text-muted); opacity: 1; }
html.theme-orgulho-lgbt .menu-item { color: var(--color-gray-700) !important; }
html.theme-orgulho-lgbt .btn-secondary {
  background: var(--color-gray-100) !important;
  color: var(--color-text) !important;
  border-color: var(--glass-border) !important;
}
html.theme-orgulho-lgbt .tabs { background: var(--color-gray-50) !important; }
html.theme-orgulho-lgbt .tab.active {
  background: #fff !important;
  color: var(--color-primary) !important;
  box-shadow: var(--shadow-card) !important;
}
html.theme-orgulho-lgbt .bottom-nav { box-shadow: 0 -1px 0 var(--glass-border) !important; }
html.theme-orgulho-lgbt .bottom-nav a.active { text-shadow: none !important; }
html.theme-orgulho-lgbt .card,
html.theme-orgulho-lgbt .menu-item { box-shadow: var(--shadow-card) !important; }
html.theme-orgulho-lgbt .form-input { background: #fff !important; border-color: var(--glass-border) !important; color: var(--color-text) !important; }
html.theme-orgulho-lgbt .card::before,
html.theme-orgulho-lgbt .menu-item::before,
html.theme-orgulho-lgbt .home-quick-item::before {
  background: radial-gradient(
    400px circle at var(--spot-x, 50%) var(--spot-y, 50%),
    rgba(244, 114, 182, 0.12),
    rgba(134, 239, 172, 0.08) 40%,
    transparent 55%
  );
}
html.theme-orgulho-lgbt [style*="background:var(--color-gray-50)"],
html.theme-orgulho-lgbt [style*="background: var(--color-gray-50)"] {
  background: var(--color-gray-50) !important;
}

@keyframes orgulho-bg-flow {
  0%, 100% { background-position: 0% 50%; }
  25% { background-position: 50% 100%; }
  50% { background-position: 100% 50%; }
  75% { background-position: 50% 0%; }
}

@keyframes orgulho-orb-pulse {
  0%, 100% { opacity: 0.38; filter: blur(80px); }
  50% { opacity: 0.58; filter: blur(88px); }
}

html.reduce-motion.theme-orgulho-lgbt body,
html.reduce-motion.theme-rose body {
  animation: none !important;
  background-size: 100% 100% !important;
}
html.reduce-motion.theme-orgulho-lgbt .ambient-orb {
  animation: ambient-float 18s ease-in-out infinite !important;
}

/* Temas claros — ajustes globais */
html.theme-papel-texturizado .bottom-nav,
html.theme-branco-minimalista .bottom-nav,
html.theme-grafite .bottom-nav,
html.theme-grafite-menta .bottom-nav,
html.theme-original-sindicon .bottom-nav,
html.theme-orgulho-lgbt .bottom-nav,
html.theme-rose .bottom-nav {
  background: var(--glass-bg-strong) !important;
}
html.theme-papel-texturizado .tema-switcher-menu,
html.theme-branco-minimalista .tema-switcher-menu,
html.theme-grafite .tema-switcher-menu,
html.theme-grafite-menta .tema-switcher-menu,
html.theme-orgulho-lgbt .tema-switcher-menu,
html.theme-rose .tema-switcher-menu,
html.theme-papel-texturizado .notif-panel,
html.theme-branco-minimalista .notif-panel,
html.theme-grafite .notif-panel,
html.theme-grafite-menta .notif-panel,
html.theme-original-sindicon .notif-panel,
html.theme-orgulho-lgbt .notif-panel,
html.theme-rose .notif-panel {
  background: var(--glass-bg-strong);
  color: var(--color-text);
}

@media (max-width: 768px) {
  .tema-switcher-menu {
    right: 0;
    left: auto;
    width: min(calc(100vw - 24px), 320px);
  }
}
