/* 项目地图：地图是主体，数据点是唯一焦点，其余一律退让。 */

/* 概览条复用 KPI 视觉，与总览页保持同一套语言 */
.map-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0;margin-bottom:16px;
  background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);overflow:hidden}

.map-panel{padding:0;overflow:hidden}
.map-panel h3{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0;border-radius:11px 11px 0 0}

/* 图例：与标题同排，不再和说明文字挤在一起 */
.map-legend{display:flex;align-items:center;gap:7px;margin-left:auto;font-weight:450;font-size:11.5px;color:var(--muted)}
.map-legend .lg{width:8px;height:8px;border-radius:50%;display:inline-block;margin-left:9px;box-shadow:0 0 0 2.5px color-mix(in srgb,currentColor 18%,transparent)}
.map-legend .lg:first-child{margin-left:0}
.lg.ok{background:var(--ok);color:var(--ok)}
.lg.part{background:var(--warn);color:var(--warn)}
.lg.bad{background:var(--crit);color:var(--crit)}

/* 画布：扣掉顶栏/KPI 条/面板头尾后占满剩余视口，整页一屏装下不用滚动 */
.map-canvas{width:100%;height:calc(100vh - 410px);min-height:380px;max-height:720px}

.map-foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  padding:11px 20px;border-top:1px solid var(--line);background:var(--panel2);font-size:11.5px}
.map-tip{margin-left:auto}

@media(max-width:900px){
  .map-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .map-kpis .kpi{border-top:1px solid var(--line)}
  .map-kpis .kpi:nth-child(odd){border-left:0}
  .map-canvas{height:56vh;min-height:340px}
  .map-legend{margin-left:0;width:100%}
  .map-tip{margin-left:0;width:100%}
}

/* KPI 补充说明保持单行，避免换行撑高整条 KPI 带把地图挤下去 */
.map-kpis .kpi .lbl:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
