/* ==========================================================================
   SMS-Farm — tema dia e noite (compartilhado)
   Tokens em html (dia por padrão) e html[data-theme="night"].
   Carregue antes das folhas específicas de cada área.
   ========================================================================== */

html {
  --sf-orange: #ff6a13;
  --sf-orange-600: #e85a0c;
  --sf-orange-soft: #fff1e8;
  --sf-mint: #8fe8c4;
  --sf-bg: #f5f8f6;
  --sf-surface: #ffffff;
  --sf-surface-2: #fafcfb;
  --sf-ink: #0f1f19;
  --sf-ink-2: #2c4a3f;
  --sf-muted: #52655b;
  --sf-line: #dfe8e3;
  --sf-shadow: 0 18px 44px rgba(15, 31, 25, 0.08);
  --sf-grid: rgba(15, 31, 25, 0.045);
  --sf-hero-bg: #ffffff;
  --sf-hero-glow: rgba(255, 106, 19, 0.16);
  --sf-topbar-a: #0a2a21;
  --sf-topbar-b: #145a44;
  --sf-dark-a: #0f3d2e;
  --sf-dark-b: #0a2a21;
  --sf-dark-ink: #eaf7f1;
  --sf-dark-muted: #cfe6dc;
  --sf-dark-line: rgba(143, 232, 196, 0.18);
  --sf-dark-card: rgba(255, 255, 255, 0.06);
  --sf-footer: #0a2a21;
  --sf-sel: #fff1e8;
  --sf-hover: #fff8f4;
  color-scheme: light;
}

html[data-theme="night"] {
  --sf-bg: #050d0a;
  --sf-surface: #0b1c16;
  --sf-surface-2: #09170f;
  --sf-ink: #eef8f3;
  --sf-ink-2: #c5ddd2;
  --sf-muted: #9db9ad;
  --sf-line: rgba(143, 232, 196, 0.14);
  --sf-shadow: 0 22px 60px rgba(0, 0, 0, 0.5);
  --sf-grid: rgba(143, 232, 196, 0.055);
  --sf-hero-bg: radial-gradient(circle at 80% 20%, rgba(255, 106, 19, 0.12), transparent 40%), #050d0a;
  --sf-hero-glow: rgba(255, 106, 19, 0.22);
  --sf-topbar-a: #04100c;
  --sf-topbar-b: #0b2e23;
  --sf-dark-a: #0b2a20;
  --sf-dark-b: #040c09;
  --sf-dark-card: rgba(255, 255, 255, 0.045);
  --sf-footer: #030806;
  --sf-sel: rgba(255, 106, 19, 0.14);
  --sf-hover: rgba(255, 106, 19, 0.07);
  color-scheme: dark;
}

/* Base para páginas que usam o tema (classe theme-page no body) */
body.theme-page {
  background: var(--sf-bg);
  color: var(--sf-ink);
  transition: background-color 0.35s ease, color 0.35s ease;
}

/* Seletor de tema no topbar */
.public-topbar .theme-toggle {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  margin-left: 14px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}
.public-topbar .theme-toggle:hover { background: rgba(255, 255, 255, 0.16); transform: rotate(-12deg); }
.public-topbar .theme-toggle:focus-visible { outline: 3px solid var(--sf-mint); outline-offset: 3px; }
.public-topbar .theme-toggle svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.public-topbar .theme-toggle .theme-icon-sun { display: none; }
.public-topbar .theme-toggle .theme-icon-moon { display: block; }
html[data-theme="night"] .public-topbar .theme-toggle .theme-icon-sun { display: block; }
html[data-theme="night"] .public-topbar .theme-toggle .theme-icon-moon { display: none; }

/* Telas de login e cadastro (entrar, painéis) */
body.theme-page .login-stage { background: transparent; }
body.theme-page .login-panel {
  background: var(--sf-surface) !important;
  border-color: var(--sf-line) !important;
  color: var(--sf-ink) !important;
  box-shadow: var(--sf-shadow) !important;
}
body.theme-page .login-panel h1,
body.theme-page .login-panel h2,
body.theme-page .login-panel h3,
body.theme-page .login-panel strong { color: var(--sf-ink) !important; }
body.theme-page .login-panel label span,
body.theme-page .login-panel .muted,
body.theme-page .login-panel p,
body.theme-page .login-panel small { color: var(--sf-muted) !important; }
body.theme-page .login-form input,
body.theme-page .login-form select,
body.theme-page .login-form textarea {
  background: var(--sf-surface-2) !important;
  color: var(--sf-ink) !important;
  border-color: var(--sf-line) !important;
}
body.theme-page .login-form input::placeholder { color: var(--sf-muted); }
body.theme-page .login-form input:focus {
  border-color: var(--sf-orange) !important;
  box-shadow: 0 0 0 4px rgba(255, 106, 19, 0.14) !important;
  outline: none;
}
body.theme-page .login-form button[type="submit"],
body.theme-page .login-panel .btn-primary {
  background: var(--sf-orange) !important;
  border-color: var(--sf-orange) !important;
  color: #fff !important;
  box-shadow: 0 12px 26px rgba(255, 106, 19, 0.3) !important;
}
body.theme-page .login-panel a { color: var(--sf-orange-600) !important; }
html[data-theme="night"] body.theme-page .login-panel a { color: var(--sf-orange) !important; }

/* Topbar em uma linha no mobile (logo, tema, receber, menu) */
@media (max-width: 860px) {
  .public-topbar.has-theme-toggle { flex-wrap: nowrap; }
}

@media (prefers-reduced-motion: reduce) {
  body.theme-page,
  .public-topbar .theme-toggle { transition: none; }
}
