/*
 * design/themes/ant-form.css —— Ant 风格表单皮肤
 * inspired by Ant Design v5（简道云系同源），非官方实现；
 * 与 Ant Group / 蚂蚁集团无关，全部样式为本仓库手写仿制。
 * 关键仿制特征：#f5f5f5 画布、白卡 8px 圆角、主色 #1677ff、
 * 32px 控件 6px 圆角、聚焦主色描边 + 淡蓝外晕、#fafafa 表头。
 */
body[data-style="ant"] {
  --font: -apple-system, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif;
  --bg: #f5f5f5;
  --surface: #ffffff;
  --border: #d9d9d9;
  --ink: rgba(0, 0, 0, .88);
  --ink-2: rgba(0, 0, 0, .65);
  --ink-3: rgba(0, 0, 0, .45);
  --accent: #1677ff;
  --accent-ink: #ffffff;
  --danger: #ff4d4f;
  --danger-ring: rgba(255, 77, 79, .16);
  --ctl-h: 32px;
  --btn-h: 32px;
  --ctl-radius: 6px;
  --panel-radius: 8px;
  --focus-ring: rgba(5, 145, 255, .12);
  --opt-hover: #f5f5f5;
  --filter-row-bg: #fafafa;
  --chip-radius: 4px;
  --shadow-1: 0 1px 2px rgba(0, 0, 0, .03), 0 0 0 1px #f0f0f0;
  --shadow-2: 0 6px 16px rgba(0, 0, 0, .08), 0 3px 6px -4px rgba(0, 0, 0, .12);
}

/* ---------- 按钮（primary / default） ---------- */
.ui-btn { box-shadow: 0 2px 0 rgba(0, 0, 0, .02); }
.ui-btn-primary { background: var(--accent); color: var(--accent-ink); }
.ui-btn-primary:hover { background: #4096ff; }
.ui-btn-secondary { background: var(--surface); color: var(--ink); border-color: #d9d9d9; }
.ui-btn-secondary:hover { border-color: #4096ff; color: #4096ff; }

/* ---------- 控件（聚焦：主色描边 + 淡蓝外晕） ---------- */
.f-form input:focus, .f-form input:focus-visible, .f-textarea:focus, .tier-row input:focus,
.dd-body:focus-visible, .q-fcell input:focus, .ui-in:focus, .ui-in:focus-visible, .ui-in-num:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 2px rgba(5, 145, 255, .1);
}
.f-form input, .f-form .dd-body, .tier-row input, .q-fcell input, .ui-in, .ui-in-num { border-color: #d9d9d9; }
.dd-panel { border-color: transparent; box-shadow: 0 6px 16px rgba(0, 0, 0, .08), 0 3px 6px -4px rgba(0, 0, 0, .12), 0 0 0 1px #f0f0f0; }

/* ---------- 表格（#fafafa 表头 + #f0f0f0 行线 + hover） ---------- */
.q-head-row th { background: #fafafa; font-weight: 600; color: var(--ink); }
.q-table th, .q-table td { border-bottom: 1px solid #f0f0f0; }
.q-table tbody tr:hover td { background: #fafafa; }
.q-table-wrap { border-color: #f0f0f0; border-radius: 8px; }

/* ---------- 徽标：tag 形态（4px 圆角，非胶囊） ---------- */
.q-badge { border-radius: 4px; }
.q-badge.is-draft { background: #fafafa; color: rgba(0, 0, 0, .65); box-shadow: 0 0 0 1px #d9d9d9 inset; }
.q-badge.is-sent { background: #f6ffed; color: #52c41a; box-shadow: 0 0 0 1px #b7eb8f inset; }
.q-badge.is-expired { background: #fff7e6; color: #fa8c16; box-shadow: 0 0 0 1px #ffd591 inset; }

/* ---------- 卡片与弹窗 ---------- */
.ui-panel { border-color: #f0f0f0; }
.ui-modal { border-radius: 8px; }
.ui-modal-head { border-bottom-color: #f0f0f0; }
.ui-modal-foot { border-top-color: #f0f0f0; }
.ui-modal-title { font-size: 16px; font-weight: 600; }

/* ---------- 下拉 ---------- */
.dd-opt { border-radius: 4px; }
.dd-opt.is-sel { background: #f0f5ff; }
