*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f4f6f8;color:#1f2937}
.container{width:min(720px,calc(100% - 24px));margin:24px auto}
.card{background:#fff;border-radius:14px;padding:28px;box-shadow:0 4px 20px rgba(0,0,0,.08)}
h1{margin:0 0 20px;text-align:center;font-size:24px;line-height:1.35}
.intro{background:#f8fafc;border-left:4px solid #2563eb;padding:14px 16px;margin-bottom:24px;line-height:1.6}
.intro p{margin:0 0 8px}.intro p:last-child{margin-bottom:0}
.field{margin-bottom:18px}
label{display:block;margin-bottom:7px;font-weight:600;line-height:1.45}
label span{color:#dc2626}
input,select,textarea{width:100%;border:1px solid #cbd5e1;border-radius:8px;padding:11px 12px;font-size:16px;background:#fff;outline:none}
input:focus,select:focus,textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12)}
select:disabled{background:#f1f5f9}
textarea{resize:vertical;min-height:100px}
button{width:100%;border:0;border-radius:8px;padding:13px 16px;font-size:16px;font-weight:700;color:#fff;background:#2563eb;cursor:pointer}
button:disabled{opacity:.6;cursor:wait}
.message{margin-bottom:18px;padding:12px 14px;border-radius:8px;line-height:1.5}
.message.success{background:#ecfdf5;color:#166534;border:1px solid #bbf7d0}
.message.error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}
.hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:600px){.container{width:100%;margin:0}.card{min-height:100vh;border-radius:0;padding:20px 16px}h1{font-size:21px}}
