/* 找数据首页 /data（spec 20260909-platform-ia-tools-center P2 · FR-2.1，设计稿 §06）。
   全部取 tokens.css 令牌，不引入新色；两态壳（ml_base / wb_tool_base）共用。
   fd-chip 去向语义与工具卡 tc-dest 一致：ok = 进我的数据或制图 · info = 文件 / 订单 · neutral = 页内。 */
.fd-wrap { max-width: var(--content-shell-max, 1760px); margin: 0 auto; padding: 24px var(--content-shell-pad, clamp(20px, 3.25vw, 56px)) 56px; color: var(--ink); }
/* 登录壳：外层 workbench-shell 已提供 1760 壳与水平 pad，避免域 Tab 与正文双重缩进 */
body.wb-shell.wb-topshell .fd-wrap {
  max-width: none;
  margin: 0;
  padding-inline: 0;
  padding-top: 8px;
  padding-bottom: 56px;
}

.fd-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; }
.fd-head h1 { font-size: 20px; font-weight: 600; margin: 0; }
.fd-head-copy p { margin: 8px 0 0; font-size: 14px; color: var(--ink-secondary); max-width: 720px; line-height: 1.7; }
.fd-head-copy a { color: var(--brand-heavy); font-weight: 600; text-decoration: none; }
.fd-head-copy a:hover { text-decoration: underline; }
.fd-search { position: relative; flex: 0 1 360px; min-width: 240px; }
.fd-search i { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: var(--muted); font-size: 13px; }
.fd-search input { width: 100%; height: 38px; padding: 0 12px 0 34px; border: 1px solid var(--line); border-radius: var(--radius-md, 8px); background: var(--surface); font-size: 14px; color: var(--ink); }
.fd-search input:focus { outline: none; border-color: var(--brand); box-shadow: 0 0 0 2px var(--brand-soft); }

.fd-notice { margin-top: 18px; display: flex; align-items: center; gap: 10px; padding: 10px 14px; border: 1px solid var(--info-line); border-radius: var(--radius-md, 8px); background: var(--info-bg); color: var(--info); font-size: 13px; line-height: 1.6; }
.fd-notice i { flex: 0 0 auto; }
.fd-notice span { flex: 1 1 auto; }
.fd-notice a { color: var(--info); font-weight: 600; text-decoration: none; white-space: nowrap; }
.fd-notice a:hover { text-decoration: underline; }

.fd-grid { margin-top: 16px; display: grid; gap: 16px; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); }
.fd-src { display: flex; flex-direction: column; gap: 12px; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius-lg, 12px); background: var(--surface); transition: border-color .15s, box-shadow .15s; }
.fd-src:hover { border-color: var(--brand-line); box-shadow: 0 6px 20px rgba(0, 0, 0, .06); }
.fd-src-head { display: flex; align-items: center; gap: 12px; }
.fd-src-head h2 { font-size: 16px; font-weight: 600; margin: 0; }
.fd-src-head small { display: block; margin-top: 2px; font-size: 13px; color: var(--muted); }
.fd-ico { flex: 0 0 auto; width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; border-radius: var(--radius-md, 8px); font-size: 16px; background: var(--surface-soft); color: var(--ink-secondary); }
.fd-ico--brand { background: var(--brand-soft); color: var(--brand-heavy); }
.fd-ico--ok { background: var(--success-bg); color: var(--success-dark); }
.fd-ico--info { background: var(--info-bg); color: var(--info); }
.fd-ico--viz { background: rgba(114, 46, 209, 0.08); color: var(--viz-4); }
.fd-ico--neutral { background: var(--surface-soft); color: var(--ink-secondary); }

.fd-src-rows { margin: 0; display: grid; grid-template-columns: 64px 1fr; row-gap: 8px; column-gap: 12px; font-size: 13px; line-height: 1.6; flex: 1 1 auto; }
.fd-src-rows dt { color: var(--muted); font-weight: 400; }
.fd-src-rows dd { margin: 0; color: var(--ink-secondary); }
.fd-dests { display: flex; flex-wrap: wrap; gap: 6px; }
.fd-chip { display: inline-flex; align-items: center; height: 22px; padding: 0 9px; border-radius: var(--radius-pill, 999px); font-size: 12px; border: 1px solid var(--line); background: var(--surface-soft); color: var(--ink-secondary); white-space: nowrap; }
.fd-chip--ok { background: var(--success-bg); border-color: var(--success-line); color: var(--success-dark); }
.fd-chip--info { background: var(--info-bg); border-color: var(--info-line); color: var(--info); }
.fd-chip--neutral { background: var(--surface-soft); }

.fd-src-acts { display: flex; gap: 8px; flex-wrap: wrap; padding-top: 4px; border-top: 1px dashed var(--line); }
.fd-btn { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 14px; margin-top: 8px; border: 1px solid var(--line); border-radius: var(--radius-md, 8px); background: var(--surface); color: var(--ink); font-size: 13px; font-weight: 600; text-decoration: none; }
.fd-btn:hover { border-color: var(--brand-line); color: var(--brand-heavy); text-decoration: none; }
.fd-btn--primary { background: var(--brand); border-color: var(--brand); color: #fff; }
.fd-btn--primary:hover { color: #fff; opacity: .9; }

.fd-empty { margin-top: 18px; font-size: 14px; color: var(--muted); }
.fd-empty a { color: var(--brand-heavy); font-weight: 600; text-decoration: none; }

.fd-foot { margin-top: 40px; padding: 18px 20px; border: 1px solid var(--line); border-radius: var(--radius-lg, 12px); background: var(--surface-soft); }
.fd-foot h2 { font-size: 14px; font-weight: 600; margin: 0 0 6px; }
.fd-foot p { margin: 0; font-size: 13px; color: var(--ink-secondary); line-height: 1.7; }
.fd-foot-links { margin-top: 10px; display: flex; gap: 18px; flex-wrap: wrap; }
.fd-foot-links a { font-size: 13px; font-weight: 600; color: var(--brand-heavy); text-decoration: none; }
.fd-foot-links a:hover { text-decoration: underline; }
