*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
:root{--fg:#1a1d23;--muted:#5d6470;--line:#dde1e7;--bg:#f7f8fa;--card:#fff;--accent:#1f5eff;--accent-d:#1646c4;--ok:#127a3e;--warn:#fff6e0;--warn-line:#e9c46a;--danger:#b42318}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:16px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--fg);background:var(--bg)}
main{max-width:680px;margin:0 auto;padding:16px}
header.site{max-width:680px;margin:0 auto;padding:16px 16px 0}
.brand{font-weight:800;font-size:1.2rem;color:var(--fg);text-decoration:none;letter-spacing:-.01em}
.brand span{color:var(--accent)}
footer.site{max-width:680px;margin:32px auto 0;padding:16px;border-top:1px solid var(--line);color:var(--muted);font-size:.875rem}
footer.site p{margin:.3em 0}
a{color:var(--accent)}
h1{font-size:1.75rem;line-height:1.2;margin:.4em 0 .5em;letter-spacing:-.02em}
h2{font-size:1.2rem;margin:1.4em 0 .5em}
.card h2{margin-top:0}
h3{font-size:1rem;margin:1.2em 0 .3em}
.lead{font-size:1.1rem}
.muted{color:var(--muted)}
.small{font-size:.85rem}
.eyebrow{text-transform:uppercase;font-size:.75rem;letter-spacing:.08em;color:var(--muted);margin:0}
.hero{padding:12px 0 8px}
.steps li{margin-bottom:.6em}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px;margin:16px 0}
.card.warn,.alert.warn{background:var(--warn);border-color:var(--warn-line)}
.card.danger{border-color:#f1c0bb}
.alert{border:1px solid #f1c0bb;background:#fdf1f0;color:var(--danger);border-radius:8px;padding:10px 12px}
.alert.warn{color:var(--fg)}
.banner{background:var(--fg);color:#fff;text-align:center;border-radius:6px;padding:6px;font-size:.85rem;font-weight:600}
.btn{display:inline-block;font:inherit;font-weight:600;padding:10px 16px;border-radius:8px;border:1px solid var(--line);background:#fff;color:var(--fg);text-decoration:none;cursor:pointer;min-height:44px}
.btn:hover{border-color:var(--muted)}
.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}
.btn-primary:hover{background:var(--accent-d)}
.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}
.btn:disabled{opacity:.6;cursor:wait}
form label{display:block;font-weight:600;margin:12px 0 0}
label .opt{font-weight:400;color:var(--muted);font-size:.875rem}
input,select,textarea{display:block;width:100%;font:inherit;padding:10px;margin-top:4px;border:1px solid #c5cbd4;border-radius:8px;background:#fff;color:var(--fg)}
textarea{resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}
input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--danger)}
fieldset{border:1px solid var(--line);border-radius:10px;padding:8px 16px 16px;margin:16px 0;background:#fff}
legend{font-weight:700;padding:0 6px}
.row{display:grid;grid-template-columns:1fr;gap:0 12px}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.copyrow{display:flex;gap:8px;align-items:stretch;margin:6px 0 12px}
.copyrow input{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}
.terms{display:grid;grid-template-columns:1fr;gap:2px 16px;margin:16px 0}
.terms dt{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-top:8px}
.terms dd{margin:0;font-weight:600}
.pre{white-space:pre-wrap;overflow-wrap:anywhere}
.fp span{display:block;font-size:.8rem;color:var(--muted)}
.fp code{display:block;font-size:.8rem;overflow-wrap:anywhere;background:var(--bg);padding:6px 8px;border-radius:6px}
.receipt{border-color:#9fd5b3}
.receipt h2{color:var(--ok)}
.status{display:inline-block;font-weight:700;border-radius:999px;padding:2px 12px;font-size:.9rem;background:#eef0f3}
.status-opened{background:#fff1c2}
.status-accepted{background:#d7f5e1;color:var(--ok)}
.timeline{padding-left:20px}
.timeline li{margin-bottom:10px;overflow-wrap:anywhere}
.timeline li.todo{color:var(--muted)}
.label-preview{display:inline-block;background:#eef0f3;border-radius:6px;padding:2px 8px;font-size:.8rem;font-weight:600}
pre.email{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:12px;font-size:.85rem}
.disclaimer{font-weight:600}
@media (min-width:560px){
  h1{font-size:2.1rem}
  .row{grid-template-columns:1fr 1fr}
  .terms{grid-template-columns:max-content 1fr}
  .terms dt{margin-top:0;align-self:baseline}
}
@media print{
  body{background:#fff}
  header.site,.noprint,.banner,footer.site a{display:none}
  .card{border:1px solid #999}
}
