:root { --brand:#007C80; --brand-d:#00666a; --bg:#00666a; --bd:#cfd8dc; }
*{box-sizing:border-box}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);padding:2rem}
.card{max-width:720px;margin:auto;background:#fff;padding:1.25rem 1.25rem 1.5rem;border-radius:14px;box-shadow:0 4px 14px rgba(0,0,0,.06)}
h2{margin:0 0 .5rem;color:#123}
p.help{margin:.25rem 0 1rem;color:#567;font-size:.95rem}
label{display:block;margin-top:1rem;font-weight:600;color:#123}
input,textarea{width:100%;padding:.7rem .8rem;margin-top:.4rem;border-radius:10px;border:1px solid var(--bd);font-size:1rem;outline:none;transition:border .15s,box-shadow .15s}
input:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(0,124,128,.12)}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.grid>div{min-width:0}
.row{display:flex;gap:12px}
.flex1{flex:1}
button{margin-top:1.25rem;background:var(--brand);color:#fff;padding:.9rem 1.25rem;border:none;border-radius:12px;cursor:pointer;width:100%;font-weight:700;letter-spacing:.2px}
button:hover{background:var(--brand-d)}
small.note{color:#567;display:block;margin-top:.25rem}
.errmsg{background:#fff3f3;border:1px solid #ffd6d6;color:#8a1f1f;padding:.6rem .8rem;border-radius:10px;margin-top:.75rem;display:none}
.hidden{display:none}
#payment-stage{margin-top:1rem;padding-top:1rem;border-top:1px dashed #e1e5e9}
.mt12{margin-top:12px}
