*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;background:radial-gradient(ellipse at 15% 10%,#e9e7ff,transparent 55%),radial-gradient(ellipse at 90% 88%,#e9f8f3,transparent 45%),#f6f8fc;display:grid;place-items:center;min-height:100dvh;padding:28px 20px;color:#25334b}
.box{width:min(420px,100%);background:#fff;border:1px solid #e6e9f2;border-radius:24px;padding:34px;box-shadow:0 18px 60px #343b6912}
.registerBox{width:min(468px,100%);padding:32px 36px}
.brandRow{display:flex;align-items:center;gap:11px;margin-bottom:22px}
.brandMark{width:48px;height:48px;display:grid;place-items:center;color:#fff;font-size:23px;font-weight:750;background:#6258e8;border-radius:16px;box-shadow:0 6px 16px #6258e82b;flex:0 0 auto}
.brandName{font-size:14px;font-weight:760;letter-spacing:-.2px;color:#3f4d67}
.box > .brandMark{margin-bottom:24px}
h1{font-size:25px;margin:0 0 9px;letter-spacing:-.8px}p{font-size:14px;color:#738096;margin:0 0 26px;line-height:1.65}
.authLead{margin-bottom:18px}
.stepTrail{display:flex;align-items:center;gap:10px;padding:11px 13px;margin:0 0 22px;border-radius:13px;background:#f7f7fc;border:1px solid #ececf5;color:#8a93a4;font-size:12px;font-weight:650}
.stepTrail span{display:flex;align-items:center;gap:6px;white-space:nowrap}.stepTrail span.active{color:#4f46d7}
.stepTrail b{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:#ececf4;color:#7a8495;font-size:11px}
.stepTrail .active b{background:#6258e8;color:#fff}
.stepTrail i{height:1px;background:#dfe2ea;flex:1}
.field{margin-top:17px}.field:first-of-type{margin-top:0}
.fieldHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px}
label{display:block;font-size:13px;color:#485772;font-weight:650}
.box > label{margin:18px 0 7px}
.required{font-size:11px;color:#756be9;background:#f0efff;border-radius:999px;padding:3px 7px;font-weight:700}
input,button{width:100%;padding:13px 14px;border-radius:11px;border:1px solid #dce2ed;font:inherit;font-size:15px}
input{background:#fcfdff;color:#24334b;outline:none;transition:border-color .15s,box-shadow .15s,background .15s}
input::placeholder{color:#a4adba}
input:focus{border-color:#7167ef;box-shadow:0 0 0 3px #eeecff;background:#fff}
.hint{display:block;margin-top:6px;color:#8a94a6;font-size:12px;line-height:1.45}
.hint.isError{color:#b34343}.hint.isOk{color:#258264}
.passwordField{position:relative}.passwordField input{padding-right:66px}
.passwordToggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:auto;min-height:34px;margin:0;padding:6px 9px;border:0;background:transparent;color:#6258e8;font-size:12px;font-weight:700;border-radius:8px;cursor:pointer}
.passwordToggle:hover{background:#f0efff;color:#5046d5}
button{margin-top:26px;background:#6258e8;color:white;border:0;font-weight:650;cursor:pointer;min-height:48px}button:hover{background:#5046d5}
.primaryAction{margin-top:24px}
.nextStep{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:11px 12px;border-radius:12px;background:#f7faf9;color:#718078;font-size:12px;line-height:1.45}
.nextStep strong{color:#39765f;white-space:nowrap}.nextStep span{flex:1}
.err{font-size:13px;color:#a13d38;background:#fff1f2;border:1px solid #fecdd3;padding:12px;border-radius:10px;margin:0 0 14px}
.alt{font-size:13px;color:#7a8597;margin:20px 0 0;text-align:center}.alt a{color:#5c52dc;font-weight:600;text-underline-offset:3px}
@media(max-width:440px){.box,.registerBox{padding:26px 24px}body{padding:20px 16px}.stepTrail{gap:8px;padding:10px 11px}.brandRow{margin-bottom:20px}}

.googleButton{display:flex;align-items:center;justify-content:center;gap:11px;width:100%;min-height:48px;padding:12px 14px;margin:0 0 18px;border:1px solid #d8dde8;border-radius:11px;background:#fff;color:#263650;text-decoration:none;font-size:14px;font-weight:680;box-shadow:0 1px 2px #2636500a;transition:border-color .15s,box-shadow .15s,background .15s}
.googleButton:hover{background:#fafbfe;border-color:#c8ceda;box-shadow:0 2px 8px #26365010}
.googleG{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;font-weight:800;font-size:17px;line-height:1;color:#4285f4;background:#fff}
.authDivider{display:flex;align-items:center;gap:12px;margin:0 0 17px;color:#9aa3b2;font-size:11px}
.authDivider:before,.authDivider:after{content:"";height:1px;background:#e6e9f0;flex:1}
.authDivider span{white-space:nowrap}
.linkNote{margin:14px 0 0;padding:10px 12px;border-radius:10px;background:#f7faf9;color:#587066;font-size:12px;text-align:center}

.verifyEmailLine{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;margin-bottom:4px}
.verifyEmailLine b{overflow-wrap:anywhere}
.inlineLink{display:inline;width:auto;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:#5c52dc;font-size:12px;font-weight:650;text-decoration:underline;text-underline-offset:3px}
.inlineLink:hover{background:transparent;color:#453ac8}
.inlineLink:focus-visible,.textAction:focus-visible,.dialogClose:focus-visible{outline:2px solid #6258e8;outline-offset:3px}
.textAction{min-height:36px;margin-top:13px;padding:6px;background:transparent;color:#748096;font-size:13px;font-weight:600}
.textAction:hover{background:transparent;color:#4f46d7;text-decoration:underline}
.authDialog{width:min(420px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:28px;border:1px solid #e6e9f2;border-radius:20px;background:#fff;color:#25334b;box-shadow:0 24px 70px #1e284645}
.authDialog::backdrop{background:#1d274b8c;backdrop-filter:blur(2px)}
.dialogHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.dialogHead h2{margin:0 0 9px;font-size:21px;letter-spacing:-.5px}
.authDialog p{margin:0 0 18px}
.authDialog label{margin:15px 0 7px}
.authDialog .dialogHint{margin:7px 0 0;color:#8993a4;font-size:12px}
.authDialog .err{margin:0 0 14px}
.dialogClose{width:34px;min-height:34px;height:34px;margin:0;padding:0;border-radius:9px;background:#f2f4fa;color:#647087;font-size:23px;font-weight:400;line-height:1}
.dialogClose:hover{background:#e8eaf5;color:#25334b}
.authDialog form button[type=submit]{margin-top:22px}
.dialogRecovery{margin-top:18px;padding:13px;border-radius:12px;background:#f7f8fc;color:#5d6a7e;font-size:12px;line-height:1.55}
.dialogRecovery strong{display:block;margin-bottom:4px;color:#475571;font-size:12px}
.dialogRecovery p{margin:0}
.authDialog .dialogRecovery form button[type=submit]{min-height:0;margin:9px 0 0;padding:0;border:0;background:transparent;color:#5c52dc;font-size:12px;font-weight:650;text-align:left;text-decoration:underline;text-underline-offset:3px}
.authDialog .dialogRecovery form button[type=submit]:hover{background:transparent;color:#453ac8}

.policyPage{width:min(760px,100%);background:#fff;border:1px solid #e6e9f2;border-radius:24px;padding:42px;box-shadow:0 18px 60px #343b6912;color:#334155}
.policyHeader{padding-bottom:24px;margin-bottom:25px;border-bottom:1px solid #e9edf4}.policyBrand{display:inline-block;color:#6258e8;font-size:14px;font-weight:760;text-decoration:none;margin-bottom:16px}.policyHeader h1{margin:0 0 8px;font-size:29px}.policyHeader p{margin:0;color:#748197}
.policyPage section{margin:0 0 27px}.policyPage h2{font-size:17px;letter-spacing:-.3px;margin:0 0 10px;color:#25334b}.policyPage p,.policyPage li{font-size:14px;line-height:1.75;color:#5d6a7e}.policyPage p{margin:0}.policyPage ul{padding-left:21px;margin:0}.policyPage li+li{margin-top:7px}.policyPage a{color:#5c52dc;text-underline-offset:3px}.policyPage strong{color:#3d4c64}
@media(max-width:440px){.policyPage{padding:28px 23px;border-radius:18px}.policyHeader h1{font-size:25px}.policyPage h2{font-size:16px}}
