:root {
    --ci-ink: #102a43;
    --ci-ink-soft: #243b53;
    --ci-teal: #0f766e;
    --ci-teal-soft: #ccfbf1;
    --ci-blue: #1d4ed8;
    --ci-orange: #b45309;
    --ci-red: #b91c1c;
    --ci-slate: #64748b;
    --ci-line: #e2e8f0;
    --ci-surface: #ffffff;
    --ci-bg: #f3f6fa;
    --ci-radius: 16px;
    --ci-shadow: 0 12px 36px rgba(15, 23, 42, .08);
}

html, body { background: var(--ci-bg); color: var(--ci-ink); }
body, button, input, select, textarea { font-family: Inter, "Microsoft YaHei", "PingFang SC", Arial, sans-serif; }
.layui-layout-admin .layui-header { background: var(--ci-ink); box-shadow: 0 4px 18px rgba(15,23,42,.16); }
.layui-layout-admin .layui-logo { background: #0b2239; color: #fff; font-weight: 700; letter-spacing: .2px; }
.brand-mark { display:inline-flex; width:28px; height:28px; margin-right:9px; align-items:center; justify-content:center; border-radius:9px; background:var(--ci-teal); color:#fff; font-size:15px; }
.brand-title { vertical-align: middle; }
.layui-side, .layui-bg-black { background: #102a43 !important; }
.layui-nav-tree .layui-nav-item a { color: #cbd5e1; }
.layui-nav-tree .layui-nav-item a:hover, .layui-nav-tree .layui-this > a { background: rgba(15,118,110,.28) !important; color:#fff; }
.layui-body { background: var(--ci-bg) !important; }
.think-box-shadow { border-radius: var(--ci-radius); border:1px solid rgba(226,232,240,.9); box-shadow: var(--ci-shadow); }
.layui-btn { border-radius: 9px; }
.layui-btn:not(.layui-btn-primary):not(.layui-btn-danger):not(.layui-btn-warm) { background: var(--ci-teal); }
.layui-table { color: var(--ci-ink-soft); }
.layui-table thead tr { background:#f8fafc; }
.layui-table td, .layui-table th { border-color:var(--ci-line); }
.layui-input, .layui-textarea, .layui-select { border-radius:9px; border-color:#cbd5e1; }
.layui-input:focus, .layui-textarea:focus { border-color:var(--ci-teal) !important; box-shadow:0 0 0 3px rgba(15,118,110,.10); }

.ci-page { max-width: 1480px; margin: 0 auto; padding: 6px 0 28px; }
.ci-hero { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:22px; padding:28px 30px; border-radius:20px; color:#fff; background:linear-gradient(125deg,#102a43 0%,#163b56 55%,#0f766e 140%); box-shadow:0 18px 42px rgba(16,42,67,.20); overflow:hidden; position:relative; }
.ci-hero:after { content:""; position:absolute; width:280px; height:280px; right:-90px; top:-130px; border:1px solid rgba(255,255,255,.18); border-radius:50%; box-shadow:0 0 0 44px rgba(255,255,255,.025),0 0 0 88px rgba(255,255,255,.018); }
.ci-eyebrow { position:relative; z-index:1; color:#8fe1d5; font-size:12px; letter-spacing:2px; font-weight:700; }
.ci-hero h1 { position:relative; z-index:1; margin:8px 0 7px; font-size:28px; line-height:1.25; font-weight:800; }
.ci-hero p { position:relative; z-index:1; margin:0; color:#cbd5e1; font-size:14px; }
.ci-hero-status { position:relative; z-index:1; min-width:220px; padding:14px 16px; border:1px solid rgba(255,255,255,.16); border-radius:13px; background:rgba(255,255,255,.08); backdrop-filter:blur(8px); }
.ci-status-dot { display:inline-block; width:8px; height:8px; margin-right:7px; border-radius:50%; background:#34d399; box-shadow:0 0 0 5px rgba(52,211,153,.14); }

.ci-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:18px; }
.ci-card { background:var(--ci-surface); border:1px solid var(--ci-line); border-radius:var(--ci-radius); box-shadow:var(--ci-shadow); }
.ci-stat { grid-column:span 3; padding:20px; }
.ci-stat-label { color:var(--ci-slate); font-size:13px; }
.ci-stat-value { margin-top:8px; color:var(--ci-ink); font-size:32px; line-height:1; font-weight:800; }
.ci-stat-note { margin-top:10px; color:#94a3b8; font-size:12px; }
.ci-stat-accent { width:34px; height:4px; margin-top:16px; border-radius:99px; background:var(--ci-teal); }
.ci-panel { grid-column:span 8; overflow:hidden; }
.ci-panel-small { grid-column:span 4; }
.ci-panel-head { display:flex; align-items:center; justify-content:space-between; padding:19px 21px; border-bottom:1px solid var(--ci-line); }
.ci-panel-title { font-size:16px; font-weight:800; }
.ci-panel-subtitle { margin-top:4px; color:var(--ci-slate); font-size:12px; }
.ci-panel-body { padding:8px 21px 18px; }
.ci-event { display:grid; grid-template-columns:56px minmax(0,1fr) auto; gap:14px; align-items:start; padding:16px 0; border-bottom:1px solid #edf2f7; }
.ci-event:last-child { border-bottom:0; }
.ci-avatar { display:flex; width:44px; height:44px; align-items:center; justify-content:center; border-radius:13px; color:#fff; background:linear-gradient(135deg,#0f766e,#14b8a6); font-weight:800; }
.ci-event-name { font-size:15px; font-weight:800; }
.ci-event-role { margin-top:5px; color:#475569; line-height:1.55; }
.ci-event-meta { margin-top:6px; color:#94a3b8; font-size:12px; }
.ci-badge { display:inline-block; padding:4px 9px; border-radius:999px; background:var(--ci-teal-soft); color:var(--ci-teal); font-size:12px; font-weight:700; }
.ci-badge-warning { background:#fef3c7; color:var(--ci-orange); }
.ci-badge-danger { background:#fee2e2; color:var(--ci-red); }
.ci-source { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 0; border-bottom:1px solid #edf2f7; }
.ci-source:last-child { border-bottom:0; }
.ci-source-name { font-weight:700; }
.ci-source-meta { margin-top:3px; color:#94a3b8; font-size:12px; }
.ci-empty { padding:34px 16px; color:#94a3b8; text-align:center; }
.ci-progress { height:7px; border-radius:99px; background:#e2e8f0; overflow:hidden; }
.ci-progress > span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#0f766e,#2dd4bf); }
.ci-runtime-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; padding-top:10px; }
.ci-runtime-grid > div { display:flex; flex-direction:column; gap:7px; padding:14px 16px; border:1px solid var(--ci-line); border-radius:12px; background:#f8fafc; }
.ci-runtime-grid span { color:var(--ci-slate); font-size:12px; }
.ci-runtime-grid strong { color:var(--ci-ink); font-size:14px; overflow:hidden; text-overflow:ellipsis; }
.ci-review-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-bottom:16px; }
.ci-review-summary > div { display:flex; align-items:center; justify-content:space-between; padding:17px 20px; border:1px solid var(--ci-line); border-radius:13px; background:#fff; box-shadow:var(--ci-shadow); }
.ci-review-summary span { color:var(--ci-slate); }
.ci-review-summary strong { font-size:24px; }
.ci-review-box { padding:18px 20px; }
.ci-table-scroll { overflow-x:auto; }
.ci-evidence-head { display:flex; align-items:center; gap:13px; margin-bottom:20px; }
.ci-evidence-head h2 { margin:0 0 5px; color:var(--ci-ink); }
.ci-evidence-head p { margin:0; color:var(--ci-slate); }
.ci-evidence-change { display:grid; grid-template-columns:1fr auto 1fr; gap:14px; align-items:center; padding:18px; border-radius:14px; background:#f8fafc; }
.ci-evidence-change > div:not(.ci-evidence-arrow) { display:flex; flex-direction:column; gap:7px; }
.ci-evidence-change span,.ci-evidence-meta span { color:var(--ci-slate); font-size:12px; }
.ci-evidence-arrow { color:var(--ci-teal); font-size:24px; font-weight:800; }
.ci-evidence-meta { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:14px 0; }
.ci-evidence-meta > div { display:flex; flex-direction:column; gap:6px; padding:12px; border:1px solid var(--ci-line); border-radius:10px; }
.ci-evidence-block { margin:16px 0; }
.ci-evidence-block h3 { margin-bottom:10px; }
.ci-identity-choice {
    display:block;
    position:relative;
    margin:8px 0;
    padding:12px 88px 12px 14px;
    border:1px solid var(--ci-line);
    border-radius:10px;
    background:#fff;
    cursor:pointer;
    transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.ci-identity-choice:hover { border-color:#94d8cf; background:#f8fffd; }
.ci-identity-choice-selected {
    border-color:#16a394 !important;
    background:#e8faf6 !important;
    box-shadow:inset 4px 0 0 #0f9f8f,0 0 0 2px rgba(15,159,143,.12);
}
.ci-identity-choice-selected strong { color:#067c70; }
.ci-identity-choice-selected::after {
    content:'已选中';
    position:absolute;
    top:9px;
    right:11px;
    padding:2px 8px;
    border-radius:999px;
    background:#0f9f8f;
    color:#fff;
    font-size:12px;
    font-weight:700;
}
.ci-identity-choice input[type='checkbox'] { flex:0 0 auto; }
.ci-evidence-block blockquote { margin:0 0 12px; padding:14px 16px; border-left:4px solid var(--ci-teal); border-radius:0 10px 10px 0; background:#f8fafc; color:#334155; line-height:1.75; }
.ci-ops-section { margin:2px 0 20px; overflow:hidden; border:1px solid var(--ci-line); border-radius:14px; background:#fff; }
.ci-ops-section .ci-table-scroll { padding:0 18px 14px; }
.ci-evidence-source { margin:10px 0; padding:13px 15px; border:1px solid var(--ci-line); border-radius:11px; background:#fff; }
.ci-evidence-source > div { display:flex; justify-content:space-between; gap:12px; }
.ci-evidence-source span { color:var(--ci-slate); font-size:12px; }
.ci-evidence-source p { margin:8px 0; color:#475569; line-height:1.65; }
.ci-evidence-source a { color:var(--ci-teal); font-weight:700; }

/* 采集与报告工作台 */
.ci-ops-dashboard { max-width:1480px; margin:0 auto; padding-bottom:24px; }
.ci-ops-overview { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:14px; }
.ci-ops-kpi { position:relative; padding:19px 20px; overflow:hidden; border:1px solid var(--ci-line); border-radius:14px; background:#fff; box-shadow:var(--ci-shadow); }
.ci-ops-kpi:after { content:""; position:absolute; right:-18px; bottom:-24px; width:76px; height:76px; border-radius:50%; background:rgba(15,118,110,.07); }
.ci-ops-kpi > span { display:block; color:var(--ci-slate); font-size:13px; }
.ci-ops-kpi > strong { display:block; margin:7px 0; color:var(--ci-ink); font-size:28px; line-height:1.05; }
.ci-ops-kpi > small { color:#94a3b8; font-size:12px; }
.ci-ops-readiness { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; margin-bottom:18px; overflow:hidden; border:1px solid var(--ci-line); border-radius:13px; background:var(--ci-line); }
.ci-ops-readiness > div { display:grid; grid-template-columns:22px 1fr; grid-template-rows:auto auto; column-gap:8px; padding:13px 15px; background:#fff; }
.ci-ops-readiness > div > :first-child { grid-row:1 / 3; align-self:center; color:var(--ci-teal); }
.ci-ops-readiness strong { color:#334155; font-size:13px; }
.ci-ops-readiness small { margin-top:3px; color:#94a3b8; font-size:11px; }
.ci-status-dot-off { background:#ef4444; box-shadow:0 0 0 5px rgba(239,68,68,.12); }
.ci-status-dot-warn { background:#f59e0b; box-shadow:0 0 0 5px rgba(245,158,11,.12); }
.ci-ops-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.ci-ops-card { display:flex; min-height:210px; flex-direction:column; padding:20px; border:1px solid var(--ci-line); border-radius:15px; background:#fff; box-shadow:var(--ci-shadow); }
.ci-ops-card-wide { grid-column:span 2; min-height:180px; }
.ci-ops-card > header { display:flex; gap:13px; align-items:center; margin-bottom:17px; }
.ci-ops-card h3,.ci-ops-history h3 { margin:0; color:var(--ci-ink); font-size:16px; }
.ci-ops-card p,.ci-ops-history p { margin:4px 0 0; color:var(--ci-slate); font-size:12px; }
.ci-ops-icon { display:flex; width:42px; height:42px; flex:none; align-items:center; justify-content:center; border-radius:12px; font-size:20px; }
.ci-ops-icon-teal { color:var(--ci-teal); background:#ccfbf1; }
.ci-ops-icon-blue { color:#1d4ed8; background:#dbeafe; }
.ci-ops-icon-purple { color:#7c3aed; background:#ede9fe; }
.ci-ops-icon-orange { color:#b45309; background:#fef3c7; }
.ci-ops-actions { display:flex; flex-wrap:wrap; gap:9px; }
.ci-ops-actions .layui-btn { margin:0; }
.ci-ops-note { margin-top:auto; padding-top:16px; color:#94a3b8; font-size:12px; line-height:1.65; }
.ci-ops-history { margin-top:18px; overflow:hidden; border:1px solid var(--ci-line); border-radius:15px; background:#fff; box-shadow:var(--ci-shadow); }
.ci-ops-history > header { display:flex; align-items:center; justify-content:space-between; padding:18px 20px; border-bottom:1px solid var(--ci-line); }
.ci-ops-history .ci-table-scroll { padding:0 16px 12px; }
.ci-running-pulse { position:relative; padding:5px 11px 5px 25px; border-radius:99px; color:var(--ci-orange); background:#fef3c7; font-size:12px; font-weight:700; }
.ci-running-pulse:before { content:""; position:absolute; left:10px; top:9px; width:7px; height:7px; border-radius:50%; background:#f59e0b; animation:ci-pulse 1.2s infinite; }
.ci-job-detail { padding:18px 22px 8px; }
.ci-job-output { max-height:420px; margin:0; padding:15px; overflow:auto; border:1px solid var(--ci-line); border-radius:10px; color:#d1fae5; background:#102a43; font:12px/1.65 Consolas,"Microsoft YaHei",monospace; white-space:pre-wrap; word-break:break-word; }
@keyframes ci-pulse { 50% { opacity:.35; transform:scale(.75); } }

.ci-platform-page { max-width:1480px; margin:0 auto; padding-bottom:24px; }
.ci-coverage-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; margin-bottom:16px; }
.ci-coverage-grid > div { display:flex; min-height:76px; flex-direction:column; justify-content:center; padding:13px 15px; border:1px solid var(--ci-line); border-radius:12px; background:#fff; box-shadow:var(--ci-shadow); }
.ci-coverage-grid span,.ci-coverage-grid small { color:var(--ci-slate); font-size:11px; }
.ci-coverage-grid strong { margin:3px 0; font-size:22px; }
.ci-source-policy { margin-bottom:16px; padding:13px 16px; border:1px solid #bae6fd; border-radius:12px; color:#075985; background:#f0f9ff; line-height:1.7; }
.ci-four-stats { grid-template-columns:repeat(4,minmax(0,1fr)); }
.ci-five-stats { grid-template-columns:repeat(5,minmax(0,1fr)); }
.ci-settings-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-bottom:18px; }
.ci-time-pair { display:flex; min-width:270px; align-items:center; gap:6px; }
.ci-time-pair .layui-input { width:112px; }
.ci-schedule-priority { min-width:72px; height:34px; border:1px solid var(--ci-line); border-radius:3px; }
.ci-precision-create { margin-bottom:18px; padding:20px; border:1px solid var(--ci-line); border-radius:15px; background:#fff; box-shadow:var(--ci-shadow); }
.ci-precision-create h3 { margin:0 0 5px; }
.ci-precision-create p { margin:0 0 16px; color:var(--ci-slate); }
.ci-precision-detail { padding:20px 24px 24px; }
.ci-candidate-list { display:flex; flex-direction:column; gap:8px; padding:12px 14px; border:1px solid var(--ci-line); border-radius:11px; background:#f8fafc; }
.ci-precision-result { display:grid; grid-template-columns:22px auto minmax(0,1fr) auto; gap:8px; align-items:start; margin:10px 0; padding:14px; border:1px solid var(--ci-line); border-radius:12px; background:#fff; }
.ci-precision-result small { color:var(--ci-slate); text-align:right; }
.ci-precision-result p { grid-column:2 / 5; margin:3px 0; color:#475569; line-height:1.7; }
.ci-precision-result a { grid-column:2 / 5; color:var(--ci-teal); font-weight:700; }
.ci-linkedin-authorized { border-color:#93c5fd; background:#f8fbff; }
.ci-badge-linkedin { color:#075985; border-color:#7dd3fc; background:#e0f2fe; }
.ci-baike-priority { border-color:#f7c86a; background:#fffdf5; box-shadow:0 0 0 2px rgba(245,158,11,.08); }
.ci-badge-baike { background:#ffead5; color:#b45309; }
.ci-baike-import { margin:14px 0 18px; padding:13px 16px; border:1px solid #f7c86a; border-radius:12px; background:#fffdf5; }
.ci-baike-import > summary { cursor:pointer; color:#92400e; font-weight:800; }
.ci-baike-import > p { color:#6b7280; line-height:1.7; }
.ci-baike-paste { min-height:180px; line-height:1.7; }
.ci-baike-saved-content { grid-column:2 / 5; margin-top:5px; padding:10px 12px; border:1px solid #f1d9a8; border-radius:9px; background:#fff; }
.ci-baike-saved-content > summary { cursor:pointer; color:#b45309; font-weight:700; }
.ci-baike-saved-content pre { max-height:360px; margin:10px 0 0; padding:12px; overflow:auto; border-radius:8px; color:#334155; background:#f8fafc; font:13px/1.75 "Microsoft YaHei",sans-serif; white-space:pre-wrap; word-break:break-word; }
.ci-graph-detail { padding:20px 24px 24px; }
.ci-brief-card { margin-bottom:13px; padding:16px 18px; border-left:4px solid var(--ci-teal); border-radius:0 12px 12px 0; background:#f0fdfa; }
.ci-brief-card h3 { margin:0 0 7px; }
.ci-brief-card p { margin:0 0 7px; line-height:1.8; }
.ci-brief-card small { color:var(--ci-slate); }
.ci-role-chips { display:flex; flex-wrap:wrap; gap:7px; margin:12px 0; }
.ci-graph-canvas { width:100%; height:520px; border:1px solid var(--ci-line); border-radius:14px; background:#f8fafc; }
.ci-graph-legend { display:flex; gap:18px; margin-top:9px; color:var(--ci-slate); font-size:12px; }
.ci-ontology-overview { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:14px 0; }
.ci-ontology-overview div { display:flex; flex-direction:column; padding:16px 18px; border:1px solid var(--ci-line); border-radius:14px; background:#fff; box-shadow:var(--ci-shadow); }
.ci-ontology-overview strong { color:#0f766e; font-size:26px; }
.ci-ontology-overview span { margin-top:3px; font-weight:700; color:#1e293b; }
.ci-ontology-overview small { margin-top:5px; color:var(--ci-slate); line-height:1.5; }
.ci-person-ontology-stats { margin:14px 0; }
.ci-graph-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:14px 0 10px; }
.ci-graph-tabs .is-active { color:#fff; background:#0f766e; border-color:#0f766e; }
.ci-graph-scope-note { margin-bottom:10px; }
.ci-ontology-sources { margin-top:16px; padding:16px; border:1px solid var(--ci-line); border-radius:14px; background:#fff; }
.ci-ontology-sources h3 { margin:0 0 10px; }
.ci-ontology-sources a { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:9px; align-items:center; padding:9px 0; border-bottom:1px solid #edf2f7; color:#334155; }
.ci-ontology-sources a:last-child { border-bottom:0; }
.ci-ontology-sources small { color:var(--ci-slate); }
@media (max-width:900px) {
  .ci-ontology-overview,.ci-five-stats { grid-template-columns:1fr 1fr; }
  .ci-ontology-sources a { grid-template-columns:auto minmax(0,1fr); }
  .ci-ontology-sources small { grid-column:2; }
}

/* 数据源中心：可定位、可解释、适合窄屏浏览 */
.ci-kpi-link { display:block; color:inherit; cursor:pointer; text-decoration:none; transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease; }
.ci-kpi-link:hover { color:inherit; transform:translateY(-2px); border-color:#99d5ce; box-shadow:0 16px 38px rgba(15,118,110,.12); }
.ci-kpi-link.is-active { border-color:var(--ci-teal); box-shadow:0 0 0 2px rgba(15,118,110,.10),var(--ci-shadow); }
.ci-kpi-attention > strong { color:var(--ci-orange); }
.ci-source-attention { margin-bottom:16px; overflow:hidden; border:1px solid #fed7aa; border-radius:14px; background:#fffaf5; }
.ci-source-attention > header,.ci-coverage-section > header,.ci-section-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 18px; }
.ci-source-attention > header { border-bottom:1px solid #ffedd5; }
.ci-source-attention header strong,.ci-coverage-section header strong { display:block; color:var(--ci-ink); font-size:15px; }
.ci-source-attention header span,.ci-coverage-section header span { display:block; margin-top:4px; color:var(--ci-slate); font-size:12px; }
.ci-source-attention header a { color:var(--ci-orange); cursor:pointer; font-weight:700; }
.ci-attention-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:#ffedd5; }
.ci-attention-list > div { padding:15px 18px; background:#fffaf5; }
.ci-attention-list strong { margin-left:7px; color:#334155; }
.ci-attention-list p { margin:8px 0 4px; color:#475569; line-height:1.55; word-break:break-word; }
.ci-attention-list small { color:#9a5a12; }
.ci-attention-list a { float:right; color:var(--ci-teal); font-weight:700; }
.ci-source-guide { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:16px; }
.ci-source-guide > div { padding:15px 17px; border:1px solid var(--ci-line); border-radius:12px; background:#fff; }
.ci-source-guide strong,.ci-source-guide span { display:block; }
.ci-source-guide span { margin-top:6px; color:var(--ci-slate); font-size:12px; line-height:1.65; }
.ci-coverage-section { margin-bottom:16px; padding:0 18px 16px; border:1px solid var(--ci-line); border-radius:14px; background:#fff; box-shadow:var(--ci-shadow); }
.ci-coverage-section > header { padding-right:0; padding-left:0; }
.ci-coverage-section .ci-coverage-grid { margin-bottom:0; }
.ci-coverage-section .ci-coverage-grid > div { box-shadow:none; background:#f8fafc; }
.ci-section-heading { padding:0 0 15px; border-bottom:1px solid var(--ci-line); }
.ci-section-heading h3 { margin:0; }
.ci-section-heading p { margin:5px 0 0; color:var(--ci-slate); font-size:12px; }
.ci-source-filter { margin-top:16px; }
.ci-source-table { min-width:1080px; table-layout:fixed; }
.ci-source-table th:nth-child(1) { width:25%; }
.ci-source-table th:nth-child(2) { width:20%; }
.ci-source-table th:nth-child(3) { width:27%; }
.ci-source-table th:nth-child(4) { width:17%; }
.ci-source-table th:nth-child(5) { width:11%; }
.ci-source-main > strong,.ci-source-main > small,.ci-source-domain { display:block; }
.ci-source-domain { max-width:100%; margin:5px 0; overflow:hidden; color:var(--ci-teal); font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.ci-source-main > small { color:var(--ci-slate); }
.ci-source-levels { display:flex; flex-wrap:wrap; gap:5px; margin-top:9px; }
.ci-source-message { max-height:3.2em; margin:7px 0 2px; overflow:hidden; color:#64748b; font-size:12px; line-height:1.6; word-break:break-word; }
.ci-source-hint { display:block; color:var(--ci-orange); line-height:1.55; }

/* 校友发现闭环：把候选入口、当前进度和跨学校复制边界放在同一页面 */
.ci-workflow-overview .ci-section-heading { margin-bottom:16px; }
.ci-discovery-entrances { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.ci-discovery-entrances > div { position:relative; min-height:118px; padding:16px 17px 15px 54px; border:1px solid #cde7e3; border-radius:13px; background:#f4fbfa; }
.ci-discovery-entrances b { position:absolute; top:16px; left:17px; display:flex; width:27px; height:27px; align-items:center; justify-content:center; border-radius:50%; color:#fff; background:var(--ci-teal); }
.ci-discovery-entrances strong,.ci-discovery-entrances span { display:block; }
.ci-discovery-entrances span { min-height:52px; margin-top:6px; color:var(--ci-slate); font-size:12px; line-height:1.65; }
.ci-discovery-entrances a { color:var(--ci-teal); cursor:pointer; font-size:12px; font-weight:700; }
.ci-workflow-chain { display:grid; grid-template-columns:repeat(6,minmax(130px,1fr)); gap:10px; margin:16px 0; }
.ci-workflow-chain > div { position:relative; min-height:104px; padding:15px 12px; border:1px solid #e7edf5; border-radius:10px; background:#f8fbff; }
.ci-workflow-chain > div.is-complete { border-color:#99d5ce; background:#f0fdfa; }
.ci-workflow-chain > div.is-next { border-color:#fed7aa; background:#fffaf5; }
.ci-workflow-chain b { display:inline-flex; width:24px; height:24px; align-items:center; justify-content:center; margin-right:7px; border-radius:50%; color:#fff; background:#1e6bb8; }
.ci-workflow-chain .is-complete b { background:var(--ci-teal); }
.ci-workflow-chain .is-next b { background:var(--ci-orange); }
.ci-workflow-chain strong { display:inline; }
.ci-workflow-chain span { display:block; margin-top:9px; color:#6b7785; font-size:12px; line-height:1.6; }
.ci-workflow-chain a { display:block; margin-top:7px; color:var(--ci-teal); cursor:pointer; font-size:12px; font-weight:700; }
.ci-portable-checklist { display:flex; gap:12px; margin:0 0 13px; padding:14px 16px; border-left:4px solid var(--ci-teal); border-radius:0 12px 12px 0; background:#f0fdfa; line-height:1.7; }
.ci-portable-checklist strong { flex:0 0 210px; color:#0f766e; }
.ci-portable-checklist span { color:#475569; }

.ci-public-features { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:18px; }
.ci-public-feature { min-height:170px; padding:28px; }
.ci-public-feature > .layui-icon { display:inline-flex; width:44px; height:44px; align-items:center; justify-content:center; border-radius:14px; color:#087f6c; background:#e9f7f4; font-size:24px; }
.ci-public-feature h2 { margin:18px 0 8px; color:#17324d; font-size:20px; }
.ci-public-feature p,.ci-public-gate p { margin:0; color:#64748b; line-height:1.8; }
.ci-public-gate { display:flex; grid-column:1/-1; align-items:center; justify-content:space-between; gap:24px; padding:24px 28px; border:1px solid #dbe7e5; background:linear-gradient(135deg,#f8fffd,#f5f8ff); }
.ci-public-gate h2 { margin:0 0 6px; color:#17324d; font-size:19px; }

@media (max-width: 1100px) {
    .ci-stat { grid-column:span 6; }
    .ci-panel, .ci-panel-small { grid-column:span 12; }
    .ci-runtime-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .ci-evidence-meta { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .ci-ops-overview,.ci-ops-readiness { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .ci-five-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .ci-coverage-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .ci-source-guide { grid-template-columns:1fr; }
    .ci-discovery-entrances { grid-template-columns:1fr; }
    .ci-workflow-chain { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width: 720px) {
    .layui-layout-admin .layui-logo { width:180px; }
    .brand-title { font-size:13px; }
    .ci-hero { align-items:flex-start; flex-direction:column; padding:23px; }
    .ci-hero h1 { font-size:23px; }
    .ci-hero-status { width:100%; box-sizing:border-box; }
    .ci-stat { grid-column:span 12; }
    .ci-event { grid-template-columns:48px minmax(0,1fr); }
    .ci-event > :last-child { grid-column:2; justify-self:start; }
    .ci-runtime-grid { grid-template-columns:1fr; }
    .ci-review-summary,.ci-evidence-meta { grid-template-columns:1fr; }
    .ci-evidence-change { grid-template-columns:1fr; }
    .ci-evidence-arrow { transform:rotate(90deg); justify-self:center; }
    .ci-ops-overview,.ci-ops-readiness,.ci-ops-grid { grid-template-columns:1fr; }
    .ci-coverage-grid,.ci-settings-grid,.ci-four-stats,.ci-five-stats { grid-template-columns:1fr; }
    .ci-attention-list { grid-template-columns:1fr; }
    .ci-workflow-chain { grid-template-columns:1fr; }
    .ci-portable-checklist { flex-direction:column; }
    .ci-portable-checklist strong { flex-basis:auto; }
    .ci-ops-card-wide { grid-column:span 1; }
    .ci-ops-actions { flex-direction:column; }
    .ci-ops-actions .layui-btn { width:100%; }
    .ci-public-features { grid-template-columns:1fr; }
    .ci-public-gate { display:block; }
    .ci-public-gate .layui-btn { margin-top:16px; }
}
