/* 登录流程的手机排版；保留原表单、校验、协议与业务事件。 */
@media (max-width: 1100px) {
  html:has(.login-main), body:has(.login-main) { height: auto; min-height: 100%; overflow-x: clip; overflow-y: auto; scroll-padding-block: 24px; }
  #app main:has(.login-main) { min-height: 100svh; }
  #app [radialgradient]:has(> .login-main) { height: auto; min-height: 100svh; }
  #app .login-main { min-height: 0; padding: 32px 20px 0; align-items: flex-start; }
  #app .login-main .login-content { display: flex; flex-direction: column; align-items: center; gap: 0; width: 100%; max-width: 440px; min-width: 0; }
  #app .login-main .brand-section { display: contents; }
  #app .login-main .brand-header { order: 0; width: 146px; height: auto; min-height: 0; margin: 0 0 24px; }
  #app .login-main .brand-header img { display: block; width: 100%; height: auto; }
  #app .login-main .main-title { order: 1; width: 100%; margin: 0 0 8px; color: #1e293b; font-size: clamp(26px,7.5vw,34px); line-height: 1.4; letter-spacing: 0; text-align: center; overflow-wrap: anywhere; }
  #app .login-main .subtitle { order: 2; margin: 0 0 32px; color: #64748b; font-size: 16px; line-height: 1.75; text-align: center; }
  #app .login-main .login-right { order: 3; display: block; width: 100%; height: auto; min-width: 0; }
  #app .login-right > .n-spin-container, #app .login-right > .n-spin-container > .n-spin-content { width: 100% !important; height: auto !important; }
  #app .login-right :is(.login-view,.ver-pass) { position: relative; width: 100%; height: auto; min-height: 0; padding: 28px 24px; box-sizing: border-box; border: 1px solid #edf1f5; border-radius: 30px; background: rgba(255,255,255,.9); opacity: 1; box-shadow: 0 18px 35px 5px rgba(1,30,76,.05); }
  #app .login-right .login-view-title { margin-top: 0; color: #1e293b; font-size: 20px; line-height: 1.5; }
  #app .login-right .ver-pass-header { display: flex; align-items: center; height: auto; min-height: 32px; margin-top: 0; line-height: 1.5; }
  #app .login-right .ver-pass-header .title { color: #1e293b; font-size: 20px; line-height: 1.5; }
  #app .login-right .n-form { display: flex; flex-direction: column; gap: 16px; margin-top: 24px !important; }
  #app .login-right .n-form-item-label { height: auto; min-height: 0; margin-bottom: 8px; padding-bottom: 0; font-size: 14px; line-height: 24px; }
  #app .login-right .n-form-item-feedback-wrapper:empty { display: none; }
  #app .login-right .n-form-item-feedback__line { margin: 4px 0 0; line-height: 1.6; }
  #app .login-right .n-input { height: 56px; border-radius: 15px; font-size: 16px; line-height: 56px; scroll-margin-block: 24px; }
  #app .login-right .n-input .n-input-wrapper { padding: 0 16px; }
  #app .login-right .n-input input { font-size: 16px; }
  #app .login-right .tip { color: #64748b; font-size: 13px; line-height: 1.75; }
  #app .login-right .agreement-container { margin: 0; }
  #app .login-right .agreement-checkbox { align-items: flex-start; min-height: 44px; }
  #app .login-right .agreement-checkbox .n-checkbox-box-wrapper { margin-top: 2px; }
  #app .login-right .agreement-checkbox .n-checkbox__label { min-width: 0; white-space: normal; }
  #app .login-right :is(.agreement-text,.agreement-link) { font-size: 13px; line-height: 1.85; overflow-wrap: anywhere; }
  #app .login-right :is(.log-btn,.confirm-btn) { position: static; display: flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 100%; height: 56px; min-height: 56px; margin: 8px 0 0; border-radius: 18px; line-height: 1.5; transform: none; scroll-margin-block: 24px; }
  #app .login-right :is(.log-btn,.confirm-btn) img { display: block; max-width: 100%; max-height: 56px; object-fit: contain; }
  #app .login-right :is(.witeSecond,.ver-code-text,.tip-left,.verlogin) { font-size: 14px; line-height: 1.75; }
  #app .login-main .qr-container { order: 4; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: 16px; width: 100%; margin: 32px 0 0; }
  #app .login-main .qr-item { min-width: 0; text-align: center; font-size: 12px; line-height: 1.75; }
  #app .login-main .qr-code { width: min(100%,153px); height: auto; aspect-ratio: 1; margin-bottom: 12px; padding: 8px; box-sizing: border-box; }
  #app .login-main .qr-code img { display: block; width: 100%; height: 100%; object-fit: contain; }
  #app .login-main :is(.qr-label,.qr-sublabel) { font-size: 12px; line-height: 1.75; }
  #app main:has(.login-main) .footer-container { position: static; width: 100%; margin-top: auto; padding: 32px 20px max(24px,env(safe-area-inset-bottom)); box-sizing: border-box; transform: none; }
  #app main:has(.login-main) .footer-content { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 12px; width: 100%; font-size: 12px; line-height: 1.75; }
}
@media (max-width: 360px) {
  #app .login-main { padding-right: 16px; padding-left: 16px; }
  #app .login-right :is(.login-view,.ver-pass) { padding: 24px 20px; }
  #app .login-main .qr-container { gap: 12px; }
}
