.app.is-login{--c-page: #f4f6f4;--c-surface: #ffffff;--c-ink: #10262c;--c-ink-soft: #35505a;--c-muted: #5d7480;--c-line: #dde6e5;--c-brand: #0f5b63;--c-brand-deep: #0b3b42;--c-brand-soft: #e7f0ef;--c-accent: #b8791f;--c-danger: #b3261e;--c-danger-soft: #fdf1f0;--color-text: var(--c-ink);--color-text-soft: var(--c-ink-soft);--color-muted: var(--c-muted);--color-accent: var(--c-brand);--color-border: var(--c-line);--color-surface: var(--c-surface);--radius-sm: 10px;--radius-md: 14px;--radius-pill: 999px;--shadow-card: 0 24px 60px rgba(11, 59, 66, .14);--space-1: 6px;--space-2: 10px;--space-3: 16px;--space-4: 24px;--space-5: 32px;--motion: .16s;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Noto Sans SC,Microsoft YaHei,Arial,sans-serif;font-size:16px;line-height:1.6;color:var(--color-text);-webkit-font-smoothing:antialiased;position:fixed;top:0;right:0;bottom:0;left:0;overflow-y:auto;display:grid;place-items:center;padding:clamp(16px,3vw,40px);background-color:var(--c-page);background-image:radial-gradient(120% 90% at 10% 0%,var(--c-brand-soft) 0%,transparent 58%)}.app.is-login *,.app.is-login *:before,.app.is-login *:after{box-sizing:border-box}.app.is-login button{border:0;cursor:pointer;background:none;font:inherit}.app.is-login input{font:inherit}.app.is-login .login-visual,.app.is-login .login-card,.app.is-login .login-eyebrow,.app.is-login .login-orbits span,.app.is-login .login-submit,.app.is-login .login-locale-switch,.app.is-login .login-locale-switch button,.app.is-login .login-version,.app.is-login .field input,.app.is-login .secondary-btn,.app.is-login .login-error{box-shadow:none}.app.is-login .login-screen{width:min(920px,100%);display:grid;grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr);overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-card)}.app.is-login .login-visual{position:relative;display:flex;flex-direction:column;gap:var(--space-3);padding:clamp(28px,3.4vw,44px);overflow:hidden;color:var(--c-surface);background:var(--c-brand-deep)}.app.is-login .login-visual:after{content:"";position:absolute;right:-150px;bottom:-210px;width:460px;height:460px;border:1px solid rgba(255,255,255,.24);border-radius:50%;pointer-events:none}.app.is-login .login-visual>*{position:relative;z-index:1}.app.is-login .login-visual h1{margin:var(--space-5) 0 0;font-size:clamp(30px,3.4vw,40px);line-height:1.14;font-weight:700;letter-spacing:-.01em;color:var(--c-surface)}.app.is-login .login-visual>p{margin:0;max-width:34ch;color:#ffffffd9;font-size:16px;line-height:1.7}.app.is-login .login-orbits{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:var(--space-5)}.app.is-login .login-orbits span{padding:5px 12px;border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-pill);color:#ffffffd9;font-size:13px;line-height:1.5;white-space:nowrap}.app.is-login .login-locale-switch{position:absolute;top:var(--space-3);right:var(--space-3);left:auto;width:auto;z-index:2;display:inline-flex;gap:2px;padding:3px;border-radius:var(--radius-pill);background:#ffffff1f}.app.is-login .login-locale-switch button{min-width:44px;min-height:32px;padding:0 10px;border-radius:var(--radius-pill);color:#ffffffd9;font-size:13px;font-weight:600;line-height:1;transition:background var(--motion) ease,color var(--motion) ease}.app.is-login .login-locale-switch button:hover{background:#ffffff2e}.app.is-login .login-locale-switch button.active{color:var(--c-brand-deep);background:var(--c-surface)}.app.is-login .login-card{display:flex;flex-direction:column;gap:var(--space-3);padding:clamp(28px,3.4vw,44px);background:var(--color-surface)}.app.is-login .login-eyebrow{align-self:flex-start;padding:4px 10px;border-radius:var(--radius-pill);color:var(--c-brand);background:var(--c-brand-soft);font-size:13px;font-weight:700;letter-spacing:.04em}.app.is-login .login-card h2{margin:0;font-size:clamp(26px,2.6vw,32px);line-height:1.2;font-weight:700;letter-spacing:-.01em;color:var(--color-text)}.app.is-login .login-card>p{margin:0;color:var(--color-muted);font-size:15px;line-height:1.6}.app.is-login .field{display:grid;gap:var(--space-1)}.app.is-login .field>span{color:var(--color-muted);font-size:14px;font-weight:600}.app.is-login .field input{width:100%;min-height:48px;padding:0 14px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:16px;transition:border-color var(--motion) ease,box-shadow var(--motion) ease}.app.is-login .field input:hover{border-color:var(--c-muted)}.app.is-login .field input:focus{border-color:var(--c-brand);outline:none;box-shadow:0 0 0 3px #0f5b6329}.app.is-login .login-submit{min-height:52px;margin-top:var(--space-1);border-radius:var(--radius-sm);color:var(--c-surface);background:var(--c-brand);font-size:16px;font-weight:700;transition:background var(--motion) ease,transform var(--motion) ease}.app.is-login .login-submit:hover{background:var(--c-brand-deep)}.app.is-login .login-submit:active{transform:translateY(1px)}.app.is-login .login-submit:disabled{opacity:.6;cursor:progress}.app.is-login .login-submit:focus-visible,.app.is-login .secondary-btn:focus-visible,.app.is-login .login-locale-switch button:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}.app.is-login .login-error{padding:10px 14px;border:1px solid var(--c-danger);border-radius:var(--radius-sm);color:var(--c-danger);background:var(--c-danger-soft);font-size:14px;line-height:1.6}.app.is-login .login-version{align-self:flex-end;margin:0;color:var(--color-muted);font-size:13px;font-variant-numeric:tabular-nums}.app.is-login .force-password-card{width:min(560px,100%);display:flex;flex-direction:column;gap:var(--space-3);padding:clamp(24px,3.4vw,40px);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-card)}.app.is-login .force-password-card h2{margin:0;font-size:clamp(24px,2.6vw,30px);line-height:1.2;font-weight:700;color:var(--color-text)}.app.is-login .force-password-card>p{margin:0;color:var(--color-muted);font-size:15px;line-height:1.65}.app.is-login .force-password-actions{display:grid;grid-template-columns:minmax(120px,.42fr) minmax(0,1fr);gap:var(--space-2);align-items:center;margin-top:var(--space-1)}.app.is-login .secondary-btn{min-height:52px;padding:0 16px;border-radius:var(--radius-sm);color:var(--c-brand);background:var(--c-brand-soft);font-size:16px;font-weight:700;transition:background var(--motion) ease}.app.is-login .secondary-btn:hover{background:var(--c-page)}@media (max-width: 820px){.app.is-login .login-screen{grid-template-columns:minmax(0,1fr)}.app.is-login .login-visual{gap:var(--space-2);padding:clamp(24px,6vw,32px)}.app.is-login .login-visual h1{margin-top:var(--space-4);font-size:clamp(26px,7vw,34px)}.app.is-login .login-visual>p{font-size:15px}.app.is-login .login-orbits{padding-top:var(--space-4)}}@media (max-width: 560px){.app.is-login{padding:0;place-items:stretch}.app.is-login .login-screen{min-height:100%;border:0;border-radius:0;box-shadow:none}.app.is-login .login-visual{min-height:auto;padding:64px 20px 28px}.app.is-login .login-visual h1{margin-top:var(--space-3)}.app.is-login .login-orbits{display:none}.app.is-login .login-locale-switch{top:12px;right:12px;left:auto;width:auto}.app.is-login .login-locale-switch button{min-width:52px;min-height:36px;font-size:14px}.app.is-login .login-card{flex:1 1 auto;justify-content:flex-start;padding:24px 20px 28px}.app.is-login .field input,.app.is-login .login-submit{min-height:52px}.app.is-login .login-version{align-self:center}}@media (prefers-reduced-motion: reduce){.app.is-login *,.app.is-login *:before,.app.is-login *:after{transition-duration:.01ms!important;animation-duration:.01ms!important;scroll-behavior:auto!important}}.app.is-login .login-sso{width:100%;min-height:44px;margin-top:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--c-brand-deep);background:transparent;font-size:15px;font-weight:600;transition:border-color var(--motion) ease,background var(--motion) ease}.app.is-login .login-sso:hover{border-color:var(--c-brand);background:var(--color-brand-soft, #eef5f4)}.app.is-login .login-sso:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}
