.login-view:has(.identity-login-card) { background: #152c24; }
.identity-login-card {
  --ink: #242a28; --muted: #737d78; --line: #e8ece9; --green: #246446;
  --bg: #fff; --paper: #fff; --soft: #f5f8f6; --danger: #b43e36;
  position: relative; width: min(100%, 560px); padding: 34px 38px 24px;
  background: #fff; color: var(--ink); border: 1px solid #e8ece9;
  border-radius: 12px; box-shadow: 0 24px 80px #0003;
  font-family: "Microsoft YaHei UI", "Microsoft YaHei", "PingFang SC", system-ui, sans-serif;
}
.login-card.identity-login-card > .brand-mark { display: none; }
.login-card.identity-login-card h1 { font-size: 23px; line-height: 1.4; font-weight: 500; letter-spacing: -.4px; margin: 0 0 9px; }
.login-card.identity-login-card .login-subtitle { margin: 0 0 23px; font-size: 13px; color: var(--muted); }
.identity-login-account-shortcut { position: absolute; right: 30px; top: 29px; min-height: 44px; padding: 8px; color: #557399; font-size: 13px; }
.identity-login-account-shortcut:hover { color: #244f83; text-decoration: underline; text-underline-offset: 4px; }
.identity-login { color: var(--ink, #243b33); min-width: 0; }
.identity-login-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-bottom: 1px solid var(--line, #e2e6dd); gap: 10px; margin: 4px 0 23px; }
.identity-login-tab { position: relative; padding: 12px 2px 15px; color: var(--muted, #79837a); background: transparent; border: 0; font-size: 13px; min-height: 44px; white-space: nowrap; }
.identity-login-tab[aria-selected="true"] { color: var(--ink, #243b33); font-weight: 600; }
.identity-login-tab[aria-selected="true"]::after { content: ''; position: absolute; height: 2px; bottom: -1px; left: 10px; right: 10px; background: var(--green, #234b3c); border-radius: 2px; }
.identity-login-account-modes { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 20px; }
.identity-login-mode { min-height: 32px; padding: 4px 0; font-size: 12px; color: var(--muted, #79837a); border: 0; background: transparent; }
.identity-login-mode[aria-pressed="true"] { color: var(--ink, #243b33); font-weight: 600; }
.identity-login-mode:disabled { opacity: .45; cursor: default; }
.identity-login-card .identity-login-field { display: block; margin: 0 0 17px; font-size: 12px; min-width: 0; }
.identity-login-field > span { display: block; margin-bottom: 8px; font-size: 12px; }
.identity-login-card .identity-login input { display: block; font: inherit; font-size: 14px; line-height: 1.5; letter-spacing: 0; border: 1px solid var(--line, #e2e6dd); color: var(--ink, #243b33); background: var(--bg, #f8f9f6); border-radius: 10px; padding: 12px; min-height: 46px; margin: 0; width: 100%; min-width: 0; }
.identity-login input::placeholder { color: var(--muted, #79837a); font-size: 12px; }
.identity-login-password, .identity-login-sms-row { display: flex; align-items: stretch; min-width: 0; position: relative; }
.identity-login-card .identity-login-password input { padding-right: 56px; }
.identity-login-reveal { position: absolute; right: 5px; top: 4px; bottom: 4px; min-width: 45px; font-size: 11px; color: var(--muted, #79837a); background: transparent; border: 0; padding: 7px; border-radius: 7px; }
.identity-login-reveal:hover { color: var(--ink, #243b33); background: var(--soft, #e6ece1); }
.identity-login-help { display: block; color: var(--muted, #79837a); font-size: 11px; font-weight: 400; line-height: 1.75; margin-top: 8px; }
.identity-login-primary { display: block; width: 100%; min-height: 46px; text-align: center; padding: 12px 17px; font: inherit; font-size: 13px; font-weight: 600; color: var(--bg, #f8f9f6); border: 1px solid var(--green, #234b3c); background: var(--green, #234b3c); border-radius: 10px; margin-top: 23px; }
.identity-login-primary:hover { filter: brightness(1.06); }
.identity-login-account-note { font-size: 11px; color: var(--muted, #79837a); line-height: 1.8; text-align: center; margin-top: 15px; }
.identity-login-status { min-height: 20px; font-size: 12px; line-height: 1.75; overflow-wrap: anywhere; color: var(--muted, #79837a); margin-top: 15px; }
.identity-login-status.error { color: var(--danger, #ae4136); }
.identity-login-retry { display: block; padding: 5px 0; color: var(--green, #234b3c); font-size: 12px; text-decoration: underline; text-underline-offset: 3px; }
.identity-login-sms-row { gap: 8px; }
.identity-login-card .identity-login-sms-row input { flex: 1; width: 0; }
.identity-login-sms-send { flex: 0 0 auto; min-width: 107px; min-height: 46px; font-size: 11px; color: var(--green, #234b3c); border: 1px solid var(--line, #e2e6dd); background: var(--soft, #e6ece1); padding: 9px 10px; border-radius: 10px; white-space: nowrap; }
.identity-login-unavailable { margin: 0 0 17px; background: var(--soft, #e6ece1); color: var(--muted, #79837a); border-radius: 9px; padding: 12px; font-size: 12px; line-height: 1.7; }
.identity-login-wechat-status { font-size: 12px; color: var(--muted, #79837a); line-height: 1.85; margin: 12px auto 0; max-width: 310px; text-align: center; min-height: 44px; }
.identity-login-wechat-hero { display: grid; place-items: center; width: 78px; height: 78px; margin: 34px auto 33px; background: #08b45b; border-radius: 19px; color: #fff; }
.identity-login-wechat-hero svg { width: 48px; height: 48px; }
.identity-login-wechat-primary { display: block; width: min(100%, 232px); min-height: 46px; margin: 0 auto; padding: 11px 18px; border-radius: 5px; background: #07c160; color: #fff; font-size: 17px; font-weight: 500; }
.identity-login-wechat-primary:hover:not(:disabled) { background: #06ad56; }
.identity-login-wechat-primary:disabled { opacity: .45; cursor: default; }
.identity-login-wechat-primary:focus-visible { outline-color: #07c160; }
.identity-login-refresh { display: block; margin: 3px auto 0; padding: 7px 12px; min-height: 36px; font-size: 12px; color: #737d78; text-decoration: underline; text-underline-offset: 3px; }
.identity-login-wechat-content { width: 100%; min-width: 0; }
.identity-login-wechat-frame { display: block; border: 0; width: 100%; max-width: 300px; height: 400px; background: white; margin: 0 auto; border-radius: 5px; }
.identity-login-wechat-link { display: block; color: var(--green, #234b3c); font-size: 11px; line-height: 1.7; text-align: center; margin: 12px 0 20px; text-underline-offset: 3px; }
.identity-login-secondary { display: block; min-height: 44px; margin: 7px auto 0; padding: 10px 15px; border: 0; color: #557399; background: transparent; font-size: 14px; width: auto; }
.identity-login-secondary:hover:not(:disabled) { text-decoration: underline; text-underline-offset: 4px; }
.identity-login-legacy { border-top: 1px solid var(--line, #e2e6dd); padding-top: 17px; margin-top: 16px; }
.identity-login-legacy summary { cursor: pointer; color: var(--muted, #79837a); font-size: 12px; padding: 5px 0; }
.identity-login-legacy #login-form { margin-top: 18px; }
.identity-login button:focus-visible, .identity-login a:focus-visible, .identity-login input:focus-visible, .identity-login-legacy summary:focus-visible { outline: 2px solid var(--green, #234b3c); outline-offset: 3px; }
.identity-login button:disabled { cursor: default; }
.identity-login-status:empty { display: none; }
.identity-login-card .login-note { margin-top: 20px; color: var(--muted); font-size: 11px; }
@media (max-width: 540px) {
  .login-card.identity-login-card { padding: 25px 22px 22px; border-radius: 12px; }
  .login-card.identity-login-card h1 { font-size: 21px; }
  .identity-login-account-shortcut { right: 14px; top: 17px; font-size: 12px; }
  .identity-login-wechat-hero { margin-top: 28px; }
  .identity-login-tabs { gap: 5px; margin-bottom: 20px; }
  .identity-login-tab { font-size: 12px; }
  .identity-login-card .identity-login input { font-size: 16px; }
  .identity-login-sms-send { min-width: 101px; padding: 9px 7px; font-size: 10px; }
  .identity-login-wechat-frame { min-height: 400px; }
}
