/* User-approved login preview, 2026-10-25. Scope excludes the workspace and password-change page. */
body.approved-ui #login{--login-bg:#f5f8f7;--login-panel:#fff;--login-text:#172f33;--login-muted:#627678;--login-line:#d9e3e1;--login-input:#fff;--login-accent:#087f75;--login-hover:#066e65;--login-soft:#e7f3ef;--login-shadow:0 16px 60px rgba(28,66,58,.06);--login-focus:rgba(8,127,117,.16);color-scheme:light;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr;align-items:stretch;min-height:100vh;min-height:100svh;padding:0;background:var(--login-bg);color:var(--login-text);font-family:"Segoe UI","Microsoft YaHei",sans-serif;font-size:15px;line-height:1.6}
html.theme-dark body.approved-ui #login{--login-bg:#0f1a1d;--login-panel:#18272b;--login-text:#edf5f3;--login-muted:#a4b6b7;--login-line:#33474b;--login-input:#132125;--login-accent:#8ae0cf;--login-hover:#a5e9dc;--login-soft:#213b3b;--login-shadow:0 16px 60px rgba(0,0,0,.13);--login-focus:rgba(138,224,207,.16);color-scheme:dark}
body.approved-ui #login[hidden]{display:none!important}
#login .login-page-heading{width:100%;margin:0;padding:30px 48px;display:flex;align-items:center;justify-content:space-between;gap:20px}
#login .login-brand{display:flex;align-items:center;gap:12px}
#login .login-brand-symbol{width:33px;height:38px;fill:var(--login-accent);stroke:none}
#login .login-brand-name{font-size:26px;font-weight:750;line-height:1.15;letter-spacing:-1px}
#login .login-brand-description{font-size:12px;font-weight:400;color:var(--login-muted);margin-top:5px;letter-spacing:1px}
#login .login-tools{display:flex;gap:16px;align-items:center}
#login .login-badge{font-size:12px;line-height:28px;padding:0 11px;border-radius:6px;color:var(--login-accent);background:var(--login-soft);font-weight:600;letter-spacing:.4px;white-space:nowrap}
#login .login-icon-button{height:36px;min-height:36px;width:36px;padding:0;display:grid;place-items:center;border:1px solid var(--login-line);border-radius:8px;background:transparent;color:var(--login-muted)}
#login .login-icon-button:hover{background:var(--login-soft);color:var(--login-text)}
#login svg.login-icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#login .login-sun,html.theme-dark #login .login-moon{display:none}
html.theme-dark #login .login-sun{display:block}
#login .login-main{display:flex;width:100%;max-width:none;align-items:center;justify-content:center;padding:28px 24px 90px;min-width:0}
#login .login-shell{display:block;width:min(440px,100%);min-width:0;max-width:none;margin:0;background:var(--login-panel);border:1px solid var(--login-line);border-radius:18px;box-shadow:var(--login-shadow);padding:38px 40px 36px;overflow:visible}
#login .login-form{margin:0;padding:0;max-width:none;width:100%;display:block}
#login #login-heading{font-size:29px;line-height:1.4;letter-spacing:-.7px;margin:0;font-weight:700}
#login .login-intro{margin:9px 0 30px;color:var(--login-muted);font-size:14px;line-height:1.8}
#login .field{display:block;margin:0 0 21px}
#login .field>span,#login .field>label{display:block;font-size:14px;font-weight:650;margin:0 0 9px;color:var(--login-text)}
#login .login-input-wrap{position:relative}
#login input{width:100%;height:50px;min-height:50px;border:1px solid var(--login-line);border-radius:9px;background:var(--login-input);color:var(--login-text);outline:none;padding:0 14px;font-size:15px}
#login input::placeholder{color:var(--login-muted);opacity:.8}
#login input:focus{border-color:var(--login-accent);box-shadow:0 0 0 3px var(--login-focus)}
#login button:focus-visible{outline:3px solid var(--login-accent);outline-offset:4px}
#login #login-password{padding-right:50px}
#login .login-password-toggle{position:absolute;right:6px;top:6px;height:38px;min-height:38px;width:38px;padding:0;display:grid;place-items:center;background:transparent;border:0;border-radius:6px;color:var(--login-muted)}
#login .login-password-toggle:hover{color:var(--login-text);background:var(--login-soft)}
#login .login-submit{width:100%;min-height:50px;display:flex;justify-content:center;align-items:center;gap:9px;padding:12px 20px;margin-top:29px;border-radius:9px;border:1px solid transparent;background:var(--login-accent);color:#fff;font-size:16px;font-weight:700}
#login .login-submit:hover{background:var(--login-hover);border-color:transparent}
html.theme-dark #login .login-submit{color:#102e2b}
#login .login-submit:disabled{opacity:.7;cursor:wait}
#login .login-submit[aria-busy=true] svg{display:none}
#login .login-environment{display:block;border-top:1px solid var(--login-line);padding-top:21px;margin:26px 0 0;color:var(--login-muted);font-size:12px;line-height:1.9;text-align:center}
#login .login-environment span{display:block}
#login #login-error:not(:empty){font-size:13px;line-height:1.7;color:var(--danger);border:1px solid currentColor;padding:10px 12px;border-radius:7px;margin:18px 0 0}
@media(max-width:600px){#login .login-page-heading{padding:24px}#login .login-brand-name{font-size:23px}#login .login-brand-description{font-size:10px}#login .login-brand-symbol{width:28px;height:32px}#login .login-tools{gap:10px}#login .login-badge{font-size:11px;padding:0 8px}#login .login-shell{padding:29px 25px 26px;border-radius:15px}#login #login-heading{font-size:26px}#login .login-intro{font-size:13px;margin-bottom:26px}#login .login-main{padding:20px 20px 80px}#login .login-environment{font-size:11px}#login .field{margin-bottom:20px}}
@media(max-height:650px){#login .login-main{align-items:flex-start;padding-top:10px}#login .login-page-heading{padding-top:22px;padding-bottom:22px}}
