/* IP 分析報表樣式（沿用主站深色 token） */
.app-wide { max-width: 1000px; }

.filters { display: flex; flex-direction: column; gap: 8px; margin: 6px 0 12px; }
.chip-row { display: flex; flex-wrap: wrap; gap: 8px; }
.chip {
  background: rgba(148, 163, 184, .10); color: var(--txt); border: 1px solid #2a3550;
  border-radius: 999px; padding: 7px 14px; font-size: 13px; font-weight: 600; cursor: pointer;
  white-space: nowrap; transition: background .15s, border-color .15s;
}
.chip:hover { background: rgba(148, 163, 184, .18); }
.chip.active { background: rgba(59, 130, 246, .22); border-color: var(--blue); color: #cfe0ff; }

.chart-scroll { overflow-x: auto; }
#lineChart svg { display: block; width: 100%; height: auto; min-width: 620px; }

.legend { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 10px; }
.legend .lg { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--dim);
  font-variant-numeric: tabular-nums; }
.legend .sw { width: 22px; height: 3px; border-radius: 2px; display: inline-block; }

/* 熱力圖 */
.heat { border-collapse: separate; border-spacing: 2px; font-size: 12px; }
.heat th { color: var(--dim); font-weight: 600; padding: 4px 6px; text-align: center; white-space: nowrap; }
.heat th.rowh { text-align: left; position: sticky; left: 0; background: var(--bg); z-index: 1; }
.heat td { text-align: center; padding: 6px 8px; border-radius: 6px; color: #fff;
  font-variant-numeric: tabular-nums; min-width: 46px; }
.heat td.zero { color: #55607a; background: rgba(148,163,184,.05); }

/* 排行長條 */
.rank-row { display: grid; grid-template-columns: 130px 1fr auto; align-items: center; gap: 10px; margin: 7px 0; }
.rank-name { font-size: 13px; color: var(--txt); overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  font-variant-numeric: tabular-nums; }
.rank-track { background: rgba(148, 163, 184, .10); border-radius: 999px; height: 16px; overflow: hidden; }
.rank-fill { height: 100%; border-radius: 999px 6px 6px 999px; }
.rank-val { font-size: 12.5px; color: var(--dim); font-variant-numeric: tabular-nums; white-space: nowrap; }
