/* ============================================================
   广陆数据门户 V0.4 —— 浅色零售橙主题
   基因来源: 零售新签看板 (#ff6a00 主色 / #f4f5f7 底 / YaHei-PingFang)
   ============================================================ */
:root{
  --bg:#f4f5f7; --card:#ffffff; --card-warm:#fffaf5;
  --line:#e8eaee; --line-strong:#d9dce2;
  --brand:#ff6a00; --brand-soft:#fff1e6;
  --blue:#1f6feb; --blue-soft:#eef4fe;
  --good:#22ab63; --good-bg:#f0faf4; --good-line:#b8e6c8;
  --warn:#f5a623; --warn-bg:#fff8e8;
  --bad:#e74c3c; --bad-bg:#fdf0ee;
  --ink:#1a1a1a; --ink-2:#555; --ink-3:#999;
  --shadow:0 1px 3px rgba(16,24,40,.06),0 4px 14px rgba(16,24,40,.05);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:"Microsoft YaHei","PingFang SC",-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink);font-size:13px;line-height:1.55;font-variant-numeric:tabular-nums}
button{font:inherit;cursor:pointer}
a{color:var(--blue)}
b,strong{font-weight:700}

/* ---------- 骨架 ---------- */
.shell{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100vh}
.sidebar{background:#fff;border-right:1px solid var(--line);padding:18px 14px;display:flex;flex-direction:column;gap:16px;position:sticky;top:0;height:100vh;overflow:auto}
.workspace{display:flex;flex-direction:column;min-width:0}
.content{flex:1;padding:18px 26px 40px;outline:none}

/* ---------- 品牌 / 导航 ---------- */
.sidebar-brand{display:flex;align-items:center;gap:10px}
.brand-grid{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,var(--brand),#ff9440);position:relative;flex:none}
.brand-grid::after{content:"";position:absolute;inset:9px;border-radius:3px;background:rgba(255,255,255,.85)}
.sidebar-brand strong{font-size:17px;display:block;line-height:1.2}
.sidebar-brand small{color:var(--ink-3);font-size:10px;letter-spacing:.14em}
.nav-meta{display:flex;justify-content:space-between;color:var(--ink-3);font-size:11px;padding:2px 4px}
.project-nav{flex:1;display:flex;flex-direction:column;gap:12px}
.nav-group-label{display:flex;width:100%;justify-content:space-between;align-items:center;background:none;border:0;color:var(--ink-2);font-size:11px;font-weight:700;letter-spacing:.08em;padding:2px 4px}
.nav-items{display:flex;flex-direction:column;gap:2px;margin-top:6px}
.nav-item{display:flex;align-items:center;gap:9px;width:100%;text-align:left;background:none;border:0;padding:8px 10px;border-radius:8px;color:var(--ink-2);font-size:13px}
.nav-item:hover{background:#f6f7f9}
.nav-item.active{background:var(--brand-soft);color:var(--ink);font-weight:700;box-shadow:inset 3px 0 0 var(--brand)}
.nav-mark{width:22px;height:22px;border-radius:6px;background:#eef0f3;color:var(--ink-2);font-size:11px;font-weight:700;display:grid;place-items:center;flex:none}
.nav-mark svg{width:14px;height:14px;display:block}
.nav-item.active .nav-mark{background:var(--brand);color:#fff}
.state-dot{width:7px;height:7px;border-radius:50%;flex:none;margin-left:auto}
.state-dot.live{background:var(--good)}.state-dot.partial{background:var(--warn)}
.state-dot.cataloged{background:var(--blue)}.state-dot.pending{background:#c9ced6}
.sidebar-foot{display:flex;align-items:center;gap:7px;color:var(--ink-3);font-size:11px;border-top:1px solid var(--line);padding-top:12px;white-space:nowrap;flex-shrink:0}
.live-dot{width:7px;height:7px;border-radius:50%;background:var(--good);box-shadow:0 0 0 3px var(--good-bg)}

/* ---------- 顶栏 / 筛选 ---------- */
.topbar{display:flex;align-items:center;gap:14px;padding:13px 26px;background:#fff;border-bottom:1px solid var(--line)}
.crumb{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-3)}
.crumb i{width:4px;height:4px;border-radius:50%;background:var(--line-strong)}
.crumb strong{font-size:15px;color:var(--ink)}
.topbar-tools{margin-left:auto;display:flex;align-items:center;gap:12px}
.identity{font-size:12px;color:var(--ink-2);background:var(--blue-soft);color:var(--blue);padding:4px 10px;border-radius:20px;font-weight:600}
.quiet-button{border:1px solid var(--line-strong);background:#fff;border-radius:8px;padding:6px 13px;color:var(--ink-2);font-size:12px}
.quiet-button:hover{border-color:var(--brand);color:var(--brand)}
.scopebar{display:flex;align-items:center;gap:16px;padding:11px 26px;background:#fff;border-bottom:1px solid var(--line);flex-wrap:wrap}
.scope-caption{display:block;font-size:10px;letter-spacing:.12em;color:var(--ink-3)}
.scopebar>div:first-child strong{font-size:13px}
.filters{margin-left:auto;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.filters label{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--ink-2)}
.filters select{border:1px solid var(--line-strong);background:#fff;border-radius:8px;padding:5px 8px;font:inherit;color:var(--ink)}
#board-date{border:1px solid var(--line-strong);background:#fff;border-radius:8px;padding:4px 8px;font:inherit;color:var(--ink);color-scheme:light}
.only-operating{display:none}
body.project-operating .only-operating{display:inline-flex}
/* 天气的实时/预报日期不等于业务数据日期，天气页不得显示业务日期筛选。 */
body.project-weather .only-operating{display:none!important}

/* ---------- 状态条 / 通用件 ---------- */
.status{margin:12px 26px 0;padding:8px 14px;border-radius:9px;font-size:12px;background:var(--blue-soft);color:var(--blue)}
.status.error{background:var(--bad-bg);color:var(--bad)}
.eyebrow{margin:0;font-size:10px;letter-spacing:.14em;color:var(--ink-3);font-weight:700}
.empty{color:var(--ink-3);font-size:12.5px;background:#fafbfc;border:1px dashed var(--line-strong);border-radius:9px;padding:12px 14px;text-align:center;margin:0}
.panel{background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:16px 18px}
.panel-title{margin-bottom:12px}
.panel-title h2,.panel-title h3{margin:2px 0 0;font-size:15px}
.block-head{display:flex;align-items:flex-end;justify-content:space-between;margin:22px 0 12px}
.block-head h2{margin:2px 0 0;font-size:19px}
.two-column{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.two-column.lower{margin-top:14px}
.source-badge,.source-status{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;padding:4px 10px;border-radius:20px}
.source-badge.connected,.source-status.live{background:var(--good-bg);color:var(--good);border:1px solid var(--good-line)}

/* ---------- 分区编号头 ---------- */
.sec-head{display:flex;align-items:baseline;gap:10px;margin:26px 0 4px}
.sec-head:first-child{margin-top:0}
.sec-no{width:26px;height:26px;border-radius:8px;background:var(--brand);color:#fff;font-weight:800;font-size:13px;display:grid;place-items:center;align-self:center}
.sec-head h2{margin:0;font-size:18px}
.sec-head small{color:var(--ink-3);letter-spacing:.12em;font-size:10px;font-weight:700}

/* ---------- 摘要条 ---------- */
.summary-bar{display:flex;align-items:center;gap:14px;background:var(--card-warm);border:1px solid #ffe0b8;border-radius:12px;padding:12px 16px;margin-bottom:14px}
.summary-tag{flex:none;background:var(--brand);color:#fff;font-weight:700;font-size:12px;border-radius:8px;padding:5px 11px}
.summary-bar p{margin:0;font-size:13.5px;color:var(--ink)}
.summary-bar b{font-size:14.5px}
.summary-bar .sep{color:var(--line-strong);margin:0 8px}
.summary-bar em{font-style:normal;font-size:12px;padding:2px 8px;border-radius:12px;font-weight:700}
.summary-bar em.ok{background:var(--good-bg);color:var(--good)}
.summary-bar em.bad{background:var(--bad-bg);color:var(--bad)}

/* ---------- KPI 卡 ---------- */
.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:12px;margin-top:12px}
.metric{position:relative;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:14px 16px}
.metric-number{position:absolute;top:10px;right:13px;font-size:10px;font-weight:800;color:#f0b48a;letter-spacing:.08em}
.metric h3{margin:0;font-size:12px;color:var(--ink-2);font-weight:500}
.metric strong{display:block;font-size:29px;line-height:1.25;margin:4px 0 2px;color:var(--brand);font-weight:800;letter-spacing:-.01em}
.metric strong.bad{color:var(--bad)}
.metric small{color:var(--ink-3);font-size:11px}
.delta-chip{display:inline-block;font-size:10.5px;font-weight:700;padding:1px 6px;border-radius:10px;vertical-align:middle}
.delta-up{color:var(--good)}.delta-down{color:var(--bad)}
.chip-g{background:var(--good-bg);color:var(--good)}.chip-r{background:var(--bad-bg);color:var(--bad)}

/* ---------- 城市大表 ---------- */
.table-scroll{overflow-x:auto}
.board-table{width:100%;border-collapse:collapse;font-size:12.5px}
.board-table th,.board-table td{padding:8px 10px;text-align:right;border-bottom:1px solid var(--line);white-space:nowrap}
.board-table th:first-child,.board-table td:first-child{text-align:left}
.board-table thead th{color:var(--ink-3);font-weight:600;font-size:11px;border-bottom:1.5px solid var(--line-strong);background:#fafbfc}
.board-table tbody tr:hover{background:#fafbfd}
.board-table .total-row{background:var(--brand-soft);font-weight:700}
.board-table .total-row th{font-weight:800;color:var(--brand)}
.board-table th{font-weight:600;color:var(--ink)}
.cell-bad{color:var(--bad);font-weight:800}
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin:0 2px}
.dot.g{background:var(--good)}.dot.y{background:var(--warn)}.dot.r{background:var(--bad)}

/* ---------- 补贴结构 ---------- */
.subsidy-bar{display:flex;height:16px;border-radius:9px;overflow:hidden;background:#eef0f3;margin:4px 0 12px}
.subsidy-bar i{height:100%}
.subsidy-legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:10px}
.subsidy-legend>div{border:1px solid var(--line);border-radius:10px;padding:8px 11px;display:flex;flex-direction:column;gap:1px}
.subsidy-legend small{color:var(--ink-3);font-size:11px}
.subsidy-legend strong{font-size:19px}
.subsidy-legend em{font-style:normal;font-size:10.5px;color:var(--ink-3)}
.sw{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:5px;vertical-align:baseline}
.sub-card.alert{border-color:#f3b6ad;box-shadow:inset 0 0 0 1px var(--bad)}
.split-grid>div strong{font-size:22px}

/* ---------- 趋势图 ---------- */
.trend{margin-top:4px}
.trend-legend{display:flex;gap:16px;font-size:11.5px;color:var(--ink-2);margin-bottom:6px}
.trend-legend b{font-size:13px;color:var(--ink)}
.trend svg{width:100%;height:150px;display:block}
.trend-axis{display:flex;justify-content:space-between;color:var(--ink-3);font-size:10.5px;margin-top:4px}

/* ---------- 阅读指引 ---------- */
.read-order{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:7px;font-size:13px}
.read-order li::marker{color:var(--brand);font-weight:800}

/* ---------- 行动 / 知识 / 运行 ---------- */
.mini-section{margin-bottom:12px}
.mini-section>b{display:block;font-size:12.5px;margin-bottom:7px}
.task-item{display:flex;align-items:center;gap:9px;padding:7px 0;border-bottom:1px dashed var(--line);font-size:12.5px}
.task-item span{width:7px;height:7px;border-radius:50%;background:var(--brand);flex:none}
.task-item.overdue span{background:var(--bad)}
.task-item small{display:block;color:var(--ink-3)}
.task-item>div{flex:1}
.small-button{border:1px solid var(--brand);background:#fff;color:var(--brand);border-radius:7px;padding:3px 10px;font-size:11.5px}
.small-button:hover{background:var(--brand);color:#fff}
.rule-item{padding:6px 0;border-bottom:1px dashed var(--line);font-size:12.5px}
.rule-item small{display:block;color:var(--ink-3)}
.knowledge-list{display:flex;flex-direction:column;gap:7px}
.knowledge-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:#fafbfc;border:1px solid var(--line);border-radius:9px;padding:9px 12px}
.knowledge-item:hover{border-color:var(--brand)}
.knowledge-item small{display:block;color:var(--ink-3);font-size:11px}
.knowledge-item em{margin-left:auto;font-style:normal;font-size:10.5px;color:var(--good)}
.tier{flex:none;font-size:10px;font-weight:800;border-radius:5px;padding:2px 6px;background:var(--blue-soft);color:var(--blue)}
.run-list{display:flex;flex-direction:column;gap:6px}
.run-item{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:9px;padding:8px 12px;font-size:12.5px}
.run-item small{display:block;color:var(--ink-3)}
.run-item time{margin-left:auto;color:var(--ink-2);font-size:11px}
.archive-note{display:flex;align-items:center;gap:12px;background:#fafbfc;border:1px solid var(--line);border-radius:9px;padding:10px 13px}
.archive-note small{display:block;color:var(--ink-3)}
.archive-date{background:var(--blue-soft);color:var(--blue);border-radius:8px;padding:5px 9px;font-weight:700;font-size:11.5px}
.inline-link{background:none;border:0;color:var(--blue);font-size:12px;padding:0}
.support-panel{margin-top:14px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:0 18px}
.support-panel summary{cursor:pointer;font-size:13px;font-weight:700;color:var(--ink-2);padding:13px 0;list-style:none;display:flex;align-items:center;gap:8px}
.support-panel summary::before{content:"▸";color:var(--brand);transition:transform .15s}
.support-panel[open] summary::before{transform:rotate(90deg)}
.support-panel summary em{font-style:normal;font-weight:400;color:var(--ink-3);font-size:11.5px}
.support-body{padding:2px 0 16px}

/* ---------- 项目简报（非经营项目）---------- */
.content-head h1{margin:2px 0 4px;font-size:21px}
.context-state{display:flex;align-items:center;gap:7px;color:var(--ink-2);font-size:12px}
.project-brief{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);gap:16px;margin-bottom:14px}
.source-card{background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:16px 18px}
.source-card b{display:block;margin:8px 0 4px}
.source-card small{color:var(--ink-3)}
.source-status.pending,.source-status.cataloged{background:var(--blue-soft);color:var(--blue)}
.metric-map .chips{display:flex;flex-wrap:wrap;gap:8px}
.chips span{background:#fff;border:1px solid var(--line);border-radius:20px;padding:5px 13px;font-size:12px;color:var(--ink-2)}
.workspace-tabs{display:flex;gap:8px;margin-bottom:4px}
.workspace-tabs a{text-decoration:none;font-size:11.5px;color:var(--ink-2);background:#fff;border:1px solid var(--line);border-radius:20px;padding:4px 12px}
.error-state{background:#fff;border:1px solid var(--line);border-radius:12px;padding:36px;text-align:center}
.error-state h1{font-size:17px}
.mobile-only{display:none}

/* ---------- 弹窗 ---------- */
.dialog{border:0;border-radius:14px;padding:0;box-shadow:0 28px 70px rgba(16,24,40,.28);width:min(460px,calc(100vw - 32px))}
.dialog::backdrop{background:rgba(26,26,26,.45)}
.form-card,.document-card{padding:22px;display:block;width:100%}
.dialog-title{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px}
.dialog-title h2{margin:2px 0 0;font-size:17px}
.close{border:0;background:#f1f2f4;color:var(--ink-2);width:28px;height:28px;border-radius:50%;font-size:16px;line-height:1}
.form-card label{display:grid;gap:5px;font-size:12px;font-weight:700;color:var(--ink-2);margin-bottom:13px}
.form-card input{border:1px solid var(--line-strong);border-radius:8px;padding:8px 10px;font:inherit}
.primary-action{border:0;background:var(--brand);color:#fff;border-radius:9px;padding:9px 18px;font-weight:700;width:100%;font-size:13.5px}
.text-action{border:0;background:none;color:var(--blue);font-size:12px;text-align:left}
.document-card pre{white-space:pre-wrap;max-height:60vh;overflow:auto;background:#fafbfc;border:1px solid var(--line);border-radius:9px;padding:13px;font-size:12px}

/* ---------- 移动端 ---------- */
@media(max-width:1200px){.shell{grid-template-columns:220px minmax(0,1fr)}}
@media(max-width:820px){.shell{display:block}.sidebar{position:fixed;z-index:30;left:0;top:0;bottom:0;width:250px;transform:translateX(-102%);transition:transform .2s}.body.nav-open .sidebar,body.nav-open .sidebar{transform:none}.mobile-only{display:inline-flex}.content{padding:14px}.topbar,.scopebar{padding-left:14px;padding-right:14px}}
@media(max-width:480px){.metrics{grid-template-columns:1fr 1fr}.two-column{grid-template-columns:1fr}.filters{margin-left:0}}
.sec-extra{margin-left:auto;color:var(--ink-3);font-size:11px}
.lower-gap{height:8px}
.board-note{color:#999;font-size:11px;margin:10px 0 0}
.sub-warn{background:var(--bad-bg);border-radius:9px;padding:8px 12px;font-size:12.5px;color:var(--bad);margin:12px 0 0;font-weight:600}
.review-btn{border:1px solid var(--brand);background:var(--brand-soft);color:var(--brand);border-radius:14px;padding:2px 10px;font-size:11px;font-weight:700;margin-left:6px}
.review-btn b{font-size:12px}
.users-list{display:flex;flex-direction:column;gap:8px;max-height:55vh;overflow:auto}
.user-row{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:9px;padding:9px 12px;font-size:12.5px}
.user-row small{display:block;color:#999;font-size:11px}
.user-row .u-meta{color:#bbb}
.user-row span{margin-left:auto;display:flex;gap:6px}
.small-button.reject{border-color:var(--bad);color:var(--bad)}
.small-button.reject:hover{background:var(--bad);color:#fff}
.cell-good{color:var(--good);font-weight:700}
.cell-warn{color:var(--warn);font-weight:700}

/* ---------- 用户管理（仅管理员可见） ---------- */
.um-body{padding:0 2px}
.um-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;font-size:13px}
.um-table th{background:#f6f7f9;text-align:left;padding:9px 12px;font-size:12px;color:var(--ink-3);font-weight:700;border-bottom:1px solid var(--line)}
.um-table td{padding:9px 12px;border-bottom:1px solid #f0f1f4;vertical-align:middle}
.um-table tr:last-child td{border-bottom:none}
.um-ops{white-space:nowrap}
.quiet-button.danger{color:var(--bad)}
.quiet-button.danger:hover{background:var(--bad-bg)}
.um-pill{display:inline-block;font-size:10.5px;font-weight:800;border-radius:5px;padding:2px 7px;background:#eef0f3;color:var(--ink-2)}
.um-pill.ok{background:#e5f5ec;color:#1d7a46}
.um-pill.pending{background:#fff4dd;color:#9a6b00}
.um-pill.bad{background:var(--bad-bg);color:var(--bad)}
.um-pill.adminb{background:#e8efff;color:#2456c8;margin-left:4px}
.perm-hint{font-size:12px;color:var(--ink-3);margin:0 0 10px}
.perm-list{max-height:52vh;overflow:auto;display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
.um-fs{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:0}
.um-fs legend{font-size:11px;font-weight:800;color:var(--ink-3);padding:0 6px;letter-spacing:.05em}
.um-check{display:inline-flex;align-items:center;gap:6px;margin:4px 14px 4px 0;font-size:13px;cursor:pointer}
.nav-mark.admin{background:#e8efff;color:#2456c8}

/* 走势图逐日日期轴 */
.trend-axis-full{position:relative;height:13px;margin-top:4px;overflow:visible}
.trend-axis-full span{position:absolute;transform:translateX(-50%);font-size:8.5px;line-height:13px;color:var(--ink-3);white-space:nowrap}

/* 补贴看板 */
.cell-redline{background:#c0392b !important;color:#fff !important;font-weight:800}
.quad-pill{display:inline-block;font-size:11px;font-weight:700;border-radius:5px;padding:2px 8px;white-space:nowrap}

/* ── 总商考核汇总：压缩网格 ── */
.zs-wrap .panel { margin-bottom: 10px; }
.zs-sec-title { font-size: 13px; font-weight: 700; margin: 14px 0 4px; padding-left: 8px; border-left: 3px solid #2563eb; }
.zs-table { width: 100%; border-collapse: collapse; table-layout: auto; }
.zs-table td { border: 1px solid #e5e9f0; padding: 3px 6px; font-size: 11px; line-height: 1.35; vertical-align: top; white-space: pre-line; word-break: break-all; max-width: 260px; }
.zs-table tr:first-child td { background: #f6f8fb; font-weight: 600; }
.zs-na { color: #b9c0cc !important; }
.zs-table td.zs-k { background: #f6f8fb; font-weight: 600; white-space: nowrap; }
.zs-na { color: #b9c0cc !important; }
.zs-table td.zs-money { color: #e67e22; font-weight: 700; }

/* ── 营业项目（营业播报）── */
.metric-row{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 14px}
.metric-row .metric{flex:1;min-width:130px;border:1px solid var(--line,#e4e7ee);border-radius:8px;padding:8px 12px;background:#fff}
.metric-row .metric small{display:block;color:#8a94a6;font-size:11px;margin-bottom:2px}
.metric-row .metric strong{font-size:17px;color:#1c2333;display:inline-flex;align-items:center;gap:6px}
.alert-box{border:1px solid #f3d9d3;background:#fdf6f4;border-radius:8px;padding:8px 12px;margin:0 0 12px;font-size:12.5px;color:#7c3a2d}
.alert-box.ok{border-color:#d6ead9;background:#f4faf5;color:#256b39}
.alert-box ul{margin:4px 0 0 18px;padding:0}
td.up{color:#1f9254;font-weight:700}td.down{color:#c0392b;font-weight:700}
.bd-group h4{margin:10px 0 4px;font-size:13px;color:#33415c}
.bad{color:#c0392b;font-weight:700}

/* ── 经营板块 UE ── */
.zs-tab{border:1px solid #d7dce6;background:#fff;border-radius:6px;padding:5px 12px;font-size:12px;cursor:pointer}
.zs-tab.active{background:#2f54eb;color:#fff;border-color:#2f54eb}
#jy-postage input,#jy-ops,#jy-cpc{width:110px;border:1px solid #d7dce6;border-radius:6px;padding:4px 8px;font-size:13px}
.jy-grid td{white-space:nowrap;font-size:11.5px}
.jy-grid .cut-row{background:#f6f8ff}
.jy-grid .total-row{background:#eef2ff;font-weight:700}
.ue-panel{margin-bottom:12px;border-left-width:4px}
.ue-panel.tone-orange{border-left-color:#f97316;background:linear-gradient(180deg,#fffaf5,#fff)}
.ue-panel.tone-orange h3{color:#c2570a}
.ue-panel.tone-blue{border-left-color:#2f54eb}
#jy-ds,#jy-de{border:1px solid #d7dce6;border-radius:6px;padding:4px 8px;font-size:13px;width:150px}
.metric strong.hl-orange{color:#f97316 !important;font-weight:800 !important}
.metric strong.hl-orange .up,.metric strong.hl-orange .down{color:inherit}

/* ── UE可调参数：三列网格 · 橙色粗体 ── */
.jy-params{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:10px;margin-top:6px}
@media(max-width:900px){.jy-params{grid-template-columns:repeat(2,minmax(160px,1fr))}}
.jy-param{display:flex;flex-direction:column;gap:4px;border:1px solid #ffd9b3;background:#fffaf5;border-radius:10px;padding:10px 12px}
.jy-param span{font-size:12.5px;font-weight:800;color:#c2570a}
.jy-param input{width:100%;border:1px solid #f3c892;border-radius:8px;padding:6px 10px;font-size:14px;font-weight:700;color:#7a3a08;background:#fff}
.jy-param input:focus{outline:2px solid #f97316;border-color:#f97316}

/* ── UE可调参数：横排banner ── */
.jy-banner{display:flex;align-items:center;flex-wrap:wrap;gap:4px 14px;background:linear-gradient(90deg,#fff4e8,#ffefd9);border:1px solid #ffd9b3;border-radius:12px;padding:8px 14px;margin-bottom:10px}
.jy-banner .jy-bt{font-size:13px;font-weight:800;color:#c2570a;white-space:nowrap}
.jy-params{display:flex !important;flex-wrap:wrap;gap:4px 14px;grid-template-columns:none !important;margin:0 !important;border:none !important;background:none !important;padding:0 !important}
.jy-pill{display:inline-flex;align-items:center;gap:5px;border:none !important;background:none !important;padding:0 !important;border-radius:0 !important}
.jy-pill span{font-size:12px;font-weight:800;color:#c2570a;white-space:nowrap}
.jy-pill input{width:66px !important;padding:2px 6px !important;font-size:12.5px;font-weight:800;color:#7a3a08;border:1px solid #f3c892 !important;border-radius:6px !important;background:#fff}

/* ── UE一键清空 ── */
.jy-clear{border:1px solid #f3c892;background:#fff;border-radius:8px;padding:3px 12px;font-size:12px;font-weight:800;color:#c2570a;cursor:pointer;white-space:nowrap}
.jy-clear:hover{background:#ffe9d2}
.jy-clear:active{transform:scale(0.96)}

/* 业务线五段卡片 */
.seg-band{margin-top:14px}
.seg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.seg-card{background:#fff;border:1px solid #eef0f4;border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:6px}
.seg-card h4{margin:0;font-size:13px;color:#5a6478;font-weight:700}
.seg-card strong{font-size:22px;line-height:1.1;color:#1c2433}
.seg-card small{color:#8a94a6;font-size:12px}
.seg-sub{display:flex;justify-content:space-between;font-size:12px;color:#5a6478;border-top:1px dashed #eef0f4;padding-top:6px;margin-top:auto}

.seg-stats{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;font-size:12px;color:#5a6478;border-top:1px dashed #eef0f4;padding-top:6px}
.seg-stats b{color:#1c2433}

.seg-lines{display:flex;flex-direction:column;gap:3px;border-top:1px dashed #eef0f4;padding-top:8px;margin-top:auto}
.seg-line{display:flex;justify-content:space-between;font-size:12px;color:#5a6478}
.seg-line b{font-weight:600;color:#1c2433}

.seg-line b.brand{color:#ff6a00;font-weight:700}

/* ---------- 时段对比（经营项目四时间对比） ---------- */
.jyc-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.jyc-cap{font-size:12px;color:#8a94a6;margin-left:10px}
.jyc-avgwrap{font-size:12px;display:inline-flex;align-items:center;gap:4px;margin-left:auto;font-weight:700;color:#5a6478}
.jyc-slots{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.jyc-slot{border:1px solid #e5e9f2;border-radius:8px;padding:6px 8px;min-width:235px;background:#fbfcfe}
.jyc-slot-head{display:flex;justify-content:space-between;align-items:center}
.jyc-sltag{font-size:11px;color:#5a6478;font-weight:700}
.jyc-clearslot{border:none;background:none;color:#c0392b;font-size:14px;cursor:pointer;line-height:1}
.jyc-dates{display:flex;gap:6px;margin:6px 0}
.jyc-date{border:1px solid #d7dde8;border-radius:6px;padding:2px 4px;font-size:12px}
.jyc-chips{display:flex;flex-wrap:wrap;gap:4px}
.jyc-chip{border:1px solid #e5e9f2;background:#f6f8fb;border-radius:999px;font-size:11px;padding:2px 8px;cursor:pointer;color:#1c2433}
.jyc-chip:hover{background:#eef2f8}
.jyc-badge{display:inline-block;background:#f97316;color:#fff;border-radius:4px;font-size:10px;padding:1px 5px;vertical-align:middle}
.jyc-table{table-layout:fixed}
.jyc-table th,.jyc-table td{text-align:right;white-space:nowrap}
.jyc-table .jyc-metric-th,.jyc-table .jyc-mlabel{text-align:left}
.jyc-table thead th b{display:block;font-size:13px}
.jyc-table thead th small{color:#8a94a6;font-weight:400}
.jyc-basebtn{border:1px solid #d7dde8;background:#fff;border-radius:999px;font-size:10px;padding:1px 8px;cursor:pointer;color:#5a6478;margin-bottom:2px}
.jyc-basebtn.on{background:#3b82f6;border-color:#3b82f6;color:#fff}
.jyc-base-col{background:#f6f8fb}
.jyc-mlabel{font-weight:600}
.jyc-negmark{font-style:normal;font-size:10px;color:#b8860b;margin-left:4px}
.jyc-d{display:block;font-size:11px;font-weight:700}
.jyc-d.pos{color:#1f9254}
.jyc-d.neg{color:#c0392b}
.jyc-d.neu{color:#98a2b3;font-weight:400}
details.jyc-grp{margin-top:8px}
details.jyc-grp summary{cursor:pointer;font-weight:700;padding:4px 0}
details.jyc-grp summary small{font-weight:400;color:#8a94a6}

/* ── 数据新鲜度徽标 ── */
.fresh-pill{display:inline-flex;align-items:center;gap:5px;background:#f2f4f8;border:1px solid #e3e7ee;border-radius:999px;padding:2px 10px;font-size:11px;font-weight:700;color:#5a6478;cursor:default}
.fresh-pill .dot{width:7px;height:7px;border-radius:50%;display:inline-block}
.fresh-pill.ok .dot{background:#2f9e44}.fresh-pill.ok{color:#2b6e39}
.fresh-pill.lag .dot{background:#f0a202}.fresh-pill.lag{color:#9c6f08;border-color:#f3ddb0;background:#fffaf0}

/* ---------- 经营项目·区间对比 ---------- */
.operating-compare{margin:4px 0 18px;padding:18px;border:1px solid #dbe8ff;border-radius:14px;background:linear-gradient(180deg,#f7faff 0%,#fff 54%);box-shadow:var(--shadow)}
.opc-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.opc-toolbar h2{margin:2px 0 2px;font-size:18px}.opc-toolbar small{color:var(--ink-3);font-size:11.5px}
.opc-views{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.opc-view{border:1px solid var(--line-strong);background:#fff;color:var(--ink-2);border-radius:16px;padding:4px 10px;font-size:11.5px}.opc-view:hover{border-color:var(--blue);color:var(--blue)}.opc-view.active{border-color:var(--blue);background:var(--blue);color:#fff;font-weight:700}
.opc-quality-row{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 10px}.opc-quality{display:inline-flex;border-radius:12px;padding:3px 8px;font-size:10.5px;font-weight:700;background:var(--warn-bg);color:#a86b00}.opc-quality.normalized{background:var(--blue-soft);color:var(--blue)}
.opc-summary{display:flex;align-items:flex-start;gap:12px;border:1px solid #d8e7ff;background:#fff;padding:11px 13px;border-radius:10px;margin:0 0 12px}.opc-summary-label{flex:none;font-size:11px;font-weight:800;color:#fff;background:var(--blue);border-radius:6px;padding:3px 7px}.opc-summary p{margin:0;color:var(--ink);font-size:13px;line-height:1.65}
.opc-cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.opc-card{position:relative;border:1px solid var(--line);border-radius:10px;background:#fff;padding:11px 12px;min-height:104px}.opc-card small{display:block;color:var(--ink-3);font-size:10.5px}.opc-card strong{display:block;color:var(--ink);font-size:21px;line-height:1.3;margin-top:2px;white-space:nowrap;letter-spacing:-.02em}.opc-card>span:not(.opc-delta){display:block;color:var(--ink-3);font-size:10.5px;margin-top:2px}.opc-delta{display:block;font-size:11px;font-weight:800;margin-top:3px}.opc-delta.pos,.board-table .pos{color:var(--good)}.opc-delta.neg,.board-table .neg{color:var(--bad)}
.opc-lower{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(250px,.75fr);gap:12px;margin-top:12px}.opc-lower .panel{box-shadow:none;padding:14px}.opc-tag{font-size:10.5px;font-weight:700;border-radius:10px;padding:2px 7px;background:#f2f4f7;color:var(--ink-2)}.opc-tag.supply{background:var(--bad-bg);color:var(--bad)}.opc-tag.subsidy,.opc-tag.price,.opc-tag.demand{background:var(--warn-bg);color:#a86b00}.opc-tag.growth{background:var(--good-bg);color:var(--good)}
.opc-actions ol{padding-left:19px;margin:2px 0 0;display:flex;flex-direction:column;gap:9px}.opc-actions li{padding-bottom:8px;border-bottom:1px dashed var(--line);font-size:12.5px}.opc-actions li:last-child{border-bottom:0}.opc-actions li small{display:block;color:var(--ink-3);font-size:10.5px;margin-top:2px}
@media(max-width:1180px){.opc-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.opc-toolbar{flex-direction:column}.opc-views{justify-content:flex-start}.opc-lower{grid-template-columns:1fr}.opc-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.operating-compare{padding:14px}}@media(max-width:420px){.opc-cards{grid-template-columns:1fr}.opc-card{min-height:auto}}

/* ---------- 使用说明书 ---------- */
.guide-page{max-width:1220px;margin:0 auto}.guide-hero{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:20px;align-items:center;border:1px solid #ffd2ad;border-radius:16px;padding:26px 30px;background:radial-gradient(circle at 88% 20%,#ffe5d0 0,rgba(255,229,208,.2) 22%,transparent 42%),linear-gradient(135deg,#fff8f1,#fff)}.guide-hero h2{font-size:25px;margin:4px 0 8px;letter-spacing:-.03em}.guide-hero p{max-width:760px;margin:0;color:var(--ink-2);font-size:14px}.guide-hero-actions{display:flex;align-items:center;gap:14px;margin-top:15px}.guide-hero-actions a{font-weight:700;font-size:12px}.guide-jump{border:0;background:var(--brand);color:#fff;border-radius:8px;padding:6px 11px;font-weight:700;font-size:12px}.guide-jump:hover{filter:brightness(.94)}.guide-hero-badge{width:136px;height:136px;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:8px;color:#fff;background:linear-gradient(145deg,#ff7d23,var(--brand));box-shadow:0 12px 28px rgba(255,106,0,.24)}.guide-hero-badge b{font-size:42px;line-height:1}.guide-hero-badge span{font-weight:700;font-size:13px;line-height:1.35}.guide-section{margin-top:28px}.guide-sec-title{display:flex;gap:11px;align-items:center;margin:0 0 12px}.guide-sec-title>span{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--brand);color:#fff;font-size:13px;font-weight:800}.guide-sec-title h3{margin:1px 0 0;font-size:18px}.guide-route{display:grid;grid-template-columns:1fr 28px 1fr 28px 1fr;align-items:center;gap:9px}.guide-route article{min-height:126px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow)}.guide-route i{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:var(--brand-soft);color:var(--brand);font-style:normal;font-weight:800}.guide-route h4{font-size:15px;margin:8px 0 3px}.guide-route p{margin:0;color:var(--ink-2);font-size:12.5px}.guide-route>b{text-align:center;font-size:20px;color:var(--brand)}
.guide-filter-demo{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);gap:14px}.guide-browser{position:relative;overflow:hidden;min-height:208px;border:1px solid #dfe4eb;border-radius:12px;background:#f7f9fc;box-shadow:var(--shadow)}.guide-browser-top{display:flex;align-items:center;gap:8px;padding:12px 15px;background:#fff;border-bottom:1px solid var(--line)}.guide-browser-top b{font-size:11px;color:var(--ink-3)}.guide-browser-top strong{font-size:14px}.guide-browser-top em{font-style:normal;color:var(--line-strong)}.guide-browser-top button{margin-left:auto;border:1px solid var(--line-strong);border-radius:6px;padding:4px 8px;background:#fff;color:var(--ink-2);font-size:11px}.guide-browser-filter{display:flex;align-items:center;gap:11px;padding:12px 15px;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.03)}.guide-browser-filter>div{margin-right:auto}.guide-browser-filter small{display:block;color:var(--ink-3);font-size:10px}.guide-browser-filter b{font-size:11.5px}.guide-browser-filter label{display:flex;gap:5px;align-items:center;font-size:11px;color:var(--ink-2)}.guide-browser-filter select,.guide-browser-filter input{border:1px solid var(--line-strong);background:#fff;border-radius:5px;padding:3px 5px;font:inherit;width:100px}.guide-browser-callout{position:absolute;font-size:11px;line-height:1.45;color:#80520d;background:#fff6dc;border:1px solid #ffd477;border-radius:8px;padding:7px 9px;max-width:235px;box-shadow:0 4px 14px rgba(141,92,0,.1)}.guide-browser-callout b{display:inline-grid;place-items:center;width:17px;height:17px;border-radius:50%;background:var(--brand);color:#fff;margin-right:4px}.guide-browser-callout.city{left:13px;bottom:14px}.guide-browser-callout.date{right:13px;bottom:14px}.guide-tips{display:flex;flex-direction:column;gap:8px}.guide-tips article{flex:1;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px}.guide-tips b{font-size:12px}.guide-tips p{margin:3px 0 0;color:var(--ink-2);font-size:11.5px;line-height:1.55}
.guide-city-board{border:1px solid #dbe8ff;border-radius:12px;background:#f8fbff;padding:13px}.guide-periods{display:flex;align-items:center;flex-wrap:wrap;gap:7px;padding-bottom:11px;border-bottom:1px dashed #c9d9f4}.guide-periods b{font-size:11px;color:var(--ink-2);margin-right:4px}.guide-periods span{padding:3px 8px;border-radius:14px;background:#fff;border:1px solid #dae2ed;font-size:10.5px;color:var(--ink-2)}.guide-periods .on{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:700}.guide-city-layout{display:grid;grid-template-columns:1.1fr 1.55fr 1fr;gap:9px;margin-top:11px}.guide-city-layout article,.guide-kpi-demo{border:1px solid var(--line);border-radius:9px;background:#fff;padding:10px}.guide-city-layout small{font-weight:800;color:var(--blue);font-size:10px}.guide-city-layout p{font-size:11.5px;line-height:1.5;color:var(--ink-2);margin:5px 0 0}.guide-kpi-demo{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;text-align:center;align-content:center}.guide-kpi-demo b{font-size:12px}.guide-kpi-demo strong{color:var(--ink-3);font-size:10px;font-weight:500}.guide-read-order{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:11px}.guide-read-order article{border-left:3px solid var(--brand);padding:3px 0 3px 10px}.guide-read-order b{font-size:12px}.guide-read-order p{margin:3px 0 0;color:var(--ink-2);font-size:11.5px;line-height:1.55}
.guide-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.guide-project-grid article{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:11px;background:#fff;padding:13px;min-height:164px}.guide-project-grid h4{margin:0 0 8px;font-size:14px}.guide-project-grid p{margin:0 0 6px;color:var(--ink-2);font-size:11.5px;line-height:1.55}.guide-project-grid p b{color:var(--ink)}.guide-project-grid .guide-jump{align-self:flex-start;margin-top:auto}.guide-exclude{padding:8px 11px;border-radius:8px;background:#f7f8fa;color:var(--ink-3);font-size:11px;margin:10px 0 0}.guide-habits{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.guide-habits article{display:flex;gap:10px;padding:13px;border:1px solid var(--line);background:#fff;border-radius:11px}.guide-habits i{display:grid;place-items:center;flex:none;width:22px;height:22px;border-radius:50%;background:var(--good-bg);color:var(--good);font-style:normal;font-weight:800}.guide-habits b{font-size:12px}.guide-habits p{margin:3px 0 0;color:var(--ink-2);font-size:11.5px;line-height:1.55}
@media(max-width:920px){.guide-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-filter-demo{grid-template-columns:1fr}.guide-tips{display:grid;grid-template-columns:repeat(3,1fr)}.guide-city-layout{grid-template-columns:1fr 1.4fr}.guide-contrib-demo{display:none}.guide-habits{grid-template-columns:1fr}}@media(max-width:620px){.guide-hero{grid-template-columns:1fr;padding:20px}.guide-hero-badge{display:none}.guide-route{grid-template-columns:1fr}.guide-route>b{transform:rotate(90deg)}.guide-browser-filter{flex-wrap:wrap}.guide-browser-filter>div{width:100%;margin:0}.guide-browser-callout{position:static;margin:9px 12px 0;max-width:none}.guide-browser{padding-bottom:10px}.guide-tips{grid-template-columns:1fr}.guide-city-layout{grid-template-columns:1fr}.guide-kpi-demo{grid-template-columns:repeat(2,1fr)}.guide-read-order,.guide-project-grid{grid-template-columns:1fr}.guide-project-grid article{min-height:0}}

/* 城市大盘：流量、转化与履约扩展指标 */
.opc-cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.opc-quality.cross_source_anchor{background:#e9f5ff;color:#1668a8}.opc-quality.cross_source_unavailable{background:#fff0ec;color:#bd421e}.opc-tag.fulfillment,.opc-tag.conversion,.opc-tag.traffic{background:#fff1e6;color:#bb5f00}

/* ---------- Section Lead / 全局章节引导标题 ---------- */
.section-heading{display:flex;align-items:center;gap:11px;margin:0 0 12px;min-height:34px}.section-heading-index{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:9px;background:var(--brand);color:#fff;font-size:13px;font-weight:800;line-height:1}.section-heading-copy{min-width:0}.section-heading-copy .eyebrow{margin:0}.section-heading-copy h2{margin:1px 0 0;color:var(--ink);font-size:18px;line-height:1.28;letter-spacing:-.015em}.section-heading-meta{margin-left:auto;flex:none;border:1px solid #cfe0f7;background:#f4f9ff;color:var(--blue);border-radius:14px;padding:4px 8px;font-size:10.5px;font-weight:700;white-space:nowrap}.operating-section{margin-top:28px}.operating-section:first-child{margin-top:0}.opc-toolbar-section{align-items:center;margin:0 0 10px;padding:10px 12px;border:1px solid #dbe8ff;border-radius:10px;background:#fff}.opc-toolbar-section>small{color:var(--ink-2);font-size:11.5px;font-weight:600}.operating-section .opc-contrib,.operating-section .opc-actions{box-shadow:none;padding:14px}.operating-section .opc-actions{max-width:720px}.operating-section .opc-quality-row{margin-bottom:0}
@media(max-width:760px){.section-heading{align-items:flex-start;flex-wrap:wrap}.section-heading-copy{flex:1}.section-heading-meta{margin:0 0 0 43px;white-space:normal}.opc-toolbar-section{align-items:flex-start}.opc-toolbar-section>small{line-height:1.5}}@media(max-width:420px){.section-heading-copy h2{font-size:16px}.section-heading-index{width:30px;height:30px}.section-heading-meta{width:calc(100% - 43px)}}

/* ---------- 城市大盘：完整四段式 ---------- */
.city-dashboard{margin:4px 0 18px;padding:18px;border:1px solid #dbe8ff;border-radius:14px;background:linear-gradient(180deg,#f7faff 0%,#fff 56%);box-shadow:var(--shadow)}.city-dashboard-section{margin-top:32px}.city-dashboard-section:first-child{margin-top:0}.city-dashboard .summary-bar{margin-bottom:10px}.city-dashboard .seg-band{margin-top:12px}.city-dashboard .operating-trend{margin-top:14px;box-shadow:none}.dashboard-subhead{display:flex;align-items:baseline;gap:9px;margin:17px 0 9px;padding-left:10px;border-left:3px solid var(--brand)}.dashboard-subhead .eyebrow{margin:0}.dashboard-subhead h3{margin:0;color:var(--ink);font-size:14px;letter-spacing:-.01em}.city-dashboard .opc-contrib,.city-dashboard .opc-actions{box-shadow:none;padding:14px}.city-dashboard .opc-actions{max-width:720px}
@media(max-width:760px){.city-dashboard{padding:14px}.city-dashboard-section{margin-top:26px}.dashboard-subhead{align-items:flex-start;flex-direction:column;gap:2px}.dashboard-subhead h3{font-size:13px}}

/* ---------- 补贴看板：完整四段式 ---------- */
.subsidy-dashboard{margin:4px 0 18px;padding:18px;border:1px solid #ffe1c7;border-radius:14px;background:linear-gradient(180deg,#fffaf5 0%,#fff 56%);box-shadow:var(--shadow)}.subsidy-dashboard-section{margin-top:32px}.subsidy-dashboard-section:first-child{margin-top:0}.subsidy-dashboard .panel{box-shadow:none}.subsidy-dashboard .board-note{margin-top:10px}.subsidy-dashboard .two-column.lower{margin-top:0}.subsidy-dashboard .dashboard-subhead{margin-top:17px}
@media(max-width:760px){.subsidy-dashboard{padding:14px}.subsidy-dashboard-section{margin-top:26px}}

/* ---------- 营业项目：完整四段式 ---------- */
.yingye-dashboard{margin:4px 0 18px;padding:18px;border:1px solid #d8eadf;border-radius:14px;background:linear-gradient(180deg,#f5fbf7 0%,#fff 56%);box-shadow:var(--shadow)}.yingye-dashboard-section{margin-top:32px}.yingye-dashboard-section:first-child{margin-top:0}.yingye-dashboard .panel{box-shadow:none}.yingye-dashboard .board-note{margin-top:10px}.yingye-dashboard .dashboard-subhead{margin-top:17px}
@media(max-width:760px){.yingye-dashboard{padding:14px}.yingye-dashboard-section{margin-top:26px}}

/* ---------- 明细表：十行内部滚动 ---------- */
.table-scroll.table-scroll-10{max-height:366px;overflow:auto;border:1px solid var(--line);border-radius:9px;background:#fff}.table-scroll.table-scroll-10 .board-table{min-width:max-content}.table-scroll.table-scroll-10 .board-table thead th{position:sticky;top:0;z-index:1;box-shadow:0 1px 0 var(--line-strong)}.detail-scroll-hint{margin:8px 0 0;color:var(--ink-3);font-size:11px}.detail-scroll-hint b{color:var(--ink-2)}

/* ---------- 营业项目·商户池：浅橙表头、固定首列、十行内滚动 ---------- */
.merchant-pool-list{display:grid;gap:14px;margin-top:14px}.yingye-dashboard .merchant-pool-list .panel{margin:0}.yingye-dashboard .merchant-pool-list .table-scroll.table-scroll-10 .board-table thead th{background:#fff1e5;color:#8a4b16}.yingye-dashboard .merchant-pool-list .board-table thead th:first-child{position:sticky;left:0;z-index:3;background:#fff1e5;box-shadow:1px 0 0 #f0d7c2}.yingye-dashboard .merchant-pool-list .board-table tbody td:first-child{position:sticky;left:0;z-index:1;background:#fff;box-shadow:1px 0 0 var(--line);font-weight:700}.yingye-dashboard .merchant-pool-list .board-table tbody tr:hover td:first-child{background:#fafbfd}@media(max-width:760px){.merchant-pool-list{gap:12px;margin-top:12px}}

/* ---------- 考核项目：完整四段式与数据血缘 ---------- */
.assessment-dashboard{margin:4px 0 18px;padding:18px;border:1px solid #d9e7ff;border-radius:14px;background:linear-gradient(180deg,#f6faff 0%,#fff 56%);box-shadow:var(--shadow)}.assessment-dashboard-section{margin-top:32px}.assessment-dashboard-section:first-child{margin-top:0}.assessment-dashboard .panel{box-shadow:none}.assessment-dashboard .dashboard-subhead{margin-top:17px}.assessment-module{margin-top:10px}.assessment-provenance{display:flex;align-items:flex-start;flex-wrap:wrap;gap:5px 11px;margin:9px 0 0;padding-top:8px;border-top:1px dashed var(--line);color:var(--ink-3);font-size:10.5px;line-height:1.55}.assessment-provenance span{min-width:0}.assessment-provenance code{padding:1px 4px;border-radius:4px;background:#f2f5fa;color:#566277;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.assessment-provenance b{color:#9ba5b5}.assessment-dashboard .table-scroll.table-scroll-10 .zs-table{min-width:640px}.assessment-dashboard .table-scroll.table-scroll-10 .zs-table thead th{position:sticky;top:0;z-index:1;background:#f6f8fb;box-shadow:0 1px 0 var(--line-strong)}.assessment-dashboard .zs-table th{border:1px solid #e5e9f0;padding:3px 6px;color:var(--ink-2);font-size:11px;font-weight:700;text-align:left;white-space:nowrap}.assessment-module .zs-table thead+tbody tr:first-child td{background:#fff;font-weight:400}.assessment-module .zs-table thead+tbody tr:first-child td.zs-k{background:#f6f8fb;font-weight:600}
@media(max-width:760px){.assessment-dashboard{padding:14px}.assessment-dashboard-section{margin-top:26px}.assessment-provenance{font-size:10px}.assessment-dashboard .table-scroll.table-scroll-10 .zs-table{min-width:560px}}

/* ---------- 新签项目：完整四段式与页底数据脚注 ---------- */
.newsign-dashboard{margin:4px 0 18px;padding:18px;border:1px solid #e2ddff;border-radius:14px;background:linear-gradient(180deg,#faf9ff 0%,#fff 56%);box-shadow:var(--shadow)}.newsign-dashboard-section{margin-top:32px}.newsign-dashboard-section:first-child{margin-top:0}.newsign-dashboard .panel{box-shadow:none}.newsign-dashboard .dashboard-subhead{margin-top:17px}.newsign-data-footnote{display:flex;align-items:flex-start;gap:7px 10px;flex-wrap:wrap;margin:22px 0 0;padding:9px 11px;border-top:1px dashed #d8ddef;background:#fafbfe;color:var(--ink-3);font-size:10.5px;line-height:1.55}.newsign-data-footnote>b{flex:none;color:#707b90;font-size:10px;letter-spacing:.04em}.newsign-data-footnote span{min-width:0}.newsign-data-footnote code{padding:1px 4px;border-radius:4px;background:#f0f2f8;color:#59657a;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.newsign-data-footnote strong{color:var(--ink-2);font-weight:700}
@media(max-width:760px){.newsign-dashboard{padding:14px}.newsign-dashboard-section{margin-top:26px}.newsign-data-footnote{margin-top:18px;font-size:10px}}

/* ---------- 考核总览：专业宽表排版 ---------- */
.kaohe-overview-dashboard .assessment-module{overflow:hidden;border:1px solid #e3e9f3;border-radius:12px;background:#fff}.kaohe-overview-dashboard .assessment-module .panel-title{padding:2px 2px 10px;border-bottom:1px solid #edf1f6;margin-bottom:10px}.kaohe-overview-dashboard .assessment-module .panel-title h3{font-size:15px;letter-spacing:-.01em}.kaohe-overview-dashboard .ko-table-scroll{position:relative;overflow:auto;border:1px solid #e1e8f2;border-radius:10px;background:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}.kaohe-overview-dashboard .ko-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;table-layout:auto;font-variant-numeric:tabular-nums}.kaohe-overview-dashboard .ko-table th,.kaohe-overview-dashboard .ko-table td{border:0;border-bottom:1px solid #edf1f5;vertical-align:middle;word-break:normal}.kaohe-overview-dashboard .ko-table thead th{position:sticky;top:0;z-index:2;background:#f4f7fb;color:#5f6c80;font-size:10.5px;font-weight:800;line-height:1.35;letter-spacing:.01em;text-align:right;white-space:normal;border-bottom:1.5px solid #cfd9e8}.kaohe-overview-dashboard .ko-table tbody td{padding:9px 12px;color:#263348;font-size:12px;line-height:1.45;text-align:right;white-space:nowrap}.kaohe-overview-dashboard .ko-table tbody tr:nth-child(even) td{background:#fbfcfe}.kaohe-overview-dashboard .ko-table tbody tr:hover td{background:#f1f7ff}.kaohe-overview-dashboard .ko-table .ko-key{position:sticky;left:0;z-index:3;min-width:86px;text-align:left!important;box-shadow:1px 0 0 #dfe6f0}.kaohe-overview-dashboard .ko-table thead .ko-key{z-index:4;background:#eaf2ff;color:#245b98}.kaohe-overview-dashboard .ko-table tbody .ko-key{background:#f7f9fc;color:#25324a;font-weight:800}.kaohe-overview-dashboard .ko-table tbody tr:nth-child(even) .ko-key{background:#f4f7fb}.kaohe-overview-dashboard .ko-table tbody tr:hover .ko-key{background:#e8f2ff}.kaohe-overview-dashboard .ko-table td.zs-money{color:#c56b14;font-weight:800}.kaohe-overview-dashboard .ko-table td.zs-na{color:#aab4c3!important}.kaohe-overview-dashboard .ko-table-standard th,.kaohe-overview-dashboard .ko-table-standard td{padding-left:14px;padding-right:14px}.kaohe-overview-dashboard .ko-table-wide th{min-width:92px;padding:8px 10px}.kaohe-overview-dashboard .ko-table-ultra th{min-width:88px;padding:7px 9px}.kaohe-overview-dashboard .ko-table-ultra td{padding:8px 10px;font-size:11.5px}.kaohe-overview-dashboard .ko-table-scroll::-webkit-scrollbar{height:9px}.kaohe-overview-dashboard .ko-table-scroll::-webkit-scrollbar-thumb{background:#cbd6e6;border:2px solid #fff;border-radius:8px}.kaohe-overview-dashboard .ko-table-scroll::-webkit-scrollbar-track{background:#f5f7fb;border-radius:8px}.kaohe-overview-dashboard .assessment-module .assessment-provenance{margin:10px 2px 0;padding:9px 2px 1px}
@media(max-width:760px){.kaohe-overview-dashboard .assessment-module{padding:12px}.kaohe-overview-dashboard .assessment-module .panel-title h3{font-size:14px}.kaohe-overview-dashboard .ko-table tbody td{padding:8px 10px;font-size:11.5px}.kaohe-overview-dashboard .ko-table thead th{font-size:10px}.kaohe-overview-dashboard .ko-table .ko-key{min-width:76px}.kaohe-overview-dashboard .ko-table-wide th,.kaohe-overview-dashboard .ko-table-ultra th{min-width:78px}}

/* ---------- 营销项目：P1 决策型经营看板 ---------- */
.marketing-dashboard-p1{margin:4px 0 18px;padding:20px;border:1px solid #dde8f6;border-radius:16px;background:radial-gradient(circle at 92% 2%,#eaf5ff 0,rgba(234,245,255,.34) 19%,transparent 42%),linear-gradient(180deg,#f8fbff 0%,#fff 41%);box-shadow:var(--shadow)}
.marketing-dashboard-p1 .section-heading{margin-top:38px}.marketing-dashboard-p1 .section-heading:first-child{margin-top:0}
.marketing-decision-grid{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(260px,.72fr);gap:12px}
.marketing-verdict{min-height:190px;padding:20px!important;border:1px solid #cadced!important;border-radius:14px!important;background:linear-gradient(135deg,#f4f9ff 0%,#fff 68%)!important;box-shadow:none!important;overflow:hidden;position:relative}.marketing-verdict:after{content:"";position:absolute;right:-40px;top:-56px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(45,128,220,.13),rgba(45,128,220,0) 68%);pointer-events:none}.marketing-verdict.is-critical{border-color:#ffd6c9!important;background:linear-gradient(135deg,#fff7f4 0%,#fff 68%)!important}.marketing-verdict.is-watch{border-color:#f3dfb5!important;background:linear-gradient(135deg,#fffaf0 0%,#fff 68%)!important}.marketing-verdict.is-steady{border-color:#d6e9de!important;background:linear-gradient(135deg,#f5fbf7 0%,#fff 68%)!important}.marketing-verdict .eyebrow{margin:0 0 10px}.marketing-verdict-main{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;position:relative;z-index:1}.marketing-verdict h3{max-width:420px;margin:0;color:var(--ink);font-size:20px;line-height:1.3;letter-spacing:-.025em}.marketing-verdict strong{display:block;margin-top:9px;color:var(--ink);font-size:42px;line-height:1;font-weight:800;letter-spacing:-.055em}.marketing-verdict.is-critical strong{color:#c95d36}.marketing-verdict.is-watch strong{color:#b77912}.marketing-verdict p{margin:5px 0 0;color:var(--ink-3);font-size:11px}.marketing-verdict-context{min-width:138px;padding:10px 12px;border:1px solid rgba(159,187,219,.56);border-radius:10px;background:rgba(255,255,255,.76)}.marketing-verdict-context span,.marketing-verdict-context small{display:block;color:var(--ink-3);font-size:10px}.marketing-verdict-context b{display:block;margin:3px 0 2px;font-size:15px}.marketing-verdict-foot{position:relative;z-index:1;display:flex;gap:18px;margin-top:15px;padding-top:10px;border-top:1px dashed #d3dfeb;color:var(--ink-2);font-size:11px}.marketing-verdict-foot b{color:var(--ink);font-weight:800}
.marketing-support-grid{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:8px}.marketing-support-card{display:grid;grid-template-columns:minmax(88px,.7fr) minmax(105px,.9fr);align-items:center;gap:3px 8px;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:#fff;box-shadow:0 3px 8px rgba(31,52,79,.035)}.marketing-support-card>span{color:var(--ink-3);font-size:10.5px;font-weight:700}.marketing-support-card strong{color:var(--ink);font-size:17px;line-height:1.1;letter-spacing:-.02em;white-space:nowrap}.marketing-support-card small{grid-column:1/-1;color:var(--ink-3);font-size:10.5px;line-height:1.25}
.marketing-table-card{overflow:hidden;box-shadow:none}.marketing-table-card .panel-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:10px}.marketing-table-card .panel-title h3{min-width:0;margin:0;font-size:15px}.marketing-table-card .table-count{font-size:10.5px;color:var(--ink-3);font-weight:500;margin-left:6px}.marketing-table{min-width:940px;border-collapse:separate;border-spacing:0;table-layout:auto}.marketing-table th,.marketing-table td{padding:9px 12px;line-height:1.45;white-space:nowrap;border-bottom:1px solid var(--line);font-size:12px}.marketing-table thead th{position:sticky;top:0;z-index:2;background:#f4f7fb;color:var(--ink-2);font-size:10.5px;font-weight:700;letter-spacing:.01em;border-bottom:1px solid var(--line-strong);text-align:right}.marketing-table thead th:first-child{text-align:left}.marketing-table tbody tr:nth-child(even){background:#fafbfd}.marketing-table tbody tr:hover{background:#f0f6ff}.marketing-table tbody th[scope="row"]{position:sticky;left:0;z-index:1;background:inherit;color:var(--ink);font-weight:700;text-align:left}.marketing-table tbody tr:nth-child(even) th[scope="row"]{background:#fafbfd}.marketing-table tbody tr:hover th[scope="row"]{background:#f0f6ff}.marketing-table tbody td{text-align:right;color:var(--ink-2);font-variant-numeric:tabular-nums}.marketing-table .cell-good,.marketing-table .cell-warn,.marketing-table .cell-bad{font-weight:800}.marketing-priority-table{border-color:#d8e6f5}.marketing-priority-table .marketing-table{min-width:760px}.marketing-priority-table .marketing-table td:nth-child(3),.marketing-priority-table .marketing-table td:last-child{text-align:left;white-space:normal;min-width:160px}.marketing-city-summary .marketing-table{min-width:800px}.marketing-full-table{margin:0;border:0;border-radius:0;background:transparent}.marketing-full-table .panel-title{padding:0 0 8px;margin:0 0 8px;border-bottom:1px solid #edf1f5}.marketing-dashboard-p1 .table-scroll-10{max-height:390px}.marketing-dashboard-p1 .board-note{margin-top:10px}
.marketing-campaign-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:10px}.marketing-campaign-band{min-height:100px;padding:13px 14px;border:1px solid var(--line);border-radius:11px;background:#fff}.marketing-campaign-band>span{display:block;color:var(--ink-3);font-size:10.5px;font-weight:800}.marketing-campaign-band strong{display:block;margin:3px 0 8px;color:var(--ink);font-size:22px;line-height:1}.marketing-campaign-band div{display:flex;flex-wrap:wrap;gap:4px}.marketing-campaign-band i{display:inline-block;padding:3px 6px;border-radius:6px;background:#f3f6fa;color:var(--ink-2);font-style:normal;font-size:10px;line-height:1.2}.marketing-campaign-band small{color:var(--ink-3);font-size:10px}.marketing-campaign-band.risk{border-color:#f1c5bb;background:#fff8f6}.marketing-campaign-band.risk strong{color:#bf5036}.marketing-campaign-band.risk i{background:#fdece8;color:#a64631}.marketing-campaign-band.watch{border-color:#efdeaa;background:#fffbf2}.marketing-campaign-band.watch strong{color:#aa7514}.marketing-campaign-band.watch i{background:#fff2cd;color:#8d640f}.marketing-campaign-band.good{border-color:#cde6d7;background:#f7fcf8}.marketing-campaign-band.good strong{color:#2e7d4b}.marketing-campaign-band.good i{background:#e5f5ea;color:#276b40}
.marketing-disclosure{margin-top:10px;border:1px solid #dfe7f0;border-radius:12px;background:#fff;overflow:hidden}.marketing-disclosure summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;cursor:pointer;list-style:none}.marketing-disclosure summary::-webkit-details-marker{display:none}.marketing-disclosure summary:before{content:"+";display:grid;place-items:center;flex:none;order:2;width:20px;height:20px;border-radius:50%;background:#edf4fb;color:var(--blue);font-size:16px;line-height:1;font-weight:500}.marketing-disclosure[open] summary:before{content:"−"}.marketing-disclosure summary>span:first-child{min-width:0}.marketing-disclosure summary b{display:block;color:var(--ink);font-size:13px}.marketing-disclosure summary small{display:block;margin-top:2px;color:var(--ink-3);font-size:10.5px;line-height:1.4}.marketing-disclosure-meta{margin-left:auto;color:var(--ink-3);font-size:10.5px;white-space:nowrap}.marketing-disclosure[open] summary{border-bottom:1px solid #e7edf4;background:#f9fbfe}.marketing-disclosure-body{padding:12px;background:#fbfcfe}.marketing-disclosure-body .marketing-table-card{padding:0;background:transparent}.marketing-disclosure-body .marketing-table-card+.marketing-table-card{margin-top:12px}.marketing-disclosure-body .marketing-table-card .panel-title h3{font-size:13px}.marketing-disclosure-body .marketing-full-table{box-shadow:none}
.marketing-action-panel{background:linear-gradient(135deg,#fff 0%,#f7fbff 100%);border-color:#d8e7f5!important}.marketing-action-plan{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 16px;margin:4px 0 0;padding:0;list-style:none}.marketing-action-plan li{display:flex;gap:9px;padding:10px 0;border-bottom:1px dashed #dce5ef}.marketing-action-plan li>span{display:grid;place-items:center;flex:none;width:25px;height:25px;border-radius:7px;background:#eaf3ff;color:var(--blue);font-size:10px;font-weight:800}.marketing-action-plan b{display:block;color:var(--ink);font-size:12px;line-height:1.35}.marketing-action-plan small{display:block;margin-top:3px;color:var(--ink-3);font-size:10.5px;line-height:1.45}.marketing-data-footnote{margin:18px 2px 0;padding-top:10px;border-top:1px dashed #d9e2ec;color:var(--ink-3);font-size:10px;line-height:1.7;letter-spacing:.01em}.marketing-data-footnote b{color:var(--ink-2);font-weight:700}
@media (max-width:960px){.marketing-decision-grid{grid-template-columns:1fr}.marketing-support-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none}.marketing-support-card{grid-template-columns:1fr}.marketing-action-plan{grid-template-columns:1fr}}@media (max-width:760px){.marketing-dashboard-p1{padding:14px}.marketing-dashboard-p1 .section-heading{margin-top:28px}.marketing-verdict{min-height:auto;padding:16px!important}.marketing-verdict-main{align-items:flex-start;flex-direction:column}.marketing-verdict h3{font-size:18px}.marketing-verdict strong{font-size:36px}.marketing-verdict-context{width:100%}.marketing-verdict-foot{flex-direction:column;gap:5px}.marketing-support-grid,.marketing-campaign-strip{grid-template-columns:1fr}.marketing-support-card{grid-template-columns:minmax(92px,.7fr) minmax(105px,.9fr)}.marketing-table th,.marketing-table td{padding:8px 10px;font-size:11px}.marketing-table thead th{font-size:10px}.marketing-dashboard-p1 .table-scroll-10{max-height:350px}.marketing-disclosure summary{padding:12px}.marketing-disclosure-meta{display:none}.marketing-action-plan{gap:0}}

/* ---------- 品运项目：P1 决策型经营看板 ---------- */
.pin-dashboard{margin:4px 0 18px;padding:20px;border:1px solid #e4e0f5;border-radius:16px;background:radial-gradient(circle at 93% 1%,#f0edff 0,rgba(240,237,255,.36) 19%,transparent 42%),linear-gradient(180deg,#fbfaff 0%,#fff 42%);box-shadow:var(--shadow)}
.pin-dashboard .section-heading{margin-top:38px}.pin-dashboard .section-heading:first-child{margin-top:0}
.pin-decision-grid{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(260px,.72fr);gap:12px}.pin-verdict{min-height:190px;padding:20px!important;border:1px solid #d8d0f2!important;border-radius:14px!important;background:linear-gradient(135deg,#f8f6ff 0%,#fff 68%)!important;box-shadow:none!important;overflow:hidden;position:relative}.pin-verdict:after{content:"";position:absolute;right:-44px;top:-56px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(117,85,205,.13),rgba(117,85,205,0) 68%);pointer-events:none}.pin-verdict.is-critical{border-color:#f4ccc2!important;background:linear-gradient(135deg,#fff7f5 0%,#fff 68%)!important}.pin-verdict.is-watch{border-color:#f1dfb4!important;background:linear-gradient(135deg,#fffaf1 0%,#fff 68%)!important}.pin-verdict.is-steady{border-color:#d1e9d9!important;background:linear-gradient(135deg,#f5fbf7 0%,#fff 68%)!important}.pin-verdict .eyebrow{margin:0 0 10px}.pin-verdict-main{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;position:relative;z-index:1}.pin-verdict h3{max-width:430px;margin:0;color:var(--ink);font-size:20px;line-height:1.3;letter-spacing:-.025em}.pin-verdict strong{display:block;margin-top:9px;color:#5e43b4;font-size:42px;line-height:1;font-weight:800;letter-spacing:-.055em}.pin-verdict.is-critical strong{color:#c65c3a}.pin-verdict.is-watch strong{color:#b37a13}.pin-verdict p{margin:5px 0 0;color:var(--ink-3);font-size:11px}.pin-verdict-context{min-width:138px;padding:10px 12px;border:1px solid rgba(178,162,227,.6);border-radius:10px;background:rgba(255,255,255,.8)}.pin-verdict-context span,.pin-verdict-context small{display:block;color:var(--ink-3);font-size:10px}.pin-verdict-context b{display:block;margin:3px 0 2px;font-size:15px}.pin-verdict-foot{position:relative;z-index:1;display:flex;gap:18px;margin-top:15px;padding-top:10px;border-top:1px dashed #ddd6f2;color:var(--ink-2);font-size:11px}.pin-verdict-foot b{color:var(--ink);font-weight:800}
.pin-support-grid{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:8px}.pin-support-card{display:grid;grid-template-columns:minmax(92px,.7fr) minmax(105px,.9fr);align-items:center;gap:3px 8px;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:#fff;box-shadow:0 3px 8px rgba(53,39,94,.035)}.pin-support-card>span{color:var(--ink-3);font-size:10.5px;font-weight:700}.pin-support-card strong{color:var(--ink);font-size:17px;line-height:1.1;letter-spacing:-.02em;white-space:nowrap}.pin-support-card small{grid-column:1/-1;color:var(--ink-3);font-size:10.5px;line-height:1.25}
.pin-table-card{overflow:hidden;box-shadow:none}.pin-table-card .panel-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:10px}.pin-table-card .panel-title h3{min-width:0;margin:0;font-size:15px}.pin-table-card .table-count{font-size:10.5px;color:var(--ink-3);font-weight:500;margin-left:6px}.pin-table{min-width:940px;border-collapse:separate;border-spacing:0;table-layout:auto}.pin-table th,.pin-table td{padding:9px 12px;line-height:1.45;white-space:nowrap;border-bottom:1px solid var(--line);font-size:12px}.pin-table thead th{position:sticky;top:0;z-index:2;background:#f6f5fb;color:var(--ink-2);font-size:10.5px;font-weight:700;letter-spacing:.01em;border-bottom:1px solid var(--line-strong);text-align:right}.pin-table thead th:first-child{text-align:left}.pin-table tbody tr:nth-child(even){background:#fcfbfe}.pin-table tbody tr:hover{background:#f4f1ff}.pin-table tbody th[scope="row"]{position:sticky;left:0;z-index:1;background:inherit;color:var(--ink);font-weight:700;text-align:left}.pin-table tbody tr:nth-child(even) th[scope="row"]{background:#fcfbfe}.pin-table tbody tr:hover th[scope="row"]{background:#f4f1ff}.pin-table tbody td{text-align:right;color:var(--ink-2);font-variant-numeric:tabular-nums}.pin-table .cell-good,.pin-table .cell-warn,.pin-table .cell-bad{font-weight:800}.pin-priority-table{border-color:#ded7f2}.pin-priority-table .pin-table{min-width:860px}.pin-priority-table .pin-table td:nth-child(3),.pin-priority-table .pin-table td:last-child{text-align:left;white-space:normal;min-width:155px}.pin-dashboard .table-scroll-10{max-height:390px}.pin-dashboard .board-note{margin-top:10px}.pin-full-table{margin:0;border:0;border-radius:0;background:transparent}.pin-full-table .panel-title{padding:0 0 8px;margin:0 0 8px;border-bottom:1px solid #edf1f5}.pin-full-table .panel-title h3{font-size:13px}
.pin-disclosure{margin-top:10px;border:1px solid #e2deee;border-radius:12px;background:#fff;overflow:hidden}.pin-disclosure summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;cursor:pointer;list-style:none}.pin-disclosure summary::-webkit-details-marker{display:none}.pin-disclosure summary:before{content:"+";display:grid;place-items:center;flex:none;order:2;width:20px;height:20px;border-radius:50%;background:#f0edff;color:#6649bd;font-size:16px;line-height:1;font-weight:500}.pin-disclosure[open] summary:before{content:"−"}.pin-disclosure summary>span:first-child{min-width:0}.pin-disclosure summary b{display:block;color:var(--ink);font-size:13px}.pin-disclosure summary small{display:block;margin-top:2px;color:var(--ink-3);font-size:10.5px;line-height:1.4}.pin-disclosure-meta{margin-left:auto;color:var(--ink-3);font-size:10.5px;white-space:nowrap}.pin-disclosure[open] summary{border-bottom:1px solid #ece9f4;background:#faf9fe}.pin-disclosure-body{padding:12px;background:#fcfbfe}.pin-disclosure-body .pin-table-card{padding:0;background:transparent}.pin-disclosure-body .pin-table-card+.pin-table-card{margin-top:12px}.pin-disclosure-body .pin-full-table{box-shadow:none}
.pin-bpt-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pin-bpt-card{min-height:128px;padding:15px;border:1px solid var(--line);border-radius:12px;background:#fff}.pin-bpt-card>span{display:block;color:var(--ink-3);font-size:10.5px;font-weight:800}.pin-bpt-card strong{display:block;margin:3px 0;color:var(--ink);font-size:25px;letter-spacing:-.03em}.pin-bpt-card small{display:block;color:var(--ink-3);font-size:10.5px}.pin-bpt-card div{display:flex;flex-wrap:wrap;gap:4px;margin-top:9px}.pin-bpt-card i{padding:3px 6px;border-radius:6px;background:#f2f4f8;color:var(--ink-2);font-style:normal;font-size:10px}.pin-bpt-card em{color:var(--ink-3);font-size:10.5px;font-style:normal}.pin-bpt-card.process{border-color:#d7e4f8;background:#f9fbff}.pin-bpt-card.process strong{color:#2766af}.pin-bpt-card.process i{background:#eaf3ff;color:#245c9d}.pin-bpt-card.incentive{border-color:#ead8be;background:#fffbf4}.pin-bpt-card.incentive strong{color:#a86e12}.pin-bpt-card.incentive i{background:#fff0d3;color:#8b5b0a}
.pin-action-panel{background:linear-gradient(135deg,#fff 0%,#f9f7ff 100%);border-color:#e2dcf3!important}.pin-action-plan{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 16px;margin:4px 0 0;padding:0;list-style:none}.pin-action-plan li{display:flex;gap:9px;padding:10px 0;border-bottom:1px dashed #e2ddec}.pin-action-plan li>span{display:grid;place-items:center;flex:none;width:25px;height:25px;border-radius:7px;background:#eeeaff;color:#6247ba;font-size:10px;font-weight:800}.pin-action-plan b{display:block;color:var(--ink);font-size:12px;line-height:1.35}.pin-action-plan small{display:block;margin-top:3px;color:var(--ink-3);font-size:10.5px;line-height:1.45}.pin-data-footnote{margin:18px 2px 0;padding-top:10px;border-top:1px dashed #ddd8e9;color:var(--ink-3);font-size:10px;line-height:1.7;letter-spacing:.01em}.pin-data-footnote b{color:var(--ink-2);font-weight:700}.pin-data-footnote code{padding:1px 4px;border-radius:4px;background:#f0eef7;color:#615d78;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}
@media(max-width:960px){.pin-decision-grid{grid-template-columns:1fr}.pin-support-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none}.pin-support-card{grid-template-columns:1fr}.pin-action-plan{grid-template-columns:1fr}}@media(max-width:760px){.pin-dashboard{padding:14px}.pin-dashboard .section-heading{margin-top:28px}.pin-verdict{min-height:auto;padding:16px!important}.pin-verdict-main{align-items:flex-start;flex-direction:column}.pin-verdict h3{font-size:18px}.pin-verdict strong{font-size:36px}.pin-verdict-context{width:100%}.pin-verdict-foot{flex-direction:column;gap:5px}.pin-support-grid,.pin-bpt-summary{grid-template-columns:1fr}.pin-support-card{grid-template-columns:minmax(92px,.7fr) minmax(105px,.9fr)}.pin-table th,.pin-table td{padding:8px 10px;font-size:11px}.pin-table thead th{font-size:10px}.pin-dashboard .table-scroll-10{max-height:350px}.pin-disclosure summary{padding:12px}.pin-disclosure-meta{display:none}.pin-action-plan{gap:0}}

/* 营销活动全字段：滚动容器内表头与首列必须固定，数据行单独滚动 */
.marketing-dashboard-p1 .table-scroll.table-scroll-10{position:relative;overflow:auto}
.marketing-dashboard-p1 .table-scroll.table-scroll-10 .marketing-table thead th{position:sticky;top:0;z-index:5;background:#f4f7fb;box-shadow:0 1px 0 var(--line-strong)}
.marketing-dashboard-p1 .table-scroll.table-scroll-10 .marketing-table thead th:first-child{left:0;z-index:6;background:#eaf2ff;color:#245b98}
.marketing-dashboard-p1 .marketing-activity-table .marketing-table{min-width:1720px}
.marketing-dashboard-p1 .marketing-activity-table .table-scroll-10{max-height:390px}

/* ---------- 数据优先：营销与品运专项主线 ---------- */
.marketing-dashboard-data-first{margin:4px 0 18px;padding:18px;border:1px solid #dbe8f6;border-radius:14px;background:linear-gradient(180deg,#f8fbff 0%,#fff 54%);box-shadow:var(--shadow)}
.marketing-dashboard-section,.pin-dashboard-section{margin-top:32px}.marketing-dashboard-section:first-child,.pin-dashboard-section:first-child{margin-top:0}
.marketing-dashboard-data-first .panel,.pin-dashboard .panel{box-shadow:none}.marketing-dashboard-data-first .dashboard-subhead,.pin-dashboard .dashboard-subhead{margin-top:16px}
.marketing-dashboard-data-first .marketing-full-table{margin:10px 0 0;border:1px solid #e1e8f1;border-radius:11px;background:#fff}.marketing-dashboard-data-first .marketing-full-table+.marketing-full-table{margin-top:12px}
.pin-dashboard-data-first .pin-full-table{margin:10px 0 0;border:1px solid #e4dff1;border-radius:11px;background:#fff}.pin-dashboard-data-first .pin-full-table+.pin-full-table{margin-top:12px}
.data-table-provenance{margin:9px 0 0;padding-top:8px;border-top:1px dashed #dfe4eb;color:#99a2b1;font-size:10.5px;line-height:1.55}.data-table-provenance::first-letter{color:#8994a6}
@media(max-width:760px){.marketing-dashboard-data-first{padding:14px}.marketing-dashboard-section,.pin-dashboard-section{margin-top:26px}.data-table-provenance{font-size:10px}}

/* ---------- 餐饮项目：表格优先、轻量标记 ---------- */
.canyin-dashboard{margin:4px 0 18px;padding:18px;border:1px solid #f0dfd2;border-radius:14px;background:linear-gradient(180deg,#fffaf7 0%,#fff 46%);box-shadow:var(--shadow)}
.canyin-dashboard .panel{box-shadow:none}.canyin-dashboard-section{margin-top:32px}.canyin-dashboard-section:first-child{margin-top:0}.canyin-dashboard .dashboard-subhead{margin-top:17px}
.canyin-table-legend{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:10px 2px 14px;color:#7e8795;font-size:11px;line-height:1.55}
.canyin-legend-mark{display:inline-block;width:8px;height:8px;border-radius:50%;margin-left:4px}.canyin-legend-unmet{background:#d5564b}.canyin-legend-met{background:#4f9a70}
.canyin-table-card{margin-top:14px;border:1px solid #eee4dc;border-radius:11px;background:#fff;overflow:hidden}.canyin-table-card .panel-title{display:block;margin-bottom:10px;padding:14px 15px 0;text-align:left}.canyin-table-card .panel-title h3{margin:0;font-size:15px;text-align:left}.canyin-title-hint{display:inline-block;margin-left:7px;color:var(--bad);font-size:10.5px;font-weight:600;vertical-align:middle}
.canyin-dashboard .table-scroll.table-scroll-10.canyin-table-scroll{max-height:none;margin:0 14px;border-color:#e8e4e0;border-radius:9px}.canyin-table{min-width:1100px;border-collapse:separate;border-spacing:0;table-layout:auto}.canyin-table th,.canyin-table td{padding:9px 12px;line-height:1.45;white-space:nowrap;border-bottom:1px solid #f0ece8;font-size:12px;color:var(--ink-2);font-variant-numeric:tabular-nums;text-align:right}.canyin-table thead th{text-align:right;color:#6f7180;font-size:10.5px;font-weight:700;letter-spacing:.01em;border-bottom:1px solid #dfd8d1;background:#fff8f2}.canyin-table thead th:first-child,.canyin-table tbody tr>th:first-child{text-align:left}.canyin-table tbody tr:nth-child(even){background:#fffdfb}.canyin-table tbody tr:hover{background:#fff6ee}.canyin-dashboard .table-scroll.table-scroll-10 .canyin-table thead th{position:sticky;top:0;z-index:5;background:#fff8f2;box-shadow:0 1px 0 #dfd8d1}.canyin-dashboard .table-scroll.table-scroll-10 .canyin-table thead th:first-child{left:0;z-index:6;background:#e4e7ec;color:#4a5568}.canyin-table tbody tr>th:first-child{position:sticky;left:0;z-index:1;background:#f0f2f5;color:var(--ink);font-weight:700;box-shadow:2px 0 0 #d5dae0}.canyin-table tbody tr:nth-child(even)>th:first-child{background:#e9ecf0}.canyin-table tbody tr:hover>th:first-child{background:#e0e4ea}.canyin-table .cell-good{background:#eef8f1!important;color:#277548;font-weight:800}.canyin-table .cell-bad{background:#fff0ee!important;color:#b3443c;font-weight:800}.canyin-unmet{display:block;margin-top:2px;color:#c44a41;font-size:9.5px;font-weight:700;letter-spacing:.01em}.canyin-dashboard .data-table-provenance{margin:9px 15px 13px}.canyin-raw-table{margin-top:14px;border:1px solid #ece6e0;border-radius:10px;background:#fff}.canyin-raw-table summary{padding:13px 15px;cursor:pointer;color:var(--ink-2);font-size:13px;font-weight:700}
@media(max-width:760px){.canyin-dashboard{padding:14px}.canyin-dashboard-section{margin-top:26px}.canyin-table-card .panel-title{padding:12px 12px 0}.canyin-dashboard .table-scroll.table-scroll-10.canyin-table-scroll{max-height:none;margin:0 12px}.canyin-dashboard .data-table-provenance{margin-left:12px;margin-right:12px}.canyin-table th,.canyin-table td{padding:8px 10px;font-size:11px}.canyin-table thead th{font-size:10px}.canyin-table-legend{margin-top:8px}}

/* ---------- 旧版业务页统一为 Section Lead 布局 ---------- */
.logistics-dashboard,.visit-dashboard,.retail-dashboard,.yongzeng-dashboard{margin:4px 0 18px;padding:18px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,#fbfcfe 0%,#fff 52%);box-shadow:var(--shadow)}
.logistics-dashboard-section,.visit-dashboard-section,.retail-dashboard-section,.yongzeng-dashboard-section{margin-top:32px}.logistics-dashboard-section:first-child,.visit-dashboard-section:first-child,.retail-dashboard-section:first-child,.yongzeng-dashboard-section:first-child{margin-top:0}
.logistics-dashboard .panel,.visit-dashboard .panel,.retail-dashboard .panel,.yongzeng-dashboard .panel{box-shadow:none}.logistics-dashboard .dashboard-subhead,.visit-dashboard .dashboard-subhead,.retail-dashboard .dashboard-subhead,.yongzeng-dashboard .dashboard-subhead{margin-top:17px}
.logistics-dashboard .data-table-provenance,.visit-dashboard .data-table-provenance,.retail-dashboard .data-table-provenance,.yongzeng-dashboard .data-table-provenance{margin:9px 0 0}
@media(max-width:760px){.logistics-dashboard,.visit-dashboard,.retail-dashboard,.yongzeng-dashboard{padding:14px}.logistics-dashboard-section,.visit-dashboard-section,.retail-dashboard-section,.yongzeng-dashboard-section{margin-top:26px}}

/* 表格标题统一：信息只在左上角，日期与来源只在表底脚注 */
.marketing-table-card .panel-title,.pin-table-card .panel-title{display:block;margin-bottom:10px;text-align:left}.marketing-table-card .panel-title h3,.pin-table-card .panel-title h3{margin:0;text-align:left}.marketing-table-card .table-count,.pin-table-card .table-count{display:none}
.table-download-link{display:inline-flex;align-items:center;margin-top:7px;padding:5px 10px;border-radius:7px;background:var(--brand);color:#fff;font-size:12px;font-weight:700;line-height:1;text-decoration:none}.table-download-link:hover{filter:brightness(.96)}

/* ---------- 全站内嵌表格标准：餐饮项目配色与固定表头 ---------- */
#workspace-overview .table-scroll{max-height:366px;overflow:auto;border:1px solid #e8e4e0;border-radius:9px;background:#fff}
#workspace-overview .table-scroll .board-table{min-width:max-content;border-collapse:separate;border-spacing:0;table-layout:auto}
#workspace-overview .table-scroll .board-table th,#workspace-overview .table-scroll .board-table td{padding:9px 12px;line-height:1.45;white-space:nowrap;border-bottom:1px solid #f0ece8;font-size:12px;color:var(--ink-2);font-variant-numeric:tabular-nums;text-align:right}
#workspace-overview .table-scroll .board-table thead th{position:sticky;top:0;z-index:5;background:#fff8f2;color:#6f7180;font-size:10.5px;font-weight:700;letter-spacing:.01em;box-shadow:0 1px 0 #dfd8d1;text-align:right}
#workspace-overview .table-scroll .board-table thead th:first-child{position:sticky;left:0;z-index:6;background:#fff1e7;color:#9a4e24;text-align:left}
#workspace-overview .table-scroll .board-table tbody tr:nth-child(even){background:#fffdfb}
#workspace-overview .table-scroll .board-table tbody tr:hover{background:#fff6ee}
#workspace-overview .table-scroll .board-table tbody th:first-child{position:sticky;left:0;z-index:1;background:#fff;color:var(--ink);font-weight:700;text-align:left}
#workspace-overview .table-scroll .board-table tbody tr:nth-child(even)>th:first-child{background:#fffdfb}
#workspace-overview .table-scroll .board-table tbody tr:hover>th:first-child{background:#fff6ee}
#workspace-overview .table-scroll .board-table .cell-good{background:#eef8f1!important;color:#277548;font-weight:800}
#workspace-overview .table-scroll .board-table .cell-bad{background:#fff0ee!important;color:#b3443c;font-weight:800}
#workspace-overview .table-scroll .board-table .cell-warn{background:#fff7df!important;color:#9a6b13;font-weight:800}
@media(max-width:760px){#workspace-overview .table-scroll{max-height:350px}#workspace-overview .table-scroll .board-table th,#workspace-overview .table-scroll .board-table td{padding:8px 10px;font-size:11px}#workspace-overview .table-scroll .board-table thead th{font-size:10px}}
#workspace-overview .canyin-dashboard .table-scroll.table-scroll-10.canyin-table-scroll{max-height:none!important}

#workspace-overview .table-scroll .zs-table,#workspace-overview .table-scroll .um-table{min-width:max-content;border-collapse:separate;border-spacing:0;table-layout:auto}
#workspace-overview .table-scroll .zs-table th,#workspace-overview .table-scroll .zs-table td,#workspace-overview .table-scroll .um-table th,#workspace-overview .table-scroll .um-table td{padding:9px 12px;line-height:1.45;white-space:nowrap;border-bottom:1px solid #f0ece8;font-size:12px;color:var(--ink-2);font-variant-numeric:tabular-nums;text-align:right}
#workspace-overview .table-scroll .zs-table thead th,#workspace-overview .table-scroll .um-table thead th{position:sticky;top:0;z-index:5;background:#fff8f2;color:#6f7180;font-size:10.5px;font-weight:700;letter-spacing:.01em;box-shadow:0 1px 0 #dfd8d1;text-align:right}
#workspace-overview .table-scroll .zs-table thead th:first-child,#workspace-overview .table-scroll .um-table thead th:first-child{left:0;z-index:6;background:#fff1e7;color:#9a4e24;text-align:left}
#workspace-overview .table-scroll .zs-table tbody tr:nth-child(even),#workspace-overview .table-scroll .um-table tbody tr:nth-child(even){background:#fffdfb}
#workspace-overview .table-scroll .zs-table tbody tr:hover,#workspace-overview .table-scroll .um-table tbody tr:hover{background:#fff6ee}
#workspace-overview .table-scroll .zs-table tbody th:first-child,#workspace-overview .table-scroll .um-table tbody th:first-child{position:sticky;left:0;z-index:1;background:inherit;color:var(--ink);font-weight:700;text-align:left}

/* 用户管理：常规项目默认开放，经营项目例外白名单；使用分析仅管理员可见 */
.um-body{display:grid;gap:18px;padding:0 2px}
.um-section{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;box-shadow:0 5px 18px rgba(45,38,27,.035)}
.um-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:0 0 12px}
.um-section-head h2{margin:2px 0 0;font-size:17px;color:var(--ink)}
.um-note{max-width:520px;margin:2px 0 0;font-size:12px;line-height:1.65;color:var(--ink-3);text-align:right}
.um-table th{background:#fff8f2;color:#785238;border-color:#f0dccb;position:sticky;top:0;z-index:5}
.um-table th:first-child{left:0;z-index:6;background:#fff1e7}
.um-table td:first-child{position:sticky;left:0;z-index:2;background:#fff}
.um-table tbody tr:nth-child(even) td{background:#fffdfb}
.um-table tbody tr:nth-child(even) td:first-child{background:#fffaf6}
.um-pill.sensitive{background:#f8e7da;color:#9b4d20;margin-left:4px}
.sensitive-access{border-color:#efd1be;background:linear-gradient(180deg,#fffdfb 0%,#fff 100%)}
.um-sensitive-form{display:grid;gap:14px}
.um-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:8px 12px}
.um-check{margin:0;padding:9px 10px;border:1px solid #f0e0d4;border-radius:8px;background:#fffaf7;align-items:flex-start;line-height:1.4}
.um-check small{display:block;color:var(--ink-3);font-size:11px;margin-top:2px}
.um-save-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:2px;font-size:13px;color:var(--ink-2)}
.um-analysis-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin:14px 0}
.usage-analysis{background:#fffcf8}
.usage-kpis{margin:0 0 14px}
.usage-kpis .metric{min-width:120px;background:#fff}
.usage-daily{display:flex;flex-wrap:wrap;gap:8px;margin:0;color:var(--ink-2);font-size:12px;line-height:1.65}
.usage-daily span{display:inline-block;padding:5px 7px;border-radius:6px;background:#fff8f2;border:1px solid #f3e3d7}
@media(max-width:760px){.um-section{padding:13px}.um-section-head,.um-save-row{align-items:flex-start;flex-direction:column}.um-note{text-align:left}.um-analysis-grid{grid-template-columns:1fr}.um-check-grid{grid-template-columns:1fr}.usage-kpis .metric{min-width:calc(50% - 8px)}}

/* ---------- 关注天气：外部环境事实看板 ---------- */
.weather-dashboard{margin:4px 0 18px;padding:18px;border:1px solid #ffe1c7;border-radius:14px;background:linear-gradient(180deg,#fffaf5 0%,#fff 56%);box-shadow:var(--shadow)}
.weather-dashboard .section-heading{margin-top:32px}.weather-dashboard .section-heading:first-child{margin-top:0}.weather-dashboard .panel{box-shadow:none}
.weather-city-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(238px,1fr));gap:10px;margin-top:11px}
.weather-city-card{padding:14px;border:1px solid #f0dccb;border-radius:11px;background:#fff;box-shadow:0 3px 10px rgba(125,82,36,.045)}
.weather-city-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.weather-city-card-head h3{margin:3px 0 1px;color:var(--ink);font-size:15px}.weather-city-card-head small{display:block;color:var(--ink-3);font-size:10.5px}.weather-city-card-head>b{margin-top:2px;color:#bd641e;font-size:12px;white-space:nowrap}
.weather-temperature{display:flex;align-items:baseline;gap:9px;margin:8px 0 9px}.weather-temperature strong{color:#b95212;font-size:31px;line-height:1;font-weight:800;letter-spacing:-.04em}.weather-temperature span{color:var(--ink-2);font-size:11px}
.weather-current-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px 10px;padding:8px 0;border-top:1px solid #f4e8dc;border-bottom:1px solid #f4e8dc;color:var(--ink-3);font-size:10.5px}.weather-current-grid span{display:flex;justify-content:space-between;gap:4px}.weather-current-grid b{color:var(--ink-2);font-size:10.5px;font-variant-numeric:tabular-nums}
.weather-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.weather-tag{display:inline-flex;max-width:100%;padding:3px 6px;border-radius:5px;font-size:10px;font-weight:700;line-height:1.25}.weather-tag.precipitation{background:#eaf3ff;color:#2468a6}.weather-tag.wind{background:#fff1e4;color:#b65c17}.weather-tag.cold{background:#eef4ff;color:#496fb0}.weather-clear{display:inline-block;margin-top:10px;color:#5c9467;font-size:10.5px;font-weight:700}
.weather-warning{margin:10px 0 0;padding:8px 11px;border:1px solid #f1d6a9;border-radius:8px;background:#fff7e9;color:#9a6019;font-size:12px}
.weather-table-panel{margin-top:10px}.weather-table{min-width:780px}.weather-table th:first-child,.weather-table td:first-child{position:sticky;left:0;z-index:1;background:#fff7ef;box-shadow:1px 0 0 #f1dfcd}.weather-table thead th{position:sticky;top:0;z-index:2!important;background:#fff0df!important;color:#9b5927!important;border-bottom-color:#ecccae!important}.weather-table thead th:first-child{z-index:3!important;background:#ffe8cf!important}.weather-table th small{display:block;margin-top:2px;color:#9f7d62;font-size:10px;font-weight:500}.weather-table td{vertical-align:middle}.weather-table td:last-child{min-width:150px}.weather-table .weather-tags{margin:0}.weather-table .weather-clear{margin:0}.weather-trend-table{min-width:920px}.weather-trend-table td{min-width:225px;white-space:normal!important;text-align:left!important;line-height:1.45}.weather-trend-table td>b{display:block;margin-bottom:3px;color:var(--ink);font-size:11px}.weather-trend-table td>span{display:block;color:var(--ink-2);font-size:11px}
@media(max-width:760px){.weather-dashboard{padding:14px}.weather-dashboard .section-heading{margin-top:26px}.weather-city-grid{grid-template-columns:1fr}.weather-city-card{padding:13px}.weather-table{font-size:11.5px}.weather-trend-table td{min-width:205px}}

/* ---------- 行业动态：外部行业事实层（浅橙数据看板） ---------- */
body.project-industry-news .scopebar .filters{display:none}
.industry-news-dashboard{margin:4px 0 18px;padding:18px;border:1px solid #f0dfd2;border-radius:14px;background:radial-gradient(circle at 96% 1%,rgba(255,195,145,.18) 0,rgba(255,195,145,0) 24%),linear-gradient(180deg,#fffaf7 0%,#fff 46%);box-shadow:var(--shadow)}
.industry-news-dashboard .section-heading{margin-top:32px}.industry-news-dashboard .section-heading:first-child{margin-top:0}.industry-news-dashboard .panel{box-shadow:none}
.industry-run-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:0 0 12px;padding:12px 14px;border:1px solid #f0dfd1;border-radius:11px;background:rgba(255,255,255,.82)}
.industry-run-meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px 14px;color:var(--ink-2);font-size:11px;line-height:1.5}.industry-run-meta>b{padding:3px 7px;border-radius:6px;background:#fff1e7;color:#9a4e24;font-size:10.5px;font-weight:800}.industry-run-meta span strong{color:#9a4e24;font-size:13px}.industry-run-summary p{max-width:510px;margin:0;color:var(--ink-3);font-size:10.5px;line-height:1.55;text-align:right}
.industry-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.industry-stat-card{position:relative;min-height:112px;padding:14px 15px;border:1px solid #f0e3d8;border-radius:12px;background:#fff;overflow:hidden}.industry-stat-card:after{content:"";position:absolute;right:-18px;bottom:-28px;width:86px;height:86px;border-radius:50%;pointer-events:none}.industry-stat-card>span{display:block;color:#b68765;font-size:10.5px;font-weight:800;letter-spacing:.06em}.industry-stat-card h3{margin:6px 0 0;color:var(--ink-2);font-size:12px}.industry-stat-card strong{display:block;margin-top:5px;color:#a45425;font-size:29px;line-height:1;letter-spacing:-.045em}.industry-stat-card small{position:relative;z-index:1;display:block;margin-top:7px;color:var(--ink-3);font-size:10px;line-height:1.3}.industry-stat-card.instant{border-color:#f0d9c8;background:linear-gradient(135deg,#fff8f2,#fff)}.industry-stat-card.instant:after{background:#fff0e4}.industry-stat-card.local{border-color:#f1ddc9;background:linear-gradient(135deg,#fffaf4,#fff)}.industry-stat-card.local:after{background:#fff1dd}.industry-stat-card.local strong{color:#ac721b}.industry-stat-card.ai{border-color:#dbe6f1;background:linear-gradient(135deg,#f7fbff,#fff)}.industry-stat-card.ai:after{background:#eaf3ff}.industry-stat-card.ai strong{color:#2b6faa}
.industry-topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.industry-topic-panel{display:flex;min-height:320px;flex-direction:column;border:1px solid #eee2d8;border-radius:12px;background:#fff;overflow:hidden}.industry-topic-panel.instant{border-top:3px solid #db6c31}.industry-topic-panel.local{border-top:3px solid #c9912e}.industry-topic-panel.ai{border-top:3px solid #4c81b6}.industry-topic-panel-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;padding:13px 14px 10px;border-bottom:1px solid #f0e8e1;background:#fffdfb}.industry-topic-panel-head .eyebrow{margin:0;align-self:end}.industry-topic-panel-head h3{margin:0;color:var(--ink);font-size:14px;line-height:1.35}.industry-topic-panel-head>span{grid-column:2;grid-row:1/3;align-self:center;padding:3px 6px;border-radius:7px;background:#fff1e7;color:#9a4e24;font-size:10.5px;font-weight:800;white-space:nowrap}.industry-topic-panel.ai .industry-topic-panel-head>span{background:#eaf3ff;color:#2866a3}.industry-headline-list{display:flex;flex:1;flex-direction:column}.industry-headline{display:block;padding:11px 14px;border-bottom:1px solid #f1ece7;color:inherit;text-decoration:none;transition:background .16s ease-out}.industry-headline:hover{background:#fff9f5}.industry-headline>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.industry-source{color:#a95b2f;font-size:10px;font-weight:800}.industry-headline time{color:var(--ink-3);font-size:10px;white-space:nowrap}.industry-headline>b{display:-webkit-box;overflow:hidden;margin-top:4px;color:var(--ink);font-size:12.5px;line-height:1.46;-webkit-line-clamp:2;-webkit-box-orient:vertical}.industry-headline p{display:-webkit-box;overflow:hidden;margin:4px 0 0;color:var(--ink-3);font-size:10.5px;line-height:1.45;-webkit-line-clamp:2;-webkit-box-orient:vertical}.industry-headline footer{display:flex;align-items:center;gap:4px;min-width:0;margin-top:7px}.industry-headline footer em{margin-left:auto;color:#a95b2f;font-size:10px;font-style:normal;white-space:nowrap}.industry-topic-filter{margin:0;border:0;background:transparent;color:#9a4e24;font-size:11px;font-weight:800;text-align:left;cursor:pointer}.industry-topic-panel>.industry-topic-filter{padding:11px 14px;background:#fffaf6}.industry-topic-filter:hover,.industry-topic-filter.active{color:#7f3e1a;background:#fff0e5}.industry-filter-row{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 10px}.industry-filter-row .industry-topic-filter{padding:6px 10px;border:1px solid #f0dccb;border-radius:7px;background:#fffaf6;transition:background .16s ease-out,color .16s ease-out}.industry-filter-row .industry-topic-filter.active{border-color:#f0c8ae;background:#fff0e5}
.industry-topic-pill,.industry-entity-pill{display:inline-flex;align-items:center;max-width:120px;padding:2px 5px;border-radius:5px;font-size:9.5px;font-weight:700;line-height:1.25;white-space:nowrap}.industry-topic-pill.instant{background:#fff0e8;color:#a34e22}.industry-topic-pill.local{background:#fff5df;color:#967017}.industry-topic-pill.ai{background:#eaf3ff;color:#2d69a3}.industry-entity-pill{background:#f2f4f7;color:#667083}.industry-news-table{min-width:980px}.industry-news-table th:first-child{min-width:380px!important;max-width:560px;white-space:normal!important}.industry-news-table th:first-child a{color:var(--ink);font-size:12.5px;line-height:1.45;text-decoration:none}.industry-news-table th:first-child a:hover{color:#a45425;text-decoration:underline}.industry-news-table th:first-child small{display:block;max-width:560px;margin-top:4px;overflow:hidden;color:var(--ink-3);font-size:10px;font-weight:400;line-height:1.42;text-overflow:ellipsis;white-space:nowrap}.industry-news-table td:nth-child(2){display:flex;align-items:center;flex-wrap:wrap;gap:4px;min-width:150px;white-space:normal!important}.industry-news-table td:nth-child(3),.industry-news-table td:nth-child(4){color:var(--ink-3);font-size:11px}.news-open-link{color:#a45425;font-size:11px;font-weight:800;text-decoration:none;white-space:nowrap}.news-open-link:hover{text-decoration:underline}.industry-source-table{min-width:820px}.industry-source-table th:first-child{min-width:190px}.industry-source-table th small{display:block;margin-top:3px;color:var(--ink-3);font-size:10px;font-weight:400}.industry-source-table td:last-child{min-width:310px;max-width:430px;white-space:normal!important;color:var(--ink-3);font-size:11px;text-align:left!important}.news-source-state{display:inline-block;padding:3px 6px;border-radius:5px;background:#f2f4f7;color:#667083;font-size:10px;font-weight:800}.news-source-state.ok{background:#eaf7ef;color:#277548}.news-source-state.warn{background:#fff4dd;color:#9a6b13}.news-source-state.bad{background:#fff0ee;color:#b3443c}.news-source-state.trial{background:#eef4ff;color:#356aa0}
@media(max-width:960px){.industry-topic-grid{grid-template-columns:1fr}.industry-topic-panel{min-height:0}.industry-run-summary{display:block}.industry-run-summary p{margin-top:8px;text-align:left}}@media(max-width:760px){.industry-news-dashboard{padding:14px}.industry-news-dashboard .section-heading{margin-top:26px}.industry-stat-grid{grid-template-columns:1fr}.industry-stat-card{min-height:94px}.industry-stat-card strong{font-size:26px}.industry-headline{padding:10px 12px}.industry-headline>b{font-size:12px}.industry-topic-panel-head{padding:12px}.industry-topic-panel>.industry-topic-filter{padding:10px 12px}.industry-run-summary{padding:11px 12px}.industry-news-table th:first-child{min-width:300px!important}.industry-source-table{min-width:720px}}
@media(prefers-reduced-motion:no-preference){.industry-headline,.industry-filter-row .industry-topic-filter{transition:background .16s cubic-bezier(.23,1,.32,1),color .16s cubic-bezier(.23,1,.32,1)}}

/* ---------- 复盘专区：四时间槽与全量事实表 ---------- */
.project-review-zone .scopebar .filters{display:none}
.review-zone-dashboard{margin:4px 0 18px;padding:18px;border:1px solid #f0dfd2;border-radius:14px;background:radial-gradient(circle at 96% 1%,rgba(255,195,145,.16) 0,rgba(255,195,145,0) 24%),linear-gradient(180deg,#fffaf7 0%,#fff 46%);box-shadow:var(--shadow)}
.review-zone-dashboard .section-heading{margin-top:32px}.review-zone-dashboard .section-heading:first-child{margin-top:0}.review-zone-dashboard .panel{box-shadow:none}
.review-control-panel{padding:16px 18px;background:linear-gradient(135deg,#fffdf9 0%,#fff5ed 100%);border:1px solid #f1dfd0}.review-control-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:12px}.review-control-intro b{color:#9f4e20;font-size:14px}.review-control-intro p{max-width:760px;margin:0;color:var(--ink-3);font-size:12px;line-height:1.65}
.review-presets{display:flex;flex-wrap:wrap;gap:7px;padding:10px 0;border-top:1px solid #f3e6dc;border-bottom:1px solid #f3e6dc}.review-preset,.review-city-actions button{border:1px solid #edcfbb;border-radius:7px;background:#fffaf6;color:#8c4a27;padding:6px 10px;font-size:11px;font-weight:800;cursor:pointer;transition:transform .16s cubic-bezier(.23,1,.32,1),background .16s cubic-bezier(.23,1,.32,1)}.review-preset:hover,.review-preset.active,.review-city-actions button:hover{background:#ffeadc}.review-preset:active,.review-city-actions button:active,.review-apply:active{transform:scale(.97)}
.review-slot-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:9px;margin-top:13px}.review-slot-grid label,.review-filter-row>label{display:flex;flex-direction:column;gap:5px;color:var(--ink-3);font-size:10px;font-weight:800}.review-slot-grid input,.review-filter-row select{width:100%;min-height:34px;border:1px solid #e6d8ce;border-radius:7px;background:#fff;color:var(--ink);padding:6px 8px;font:inherit;font-size:12px;font-weight:600}
.review-filter-row{display:flex;align-items:flex-end;flex-wrap:wrap;gap:10px;margin-top:13px}.review-city-picker{position:relative;min-width:254px}.review-city-picker summary{display:flex;align-items:center;min-height:34px;border:1px solid #e6d8ce;border-radius:7px;background:#fff;color:var(--ink);padding:6px 10px;font-size:12px;font-weight:700;cursor:pointer}.review-city-options{position:absolute;z-index:8;top:40px;left:0;width:min(430px,calc(100vw - 48px));max-height:260px;overflow:auto;padding:10px;background:#fff;border:1px solid #ead8ca;border-radius:8px;box-shadow:0 14px 30px rgba(83,52,31,.13)}.review-city-actions{display:flex;gap:6px;padding:0 0 8px;margin-bottom:8px;border-bottom:1px solid #f2e9e2}.review-city-options>label{display:inline-flex;align-items:center;gap:5px;width:50%;padding:5px 4px;color:var(--ink);font-size:11px;font-weight:600}.review-city-options input{accent-color:#ea6b24}.review-apply{min-height:34px;border:0;border-radius:7px;background:#ed6a23;color:#fff;padding:7px 13px;font-size:12px;font-weight:800;cursor:pointer;box-shadow:0 3px 7px rgba(190,78,20,.18);transition:transform .16s cubic-bezier(.23,1,.32,1),background .16s cubic-bezier(.23,1,.32,1)}.review-apply:hover{background:#cf5719}
.review-table-stack{display:grid;gap:13px}.review-table-panel{padding:0;overflow:hidden}.review-table-panel .panel-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px 10px;margin:0;border-bottom:1px solid #f2e9e3}.review-table-panel .panel-title h3{margin-top:3px}.review-downloads{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.review-download-link{display:inline-flex;align-items:center;margin:0;padding:4px 8px;min-height:28px;font-size:10px;white-space:nowrap}.review-table{min-width:1240px}.review-table th:first-child{min-width:126px}.review-table td{font-variant-numeric:tabular-nums}.review-data-footnote{margin:0;padding:9px 16px 11px;background:#fffdfa;border-top:1px solid #f4ece7;color:#8c94a1;font-size:10.5px;line-height:1.55}.review-lineage-note{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;overflow:hidden;background:#eadfd7;border:1px solid #eadfd7;border-radius:9px}.review-lineage-note>div{min-height:100px;padding:14px 15px;background:#fff}.review-lineage-note b{color:#87421d;font-size:12px}.review-lineage-note p{margin:6px 0 0;color:var(--ink-3);font-size:11px;line-height:1.58}
@media(max-width:960px){.review-slot-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}.review-control-intro{display:block}.review-control-intro p{margin-top:5px}.review-lineage-note{grid-template-columns:1fr}.review-table{min-width:1120px}}@media(max-width:620px){.review-zone-dashboard{padding:14px}.review-zone-dashboard .section-heading{margin-top:26px}.review-control-panel{padding:13px}.review-slot-grid{grid-template-columns:1fr}.review-filter-row{align-items:stretch}.review-city-picker{width:100%}.review-filter-row>label{width:100%}.review-apply{width:100%}.review-city-options>label{width:100%}.review-downloads{justify-content:flex-start;margin-top:7px}.review-table-panel .panel-title{display:block}.review-table{min-width:1040px}.review-data-footnote{padding:8px 12px}.review-lineage-note>div{min-height:auto}}@media(prefers-reduced-motion:no-preference){.review-preset,.review-city-actions button,.review-apply{transition:transform .16s cubic-bezier(.23,1,.32,1),background .16s cubic-bezier(.23,1,.32,1)}}

/* 考核总览：每段以 ds / 区县 / 组标签为连续固定上下文，并对完成率提供红黄绿快速定位。 */
.kaohe-overview-dashboard .ko-table .ko-key-0{left:0;min-width:104px}
.kaohe-overview-dashboard .ko-table .ko-key-1{left:126px;min-width:92px}
.kaohe-overview-dashboard .ko-table .ko-key-2{left:238px;min-width:108px}
.kaohe-overview-dashboard .ko-table td.ko-attainment{font-weight:850}
.kaohe-overview-dashboard .ko-table td.ko-attainment-green{background:#e9f7ee!important;color:#167044!important;box-shadow:inset 3px 0 0 #32a269}
.kaohe-overview-dashboard .ko-table td.ko-attainment-yellow{background:#fff7dd!important;color:#956600!important;box-shadow:inset 3px 0 0 #e7b531}
.kaohe-overview-dashboard .ko-table td.ko-attainment-red{background:#fff0ef!important;color:#b4423d!important;box-shadow:inset 3px 0 0 #db635d}
@media(max-width:760px){.kaohe-overview-dashboard .ko-table .ko-key-0{left:0;min-width:90px}.kaohe-overview-dashboard .ko-table .ko-key-1{left:110px;min-width:82px}.kaohe-overview-dashboard .ko-table .ko-key-2{left:210px;min-width:94px}}


/* ---------- 知识与交接：管理员 SQL 审计中心 ---------- */
.sql-audit-dashboard{margin:4px 0 18px;padding:18px;border:1px solid #f0dfd2;border-radius:14px;background:radial-gradient(circle at 96% 1%,rgba(255,195,145,.15) 0,rgba(255,195,145,0) 24%),linear-gradient(180deg,#fffaf7 0%,#fff 46%);box-shadow:var(--shadow)}.sql-audit-dashboard .section-heading{margin-top:32px}.sql-audit-dashboard .section-heading:first-child{margin-top:0}.sql-audit-dashboard .panel{box-shadow:none}.sql-audit-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}.sql-audit-metrics article{min-height:100px;padding:13px 15px;border:1px solid #f0e1d6;border-radius:11px;background:#fff;box-shadow:0 3px 10px rgba(125,82,36,.035)}.sql-audit-metrics span,.sql-audit-metrics small{display:block;color:var(--ink-3);font-size:10.5px;font-weight:700;line-height:1.45}.sql-audit-metrics span{letter-spacing:.04em;text-transform:uppercase}.sql-audit-metrics strong{display:block;margin:7px 0 4px;color:#9a4e24;font-size:28px;line-height:1;font-variant-numeric:tabular-nums}.sql-audit-control{padding:16px 18px;border-color:#f0dfd2;background:#fff}.sql-audit-control .panel-title{align-items:flex-start;margin-bottom:12px}.sql-audit-control .panel-title h3{margin:3px 0 0}.sql-audit-filters{display:flex;align-items:flex-end;flex-wrap:wrap;gap:10px;margin:0 0 13px}.sql-audit-filters label{display:flex;min-width:150px;flex-direction:column;gap:5px;color:var(--ink-3);font-size:10px;font-weight:800}.sql-audit-filters select,.sql-audit-filters input{min-height:34px;border:1px solid #e6d8ce;border-radius:7px;background:#fff;color:var(--ink);padding:6px 8px;font:inherit;font-size:12px;font-weight:600}.sql-audit-filters .sql-audit-search{min-width:min(290px,100%);flex:1}.sql-audit-filters .small-button{min-height:34px}.sql-audit-table{min-width:1080px}.sql-audit-table th:first-child{min-width:122px}.sql-audit-table td:nth-child(2){min-width:220px;text-align:left!important;white-space:normal!important}.sql-audit-table td b,.sql-audit-table td small{display:block}.sql-audit-table td small{margin-top:3px;color:var(--ink-3);font-size:10px;font-weight:500;line-height:1.4}.sql-audit-table code,.sql-audit-detail code{color:#8b4a27;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10.5px}.sql-audit-open{border:0;background:transparent;color:#9a4e24;padding:0;font:inherit;font-weight:850;cursor:pointer;text-decoration:underline;text-decoration-color:#efc9b1;text-underline-offset:3px}.sql-audit-open:hover{color:#6f3416}.sql-audit-chip{display:inline-flex;align-items:center;margin:1px 3px 1px 0;padding:2px 5px;border-radius:5px;background:#fff0e6;color:#965024;font-size:9.5px;font-weight:800;line-height:1.3}.sql-audit-status{display:inline-block;padding:3px 6px;border-radius:5px;background:#eaf7ef;color:#277548;font-size:10px;font-weight:800;white-space:nowrap}.sql-audit-detail{margin-top:10px;padding:16px 18px;border-color:#efdccc;background:#fff}.sql-audit-detail .panel-title{align-items:flex-start}.sql-audit-detail .panel-title h3{margin:2px 0 0}.sql-audit-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 10px}.sql-audit-detail-grid p{margin:0;padding:10px 12px;border:1px solid #f1e5dc;border-radius:8px;background:#fffaf7;color:var(--ink-2);font-size:11px;line-height:1.72}.sql-audit-detail-grid b{color:#774323}.sql-audit-source{max-height:560px;overflow:auto;margin:12px 0 0;padding:14px 16px;border:1px solid #e8ddd4;border-radius:9px;background:#25211e;color:#f7eee6;font:11px/1.6 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;tab-size:2;white-space:pre}.sql-audit-source code{color:inherit;font:inherit}.sql-audit-empty{padding:20px}.project-knowledge .scopebar .filters{display:none}@media(max-width:960px){.sql-audit-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.sql-audit-detail-grid{grid-template-columns:1fr}.sql-audit-source{max-height:450px}}@media(max-width:760px){.sql-audit-dashboard{padding:14px}.sql-audit-dashboard .section-heading{margin-top:26px}.sql-audit-metrics{gap:8px}.sql-audit-metrics article{min-height:88px;padding:12px}.sql-audit-metrics strong{font-size:24px}.sql-audit-control,.sql-audit-detail{padding:13px}.sql-audit-filters{align-items:stretch}.sql-audit-filters label,.sql-audit-filters .sql-audit-search{width:100%;min-width:0}.sql-audit-filters .small-button{width:100%}.sql-audit-table{min-width:980px}.sql-audit-source{max-height:390px;padding:12px;font-size:10px}}
/* 英雄榜（BD HERO BOARD）V0.7.60：复用复盘专区控件样式，仅补榜单专属少量类 */
.hero-board-dashboard{padding:4px 2px 30px}
.hero-main-row{cursor:pointer}.hero-main-row:hover td,.hero-main-row:hover th{background:#fff6ef}
.hero-tag{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:8px;background:#fdeadd;color:#8a4306;font-size:10px;font-weight:800}
.hero-board-source{align-self:flex-start;color:#a05a1e;font-size:11px;font-weight:700}
.hero-detail-row>td{background:#fffdf9;padding:0}
.hero-detail{padding:10px 14px}
.hero-detail .board-note{margin:0 0 8px}
.hero-boards{display:flex;flex-direction:column;gap:14px;margin-top:4px}
.hero-table th:first-child,.hero-table td:first-child{width:52px}
/* ---------- 实时订单看板 V0.8.7：单表简化版（复用主题变量） ---------- */
.rt-orders-dashboard{padding:4px 2px 30px}
.rt-control-panel{display:flex;flex-direction:column;gap:12px}
.rt-live-badge{display:inline-flex;align-items:center;gap:7px;padding:4px 10px;border-radius:20px;background:var(--good-bg);color:var(--good);font-size:11px;font-weight:800;margin-left:auto}
.rt-filter-row{display:flex;align-items:center;flex-wrap:wrap;gap:14px;padding-top:10px;border-top:1px solid var(--line)}
.rt-filter-row label{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--ink-2)}
.rt-filter-row input,.rt-filter-row select{border:1px solid var(--line-strong);background:#fff;border-radius:8px;padding:5px 8px;font:inherit;color:var(--ink);color-scheme:light}
.rt-main-table th{white-space:nowrap;font-size:12px}
.rt-main-table td{font-variant-numeric:tabular-nums;font-weight:700}
.rt-main-table td:nth-child(n+3){text-align:right}
.rt-main-table td:first-child{white-space:nowrap}
/* 实时订单页隐藏顶栏统一筛选（该页自带 日期/时间/城市 筛选） */
body.project-realtime-orders .scopebar{display:none}

/* ---------- 六力区县对比（liuli-compare） ---------- */
.liuli-wrap { display: flex; flex-direction: column; gap: 12px; }
.liuli-bar { display: flex; flex-direction: column; gap: 8px; padding: 12px 14px; background: var(--panel-bg, #fff); border: 1px solid var(--line, #e5e7eb); border-radius: 10px; }
.liuli-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.liuli-cap { font-size: 12px; color: var(--muted, #6b7280); width: 30px; flex: none; }
.liuli-row label { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; color: var(--muted, #6b7280); }
.liuli-row input[type="date"], .liuli-row select { border: 1px solid var(--line, #d1d5db); border-radius: 6px; padding: 3px 6px; font-size: 12px; }
.liuli-range-tag { font-size: 12px; color: var(--muted, #6b7280); margin-left: auto; }
.liuli-preset.active, .liuli-tab.active { background: var(--accent, #b45309); color: #fff; border-color: var(--accent, #b45309); }
.liuli-table-scroll { overflow: auto; max-height: 70vh; border: 1px solid var(--line, #e5e7eb); border-radius: 10px; }
.liuli-table { border-collapse: separate; border-spacing: 0; width: max-content; min-width: 100%; font-size: 12.5px; background: var(--card, #fff); }
.liuli-table th, .liuli-table td { border-bottom: 1px solid var(--line-soft, #f0f1f3); padding: 5px 8px; text-align: right; white-space: nowrap; }
.liuli-table thead th { position: sticky; background: #f8f7f4; font-weight: 600; z-index: 2; }
.liuli-table thead tr:nth-child(2) th { top: 33px; }
.liuli-table thead tr:first-child th { top: 0; }
/* 固定列（区县 / 维度；流量页签前面还有体量区间）—— 必须不透明，否则横向滚动时右侧单元格从底下透出（20260908 修复，同餐饮页首列） */
.liuli-table th.liuli-prov, .liuli-table td.liuli-prov,
.liuli-table th.liuli-dist, .liuli-table td.liuli-dist,
.liuli-table th.liuli-dim, .liuli-table td.liuli-dim { position: sticky; text-align: left; background: #fff; z-index: 1; }
.liuli-table thead th.liuli-prov, .liuli-table thead th.liuli-dist, .liuli-table thead th.liuli-dim { z-index: 3; background: #f8f7f4; }
/* 供给/价格/营销：区县 0~108 → 维度 108~184（末列加分隔投影） */
.liuli-table th.liuli-dist, .liuli-table td.liuli-dist { left: 0; width: 108px; min-width: 108px; max-width: 108px; }
.liuli-table th.liuli-dim, .liuli-table td.liuli-dim { left: 108px; width: 76px; min-width: 76px; max-width: 76px; box-shadow: 2px 0 0 #e5e7eb; }
/* 流量页签：体量区间 0~96 → 区县 96~204 → 维度 204~280 */
.liuli-table.liuli-tab-traffic th.liuli-prov, .liuli-table.liuli-tab-traffic td.liuli-prov { left: 0; width: 96px; min-width: 96px; max-width: 96px; }
.liuli-table.liuli-tab-traffic th.liuli-dist, .liuli-table.liuli-tab-traffic td.liuli-dist { left: 96px; }
.liuli-table.liuli-tab-traffic th.liuli-dim, .liuli-table.liuli-tab-traffic td.liuli-dim { left: 204px; }
.liuli-table td.liuli-v { color: var(--ink, #111827); }
.liuli-table td.liuli-diff { font-weight: 600; min-width: 64px; }
.liuli-table td.liuli-diff.good { color: #16a34a; }
.liuli-table td.liuli-diff.bad { color: #dc2626; }
.liuli-table td.liuli-diff.flat { color: var(--muted, #9ca3af); font-weight: 400; }
.liuli-notes { margin: 0; padding-left: 18px; font-size: 12px; color: var(--muted, #6b7280); line-height: 1.7; }
/* 六力对比页也自带筛选，隐藏顶栏统一筛选 */
body.project-liuli-compare .scopebar{display:none}
/* ---------- 经营板块区间对比（jingying · ue_kanban_detail，2026-09-09）---------- */
/* 四个固定列：城市 0~108 → 业务线 108~184 → 运力线 184~272 → 订单属性 272~360（末列加分隔投影） */
.liuli-table.jy-table th.jy-biz, .liuli-table.jy-table td.jy-biz,
.liuli-table.jy-table th.jy-wl, .liuli-table.jy-table td.jy-wl,
.liuli-table.jy-table th.jy-attr, .liuli-table.jy-table td.jy-attr { position: sticky; text-align: left; background: #fff; z-index: 1; }
.liuli-table.jy-table thead th.jy-biz, .liuli-table.jy-table thead th.jy-wl, .liuli-table.jy-table thead th.jy-attr { z-index: 3; background: #f8f7f4; }
.liuli-table.jy-table th.jy-biz, .liuli-table.jy-table td.jy-biz { left: 108px; width: 76px; min-width: 76px; max-width: 76px; }
.liuli-table.jy-table th.jy-wl, .liuli-table.jy-table td.jy-wl { left: 184px; width: 88px; min-width: 88px; max-width: 88px; }
.liuli-table.jy-table th.jy-attr, .liuli-table.jy-table td.jy-attr { left: 272px; width: 88px; min-width: 88px; max-width: 88px; box-shadow: 2px 0 0 #e5e7eb; }
/* 经营板块自带四个筛选，隐藏顶栏统一筛选（同六力对比页） */
body.project-jingying .scopebar{display:none}
/* 经营板块：实际计算窗口横幅（某属性在所选区间无数据 → 按「最近有数据日」回看等长天数） */
.jy-window-banner { margin: 8px 0 0; padding: 8px 10px; border-left: 3px solid #e67e22; border-radius: 4px; background: #fdf6ec; color: #8a4b00; font-size: 12px; line-height: 1.7; }
.jy-window-banner b { color: #b34700; }
/* ---------- 营销板块区间对比（marketing · shanghuku × baodanku，2026-09-11）---------- */
/* 表里只有一个固定列（城市），它同时是末固定列 → 自带右侧分隔投影，否则横向滚动时右侧单元格会从底下透出 */
.liuli-table.mk-table th.liuli-dist, .liuli-table.mk-table td.liuli-dist { box-shadow: 2px 0 0 #e5e7eb; }
/* 营销板块自带区间与范围筛选，隐藏顶栏统一筛选（同经营/六力对比页） */
body.project-marketing .scopebar{display:none}
/* 核心指标卡里的差值徽标：.liuli-diff 只在 .liuli-table td 下生效，卡片内另起一套 */
.mk-diff { font-style: normal; font-weight: 600; }
.mk-diff.good { color: #16a34a; }
.mk-diff.bad { color: #dc2626; }
.mk-diff.flat { color: var(--muted, #9ca3af); font-weight: 400; }


/* 超抢手区县达成：窄列 + 表头换行（2026-09-11 用户要求） */
.pin-shooter-dashboard .canyin-table{min-width:0}
.pin-shooter-dashboard .table-scroll .board-table{min-width:0}
.pin-shooter-dashboard .canyin-table th,.pin-shooter-dashboard .canyin-table td{padding:6px 7px;font-size:11.5px}
.pin-shooter-dashboard .canyin-table thead th{white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-height:1.28;max-width:118px;font-size:9.5px;vertical-align:bottom}
.pin-shooter-dashboard .canyin-table td{white-space:nowrap}
.pin-shooter-dashboard .canyin-table tbody tr>th:first-child{white-space:nowrap;min-width:88px}
.pin-shooter-dashboard .canyin-table thead th:first-child{max-width:96px}
@media(max-width:760px){.pin-shooter-dashboard .canyin-table thead th{max-width:96px;font-size:9px}}


/* 超抢手区县达成：强制表头换行（覆盖 #workspace-overview 的 nowrap/min-width:max-content，2026-09-11 二次修正） */
#workspace-overview .pin-shooter-dashboard .table-scroll .board-table{min-width:0!important}
#workspace-overview .pin-shooter-dashboard .table-scroll .board-table th,
#workspace-overview .pin-shooter-dashboard .table-scroll .board-table td{padding:6px 6px!important;font-size:11px!important}
#workspace-overview .pin-shooter-dashboard .table-scroll .board-table thead th{white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important;line-height:1.25!important;max-width:112px!important;font-size:9.5px!important;vertical-align:bottom!important}
#workspace-overview .pin-shooter-dashboard .table-scroll .board-table tbody td{white-space:nowrap!important}
#workspace-overview .pin-shooter-dashboard .table-scroll .board-table tbody tr>th:first-child{white-space:nowrap!important;min-width:84px!important}


/* 超抢手区县达成：居中 + 按字段/数据平衡列宽（2026-09-11 三次修正） */
#workspace-overview .pin-shooter-dashboard .table-scroll .board-table th,
#workspace-overview .pin-shooter-dashboard .table-scroll .board-table td{padding:6px 8px!important;font-size:11px!important;text-align:center!important;vertical-align:middle!important}
#workspace-overview .pin-shooter-dashboard .table-scroll .board-table thead th{white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important;line-height:1.3!important;min-width:100px!important;max-width:150px!important;font-size:10px!important;vertical-align:middle!important}
#workspace-overview .pin-shooter-dashboard .table-scroll .board-table tbody td{white-space:nowrap!important;text-align:center!important}
#workspace-overview .pin-shooter-dashboard .table-scroll .board-table thead th:first-child,
#workspace-overview .pin-shooter-dashboard .table-scroll .board-table tbody tr>th:first-child{text-align:left!important;white-space:nowrap!important;min-width:96px!important;max-width:none!important}


/* 餐饮警告三块明细：窄列+表头换行+居中（2026-09-11） */
#workspace-overview .canyin-jingao-detail .board-table{min-width:0!important}
#workspace-overview .canyin-jingao-detail .board-table th,
#workspace-overview .canyin-jingao-detail .board-table td{padding:6px 6px!important;font-size:11px!important;text-align:center!important;vertical-align:middle!important}
#workspace-overview .canyin-jingao-detail .board-table thead th{white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important;line-height:1.25!important;min-width:96px!important;max-width:150px!important;font-size:10px!important;vertical-align:middle!important}
#workspace-overview .canyin-jingao-detail .board-table tbody td{white-space:nowrap!important}
#workspace-overview .canyin-jingao-detail .board-table tbody tr>th:first-child{text-align:left!important;white-space:nowrap!important;min-width:96px!important;max-width:none!important}

/* 补贴区间对比：分组表头（整体/B补/C补/零售补贴） */
.liuli-table th.liuli-group-head { background: rgba(0, 0, 0, .045); font-weight: 600; text-align: center; }

/* 补贴区间对比：表头字段名/分组/当前对比 全部居中 */
.liuli-table.sr-table thead th { text-align: center; }

/* 营业/经营/六力/补贴：区间对比表头字段名居中 */
.liuli-table.hc-table thead th { text-align: center; }
