/* 登录页：沿用站点米白 + 品牌蓝，只做一张卡，不动其它页样式 */
.login-app{grid-template-columns:178px minmax(0,1fr)}
.login-main{position:relative;display:grid;place-items:center;min-width:0;height:100%;overflow-y:auto;
  padding:32px 28px;
  background:radial-gradient(circle at 14% 16%,rgba(86,122,206,.16),transparent 42%),
             radial-gradient(circle at 86% 84%,rgba(231,201,120,.2),transparent 38%),
             var(--paper,#fbfaf6)}
.login-card{width:min(430px,100%);padding:32px 32px 26px;border:1px solid rgba(86,122,206,.16);
  border-radius:24px;background:var(--paper,#fbfaf6);box-shadow:0 26px 70px rgba(29,39,61,.13)}
.login-eyebrow{color:var(--support,#567ace);font-size:10px;font-weight:700;letter-spacing:.22em}
.login-card h1{margin:9px 0 0;font:500 30px/1.2 Georgia,"Noto Serif SC","Noto Serif CJK SC","Source Han Serif SC","Songti SC",serif;letter-spacing:-.02em}
.login-sub{margin:7px 0 16px;color:var(--muted,#6d7688);font-size:12px;line-height:1.7}
.login-scope{display:grid;gap:7px;margin:0 0 18px;padding:12px 14px;border:1px solid rgba(86,122,206,.14);
  border-radius:14px;background:rgba(86,122,206,.045)}
.login-scope p{margin:0;color:#6d7889;font-size:11.5px;line-height:1.7}
.login-scope b{color:#4568b7;font-weight:600}
.login-badge{display:flex;align-items:center;gap:10px;margin:0 0 16px;padding:10px 12px;
  border:1px solid rgba(86,122,206,.18);border-radius:13px;background:rgba(86,122,206,.07)}
.login-badge[hidden]{display:none}
.login-badge-mail{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  color:#344f8c;font-size:12px}
.login-badge-out{flex:none;border:0;border-radius:9px;padding:6px 10px;background:#fff;
  color:#4a69b8;font-size:11px;cursor:pointer;box-shadow:0 4px 12px rgba(46,63,96,.08)}
.login-badge-out:hover{box-shadow:0 7px 18px rgba(46,63,96,.13)}
.login-field{display:grid;gap:6px;margin:0 0 14px}
.login-field span{color:#788294;font-size:10.5px;letter-spacing:.1em}
.login-field input{width:100%;padding:12px 14px;border:1px solid rgba(86,122,206,.22);border-radius:13px;
  background:#fff;color:var(--ink,#18233a);font-size:14px;outline:0;transition:.18s}
.login-field input::placeholder{color:#a7aebb}
.login-field input:focus{border-color:#567ace;box-shadow:0 0 0 3px rgba(86,122,206,.14)}
.login-btn{width:100%;padding:12px;border:0;border-radius:13px;background:#567ace;color:#fff;
  font-size:13.5px;font-weight:600;letter-spacing:.02em;cursor:pointer;
  box-shadow:0 10px 26px rgba(86,122,206,.26);transition:.2s}
.login-btn:hover{background:#4a69b8}
.login-btn:disabled{opacity:.6;cursor:wait;box-shadow:none}
.login-link{margin-top:10px;width:100%;border:0;background:transparent;color:#4a69b8;font-size:12px;cursor:pointer}
.login-link:hover{color:#344f8c}
.login-link:disabled{color:#9aa1ac;cursor:default}
.login-status{margin:14px 0 0;min-height:17px;color:#788294;font-size:12px;line-height:1.65}
.login-status.error{color:#b8503f}
.login-status.ok{color:#3d7a56}
.login-note{margin:8px 0 0;color:#9aa1ac;font-size:11px;line-height:1.65}
.login-note:empty{display:none}
[hidden]{display:none!important}
@media(max-width:820px){
  .login-app{display:block}
  .login-main{height:calc(100vh - 56px);padding:20px 16px 34px;align-items:start}
  .login-card{width:100%;margin-top:8px;padding:26px 20px 22px;border-radius:20px}
  .login-card h1{font-size:26px}
}
