/* ============================================
   链金引擎 · Prime Flow 共享样式 v4.0
   墨绿 #0a1f1a + 金 #d4af37 · 国际金融科技质感
   ============================================ */

:root {
  --pf-bg: #061410;
  --pf-card: #0a1f1a;
  --pf-gold: #d4af37;
  --pf-gold-light: #e8c97a;
  --pf-gold-deep: #b8860b;
  --pf-text: #e6e9f2;
  --pf-text-2: #8b92b0;
  --pf-border: rgba(212, 175, 55, 0.18);
  --pf-green: #4ade80;
  --pf-red: #f87171;
}

/* ---------- 顶部8步进度条 ---------- */
.prime-flow-bar {
  position: fixed; top: 64px; left: 0; right: 0; z-index: 998;
  background: rgba(6, 20, 16, 0.96);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--pf-border);
  padding: 10px 20px;
  display: flex; align-items: center; gap: 16px;
  overflow-x: auto; white-space: nowrap;
  box-shadow: 0 4px 24px rgba(0,0,0,0.4);
}
.prime-flow-company { flex-shrink: 0; padding-right: 16px; border-right: 1px solid rgba(255,255,255,0.08); display:flex; flex-direction:column; }
.pfc-label { font-size: 10px; color: var(--pf-text-2); letter-spacing: 0.05em; }
.pfc-name { font-size: 13px; color: var(--pf-gold-light); font-weight: 700; max-width: 220px; overflow: hidden; text-overflow: ellipsis; }
.pfc-link { font-size: 12px; color: var(--pf-gold-light); text-decoration: none; font-weight: 600; }
.prime-flow-steps { display: flex; align-items: center; gap: 0; flex: 1; }
.pfs-dot { display: flex; flex-direction: column; align-items: center; flex-shrink: 0; text-decoration: none; }
.pfs-num {
  width: 26px; height: 26px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 12px; font-weight: 700;
  border: 2px solid rgba(255,255,255,0.15); color: rgba(255,255,255,0.35);
  background: transparent; transition: all .3s;
}
.pfs-dot.done .pfs-num {
  background: linear-gradient(135deg, var(--pf-gold-light), var(--pf-gold-deep));
  border-color: transparent; color: #1a1206;
}
.pfs-dot.cur .pfs-num {
  border-color: var(--pf-gold); color: var(--pf-gold-light);
  box-shadow: 0 0 0 4px rgba(212,175,55,0.15);
}
.pfs-label { font-size: 10px; margin-top: 4px; color: rgba(255,255,255,0.35); }
.pfs-dot.done .pfs-label { color: rgba(212,175,55,0.75); }
.pfs-dot.cur .pfs-label { color: var(--pf-gold-light); font-weight: 700; }
.pfs-line { width: 18px; height: 2px; flex-shrink: 0; margin: 0 3px; background: rgba(255,255,255,0.12); }
.pfs-line.done { background: linear-gradient(90deg, var(--pf-gold-light), var(--pf-gold-deep)); }
.prime-flow-count { flex-shrink: 0; font-size: 11px; color: var(--pf-text-2); padding-left: 16px; border-left: 1px solid rgba(255,255,255,0.08); }

/* ---------- 按钮 ---------- */
.prime-btn {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 12px 28px; border-radius: 10px; font-size: 14px; font-weight: 600;
  cursor: pointer; border: 1px solid transparent; transition: all .25s; text-decoration: none;
  font-family: inherit;
}
.prime-btn.gold {
  background: linear-gradient(135deg, var(--pf-gold-light), var(--pf-gold-deep));
  color: #1a1206; box-shadow: 0 4px 16px rgba(212,175,55,0.25);
}
.prime-btn.gold:hover { transform: translateY(-1px); box-shadow: 0 6px 20px rgba(212,175,55,0.35); }
.prime-btn.ghost {
  background: transparent; color: var(--pf-text); border-color: rgba(255,255,255,0.15);
}
.prime-btn.ghost:hover { border-color: var(--pf-gold); color: var(--pf-gold-light); }
.prime-btn.sm { padding: 8px 18px; font-size: 13px; }
.prime-btn:disabled { opacity: 0.5; cursor: not-allowed; transform: none; }

/* ---------- 底部导航 ---------- */
.prime-flow-nav {
  display: flex; justify-content: space-between; align-items: center;
  max-width: 900px; margin: 40px auto 0; padding: 0 20px 24px; gap: 16px;
}

/* ---------- 卡片 / 容器 ----------
   UIFIx 2026-09-19: 与首页 prime-home.css 卡片对齐
   玻璃渐变底 + 金色 18% 描边 + 16px 圆角 + 26px 内边距 + 6px 背景模糊 */
.prime-card {
  position: relative;
  background: linear-gradient(180deg, rgba(14,43,34,0.6), rgba(8,26,20,0.6));
  border: 1px solid var(--pf-border);
  border-radius: 16px;
  padding: 26px;
  margin-bottom: 20px;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  box-shadow: 0 4px 24px rgba(0,0,0,0.35);
}
.prime-card h3 { font-size: 16px; font-weight: 700; margin-bottom: 18px; color: var(--pf-text); letter-spacing: .01em; }
.prime-section { max-width: 960px; margin: 0 auto; padding: 0 24px; }

/* ---------- 输入控件 ---------- */
.prime-input, .prime-select {
  width: 100%; padding: 12px 16px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 10px; color: var(--pf-text); font-size: 14px; outline: none;
  transition: border-color .2s; font-family: inherit;
}
.prime-input:focus, .prime-select:focus { border-color: var(--pf-gold); }
.prime-input::placeholder { color: rgba(255,255,255,0.3); }
.prime-label { display: block; font-size: 13px; color: var(--pf-text-2); margin-bottom: 6px; }

/* ---------- 圆环评分 ---------- */
.prime-ring { position: relative; width: 140px; height: 140px; flex-shrink: 0; }
.prime-ring svg { transform: rotate(-90deg); }
.prime-ring .ring-bg { fill: none; stroke: rgba(255,255,255,0.08); stroke-width: 8; }
.prime-ring .ring-fg {
  fill: none; stroke: url(#pfGoldGrad); stroke-width: 8; stroke-linecap: round;
  transition: stroke-dashoffset 1.2s cubic-bezier(.2,.7,.2,1);
}
.prime-ring .ring-center {
  position: absolute; inset: 0; display: flex; flex-direction: column;
  align-items: center; justify-content: center;
}
.prime-ring .ring-num { font-size: 38px; font-weight: 800; color: var(--pf-gold-light); line-height: 1; font-variant-numeric: tabular-nums; }
.prime-ring .ring-lab { font-size: 11px; color: var(--pf-text-2); margin-top: 4px; }

/* ---------- 维度条 ---------- */
.prime-dim-row { margin-bottom: 14px; }
.prime-dim-head { display: flex; justify-content: space-between; margin-bottom: 6px; font-size: 13px; }
.prime-dim-head .name { color: var(--pf-text-2); }
.prime-dim-head .val { color: var(--pf-gold-light); font-weight: 700; font-variant-numeric: tabular-nums; }
.prime-dim-track { height: 6px; background: rgba(255,255,255,0.06); border-radius: 3px; overflow: hidden; }
.prime-dim-fill {
  height: 100%; background: linear-gradient(90deg, var(--pf-gold-deep), var(--pf-gold-light));
  border-radius: 3px; width: 0; transition: width 1s cubic-bezier(.2,.7,.2,1);
}

/* ---------- 标签 ---------- */
.prime-tag {
  display: inline-block; padding: 3px 10px; border-radius: 100px;
  font-size: 11px; font-weight: 600; margin: 2px 4px 2px 0;
}
.prime-tag.gold { background: rgba(212,175,55,0.12); color: var(--pf-gold-light); border: 1px solid var(--pf-border); }
.prime-tag.green { background: rgba(74,222,128,0.1); color: var(--pf-green); border: 1px solid rgba(74,222,128,0.25); }
.prime-tag.red { background: rgba(248,113,113,0.1); color: var(--pf-red); border: 1px solid rgba(248,113,113,0.25); }
.prime-tag.muted { background: rgba(255,255,255,0.05); color: var(--pf-text-2); border: 1px solid rgba(255,255,255,0.1); }

/* ---------- 额度卡片 ---------- */
.prime-amount-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.prime-amount-cell {
  padding: 20px; background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.08);
  border-radius: 12px; text-align: center;
}
.prime-amount-cell .t { font-size: 12px; color: var(--pf-text-2); margin-bottom: 8px; }
.prime-amount-cell .v { font-size: 24px; font-weight: 800; color: var(--pf-gold-light); font-variant-numeric: tabular-nums; }
.prime-amount-cell .s { font-size: 11px; color: var(--pf-text-2); margin-top: 6px; }

/* ---------- 资金方卡片 ---------- */
.prime-funder-card {
  padding: 22px;
  background: linear-gradient(180deg, rgba(14,43,34,0.6), rgba(8,26,20,0.6));
  border: 1px solid var(--pf-border);
  border-radius: 16px;
  transition: all .25s;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.prime-funder-card:hover { border-color: rgba(212,175,55,0.4); transform: translateY(-2px); }
.prime-funder-head { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 14px; }
.prime-funder-name { font-size: 17px; font-weight: 700; color: var(--pf-text); }
.prime-funder-type { font-size: 12px; color: var(--pf-text-2); margin-top: 3px; }
.prime-funder-score { text-align: right; }
.prime-funder-score .num { font-size: 28px; font-weight: 800; color: var(--pf-gold-light); font-variant-numeric: tabular-nums; }
.prime-funder-score .lab { font-size: 11px; color: var(--pf-text-2); }
.prime-funder-bar { height: 5px; background: rgba(255,255,255,0.08); border-radius: 3px; overflow: hidden; margin: 10px 0 14px; }
.prime-funder-bar .fill { height: 100%; background: linear-gradient(90deg, var(--pf-gold-deep), var(--pf-gold-light)); }
.prime-funder-why {
  font-size: 13px; color: var(--pf-text-2); line-height: 1.7;
  padding: 12px; background: rgba(212,175,55,0.05); border-left: 3px solid var(--pf-gold); border-radius: 6px;
}
.prime-funder-meta { display: flex; gap: 16px; margin-top: 12px; flex-wrap: wrap; font-size: 12px; color: var(--pf-text-2); }
.prime-funder-meta b { color: var(--pf-text); font-weight: 600; }

/* ---------- 思考链 ---------- */
.prime-chain { padding: 18px 0; }
.prime-chain-step { display: flex; gap: 14px; padding: 6px 0; opacity: 0; transform: translateY(6px); transition: all .4s; }
.prime-chain-step.show { opacity: 1; transform: translateY(0); }
.prime-chain-step .t { font-size: 11px; color: var(--pf-text-2); font-variant-numeric: tabular-nums; min-width: 40px; padding-top: 2px; }
.prime-chain-step .d { width: 8px; height: 8px; border-radius: 50%; background: rgba(255,255,255,0.15); margin-top: 6px; flex-shrink: 0; }
.prime-chain-step.done .d { background: var(--pf-gold); box-shadow: 0 0 8px rgba(212,175,55,0.6); }
.prime-chain-step .x { font-size: 13px; color: var(--pf-text-2); }
.prime-chain-step.done .x { color: var(--pf-text); }

/* ---------- 加载 / 空 / 错 ---------- */
.prime-loading { display: flex; align-items: center; justify-content: center; gap: 12px; padding: 40px; color: var(--pf-text-2); font-size: 14px; }
.prime-loading-sm { display: inline-flex; align-items: center; gap: 8px; color: var(--pf-text-2); font-size: 13px; padding: 12px 0; }
.prime-spinner {
  width: 16px; height: 16px; border: 2px solid rgba(212,175,55,0.2);
  border-top-color: var(--pf-gold); border-radius: 50%;
  animation: pfSpin 0.8s linear infinite;
}
@keyframes pfSpin { to { transform: rotate(360deg); } }
.prime-empty {
  padding: 32px; text-align: center; color: var(--pf-text-2); font-size: 14px;
  background: rgba(255,255,255,0.02); border: 1px dashed rgba(255,255,255,0.12); border-radius: 12px;
}
.prime-error {
  padding: 20px; background: rgba(248,113,113,0.08); border: 1px solid rgba(248,113,113,0.25);
  border-radius: 12px; color: #fca5a5; font-size: 13px; line-height: 1.7;
}
.prime-inline-link { color: var(--pf-gold-light); text-decoration: none; font-weight: 600; }
.prime-inline-link:hover { text-decoration: underline; }

/* ---------- 驾驶舱 ---------- */
.prime-cockpit { padding: 18px; background: rgba(212,175,55,0.04); border: 1px solid var(--pf-border); border-radius: 12px; }
.pc-progress { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.pc-bar { flex: 1; height: 6px; background: rgba(255,255,255,0.08); border-radius: 3px; overflow: hidden; }
.pc-fill { height: 100%; background: linear-gradient(90deg, var(--pf-gold-deep), var(--pf-gold-light)); transition: width .8s; }
.pc-num { font-size: 13px; color: var(--pf-gold-light); font-weight: 700; font-variant-numeric: tabular-nums; }
.pc-tags { margin-bottom: 12px; }
.pc-next { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding-top: 12px; border-top: 1px solid rgba(255,255,255,0.08); }
.pc-next-label { font-size: 11px; color: var(--pf-text-2); }
.pc-next-name { font-size: 15px; font-weight: 700; color: var(--pf-gold-light); flex: 1; }
.pc-done { font-size: 13px; color: var(--pf-green); padding-top: 12px; border-top: 1px solid rgba(255,255,255,0.08); }

/* ---------- 自动补全下拉 ---------- */
.prime-ac-wrap { position: relative; }
.prime-ac-list {
  position: absolute; top: calc(100% + 4px); left: 0; right: 0; z-index: 100;
  background: #0d241c; border: 1px solid var(--pf-border); border-radius: 10px;
  max-height: 280px; overflow-y: auto; box-shadow: 0 12px 32px rgba(0,0,0,0.5); display: none;
}
.prime-ac-list.show { display: block; }
.prime-ac-item { padding: 10px 14px; cursor: pointer; border-bottom: 1px solid rgba(255,255,255,0.05); }
.prime-ac-item:hover { background: rgba(212,175,55,0.08); }
.prime-ac-item .n { font-size: 13px; color: var(--pf-text); font-weight: 600; }
.prime-ac-item .m { font-size: 11px; color: var(--pf-text-2); margin-top: 2px; }

/* ---------- 表格 ---------- */
.prime-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.prime-table th { padding: 10px 12px; text-align: left; color: var(--pf-text-2); font-weight: 600; border-bottom: 1px solid rgba(255,255,255,0.1); }
.prime-table td { padding: 10px 12px; border-bottom: 1px solid rgba(255,255,255,0.05); color: var(--pf-text); font-variant-numeric: tabular-nums; }
.prime-table tr.highlight td { background: rgba(212,175,55,0.06); color: var(--pf-gold-light); font-weight: 700; }

/* ---------- 政策卡片 ---------- */
.prime-policy {
  padding: 18px; background: var(--pf-card); border: 1px solid var(--pf-border);
  border-left: 3px solid var(--pf-gold); border-radius: 10px; margin-bottom: 14px;
}
.prime-policy .h { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.prime-policy .title { font-size: 15px; font-weight: 700; color: var(--pf-text); }
.prime-policy .desc { font-size: 13px; color: var(--pf-text-2); line-height: 1.7; margin-bottom: 10px; }
.prime-policy .meta { display: flex; gap: 16px; font-size: 12px; color: var(--pf-text-2); flex-wrap: wrap; }

/* ---------- 响应式 ---------- */
@media (max-width: 768px) {
  .prime-amount-grid { grid-template-columns: 1fr; }
  .prime-flow-bar { padding: 8px 12px; gap: 10px; }
  .pfs-label { display: none; }
  .prime-flow-company { max-width: 120px; }
  .pfc-name { max-width: 120px; font-size: 11px; }
  .prime-flow-nav { flex-direction: column; }
  /* UIFIx: 流程页内联书写的多列栅格在窄屏统一塌缩为单列，避免错位 */
  .prime-section [style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
  .prime-card { padding: 20px; border-radius: 14px; }
}

/* ============================================
   Prime v4.1 · Liquid Glass + 粘性系统
   ============================================ */

/* Liquid Glass 卡片 */
.prime-glass {
  background: linear-gradient(135deg, rgba(255,255,255,0.04), rgba(255,255,255,0.01));
  backdrop-filter: blur(16px) saturate(140%);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
  border: 1px solid rgba(212,175,55,0.22);
  border-radius: 16px;
  position: relative;
  overflow: hidden;
  animation: pfFadeUp 0.6s cubic-bezier(.2,.7,.2,1) both;
}
.prime-glass::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(232,201,122,0.5), transparent);
}
@keyframes pfFadeUp {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

/* IC Memo 区块 */
.prime-memo-section { padding: 24px; }
.prime-memo-section + .prime-memo-section { margin-top: 16px; }
.prime-memo-title {
  display: flex; align-items: center; gap: 8px;
  font-size: 14px; font-weight: 700; color: var(--pf-gold-light);
  margin-bottom: 14px; letter-spacing: 0.02em;
}
.prime-memo-title .icon { font-size: 16px; }

/* 执行摘要 */
.prime-exec-summary {
  font-size: 15px; line-height: 1.9; color: var(--pf-text);
  padding: 18px 20px;
  background: rgba(212,175,55,0.05);
  border-left: 3px solid var(--pf-gold);
  border-radius: 0 10px 10px 0;
}

/* 核心结论 point+evidence */
.prime-conclusion {
  display: flex; gap: 14px; padding: 12px 0;
  border-bottom: 1px solid rgba(255,255,255,0.05);
}
.prime-conclusion:last-child { border-bottom: none; }
.prime-conclusion .point { flex: 1; font-size: 14px; font-weight: 600; color: var(--pf-text); }
.prime-conclusion .evidence {
  flex: 1; font-size: 12px; color: var(--pf-text-2);
  padding: 6px 10px; background: rgba(74,222,128,0.06);
  border: 1px solid rgba(74,222,128,0.15); border-radius: 6px;
}

/* 数据支撑标签云 */
.prime-datasupport { display: flex; flex-wrap: wrap; gap: 8px; }
.prime-datasupport .chip {
  padding: 6px 14px; font-size: 12px; font-weight: 600;
  background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.1);
  border-radius: 100px; color: var(--pf-text);
}

/* 风险提示 */
.prime-risk-warn {
  display: flex; gap: 10px; align-items: flex-start;
  padding: 10px 14px; margin-bottom: 8px;
  background: rgba(245,158,11,0.08); border: 1px solid rgba(245,158,11,0.25);
  border-radius: 8px;
}
.prime-risk-warn .ico { color: #f59e0b; font-size: 15px; flex-shrink: 0; margin-top: 1px; }
.prime-risk-warn .txt { font-size: 13px; color: #fcd34d; line-height: 1.6; }

/* 行动建议编号 */
.prime-action-item {
  display: flex; gap: 12px; padding: 10px 0;
}
.prime-action-item .num {
  width: 24px; height: 24px; border-radius: 50%; flex-shrink: 0;
  background: linear-gradient(135deg, #e8c97a, #b8860b);
  color: #1a1206; font-size: 12px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
}
.prime-action-item .txt { font-size: 13px; color: var(--pf-text); line-height: 1.7; }

/* 可融资性判断金色结论条 */
.prime-fundability {
  padding: 18px 22px;
  background: linear-gradient(135deg, rgba(212,175,55,0.15), rgba(212,175,55,0.05));
  border: 1px solid var(--pf-gold);
  border-radius: 12px;
  text-align: center;
  font-size: 16px; font-weight: 700; color: var(--pf-gold-light);
}

/* 资金方 Logo 占位 */
.prime-funder-logo {
  width: 48px; height: 48px; border-radius: 12px; flex-shrink: 0;
  background: linear-gradient(135deg, rgba(212,175,55,0.2), rgba(212,175,55,0.05));
  border: 1px solid var(--pf-border);
  display: flex; align-items: center; justify-content: center;
  font-size: 20px; font-weight: 800; color: var(--pf-gold-light);
}

/* fit_score 进度环 */
.prime-score-ring {
  position: relative; width: 64px; height: 64px; flex-shrink: 0;
}
.prime-score-ring svg { transform: rotate(-90deg); }
.prime-score-ring .bg { fill: none; stroke: rgba(255,255,255,0.08); stroke-width: 5; }
.prime-score-ring .fg {
  fill: none; stroke: url(#pfGoldGrad); stroke-width: 5; stroke-linecap: round;
  transition: stroke-dashoffset 1s cubic-bezier(.2,.7,.2,1);
}
.prime-score-ring .num {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  font-size: 16px; font-weight: 800; color: var(--pf-gold-light);
}

/* 资金方卡片操作按钮 */
.prime-card-actions { display: flex; gap: 10px; margin-top: 14px; }
.prime-chip-btn {
  padding: 6px 14px; font-size: 12px; border-radius: 8px; cursor: pointer;
  background: transparent; border: 1px solid rgba(255,255,255,0.12); color: var(--pf-text-2);
  transition: all .2s; font-family: inherit;
}
.prime-chip-btn:hover { border-color: var(--pf-gold); color: var(--pf-gold-light); }
.prime-chip-btn.active { background: rgba(212,175,55,0.12); border-color: var(--pf-gold); color: var(--pf-gold-light); }
.prime-chip-btn.faved { color: var(--pf-gold); border-color: var(--pf-gold); background: rgba(212,175,55,0.1); }

/* 粘性：待办/历史/收藏列表 */
.prime-list-item {
  display: flex; align-items: center; gap: 12px;
  padding: 12px 14px; border-bottom: 1px solid rgba(255,255,255,0.05);
}
.prime-list-item:last-child { border-bottom: none; }
.prime-list-item .main { flex: 1; font-size: 13px; color: var(--pf-text); }
.prime-list-item .sub { font-size: 11px; color: var(--pf-text-2); margin-top: 2px; }
.prime-list-item .meta { font-size: 11px; color: var(--pf-text-2); white-space: nowrap; }

/* AI 推荐卡 */
.prime-rec-card {
  padding: 16px; margin-bottom: 8px;
  background: rgba(212,175,55,0.04); border: 1px solid var(--pf-border);
  border-radius: 10px; font-size: 13px; color: var(--pf-text); line-height: 1.7;
}

/* ============================================
   Prime v4.2 · P2 收尾：Modal + 窄屏响应式
   ============================================ */

/* 跟进 Modal */
.pf-modal-overlay {
  position: fixed; inset: 0; z-index: 9999;
  background: rgba(6,20,16,0.75); backdrop-filter: blur(6px);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; pointer-events: none; transition: opacity .25s ease;
  padding: 20px;
}
.pf-modal-overlay.show { opacity: 1; pointer-events: auto; }
.pf-modal {
  width: 100%; max-width: 400px; padding: 24px;
  transform: translateY(16px) scale(0.97); transition: transform .3s cubic-bezier(.2,.7,.2,1);
}
.pf-modal-overlay.show .pf-modal { transform: translateY(0) scale(1); }
.pf-modal-title { font-size: 16px; font-weight: 700; color: var(--pf-gold-light); margin-bottom: 6px; }
.pf-modal-funder { font-size: 13px; color: var(--pf-text); margin-bottom: 16px; padding: 8px 12px; background: rgba(212,175,55,0.06); border-radius: 8px; }
.pf-modal-label { display: block; font-size: 12px; color: var(--pf-text-2); margin: 12px 0 6px; }
.pf-modal-input {
  width: 100%; padding: 10px 12px; border-radius: 8px;
  background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.1);
  color: var(--pf-text); font-size: 14px; font-family: inherit;
  box-sizing: border-box; outline: none;
}
.pf-modal-input:focus { border-color: var(--pf-gold); }
.pf-modal-actions { display: flex; gap: 10px; margin-top: 20px; justify-content: flex-end; }

/* dashboard 窄屏响应式 */
@media (max-width: 768px) {
  .prime-card h3 { font-size: 15px; }
  .prime-rec-card { font-size: 12px; word-break: break-word; overflow-wrap: break-word; min-width: 0; }
  .prime-list-item { flex-wrap: wrap; gap: 6px; }
  .prime-list-item .main { min-width: 0; word-break: break-word; }
  /* 驾驶舱两列/三列改单列 */
  section .container > div[style*="grid-template-columns"] {
    grid-template-columns: 1fr !important;
  }
}

/* ============================================
   Prime v4.3 · R9-R17 投行级可视化组件
   ============================================ */

/* 风险矩阵红黄绿 */
.pf-risk-counts { display: flex; gap: 12px; margin-bottom: 16px; flex-wrap: wrap; }
.pf-risk-count {
  flex: 1; min-width: 80px; text-align: center; padding: 14px;
  border-radius: 12px; border: 1px solid;
}
.pf-risk-count .n { font-size: 28px; font-weight: 800; }
.pf-risk-count .l { font-size: 11px; margin-top: 2px; }
.pf-risk-count.red { background: rgba(239,68,68,0.08); border-color: rgba(239,68,68,0.3); }
.pf-risk-count.red .n { color: #f87171; }
.pf-risk-count.red .l { color: #fca5a5; }
.pf-risk-count.yellow { background: rgba(245,158,11,0.08); border-color: rgba(245,158,11,0.3); }
.pf-risk-count.yellow .n { color: #fbbf24; }
.pf-risk-count.yellow .l { color: #fcd34d; }
.pf-risk-count.green { background: rgba(34,197,94,0.08); border-color: rgba(34,197,94,0.3); }
.pf-risk-count.green .n { color: #4ade80; }
.pf-risk-count.green .l { color: #86efac; }
.pf-risk-overall {
  display: inline-block; padding: 6px 18px; border-radius: 100px;
  font-size: 14px; font-weight: 700;
}
.pf-risk-overall.red { background: rgba(239,68,68,0.15); color: #f87171; border: 1px solid rgba(239,68,68,0.4); }
.pf-risk-overall.yellow { background: rgba(245,158,11,0.15); color: #fbbf24; border: 1px solid rgba(245,158,11,0.4); }
.pf-risk-overall.green { background: rgba(34,197,94,0.15); color: #4ade80; border: 1px solid rgba(34,197,94,0.4); }
.pf-risk-item {
  display: flex; gap: 12px; padding: 12px; margin-bottom: 8px;
  border-radius: 10px; border-left: 3px solid;
  background: rgba(255,255,255,0.02);
}
.pf-risk-item.red { border-color: #ef4444; background: rgba(239,68,68,0.04); }
.pf-risk-item.yellow { border-color: #f59e0b; background: rgba(245,158,11,0.04); }
.pf-risk-item.green { border-color: #22c55e; background: rgba(34,197,94,0.04); }
.pf-risk-item .dim { font-size: 12px; font-weight: 700; min-width: 70px; }
.pf-risk-item.red .dim { color: #f87171; }
.pf-risk-item.yellow .dim { color: #fbbf24; }
.pf-risk-item.green .dim { color: #4ade80; }
.pf-risk-item .finding { font-size: 13px; color: var(--pf-text); flex: 1; }
.pf-risk-item .mit { font-size: 11px; color: var(--pf-text-2); margin-top: 4px; }

/* 方案对比表 */
.pf-plan-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.pf-plan-table th, .pf-plan-table td {
  padding: 12px 14px; text-align: left; border-bottom: 1px solid rgba(255,255,255,0.06);
}
.pf-plan-table th { color: var(--pf-text-2); font-weight: 600; font-size: 11px; text-transform: uppercase; }
.pf-plan-table tr.best {
  background: rgba(212,175,55,0.08);
  outline: 1px solid var(--pf-gold); outline-offset: -1px;
}
.pf-plan-table tr.best td:first-child { color: var(--pf-gold-light); font-weight: 700; }
.pf-badge-best {
  display: inline-block; padding: 2px 8px; border-radius: 4px;
  background: var(--pf-gold); color: #1a1206; font-size: 10px; font-weight: 700;
}

/* 还款时间表 */
.pf-schedule-table { width: 100%; border-collapse: collapse; font-size: 12px; max-height: 300px; overflow-y: auto; display: block; }
.pf-schedule-table th, .pf-schedule-table td { padding: 8px 10px; text-align: right; border-bottom: 1px solid rgba(255,255,255,0.04); }
.pf-schedule-table th { color: var(--pf-text-2); position: sticky; top: 0; background: rgba(10,31,26,0.95); }
.pf-schedule-table td:first-child, .pf-schedule-table th:first-child { text-align: center; }

/* 时间线 */
.pf-timeline { position: relative; padding-left: 24px; }
.pf-timeline::before { content:''; position:absolute; left:8px; top:0; bottom:0; width:2px; background: linear-gradient(180deg, var(--pf-gold), transparent); }
.pf-tl-item { position: relative; padding-bottom: 16px; }
.pf-tl-item::before {
  content:''; position:absolute; left:-20px; top:4px; width:10px; height:10px;
  border-radius:50%; background: var(--pf-gold); border: 2px solid #0a1f1a;
}
.pf-tl-item .node { font-size: 12px; font-weight: 700; color: var(--pf-gold-light); }
.pf-tl-item .act { font-size: 13px; color: var(--pf-text); margin: 2px 0; }
.pf-tl-item .trig { font-size: 11px; color: var(--pf-text-2); }

/* 信用评级大表盘 */
.pf-grade-big {
  text-align: center; padding: 24px;
}
.pf-grade-big .grade {
  font-size: 56px; font-weight: 900;
  background: linear-gradient(135deg, #e8c97a, #b8860b);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
}
.pf-grade-big .score { font-size: 16px; color: var(--pf-text-2); margin-top: 4px; }

/* 趋势线 SVG 容器 */
.pf-trend-chart { width: 100%; height: 120px; }

/* 政策卡片 */
.pf-policy-item {
  padding: 14px; margin-bottom: 10px; border-radius: 10px;
  background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.06);
}
.pf-policy-item .name { font-size: 14px; font-weight: 700; color: var(--pf-text); }
.pf-policy-item .reason { font-size: 12px; color: var(--pf-text-2); margin-top: 4px; }
.pf-policy-item .mats { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.pf-policy-item .mats .mat {
  font-size: 11px; padding: 3px 8px; border-radius: 4px;
  background: rgba(255,255,255,0.05); color: var(--pf-text-2);
}

/* 分页器 */
.pf-pager { display: flex; gap: 8px; justify-content: center; margin-top: 16px; align-items: center; }
.pf-pager button {
  padding: 6px 14px; border-radius: 8px; cursor: pointer; font-size: 12px;
  background: transparent; border: 1px solid rgba(255,255,255,0.12); color: var(--pf-text-2);
  font-family: inherit;
}
.pf-pager button:hover { border-color: var(--pf-gold); color: var(--pf-gold-light); }
.pf-pager button:disabled { opacity: 0.3; cursor: not-allowed; }
.pf-pager .info { font-size: 12px; color: var(--pf-text-2); }

/* 筛选器 */
.pf-filters { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 16px; }
.pf-filters select {
  padding: 8px 12px; border-radius: 8px; font-size: 12px;
  background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.1);
  color: var(--pf-text); font-family: inherit; outline: none;
}

/* ============================================
   Prime v5.0 · 报告导出打印 + UX打磨
   ============================================ */

/* 打印样式：只保留报告主体 */
@media print {
  nav, footer, .pf-chat-fab, .pf-chat-panel, .prime-stepbar,
  #prime-next-action, .prime-card-actions, .pf-filters, .pf-pager,
  .prime-btn, .prime-chip-btn, .pf-modal-overlay {
    display: none !important;
  }
  body { background: #fff !important; color: #000 !important; }
  .prime-card, .prime-glass {
    background: #fff !important; border: 1px solid #ddd !important;
    box-shadow: none !important; break-inside: avoid;
  }
  .prime-amount-cell, .pf-policy-item, .pf-risk-item { color: #000 !important; }
}

/* 导出按钮 */
.pf-export-btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 14px; font-size: 12px; border-radius: 8px; cursor: pointer;
  background: transparent; border: 1px solid var(--pf-gold);
  color: var(--pf-gold-light); font-family: inherit; transition: all .2s;
}
.pf-export-btn:hover { background: rgba(212,175,55,0.12); transform: translateY(-1px); }

/* 骨架屏 */
.pf-skeleton {
  background: linear-gradient(90deg, rgba(255,255,255,0.03) 25%, rgba(255,255,255,0.08) 50%, rgba(255,255,255,0.03) 75%);
  background-size: 200% 100%;
  animation: pfShimmer 1.5s infinite;
  border-radius: 8px;
}
@keyframes pfShimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}
.pf-skeleton-line { height: 12px; margin-bottom: 8px; }
.pf-skeleton-line.short { width: 60%; }
.pf-skeleton-line.med { width: 85%; }

/* 按钮悬停 */
.prime-btn, .prime-chip-btn { transition: all 0.2s ease; }
.prime-btn:hover, .prime-chip-btn:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(212,175,55,0.2); }

/* 卡片过渡 */
.prime-card, .prime-glass, .prime-funder-card { transition: all 0.3s cubic-bezier(.2,.7,.2,1); }
.prime-card:hover, .prime-glass:hover { transform: translateY(-2px); }
