/* Light background and full page height */
.page-wrap { background: #f7f9fc; min-height: 100vh; }

/* KPI Cards */
.soft-card {
  border: 1px solid #e9eef5;
  box-shadow: 0 2px 10px rgba(10, 31, 68, 0.06);
  border-radius: 12px;
}

/* Tabs space/stack and z-index protection against graph tooltips/hover */
.tabs-wrap { margin-top: 12px; position: relative; z-index: 1; }
.tabs-wrap::before {
  content: "";
  display: block;
  height: 1px;
  background: #e9eef5;
  margin-bottom: 10px;
  opacity: .8;
}

/* "Pills" style tabs */
.pro-tabs .nav-link {
  border-radius: 999px !important;
  margin-right: 6px;
  padding: 6px 14px;
  color: #334;
  background: #eef3f9;
  border: none !important;
}
.pro-tabs .nav-link.active {
  background: #2b6cb0;
  color: #fff !important;
  box-shadow: 0 1px 6px rgba(43,108,176,.3);
}

/* Flex utilities */
.flex-1 { flex: 1 1 auto; }
.min-h-0 { min-height: 0; }

/* Guarantee full height to the core of AG Grid */
#tabs-content,
#tabs-content > div,
#tabs-content .d-flex,
#tabs-content .h-100 {
  height: 100% !important;
}

.ag-theme-quartz,
.ag-theme-quartz .ag-root-wrapper,
.ag-theme-quartz .ag-root-wrapper-body {
  height: 100% !important;
}

/* AG Grid refinements */
.ag-theme-quartz {
  --ag-header-background-color: #f5f7fb;
  --ag-odd-row-background-color: #ffffff;
  --ag-row-hover-color: #f0f4ff;
  --ag-font-size: 12.5px;
  border-radius: 10px;
}
