.okv2 .ok-login-page{background:var(--bg);flex-direction:column;justify-content:flex-start;align-items:center;min-height:100svh;padding:clamp(120px,26vh,220px) 20px 96px;display:flex;position:relative;overflow-x:clip}.okv2 .ok-login-card{width:100%;max-width:440px;box-shadow:none;z-index:1;background:0 0;border:0;flex-direction:column;gap:18px;padding:0;display:flex;position:relative}.okv2 .ok-login-head{flex-direction:column;align-items:center;gap:12px;margin-bottom:10px;display:flex}.okv2 .ok-login-brand{background:linear-gradient(135deg, var(--color-brand) 0%, #b9a7ff 100%);color:#fff;width:52px;height:52px;font-family:var(--font-display,"Plus Jakarta Sans", system-ui);border-radius:14px;place-items:center;font-size:23px;font-weight:800;display:grid;box-shadow:0 6px 20px #8e7ee847}.okv2 .ok-login-title{font-family:var(--font-display);color:var(--ink);letter-spacing:0;margin:0;font-size:24px;font-weight:800}.okv2 .ok-login-sub{color:var(--ink-soft);text-align:center;max-width:36ch;margin:0;font-size:14px;line-height:1.6}.okv2 .ok-login-form{flex-direction:column;gap:12px;margin-top:2px;display:flex}.okv2 .ok-login-divider{letter-spacing:.02em;color:var(--ink-mute);text-transform:none;align-items:center;gap:12px;margin:8px 0 0;font-size:12px;font-weight:700;display:flex}.okv2 .ok-login-divider:before,.okv2 .ok-login-divider:after{content:"";background:var(--line);flex:1;height:1px}.okv2 .ok-login-google{background:var(--card);color:var(--ink);border:1px solid var(--line);justify-content:center;align-items:center;gap:10px;display:inline-flex}.okv2 .ok-login-google:hover{background:var(--sand-surface);border-color:var(--line-strong);box-shadow:var(--sh-sm)}.okv2 .ok-login-google-ic{flex:none}.okv2 .ok-login-err{color:var(--color-error-deep);align-items:center;gap:6px;margin:-6px 0 0;padding:0 2px;font-size:12.5px;font-weight:600;display:flex}.okv2 .ok-login-err svg{flex:none;width:14px;height:14px}.okv2 .ok-login-legal{text-align:center;color:var(--ink-mute);margin:2px 0 0;font-size:11.5px;line-height:1.6}.okv2 .ok-login-legal a{color:var(--ink-soft);border-bottom:1px dotted var(--ink-mute);transition:color var(--dur-fast) var(--ease-standard);text-decoration:none}.okv2 .ok-login-legal a:hover{color:var(--color-brand-deep);border-bottom-color:var(--color-brand)}.okv2 .ok-login-email-line{flex-wrap:wrap;justify-content:center;align-items:baseline;gap:4px 8px;min-width:0;display:flex}.okv2 .ok-login-email-line strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;overflow:hidden}.okv2 .ok-login-inline-action{appearance:none;color:var(--color-brand-deep);font:inherit;font-weight:var(--fw-bold);border-radius:var(--r-sm);cursor:pointer;background:0 0;border:0;padding:2px 4px;line-height:1.2}.okv2 .ok-login-inline-action:hover{background:var(--color-brand-soft);color:var(--color-brand)}.okv2 .ok-login-page-bottom{color:var(--ink-mute);justify-content:center;align-items:center;gap:16px;font-size:11.5px;display:flex;position:absolute;bottom:28px;left:0;right:0}.okv2 .ok-login-page-bottom a{color:var(--ink-soft);text-decoration:none}.okv2 .ok-login-page-bottom a:hover{color:var(--color-brand-deep)}.okv2 .ok-otp-hints{color:var(--ink-soft);justify-content:space-between;align-items:center;gap:12px;margin-top:-2px;font-size:12.5px;display:flex}.okv2 .ok-otp-resend{color:var(--color-brand-deep);cursor:pointer;transition:color var(--dur-fast) var(--ease-standard);background:0 0;border:0;padding:4px 0;font-size:12.5px;font-weight:700}.okv2 .ok-otp-resend:hover:not(.is-disabled):not(:disabled){color:var(--color-brand)}.okv2 .ok-otp-resend.is-disabled,.okv2 .ok-otp-resend:disabled{color:var(--ink-mute);cursor:not-allowed}.okv2 .ok-login-loading{flex-direction:column;align-items:center;gap:16px;padding:24px 0 8px;display:flex}.okv2 .ok-login-spinner{border:3px solid var(--color-brand-soft);border-top-color:var(--color-brand);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite ok-login-spin}@keyframes ok-login-spin{to{transform:rotate(360deg)}}.okv2 .ok-login-loading-text{color:var(--ink-soft);font-size:14px;font-weight:500}.okv2 .ok-login-fail{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:8px 0 4px;display:flex}.okv2 .ok-login-fail-icon{background:var(--color-error-soft);width:56px;height:56px;color:var(--color-error-deep);border-radius:50%;place-items:center;display:grid}.okv2 .ok-login-fail-icon svg{width:28px;height:28px}.okv2 .ok-login-fail-title{font-family:var(--font-display);color:var(--ink);margin:0;font-size:19px;font-weight:800}.okv2 .ok-login-fail-sub{color:var(--ink-soft);max-width:320px;margin:0;font-size:13.5px;line-height:1.6}@media (prefers-reduced-motion:reduce){.okv2 .ok-login-spinner{animation:none}}@media (max-width:480px){.okv2 .ok-login-page{padding:clamp(72px, 14svh, 148px) 16px calc(84px + env(safe-area-inset-bottom));justify-content:flex-start}.okv2 .ok-login-card{gap:16px;max-width:410px}.okv2 .ok-login-head{margin-bottom:8px}.okv2 .ok-login-title{font-size:21px}.okv2 .ok-login-page-bottom{bottom:calc(24px + env(safe-area-inset-bottom))}.okv2 .ok-login-card .ok-otp{gap:clamp(6px,2vw,8px)}.okv2 .ok-login-card .ok-otp-cell{width:clamp(40px,16.6667vw - 12px,44px);height:52px}}@media (max-width:360px){.okv2 .ok-login-brand{border-radius:13px;width:48px;height:48px;font-size:21px}.okv2 .ok-login-card{gap:14px}.okv2 .ok-login-form{gap:10px}.okv2 .ok-login-divider{margin-top:4px}}