/** * 认证页面共享样式 — V21 Design System * Login / Register 共用 */ /* ── 页面容器 ───────────────────────────────────────────── */ .xx-auth-page { display: grid; place-items: center; min-height: 100vh; background: linear-gradient( 135deg, color-mix(in srgb, var(--primary-color) 8%, transparent), color-mix(in srgb, var(--secondary-color) 6%, transparent) ); padding: 24px; } /* ── 卡片 ───────────────────────────────────────────────── */ .xx-auth-card { background: var(--bg-primary); border: 1px solid var(--border-color); border-radius: var(--radius-xl); box-shadow: var(--shadow-md); padding: 48px; width: 100%; max-width: 400px; } /* ── 头部 ───────────────────────────────────────────────── */ .xx-auth-header { text-align: center; margin-bottom: 32px; } .xx-logo-big { font-size: 64px; margin-bottom: 16px; } .xx-auth-header h1 { font-size: 28px; margin: 0 0 8px; color: var(--text-primary); font-weight: 900; } .xx-auth-header p { color: var(--text-secondary); margin: 0; font-size: 14px; } /* ── 底部链接 ───────────────────────────────────────────── */ .xx-auth-footer { text-align: center; font-size: 14px; color: var(--text-secondary); margin-top: 20px; } .xx-auth-footer a { color: var(--primary-color); text-decoration: none; font-weight: 850; } .xx-auth-footer a:hover { color: var(--primary-dark); } /* ── 表单标签 ───────────────────────────────────────────── */ .xx-auth-page .ant-form-item-label > label { font-weight: 850; color: var(--text-primary); font-size: 14px; } /* ── 输入框 ─────────────────────────────────────────────── */ .xx-auth-page .ant-input, .xx-auth-page .ant-input-password input { background: var(--bg-primary); border: 1px solid var(--border-color); border-radius: var(--radius-sm); height: 48px; } .xx-auth-page .ant-input:focus, .xx-auth-page .ant-input-password input:focus, .xx-auth-page .ant-input-focused, .xx-auth-page .ant-input-password-focused .ant-input { border-color: var(--primary-color); box-shadow: 0 0 0 3px var(--primary-soft); } /* ── 复选框 ─────────────────────────────────────────────── */ .xx-auth-page .ant-checkbox-wrapper { font-size: 14px; color: var(--text-secondary); } .xx-auth-page .ant-checkbox-inner { border-radius: var(--radius-xs); } /* ── 分隔线 ─────────────────────────────────────────────── */ .xx-auth-divider { display: flex; align-items: center; gap: 12px; margin: 24px 0; color: var(--text-secondary); font-size: 13px; } .xx-auth-divider::before, .xx-auth-divider::after { content: ""; flex: 1; height: 1px; background: var(--border-color); } /* ── 第三方登录按钮 ─────────────────────────────────────── */ .xx-auth-third-party { display: flex; flex-direction: column; gap: 12px; } .xx-btn-wechat { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; height: 44px; border: 1px solid var(--border-color); border-radius: var(--radius-sm); background: var(--bg-primary); color: var(--text-primary); font-size: 14px; font-weight: 600; cursor: pointer; transition: all 0.2s; } .xx-btn-wechat:hover { background: var(--secondary-color); color: var(--text-inverse); border-color: var(--secondary-color); } .xx-btn-wechat .xx-wechat-icon { font-size: 18px; } /* ── 响应式 ─────────────────────────────────────────────── */ @media (max-width: 480px) { .xx-auth-card { padding: 32px 24px; } .xx-auth-header h1 { font-size: 24px; } .xx-logo-big { font-size: 48px; } }