/* 全量孤单清单 · 只读看板样式（不依赖主站主题） */
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  background: #f4f7fb; color: #0f172a; font-size: 14px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", "PingFang SC", sans-serif;
}
.ac-top { background: linear-gradient(135deg, #0e7490, #0891b2); color: #ecfeff; padding: 14px 18px; }
.ac-top-in { display: flex; align-items: center; gap: 12px; max-width: 100%; }
.ac-logo {
  width: 34px; height: 34px; border-radius: 9px; background: rgba(255,255,255,.18);
  display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 17px;
}
.ac-top h1 { margin: 0; font-size: 17px; letter-spacing: .5px; }
.ac-top p { margin: 2px 0 0; font-size: 12px; opacity: .85; }
main { padding: 14px 16px 24px; }
.ac-foot { text-align: center; color: #94a3b8; font-size: 12px; padding: 10px 0 26px; }
.ac-loading, .ac-err { padding: 40px; text-align: center; color: #64748b; }
.ac-err { color: #dc2626; }

/* 卡片 */
.card { background: #fff; border: 1px solid #e6ecf5; border-radius: 12px; box-shadow: 0 1px 2px rgba(15,23,42,.04); }
.card-head { padding: 12px 16px; border-bottom: 1px solid #eef2f8; }
.card-title { margin: 0; font-size: 14.5px; font-weight: 700; color: #0f172a; }
.card-pad { padding: 12px 16px 16px; }

/* 标题 */
.page-head { margin: 0 0 10px; }
.page-title { margin: 0; font-size: 18px; }
.page-desc { margin: 4px 0 0; color: #64748b; font-size: 12.5px; }

/* 控件 */
.btn {
  appearance: none; border: 1px solid #d7e0ec; background: #fff; color: #0f172a;
  border-radius: 8px; padding: 6px 12px; font-size: 13px; cursor: pointer; line-height: 1.4;
}
.btn:hover { border-color: #94a3b8; }
.btn-sm { padding: 4px 10px; font-size: 12.5px; }
.btn-primary { background: #0891b2; border-color: #0891b2; color: #fff; }
.btn-primary:hover { background: #0e7490; }
.input {
  border: 1px solid #d7e0ec; border-radius: 8px; padding: 6px 9px; font-size: 13px;
  background: #fff; color: #0f172a; outline: none; max-width: 100%;
}
.input:focus { border-color: #0891b2; box-shadow: 0 0 0 2px rgba(8,145,178,.15); }

/* 筛选条 */
.v2-wb-search { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; }
.v2-wb-range-label { font-size: 12.5px; color: #475569; white-space: nowrap; }
.v2-meta { font-size: 12.5px; color: #64748b; }
.v2-alloc-note {
  background: #f0f9ff; border: 1px solid #dbeafe; color: #0c4a6e;
  border-radius: 8px; padding: 8px 12px; font-size: 12.5px; line-height: 1.7; margin-bottom: 8px;
}
.v2-empty { padding: 26px; text-align: center; color: #94a3b8; font-size: 13px; }

/* 表格 */
.v2-table-wrap { overflow: auto; border: 1px solid #e6ecf5; border-radius: 10px; background: #fff; }
.v2-table { width: 100%; border-collapse: separate; border-spacing: 0; }
.v2-table th, .v2-table td { border-bottom: 1px solid #eef2f8; padding: 5px 8px; font-size: 12.5px; text-align: left; }
.v2-table thead th { background: #f8fafc; font-weight: 600; color: #334155; white-space: nowrap; }
.v2-table tbody tr:hover td { background: #fbfdff; }

/* 多维分析大表 */
.ac-wrap { max-height: calc(100vh - 250px); }
.ac-table { border-collapse: separate; border-spacing: 0; font-size: 12px; white-space: nowrap; }
.ac-table th, .ac-table td { border-bottom: 1px solid #eef1f6; padding: 4px 7px; text-align: right; }
.ac-table thead th { position: sticky; background: #f8fafc; z-index: 2; }
.ac-table thead tr:nth-child(1) th { top: 0; }
.ac-table thead tr:nth-child(2) th { top: 26px; }
.ac-table thead tr:nth-child(3) th { top: 52px; }
.ac-fix {
  position: sticky; left: 0; background: #fff; z-index: 3;
  text-align: left !important; min-width: 112px; box-shadow: 1px 0 0 #eef1f6;
}
.ac-table thead .ac-fix { z-index: 6; background: #f1f5f9; }
.ac-grp { background: #e0f2fe !important; font-weight: 700; text-align: center !important; font-size: 12.5px; }
.ac-blk { background: #f0f9ff !important; text-align: center !important; font-weight: 600; font-size: 11.5px; }
.ac-leaf { font-weight: 500; font-size: 11px; color: #475569; }
.ac-zero { color: #cbd5e1; }
.ac-rowh { font-weight: 600; background: #fcfdff; }
.ac-num { text-align: right; font-variant-numeric: tabular-nums; }

/* 明细 */
.ac-colpick { margin-top: 8px; font-size: 13px; }
.ac-colpick summary { cursor: pointer; color: #0891b2; font-weight: 600; }
.ac-collist {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(185px, 1fr));
  gap: 4px 10px; max-height: 230px; overflow: auto; margin-top: 8px; font-size: 12.5px;
}
.ac-collist label { display: inline-flex; align-items: center; gap: 5px; }
.ac-stat td, .ac-stat th { font-size: 12.5px; }

/* 提示条 */
.ac-toast {
  position: fixed; left: 50%; bottom: 28px; transform: translateX(-50%) translateY(12px);
  background: #0f172a; color: #e2e8f0; padding: 9px 16px; border-radius: 999px;
  font-size: 13px; opacity: 0; pointer-events: none; transition: .2s; z-index: 99;
}
.ac-toast.on { opacity: 1; transform: translateX(-50%) translateY(0); }

@media (max-width: 760px) {
  main { padding: 10px 8px 18px; }
  .ac-wrap { max-height: calc(100vh - 300px); }
  .ac-table { font-size: 11px; }
  .ac-table th, .ac-table td { padding: 3px 5px; }
  .ac-fix { min-width: 84px; font-size: 11px; }
  .ac-grp, .ac-blk { font-size: 11px; }
  .ac-collist { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
  .ac-list { font-size: 11.5px; }
  .card-pad { padding: 10px 10px 14px; }
}
