:root { --primary: #635bff; --text: #253450; --muted: #7c89a0; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; font: 15px/1.65 "Segoe UI", Arial, sans-serif; color: var(--text); background: radial-gradient(circle at 15% 10%, #e6e3ff, transparent 35%), #f5f7fc; }
a { color: inherit; text-decoration: none; }
.public-wrap { max-width: 640px; margin: 0 auto; padding: 38px 18px 28px; }
.public-logo { display: inline-block; font-size: 28px; letter-spacing: -1px; font-weight: 850; margin-bottom: 25px; }
.public-logo span { color: var(--primary); }
.public-card { background: #fff; border: 1px solid #e4e8f4; border-radius: 21px; padding: 34px; box-shadow: 0 20px 75px #20304b10; }
.public-icon { width: 53px; height: 53px; border-radius: 14px; background: #edebff; color: var(--primary); display: grid; place-items: center; font-size: 29px; }
.public-icon.success { color: #13815c; background: #e0faed; }
h1 { font-size: clamp(25px, 4vw, 34px); line-height: 1.2; margin: 22px 0 12px; letter-spacing: -.8px; }
p { color: var(--muted); margin: 0 0 17px; }
.public-form { display: flex; flex-direction: column; gap: 8px; margin-top: 23px; }
.public-form label { font-size: 13px; font-weight: 720; margin-top: 9px; }
.public-form input, .public-form textarea { border: 1px solid #dce2ee; border-radius: 11px; width: 100%; padding: 12px 13px; font: inherit; font-size: 14px; }
.public-form input:focus, .public-form textarea:focus { outline: 3px solid #635bff25; border-color: var(--primary); }
.public-form input[readonly] { background: #f3f5fa; }
.public-button { display: inline-flex; align-items: center; justify-content: center; padding: 14px 20px; border: 0; border-radius: 11px; color: #fff; background: var(--primary); font-weight: 750; cursor: pointer; margin-top: 14px; }
.public-note { font-size: 12px; margin: 9px 0; }
.public-error { border-radius: 10px; color: #a73942; background: #fff0ef; padding: 12px 14px; font-size: 13px; margin: 20px 0; }
.public-wrap footer { color: #91a0b4; font-size: 12px; text-align: center; margin-top: 20px; }
.honey-field { position: absolute; left: -9999px; width: 1px; overflow: hidden; }
@media (max-width: 520px) { .public-wrap { padding: 23px 13px; } .public-card { padding: 25px 20px; } }
