
.dbf-root{
  --dbf-blue:#2970ff; --dbf-blue-dark:#1557d8; --dbf-blue-bg:#eef3ff; --dbf-blue-mid:#c3d6ff;
  --dbf-ink:#1d2129; --dbf-ink-2:#4e5969; --dbf-ink-3:#86909c;
  --dbf-line:#eceef3; --dbf-bg:#fafbfc;
  --dbf-green:#00b42a; --dbf-green-bg:#e8ffea;
  --dbf-orange:#ff7d00; --dbf-orange-bg:#fff7e8;
  --dbf-purple:#7c3aed; --dbf-purple-bg:#f4f0ff;
  flex:1; min-height:0; overflow-y:auto; padding-bottom:32px;
  color:var(--dbf-ink); font-size:13px; line-height:1.6;
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Helvetica Neue",sans-serif;
  -webkit-font-smoothing:antialiased;
}
.dbf-root *{box-sizing:border-box;}
.dbf-root .anim{animation:none;}

/* 页头 */
.dbf-root .dbf-hd{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;}
.dbf-root .dbf-h1{font-size:19px;font-weight:700;letter-spacing:.2px;}
.dbf-root .dbf-sub{font-size:13px;color:var(--dbf-ink-3);margin-top:6px;line-height:1.6;}
.dbf-root .dbf-btn{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;border-radius:9px;
  padding:8px 14px;background:#fff;border:1px solid var(--dbf-line);color:var(--dbf-ink-2);cursor:pointer;
  transition:all .15s;white-space:nowrap;font-family:inherit;}
