:root{
  --bg:#f7f7fb;--card:#fff;--text:#111;--muted:#667085;--line:#e5e7eb;--pri:#2563eb;
  --danger:#ef4444;--radius:14px;--shadow:0 1px 2px rgba(0,0,0,.04);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;background:var(--bg);color:var(--text);
  font:14px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,PingFang SC,Microsoft YaHei;
}
h1{margin:24px auto 8px;max-width:1080px;font-size:28px}
h2{margin:0 0 12px;font-size:18px}
.container{max-width:1080px;margin:0 auto 48px;padding:0 16px}
.card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:16px;margin:16px 0;box-shadow:var(--shadow)
}

/* 输入统一样式 */
label{display:block;font-weight:600;margin:0 0 6px}
.input{
  width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;
  outline:none;appearance:none
}
.select{padding-right:28px}
.actions-right{display:flex;justify-content:flex-end;margin-top:10px}

/* 预设分组标签 */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.chip{
  padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:#f8fafc;cursor:pointer
}
.chip:hover{background:#eef2ff}
.chip.active{background:#e0e7ff;border-color:#c7d2fe}

/* 按钮 */
.btn{
  appearance:none;border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 14px;
  cursor:pointer;transition:background .15s ease
}
.btn:hover{background:#f5f5f5}
.btn[disabled]{opacity:.6;cursor:not-allowed}
.btn-primary{background:var(--pri);border-color:var(--pri);color:#fff}
.btn-primary:hover{filter:brightness(.98)}
.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}
.btn-danger:hover{filter:brightness(.98)}
.grow{flex:1}

/* 工具条 */
.toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:6px 0 12px}
.tool{min-width:220px}
.tool.compact .btns{display:flex;gap:8px;flex-wrap:wrap}

/* 上传文件清单 */
.filelist{margin:6px 0 0}
.filelist .tag{
  display:inline-block;margin:4px 6px 0 0;padding:2px 8px;border:1px solid var(--line);
  border-radius:999px;background:#f8fafc;font-size:12px;color:#333
}
.muted{color:var(--muted)}

/* 表格：列间竖线 + 自动换行 */
table{width:100%;border-collapse:separate;border-spacing:0}
th,td{
  border-top:1px solid var(--line);padding:10px 8px;vertical-align:middle;
  word-break:break-all;white-space:normal;border-right:1px solid var(--line);
}
thead th{border-top:none;background:#f8fafc;font-weight:600;color:#222}
th:last-child,td:last-child{border-right:none}
td .rowbtns{display:flex;gap:8px;justify-content:flex-end}
.right{text-align:right}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:#374151}
.pager{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin-top:10px}
pre{white-space:pre-wrap;background:#0b1021;color:#d1e7ff;padding:10px;border-radius:10px;overflow:auto;font-size:12px}

/* 多选列宽度 */
th.sticky{width:36px}
td.sticky{width:36px}
