.auth-gate { min-height:100vh; display:grid; grid-template-columns:minmax(280px,.9fr) minmax(360px,1.1fr); background:#f5f7f9; color:#172936; font-family:Inter,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif; }
.auth-brand-panel { position:relative; display:flex; flex-direction:column; justify-content:space-between; min-height:100vh; padding:48px 56px; overflow:hidden; color:#eff7fb; background:linear-gradient(145deg,#17354e 0%,#214b68 58%,#1b6170 100%); }
.auth-brand-panel::after { content:""; position:absolute; right:-190px; bottom:-230px; width:540px; height:540px; border:1px solid rgba(134,200,197,.32); border-radius:50%; box-shadow:0 0 0 55px rgba(134,200,197,.07),0 0 0 112px rgba(134,200,197,.04); }
.auth-logo { position:relative; z-index:1; width:190px; padding:9px 12px; border-radius:10px; background:#f7fafb; }
.auth-brand-copy { position:relative; z-index:1; max-width:455px; padding:42px 0 68px; }.auth-brand-copy span,.auth-kicker { display:block; color:#88b8bc; font-size:10px; font-weight:800; letter-spacing:.17em; }.auth-brand-copy h1 { margin:15px 0 14px; font-size:clamp(34px,4vw,53px); line-height:1.08; letter-spacing:-.065em; }.auth-brand-copy p { max-width:400px; margin:0; color:#b7cad7; font-size:14px; line-height:1.8; }.auth-brand-foot { position:relative; z-index:1; color:#9db6c5; font-size:10px; letter-spacing:.05em; }
.auth-form-panel { display:grid; place-items:center; padding:34px; }.auth-card { width:min(100%,440px); }.auth-card h2 { margin:10px 0 9px; color:#172936; font-size:29px; letter-spacing:-.06em; }.auth-card > p { margin:0 0 26px; color:#81919b; font-size:12px; line-height:1.7; }.auth-form { display:grid; gap:14px; }.auth-form[hidden],.auth-user-menu[hidden] { display:none; }.auth-form label,.auth-add-user-form label { display:grid; gap:7px; color:#6d808b; font-size:11px; font-weight:700; }.auth-form input,.auth-add-user-form input { width:100%; min-height:42px; padding:9px 11px; border:1px solid #d7e2e7; border-radius:8px; outline:0; color:#172936; background:#fff; font:inherit; font-size:12px; }.auth-form input:focus,.auth-add-user-form input:focus { border-color:#3eaa9b; box-shadow:0 0 0 3px #e4f4f0; }.auth-submit,.auth-add-user-form button { min-height:43px; margin-top:5px; border-radius:8px; color:#fff; background:#18364f; font-size:12px; font-weight:800; transition:.2s; }.auth-submit:hover,.auth-add-user-form button:hover { background:#285570; transform:translateY(-1px); }.auth-message { min-height:18px; margin:16px 0 0; color:#8c9aa2; font-size:11px; }.auth-message.error { color:#c35e53; }.auth-message.success { color:#287f65; }.auth-note { margin:26px 0 0; padding:13px 14px; border:1px solid #dce9e6; border-radius:9px; color:#6f847d; background:#eff8f4; font-size:10px; line-height:1.65; }.auth-note strong { color:#357b67; }
.user-card { position:relative; }.user-menu-trigger { margin-left:auto; padding:4px 2px; color:#9bb0bd; background:transparent; font-size:11px; letter-spacing:2px; }.user-menu-trigger:hover { color:#fff; }.auth-user-menu { position:absolute; right:0; bottom:calc(100% + 9px); z-index:40; width:175px; padding:7px; border:1px solid #365976; border-radius:9px; color:#eaf4f8; background:#17364f; box-shadow:0 12px 28px rgba(8,24,35,.25); }.auth-user-menu[hidden] { display:none; }.auth-menu-user { display:block; padding:6px 7px 8px; color:#9eb8c7; border-bottom:1px solid rgba(255,255,255,.1); font-size:9px; }.auth-user-menu button { display:block; width:100%; padding:8px 7px; border-radius:5px; color:#eaf4f8; background:transparent; text-align:left; font-size:10px; }.auth-user-menu button:hover { background:#285570; }
.auth-top-user-card { position:relative; }.auth-top-user-card .auth-user-menu { top:calc(100% + 9px); bottom:auto; border-color:#dce5eb; color:#405660; background:#fff; box-shadow:0 12px 28px rgba(23,41,54,.18); }.auth-top-user-card .auth-menu-user { color:#78909b; border-bottom-color:#edf1f3; }.auth-top-user-card .auth-user-menu button { color:#405660; }.auth-top-user-card .auth-user-menu button:hover { color:#1d665f; background:#edf8f5; }
.auth-account-modal { position:fixed; inset:0; z-index:90; display:grid; place-items:center; padding:20px; }.auth-account-backdrop { position:absolute; inset:0; background:rgba(17,37,50,.45); }.auth-account-panel { position:relative; width:min(500px,100%); max-height:calc(100vh - 40px); overflow:auto; padding:25px 26px 23px; border:1px solid #dce5eb; border-radius:14px; background:#fff; box-shadow:0 20px 54px rgba(23,41,54,.25); }.auth-account-panel h2 { margin:8px 0 5px; font-size:21px; letter-spacing:-.05em; }.auth-account-panel > p { margin:0 0 19px; color:#8c9aa4; font-size:10px; }.auth-close { position:absolute; top:15px; right:15px; width:29px; height:29px; border-radius:7px; color:#91a0aa; background:#f3f6f7; font-size:20px; }.auth-account-section,.auth-add-user-form { padding-top:14px; border-top:1px solid #edf1f3; }.auth-account-heading { display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-bottom:10px; }.auth-account-heading strong { font-size:11px; }.auth-account-heading small { color:#8b9ba3; font-size:9px; }.auth-account-section ul { display:grid; gap:7px; margin:0 0 17px; padding:0; list-style:none; }.auth-account-section li { display:flex; align-items:center; gap:8px; min-height:47px; padding:7px 8px; border:1px solid #e3ebee; border-radius:8px; }.auth-account-avatar { display:grid; width:27px; height:27px; place-items:center; flex:none; border-radius:50%; color:#217354; background:#d9efe5; font-size:10px; font-weight:800; }.auth-account-section li div { min-width:0; flex:1; }.auth-account-section li strong,.auth-account-section li small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.auth-account-section li strong { font-size:10px; }.auth-account-section li small { margin-top:3px; color:#84949e; font-size:9px; }.auth-account-section li em { color:#51957d; font-size:9px; font-style:normal; }.auth-account-section li button { padding:4px 6px; border-radius:5px; color:#a35d55; background:#fff2ef; font-size:9px; }.auth-empty-account { justify-content:center; color:#94a2aa; font-size:10px; }.auth-add-user-form { display:grid; gap:10px; }.auth-add-user-form .auth-account-heading { margin:0 0 1px; }.auth-add-user-form button { margin-top:3px; }
@media (max-width:760px) { .auth-gate { grid-template-columns:1fr; }.auth-brand-panel { min-height:auto; padding:28px 29px; }.auth-brand-panel::after { display:none; }.auth-logo { width:155px; }.auth-brand-copy { padding:48px 0 20px; }.auth-brand-copy h1 { font-size:34px; }.auth-brand-foot { display:none; }.auth-form-panel { padding:32px 26px 45px; }.auth-card { width:100%; }.auth-account-panel { padding:22px 18px 18px; }.auth-account-heading { align-items:flex-start; flex-direction:column; gap:3px; } }
[hidden] { display: none !important; }
.auth-wecom-button { width: 100%; margin-top: 24px; }
