* { box-sizing: border-box; }
body { margin: 0; background: #f8f9fb; color: #283044; font-family: -apple-system,BlinkMacSystemFont,'Segoe UI','Malgun Gothic',sans-serif; font-size: 14px; line-height: 1.6; }
.shell { width: min(100%,760px); margin: 0 auto; padding: 20px 24px; }
a { color: #6051a7; text-decoration: none; }
a:hover { text-decoration: underline; }
.back { font-size: 13px; color: #626a7c; }
header { margin: 18px 0 14px; }
h1 { margin: 0 0 5px; font-size: 24px; letter-spacing: -.04em; }
header p { margin: 0; color: #626a7c; font-size: 13px; }
.card { border: 1px solid #e0e3ea; border-radius: 14px; padding: 18px; background: #fff; }
form > label,.grid { display: block; margin-bottom: 10px; }
.grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
label { min-width: 0; font-size: 13px; font-weight: 600; }
input:not([type=checkbox]),select,textarea { display: block; width: 100%; margin-top: 4px; border: 1px solid #d3d8e1; border-radius: 7px; padding: 8px 10px; color: #283044; background: white; font: inherit; font-size: 14px; font-weight: 400; }
textarea { resize: vertical; min-height: 82px; line-height: 1.6; }
small { color: #7b8291; font-weight: 400; }
:focus-visible { outline: 3px solid #c9c0e9; outline-offset: 2px; }
.consent { padding: 10px 12px; background: #f4f3f8; border-radius: 7px; }
.consent label { display: flex; align-items: flex-start; gap: 7px; font-weight: 400; font-size: 12px; }
.consent input { margin: 3px 0 0; flex-shrink: 0; accent-color: #6653a3; }
.consent p { margin: 4px 0 0 20px; font-size: 12px; color: #687083; }
.actions { display: flex; align-items: center; gap: 16px; margin-top: 12px; flex-wrap: wrap; }
#security { max-width: 100%; }
button { flex: 1; min-height: 42px; border: 0; border-radius: 8px; padding: 10px 20px; color: white; background: #6653a3; font: inherit; font-weight: 600; cursor: pointer; }
button:disabled { opacity: .5; cursor: default; }
#status:empty { display: none; }
#status { margin: 0 0 12px; }
#status.error { color: #b42318; }
.reply-note { margin: 10px 2px 0; color: #72798a; font-size: 11px; }
footer { margin-top: 16px; padding-top: 12px; border-top: 1px solid #e0e3ea; color: #7b8291; font-size: 11px; }
.trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.privacy h2 { margin-top: 24px; font-size: 17px; }
.privacy p { color: #626a7c; }
@media(max-width:540px) { .shell { padding: 16px; } header { margin-top: 14px; } h1 { font-size: 22px; } .card { padding: 14px; } .grid { grid-template-columns: 1fr; gap: 10px; } .grid:first-child { grid-template-columns: 1fr 1fr; } input:not([type=checkbox]),select,textarea { font-size: 16px; } .actions button { flex-basis: 100%; } .consent p { margin-left: 0; } }
