:root{--ink:#f3f4f6;--muted:#b8bec8;--line:#343942}*{box-sizing:border-box}
body{margin:0;background:radial-gradient(ellipse at 50% -10%,#252a30 0%,#0b0d10 48%,#050607 100%);color:var(--ink);font:16px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh}
.wrap{max-width:640px;margin:auto;padding:28px 18px 50px}
.top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}
.top a{color:var(--muted);text-decoration:none;font-weight:700}
.eyebrow{display:inline-block;border:1px solid #666b73;background:#202226;color:#f1f1f1;padding:6px 12px;border-radius:999px;font-size:.82rem;font-weight:750;letter-spacing:.08em}
h1{font-size:clamp(1.8rem,6vw,2.6rem);letter-spacing:-.04em;line-height:1.05;margin:14px 0 8px}
.card{background:linear-gradient(145deg,#191b20,#101114);border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:0 12px 32px #0008;margin-top:16px}
.card h2{font-size:1.15rem;margin:0 0 6px}
.sub,.fine{color:var(--muted);font-size:.9rem;margin:0 0 14px}.fine{font-size:.8rem;margin:12px 0 0}
.field{margin:15px 0}.field label{display:block;font-weight:700;font-size:.92rem;margin-bottom:7px}
.field input,.field textarea{width:100%;padding:12px 13px;border:1px solid #4a4e56;border-radius:11px;background:#0e0f12;color:var(--ink);font:inherit}
.field input:focus,.field textarea:focus{outline:3px solid #aeb4bd28;border-color:#c4c8ce}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.btn{display:block;width:100%;border:0;border-radius:12px;background:linear-gradient(135deg,#f0f0f0,#aeb3bb);color:#111214;font:inherit;font-weight:850;padding:14px 16px;text-align:center;text-decoration:none;cursor:pointer}
.btn:hover{background:#fff}.btn:disabled{opacity:.6;cursor:wait}
.btn.secondary{background:#17191d;color:#f4f4f5;border:1px solid #555a63}
.link{background:none;border:0;color:var(--muted);font:inherit;text-decoration:underline;cursor:pointer;padding:0;margin-top:12px}
.actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.breakdown{margin:16px 0;border-top:1px solid var(--line)}
.line{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #292c32;font-size:.92rem}
.line.total strong{font-size:1.3rem}
.msg{padding:12px;border-radius:10px;font-size:.88rem;margin-top:12px}.msg:empty{display:none}
.msg.error{background:#3a1717;color:#ffb4b4}.msg.success{background:#e9f8ef;color:#17683a}
[hidden]{display:none!important}
@media(max-width:520px){.grid,.actions{grid-template-columns:1fr}}
