/* 各后台 / 大屏 — 对齐、防遮挡、防溢出（全局补丁） */

/* —— 数据大屏顶栏标题 —— */
.viz-header {
  align-items: center;
  overflow: visible;
}

.viz-title-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-width: 0;
  max-width: 100%;
  overflow: visible;
  z-index: 2;
}

.viz-title-wing {
  display: none;
}

.viz-title-frame {
  display: block;
  max-width: min(100%, 760px);
  margin: 0 auto;
  padding: 6px 20px 8px;
  text-align: center;
}

.viz-title-frame::before,
.viz-title-frame::after {
  display: none;
}

.viz-title {
  text-align: center;
  line-height: 1.35;
  word-break: keep-all;
  white-space: normal;
}

.viz-subtitle {
  text-align: center;
  line-height: 1.4;
  white-space: normal;
  padding: 0 12px;
}

.viz-logo {
  min-width: 0;
}

.viz-logo-text {
  min-width: 0;
}

.viz-logo-text span:first-child {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 200px;
}

.viz-weather {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-width: 0;
}

.viz-weather .clock {
  white-space: nowrap;
  font-size: clamp(12px, 1.2vw, 18px);
  line-height: 1.3;
}

.viz-panel-head {
  position: relative;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100%;
  text-align: center;
  line-height: 1.4;
}

.viz-hub-item .viz-hub-icon,
.viz-hub-item .val,
.viz-hub-item .lbl {
  position: relative;
  z-index: 1;
}

.viz-resource-item .val,
.viz-resource-item .lbl {
  position: relative;
  z-index: 1;
}

.viz-resource-item .lbl {
  white-space: normal;
  line-height: 1.25;
  max-width: 100%;
  padding: 0 2px;
}

.viz-empty-nfc .title,
.viz-empty-nfc .sub {
  text-align: center;
  max-width: 320px;
}

.viz-data-empty {
  text-align: center;
}

.viz-events-table .code,
.viz-events-table td:nth-child(2) {
  word-break: break-all;
}

.viz-table-pager {
  align-items: center;
  justify-content: center;
}

.viz-bottom-charts .chart-wrap {
  min-height: 150px;
}

/* —— 链务后台 —— */
.chain-topbar {
  flex-wrap: wrap;
  row-gap: 10px;
  align-items: center;
}

.chain-slogan {
  flex: 1 1 240px;
  min-width: 0;
  white-space: normal;
  line-height: 1.55;
  letter-spacing: 0.5px;
}

.chain-topbar-tools {
  flex-shrink: 0;
}

.chain-stat-card {
  text-align: center;
}

.chain-stat-card .label,
.chain-stat-card .value,
.chain-stat-card .trend {
  text-align: center;
}

.chain-flow-title {
  text-align: center;
}

.chain-flow-steps {
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px 20px;
}

.chain-flow-step {
  flex: 0 1 120px;
  min-width: 88px;
  padding: 0 6px;
}

.chain-flow-step:not(:last-child)::after {
  right: -10px;
  top: 22px;
  z-index: 0;
}

.chain-quick {
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  justify-items: stretch;
}

.chain-panel-head {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1.4;
}

.chain-tx-diagram {
  justify-content: center;
  text-align: center;
  line-height: 1.5;
}

.chain-side-col .chain-panel-body {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

.chain-side-col .chain-chart {
  flex: 1;
  min-height: 128px;
  width: 100%;
}

.chain-net-list {
  text-align: left;
}

.chain-ok-box {
  text-align: center;
}

.chain-table th {
  vertical-align: middle;
}

.chain-table td {
  vertical-align: middle;
}

.chain-table td:nth-child(4) {
  word-break: break-all;
  max-width: 180px;
}

.chain-list-head {
  align-items: center;
}

.chain-pagination {
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px 10px;
}

/* —— 交易市场 —— */
.mk-topbar {
  align-items: center;
}

.mk-topbar-title {
  min-width: 0;
}

.mk-topbar-title h1,
.mk-topbar-title p {
  overflow: hidden;
  text-overflow: ellipsis;
}

.mk-topbar-title p {
  white-space: normal;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.mk-search {
  justify-self: center;
  width: 100%;
  max-width: 420px;
}

.mk-kpi {
  text-align: center;
}

.mk-kpi .lbl,
.mk-kpi .val,
.mk-kpi .tr {
  text-align: center;
}

.mk-panel-head {
  min-height: 44px;
  line-height: 1.4;
}

.mk-panel-head > :first-child {
  flex: 1;
  min-width: 0;
}

.mk-proof-pill .n,
.mk-proof-pill .l {
  text-align: center;
}

.mk-service-shield {
  text-align: center;
}

.mk-monitor-box {
  text-align: center;
}

.mk-monitor-box .v {
  text-align: center;
}

.mk-table th {
  vertical-align: middle;
}

.mk-table td {
  vertical-align: middle;
}

.mk-table td:first-child {
  word-break: break-all;
}

.mk-side-col .mk-chart,
.mk-side-col .mk-risk-gauge {
  min-height: 130px;
}

.mk-pagination {
  flex-wrap: wrap;
  justify-content: center;
}

/* —— 运营后台 —— */
#page-head {
  align-items: center;
}

.page-head-text {
  min-width: 0;
  flex: 1;
}

.page-head-text h1 {
  line-height: 1.35;
}

.page-head-text p {
  white-space: normal;
}

.chart-title {
  text-align: center;
}

.stat-card {
  align-items: center;
}

.stat-info {
  min-width: 0;
}

.stat-info .label {
  line-height: 1.35;
}

.card-header {
  align-items: center;
  min-height: 48px;
}

table th,
table td {
  vertical-align: middle;
}

.empty,
.empty-text {
  text-align: center;
}

/* —— 通用分页 / 表格长文本 —— */
.pag-info,
.market-pagination,
.chain-pagination,
.mk-pagination {
  align-items: center;
}
