:root { --ink:#1b1f24; --muted:#5f6b76; --line:#e3e7eb; --bg:#f5f7f9; --card:#fff; --accent:#2b59c3; --ok:#1f7a4a; --bad:#b42318; }
* { box-sizing: border-box; }
body { margin:0; font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; color:var(--ink); background:var(--bg); }
.wrap { max-width:520px; margin:0 auto; padding:28px 16px 48px; }
.card { background:var(--card); border:1px solid var(--line); border-radius:14px; padding:22px; margin-bottom:16px; }
h1 { font-size:1.45rem; margin:0 0 4px; } h2 { font-size:1.05rem; margin:0 0 10px; }
.muted { color:var(--muted); font-size:.92rem; }
.price { font-size:2rem; font-weight:700; } .price small { font-size:1rem; font-weight:500; color:var(--muted); }
table { width:100%; border-collapse:collapse; font-size:.95rem; }
td { padding:7px 0; border-bottom:1px solid var(--line); } td:last-child { text-align:right; }
label { display:block; font-weight:600; margin:14px 0 6px; font-size:.95rem; }
input[type=text], input[type=email], #card { width:100%; padding:12px; border:1px solid #cfd6dd; border-radius:9px; font-size:16px; background:#fff; }
.agree { display:flex; gap:10px; align-items:flex-start; margin:16px 0; font-size:.93rem; }
.agree input { margin-top:4px; width:18px; height:18px; flex:none; }
button, .btn { display:inline-block; width:100%; padding:14px; border:0; border-radius:10px; background:var(--accent); color:#fff; font-size:1rem; font-weight:600; cursor:pointer; text-align:center; text-decoration:none; }
button:disabled { opacity:.6; cursor:wait; }
.btn.alt { background:#fff; color:var(--accent); border:1px solid var(--accent); }
.row { display:flex; gap:10px; margin-top:10px; } .row .btn { flex:1; }
.err { color:var(--bad); margin-top:10px; min-height:1.2em; font-size:.93rem; }
.pill { display:inline-block; padding:2px 10px; border-radius:99px; font-size:.82rem; font-weight:600; }
.pill.ok { background:#e5f4ec; color:var(--ok); } .pill.bad { background:#fdecea; color:var(--bad); }
.pill.wait { background:#eef2f6; color:var(--muted); }
@media print { .noprint { display:none; } body { background:#fff; } .card { border:0; } }
