.auth-stage{background:radial-gradient(at 86% 0%, color-mix(in srgb, var(--primary) 5%, transparent), transparent 55%), radial-gradient(at 12% 100%, color-mix(in srgb, var(--chart-3) 5%, transparent), transparent 55%), var(--background);width:100%;height:100%;min-height:0;color:var(--foreground);flex-direction:column;display:flex;position:relative;overflow:hidden auto}.auth-stage__planet-layer{z-index:0;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.auth-stage__particles{z-index:0;pointer-events:none;opacity:.6;width:100%;height:100%;display:block;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 60% at 50% 40%,#000 20%,#0000 78%);mask-image:radial-gradient(70% 60% at 50% 40%,#000 20%,#0000 78%)}.auth-stage__particles canvas{inset:0;width:100%!important;height:100%!important;position:absolute!important}.auth-stage__viewport{z-index:1;flex-direction:column;align-items:center;width:100%;min-height:100%;padding:40px 24px;display:flex;position:relative}.auth-stage__content{flex-direction:column;align-items:center;width:100%;margin-block:auto;display:flex}.auth-stage__card{box-sizing:border-box;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:28.75rem;box-shadow:var(--shadow-soft), 0 0 70px color-mix(in srgb, var(--primary) 5%, transparent);padding:28px}.auth-stage__brand{flex-direction:column;align-items:center;gap:10px;min-width:0;margin-bottom:20px;display:flex}.auth-stage__brand-logo{object-fit:contain;width:48px;height:48px;display:block}.auth-stage__brand-name{color:var(--foreground);text-align:center;letter-spacing:-.01em;overflow-wrap:anywhere;margin:0;font-size:20px;font-weight:700;line-height:1.2}.auth-stage__brand-subtitle{color:var(--muted-foreground);text-align:center;letter-spacing:.22em;text-indent:.22em;overflow-wrap:anywhere;margin:6px 0 0;font-size:10px;font-weight:500;line-height:1.4}.auth-stage__copyright{color:var(--muted-foreground);text-align:center;margin:18px 0 0;font-size:12px;line-height:18px}@media (width<=575px){.auth-stage__viewport{padding:20px 16px 28px}.auth-stage__card{padding:22px 18px 20px}.auth-stage__brand{margin-bottom:16px}.auth-stage__brand-logo{width:42px;height:42px}.auth-stage__brand-name{font-size:18px}}@media (prefers-reduced-motion:reduce){.auth-stage,.auth-stage__viewport{scroll-behavior:auto}.auth-stage__particles{display:none}}.auth-planet{--auth-planet-size:78.2rem;--auth-planet-lift:-3.75rem;--auth-planet-fill-highlight:#fff;--auth-planet-fill-mid:#f6faff;--auth-planet-fill-shade:#e6edf9;--auth-planet-fill-limb:#d7e0f0;--auth-planet-fill-edge:#c6d2e6;--auth-planet-halo:#2563eb21;--auth-planet-surface:#60769c24;--auth-planet-ring-band:#98abca9e;--auth-planet-ring-dust:#ffffffd1;width:var(--auth-planet-size);height:var(--auth-planet-size);transform:translateY(var(--auth-planet-lift));pointer-events:none;flex:none}.auth-planet__svg{width:100%;height:100%;display:block}.auth-planet__fill-stop-0{stop-color:var(--auth-planet-fill-highlight)}.auth-planet__fill-stop-1{stop-color:var(--auth-planet-fill-mid)}.auth-planet__fill-stop-2{stop-color:var(--auth-planet-fill-shade)}.auth-planet__fill-stop-3{stop-color:var(--auth-planet-fill-limb)}.auth-planet__fill-stop-4{stop-color:var(--auth-planet-fill-edge)}.auth-planet__halo-stop-transparent{stop-color:transparent}.auth-planet__halo-stop-visible{stop-color:var(--auth-planet-halo)}.auth-planet__ring-stop-0{stop-color:transparent}.auth-planet__ring-stop-1{stop-color:var(--auth-planet-ring-band)}.auth-planet__ring-stop-2{stop-color:transparent}.auth-planet__ring-halo{stroke-width:42px;opacity:.4}.auth-planet__ring-band{stroke-width:16px}.auth-planet__ring-inner{stroke-width:10px;opacity:.5}.auth-planet__ring-dust{stroke:var(--auth-planet-ring-dust);stroke-width:4px;stroke-linecap:round;stroke-dasharray:46 623;animation:20s linear infinite auth-planet-dust}.auth-planet__surface-a{fill:var(--auth-planet-surface)}.auth-planet__surface-b{fill:var(--auth-planet-surface);opacity:.7}.auth-planet__spin{animation:26s linear infinite auth-planet-spin}.dark .auth-planet{--auth-planet-fill-highlight:#fff;--auth-planet-fill-mid:#e6eefd;--auth-planet-fill-shade:#9db0d2;--auth-planet-fill-limb:#3a4a6d;--auth-planet-fill-edge:#131c33;--auth-planet-halo:#60a5fa3d;--auth-planet-surface:#ffffff24;--auth-planet-ring-band:#b2cdffa3;--auth-planet-ring-dust:#ffffffdb}@keyframes auth-planet-dust{0%{stroke-dashoffset:0}to{stroke-dashoffset:-669px}}@keyframes auth-planet-spin{0%{transform:translate(0)}to{transform:translate(-180px)}}@media (prefers-reduced-motion:reduce){.auth-planet__ring-dust,.auth-planet__spin{animation:none}}.login-form__fields{flex-direction:column;gap:14px;display:flex}.login-form__tabs{background:var(--muted);border-radius:var(--radius-xl);grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;display:grid}.login-form__tab{border-radius:calc(var(--radius-md) + 1px);min-height:40px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:14px;font-weight:600;transition:background .2s,color .2s,box-shadow .2s;display:inline-flex}.login-form__tab:hover{color:var(--foreground)}.login-form__tab:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--ring) 40%, transparent);outline:none}.login-form__tab--active{background:var(--card);color:var(--foreground);box-shadow:var(--shadow-active)}.login-form__tab-tag{background:var(--card);border-radius:var(--radius-sm);color:var(--muted-foreground);padding:1px 6px;font-size:10px;font-weight:500;line-height:1.5}.login-form__tab--active .login-form__tab-tag{background:var(--secondary)}.login-form__input{background:var(--card);border-radius:var(--radius-md);height:46px;padding-left:52px;font-size:15px}.login-form__input--password{padding-right:46px}.login-form__options{justify-content:space-between;align-items:center;gap:12px;display:flex}.login-form__remember{align-items:center;gap:8px;margin:-10px -4px;padding:10px 4px;display:inline-flex}.login-form__remember-label{color:var(--muted-foreground);cursor:pointer;font-size:12px;font-weight:400;line-height:1}.login-form__forgot{border-radius:var(--radius-sm);color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;margin:-10px -4px;padding:10px 4px;font-size:12px;transition:color .2s}.login-form__forgot:hover{color:var(--primary);text-underline-offset:4px;text-decoration:underline}.login-form__forgot:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--ring) 40%, transparent);outline:none}.login-form__submit{height:46px;font-size:15px;font-weight:600}.login-form__divider{color:var(--muted-foreground);align-items:center;gap:16px;margin:20px 0;font-size:11px;display:flex}.login-form__divider:before,.login-form__divider:after{content:"";background:linear-gradient(90deg, transparent, var(--border));flex:1;height:1px}.login-form__divider:after{background:linear-gradient(90deg, var(--border), transparent)}.login-form__home-link{border-radius:var(--radius-md);min-height:44px;color:var(--muted-foreground);justify-content:center;align-items:center;gap:8px;margin-top:16px;font-size:14px;text-decoration:none;display:flex}.login-form__home-link:hover{color:var(--foreground)}.login-form__home-link:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--ring) 40%, transparent);outline:none}@media (width<=575px){.login-form__tab{font-size:13.5px}}@media (prefers-reduced-motion:reduce){.login-form__tab,.login-form__forgot{transition:none}}.quick-login{justify-content:center;align-items:flex-start;gap:32px;margin:0;padding:0;list-style:none;display:flex}.quick-login__entry{border-radius:var(--radius-lg);min-height:54px;color:var(--foreground);cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:flex-start;align-items:center;gap:8px;padding:0;transition:transform .2s;display:flex}.quick-login__entry:hover{transform:translateY(-3px)}.quick-login__entry:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--ring) 35%, transparent);outline:none}.quick-login__ring{background:var(--secondary);width:54px;height:54px;color:var(--primary);border-radius:9999px;justify-content:center;align-items:center;transition:box-shadow .25s;display:flex}.quick-login__ring svg{width:26px;height:26px}.quick-login__entry:hover .quick-login__ring{box-shadow:0 0 24px color-mix(in srgb, var(--primary) 35%, transparent)}.quick-login__label{color:var(--foreground);font-size:11px;font-weight:500;line-height:1.4}.quick-login__meta{background:var(--muted);border-radius:var(--radius-sm);height:15px;color:var(--muted-foreground);align-items:center;padding:0 6px;font-size:10px;line-height:1.5;display:inline-flex}.quick-login__meta:empty{background:0 0;padding:0}.quick-login__entry--muted .quick-login__ring{background:var(--muted);color:var(--muted-foreground)}.quick-login__entry--muted .quick-login__label{color:var(--muted-foreground)}.quick-login__entry--muted:hover .quick-login__ring{box-shadow:none}@media (width<=575px){.quick-login{gap:24px}}@media (prefers-reduced-motion:reduce){.quick-login__entry{transition:none}.quick-login__entry:hover{transform:none}}.sso-qr-panel{flex-direction:column;gap:20px;display:flex}.sso-qr-panel__heading{text-align:center}.sso-qr-panel__title{color:var(--foreground);margin:0;font-size:20px;font-weight:700;line-height:1.3}.sso-qr-panel__hint{color:var(--muted-foreground);margin:6px 0 0;font-size:13px;line-height:1.6}.sso-qr-panel__switch{background:var(--muted);border-radius:9999px;justify-content:center;gap:4px;padding:3px;display:flex}.sso-qr-panel__pill{min-height:32px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;border-radius:9999px;align-items:center;gap:6px;padding:0 16px;font-size:13px;font-weight:600;transition:background .2s,color .2s;display:inline-flex}.sso-qr-panel__pill:hover{color:var(--foreground)}.sso-qr-panel__pill:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--ring) 40%, transparent);outline:none}.sso-qr-panel__pill--active{background:var(--card);color:var(--foreground);box-shadow:var(--shadow-active)}.sso-qr-panel__pill-tag{background:var(--muted);border-radius:var(--radius-sm);color:var(--muted-foreground);padding:1px 6px;font-size:10px;font-weight:500;line-height:1.5}.sso-qr-panel__pill--active .sso-qr-panel__pill-tag{background:var(--secondary)}.sso-qr-panel__frame{aspect-ratio:1;border-radius:var(--radius-lg);width:100%;max-width:11rem;box-shadow:var(--shadow-soft);background:#fff;margin-inline:auto;padding:8px;position:relative;overflow:hidden}.sso-qr-panel__frame--dingtalk,.sso-qr-panel__frame--wecom{aspect-ratio:1;width:300px;max-width:100%;padding:0}.sso-qr-panel__frame--wechat-personal{aspect-ratio:auto;width:300px;max-width:100%;height:400px;padding:0}.sso-qr-panel__frame--dingtalk{box-shadow:none;background:0 0}.sso-qr-panel__dingtalk,.sso-qr-panel__dingtalk iframe{border:0;max-width:100%;display:block;width:300px!important;height:300px!important}.sso-qr-panel__iframe{background:0 0;border:0;width:100%;height:100%;display:block;overflow:hidden}.sso-qr-panel__placeholder{height:100%;color:var(--muted-foreground);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;font-size:13px;line-height:1.6;display:flex}.sso-qr-panel__back{border-radius:var(--radius-sm);min-height:36px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;align-self:center;align-items:center;gap:6px;padding:0 12px;font-size:13px;transition:color .2s;display:inline-flex}.sso-qr-panel__back:hover{color:var(--foreground)}.sso-qr-panel__back:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--ring) 40%, transparent);outline:none}@media (width<=575px){.sso-qr-panel__frame--dingtalk,.sso-qr-panel__frame--wecom,.sso-qr-panel__dingtalk,.sso-qr-panel__dingtalk iframe{width:min(300px,100vw - 76px)!important;height:min(300px,100vw - 76px)!important}}