.dbf-root .dbf-btn:hover{color:var(--dbf-blue);border-color:var(--dbf-blue-mid);}
.dbf-root .dbf-btn.pri{background:var(--dbf-blue);border-color:var(--dbf-blue);color:#fff;}
.dbf-root .dbf-btn.pri:hover{background:var(--dbf-blue-dark);}
.dbf-root .dbf-btn.sm{padding:6px 12px;font-size:12.5px;border-radius:8px;}

/* 快速开始 */
.dbf-root .dbf-quick{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:16px;}
.dbf-root .dbf-quick .lbl{font-size:12px;color:var(--dbf-ink-3);}
.dbf-root .dbf-quick .q{font-size:12px;color:var(--dbf-blue);background:var(--dbf-blue-bg);border-radius:999px;
  padding:5px 12px;cursor:pointer;transition:background .15s;display:inline-flex;align-items:center;gap:5px;}
.dbf-root .dbf-quick .q:hover{background:#dbe7fd;}

/* 概览 */
.dbf-root .dbf-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0 4px;}
.dbf-root .dbf-st{background:#fff;border:1px solid var(--dbf-line);border-radius:13px;padding:16px 20px;transition:all .2s;}
.dbf-root .dbf-st:hover{box-shadow:0 6px 20px rgba(23,35,60,.06);transform:translateY(-2px);}
.dbf-root .dbf-st .t{font-size:12px;color:var(--dbf-ink-3);display:flex;align-items:center;gap:7px;}
.dbf-root .dbf-st .ic{width:26px;height:26px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.dbf-root .dbf-st .n{font-size:24px;font-weight:700;margin-top:10px;font-variant-numeric:tabular-nums;letter-spacing:-.3px;}
.dbf-root .dbf-st .m{font-size:11.5px;color:var(--dbf-ink-3);margin-top:4px;}

/* 筛选条 */
.dbf-root .dbf-bar{display:flex;align-items:center;gap:12px;margin:26px 0 14px;flex-wrap:wrap;}
.dbf-root .dbf-tabs{display:flex;gap:4px;background:#f0f2f6;border-radius:10px;padding:3px;width:fit-content;}
.dbf-root .dbf-tab{font-size:12.5px;font-weight:500;color:var(--dbf-ink-2);border-radius:8px;padding:6px 15px;cursor:pointer;transition:all .15s;white-space:nowrap;}
.dbf-root .dbf-tab.on{background:#fff;color:var(--dbf-ink);font-weight:600;box-shadow:0 1px 4px rgba(23,35,60,.08);}
.dbf-root .dbf-search{margin-left:auto;display:flex;align-items:center;gap:8px;}
.dbf-root .dbf-search input{border:1px solid var(--dbf-line);border-radius:9px;padding:7px 12px;font-size:12.5px;
  color:var(--dbf-ink-2);background:#fff;outline:none;width:210px;font-family:inherit;transition:border .12s;}
.dbf-root .dbf-search input:focus{border-color:var(--dbf-blue);}
.dbf-root .dbf-search .fc{font-size:12px;color:var(--dbf-ink-3);white-space:nowrap;}

/* 清单行 */
.dbf-root .dbf-item{background:#fff;border:1px solid var(--dbf-line);border-radius:14px;padding:18px 22px;
  margin-bottom:12px;display:flex;gap:14px;align-items:flex-start;transition:all .2s;}
.dbf-root .dbf-item:hover{border-color:#d6dae2;box-shadow:0 8px 24px rgba(23,35,60,.07);transform:translateY(-1px);}
.dbf-root .dbf-item.off{opacity:.62;}
.dbf-root .dbf-item.off:hover{opacity:1;}
.dbf-root .dbf-ic{width:42px;height:42px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.dbf-root .dbf-main{flex:1;min-width:0;}
.dbf-root .dbf-r1{display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
.dbf-root .dbf-nm{font-size:15px;font-weight:600;}
.dbf-root .dbf-ow{font-size:12px;color:var(--dbf-ink-3);margin-top:4px;}
.dbf-root .dbf-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px;}
.dbf-root .dbf-ops{margin-left:auto;display:flex;gap:8px;flex-shrink:0;align-items:center;}
.dbf-root .dbf-ms{display:flex;gap:26px;flex-wrap:wrap;border-top:1px dashed var(--dbf-line);margin-top:14px;padding-top:13px;}
.dbf-root .dbf-ms .m .v{font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;}
.dbf-root .dbf-ms .m .k{font-size:11px;color:var(--dbf-ink-3);margin-top:2px;}
.dbf-root .dbf-ms .m .v.warn{color:var(--dbf-orange);}
.dbf-root .dbf-ms .m .v.sm{font-size:13px;font-weight:600;color:var(--dbf-ink-2);}

/* 状态标签 */
.dbf-root .dbf-pill{font-size:11px;font-weight:600;border-radius:999px;padding:3px 10px;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;}
.dbf-root .dbf-pill .d{width:6px;height:6px;border-radius:50%;}
.dbf-root .dbf-pill.pub{background:var(--dbf-blue-bg);color:var(--dbf-blue);}
.dbf-root .dbf-pill.pub .d{background:var(--dbf-blue);animation:dbf-blink 1.6s infinite;}
.dbf-root .dbf-pill.dft{background:var(--dbf-orange-bg);color:var(--dbf-orange);}
.dbf-root .dbf-pill.dft .d{background:var(--dbf-orange);}
.dbf-root .dbf-pill.off{background:#f2f3f6;color:var(--dbf-ink-3);}
.dbf-root .dbf-pill.off .d{background:#c2c8d1;}
@keyframes dbf-blink{0%,100%{opacity:1;}50%{opacity:.35;}}
.dbf-root .dbf-chip{font-size:11px;font-weight:500;border-radius:6px;padding:3px 8px;background:#f2f4f8;color:var(--dbf-ink-2);white-space:nowrap;}
.dbf-root .dbf-chip.v{background:var(--dbf-blue-bg);color:var(--dbf-blue);font-weight:600;font-variant-numeric:tabular-nums;}

/* 草稿进度 */
.dbf-root .dbf-prog{display:flex;align-items:center;gap:9px;border-top:1px dashed var(--dbf-line);margin-top:14px;padding-top:13px;flex-wrap:wrap;}
.dbf-root .dbf-pstep{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--dbf-ink-3);white-space:nowrap;}
.dbf-root .dbf-pstep .no{width:17px;height:17px;border-radius:50%;background:#f0f2f6;color:var(--dbf-ink-3);
  font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.dbf-root .dbf-pstep.ok{color:var(--dbf-green);}
.dbf-root .dbf-pstep.ok .no{background:var(--dbf-green-bg);color:var(--dbf-green);}
.dbf-root .dbf-pstep.cur{color:var(--dbf-blue);font-weight:600;}
.dbf-root .dbf-pstep.cur .no{background:var(--dbf-blue);color:#fff;}
.dbf-root .dbf-parr{width:18px;height:1px;background:var(--dbf-line);flex-shrink:0;}
.dbf-root .dbf-upd{margin-left:auto;font-size:11.5px;color:var(--dbf-ink-3);white-space:nowrap;}

/* 底部创建卡 & 空状态 */
.dbf-root .dbf-add{background:#fff;border:1px dashed #d3d9e3;border-radius:14px;padding:22px;display:flex;
  align-items:center;justify-content:center;gap:9px;font-size:13px;color:var(--dbf-ink-3);cursor:pointer;transition:all .18s;}
.dbf-root .dbf-add:hover{border-color:var(--dbf-blue-mid);color:var(--dbf-blue);background:#fbfdff;}
.dbf-root .dbf-empty{background:#fff;border:1px dashed var(--dbf-line);border-radius:14px;padding:56px 20px;
  text-align:center;color:var(--dbf-ink-3);font-size:13px;line-height:2;}
  
