:root{color-scheme:dark;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:#f3f5f9;background:#0c1018;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-height:100dvh;display:grid;place-items:center;padding:28px 16px}
.auth-card{width:100%;max-width:408px;padding:32px;border:1px solid rgba(255,255,255,.08);border-radius:26px;background:#151b27;box-shadow:0 22px 60px #0003}
.auth-icon{width:56px;height:56px;margin:0 auto 18px;display:grid;place-items:center;background:#ffffff06;border:1px solid #ffffff12;border-radius:17px;font-size:29px}
h1{font-size:25px;text-align:center;letter-spacing:-.6px;line-height:1.2;margin:0 0 10px}.subtitle{text-align:center;color:#9aa3b5;font-size:14px;margin:0 0 28px}
form>label{display:block;font-size:13px;color:#9aa3b5;margin:18px 0 8px}input,select,button{font:inherit;font-size:14px;min-width:0}
input:not([type=checkbox]),select{width:100%;min-height:46px;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:11px 13px;color:#f3f5f9;background:#0e131c}
input::placeholder{color:#6b7385}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid #c4b5fd;outline-offset:3px}
.phone-row{display:grid;grid-template-columns:135px minmax(0,1fr);gap:8px}.phone-row select{padding-left:8px;font-size:12px}
.consent{display:flex;align-items:flex-start;gap:10px;line-height:1.5;margin-top:22px}input[type=checkbox]{flex:none;margin:4px 0 0;width:16px;height:16px;accent-color:#a78bfa}
a{color:#c4b5fd;text-decoration:underline;text-underline-offset:3px}button{width:100%;min-height:48px;border:0;border-radius:12px;background:#a78bfa;color:#0c1018;font-weight:650;cursor:pointer;margin-top:6px}button:hover:not(:disabled){background:#8b6cf0}button:disabled{opacity:.55;cursor:not-allowed}button[aria-busy=true]{cursor:wait}
.error{color:#ffb4b4;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.error:empty{margin:10px 0}.hint,.switch,.notice{font-size:12px;line-height:1.55;color:#9aa3b5}.hint{text-align:center;margin:12px 0}.switch{text-align:center;margin:22px 0 0}.notice{padding:10px 12px;border:1px solid #ffffff12;border-radius:10px}.notice[hidden],[hidden]{display:none!important}
@media(max-width:420px){body{padding:16px 10px}.auth-card{padding:26px 20px;border-radius:22px}.phone-row{grid-template-columns:125px minmax(0,1fr)}}
