:root{
  --bg:#F5F6F8; --card:#FFFFFF; --border:#DFE3E9; --text:#1B2430; --text-soft:#3F4A5A; --muted:#6B7684;
  --accent:#FF4145; --accent-dark:#D5282C; --ok:#16A34A;
  --mono:'SF Mono',Consolas,'Liberation Mono',monospace;
  --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);
     -webkit-font-smoothing:antialiased}
.wrap{max-width:760px;margin:0 auto;padding:40px 20px 80px}
.brand{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;margin-bottom:36px}
.brand-mark{width:90px;height:90px;object-fit:contain}
.brand-name{font-weight:700;letter-spacing:.02em;font-size:26px}
.brand-sub{color:var(--muted);font-size:16px}
h1{font-size:26px;margin:0 0 6px}
.lede{color:var(--muted);font-size:15px;line-height:1.6;margin-bottom:32px}
.card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:24px;margin-bottom:20px}
.card h2{font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 16px}
.agreement-box{max-height:340px;overflow-y:auto;background:var(--bg);border:1px solid var(--border);
  border-radius:8px;padding:4px 18px 6px;margin-bottom:8px}
.agreement-box h3{font-size:13px;color:var(--accent);margin:16px 0 8px;text-transform:uppercase;
  letter-spacing:.03em}
.agreement-box h3:first-child{margin-top:14px}
.agreement-box p{font-size:12.5px;line-height:1.65;color:var(--text-soft);margin:0 0 12px}
.agreement-box p.callout{font-weight:600;color:var(--text)}
.agreement-box ol,.agreement-box ul{padding-left:20px;margin:0 0 12px}
.agreement-box li{font-size:12.5px;line-height:1.65;color:var(--text-soft);margin-bottom:6px}
.agreement-box strong{color:var(--text)}
.agreement-box a{color:var(--accent)}
.agreement-meta{color:var(--muted);font-size:11.5px;margin:8px 0 0;font-family:var(--mono)}
label{display:block;font-size:13px;font-weight:600;margin:16px 0 6px}
label .req{color:var(--accent)}
label .opt{color:var(--muted);font-weight:400}
input[type=text],input[type=email],textarea{
  width:100%;background:var(--bg);border:1px solid var(--border);border-radius:6px;
  color:var(--text);padding:10px 12px;font-family:var(--sans);font-size:14px}
input:focus,textarea:focus{outline:none;border-color:var(--accent)}
textarea{resize:vertical;min-height:70px}
.hint{color:var(--muted);font-size:12px;margin-top:4px}
.checkbox-row{display:flex;gap:10px;align-items:flex-start;margin:20px 0}
.checkbox-row input{margin-top:3px}
.checkbox-row span{font-size:13px;color:var(--text-soft);line-height:1.5}
.checkbox-row a{color:var(--accent)}
.submit-btn{width:100%;padding:14px;background:var(--accent);color:#fff;border:none;
  border-radius:8px;font-size:15px;font-weight:700;cursor:pointer;margin-top:8px}
.submit-btn:hover{background:var(--accent-dark)}
.error-box{background:rgba(255,65,69,.08);border:1px solid var(--accent);color:#B91C1C;
  padding:12px 16px;border-radius:8px;font-size:13.5px;margin-bottom:20px}
.footer{color:var(--muted);font-size:12px;text-align:center;margin-top:40px}
.footer a{color:var(--muted)}
.receipt-check{width:52px;height:52px;border-radius:50%;background:rgba(34,197,94,.12);
  border:1px solid var(--ok);display:flex;align-items:center;justify-content:center;
  font-size:24px;color:var(--ok);margin:0 auto 18px}
.receipt h1{text-align:center}
.receipt .lede{text-align:center}
.dl-grid{display:flex;flex-direction:column;gap:10px;margin-top:20px}
.dl-btn{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;
  background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);
  text-decoration:none;font-weight:600;font-size:14px}
.dl-btn:hover{border-color:var(--accent)}
.dl-btn span.arrow{color:var(--accent)}
.dl-btn-disabled{opacity:.4;cursor:not-allowed;pointer-events:none}
.dl-btn-disabled span.arrow{color:var(--muted)}
.limit-status{font-size:12px;color:var(--muted);margin-top:12px;text-align:center}
.token-box{font-family:var(--mono);font-size:11px;color:var(--muted);background:var(--bg);
  border:1px solid var(--border);border-radius:6px;padding:10px 12px;margin-top:20px;word-break:break-all}
table{width:100%;border-collapse:collapse;font-size:12.5px}
th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border)}
th{color:var(--muted);font-weight:600;text-transform:uppercase;font-size:10.5px;letter-spacing:.04em}
tr:hover td{background:rgba(0,0,0,.025)}
.stat-row{display:flex;gap:14px;margin-bottom:20px;flex-wrap:wrap}
.stat{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:14px 18px;flex:1;min-width:120px}
.stat .n{font-size:24px;font-weight:700;font-family:var(--mono)}
.stat .l{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em}
.scroll-x{overflow-x:auto}
