/* 用户认证（user_verify）· uv- 前缀
   配色纪律：全部走 CSS 变量（--ac/--ok/--err + *-soft 变体），圆角走 var(--radius)/var(--radius-s)/999px 胶囊，
   前台 app.css 与后台 admin.css 同名变量通用，theme-trae 换肤自动适配。 */

/* ---------- 认证徽标（楼层作者区 / 名字旁，小胶囊） ---------- */
.uv-badge {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 1px 8px;
  border-radius: 999px;
  font-size: 11.5px;
  line-height: 1.7;
  vertical-align: middle;
  white-space: nowrap;
}
.uv-badge-wm { background: var(--ac-soft); color: var(--ac-2); }
.uv-badge-dev { background: var(--ok-soft); color: var(--ok); }

/* ---------- 用户主页认证信息卡 ---------- */
.uv-card { padding: 18px 20px; margin-bottom: 20px; }
.uv-card-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.uv-card-expire { font-size: 12.5px; color: var(--tx-3); }
.uv-card-name { font-family: var(--serif); font-size: 16px; font-weight: 700; margin-bottom: 4px; }
.uv-card-desc { font-size: 13.5px; color: var(--tx-2); margin: 4px 0; }
.uv-card-meta { font-size: 12px; color: var(--tx-3); margin-top: 8px; }

/* ---------- 前台认证中心 ---------- */
.uv-page { max-width: 760px; margin: 0 auto; }
.uv-sec { margin-bottom: 20px; }
.uv-current { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 8px; }
.uv-current-name { font-family: var(--serif); font-size: 15px; font-weight: 700; margin: 6px 0; }
.uv-inline-form { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 10px; }

/* 条件清单：软底区块化（与卡片正文区分层），与下方表单拉开呼吸间距 */
.uv-cond {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px 14px;
  margin-bottom: 16px;
  border-radius: var(--radius-s);
  background: var(--soft-2);
}
.uv-cond-item {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 12.5px;
  background: var(--card);
  color: var(--tx-2);
}
.uv-cond-item.is-ok { color: var(--ok); background: var(--ok-soft); }
.uv-cond-item.is-fail { color: var(--err); background: var(--err-soft); }

/* 申请面板间距链：提示行与表单之间、条件区与提示行之间留白 */
.uv-apply .form-hint { margin-top: 2px; }
.uv-apply .uv-fee-tip { margin-top: 12px; }
.uv-apply .uv-form { margin-top: 14px; }

/* 「选择图片」按钮还原：.field label（0,1,1）会穿透 label.btn 的 display/字号/颜色
   （同注册页勾选行修复手法，双类提特异性还原按钮形态，避免全宽灰条） */
.uv-form .field label.btn {
  display: inline-flex;
  align-items: center;
  font-size: 13px;
  font-weight: 500;
  color: var(--tx);
  margin-bottom: 0;
}
.uv-form .field label.btn:hover { color: var(--ac-2); border-color: var(--ac-2); }

/* 申请费提示 */
.uv-fee-tip {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 9px 12px;
  margin-bottom: 14px;
  border-radius: var(--radius-s);
  background: var(--warn-soft);
  color: var(--tx-2);
  font-size: 13px;
}

.uv-form input[type="url"] { margin-bottom: 8px; }
.uv-hist-reason { max-width: 320px; }

/* ---------- 后台面板 ---------- */
.uv-admin-detail { max-width: 360px; }
.uv-admin-detail a { word-break: break-all; }
.uv-admin-ops { display: flex; flex-direction: column; gap: 8px; align-items: flex-end; }
.uv-op-form { display: flex; gap: 6px; align-items: center; }
.uv-op-form input[type="text"] { width: 180px; }
.uv-inline-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; gap: 14px; align-items: end; }
.uv-inline-grid .uv-field-submit { padding-bottom: 1px; }

@media (max-width: 720px) {
  .uv-admin-ops { align-items: stretch; }
  .uv-op-form { flex-wrap: wrap; }
  .uv-op-form input[type="text"] { width: 100%; }
  .uv-inline-grid { grid-template-columns: minmax(0, 1fr); }
}
