/* Employee login: the same card switches between official WeCom and password login. */
.zx-login-page{--login-green:var(--brand);--login-ink:var(--ink);--login-muted:var(--muted);--login-line:var(--line);min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;padding:40px 44px;background:var(--surface-subtle);color:var(--login-ink)}
.zx-login-page *{box-sizing:border-box}
.zx-login-page [hidden]{display:none!important}
.zx-login-shell{width:min(1050px,100%);display:grid;grid-template-columns:minmax(0,1fr) 420px;align-items:center;gap:64px}
.zx-login-brand{align-self:stretch;display:flex;flex-direction:column;padding:38px 0;min-width:0}
.zx-login-logo{display:flex;align-items:center;gap:13px;width:max-content;max-width:100%;color:var(--login-ink);text-decoration:none}
.zx-login-logo img{width:49px;height:49px;flex-shrink:0}
.zx-login-logo>span{font-size:25px;font-weight:650;letter-spacing:.4px;line-height:1.2}
.zx-login-logo small{display:block;font-size:12px;letter-spacing:1px;font-weight:400;color:var(--muted);margin-top:10px}
.zx-login-brand-copy{margin:auto 0;padding:48px 0}
.zx-login-eyebrow{font-size:12px;font-weight:500;letter-spacing:2.5px;color:var(--muted);margin:0 0 20px}
.zx-login-brand h1{font-size:34px;line-height:1.48;letter-spacing:1px;font-weight:580;margin:0}
.zx-login-brand-description{font-size:14px;line-height:1.8;color:var(--muted);margin:22px 0 32px}
.zx-login-brand-features{display:flex;flex-wrap:wrap;gap:13px 18px;font-size:12px;color:var(--muted)}
.zx-login-brand-features>span{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.zx-login-brand-features>span:before{content:'';width:5px;height:5px;border-radius:50%;background:var(--brand)}
.zx-login-brand-foot{font-size:12px;color:var(--muted);margin:0;letter-spacing:.5px}
.zx-login-card{width:420px;max-width:100%;padding:29px 29px 23px;border:1px solid var(--login-line);border-radius:8px;background:#fff;box-shadow:0 16px 55px #172b4d0a;min-width:0}
.zx-login-card-heading{margin-bottom:23px}
.zx-login-card-kicker{display:block;font-size:12px;color:var(--muted);letter-spacing:1px;margin-bottom:6px}
.zx-login-card-heading h2{font-size:22px;line-height:1.45;letter-spacing:.5px;font-weight:580;margin:0}
.zx-login-card-heading>p{font-size:12px;color:var(--muted);margin:8px 0 0}
.zx-login-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--login-line);margin-bottom:20px}
.zx-login-tabs button{position:relative;border:0;background:transparent;color:var(--muted);padding:12px 5px;font-size:14px;line-height:1.4;cursor:pointer;text-align:center;min-height:44px}
.zx-login-tabs button[aria-selected=true]{color:var(--login-green);font-weight:600}
.zx-login-tabs button[aria-selected=true]:after{content:'';height:3px;width:42px;border-radius:3px 3px 0 0;background:var(--login-green);position:absolute;bottom:-1px;left:calc(50% - 21px)}
.zx-login-tabs button:hover{background:var(--surface-subtle)}
.zx-login-page button:focus-visible,.zx-login-page a:focus-visible{outline:3px solid var(--brand);outline-offset:3px}
.zx-login-page button:disabled{cursor:wait;opacity:.6}
.zx-login-panel{min-height:440px;min-width:0}
.zx-login-method-intro{text-align:center;margin-bottom:12px}
.zx-login-method-intro h2{font-size:14px;line-height:1.7;font-weight:550;margin:0 0 3px}
.zx-login-method-intro p{font-size:12px;color:var(--muted);margin:0;line-height:1.8}
.zx-login-qr-area{min-width:0}
.zx-login-qr-wrap{position:relative;width:100%;max-width:320px;height:380px;margin:0 auto;overflow:hidden}
.zx-login-qr{width:320px;height:380px;transform-origin:left top}
.zx-login-qr iframe{display:block;border:0!important;width:320px!important;height:380px!important;max-width:none!important}
.zx-login-qr-status{font-size:12px;color:var(--muted);text-align:center;line-height:1.8;min-height:18px;margin:8px 0 0;overflow-wrap:anywhere}
.zx-login-qr-status.error{color:#a25e49;background:#fff7f1;padding:9px 11px;border-radius:7px;border:1px solid #eedace}
.zx-login-text-button{display:block;margin:8px auto 0;border:0;background:none;font-size:12px;color:var(--login-green);padding:6px 8px;cursor:pointer;min-height:32px}
.zx-login-sso-link{display:block;text-align:center;font-size:12px;color:var(--muted);margin:5px auto 0;padding:8px;min-height:32px;text-decoration:none}
.zx-login-sso-link:hover,.zx-login-install:hover{text-decoration:underline}
.zx-account-form{margin-top:21px}
.zx-login-field{display:block;margin:0 0 17px}
.zx-login-field>span:first-child{display:block;font-size:12px;font-weight:500;color:var(--muted);margin-bottom:8px}
.zx-login-field input{display:block;width:100%;min-width:0;min-height:44px;border:1px solid var(--login-line);border-radius:8px;background:var(--surface-subtle);padding:11px 12px;font-size:14px;line-height:1.4;color:var(--login-ink);outline:none;transition:border-color .15s,box-shadow .15s}
.zx-login-field input::placeholder{color:#98a2b3;font-size:12px}
.zx-login-field input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--surface-subtle)}
.zx-login-field input[aria-invalid=true]{border-color:#bc7a65;box-shadow:none}
.zx-login-field>small{display:block;font-size:12px;color:var(--muted);line-height:1.75;margin-top:5px}
.zx-login-field-error{display:block;color:#ad6551;font-size:12px;line-height:1.7;margin-top:4px}
.zx-login-field-error:empty{display:none}
.zx-login-summary{color:#ad6551;font-size:12px;line-height:1.8;margin:10px 0 13px;padding:10px 12px;border:1px solid #efd8cf;background:#fff7f2;border-radius:8px;overflow-wrap:anywhere}
.zx-login-summary:empty,.zx-login-summary[hidden]{display:none}
.zx-login-submit{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;background:var(--login-green);color:#fff!important;font-size:14px;font-weight:500;border:1px solid var(--login-green);border-radius:8px;padding:11px 15px;cursor:pointer;text-decoration:none;line-height:1.5;transition:background .15s}
.zx-login-submit:hover{background:var(--brand-strong)}
.zx-login-sso{margin-top:10px}
.zx-login-help{border-top:1px solid var(--line);margin-top:22px;padding-top:15px;font-size:12px;color:var(--muted);line-height:1.9}
.zx-login-help strong{font-weight:500;color:var(--muted)}
.zx-login-help p{margin:5px 0 0}
.zx-login-notice{margin:0 0 17px;padding:11px 12px;background:#fff8ed;border:1px solid #eddfc7;border-radius:8px;color:#937448;font-size:12px;line-height:1.8;overflow-wrap:anywhere}
.zx-login-demo{border-top:1px solid var(--login-line);margin-top:17px;padding-top:15px;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--muted)}
.zx-login-demo button{color:var(--login-green);border:0;background:none;font-size:12px;cursor:pointer;padding:5px 0}
.zx-login-demo small{flex-basis:100%;font-size:12px;color:var(--muted)}
.zx-login-install{display:block;text-align:center;font-size:12px;color:var(--muted);margin:16px 0 0}
.zx-login-card-foot{font-size:12px;color:var(--muted);text-align:center;margin:17px 0 0;letter-spacing:.3px}
@media(max-width:1000px){.zx-login-page{padding:30px}.zx-login-shell{gap:42px;grid-template-columns:minmax(0,1fr) 400px}.zx-login-card{width:400px}.zx-login-brand h1{font-size:30px}.zx-login-brand-description{font-size:12px}.zx-login-brand-features{font-size:12px;gap:13px}.zx-login-logo>span{font-size:22px}}
@media(max-width:760px){.zx-login-page{display:block;padding:24px 20px 28px}.zx-login-shell{display:flex;flex-direction:column;gap:22px;margin:0 auto;max-width:420px}.zx-login-brand{align-self:center;display:block;width:100%;padding:0}.zx-login-logo{margin:auto;gap:10px}.zx-login-logo img{width:40px;height:40px}.zx-login-logo>span{font-size:22px;letter-spacing:.4px}.zx-login-logo small{font-size:12px;letter-spacing:1px;margin-top:6px}.zx-login-brand-copy,.zx-login-brand-foot{display:none}.zx-login-card{width:100%;padding:24px 22px 20px;border-radius:8px}.zx-login-card-heading{margin-bottom:19px}.zx-login-card-heading h2{font-size:23px}.zx-login-card-heading>p{font-size:12px}.zx-login-panel{min-height:440px}.zx-login-tabs{margin-bottom:18px}.zx-login-field input{font-size:16px}.zx-login-page button,.zx-login-page a{-webkit-tap-highlight-color:transparent}.zx-login-card-foot{font-size:12px}}
@media(max-width:350px){.zx-login-page{padding:19px 14px 22px}.zx-login-card{padding:23px 17px 19px}.zx-login-card-heading h2{font-size:21px}.zx-login-panel{min-height:430px}.zx-login-method-intro p{font-size:12px}}
@media(prefers-reduced-motion:reduce){.zx-login-page *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

@media(max-width:760px){.zx-login-text-button,.zx-login-sso-link,.zx-login-demo button,.zx-login-install{min-height:44px}}
