:root{
  --bg:#0f1420; --surface:#161d2e; --surface-2:#1d2740; --border:#28324b;
  --text:#e7ecf5; --text-dim:#93a0b8; --primary:#e8821a; --primary-600:#cf6f0f;
  --success:#34d399; --danger:#f87171; --radius:12px;
}
*{box-sizing:border-box}
body{margin:0;font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  background:var(--bg);color:var(--text);line-height:1.5}
a{color:var(--primary);text-decoration:none}
.container{max-width:1040px;margin:0 auto;padding:0 20px}
.topnav{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--border)}
.brand{font-weight:800;font-size:1.15rem;color:var(--text)}
.brand span{color:var(--primary)}
.nav-links{display:flex;gap:14px;align-items:center}
.btn{display:inline-block;border:1px solid var(--border);background:var(--surface-2);color:var(--text);
  padding:9px 16px;border-radius:10px;font-weight:600;font-size:.9rem;cursor:pointer;text-align:center}
.btn:hover{border-color:var(--primary)}
.btn-primary{background:var(--primary);border-color:var(--primary);color:#1a1200}
.btn-primary:hover{background:var(--primary-600);border-color:var(--primary-600)}
.btn-ghost{background:transparent}
.btn-block{display:block;width:100%}
.btn-sm{padding:6px 12px;font-size:.82rem}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px;margin-bottom:18px}
.card h2{margin:0 0 4px;font-size:1.05rem}
.muted{color:var(--text-dim)}
.hero{padding:64px 0 32px;text-align:center}
.hero h1{font-size:2.4rem;margin:0 0 12px;letter-spacing:-.02em}
.hero p{font-size:1.1rem;color:var(--text-dim);max-width:640px;margin:0 auto 24px}
.hero .btn{margin:0 6px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin:28px 0}
.feature{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px}
.feature .ic{font-size:1.5rem}
.feature h3{margin:8px 0 4px;font-size:1rem}
.feature p{margin:0;color:var(--text-dim);font-size:.9rem}
.price-tag{font-size:2rem;font-weight:800}
.price-tag small{font-size:.9rem;color:var(--text-dim);font-weight:500}
.authbox{max-width:400px;margin:56px auto}
.form-group{margin-bottom:14px}
.form-group label{display:block;font-size:.85rem;margin-bottom:6px;color:var(--text-dim)}
.form-group input{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--border);
  background:var(--surface-2);color:var(--text);font-size:.95rem}
.form-group input:focus{outline:none;border-color:var(--primary)}
.divider{display:flex;align-items:center;gap:12px;color:var(--text-dim);font-size:.8rem;margin:18px 0}
.divider::before,.divider::after{content:"";flex:1;height:1px;background:var(--border)}
.flash{padding:10px 14px;border-radius:10px;margin-bottom:14px;font-size:.9rem;border:1px solid var(--border)}
.flash-success{background:rgba(52,211,153,.1);border-color:rgba(52,211,153,.3);color:var(--success)}
.flash-error{background:rgba(248,113,113,.1);border-color:rgba(248,113,113,.3);color:var(--danger)}
.flash-info,.flash-warning{background:var(--surface-2)}
.page{padding:28px 0}
.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.page-head h1{font-size:1.5rem;margin:0}
.pill{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.72rem;font-weight:700;text-transform:capitalize}
.pill.active{background:rgba(52,211,153,.12);color:var(--success)}
.pill.none,.pill.canceled{background:var(--surface-2);color:var(--text-dim)}
.pill.past_due{background:rgba(248,113,113,.12);color:var(--danger)}
.feed-row{display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-bottom:12px}
.google-btn{display:flex;align-items:center;justify-content:center;gap:10px;background:#fff;color:#1f2733;
  border:1px solid #dadce0;padding:10px 16px;border-radius:10px;font-weight:600}
.google-btn:hover{background:#f5f6f8}
.legal{max-width:760px;margin:24px auto 40px;padding:0 4px}
.legal h1{font-size:1.8rem;margin:8px 0 4px}
.legal h2{font-size:1.1rem;margin:26px 0 6px}
.legal p{color:var(--text);line-height:1.65;margin:8px 0}
.legal a{text-decoration:underline}
.agree{display:flex;gap:8px;align-items:flex-start;font-size:.82rem;color:var(--text-dim);margin:6px 0 14px}
.agree input{margin-top:3px}
