/* V5 增补样式：登录页/详情/徽标/移动端收窄（动效仅 150/200/250ms，触控目标 ≥44px） */
/* F-2（V1.0 触控目标 ≥44px）：.btn-sm 不再缩小命中区（原 36px 违规）——保持 44px 触控高度，仅以更紧内边距与小字号做视觉紧凑 */
.login-wrap { display:flex; align-items:center; justify-content:center; min-height:70vh; }
.login-card { width:100%; max-width:380px; background:var(--el-bg-color,#fff); border:1px solid var(--el-border-color,#e4e7ed); border-radius:8px; padding:24px; }
.login-card h2 { margin:0 0 4px; font-size:20px; }
.captcha-row { display:flex; gap:8px; align-items:center; }
.captcha-row svg { border-radius:4px; flex:none; }
.captcha-refresh { min-height:44px; min-width:44px; }
.user-badge { font-size:13px; color:#33445c; }
.user-badge b { font-weight:600; }
.role-tag { font-size:12px; border:1px solid #c9d4e2; border-radius:4px; padding:1px 6px; margin-left:6px; color:#4c5e77; }
.detail-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:8px 16px; margin:8px 0; }
.detail-grid .kv { border-bottom:1px dashed #e3e9f1; padding:6px 0; font-size:13px; }
.detail-grid .kv b { display:block; color:#6b7787; font-weight:500; font-size:12px; }
.field-group-title { font-size:13px; font-weight:600; color:#33445c; margin:14px 0 4px; border-left:3px solid var(--qz-primary,#1f5fbf); padding-left:8px; }
.progress-cell { min-width:90px; }
.progress-track { background:#e8eef5; border-radius:999px; height:8px; overflow:hidden; }
.progress-fill { background:var(--qz-primary,#1f5fbf); height:100%; transition:width 200ms; }
.judge-note { background:#fff7e8; border:1px solid #ffd591; border-radius:6px; padding:8px 12px; font-size:13px; margin:8px 0; }
.trace-list { list-style:none; margin:8px 0; padding:0; }
.trace-list li { border:1px solid #e3e9f1; border-radius:6px; padding:8px 12px; margin-bottom:6px; font-size:13px; }
.hl-low { background:#fff1f0; }
.btn-row { display:flex; gap:8px; flex-wrap:wrap; margin:8px 0; min-height:44px; align-items:center; }
.btn, .select, .input { min-height:44px; }
.btn-sm { min-height:44px; padding:0 10px; font-size:13px; }
.nav-badge { background:#e54d42; color:#fff; border-radius:999px; font-size:11px; padding:0 5px; margin-left:4px; }
pre.result-json { background:#f5f7fa; border:1px solid #e3e9f1; border-radius:6px; padding:12px; font-size:12px; overflow-wrap:anywhere; white-space:pre-wrap; max-height:420px; overflow-y:auto; }
.notice-item { border:1px solid #e3e9f1; border-radius:6px; padding:10px 12px; margin-bottom:8px; font-size:13px; }
.notice-item.unread { border-left:3px solid #e54d42; }
@media (max-width: 768px) {
  .detail-grid { grid-template-columns:1fr; }
  .login-card { max-width:100%; }
}
@media (max-width: 375px) {
  .btn-row { gap:6px; }
  .captcha-row { flex-wrap:wrap; }
}

/* 类名对齐原型：表格/输入/骨架补充 */
/* 2026-11-09 /fix：功能弹窗统一为页面居中弹窗——.drawer* 五条规则与 dvIn 动画删除，
   弹窗样式统一收口 app.css .modal-mask/.modal/.modal-head/.modal-body（Drawer.mjs 渲染层复用） */
.tbl-wrap { overflow-x:hidden; }
.tbl { width:100%; border-collapse:collapse; font-size:13px; }
.tbl th { text-align:left; background:#f5f7fa; color:#4c5e77; font-weight:600; padding:8px 10px; border-bottom:1px solid #e3e9f1; }
.tbl td { padding:8px 10px; border-bottom:1px solid #eef2f6; vertical-align:top; overflow-wrap:anywhere; }
.form-row { margin-bottom:12px; }
.form-row label { display:block; font-size:13px; color:#4c5e77; margin-bottom:4px; }
.inp, .input { width:100%; box-sizing:border-box; border:1px solid #c9d4e2; border-radius:6px; padding:10px 12px; font-size:14px; min-height:44px; } /* F-2：输入触控 ≥44px */
select.input, select.select { width:100%; min-height:44px; border:1px solid #c9d4e2; border-radius:6px; padding:8px; font-size:14px; }
.filters { display:flex; gap:10px; flex-wrap:wrap; align-items:flex-end; margin-bottom:12px; }
.filter-item label { display:block; font-size:12px; color:#6b7787; margin-bottom:2px; }
.progress-num { font-size:12px; color:#6b7787; margin-left:6px; }
@media (max-width: 768px) {
  .tbl thead { display:none; }
  .tbl tr { display:block; border:1px solid #e3e9f1; border-radius:8px; margin-bottom:8px; padding:4px 0; }
  .tbl td { display:flex; justify-content:space-between; gap:12px; border-bottom:none; }
  .tbl td::before { content:attr(data-l); color:#6b7787; font-size:12px; flex:none; }
}
.w-captcha { width:120px; }
.w-full { width:100%; }
.mt-10 { margin-top:10px; }
.pf-10{width:10%}.pf-30{width:30%}.pf-50{width:50%}.pf-70{width:70%}.pf-90{width:90%}.pf-100{width:100%}

/* F-2：筛选区输入/下拉由原型的 40px 提升至 44px（覆盖 app.css:165，不改原型文件） */
.filters .select, .filters .inp { min-height:44px; }
