*{box-sizing:border-box}
body{margin:0;background:#f6f7f9;color:#1f2937;font:14px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
.wrap{max-width:800px;margin:0 auto;padding:0 16px}
.topbar{border-bottom:1px solid #e5e7eb;margin-bottom:10px}
.topbar .wrap{padding-top:22px;padding-bottom:14px}
.brand{font-weight:700;font-size:17px;letter-spacing:.02em;color:#1f2937}
.grid{display:grid;grid-template-columns:1fr 272px;gap:28px;align-items:start}
.card{background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:20px 20px 22px;margin-bottom:18px}
h2{font-size:14px;font-weight:600;margin:0 0 18px}
label{display:block;font-size:11px;font-weight:500;color:#4b5563;margin-bottom:14px}
.req{color:#dc2626;margin-left:1px}
input,select{display:block;width:100%;margin-top:6px;height:32px;padding:0 10px;border:1px solid #d1d5db;border-radius:5px;background:#fff;font:inherit;font-size:13px;color:#111827}
input:focus,select:focus{outline:none;border-color:#6b7fa8;box-shadow:0 0 0 3px rgba(107,127,168,.15)}
input.invalid{border-color:#dc2626}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pay-wrap{position:relative}
.pp-loading{height:36px;border-radius:5px;background:#7487b1;color:#fff;font-weight:600;font-size:13px;display:flex;align-items:center;justify-content:center}
.pay-guard{position:absolute;inset:0;cursor:pointer;z-index:5}
.pay-guard.off{display:none}
.msg{margin:10px 0 0;font-size:12px;color:#dc2626;min-height:1em}
.msg.ok{color:#15803d}
.summary .line{padding-bottom:12px;border-bottom:1px solid #e5e7eb;font-size:13px}
.summary .line small{display:block;font-size:10.5px;font-weight:600;color:#374151;margin-top:2px}
.total{display:flex;justify-content:space-between;align-items:center;padding:12px 0 6px;font-size:12px}
.total strong{font-size:16px}
.secure{font-size:10.5px;color:#6b7280;margin:8px 0 0}
.foot{font-size:11px;color:#6b7280;padding-bottom:30px}
.foot a{color:#6b7280;margin-right:14px}
@media (max-width:720px){
  .grid{grid-template-columns:1fr;gap:0}
  .col-side{order:-1}
  .row{grid-template-columns:1fr;gap:0}
}
