:root{--navy:#17375E;--teal:#1FB7AE;--gold:#F5A623;--bg:#F7F8FA;--line:#D8DEE9;--muted:#5f6f86;--danger:#8a1f11}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--navy)}
.auth-wrap{min-height:calc(100vh - 120px);display:grid;place-items:center;padding:42px 24px}
.auth-card{width:min(620px,100%);background:#fff;border:1px solid var(--line);border-radius:18px;padding:32px;box-shadow:0 18px 50px rgba(23,55,94,.10)}
.auth-brand{font-size:30px;font-weight:900;margin:0 0 6px}
.auth-copy{color:var(--muted);line-height:1.55;margin:0 0 22px}
.auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.auth-field{display:block;margin-top:14px;font-size:13px;font-weight:800}
.auth-field.full{grid-column:1/-1}
.auth-field input,.auth-field select{width:100%;height:47px;border:1px solid var(--line);border-radius:12px;padding:0 14px;margin-top:7px;font:inherit;background:#fff;color:var(--navy)}
.auth-field input:focus,.auth-field select:focus{outline:3px solid rgba(31,183,174,.17);border-color:var(--teal)}
.auth-error{display:none;margin-top:6px;color:var(--danger);font-size:12px;font-weight:700}
.auth-field.has-error input,.auth-field.has-error select{border-color:#d66b5c}
.auth-field.has-error .auth-error{display:block}
.auth-button{width:100%;height:50px;border:0;border-radius:12px;background:var(--gold);color:#1f2937;font-weight:900;font-size:15px;margin-top:22px;cursor:pointer}
.auth-button:disabled{opacity:.65;cursor:wait}
.auth-links{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-top:18px;flex-wrap:wrap}
.auth-link{color:var(--teal);font-weight:800;text-decoration:none}
.auth-message{display:none;margin-top:16px;border-radius:12px;padding:12px;border:1px solid var(--line);background:var(--bg)}
.auth-message.error{display:block;background:#fdecea;border-color:#f6c6bd;color:var(--danger)}
.auth-message.success{display:block;background:#edfdfb;border-color:#b8f0ea;color:#0f766e}
.auth-offer{display:inline-flex;margin-bottom:18px;padding:7px 10px;border-radius:999px;background:#fff8e8;border:1px solid #f3d493;font-size:12px;font-weight:900;color:#76520d}
@media(max-width:680px){.auth-card{padding:24px}.auth-grid{grid-template-columns:1fr}.auth-field.full{grid-column:auto}.auth-wrap{padding:28px 16px}.auth-links{align-items:flex-start;flex-direction:column}}
