/* ===== Global Base Styles — Unified Design System ===== */
:root {
  /* Spacing scale (4pt base) */
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 12px;
  --space-base: 16px;
  --space-lg: 24px;
  --space-xl: 32px;
  /* Border radius scale */
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 8px;
  /* Shadow scale */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.06);
  --shadow-md: 0 2px 8px rgba(0, 0, 0, 0.08);
  --shadow-lg: 0 4px 16px rgba(0, 0, 0, 0.12);
  --shadow-sidebar: 2px 0 12px rgba(0, 0, 0, 0.15);
  /* Neutral color tokens */
  --text-primary: rgba(0, 0, 0, 0.85);
  --text-secondary: rgba(0, 0, 0, 0.65);
  --text-muted: rgba(0, 0, 0, 0.45);
  --text-disabled: rgba(0, 0, 0, 0.25);
  --border-color: #e8e8e8;
  --border-color-light: #f0f0f0;
  --divider-color: #f0f0f0;
  --bg-base: #fff;
  --bg-page: #f5f7fa;
  --bg-elevated: #fff;
  --bg-muted: #fafafa;
  /* Transition */
  --transition-fast: 0.15s ease;
  --transition-normal: 0.25s ease;
  /* Layout dimensions (header 64px + multitab 38px) */
  --layout-top-offset: 102px;
}
body {
  margin: 0;
  padding: 0;
  color: rgba(0, 0, 0, 0.85);
  color: var(--text-primary);
  font-size: 14px;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  line-height: 1.5;
  background: #fff;
  background: var(--bg-base);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
/* ===== Operating Buttons ===== */
.operating {
  margin-right: 8px;
  margin-right: var(--space-sm);
  padding: 0;
  color: #f5711e !important;
  color: var(--primary-color, #f5711e) !important;
  background: transparent;
  border: none;
  outline: none;
  cursor: pointer;
  transition: color 0.15s ease;
  transition: color var(--transition-fast);
}
.operating:hover {
  color: #ff8535;
  color: var(--primary-color-hover, #ff8535);
}
.operatingDet {
  margin-right: 8px;
  margin-right: var(--space-sm);
  padding: 0;
  color: #ff4d4f !important;
  background: transparent;
  border: none;
  outline: none;
  cursor: pointer;
  transition: color 0.15s ease;
  transition: color var(--transition-fast);
}
.operatingDet:hover {
  color: #ff7875;
}
.defaultOperating {
  margin-right: 8px;
  margin-right: var(--space-sm);
  padding: 0;
  color: rgba(0, 0, 0, 0.65) !important;
  color: var(--text-secondary) !important;
  background: transparent;
  border: none;
  outline: none;
  cursor: pointer;
}
.disableBtn button[disabled] {
  color: rgba(0, 0, 0, 0.25) !important;
  color: var(--text-disabled) !important;
  background-color: transparent !important;
  border: none !important;
}
/* ===== AG Grid ===== */
.ag-font-style {
  -ms-user-select: text !important;
  -webkit-user-select: text !important;
  user-select: initial !important;
}
.ag-theme-balham.ag-unselectable {
  -webkit-user-select: text !important;
  -ms-user-select: initial !important;
      user-select: initial !important;
}
.ag-header-cell-label {
  -webkit-justify-content: center;
          justify-content: center;
}
div.ag-root .ag-cell-focus {
  -webkit-user-select: text !important;
  -ms-user-select: text !important;
  user-select: text !important;
}
/* ===== Unified Scrollbar ===== */
.scrollBar::-webkit-scrollbar,
.commonCard::-webkit-scrollbar,
.ant-cascader-menu::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.scrollBar::-webkit-scrollbar-thumb,
.commonCard::-webkit-scrollbar-thumb,
.ant-cascader-menu::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.15);
  border-radius: 3px;
}
.scrollBar::-webkit-scrollbar-thumb:hover,
.commonCard::-webkit-scrollbar-thumb:hover,
.ant-cascader-menu::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.25);
}
.scrollBar::-webkit-scrollbar-track,
.commonCard::-webkit-scrollbar-track,
.ant-cascader-menu::-webkit-scrollbar-track {
  background: transparent;
  border-radius: 3px;
}
/* ===== Tabs ===== */
.ant-tabs .ant-tabs-top-content,
.ant-tabs .ant-tabs-bottom-content {
  height: calc(100% - 40px);
  background: #fff;
  background: var(--bg-base);
}
.ant-tabs-tabpane-active {
  height: 100%;
}
/* ===== Collapse ===== */
.commonCard .ant-collapse-header {
  background: #fafafa;
  background: var(--bg-muted);
  border-radius: 4px;
  border-radius: var(--radius-sm);
}
/* ===== Utilities ===== */
.onlineText {
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.redWord {
  color: #ff4d4f !important;
}
.ant-btn-icon-only > i {
  display: inline !important;
}
.ant-menu-submenu-popup {
  z-index: 4444444 !important;
}
/* ===== Page Layout ===== */
.container {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
          flex-direction: column;
  height: 100%;
}
.container .ant-page-header-content {
  display: -webkit-flex;
  display: flex;
  -webkit-flex: 1 1;
          flex: 1 1;
  -webkit-flex-direction: column;
          flex-direction: column;
}
.xzg-content {
  height: calc(100vh - 102px - 220px);
  height: calc(100vh - var(--layout-top-offset) - 220px);
}
.ka-wrapper,
.ka-wrapper > div,
.ka-content {
  height: 100%;
}
/* ===== Content area flex: fill viewport for ALL pages ===== */
.ka-content {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
          flex-direction: column;
}
/* Spin-wrapped pages: Spin fills ka-content */
.ka-content > .ant-spin-nested-loading {
  min-height: 100%;
}
.ka-content > .ant-spin-nested-loading > .ant-spin-container {
  display: -webkit-flex;
  display: flex;
  -webkit-flex: 1 1;
          flex: 1 1;
  -webkit-flex-direction: column;
          flex-direction: column;
  min-height: 100%;
}
/* Non-Spin pages: PageHeader fills ka-content */
.ka-content > .ant-page-header {
  display: -webkit-flex;
  display: flex;
  -webkit-flex: 1 1;
          flex: 1 1;
  -webkit-flex-direction: column;
          flex-direction: column;
}
.ka-content > .ant-page-header > .ant-page-header-content {
  display: -webkit-flex;
  display: flex;
  -webkit-flex: 1 1;
          flex: 1 1;
  -webkit-flex-direction: column;
          flex-direction: column;
  min-height: 0;
}
/* Spin-wrapped pages: PageHeader fills Spin container */
.ka-content > .ant-spin-nested-loading > .ant-spin-container > .ant-page-header {
  display: -webkit-flex;
  display: flex;
  -webkit-flex: 1 1;
          flex: 1 1;
  -webkit-flex-direction: column;
          flex-direction: column;
  min-height: 0;
}
.ka-content > .ant-spin-nested-loading > .ant-spin-container > .ant-page-header > .ant-page-header-content {
  display: -webkit-flex;
  display: flex;
  -webkit-flex: 1 1;
          flex: 1 1;
  -webkit-flex-direction: column;
          flex-direction: column;
  min-height: 0;
  padding-top: 16px;
  overflow: visible;
}
.billTableRow {
  display: -webkit-flex !important;
  display: flex !important;
  -webkit-flex: 1 1 !important;
          flex: 1 1 !important;
  min-height: 0 !important;
}
.billTableRow .ant-col {
  display: -webkit-flex !important;
  display: flex !important;
  -webkit-flex: 1 1 !important;
          flex: 1 1 !important;
  -webkit-flex-direction: column !important;
          flex-direction: column !important;
  min-height: 0 !important;
  /* Inner Spin from xzg Table component */
}
.billTableRow .ant-col > .ant-spin-nested-loading {
  display: -webkit-flex !important;
  display: flex !important;
  -webkit-flex: 1 1 !important;
          flex: 1 1 !important;
  -webkit-flex-direction: column !important;
          flex-direction: column !important;
  min-height: 0 !important;
}
.billTableRow .ant-col > .ant-spin-nested-loading .ant-spin-container {
  display: -webkit-flex !important;
  display: flex !important;
  -webkit-flex: 1 1 !important;
          flex: 1 1 !important;
  -webkit-flex-direction: column !important;
          flex-direction: column !important;
  min-height: 0 !important;
}
.billTableRow .ant-col > .ant-spin-nested-loading .ant-spin-container > div {
  display: -webkit-flex !important;
  display: flex !important;
  -webkit-flex: 1 1 !important;
          flex: 1 1 !important;
  -webkit-flex-direction: column !important;
          flex-direction: column !important;
  min-height: 0 !important;
}
.billTableRow .ag-theme-alpine-xzg {
  -webkit-flex: 1 1 !important;
          flex: 1 1 !important;
  height: auto !important;
  min-height: 350px !important;
}
.xzg_iframe_content .ka-wrapper,
.xzg_iframe_content .ka-content {
  height: auto;
}
.xzg_iframe_content .ant-page-header-content {
  display: none;
}

