/* cohr-chain.css — COHR 产业链上下游 */
.cc-app{min-height:100vh;display:flex;flex-direction:column;background:var(--bg);}

/* 顶栏 */
.cc-top{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:16px;height:58px;padding:0 22px;background:rgba(255,255,255,.94);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--line);}
.cc-back{display:flex;align-items:center;gap:5px;font-size:13.5px;font-weight:600;color:var(--t2);text-decoration:none;padding:6px 12px;border-radius:9px;transition:.13s;}
.cc-back:hover{background:#f1f3f5;color:var(--t1);}
.cc-title{display:flex;align-items:baseline;gap:9px;min-width:0;}
.cc-logo{font-weight:800;font-size:19px;letter-spacing:-.8px;color:var(--t1);}
.cc-logo-ai{color:var(--blue);}
.cc-title-sep{color:var(--t3);}
.cc-title-t{font-size:15px;font-weight:700;color:var(--t1);}
.cc-title-sub{font-size:11.5px;color:var(--t3);margin-left:4px;}
.cc-tag{margin-left:auto;font-size:12px;font-weight:700;color:var(--blue);background:var(--blue-soft);padding:5px 11px;border-radius:8px;white-space:nowrap;}

.cc-body{padding:18px 22px 116px;display:flex;flex-direction:column;gap:16px;}

/* 横向产业链图 */
.cc-map{display:flex;align-items:stretch;gap:8px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;}
.cc-zone{flex:1;min-width:0;display:flex;flex-direction:column;}
.cc-zone-h{font-size:13px;font-weight:800;color:var(--t1);display:flex;align-items:baseline;gap:7px;margin-bottom:10px;}
.cc-zone-h em{font-style:normal;font-size:10.5px;font-weight:500;color:var(--t3);}
.cc-zone-no{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:6px;background:var(--blue);color:#fff;font-size:11.5px;font-weight:800;flex-shrink:0;align-self:center;}
.cc-nodes{display:flex;flex-direction:column;gap:6px;}
.cc-node{display:flex;flex-direction:column;gap:2px;align-items:flex-start;text-align:left;padding:8px 11px;border-radius:10px;border:1px solid var(--line);background:#fbfcfd;transition:.12s;position:relative;}
.cc-node:hover{border-color:#c2cad4;}
.cc-node.on{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft);background:#fff;}
.cc-node-t{font-size:12.5px;font-weight:700;color:var(--t1);}
.cc-node-s{font-size:10.5px;color:var(--t3);}
.cc-node.inh .cc-node-s{color:#1d8a4e;}
.cc-node.ext .cc-node-s{color:#d97706;}
.cc-node.gate{border-color:#f0b8b8;background:#fdf4f4;}
.cc-node.gate .cc-node-s{color:#c0392b;font-weight:700;}
.cc-node.gate.on{border-color:#c0392b;box-shadow:0 0 0 3px #fbe3e3;}
.cc-cust .cc-node-int{position:absolute;right:10px;top:11px;width:34px;height:5px;border-radius:3px;background:#eef0f2;}
.cc-cust .cc-node-int.i3{background:#2563eb;}
.cc-cust .cc-node-int.i2{background:#6f9cf0;}
.cc-cust .cc-node-int.i1{background:#b8cbf2;}

.cc-arrow{align-self:center;display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--blue);flex-shrink:0;padding:0 2px;}
.cc-arrow span{font-size:10px;font-weight:700;color:var(--t3);white-space:nowrap;}

/* COHR 中枢节点 */
.cc-core{width:188px;flex-shrink:0;align-self:center;display:flex;flex-direction:column;align-items:center;gap:3px;background:linear-gradient(160deg,#1e3a8a,#2563eb);color:#fff;border-radius:16px;padding:16px 14px;box-shadow:0 8px 24px rgba(37,99,235,.28);position:relative;}
.cc-core-badge{position:absolute;top:-9px;background:#fff;color:var(--blue);font-size:10px;font-weight:800;padding:2px 9px;border-radius:7px;box-shadow:0 2px 6px rgba(0,0,0,.12);}
.cc-core-name{font-size:18px;font-weight:800;letter-spacing:-.4px;display:flex;align-items:baseline;gap:6px;margin-top:4px;}
.cc-core-sym{font-size:11px;font-weight:700;background:rgba(255,255,255,.2);padding:2px 6px;border-radius:5px;}
.cc-core-cn{font-size:11px;opacity:.85;}
.cc-core-rev{font-size:26px;font-weight:800;letter-spacing:-1px;margin-top:6px;display:flex;align-items:baseline;gap:6px;}
.cc-core-rev em{font-style:normal;font-size:11px;font-weight:500;opacity:.8;}
.cc-core-facts{display:flex;gap:10px;font-size:11px;opacity:.9;margin-top:2px;}
.cc-core-edge{font-size:10.5px;line-height:1.4;opacity:.92;text-align:center;margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.2);}

/* 供需平衡条 */
.cc-bal{display:flex;gap:0;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;}
.cc-bal-side{flex:1;padding:13px 16px;}
.cc-bal-sup{background:#fdf6f3;}
.cc-bal-dem2{background:#f2f7fd;}
.cc-bal-k{font-size:11.5px;font-weight:800;color:var(--t1);margin-bottom:4px;}
.cc-bal-sup .cc-bal-k{color:#c0392b;}
.cc-bal-dem2 .cc-bal-k{color:var(--blue);}
.cc-bal-v{font-size:12px;line-height:1.5;color:var(--t2);}
.cc-bal-mid{width:34%;flex-shrink:0;padding:13px 16px;border-left:1px solid var(--line);border-right:1px solid var(--line);background:#fbfcfd;}
.cc-bal-scale{display:flex;align-items:center;gap:6px;margin-bottom:7px;}
.cc-bal-cap{font-size:10.5px;font-weight:700;color:#c0392b;background:#fbe3e3;padding:2px 8px;border-radius:6px;}
.cc-bal-gap{flex:1;text-align:center;font-size:11px;font-weight:800;color:var(--t1);background:linear-gradient(90deg,#fbe3e3,#dbe7fb);border-radius:6px;padding:3px 0;}
.cc-bal-dem{font-size:10.5px;font-weight:700;color:var(--blue);background:var(--blue-soft);padding:2px 8px;border-radius:6px;}
.cc-bal-verdict{font-size:12px;line-height:1.5;color:var(--t1);font-weight:600;}

/* 三栏网格 */
.cc-grid{display:grid;grid-template-columns:1fr 320px 1fr;gap:16px;align-items:start;}
.cc-panel{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;}
.cc-panel-h{display:flex;align-items:baseline;gap:8px;padding:12px 16px;font-size:13.5px;font-weight:800;color:var(--t1);border-bottom:1px solid var(--line);}
.cc-panel-h em{font-style:normal;font-size:10.5px;font-weight:500;color:var(--t3);margin-left:auto;text-align:right;}

/* 上游投入列表 */
.cc-ul{display:flex;flex-direction:column;}
.cc-ul-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:11px 16px;border-bottom:1px solid #f0f2f4;transition:.1s;}
.cc-ul-row:hover{background:#f6f8fb;}
.cc-ul-row.on{background:var(--blue-soft);}
.cc-ul-row.gate.on{background:#fdf0f0;}
.cc-ul-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;}
.cc-ul-name{font-size:13px;font-weight:700;color:var(--t1);display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;}
.cc-ul-name em{font-style:normal;font-size:10.5px;font-weight:500;color:var(--t3);}
.cc-lock{margin-right:2px;}
.cc-ul-sups{display:flex;flex-wrap:wrap;gap:5px;}
.cc-chip{display:inline-flex;align-items:baseline;gap:5px;font-size:10.5px;font-weight:600;color:var(--t2);background:#f1f3f5;padding:3px 8px;border-radius:6px;}
.cc-chip i{font-style:normal;font-size:9.5px;color:var(--blue);font-weight:700;}
.cc-ul-row.gate .cc-chip{background:#fbeeee;color:#a4453f;}
.cc-ul-row.gate .cc-chip i{color:#c0392b;}
.cc-ul-tag{flex-shrink:0;font-size:10px;font-weight:800;color:var(--t2);background:#eef0f2;padding:3px 8px;border-radius:6px;white-space:nowrap;}
.cc-ul-row.gate .cc-ul-tag{color:#c0392b;background:#fbe3e3;}
.cc-ul-tag.ext{color:#d97706;background:#fdf3e6;}
.cc-ul-detail{background:#fbfcfd;padding:11px 16px;border-bottom:1px solid #f0f2f4;}

/* 矩阵（下游用） */
.cc-mx-wrap{overflow-x:auto;}
.cc-mx{width:100%;border-collapse:collapse;}
.cc-mx th{font-size:10.5px;font-weight:700;color:var(--t2);padding:8px 6px;border-bottom:1px solid var(--line);text-align:center;white-space:nowrap;vertical-align:bottom;}
.cc-mx th.cc-mx-row0{text-align:left;padding-left:16px;}
.cc-mx th.cc-mx-self{color:var(--blue);}
.cc-mx-asp{display:block;font-style:normal;font-size:9px;font-weight:500;color:var(--t3);margin-top:1px;}
.cc-mx-tr{cursor:pointer;transition:.1s;}
.cc-mx-tr:hover{background:#f6f8fb;}
.cc-mx-tr.on{background:var(--blue-soft);}
.cc-mx-tr.gate.on{background:#fdf0f0;}
.cc-mx-name{font-size:12px;font-weight:700;color:var(--t1);padding:9px 8px 9px 16px;border-bottom:1px solid #f0f2f4;white-space:nowrap;}
.cc-mx-name em{display:block;font-style:normal;font-size:10px;font-weight:500;color:var(--t3);}
.cc-lock{margin-right:4px;}
.cc-mx-cell{text-align:center;font-size:10.5px;font-weight:700;padding:9px 6px;border-bottom:1px solid #f0f2f4;color:var(--t3);}
.cc-mx-cell.cc-mx-self{background:#f5f8ff;}
.cc-mx-cell.v-in{color:#1d8a4e;background:#eafaf0;}
.cc-mx-cell.v-main{color:var(--blue);}
.cc-mx-cell.v-sec{color:var(--t2);}
.cc-int{font-size:11px;letter-spacing:-1px;}
.cc-int.i3{color:#2563eb;}
.cc-int.i2{color:#6f9cf0;}
.cc-int.i1{color:#aebfe8;}
.cc-int.i0{color:#dde1e6;}
.cc-mx-detail td{background:#fbfcfd;padding:11px 16px;border-bottom:1px solid #f0f2f4;}
.cc-dt-status{font-size:11.5px;font-weight:800;color:var(--blue);margin-bottom:5px;}
.cc-dt-note{font-size:12px;line-height:1.55;color:var(--t1);margin-bottom:6px;text-wrap:pretty;}
.cc-dt-src{font-size:10.5px;line-height:1.5;color:var(--t3);}
.cc-legend{font-size:10.5px;color:var(--t3);padding:9px 16px;border-top:1px solid var(--line);display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.cc-legend span{font-weight:700;}
.cc-legend .v-in{color:#1d8a4e;}
.cc-legend .v-main{color:var(--blue);}
.cc-legend .v-sec{color:var(--t2);}

/* COHR 中枢面板 */
.cc-core-panel{background:#fff;}
.cc-cd-sec{font-size:11.5px;font-weight:800;color:var(--t1);padding:14px 16px 8px;display:flex;align-items:baseline;justify-content:space-between;}
.cc-cd-sec em{font-style:normal;font-size:10px;font-weight:500;color:var(--t3);}
.cc-cd-bar{display:flex;height:22px;border-radius:6px;overflow:hidden;margin:0 16px 10px;}
.cc-cd-seg{height:100%;border-right:1.5px solid #fff;}
.cc-cd-seg:last-child{border-right:none;}
.cc-cd-tbl{width:100%;border-collapse:collapse;margin-bottom:6px;}
.cc-cd-tbl td{font-size:12px;padding:6px 8px;border-bottom:1px solid #f0f2f4;text-align:right;color:var(--t1);}
.cc-cd-tbl td:first-child{text-align:left;padding-left:16px;color:var(--t2);}
.cc-cd-tbl tr.ai td:first-child{color:var(--t1);font-weight:600;}
.cc-cd-dot{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:7px;vertical-align:middle;}
.cc-strong{font-weight:800;}

/* 垂直整合链 */
.cc-cd-vi{margin:12px 16px 0;background:#f2f7fd;border:1px solid #dbe7fb;border-radius:10px;padding:11px 13px;}
.cc-cd-vi-h{font-size:11.5px;font-weight:800;color:var(--blue);margin-bottom:8px;}
.cc-cd-vi-chain{display:flex;flex-direction:column;gap:5px;}
.cc-vi-step{display:flex;flex-direction:column;gap:1px;padding:6px 9px;background:#fff;border-radius:8px;border-left:3px solid var(--blue);}
.cc-vi-n{font-size:11.5px;font-weight:700;color:var(--t1);}
.cc-vi-d{font-size:10.5px;line-height:1.4;color:var(--t2);}
.cc-cd-vi-note{font-size:10.5px;line-height:1.45;color:var(--t2);margin-top:8px;padding-top:7px;border-top:1px dashed #cdddf5;}
.cc-cd-gate{margin:10px 16px 0;background:#fdf4f4;border:1px solid #f3d9d9;border-radius:10px;padding:11px 13px;}
.cc-cd-gate-h{font-size:11.5px;font-weight:800;color:#c0392b;margin-bottom:4px;}
.cc-cd-gate-b{font-size:11.5px;line-height:1.55;color:var(--t1);}
.cc-cd-edge{margin:10px 16px 0;font-size:11.5px;line-height:1.55;color:var(--t2);}
.cc-cd-risk{margin:10px 16px 16px;font-size:11px;line-height:1.5;color:var(--t2);background:#f6f7f9;border-radius:9px;padding:10px 12px;}
.cc-cd-risk b{color:var(--t1);}

/* 调节旋钮块 + 滑块 */
.cc-knob{margin:12px 16px 0;background:#f6f8fc;border:1px solid #e2e9f5;border-radius:11px;padding:11px 13px;}
.cc-knob-core{background:#f2f7fd;border-color:#dbe7fb;}
.cc-knob-dem{background:#fbf7f3;border-color:#f0e2d4;}

/* 需求自下而上推导 */
.cc-build{background:#fff;border:1px solid #f0e2d4;border-radius:9px;padding:9px 11px;margin-bottom:11px;}
.cc-build-h{font-size:10.5px;font-weight:800;color:#b06a2c;margin-bottom:7px;}
.cc-build-row{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:5px 0;border-bottom:1px solid #f6eee4;}
.cc-build-row:last-child{border-bottom:none;}
.cc-build-k{font-size:11px;font-weight:700;color:var(--t1);}
.cc-build-v{font-size:11.5px;font-weight:800;color:#b06a2c;text-align:right;}
.cc-build-n{grid-column:1 / -1;font-size:10px;line-height:1.4;color:var(--t3);}
.cc-build-row.sum{background:#fbf2e8;margin:3px -11px -9px;padding:8px 11px;border-radius:0 0 9px 9px;border-bottom:none;}
.cc-build-row.sum .cc-build-k,.cc-build-row.sum .cc-build-v{color:#a4541c;font-size:12px;}
.cc-knob-h{font-size:11px;font-weight:800;color:var(--t1);margin-bottom:9px;}
.cc-sl{margin-top:9px;}
.cc-sl:first-of-type{margin-top:0;}
.cc-sl-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:5px;}
.cc-sl-lab{font-size:12px;font-weight:700;color:var(--t1);}
.cc-sl-val{font-size:15px;font-weight:800;color:var(--t1);}
.cc-sl-val.up{color:#1d8a4e;}
.cc-sl-val.down{color:#c0392b;}
.cc-sl-val i{font-style:normal;font-size:9px;font-weight:500;color:var(--t3);margin-left:5px;}
.cc-sl input[type=range]{width:100%;accent-color:var(--blue);height:5px;cursor:pointer;}
.cc-sl-sub{font-size:10px;line-height:1.45;color:var(--t3);margin-top:5px;}

/* 财务联动读数 */
.cc-vol{font-size:12.5px;font-weight:700;color:var(--t3);text-align:center;font-variant-numeric:tabular-nums;}
.cc-vol.has{color:var(--blue);}
.cc-vol-cap{font-size:10px;color:var(--t3);padding:8px 4px 2px;line-height:1.5;}
.cc-result-fixed{position:fixed;left:0;right:0;bottom:0;z-index:40;background:rgba(255,255,255,.97);backdrop-filter:saturate(180%) blur(12px);border-top:1px solid var(--line2);box-shadow:0 -4px 16px rgba(20,25,35,.08);display:flex;align-items:center;gap:22px;padding:14px 24px;}
.cc-rf-head{flex-shrink:0;max-width:36%;}
.cc-rf-title{font-size:14px;font-weight:800;color:var(--t1);margin-bottom:3px;}
.cc-res-h{font-size:12px;font-weight:600;line-height:1.5;color:var(--t2);}
.cc-res-h b{color:var(--blue);font-size:14px;}
.cc-res-h b.down{color:#c0392b;}
.cc-result-rows{flex:1;display:grid;grid-template-columns:repeat(5,1fr);gap:16px;}
.cc-result-rows .cc-sn-row{flex-direction:column;align-items:flex-start;gap:2px;border-bottom:none;border-left:3px solid var(--line);padding:2px 0 2px 11px;}
.cc-result-rows .cc-sn-k{font-size:12px;}
.cc-result-rows .cc-sn-base,.cc-result-rows .cc-sn-ar{display:none;}
.cc-result-rows .cc-sn-now{font-size:19px;min-width:0;text-align:left;}
.cc-result-rows .cc-sn-d{font-size:12px;min-width:0;text-align:left;}

/* 折叠开关 */
.cc-knob-tog{display:flex;align-items:center;width:100%;text-align:left;}
.cc-knob-tog b{color:var(--blue);margin-left:2px;}
.cc-knob-cev{margin-left:auto;font-size:10px;font-weight:700;color:#b06a2c;}
.cc-res-h{font-size:11px;font-weight:700;line-height:1.6;color:var(--t2);margin-bottom:9px;}
.cc-res-h b{color:var(--blue);font-size:13px;}
.cc-res-h b.down{color:#c0392b;}
.cc-sn-row{display:flex;align-items:baseline;gap:7px;padding:6px 0;border-bottom:1px solid #f0f2f4;}
.cc-sn-row:last-of-type{border-bottom:none;}
.cc-sn-k{flex:1;font-size:11.5px;color:var(--t2);font-weight:600;}
.cc-sn-base{font-size:11.5px;color:var(--t3);}
.cc-sn-ar{color:var(--t3);font-size:10px;}
.cc-sn-now{font-size:13.5px;font-weight:800;color:var(--t1);min-width:46px;text-align:right;}
.cc-sn-now.up{color:#1d8a4e;}
.cc-sn-now.down{color:#c0392b;}
.cc-sn-d{font-size:10.5px;font-weight:700;min-width:46px;text-align:right;color:var(--t3);}
.cc-sn-d.up{color:#1d8a4e;}
.cc-sn-d.down{color:#c0392b;}
.cc-sn-foot{font-size:9.5px;line-height:1.5;color:var(--t3);margin-top:9px;}

/* 需求权威数据（下游） */
.cc-dm-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:12px 16px 0;}
.cc-dm-fact{background:var(--blue-soft);border-radius:10px;padding:9px 11px;display:flex;flex-direction:column;gap:1px;}
.cc-dm-fv{font-size:18px;font-weight:800;color:var(--blue);letter-spacing:-.5px;}
.cc-dm-fk{font-size:11px;font-weight:700;color:var(--t1);}
.cc-dm-fn{font-size:10px;line-height:1.4;color:var(--t2);margin-top:1px;}
.cc-dm-sec{font-size:12px;font-weight:800;color:var(--t1);padding:0 16px;margin:14px 0 8px;}
.cc-dm-sec-in{padding:0;margin:11px 0 6px;font-size:11px;color:#b06a2c;}
.cc-srctog{display:inline-flex;align-items:center;gap:6px;font-weight:800;border-bottom:1px dashed #c79a6a;padding-bottom:1px;cursor:pointer;transition:.12s;}
.cc-srctog:hover{color:#a4541c;border-bottom-color:#a4541c;}
.cc-srci{font-size:9.5px;font-weight:700;color:#b06a2c;background:#fbf2e8;padding:1px 6px;border-radius:5px;}
.cc-srcbox{background:#fff;border:1px solid #f0e2d4;border-radius:8px;padding:9px 11px;margin:0 0 8px;display:flex;flex-direction:column;gap:6px;}
.cc-src-line{font-size:10px;line-height:1.5;color:var(--t3);}
.cc-knob .cc-dm-tbl{width:100%;margin:0;}
.cc-knob .cc-dm-tbl td,.cc-knob .cc-dm-tbl th{padding:6px 4px;}
.cc-dm-tbl{width:calc(100% - 32px);margin:0 16px;border-collapse:collapse;table-layout:fixed;}
.cc-dm-tbl th{font-size:10.5px;font-weight:700;color:var(--t3);text-align:right;padding:6px 5px;border-bottom:1px solid var(--line);word-break:break-word;}
.cc-dm-tbl th:first-child{text-align:left;width:42px;}
.cc-dm-tbl td{font-size:11px;text-align:right;padding:7px 5px;border-bottom:1px solid #f0f2f4;color:var(--t1);word-break:break-word;}
.cc-dm-tbl td:first-child{text-align:left;}
.cc-dm-gen{font-weight:800;}
.cc-dm-asp{color:var(--t2);font-size:10px;line-height:1.3;}
.cc-dm-gap{font-size:11.5px;line-height:1.55;color:var(--t1);font-weight:600;background:#fdf6f3;border:1px solid #f3d9d9;border-radius:10px;padding:10px 12px;margin:12px 16px 0;}
.cc-panel .cc-sn-foot{padding:0 16px 14px;}

.cc-foot{font-size:11px;color:var(--t3);padding:14px 0 18px;text-align:center;line-height:1.6;}

/* 敏感性模型 */
.cc-sn-body{padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.cc-sn-ctrl{display:flex;flex-direction:column;gap:14px;}
.cc-sn-gates{display:flex;flex-direction:column;gap:7px;}
.cc-sn-gate{text-align:left;padding:9px 12px;border-radius:10px;border:1px solid var(--line);background:#fbfcfd;transition:.12s;display:flex;flex-direction:column;gap:2px;}
.cc-sn-gate:hover{border-color:#c2cad4;}
.cc-sn-gate.on{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft);background:#fff;}
.cc-sn-gate-n{font-size:13px;font-weight:700;color:var(--t1);}
.cc-sn-gate-d{font-size:10.5px;color:var(--t3);line-height:1.4;}
.cc-sn-slider{background:#f6f7f9;border-radius:12px;padding:13px 15px;}
.cc-sn-sl-top{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;font-weight:700;color:var(--t2);margin-bottom:9px;}
.cc-sn-sl-val{font-size:20px;font-weight:800;color:var(--t1);}
.cc-sn-sl-val.up{color:#1d8a4e;}
.cc-sn-sl-val.down{color:#c0392b;}
.cc-sn-sl-val i{font-style:normal;font-size:10px;font-weight:500;color:var(--t3);margin-left:4px;}
.cc-sn-slider input[type=range]{width:100%;accent-color:var(--blue);height:5px;}
.cc-sn-sl-marks{display:flex;justify-content:space-between;font-size:9.5px;color:var(--t3);margin-top:4px;}
.cc-sn-note{font-size:11px;line-height:1.5;color:var(--t2);margin-top:10px;padding-top:9px;border-top:1px dashed var(--line2);}
.cc-sn-note b{color:#c0392b;}
.cc-sn-out{background:#fbfcfd;border:1px solid var(--line);border-radius:12px;padding:13px 15px;}
.cc-sn-out-h{font-size:11.5px;font-weight:800;color:var(--blue);margin-bottom:10px;}
.cc-sn-row{display:flex;align-items:baseline;gap:8px;padding:7px 0;border-bottom:1px solid #f0f2f4;}
.cc-sn-k{flex:1;font-size:12px;color:var(--t2);font-weight:600;}
.cc-sn-base{font-size:12.5px;color:var(--t3);}
.cc-sn-ar{color:var(--t3);font-size:11px;}
.cc-sn-now{font-size:14px;font-weight:800;color:var(--t1);min-width:54px;text-align:right;}
.cc-sn-now.up{color:#1d8a4e;}
.cc-sn-now.down{color:#c0392b;}
.cc-sn-d{font-size:11px;font-weight:700;min-width:54px;text-align:right;}
.cc-sn-d.up{color:#1d8a4e;}
.cc-sn-d.down{color:#c0392b;}
.cc-sn-foot{font-size:10px;line-height:1.5;color:var(--t3);margin-top:10px;}

/* 需求面板 */
.cc-dm-body{padding:16px;}
.cc-dm-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px;}
.cc-dm-fact{background:var(--blue-soft);border-radius:11px;padding:11px 13px;display:flex;flex-direction:column;gap:2px;}
.cc-dm-fv{font-size:22px;font-weight:800;color:var(--blue);letter-spacing:-.5px;}
.cc-dm-fk{font-size:11.5px;font-weight:700;color:var(--t1);}
.cc-dm-fn{font-size:10.5px;line-height:1.4;color:var(--t2);margin-top:2px;}
.cc-dm-sec{font-size:12px;font-weight:800;color:var(--t1);margin-bottom:8px;}
.cc-dm-tbl{width:100%;border-collapse:collapse;margin-bottom:10px;}
.cc-dm-tbl th{font-size:11px;font-weight:700;color:var(--t3);text-align:right;padding:6px 10px;border-bottom:1px solid var(--line);}
.cc-dm-tbl th:first-child{text-align:left;}
.cc-dm-tbl td{font-size:13px;text-align:right;padding:8px 10px;border-bottom:1px solid #f0f2f4;color:var(--t1);}
.cc-dm-tbl td:first-child{text-align:left;}
.cc-dm-gen{font-weight:800;}
.cc-dm-asp{color:var(--t2);font-size:11.5px;}
.cc-dm-notes{display:flex;flex-direction:column;gap:5px;margin-bottom:12px;}
.cc-dm-unote{font-size:11.5px;line-height:1.5;color:var(--t2);}
.cc-dm-unote b{color:var(--t1);font-weight:700;margin-right:4px;}
.cc-dm-gap{font-size:12px;line-height:1.55;color:var(--t1);font-weight:600;background:#fdf6f3;border:1px solid #f3d9d9;border-radius:10px;padding:11px 13px;}

@media(max-width:1180px){
  .cc-sn-body{grid-template-columns:1fr;}
  .cc-dm-facts{grid-template-columns:repeat(2,1fr);}
}

@media(max-width:1180px){
  .cc-grid{grid-template-columns:1fr;}
  .cc-map{flex-wrap:wrap;}
  .cc-arrow{transform:rotate(90deg);}
}
