.auth-card{max-width:420px;margin:48px auto;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm,10px);padding:28px;box-shadow:var(--shadow)}
.auth-card h1{font-size:1.5rem;margin:0 0 6px;letter-spacing:-.02em}.auth-card form{display:flex;flex-direction:column;gap:12px;margin:16px 0 10px}
.auth-card input[type=email],.auth-card input[type=password]{font:inherit;padding:10px 12px;border:1px solid var(--border-strong);border-radius:8px;background:var(--bg);color:var(--text)}
.btn-block{width:100%;justify-content:center;margin-top:8px}.muted{color:var(--muted)}.auth-msg{min-height:1.2em;margin:0;color:var(--bad,#c62828);font-size:.9rem}.auth-msg.ok{color:var(--ok,#2e7d32)}
.auth-links{text-align:center;font-size:.9rem;margin-top:14px}.check{font-size:.88rem;display:flex;gap:8px;align-items:flex-start}
.perks{padding-left:18px;line-height:1.7}.price{font-size:1.1rem}.price b{font-size:1.8rem}.acct{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:16px 0}.acct dt{color:var(--muted)}.acct dd{margin:0;font-weight:600}
.landing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:10px 0 40px}.hero .cta{margin:22px 0 6px;display:flex;gap:10px;justify-content:center}
body.auth-page{padding-left:0}
.auth-card.legal{max-width:760px}.legal h2{font-size:1.05rem;margin:20px 0 6px}.legal li{margin:4px 0}.legal p,.legal li{line-height:1.6}
.auth-foot{text-align:center;color:var(--muted);font-size:.85rem;padding:10px 0 30px}.small-print{font-size:.85rem}
/* Landing CTA: centered, balanced, equal-size buttons */
.hero .cta{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;width:100%;max-width:none;margin:24px auto 8px;padding:0}
.hero .cta .btn{min-width:200px;min-height:46px;padding:0 22px;justify-content:center;text-align:center;font-size:1rem;display:inline-flex;align-items:center;box-sizing:border-box}
.hero .cta + .muted{text-align:center}
@media (max-width:480px){.hero .cta{flex-direction:column;gap:10px}.hero .cta .btn{width:100%;max-width:320px}}
.landing-grid{margin-bottom:18px}.landing-more{display:flex;justify-content:center;margin:0 0 40px}.landing-more .btn{min-width:200px;min-height:46px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;box-sizing:border-box}
@media (max-width:480px){.landing-more .btn{width:100%;max-width:320px}}
