/* Bit Labs · visual novo das páginas internas (login, cadastro, painel, novidades, privacidade).
   Camada por cima do style.css: mantém os temas e todo o HTML, muda a pele para combinar com a página inicial. */

/* fundo animado só no tema Escuro (criado por fundo.js) */
#fundo, .fundo-glow, .fundo-veil { position: fixed; inset: 0; width: 100%; height: 100%; pointer-events: none; display: none; }
.com-fundo #fundo, .com-fundo .fundo-glow, .com-fundo .fundo-veil { display: block; }
#fundo { z-index: -1; }
.fundo-glow { z-index: -1; background: radial-gradient(ellipse 70% 60% at 50% 46%, rgba(74, 116, 232, 0.2), rgba(74, 116, 232, 0.05) 48%, transparent 76%); }
.fundo-veil { z-index: -1; background: radial-gradient(ellipse 80% 70% at 50% 45%, transparent 28%, rgba(5, 7, 15, 0.8) 100%), linear-gradient(180deg, rgba(5, 7, 15, 0.45), transparent 22%, transparent 80%, rgba(5, 7, 15, 0.55)); }
:root { --violet: #8b5cf6; }
:root[data-theme="dark"] { --page-bg: #05070f; --mesh-bg: #05070f; --blob-1: transparent; --blob-2: transparent; --blob-3: transparent; --blob-4: transparent; --blob-5: transparent; }
.btn-nav-outline, .btn-nav { white-space: nowrap; }

/* sem vidro desfocado (pesado e inconsistente com a página inicial) */
header, .dash-header, footer, .dash-card, .auth-card, .policy-card, .btn-resend-pill-dark, .btn-secondary-sm { backdrop-filter: none; -webkit-backdrop-filter: none; }
:root[data-theme="dark"] .dash-card, :root[data-theme="dark"] .auth-card, :root[data-theme="dark"] .policy-card { background: rgba(14, 18, 32, 0.8); }
.dash-card::before, .auth-card::before, .policy-card::before { display: none; }

/* cabeçalho flutuante em pílula */
header, .dash-header {
  top: 14px; left: 50%; right: auto; width: min(1180px, calc(100% - 28px)); height: auto; transform: translateX(-50%);
  border: 1px solid var(--border-color); border-radius: 999px;
  background: color-mix(in srgb, var(--page-bg) 88%, transparent);
}
:root[data-theme="dark"] header, :root[data-theme="dark"] .dash-header { background: rgba(8, 11, 20, 0.88); }
.header-inner, .dash-header-inner { padding: 10px 14px 10px 24px; max-width: none; gap: 12px; }
.logo img { height: 26px; }
.dash-header-right { flex-wrap: nowrap; }

/* tipografia e rótulos */
.welcome-badge, .ticker-badge, .policy-summary > strong:first-child { font-family: 'JetBrains Mono', ui-monospace, monospace; letter-spacing: 0.16em; font-weight: 500; }
.dash-welcome h1, .policy-card h1 { font-size: clamp(30px, 4.6vw, 52px); letter-spacing: -0.04em; line-height: 1.04; }
.dash-welcome h1 .highlight { background: linear-gradient(100deg, var(--accent-cyan), var(--accent-blue) 55%, var(--violet)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.auth-card h2 { font-size: clamp(26px, 3.4vw, 34px); letter-spacing: -0.035em; line-height: 1.08; }
.policy-card h2 { letter-spacing: -0.025em; }

/* botões */
:root[data-theme="dark"] .auth-btn, :root[data-theme="dark"] .btn-primary, :root[data-theme="dark"] .btn-pricing, :root[data-theme="dark"] .btn-nav {
  background: linear-gradient(120deg, var(--accent-blue), var(--violet));
  box-shadow: 0 10px 40px -10px rgba(74, 116, 232, 0.8), inset 0 1px 0 rgba(255, 255, 255, 0.25);
}
.auth-btn, .btn-primary, .btn-back, .btn-secondary-sm { transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s, border-color 0.3s; }

/* campos com brilho ao focar */
.form-group input, .form-group select { transition: border-color 0.25s, box-shadow 0.25s, background 0.25s; }
.form-group input:focus, .form-group select:focus { box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent-blue) 22%, transparent); }

/* cartões entram com movimento (uma vez) */
@keyframes pg-rise { from { opacity: 0; transform: translateY(28px) scale(0.985); } to { opacity: 1; transform: none; } }
.auth-card, .dash-welcome, .dash-card, .policy-card { animation: pg-rise 0.9s cubic-bezier(0.16, 1, 0.3, 1) backwards; }
.dash-card:nth-child(2) { animation-delay: 0.12s; }
.dash-welcome { animation-delay: 0.05s; }
.dash-card, .auth-card, .policy-card { border-radius: 28px; }
.dash-card { transition: border-color 0.4s, transform 0.5s cubic-bezier(0.16, 1, 0.3, 1); }
.dash-card:hover { border-color: color-mix(in srgb, var(--accent-cyan) 40%, transparent); transform: translateY(-3px); }

/* rodapé sem faixa pesada */
footer { background: transparent; border-top: 1px solid var(--border-color); }
:root[data-theme="dark"] footer { background: rgba(5, 7, 15, 0.85); }

/* novidades */
.news-entry { padding: 22px 0; border-top: 1px solid var(--border-color); }
.news-entry:first-child { border-top: 0; padding-top: 6px; }
.news-tag { background: linear-gradient(120deg, var(--accent-blue), var(--violet)) !important; color: #fff !important; border: 0 !important; }

/* telas pequenas */
@media (max-width: 760px) {
  .header-inner, .dash-header-inner { padding: 8px 10px 8px 16px; }
  .user-email { display: none; }
  #btn-change-password { margin-right: 0 !important; }
  #btn-change-password { font-size: 0 !important; gap: 0 !important; padding: 8px !important; }
  .dash-container, .policy-container { padding-top: 96px; margin-top: 96px; }
  .dash-container { margin-top: 0; }
  .policy-card { padding: 26px 20px; }
  .auth-wrapper { margin-top: 56px; }
  .sub-details-grid { grid-template-columns: 1fr; }
  nav ul { gap: 8px; }
  .btn-nav-outline, .btn-nav { padding: 7px 13px; font-size: 13px; }
  .theme-select { padding: 6px 8px; }
  .dash-header-right { gap: 6px; }
  .user-pill { padding: 3px !important; }
  .logo img { height: 22px; }
}
@media (prefers-reduced-motion: reduce) { .auth-card, .dash-welcome, .dash-card, .policy-card { animation: none; } }
