/* 登录页(对齐 h5-user login-page) */ .login-page { min-height: 100vh; display: flex; flex-direction: column; background: var(--color-background); color: var(--color-on-surface); box-sizing: border-box; padding-top: var(--nav-status-bar-height, 20px); } .login-header { padding: 48px var(--space-page) 32px; display: flex; flex-direction: column; align-items: center; } .login-logo-wrap { position: relative; width: 200px; height: 72px; margin-bottom: 28px; } .login-logo { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; } .login-logo-img { width: 100%; height: 100%; } .login-logo-badge { position: absolute; bottom: -8px; right: -8px; background: var(--color-heritage-red); color: #fff; font-size: 10px; font-weight: 700; padding: 2px 8px; border-radius: 999px; line-height: 1.4; } .login-welcome { text-align: center; } .login-welcome-title { display: block; font-family: var(--font-headline); font-size: 20px; font-weight: 600; line-height: 28px; color: var(--color-ink-black, #1a1a1a); letter-spacing: -0.01em; } .login-welcome-sub { display: block; margin-top: 8px; font-size: 16px; line-height: 24px; color: var(--color-on-surface-variant); opacity: 0.8; } .login-main { flex: 1; padding: 0 var(--space-page) 32px; width: 100%; box-sizing: border-box; } .login-card { background: var(--color-card); border-radius: var(--radius-xl); padding: 24px; box-shadow: var(--shadow-card); } .login-card-title { display: block; font-family: var(--font-headline); font-size: 18px; font-weight: 600; line-height: 26px; margin-bottom: 16px; color: var(--color-on-surface); } .login-field { display: flex; align-items: center; border-bottom: 1px solid var(--color-surface-variant, #e8e4de); padding-bottom: 8px; margin-bottom: 16px; min-height: 40px; } .login-field-prefix { font-size: 16px; font-weight: 500; line-height: 32px; color: var(--color-on-surface); margin-right: 12px; flex-shrink: 0; } .login-field-input { flex: 1; border: none; background: transparent; padding: 0; height: 32px; font-size: 16px; line-height: 32px; color: var(--color-on-surface); min-width: 0; box-sizing: border-box; display: flex; align-items: center; } .login-field-input input, .login-field-input .taro-input, .login-field-input .weui-input { width: 100% !important; height: 100% !important; min-height: 0 !important; padding: 0 !important; margin: 0 !important; border: none !important; background: transparent !important; box-sizing: border-box !important; font-size: 16px !important; line-height: normal !important; color: inherit; } .login-get-code { flex-shrink: 0; border: none; background: transparent; padding: 0; margin: 0; font-size: 14px; font-weight: 500; color: var(--color-heritage-red); line-height: 1.4; } .login-get-code--disabled { color: var(--color-subtle-gray); } .login-msg { display: block; font-size: 13px; color: var(--color-heritage-red); margin-bottom: 12px; } .login-msg--hint { color: var(--color-success, #2d6a4f); } .login-sms-btn { width: 100%; height: 48px; margin-top: 8px; border: 1.5px solid var(--color-heritage-red, #a61d24); border-radius: var(--radius-lg); background: #fff; color: var(--color-heritage-red, #a61d24); font-family: var(--font-headline); font-size: 18px; font-weight: 600; display: flex; align-items: center; justify-content: center; line-height: 1; padding: 0; box-sizing: border-box; } .login-sms-btn__text { color: var(--color-heritage-red, #a61d24); font-size: 18px; font-weight: 600; line-height: 26px; } .login-sms-btn:active { background: rgba(166, 29, 36, 0.06); transform: scale(0.98); } .login-sms-btn--disabled { opacity: 0.6; pointer-events: none; } .login-divider { display: flex; align-items: center; gap: 16px; margin: 32px 0; } .login-divider-line { flex: 1; height: 1px; background: linear-gradient( 90deg, transparent 0%, var(--color-surface-variant, #e8e4de) 50%, transparent 100% ); } .login-divider-text { font-size: 12px; font-weight: 500; letter-spacing: 0.05em; color: var(--color-subtle-gray); flex-shrink: 0; } .login-wechat-btn { width: 100%; height: 56px; border: none; border-radius: var(--radius-lg); background: var(--color-heritage-red); color: #fff; display: flex; align-items: center; justify-content: center; gap: 12px; font-family: var(--font-headline); font-size: 18px; font-weight: 600; line-height: 1; padding: 0; box-sizing: border-box; box-shadow: 0 8px 24px rgba(166, 29, 36, 0.1); } .login-wechat-btn:active { transform: scale(0.98); } .login-wechat-btn--disabled { opacity: 0.7; pointer-events: none; } .login-wechat-btn__text { color: #fff; font-size: 18px; font-weight: 600; line-height: 26px; } .wechat-login-icon { position: relative; width: 24px; height: 24px; flex-shrink: 0; } .wechat-login-icon__big, .wechat-login-icon__small { position: absolute; border-radius: 50%; background: #fff; } .wechat-login-icon__big { width: 16px; height: 16px; left: 0; top: 5px; } .wechat-login-icon__small { width: 11px; height: 11px; right: 0; bottom: 3px; } .login-footer { padding: 0 var(--space-page) calc(env(safe-area-inset-bottom, 0px) + 32px); width: 100%; box-sizing: border-box; } .login-agreement { display: flex; align-items: center; gap: 8px; } .login-agreement-check { width: 16px; height: 16px; margin-top: 0; border-radius: 4px; border: 1px solid var(--color-outline, #c8c4be); flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-size: 11px; line-height: 1; color: #fff; box-sizing: border-box; } .login-agreement-check--on { background: var(--color-heritage-red); border-color: var(--color-heritage-red); } .login-agreement-text { flex: 1; font-size: 12px; font-weight: 500; line-height: 16px; letter-spacing: 0.05em; color: var(--color-on-surface-variant); } .login-agreement-link { color: var(--color-heritage-red); }