:root{
  --ink:#0f172a; --chalk:#f8fafc; --cobalt:#2563eb; --amber:#f59e0b; --mist:#64748b;
  --card:#ffffff; --border:#e2e8f0;
}
@media (prefers-color-scheme: dark){
  :root{ --ink:#f1f5f9; --chalk:#0b1220; --card:#111827; --border:#1f2937; --mist:#94a3b8; }
}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:var(--chalk);color:var(--ink)}
#app{min-height:100vh}
.container{max-width:960px;margin:0 auto;padding:20px}
.hero{padding:56px 20px;text-align:center;background:linear-gradient(180deg,var(--cobalt),#1d4ed8);color:#fff}
.hero h1{font-size:clamp(28px,7vw,52px);margin:0 0 8px}
.hero p{opacity:.9;font-size:18px}
.btn{display:inline-block;padding:12px 22px;border-radius:10px;border:none;font-weight:600;cursor:pointer;font-size:15px}
.btn-primary{background:var(--amber);color:#111}
.btn-outline{background:transparent;border:1px solid rgba(255,255,255,.7);color:#fff}
.btn-ghost{background:var(--border);color:var(--ink)}
.section{padding:36px 20px}
.section h2{font-size:24px;margin-bottom:16px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:20px}
.plan-price{font-size:22px;font-weight:700;margin:6px 0}
select,input,textarea{width:100%;padding:10px;border-radius:8px;border:1px solid var(--border);background:var(--card);color:var(--ink);margin-bottom:10px;font-size:15px}
label{font-size:13px;color:var(--mist);display:block;margin-bottom:4px}
.row{display:flex;gap:10px}
.row>*{flex:1}
.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--chalk);padding:12px 20px;border-radius:10px;font-size:14px;z-index:50}
nav{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid var(--border)}
nav .brand{font-weight:800;letter-spacing:.5px}
.badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600}
.badge-pending{background:#fef3c7;color:#92400e}
.badge-active{background:#dcfce7;color:#166534}
.badge-declined{background:#fee2e2;color:#991b1b}
table{width:100%;border-collapse:collapse}
td,th{padding:8px;border-bottom:1px solid var(--border);text-align:left;font-size:14px}
.gauge{height:10px;border-radius:6px;background:var(--border);overflow:hidden;margin:10px 0}
.gauge div{height:100%;background:var(--cobalt)}

