*{box-sizing:border-box}
body{
  margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  background:#f5f7fb;color:#1b2430;line-height:1.5;
}
.wrap{max-width:520px;margin:40px auto;padding:32px;background:#fff;
  border-radius:14px;box-shadow:0 10px 30px rgba(20,30,60,.08)}
h1{margin:0 0 6px;font-size:24px}
.sub{margin:0 0 20px;color:#5b6b7c;font-size:14px}
.field{margin-bottom:16px}
label{display:block;font-weight:600;font-size:13px;margin-bottom:6px;color:#2b3a4a}
input[type=text],input[type=email],input[type=tel]{
  width:100%;padding:10px 12px;border:1px solid #d3dae3;border-radius:8px;
  font-size:15px;background:#fbfcfe;transition:border-color .15s,box-shadow .15s
}
input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.15);background:#fff}
.btn{
  width:100%;padding:13px 16px;font-size:15px;font-weight:700;color:#fff;
  background:#2563eb;border:0;border-radius:10px;cursor:pointer;
  transition:background .15s,transform .05s
}
.btn:hover{background:#1d4ed8}
.btn:active{transform:translateY(1px)}
.btn:disabled{background:#93b4f9;cursor:not-allowed}
.hint{font-size:12px;color:#7b8797;margin:10px 0 0;text-align:center}
.success{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46;
  padding:16px 18px;border-radius:10px;margin-bottom:20px}
.success h2{margin:0 0 6px;font-size:18px}
.success a{color:#065f46;font-weight:600}
.error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;
  padding:14px 18px;border-radius:10px;margin-bottom:20px}
.error ul{margin:6px 0 0 18px;padding:0}