/* Shared look for the small server-rendered pages (privacy policy, terms, e-mail
   verification, account reactivation, data-source connection result): the same dark
   theme, colors and Geist font as the app (redesign A). Linked, not inline, so the
   pages keep working under the CSP and there is one copy to change. */

@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/static/fonts/geist.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/static/fonts/geist-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/static/fonts/geist-mono.woff2') format('woff2');
}

:root {
  color-scheme: dark;
  --bg: #0B0F14;
  --card: #131A22;
  --card-2: #17202A;
  --border: #1F2833;
  --border-2: #2A3644;
  --text: #E8EDF2;
  --muted: #A9B4C0;
  --primary: #2DD4BF;
  --primary-ink: #06231F;
  --ok: #5EEAD4;
  --err: #F87171;
  --warn-bg: #2E2414;
  --warn: #F5A524;
}

* { box-sizing: border-box; }
html { background: var(--bg); }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: 'Geist', 'Segoe UI', system-ui, -apple-system, sans-serif;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--ok); }
a:hover { color: #99F6E4; }

/* Status pages: one centered card */
body.page-card { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 20px; }
.card {
  width: 100%; max-width: 480px;
  padding: 36px 32px;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 16px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 24px 60px -12px rgba(0, 0, 0, 0.7);
  text-align: center;
}
.card h1, .card h2 { margin: 0 0 10px; font-size: 22px; font-weight: 600; letter-spacing: -0.015em; }
.card p { color: var(--muted); font-size: 15px; }
.ok { color: var(--ok); }
.err { color: var(--err); }
.small { font-size: 12px; color: var(--muted); }
a.btn {
  display: inline-block; margin-top: 20px; padding: 12px 24px;
  border-radius: 12px; background: var(--primary); color: var(--primary-ink);
  font-weight: 600; text-decoration: none;
}
a.btn:hover { filter: brightness(1.08); color: var(--primary-ink); }
.recovery-box {
  margin: 16px 0; padding: 12px;
  border: 1px dashed var(--primary); border-radius: 10px; background: #0E131A;
  color: var(--ok); font-family: 'Geist Mono', monospace; font-size: 14px; word-break: break-all;
}

/* Documents: privacy policy and terms */
body.page-doc { max-width: 760px; margin: 0 auto; padding: 24px 16px 48px; }
.page-doc h1 { font-size: 1.6rem; letter-spacing: -0.02em; }
.page-doc h2 { font-size: 1.2rem; margin-top: 2rem; }
.page-doc h3 { font-size: 1.02rem; }
.page-doc p, .page-doc li { color: #C2CCD6; }
.page-doc strong { color: var(--text); }
.page-doc table { border-collapse: collapse; width: 100%; margin: 12px 0; font-size: 0.92rem; }
.page-doc th, .page-doc td { border: 1px solid var(--border-2); padding: 6px 8px; text-align: left; vertical-align: top; }
.page-doc th { background: var(--card-2); color: var(--text); }
.page-doc td { background: var(--card); }
.page-doc blockquote { margin: 12px 0; padding: 8px 12px; background: var(--warn-bg); border-left: 4px solid var(--warn); border-radius: 0 8px 8px 0; }
.page-doc code { background: var(--card-2); padding: 0 4px; border-radius: 4px; font-family: 'Geist Mono', monospace; }
.page-back { display: inline-block; margin-bottom: 8px; font-weight: 500; text-decoration: none; }
