/* 天气数据统计 + 第三方保号 页面样式（挂在现有 style.css 之上） */

/* ── 页面滚动修复：平台默认 body/panel 都是 overflow:hidden 固定高，天气页内容长，
     按项目既有模式（.user-management-page .management-page-body { overflow-y:auto }）开滚动 ── */
.wx-page .management-page-body {
  overflow-y: auto;
}
.wx-page .management-table-panel {
  flex: 0 0 auto;
  overflow: visible;
}

/* ── 天气页 ── */
.wx-page .biz-page-body { display: flex; flex-direction: column; gap: 14px; }
.wx-toolbar { flex-wrap: wrap; gap: 8px; }
.wx-model-select { min-width: 280px; }
.wx-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 10px; margin-bottom: 4px; }
.wx-stat-card { background: var(--panel-bg, #fff); border: 1px solid var(--border-lighter, #e5e9ef); border-radius: 10px; padding: 12px 14px; }
.wx-stat-label { font-size: 12px; color: var(--text-secondary, #7a8699); margin-bottom: 6px; }
.wx-stat-value { font-size: 22px; font-weight: 700; color: var(--text-primary, #1d2733); font-variant-numeric: tabular-nums; }
.wx-chart-wrap { background: var(--panel-bg, #fff); border: 1px solid var(--border-lighter, #e5e9ef); border-radius: 10px; padding: 14px; }
.wx-chart-title { font-weight: 600; margin-bottom: 8px; color: var(--text-primary, #1d2733); }
.wx-table-scroll { overflow: auto; max-height: 420px; background: var(--panel-bg, #fff); border: 1px solid var(--border-lighter, #e5e9ef); border-radius: 10px; }
.wx-table-scroll table { min-width: 900px; }
.wx-section-title { font-weight: 700; color: var(--text-primary, #1d2733); margin-bottom: 10px; }
.wx-samples-panel { padding: 16px; }
.wx-sample-group { border: 1px solid var(--border-lighter, #e5e9ef); border-radius: 10px; padding: 12px; margin-bottom: 12px; background: var(--panel-bg, #fff); }
.wx-sample-head { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
.wx-sample-head .shell-icon { color: var(--accent, #1EACA6); }
.wx-sample-meta { margin-left: auto; font-size: 12px; color: var(--text-secondary, #7a8699); }
.wx-sample-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 8px; }
.wx-sample-card { border: 1px solid var(--border-lighter, #eef1f5); background: var(--bg-subtle, #f7f9fb); border-radius: 8px; padding: 10px; }
.wx-sample-loc { font-weight: 600; margin-bottom: 2px; }
.wx-sample-time { font-size: 12px; color: var(--text-secondary, #7a8699); margin-bottom: 6px; }
.wx-sample-fields { font-size: 12px; color: var(--text-secondary, #51606f); line-height: 1.6; }
.wx-sample-raw { font-size: 12px; color: var(--text-secondary, #7a8699); display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.wx-sample-url { flex: 1; min-width: 200px; word-break: break-all; }

/* ── 第三方保号页 ── */
.tp-platform-tabs { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 12px; }
.tp-platform-tab { display: flex; flex-direction: column; gap: 2px; text-align: left; padding: 8px 14px; border: 1px solid var(--border-lighter, #e5e9ef); border-radius: 10px; background: var(--panel-bg, #fff); cursor: pointer; font: inherit; }
.tp-platform-tab.active { border-color: var(--accent, #1EACA6); background: rgba(30, 172, 166, 0.06); }
.tp-platform-tab strong { color: var(--text-primary, #1d2733); }
.tp-platform-tab .tp-platform-meta { font-size: 11px; color: var(--text-secondary, #7a8699); }
.tp-platform-tab.is-error { color: var(--el-color-danger, #d03050); }
.tp-keepalive-tag { font-size: 12px; color: var(--accent, #1EACA6); }
.tp-ok { color: var(--el-color-success, #1fa36a); font-size: 12px; }
.tp-muted { color: var(--text-secondary, #7a8699); font-size: 12px; }
.tp-actions { display: flex; gap: 4px; flex-wrap: wrap; min-width: 340px; }
.tp-actions .btn-xs { white-space: nowrap; }

/* ── 天气数据地图页 ── */
.wx-map-page .management-page-body { overflow: hidden; }
.wx-map-body { display: flex; flex-direction: column; gap: 10px; height: 100%; }
.wx-map-toolbar { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; padding: 10px 14px; background: var(--panel-bg, #fff); border: 1px solid var(--border-lighter, #e5e9ef); border-radius: 10px; }
.wx-map-toolbar-group { display: flex; align-items: center; gap: 8px; }
.wx-map-label { font-size: 12px; color: var(--text-secondary, #7a8699); font-weight: 600; }
.wx-map-layer-btns { display: flex; gap: 4px; flex-wrap: wrap; }
.wx-map-layer-btn { padding: 5px 12px; border: 1px solid var(--border-lighter, #e5e9ef); border-radius: 6px; background: var(--panel-bg, #fff); cursor: pointer; font-size: 12px; color: var(--text-primary, #1d2733); transition: all 0.15s; }
.wx-map-layer-btn:hover { border-color: var(--accent, #1EACA6); }
.wx-map-layer-btn.active { background: var(--accent, #1EACA6); color: #fff; border-color: var(--accent, #1EACA6); }
.wx-map-stat { font-size: 12px; color: var(--text-secondary, #7a8699); }
.wx-map-container { flex: 1; background: var(--panel-bg, #fff); border: 1px solid var(--border-lighter, #e5e9ef); border-radius: 10px; overflow: hidden; min-height: 400px; }
.wx-map-timeline { display: flex; align-items: center; gap: 12px; padding: 10px 14px; background: var(--panel-bg, #fff); border: 1px solid var(--border-lighter, #e5e9ef); border-radius: 10px; }
.wx-map-slider { flex: 1; height: 6px; -webkit-appearance: none; appearance: none; background: #e5e9ef; border-radius: 3px; outline: none; }
.wx-map-slider::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 16px; height: 16px; border-radius: 50%; background: var(--accent, #1EACA6); cursor: pointer; }
.wx-map-slider::-moz-range-thumb { width: 16px; height: 16px; border-radius: 50%; background: var(--accent, #1EACA6); cursor: pointer; border: none; }
.wx-map-time-label { font-size: 13px; font-weight: 600; color: var(--text-primary, #1d2733); font-variant-numeric: tabular-nums; min-width: 130px; }
.wx-map-time-total { font-size: 12px; color: var(--text-secondary, #7a8699); }