/* Shared look for the signed-in pages (entrar, analisar, conta, termos, privacidade). Same tokens as the landing. */
:root {
  --brand: #6B3FE0; --brand-soft: #EDE6FD; --brand-text: #5B30D6;
  --coral: #F27C6B; --coral-soft: #FDE3DE; --peach: #FBC9BC;
  --frame: #6B3FE0; --sheet: #F6F3FC; --card: #FFFFFF;
  --ink: #251B40; --ink-2: #5E5675; --line: #E6E0F3; --danger: #C2352B;
  --shadow: 0 30px 60px -30px rgba(74, 39, 181, .35);
  --font-display: "Poppins", system-ui, sans-serif;
  --font-body: "Nunito", system-ui, sans-serif;
  color-scheme: light;
}
:root[data-theme="dark"] {
  --brand-soft: #2E2257; --brand-text: #B49BFF; --coral-soft: #4A2730;
  --frame: #2A1A66; --sheet: #15112A; --card: #201A3A;
  --ink: #F3EFFC; --ink-2: #B7AECF; --line: #342B55; --danger: #FF8A80;
  --shadow: 0 30px 60px -30px rgba(0, 0, 0, .6);
  color-scheme: dark;
}
* { box-sizing: border-box; margin: 0; }
html { -webkit-text-size-adjust: 100%; }
body { background: var(--frame); color: var(--ink); font: 400 16px/1.6 var(--font-body); padding: 24px; min-height: 100vh; }
a { color: inherit; }
:focus-visible { outline: 2px solid var(--brand); outline-offset: 3px; border-radius: 8px; }
[hidden] { display: none !important; }

.sheet { max-width: 1120px; margin: 0 auto; background: var(--sheet); border-radius: 40px; overflow: clip; min-height: calc(100vh - 48px); display: flex; flex-direction: column; }
.wrap { width: 100%; max-width: 920px; margin: 0 auto; padding: 0 32px; }
.nav { display: flex; align-items: center; gap: 16px; padding: 28px 0; }
.logo { display: flex; align-items: center; gap: 10px; text-decoration: none; font: 800 22px/1 var(--font-display); letter-spacing: -.02em; }
.logo svg { width: 36px; height: 36px; }
.logo .edition { font: 800 12px/1 var(--font-body); color: var(--brand-text); background: var(--brand-soft); padding: 6px 10px; border-radius: 999px; }
.nav-end { margin-left: auto; display: flex; align-items: center; gap: 12px; }
.icon-btn { width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--line); background: var(--card); color: var(--ink); display: grid; place-items: center; cursor: pointer; }
.nav-link { font-weight: 700; text-decoration: none; padding: 10px 14px; border-radius: 999px; }
.nav-link:hover { background: var(--brand-soft); }

main { flex: 1; padding: 16px 0 64px; }
h1 { font: 800 clamp(32px, 4.4vw, 48px)/1.1 var(--font-display); letter-spacing: -.025em; }
h2 { font: 700 22px/1.25 var(--font-display); }
.lead { color: var(--ink-2); font-size: 18px; margin-top: 12px; max-width: 36em; }
.muted { color: var(--ink-2); }
.small { font-size: 14px; }

.card { background: var(--card); border: 1px solid var(--line); border-radius: 24px; padding: 28px; }
.stack > * + * { margin-top: 16px; }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 24px; border-radius: 999px; font: 700 16px var(--font-body); text-decoration: none; border: 2px solid transparent; cursor: pointer; }
.btn-primary { background: var(--brand); color: #fff; }
.btn-primary:hover { filter: brightness(1.08); }
.btn-outline { border-color: var(--line); background: var(--card); color: var(--ink); }
.btn-outline:hover { border-color: var(--brand-text); }
.btn-danger { background: transparent; border-color: var(--danger); color: var(--danger); }
.btn-block { width: 100%; }
.btn[disabled] { opacity: .55; cursor: not-allowed; }
.link-btn { background: none; border: 0; padding: 0; font: inherit; font-weight: 700; color: var(--brand-text); cursor: pointer; text-decoration: underline; }

label.field { display: block; font-weight: 700; font-size: 15px; }
input[type="email"], input[type="text"] { display: block; width: 100%; margin-top: 8px; height: 52px; padding: 0 16px; border-radius: 14px; border: 1px solid var(--line); background: var(--sheet); color: var(--ink); font: 16px var(--font-body); }
input:focus { outline: 2px solid var(--brand); outline-offset: 1px; }
.check { display: flex; gap: 12px; align-items: flex-start; font-size: 15px; }
.check input { width: 20px; height: 20px; margin-top: 3px; accent-color: var(--brand); flex: none; }
.divider { display: flex; align-items: center; gap: 12px; color: var(--ink-2); font-size: 14px; }
.divider::before, .divider::after { content: ""; flex: 1; height: 1px; background: var(--line); }

.notice { border-radius: 14px; padding: 14px 16px; font-size: 15px; background: var(--brand-soft); }
.notice.error { background: var(--coral-soft); color: var(--ink); border-left: 4px solid var(--danger); }

.footer { padding: 24px 32px 32px; display: flex; flex-wrap: wrap; gap: 8px 24px; justify-content: space-between; color: var(--ink-2); font-size: 14px; }
.footer a { text-decoration: none; }
.footer a:hover { text-decoration: underline; }

.prose h2 { margin-top: 32px; }
.prose p, .prose li { color: var(--ink-2); margin-top: 12px; max-width: 42em; }
.prose ul { padding-left: 20px; }

@media (max-width: 720px) {
  body { padding: 0; }
  .sheet { border-radius: 0; min-height: 100vh; }
  .wrap { padding: 0 16px; }
  .nav { padding: 16px 0; }
  .logo .edition { display: none; }
  .card { padding: 20px; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }
