/* ── 投标单位工商关联筛查 ─────────────────────────────────────────────────
   在 internal-fenbao.css 的 fb- 设计系统基础上扩展：
     - 补一档橙色（原来只有红/黄/绿三档）
     - 四色风险徽章组件（红/橙/黄/绿）
     - 证据链、关系网络图、同姓提示等本页特有的展示模块
   命名统一用 qy- 前缀，不覆盖任何 fb- 类，两套样式表可以在同一页面共存。 */

:root {
    --qy-red: #DC2626;
    --qy-red-light: #FEE2E2;
    --qy-orange: #EA580C;
    --qy-orange-light: #FFEDD5;
    --qy-yellow: #D97706;
    --qy-yellow-light: #FEF3C7;
    --qy-green: #059669;
    --qy-green-light: #D1FAE5;
    --qy-gray: #6B7280;
    --qy-gray-light: #F3F4F6;
}

/* ── 输入面板 ─────────────────────────────────────────────────────────── */
.qy-panel {
    background: var(--fb-surface);
    border: 1px solid var(--fb-border);
    border-radius: var(--fb-radius);
    box-shadow: var(--fb-shadow);
    padding: 20px 22px;
    margin-bottom: 20px;
}
.qy-hint { color: var(--fb-muted); font-size: .85rem; line-height: 1.7; margin: 0 0 14px; }
.qy-hint-muted { color: #9CA3AF; }

#qy-companies { resize: vertical; line-height: 1.7; }

.qy-input-actions {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 14px;
}
.qy-quota-note { font-size: .78rem; color: var(--fb-muted); }

.qy-progress {
    margin-top: 14px;
    padding: 12px 14px;
    background: var(--fb-accent-light);
    color: var(--fb-accent);
    border-radius: 8px;
    font-size: .85rem;
    display: flex;
    align-items: center;
    gap: 8px;
}

/* ── 四色风险徽章 ─────────────────────────────────────────────────────── */
.qy-risk {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: .78rem;
    font-weight: 700;
    padding: 3px 12px;
    border-radius: 999px;
    white-space: nowrap;
}
.qy-risk::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}
.qy-risk-red { background: var(--qy-red-light); color: #991B1B; }
.qy-risk-red::before { background: var(--qy-red); }
.qy-risk-orange { background: var(--qy-orange-light); color: #9A3412; }
.qy-risk-orange::before { background: var(--qy-orange); }
.qy-risk-yellow { background: var(--qy-yellow-light); color: #92400E; }
.qy-risk-yellow::before { background: var(--qy-yellow); }
.qy-risk-green { background: var(--qy-green-light); color: #065F46; }
.qy-risk-green::before { background: var(--qy-green); }
.qy-risk-gray { background: var(--qy-gray-light); color: var(--qy-gray); }
.qy-risk-gray::before { background: var(--qy-gray); }

/* state（三态）徽章：确定性维度，和上面的颜色徽章分开展示，互不覆盖 */
.qy-state {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: .72rem;
    font-weight: 600;
    padding: 2px 9px;
    border-radius: 999px;
    border: 1px solid;
}
.qy-state-confirmed { color: #065F46; border-color: #A7F3D0; background: #ECFDF5; }
.qy-state-review { color: #9A3412; border-color: #FED7AA; background: #FFF7ED; }
.qy-state-historical {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: .72rem;
    font-weight: 600;
    padding: 2px 9px;
    border-radius: 999px;
    color: #6B21A8;
    border: 1px solid #E9D5FF;
    background: #FAF5FF;
}

/* ── KPI 条：复用 fb-kpi-row，只是给数值上个颜色钩子 ─────────────────── */
.qy-kpi-value-red { color: var(--qy-red); }
.qy-kpi-value-orange { color: var(--qy-orange); }
.qy-kpi-value-yellow { color: #B45309; }

/* ── 单位风险总览表 ───────────────────────────────────────────────────── */
#qy-target-table td.qy-target-name { font-weight: 600; }

/* ── 关系网络图 ───────────────────────────────────────────────────────── */
.qy-graph-chart {
    width: 100%;
    height: 480px;
}
.qy-graph-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--fb-border);
    font-size: .78rem;
    color: var(--fb-muted);
}
.qy-graph-legend span { display: inline-flex; align-items: center; gap: 6px; }
.qy-graph-legend i { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }

/* ── 疑似关联组卡片 ───────────────────────────────────────────────────── */
.qy-group-card {
    background: var(--fb-surface);
    border: 1px solid var(--fb-border);
    border-left-width: 4px;
    border-radius: var(--fb-radius);
    box-shadow: var(--fb-shadow);
    padding: 18px 20px;
    margin-bottom: 16px;
}
.qy-group-card.qy-border-red { border-left-color: var(--qy-red); }
.qy-group-card.qy-border-orange { border-left-color: var(--qy-orange); }
.qy-group-card.qy-border-yellow { border-left-color: var(--qy-yellow); }

.qy-group-head {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 8px;
}
.qy-group-members { font-size: 1rem; font-weight: 800; }
.qy-group-rules { font-size: .78rem; color: var(--fb-muted); }

.qy-hit {
    border-top: 1px dashed var(--fb-border);
    padding: 12px 0;
}
.qy-hit:first-child { border-top: none; padding-top: 4px; }
.qy-hit-head {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 6px;
}
.qy-hit-title { font-weight: 700; font-size: .92rem; }
.qy-hit-reason { color: var(--fb-muted); font-size: .82rem; line-height: 1.7; margin: 4px 0 8px; }

.qy-evidence-target { margin: 6px 0 6px 14px; font-size: .85rem; }
.qy-evidence-target strong { color: var(--fb-text); }
.qy-evidence-path { margin: 3px 0 3px 18px; font-size: .82rem; color: var(--fb-muted); }
.qy-evidence-chain { margin: 3px 0 3px 26px; font-size: .78rem; color: #9CA3AF; }
.qy-effective-percent { font-weight: 700; color: var(--qy-red); }

/* ── 费用预估确认 ─────────────────────────────────────────────────────── */
.qy-estimate {
    margin-top: 16px;
    background: #F0F9FF;
    border: 1px solid #BAE6FD;
    border-left: 4px solid #0284C7;
    border-radius: var(--fb-radius);
    padding: 16px 20px;
}
.qy-estimate-head {
    font-weight: 700;
    color: #075985;
    margin-bottom: 10px;
}
.qy-estimate-list {
    margin: 0;
    padding-left: 20px;
    font-size: .86rem;
    line-height: 1.9;
    color: var(--fb-text);
}
.qy-estimate-list strong { color: #0C4A6E; }
.qy-estimate-caveat { color: #92400E; }
.qy-estimate-warn {
    margin-top: 10px;
    padding: 8px 12px;
    background: #FEF2F2;
    border-radius: var(--fb-radius);
    font-size: .82rem;
    color: #991B1B;
    line-height: 1.7;
}
.qy-estimate-detail {
    margin-top: 10px;
    font-size: .82rem;
    color: var(--fb-muted);
}
.qy-estimate-detail summary { cursor: pointer; }
.qy-estimate-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}

/* ── 采集失败告警 ─────────────────────────────────────────────────────── */
.qy-fetch-warning {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    background: #FEF2F2;
    color: #991B1B;
    border: 1px solid #FECACA;
    border-left: 4px solid var(--qy-red);
    border-radius: var(--fb-radius);
    padding: 14px 18px;
    font-size: .85rem;
    line-height: 1.8;
    margin-bottom: 20px;
}
.qy-fetch-warning i { margin-top: 4px; flex-shrink: 0; }
.qy-fetch-warning ul { margin: 6px 0 0; padding-left: 20px; }

/* ── 使用须知 ─────────────────────────────────────────────────────────── */
.qy-usage-notice {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    background: #EFF6FF;
    color: #1E40AF;
    border: 1px solid #BFDBFE;
    border-radius: var(--fb-radius);
    padding: 12px 16px;
    font-size: .83rem;
    line-height: 1.8;
    margin-bottom: 20px;
}
.qy-usage-notice i { margin-top: 3px; flex-shrink: 0; }
.qy-usage-notice ul { margin: 0; padding-left: 18px; }

/* ── 单位风险总览表：原因列 ───────────────────────────────────────────── */
.qy-target-reasons { font-size: .8rem; color: var(--fb-muted); line-height: 1.7; }
.qy-target-reasons div { margin-bottom: 2px; }

/* ── 尽调标记 ─────────────────────────────────────────────────────────── */
.qy-dd-card {
    background: var(--fb-surface);
    border: 1px solid var(--fb-border);
    border-radius: var(--fb-radius);
    box-shadow: var(--fb-shadow);
    padding: 14px 18px;
    margin-bottom: 12px;
}
.qy-dd-name { font-weight: 700; margin-bottom: 8px; }
.qy-dd-item {
    font-size: .85rem;
    line-height: 1.8;
    padding: 4px 0;
    display: flex;
    align-items: flex-start;
    gap: 8px;
}
.qy-dd-item i { margin-top: 3px; flex-shrink: 0; }
.qy-dd-red { color: #991B1B; }
.qy-dd-orange { color: #9A3412; }
.qy-dd-yellow { color: #92400E; }
.qy-dd-gray { color: var(--fb-muted); }

/* ── 同姓提示 ─────────────────────────────────────────────────────────── */
.qy-surname-card {
    background: #FAFAFA;
    border: 1px dashed var(--fb-border);
    border-radius: var(--fb-radius);
    padding: 12px 16px;
    margin-bottom: 10px;
    font-size: .84rem;
    color: var(--fb-muted);
}
.qy-surname-card strong { color: var(--fb-text); }

/* ── 能力缺口列表 ─────────────────────────────────────────────────────── */
.qy-coverage-notes {
    margin: 0;
    padding-left: 20px;
    color: var(--fb-muted);
    font-size: .83rem;
    line-height: 1.9;
}

/* ── 响应式 ───────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
    .qy-graph-chart { height: 340px; }
    .qy-input-actions { flex-direction: column; align-items: flex-start; }
}

/* ── 打印（导出报告用）───────────────────────────────────────────────── */
@media print {
    .fb-topbar, #qy-input-panel, .site-nav, .site-mobile-nav { display: none !important; }
    .qy-group-card { break-inside: avoid; }
}
