
:root{
  --bg:#f5f5f7;
  --surface:rgba(255,255,255,.78);
  --surface-solid:#ffffff;
  --surface-dark:#0a0a0a;
  --ink:#111111;
  --ink-soft:#3a3a3c;
  --muted:#85858a;
  --line:rgba(17,17,17,.08);
  --gold:#d4a62a;
  --gold-bright:#f0c85a;
  --gold-soft:rgba(212,166,42,.12);
  --danger:#ff3b30;
  --success:#30d158;
  --shadow-sm:0 8px 24px rgba(0,0,0,.06);
  --shadow-lg:0 28px 70px rgba(0,0,0,.12);
  --blur:blur(26px) saturate(160%);
  --safe-top:env(safe-area-inset-top);
  --safe-bottom:env(safe-area-inset-bottom);
}
*{box-sizing:border-box}
html{
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Segoe UI",sans-serif;
  color:var(--ink);
  background:var(--bg);
  text-rendering:optimizeLegibility;
}
body{
  min-height:100dvh;
  margin:0;
  background:
    radial-gradient(circle at 100% -10%,rgba(212,166,42,.12),transparent 28%),
    linear-gradient(180deg,#fafafa 0%,#f3f3f5 100%);
  -webkit-font-smoothing:antialiased;
}
button,input{font:inherit}
button{-webkit-tap-highlight-color:transparent;cursor:pointer}
button:active{transform:scale(.975)}
[hidden]{display:none!important}
.eyebrow{
  font-size:10px;
  font-weight:700;
  letter-spacing:.15em;
  color:var(--gold);
  text-transform:uppercase
}
.primary-btn{
  width:100%;
  min-height:54px;
  border:0;
  border-radius:17px;
  background:#111;
  color:#fff;
  font-size:14px;
  font-weight:700;
  letter-spacing:-.01em;
  box-shadow:0 14px 35px rgba(0,0,0,.18);
  transition:transform .18s ease,opacity .18s ease
}
.primary-btn:disabled{opacity:.45}
.message{
  margin-top:14px;
  padding:12px 14px;
  border-radius:15px;
  font-size:12px;
  line-height:1.5
}
.message.error{background:rgba(255,59,48,.09);color:#b42318}
.message.success{background:rgba(48,209,88,.1);color:#067647}
.page-card{
  padding:18px;
  border:1px solid rgba(255,255,255,.9);
  border-radius:25px;
  background:var(--surface);
  box-shadow:var(--shadow-sm);
  backdrop-filter:var(--blur);
  -webkit-backdrop-filter:var(--blur)
}
.page-card h2{margin:0;font-size:20px;letter-spacing:-.04em}
.page-card p{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.55}
.empty-card{display:grid;place-items:center;min-height:220px;text-align:center}
.empty-card i{font-size:30px;color:var(--gold)}
