:root { --bg: #0f172a; --card: #1e293b; --border: #334155; --accent: #3b82f6; --accent2: #2563eb; --text: #f8fafc; --muted: #94a3b8; --red: #ef4444; }
* { margin:0; padding:0; box-sizing:border-box; }
body { background:var(--bg); color:var(--text); font-family:'Inter',system-ui,sans-serif; min-height:100vh; display:flex; align-items:center; justify-content:center; }
.container { width:100%; max-width:420px; padding:20px; }
.logo { text-align:center; margin-bottom:32px; }
.logo h1 { font-size:28px; font-weight:700; }
.logo h1 span { color:var(--accent); }
.logo p { color:var(--muted); font-size:13px; margin-top:4px; }
.card { background:var(--card); border:1px solid var(--border); border-radius:16px; padding:32px 28px; }
.tabs { display:flex; gap:0; margin-bottom:24px; border-bottom:1px solid var(--border); }
.tab { flex:1; padding:10px; text-align:center; cursor:pointer; color:var(--muted); font-weight:500; font-size:14px; border-bottom:2px solid transparent; transition:all .2s; }
.tab.active { color:var(--accent); border-bottom-color:var(--accent); }
.form { display:none; }
.form.active { display:block; }
.field { margin-bottom:16px; }
.field label { display:block; font-size:12px; font-weight:600; color:var(--muted); margin-bottom:6px; text-transform:uppercase; letter-spacing:.5px; }
.field input { width:100%; padding:10px 14px; background:var(--bg); border:1px solid var(--border); border-radius:8px; color:var(--text); font-size:14px; outline:none; transition:border .2s; }
.field input:focus { border-color:var(--accent); }
.btn { width:100%; padding:12px; background:var(--accent); color:#fff; border:none; border-radius:8px; font-size:15px; font-weight:600; cursor:pointer; transition:background .2s; margin-top:8px; }
.btn:hover { background:var(--accent2); }
.btn:disabled { opacity:.6; cursor:wait; }
.error { background:rgba(239,68,68,.15); color:var(--red); padding:10px 14px; border-radius:8px; font-size:13px; margin-bottom:14px; display:none; }
.plans { margin-top:24px; padding-top:20px; border-top:1px solid var(--border); }
.plans h3 { font-size:14px; color:var(--muted); margin-bottom:12px; }
.plan-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.plan-item { background:var(--bg); border:1px solid var(--border); border-radius:8px; padding:10px; font-size:12px; }
.plan-item .plan-name { font-weight:600; font-size:13px; }
.plan-item .plan-price { color:var(--accent); font-weight:600; }
.plan-item .plan-desc { color:var(--muted); margin-top:4px; }
