/* auth-pages.css — 独立注册 / 找回页：真网页布局（无 login 浮卡容器） */
* { box-sizing: border-box; }
body { margin: 0; background: #f4f6fb; color: #1f2937; font-family: -apple-system, "PingFang SC", "Microsoft YaHei", "Segoe UI", sans-serif; line-height: 1.5; }

.auth-page { min-height: 100vh; display: flex; flex-direction: column; }

/* 顶部品牌栏 —— 页面级，不是浮卡 */
.auth-header { display: flex; align-items: center; justify-content: space-between; padding: 16px 36px; background: #fff; border-bottom: 1px solid #e5e7eb; }
.auth-brand { display: flex; align-items: center; gap: 11px; font-weight: 700; font-size: 17px; color: #1f2937; }
.auth-brand .logo { width: 32px; height: 32px; border-radius: 8px; background: linear-gradient(135deg, #1e3a8a, #2563eb); flex: 0 0 auto; }
.auth-nav a { color: #2563eb; text-decoration: none; font-size: 14px; }
.auth-nav a:hover { text-decoration: underline; }
.auth-nav .sep { color: #d1d5db; margin: 0 12px; }

/* 正文区 —— 直接铺在网页上 */
.auth-main { flex: 1; width: 100%; max-width: 920px; margin: 0 auto; padding: 38px 24px 56px; }
.auth-page-title { font-size: 26px; font-weight: 700; color: #111827; margin: 0 0 8px; }
.auth-page-sub { color: #6b7280; font-size: 14px; line-height: 1.7; margin: 0 0 30px; }
.reg-hint { color: #6b7280; font-size: 12.5px; line-height: 1.6; margin: 10px 2px 0; padding: 8px 12px; background: #eff6ff; border: 1px solid #dbeafe; border-radius: 8px; }

.auth-section { margin-bottom: 26px; }
.auth-section > h3 { font-size: 16px; color: #334155; margin: 0 0 12px; font-weight: 600; }
.auth-fieldset { border: 1px solid #e5e7eb; border-radius: 10px; padding: 18px 20px; background: #fff; }

/* 输入控件（复用 styles.css 的 .form-* 通用类，这里只补全裸标签） */
.auth-main label { display: block; font-size: 13px; margin: 14px 0 4px; color: #374151; }
.auth-main .form-grid label { margin: 0 0 4px; }
.sms-row .form-input { flex: 1; }

/* 提交 / 操作按钮：去掉全局 .btn-primary 的满宽设定，按页面排版 */
.auth-main .btn-primary { width: auto; margin-top: 0; padding: 11px 30px; font-size: 15px; }
.auth-actions { display: flex; gap: 12px; margin-top: 24px; align-items: center; }
.auth-actions .btn, .auth-actions .btn-primary { flex: 0 0 auto; width: auto; margin-top: 0; }

.auth-footer { text-align: center; color: #9ca3af; font-size: 12px; padding: 22px; border-top: 1px solid #eceef2; }

/* 成功态 */
.auth-success { text-align: center; padding: 48px 20px; }
.auth-success h2 { font-size: 24px; color: #111827; margin: 0 0 16px; }
.auth-success p { color: #6b7280; line-height: 1.8; font-size: 14px; max-width: 560px; margin: 0 auto; }

/* 证件上传组件：预览 / 删除 / 重新选择 */
.file-widget { margin-top: 4px; }
.file-widget .fw-preview:empty { display: none; }
.file-widget .fw-item { display: flex; align-items: center; gap: 10px; margin-top: 8px; padding: 8px 10px; border: 1px solid #e5e7eb; border-radius: 8px; background: #f9fafb; }
.file-widget .fw-thumb { width: 46px; height: 46px; object-fit: cover; border-radius: 6px; border: 1px solid #e5e7eb; flex: 0 0 auto; }
.file-widget .fw-pdf { width: 46px; height: 46px; border-radius: 6px; background: #fee2e2; color: #b91c1c; font-weight: 700; font-size: 13px; display: flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.file-widget .fw-meta { flex: 1; min-width: 0; font-size: 13px; color: #374151; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.file-widget .fw-del { flex: 0 0 auto; border: 1px solid #fca5a5; background: #fff; color: #dc2626; border-radius: 6px; padding: 5px 12px; font-size: 13px; cursor: pointer; }
.file-widget .fw-del:hover { background: #fef2f2; }
.file-widget .fw-actions { margin-top: 8px; }

/* 注册提交结果页 */
.auth-result { padding: 30px 4px; }
.auth-result h2 { font-size: 24px; color: #111827; margin: 0 0 8px; }
.auth-result-sub { color: #6b7280; font-size: 14px; margin: 0 0 20px; }
.result-card { border: 1px solid #e5e7eb; border-radius: 12px; padding: 18px 20px; background: #fff; }
.result-row { display: flex; justify-content: space-between; gap: 16px; padding: 8px 0; font-size: 14px; }
.result-row > span { color: #6b7280; flex: 0 0 auto; }
.result-row > b { color: #111827; text-align: right; word-break: break-all; }
.result-row.result-reason > b { color: #b45309; }
.result-sep { height: 1px; background: #f0f2f5; margin: 8px 0; }
.badge { display: inline-block; padding: 2px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; }
.badge-pending { background: #fef3c7; color: #b45309; }
.result-note { color: #ef6c00; font-size: 13px; line-height: 1.7; margin: 16px 2px 0; padding: 10px 12px; background: #fff7ed; border: 1px solid #fed7aa; border-radius: 8px; }
.company-notice { line-height: 1.7; }

@media (max-width: 560px) {
  .auth-header { padding: 14px 18px; }
  .auth-brand { font-size: 15px; }
  .auth-main { padding: 26px 16px 40px; }
  .auth-page-title { font-size: 22px; }
}

/* 密码强度提示 + 两次一致校验 */
.pwd-strength { margin-top: 6px; }
.pwd-strength-bars { display: flex; gap: 6px; }
.pwd-strength-bars span { flex: 1; height: 5px; border-radius: 3px; background: #e5e7eb; transition: background .2s; }
.pwd-strength-label { font-size: 12px; margin-top: 4px; color: #6b7280; }
.pwd-req { display: flex; flex-wrap: wrap; gap: 6px 10px; margin-top: 6px; }
.pwd-req span { font-size: 12px; color: #9ca3af; display: inline-flex; align-items: center; gap: 3px; transition: color .15s; }
.pwd-req span::before { content: '○'; font-size: 11px; }
.pwd-req span.met { color: #16a34a; }
.pwd-req span.met::before { content: '●'; }
.pwd-match { font-size: 12px; margin-top: 5px; min-height: 16px; color: #6b7280; }
.pwd-match.ok { color: #16a34a; }
.pwd-match.bad { color: #dc2626; }
