/* Account pages: same tokens as the landing (packages/ui/tokens.json). */
:root {
  --paper: #FAFAF7; --card: #FFFFFF; --ink: #0F2B46; --ink-soft: #44586C;
  --blue: #1660A8; --blue-deep: #0E4A85; --stamp: #C93B2C; --done: #1F7A5C;
  --line: #D9DED9; --on-blue: #FFFFFF; --shadow: rgba(15, 43, 70, 0.07);
  --display: "Archivo", sans-serif; --body: "Public Sans", sans-serif; --mono: "IBM Plex Mono", monospace;
  color-scheme: light;
}
:root[data-theme="dark"] {
  --paper: #0F1720; --card: #172230; --ink: #E9EEF3; --ink-soft: #A3B1BF;
  --blue: #5B9BE0; --blue-deep: #7FB3EA; --stamp: #E8695A; --done: #4DBA90;
  --line: #2A3947; --on-blue: #0B1520; --shadow: rgba(0, 0, 0, 0.35);
  color-scheme: dark;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    --paper: #0F1720; --card: #172230; --ink: #E9EEF3; --ink-soft: #A3B1BF;
    --blue: #5B9BE0; --blue-deep: #7FB3EA; --stamp: #E8695A; --done: #4DBA90;
    --line: #2A3947; --on-blue: #0B1520; --shadow: rgba(0, 0, 0, 0.35);
    color-scheme: dark;
  }
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--body); font-size: 16px; line-height: 1.55; }
main { max-width: 560px; margin: 0 auto; padding: 48px 20px 80px; }
.wordmark { font-family: var(--display); font-weight: 800; font-size: 22px; letter-spacing: -0.01em; color: var(--ink); text-decoration: none; }
.wordmark span { color: var(--blue); }
.topbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 36px; }
.topbar nav a { font-family: var(--mono); font-size: 13px; color: var(--ink-soft); text-decoration: none; margin-left: 18px; }
h1 { font-family: var(--display); font-weight: 800; font-size: 30px; line-height: 1.15; margin: 0 0 10px; letter-spacing: -0.015em; }
.eyebrow { font-family: var(--mono); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--blue); margin: 0 0 10px; }
.lead { color: var(--ink-soft); margin: 0 0 24px; }
.card { background: var(--card); border: 1px solid var(--line); border-radius: 10px; padding: 22px; box-shadow: 0 6px 24px var(--shadow); margin-bottom: 18px; }
label { display: block; font-family: var(--mono); font-size: 12.5px; color: var(--ink-soft); margin-bottom: 6px; }
input[type="email"] { width: 100%; font: inherit; padding: 13px 14px; border: 1px solid var(--line); border-radius: 6px; background: var(--paper); color: var(--ink); margin-bottom: 14px; }
.btn { font-family: var(--display); font-weight: 700; font-size: 16px; background: var(--blue); color: var(--on-blue); border: none; border-radius: 6px; padding: 14px 24px; cursor: pointer; text-decoration: none; display: inline-block; }
.btn:hover { background: var(--blue-deep); }
.btn.secondary { background: transparent; color: var(--blue); border: 1px solid var(--line); }
.btn.block { width: 100%; text-align: center; }
.note { font-family: var(--mono); font-size: 12.5px; color: var(--ink-soft); margin: 12px 0 0; }
.note.done { color: var(--done); }
.note.warn { color: var(--stamp); }
.stat { display: flex; align-items: baseline; gap: 10px; }
.stat b { font-family: var(--display); font-size: 40px; font-weight: 800; line-height: 1; }
.stat span { color: var(--ink-soft); }
table { width: 100%; border-collapse: collapse; font-size: 14.5px; }
th { text-align: left; font-family: var(--mono); font-size: 11.5px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-soft); font-weight: 500; padding: 0 0 8px; }
td { padding: 10px 0; border-top: 1px solid var(--line); vertical-align: top; }
td a { color: var(--blue); }
.empty { color: var(--ink-soft); font-size: 14.5px; }
.tag { font-family: var(--mono); font-size: 11.5px; padding: 2px 7px; border-radius: 4px; border: 1px solid var(--line); color: var(--ink-soft); }
.tag.done { color: var(--done); border-color: var(--done); }
.tag.warn { color: var(--stamp); border-color: var(--stamp); }
footer { margin-top: 48px; font-family: var(--mono); font-size: 12px; color: var(--ink-soft); }
footer a { color: inherit; }
[hidden] { display: none !important; }

/* Legal pages (/termos, /privacidade): long prose, wider column. */
main.legal { max-width: 720px; }
.legal h2 { font-family: var(--display); font-weight: 700; font-size: 19px; margin: 34px 0 8px; letter-spacing: -0.01em; }
.legal h2 span { font-family: var(--mono); font-size: 13px; font-weight: 400; color: var(--blue); margin-right: 8px; }
.legal p { margin: 0 0 12px; }
.legal ul { margin: 0 0 12px; padding-left: 20px; }
.legal li { margin-bottom: 6px; }
.legal .todo { background: rgba(201, 59, 44, 0.09); border-radius: 3px; padding: 0 4px; font-family: var(--mono); font-size: 13px; color: var(--stamp); }
.legal .updated { font-family: var(--mono); font-size: 12.5px; color: var(--ink-soft); margin: 0 0 26px; }
