:root{--bg:#0f172a;--card:#1e293b;--text:#e2e8f0;--muted:#94a3b8;--brand:#6366f1;--brand-hover:#4f46e5;--ok:#22c55e;--err:#ef4444;--border:#334155}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}main{max-width:480px;margin:0 auto;padding:24px 16px 64px}.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:24px;margin-top:16px}h1{font-size:1.5rem;margin:0 0 4px}.muted,label{color:var(--muted)}label{display:block;font-size:.9rem;margin:16px 0 6px}input,select{padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:#0f172a;color:var(--text)}button,input,select{width:100%;font-size:1rem}button{margin-top:20px;padding:12px 16px;border-radius:10px;border:none;background:var(--brand);color:#fff;font-weight:600;cursor:pointer}button:hover{background:var(--brand-hover)}button:disabled{opacity:.5;cursor:not-allowed}.price{font-size:2rem;font-weight:700;margin:8px 0}.error{color:var(--err);margin-top:12px}.success{color:var(--ok)}table{width:100%;border-collapse:collapse;font-size:.85rem}td,th{text-align:left;padding:8px;border-bottom:1px solid var(--border)}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.75rem;background:var(--border)}.badge.done,.badge.online,.badge.paid{background:rgba(34,197,94,.2);color:var(--ok)}.badge.failed,.badge.offline{background:rgba(239,68,68,.2);color:var(--err)}