/* ============================================================
   全站 UI 语义标准（按钮 / 标签）—— 新模块一律用这里的标准类
   规则全文：.codebuddy/rules/frontend-standards.md
   引入位置：各页 </head> 之前（在 app-nav.css / app-readable.css 附近）
   ------------------------------------------------------------
   为什么要有这个文件：
   原来「删除」至少有 6 套写法、「返回」至少 5 套（有的文字、有的 emoji、
   有的内联改颜色），新模块容易各写一套 → 统一到这里，页面只准复用。
   ============================================================ */

/* ===================== 按钮 ===================== */
.ui-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  /* 字号走标准变量：普通 13px，开启「A+」大字模式自动变 15px */
  font-size: var(--fs-btn, 13px);
  font-family: inherit;
  padding: 6px 12px;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
  background: #fff;
  color: #475569;
  cursor: pointer;
  white-space: nowrap;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
  transition: border-color .16s, color .16s, background .16s;
}
.ui-btn:hover { border-color: #1e3a8a; color: #1e3a8a; }
.ui-btn:focus-visible { outline: 2px solid #1e3a8a; outline-offset: 1px; }
.ui-btn[disabled], .ui-btn[aria-disabled="true"] { opacity: .55; cursor: not-allowed; }

/* 主操作：提交 / 保存 / 上传 / 预览 */
.ui-btn--primary { background: #1e3a8a; border-color: #1e3a8a; color: #fff; }
.ui-btn--primary:hover { background: #17306f; border-color: #17306f; color: #fff; }

/* 危险操作：删除 / 停用 / 清空（红字红边；绝不与主操作同色） */
.ui-btn--danger { border-color: #fecaca; color: #dc2626; }
.ui-btn--danger:hover { border-color: #dc2626; background: #fef2f2; color: #dc2626; }

/* 返回 / 关闭：弱化（灰字无边），文案固定「← 返回XX」「关闭」 */
.ui-btn--back { background: transparent; border-color: transparent; color: #86868b; }
.ui-btn--back:hover { background: #f2f2f5; color: #1e3a8a; border-color: transparent; }

/* 尺寸：小按钮（列表行内）—— 只收紧内边距，字号仍是标准 13px（不缩字号） */
.ui-btn--sm { padding: 5px 10px; border-radius: 7px; }

/* ===================== 状态标签 ===================== */
.ui-tag {
  display: inline-block;
  font-size: var(--fs-tag, 12px);
  line-height: 1.5;
  padding: 1px 8px;
  border-radius: 6px;
  border: 1px solid transparent;
  white-space: nowrap;
  font-weight: 600;
  vertical-align: middle;
}
.ui-tag--warn   { background: #fef3c7; color: #92400e; border-color: #fcd34d; }  /* 待处理 / 待审核 / 待补单 */
.ui-tag--ok     { background: #ecfdf5; color: #047857; border-color: #a7f3d0; }  /* 已完成 / 在库 */
.ui-tag--danger { background: #fef2f2; color: #b91c1c; border-color: #fecaca; }  /* 已驳回 / 超期 / 失败 */
.ui-tag--info   { background: #eef2ff; color: #1e3a8a; border-color: #c7d2fe; }  /* 中性提示 / 类型 */
.ui-tag--muted  { background: #f3f4f6; color: #4b5563; border-color: #e5e7eb; }  /* 已失效 / 转线下 */

/* ===================== 空状态 / 提示 ===================== */
.ui-empty { text-align: center; padding: 28px 16px; color: #a1a1a6; font-size: 13px; }
.ui-hint  { font-size: 13px; color: #86868b; line-height: 1.6; }
