@charset "UTF-8";.sidebar {
  position: fixed;
  left: 0;
  top: 0;
  height: 100vh;
  width: 260px;
  background-color: #10204E;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  z-index: 1000;
  box-shadow: 2px 0 8px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease;
  transform: translateX(0);
}

.sidebar.sidebar-hidden {
  transform: translateX(-100%);
}

.sidebar-header {
  padding: 1.5rem 1.25rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.sidebar-logo-container {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  cursor: pointer;
  transition: opacity 0.2s;
}

.sidebar-logo-container:hover {
  opacity: 0.8;
}

.sidebar-logo-icon {
  width: 32px;
  height: 32px;
  object-fit: contain;
}

.sidebar-logo {
  font-size: 1.25rem;
  font-weight: 600;
  color: #ffffff;
  margin: 0;
}

.sidebar-content {
  flex: 1;
  padding: 1rem 0;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch; /* Smooth scrolling on iOS */
}

.sidebar-nav {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 0 0.75rem;
}

.sidebar-nav-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.6rem 1rem;
  color: #ffffff;
  text-decoration: none;
  border-radius: 6px;
  transition: background-color 0.2s, color 0.2s;
  font-size: 0.9rem;
}

.sidebar-nav-item:hover {
  background-color: rgba(255, 255, 255, 0.15);
  color: #ffffff;
}

.sidebar-nav-item.active {
  background-color: rgba(255, 255, 255, 0.25);
  color: #ffffff;
}

.sidebar-nav-icon {
  font-size: 1rem;
  min-width: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.sidebar-footer {
  padding: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.sidebar-footer-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.5rem;
}

.sidebar-footer-left {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.user-icon-container {
  position: relative;
}

.user-icon-button {
  width: 100%;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.user-icon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 1rem;
  transition: transform 0.2s, box-shadow 0.2s;
}

.user-icon-button:hover .user-icon {
  transform: scale(1.05);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}

.user-menu {
  position: absolute;
  bottom: 60px;
  left: 0;
  width: 220px;
  background-color: #10204E;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
  padding: 0.75rem 0;
  z-index: 1001;
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.user-menu-header {
  padding: 0.75rem 1rem;
}

.user-menu-name {
  font-weight: 600;
  font-size: 0.95rem;
  color: #ffffff;
  margin-bottom: 0.25rem;
}

.user-menu-email {
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.8);
}

.user-menu-divider {
  height: 1px;
  background-color: rgba(255, 255, 255, 0.2);
  margin: 0.5rem 0;
}

.user-menu-item {
  width: 100%;
  padding: 0.75rem 1rem;
  background: none;
  border: none;
  color: #ffffff;
  text-align: left;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.9rem;
  transition: background-color 0.2s;
}

.user-menu-item:hover {
  background-color: rgba(255, 255, 255, 0.15);
}

.user-menu-icon {
  font-size: 1.1rem;
  min-width: 1.1rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.sidebar-toggle-btn {
  background: none;
  color: #ffffff;
  border: none;
  width: 36px;
  height: 36px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.2s, transform 0.2s;
  flex-shrink: 0;
  padding: 0;
}

.sidebar-toggle-btn:hover {
  color: #ffffff;
  transform: scale(1.1);
  opacity: 0.8;
}

.sidebar-toggle-icon {
  font-size: 1rem;
}

.sidebar-toggle-btn-floating {
  position: fixed;
  bottom: 1rem;
  left: 1rem;
  z-index: 1001;
  background-color: #10204E;
  color: #ffffff;
  border: none;
  border-radius: 4px;
  width: 36px;
  height: 36px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  transition: color 0.2s, transform 0.2s, background-color 0.2s;
}

.sidebar-toggle-btn-floating:hover {
  color: #ffffff;
  background-color: rgba(16, 32, 78, 0.9);
  transform: scale(1.05);
}

.sidebar-toggle-btn-floating .sidebar-toggle-icon {
  font-size: 1rem;
}

/* Mobile hamburger button */
.sidebar-hamburger-btn {
  position: fixed;
  top: 1rem;
  left: 1rem;
  z-index: 2001;
  background-color: #10204E;
  color: #ffffff;
  border: none;
  border-radius: 6px;
  width: 44px;
  height: 44px;
  cursor: pointer;
  display: none;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  transition: background-color 0.2s, transform 0.2s;
}

.sidebar-hamburger-btn:hover {
  background-color: rgba(16, 32, 78, 0.9);
  transform: scale(1.05);
}

.sidebar-hamburger-icon {
  font-size: 1.25rem;
}

/* Mobile close button in sidebar header */
.sidebar-mobile-close-btn {
  background: none;
  color: #ffffff;
  border: none;
  width: 36px;
  height: 36px;
  cursor: pointer;
  display: none;
  align-items: center;
  justify-content: center;
  transition: opacity 0.2s, transform 0.2s;
  padding: 0;
  border-radius: 4px;
}

.sidebar-mobile-close-btn:hover {
  opacity: 0.8;
  background-color: rgba(255, 255, 255, 0.1);
}

.sidebar-mobile-close-icon {
  font-size: 1.25rem;
}

/* Theme Toggle Button */
.sidebar-theme-toggle {
  background: none;
  border: none;
  color: #ffffff;
  width: 36px;
  height: 36px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  transition: background-color 0.2s, transform 0.2s, color 0.2s;
  padding: 0;
  flex-shrink: 0;
}

.sidebar-theme-toggle:hover {
  background-color: rgba(255, 255, 255, 0.15);
  transform: scale(1.1);
}

.sidebar-theme-toggle:active {
  transform: scale(0.95);
}

.sidebar-theme-icon {
  font-size: 1.1rem;
}

/* Monitoring Button */
.sidebar-monitoring-btn {
  background: none;
  border: none;
  color: #ffffff;
  width: 36px;
  height: 36px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  transition: background-color 0.2s, transform 0.2s, color 0.2s;
  padding: 0;
  flex-shrink: 0;
  text-decoration: none;
}

.sidebar-monitoring-btn:hover {
  background-color: rgba(255, 255, 255, 0.15);
  transform: scale(1.1);
}

.sidebar-monitoring-btn:active {
  transform: scale(0.95);
}

.sidebar-monitoring-btn.active {
  background-color: rgba(255, 255, 255, 0.2);
  color: #60a5fa;
}

.sidebar-monitoring-icon {
  font-size: 1.1rem;
}

/* Mobile Responsive Styles - Sidebar scrolling fix */
@media (max-width: 768px) {
  .sidebar {
    width: 280px;
    transform: translateX(-100%);
    z-index: 2000;
    height: 100vh;
    height: 100dvh; /* Use dynamic viewport height on mobile */
    overflow: hidden; /* Prevent body scroll */
  }

  .sidebar:not(.sidebar-hidden) {
    transform: translateX(0);
  }

  .sidebar-header {
    padding: 1rem;
    flex-shrink: 0; /* Prevent header from shrinking */
  }

  .sidebar-content {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0.5rem 0 1rem 0;
    /* Ensure scrolling works properly */
    min-height: 0;
    max-height: calc(100vh - 180px); /* Header ~60px + Footer ~120px */
    max-height: calc(100dvh - 180px);
  }

  .sidebar-mobile-close-btn {
    display: flex;
  }

  .sidebar-logo {
    font-size: 1.1rem;
  }

  .sidebar-nav {
    padding: 0 0.5rem;
  }

  .sidebar-nav-item {
    padding: 0.75rem 0.75rem;
    font-size: 0.95rem;
  }

  .sidebar-footer {
    padding: 0.75rem;
    flex-shrink: 0; /* Prevent footer from shrinking */
    background-color: #10204E; /* Ensure footer background */
  }

  .user-menu {
    width: 200px;
    bottom: 70px;
  }

  .sidebar-hamburger-btn {
    display: flex;
  }

  .sidebar-toggle-btn-floating {
    display: none;
  }
}

.home-page {
  padding: 2rem;
}

.home-header {
  margin-bottom: 2rem;
}

.home-header h1 {
  font-size: 2rem;
  color: var(--text-primary);
  margin-bottom: 0.5rem;
  transition: color 0.3s ease;
}

.home-header p {
  color: var(--text-primary);
  font-size: 1.1rem;
  transition: color 0.3s ease;
}

.home-loading,
.home-error {
  text-align: center;
  padding: 2rem;
  color: var(--text-secondary);
  font-size: 1.1rem;
  transition: color 0.3s ease;
}

.home-error {
  color: #dc3545;
}

/* Section Styles */
.home-section {
  margin-bottom: 3rem;
}

.home-section-title {
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 1.5rem;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid var(--border-color);
  transition: color 0.3s ease, border-color 0.3s ease;
}

/* Dashboard Widget */
.home-widget {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  align-items: stretch;
}

.home-widget-item {
  flex: 1;
  min-width: 200px;
  background: var(--card-bg);
  border: 1px solid var(--border-color);
  border-radius: 8px;
  padding: 1.5rem;
  box-shadow: 0 2px 4px var(--shadow);
  transition: background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

.home-widget-label {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 0.75rem;
  transition: color 0.3s ease;
}

.home-widget-value {
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--text-primary);
  transition: color 0.3s ease;
}

.home-widget-value.status-on {
  color: #28a745;
}

.home-widget-value.status-off {
  color: #dc3545;
}

/* Mobile Responsive Styles */
@media (max-width: 768px) {
  .home-page {
    padding: 1rem;
  }

  .home-header h1 {
    font-size: 1.5rem;
  }

  .home-header p {
    font-size: 1rem;
  }

  .home-section {
    margin-bottom: 2rem;
  }

  .home-section-title {
    font-size: 1.25rem;
    margin-bottom: 1rem;
  }

  .home-widget {
    flex-direction: column;
    gap: 1rem;
  }

  .home-widget-item {
    padding: 1rem;
  }

  .home-widget-value {
    font-size: 1.25rem;
  }
}

.ag-icon {
  font-family: var(--ag-icon-font-family);
  font-weight: var(--ag-icon-font-weight);
  color: var(--ag-icon-font-color);
  font-size: var(--ag-icon-size);
  line-height: var(--ag-icon-size);
  font-style: normal;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: var(--ag-icon-size);
  height: var(--ag-icon-size);
  position: relative;
}
.ag-icon::before {
  content: "";
}
.ag-icon::after {
  background: transparent var(--ag-icon-image, none) center/contain no-repeat;
  display: var(--ag-icon-image-display);
  opacity: var(--ag-icon-image-opacity, 0.9);
  position: absolute;
  inset: 0;
  content: "";
}

.ag-icon-aggregation {
  font-family: var(--ag-icon-font-family-aggregation, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-aggregation, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-aggregation, var(--ag-icon-font-color));
}

.ag-icon-aggregation::before {
  content: var(--ag-icon-font-code-aggregation, "\f101");
  display: var(--ag-icon-font-display-aggregation, var(--ag-icon-font-display));
}

.ag-icon-aggregation::after {
  background-image: var(--ag-icon-image-aggregation, var(--ag-icon-image));
  display: var(--ag-icon-image-display-aggregation, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-aggregation, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-arrows {
  font-family: var(--ag-icon-font-family-arrows, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-arrows, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-arrows, var(--ag-icon-font-color));
}

.ag-icon-arrows::before {
  content: var(--ag-icon-font-code-arrows, "\f102");
  display: var(--ag-icon-font-display-arrows, var(--ag-icon-font-display));
}

.ag-icon-arrows::after {
  background-image: var(--ag-icon-image-arrows, var(--ag-icon-image));
  display: var(--ag-icon-image-display-arrows, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-arrows, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-asc {
  font-family: var(--ag-icon-font-family-asc, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-asc, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-asc, var(--ag-icon-font-color));
}

.ag-icon-asc::before {
  content: var(--ag-icon-font-code-asc, "\f103");
  display: var(--ag-icon-font-display-asc, var(--ag-icon-font-display));
}

.ag-icon-asc::after {
  background-image: var(--ag-icon-image-asc, var(--ag-icon-image));
  display: var(--ag-icon-image-display-asc, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-asc, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-cancel {
  font-family: var(--ag-icon-font-family-cancel, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-cancel, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-cancel, var(--ag-icon-font-color));
}

.ag-icon-cancel::before {
  content: var(--ag-icon-font-code-cancel, "\f104");
  display: var(--ag-icon-font-display-cancel, var(--ag-icon-font-display));
}

.ag-icon-cancel::after {
  background-image: var(--ag-icon-image-cancel, var(--ag-icon-image));
  display: var(--ag-icon-image-display-cancel, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-cancel, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-chart {
  font-family: var(--ag-icon-font-family-chart, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-chart, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-chart, var(--ag-icon-font-color));
}

.ag-icon-chart::before {
  content: var(--ag-icon-font-code-chart, "\f105");
  display: var(--ag-icon-font-display-chart, var(--ag-icon-font-display));
}

.ag-icon-chart::after {
  background-image: var(--ag-icon-image-chart, var(--ag-icon-image));
  display: var(--ag-icon-image-display-chart, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-chart, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-checkbox-checked {
  font-family: var(--ag-icon-font-family-checkbox-checked, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-checkbox-checked, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-checkbox-checked, var(--ag-icon-font-color));
}

.ag-icon-checkbox-checked::before {
  content: var(--ag-icon-font-code-checkbox-checked, "\f106");
  display: var(--ag-icon-font-display-checkbox-checked, var(--ag-icon-font-display));
}

.ag-icon-checkbox-checked::after {
  background-image: var(--ag-icon-image-checkbox-checked, var(--ag-icon-image));
  display: var(--ag-icon-image-display-checkbox-checked, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-checkbox-checked, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-checkbox-indeterminate {
  font-family: var(--ag-icon-font-family-checkbox-indeterminate, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-checkbox-indeterminate, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-checkbox-indeterminate, var(--ag-icon-font-color));
}

.ag-icon-checkbox-indeterminate::before {
  content: var(--ag-icon-font-code-checkbox-indeterminate, "\f107");
  display: var(--ag-icon-font-display-checkbox-indeterminate, var(--ag-icon-font-display));
}

.ag-icon-checkbox-indeterminate::after {
  background-image: var(--ag-icon-image-checkbox-indeterminate, var(--ag-icon-image));
  display: var(--ag-icon-image-display-checkbox-indeterminate, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-checkbox-indeterminate, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-checkbox-unchecked {
  font-family: var(--ag-icon-font-family-checkbox-unchecked, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-checkbox-unchecked, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-checkbox-unchecked, var(--ag-icon-font-color));
}

.ag-icon-checkbox-unchecked::before {
  content: var(--ag-icon-font-code-checkbox-unchecked, "\f108");
  display: var(--ag-icon-font-display-checkbox-unchecked, var(--ag-icon-font-display));
}

.ag-icon-checkbox-unchecked::after {
  background-image: var(--ag-icon-image-checkbox-unchecked, var(--ag-icon-image));
  display: var(--ag-icon-image-display-checkbox-unchecked, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-checkbox-unchecked, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-color-picker {
  font-family: var(--ag-icon-font-family-color-picker, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-color-picker, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-color-picker, var(--ag-icon-font-color));
}

.ag-icon-color-picker::before {
  content: var(--ag-icon-font-code-color-picker, "\f109");
  display: var(--ag-icon-font-display-color-picker, var(--ag-icon-font-display));
}

.ag-icon-color-picker::after {
  background-image: var(--ag-icon-image-color-picker, var(--ag-icon-image));
  display: var(--ag-icon-image-display-color-picker, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-color-picker, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-columns {
  font-family: var(--ag-icon-font-family-columns, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-columns, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-columns, var(--ag-icon-font-color));
}

.ag-icon-columns::before {
  content: var(--ag-icon-font-code-columns, "\f10a");
  display: var(--ag-icon-font-display-columns, var(--ag-icon-font-display));
}

.ag-icon-columns::after {
  background-image: var(--ag-icon-image-columns, var(--ag-icon-image));
  display: var(--ag-icon-image-display-columns, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-columns, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-contracted {
  font-family: var(--ag-icon-font-family-contracted, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-contracted, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-contracted, var(--ag-icon-font-color));
}

.ag-icon-contracted::before {
  content: var(--ag-icon-font-code-contracted, "\f10b");
  display: var(--ag-icon-font-display-contracted, var(--ag-icon-font-display));
}

.ag-icon-contracted::after {
  background-image: var(--ag-icon-image-contracted, var(--ag-icon-image));
  display: var(--ag-icon-image-display-contracted, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-contracted, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-copy {
  font-family: var(--ag-icon-font-family-copy, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-copy, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-copy, var(--ag-icon-font-color));
}

.ag-icon-copy::before {
  content: var(--ag-icon-font-code-copy, "\f10c");
  display: var(--ag-icon-font-display-copy, var(--ag-icon-font-display));
}

.ag-icon-copy::after {
  background-image: var(--ag-icon-image-copy, var(--ag-icon-image));
  display: var(--ag-icon-image-display-copy, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-copy, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-cross {
  font-family: var(--ag-icon-font-family-cross, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-cross, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-cross, var(--ag-icon-font-color));
}

.ag-icon-cross::before {
  content: var(--ag-icon-font-code-cross, "\f10d");
  display: var(--ag-icon-font-display-cross, var(--ag-icon-font-display));
}

.ag-icon-cross::after {
  background-image: var(--ag-icon-image-cross, var(--ag-icon-image));
  display: var(--ag-icon-image-display-cross, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-cross, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-csv {
  font-family: var(--ag-icon-font-family-csv, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-csv, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-csv, var(--ag-icon-font-color));
}

.ag-icon-csv::before {
  content: var(--ag-icon-font-code-csv, "\f10e");
  display: var(--ag-icon-font-display-csv, var(--ag-icon-font-display));
}

.ag-icon-csv::after {
  background-image: var(--ag-icon-image-csv, var(--ag-icon-image));
  display: var(--ag-icon-image-display-csv, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-csv, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-cut {
  font-family: var(--ag-icon-font-family-cut, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-cut, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-cut, var(--ag-icon-font-color));
}

.ag-icon-cut::before {
  content: var(--ag-icon-font-code-cut, "\f10f");
  display: var(--ag-icon-font-display-cut, var(--ag-icon-font-display));
}

.ag-icon-cut::after {
  background-image: var(--ag-icon-image-cut, var(--ag-icon-image));
  display: var(--ag-icon-image-display-cut, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-cut, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-desc {
  font-family: var(--ag-icon-font-family-desc, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-desc, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-desc, var(--ag-icon-font-color));
}

.ag-icon-desc::before {
  content: var(--ag-icon-font-code-desc, "\f110");
  display: var(--ag-icon-font-display-desc, var(--ag-icon-font-display));
}

.ag-icon-desc::after {
  background-image: var(--ag-icon-image-desc, var(--ag-icon-image));
  display: var(--ag-icon-image-display-desc, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-desc, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-excel {
  font-family: var(--ag-icon-font-family-excel, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-excel, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-excel, var(--ag-icon-font-color));
}

.ag-icon-excel::before {
  content: var(--ag-icon-font-code-excel, "\f111");
  display: var(--ag-icon-font-display-excel, var(--ag-icon-font-display));
}

.ag-icon-excel::after {
  background-image: var(--ag-icon-image-excel, var(--ag-icon-image));
  display: var(--ag-icon-image-display-excel, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-excel, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-expanded {
  font-family: var(--ag-icon-font-family-expanded, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-expanded, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-expanded, var(--ag-icon-font-color));
}

.ag-icon-expanded::before {
  content: var(--ag-icon-font-code-expanded, "\f112");
  display: var(--ag-icon-font-display-expanded, var(--ag-icon-font-display));
}

.ag-icon-expanded::after {
  background-image: var(--ag-icon-image-expanded, var(--ag-icon-image));
  display: var(--ag-icon-image-display-expanded, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-expanded, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-eye-slash {
  font-family: var(--ag-icon-font-family-eye-slash, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-eye-slash, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-eye-slash, var(--ag-icon-font-color));
}

.ag-icon-eye-slash::before {
  content: var(--ag-icon-font-code-eye-slash, "\f113");
  display: var(--ag-icon-font-display-eye-slash, var(--ag-icon-font-display));
}

.ag-icon-eye-slash::after {
  background-image: var(--ag-icon-image-eye-slash, var(--ag-icon-image));
  display: var(--ag-icon-image-display-eye-slash, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-eye-slash, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-eye {
  font-family: var(--ag-icon-font-family-eye, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-eye, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-eye, var(--ag-icon-font-color));
}

.ag-icon-eye::before {
  content: var(--ag-icon-font-code-eye, "\f114");
  display: var(--ag-icon-font-display-eye, var(--ag-icon-font-display));
}

.ag-icon-eye::after {
  background-image: var(--ag-icon-image-eye, var(--ag-icon-image));
  display: var(--ag-icon-image-display-eye, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-eye, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-filter {
  font-family: var(--ag-icon-font-family-filter, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-filter, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-filter, var(--ag-icon-font-color));
}

.ag-icon-filter::before {
  content: var(--ag-icon-font-code-filter, "\f115");
  display: var(--ag-icon-font-display-filter, var(--ag-icon-font-display));
}

.ag-icon-filter::after {
  background-image: var(--ag-icon-image-filter, var(--ag-icon-image));
  display: var(--ag-icon-image-display-filter, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-filter, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-first {
  font-family: var(--ag-icon-font-family-first, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-first, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-first, var(--ag-icon-font-color));
}

.ag-icon-first::before {
  content: var(--ag-icon-font-code-first, "\f116");
  display: var(--ag-icon-font-display-first, var(--ag-icon-font-display));
}

.ag-icon-first::after {
  background-image: var(--ag-icon-image-first, var(--ag-icon-image));
  display: var(--ag-icon-image-display-first, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-first, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-grip {
  font-family: var(--ag-icon-font-family-grip, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-grip, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-grip, var(--ag-icon-font-color));
}

.ag-icon-grip::before {
  content: var(--ag-icon-font-code-grip, "\f117");
  display: var(--ag-icon-font-display-grip, var(--ag-icon-font-display));
}

.ag-icon-grip::after {
  background-image: var(--ag-icon-image-grip, var(--ag-icon-image));
  display: var(--ag-icon-image-display-grip, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-grip, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-group {
  font-family: var(--ag-icon-font-family-group, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-group, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-group, var(--ag-icon-font-color));
}

.ag-icon-group::before {
  content: var(--ag-icon-font-code-group, "\f118");
  display: var(--ag-icon-font-display-group, var(--ag-icon-font-display));
}

.ag-icon-group::after {
  background-image: var(--ag-icon-image-group, var(--ag-icon-image));
  display: var(--ag-icon-image-display-group, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-group, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-last {
  font-family: var(--ag-icon-font-family-last, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-last, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-last, var(--ag-icon-font-color));
}

.ag-icon-last::before {
  content: var(--ag-icon-font-code-last, "\f119");
  display: var(--ag-icon-font-display-last, var(--ag-icon-font-display));
}

.ag-icon-last::after {
  background-image: var(--ag-icon-image-last, var(--ag-icon-image));
  display: var(--ag-icon-image-display-last, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-last, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-left {
  font-family: var(--ag-icon-font-family-left, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-left, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-left, var(--ag-icon-font-color));
}

.ag-icon-left::before {
  content: var(--ag-icon-font-code-left, "\f11a");
  display: var(--ag-icon-font-display-left, var(--ag-icon-font-display));
}

.ag-icon-left::after {
  background-image: var(--ag-icon-image-left, var(--ag-icon-image));
  display: var(--ag-icon-image-display-left, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-left, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-linked {
  font-family: var(--ag-icon-font-family-linked, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-linked, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-linked, var(--ag-icon-font-color));
}

.ag-icon-linked::before {
  content: var(--ag-icon-font-code-linked, "\f11b");
  display: var(--ag-icon-font-display-linked, var(--ag-icon-font-display));
}

.ag-icon-linked::after {
  background-image: var(--ag-icon-image-linked, var(--ag-icon-image));
  display: var(--ag-icon-image-display-linked, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-linked, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-loading {
  font-family: var(--ag-icon-font-family-loading, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-loading, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-loading, var(--ag-icon-font-color));
}

.ag-icon-loading::before {
  content: var(--ag-icon-font-code-loading, "\f11c");
  display: var(--ag-icon-font-display-loading, var(--ag-icon-font-display));
}

.ag-icon-loading::after {
  background-image: var(--ag-icon-image-loading, var(--ag-icon-image));
  display: var(--ag-icon-image-display-loading, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-loading, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-maximize {
  font-family: var(--ag-icon-font-family-maximize, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-maximize, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-maximize, var(--ag-icon-font-color));
}

.ag-icon-maximize::before {
  content: var(--ag-icon-font-code-maximize, "\f11d");
  display: var(--ag-icon-font-display-maximize, var(--ag-icon-font-display));
}

.ag-icon-maximize::after {
  background-image: var(--ag-icon-image-maximize, var(--ag-icon-image));
  display: var(--ag-icon-image-display-maximize, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-maximize, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-menu {
  font-family: var(--ag-icon-font-family-menu, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-menu, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-menu, var(--ag-icon-font-color));
}

.ag-icon-menu::before {
  content: var(--ag-icon-font-code-menu, "\f11e");
  display: var(--ag-icon-font-display-menu, var(--ag-icon-font-display));
}

.ag-icon-menu::after {
  background-image: var(--ag-icon-image-menu, var(--ag-icon-image));
  display: var(--ag-icon-image-display-menu, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-menu, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-minimize {
  font-family: var(--ag-icon-font-family-minimize, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-minimize, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-minimize, var(--ag-icon-font-color));
}

.ag-icon-minimize::before {
  content: var(--ag-icon-font-code-minimize, "\f11f");
  display: var(--ag-icon-font-display-minimize, var(--ag-icon-font-display));
}

.ag-icon-minimize::after {
  background-image: var(--ag-icon-image-minimize, var(--ag-icon-image));
  display: var(--ag-icon-image-display-minimize, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-minimize, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-next {
  font-family: var(--ag-icon-font-family-next, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-next, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-next, var(--ag-icon-font-color));
}

.ag-icon-next::before {
  content: var(--ag-icon-font-code-next, "\f120");
  display: var(--ag-icon-font-display-next, var(--ag-icon-font-display));
}

.ag-icon-next::after {
  background-image: var(--ag-icon-image-next, var(--ag-icon-image));
  display: var(--ag-icon-image-display-next, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-next, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-none {
  font-family: var(--ag-icon-font-family-none, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-none, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-none, var(--ag-icon-font-color));
}

.ag-icon-none::before {
  content: var(--ag-icon-font-code-none, "\f121");
  display: var(--ag-icon-font-display-none, var(--ag-icon-font-display));
}

.ag-icon-none::after {
  background-image: var(--ag-icon-image-none, var(--ag-icon-image));
  display: var(--ag-icon-image-display-none, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-none, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-not-allowed {
  font-family: var(--ag-icon-font-family-not-allowed, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-not-allowed, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-not-allowed, var(--ag-icon-font-color));
}

.ag-icon-not-allowed::before {
  content: var(--ag-icon-font-code-not-allowed, "\f122");
  display: var(--ag-icon-font-display-not-allowed, var(--ag-icon-font-display));
}

.ag-icon-not-allowed::after {
  background-image: var(--ag-icon-image-not-allowed, var(--ag-icon-image));
  display: var(--ag-icon-image-display-not-allowed, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-not-allowed, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-paste {
  font-family: var(--ag-icon-font-family-paste, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-paste, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-paste, var(--ag-icon-font-color));
}

.ag-icon-paste::before {
  content: var(--ag-icon-font-code-paste, "\f123");
  display: var(--ag-icon-font-display-paste, var(--ag-icon-font-display));
}

.ag-icon-paste::after {
  background-image: var(--ag-icon-image-paste, var(--ag-icon-image));
  display: var(--ag-icon-image-display-paste, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-paste, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-pin {
  font-family: var(--ag-icon-font-family-pin, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-pin, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-pin, var(--ag-icon-font-color));
}

.ag-icon-pin::before {
  content: var(--ag-icon-font-code-pin, "\f124");
  display: var(--ag-icon-font-display-pin, var(--ag-icon-font-display));
}

.ag-icon-pin::after {
  background-image: var(--ag-icon-image-pin, var(--ag-icon-image));
  display: var(--ag-icon-image-display-pin, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-pin, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-pivot {
  font-family: var(--ag-icon-font-family-pivot, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-pivot, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-pivot, var(--ag-icon-font-color));
}

.ag-icon-pivot::before {
  content: var(--ag-icon-font-code-pivot, "\f125");
  display: var(--ag-icon-font-display-pivot, var(--ag-icon-font-display));
}

.ag-icon-pivot::after {
  background-image: var(--ag-icon-image-pivot, var(--ag-icon-image));
  display: var(--ag-icon-image-display-pivot, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-pivot, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-previous {
  font-family: var(--ag-icon-font-family-previous, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-previous, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-previous, var(--ag-icon-font-color));
}

.ag-icon-previous::before {
  content: var(--ag-icon-font-code-previous, "\f126");
  display: var(--ag-icon-font-display-previous, var(--ag-icon-font-display));
}

.ag-icon-previous::after {
  background-image: var(--ag-icon-image-previous, var(--ag-icon-image));
  display: var(--ag-icon-image-display-previous, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-previous, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-radio-button-off {
  font-family: var(--ag-icon-font-family-radio-button-off, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-radio-button-off, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-radio-button-off, var(--ag-icon-font-color));
}

.ag-icon-radio-button-off::before {
  content: var(--ag-icon-font-code-radio-button-off, "\f127");
  display: var(--ag-icon-font-display-radio-button-off, var(--ag-icon-font-display));
}

.ag-icon-radio-button-off::after {
  background-image: var(--ag-icon-image-radio-button-off, var(--ag-icon-image));
  display: var(--ag-icon-image-display-radio-button-off, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-radio-button-off, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-radio-button-on {
  font-family: var(--ag-icon-font-family-radio-button-on, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-radio-button-on, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-radio-button-on, var(--ag-icon-font-color));
}

.ag-icon-radio-button-on::before {
  content: var(--ag-icon-font-code-radio-button-on, "\f128");
  display: var(--ag-icon-font-display-radio-button-on, var(--ag-icon-font-display));
}

.ag-icon-radio-button-on::after {
  background-image: var(--ag-icon-image-radio-button-on, var(--ag-icon-image));
  display: var(--ag-icon-image-display-radio-button-on, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-radio-button-on, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-right {
  font-family: var(--ag-icon-font-family-right, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-right, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-right, var(--ag-icon-font-color));
}

.ag-icon-right::before {
  content: var(--ag-icon-font-code-right, "\f129");
  display: var(--ag-icon-font-display-right, var(--ag-icon-font-display));
}

.ag-icon-right::after {
  background-image: var(--ag-icon-image-right, var(--ag-icon-image));
  display: var(--ag-icon-image-display-right, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-right, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-save {
  font-family: var(--ag-icon-font-family-save, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-save, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-save, var(--ag-icon-font-color));
}

.ag-icon-save::before {
  content: var(--ag-icon-font-code-save, "\f12a");
  display: var(--ag-icon-font-display-save, var(--ag-icon-font-display));
}

.ag-icon-save::after {
  background-image: var(--ag-icon-image-save, var(--ag-icon-image));
  display: var(--ag-icon-image-display-save, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-save, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-small-down {
  font-family: var(--ag-icon-font-family-small-down, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-small-down, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-small-down, var(--ag-icon-font-color));
}

.ag-icon-small-down::before {
  content: var(--ag-icon-font-code-small-down, "\f12b");
  display: var(--ag-icon-font-display-small-down, var(--ag-icon-font-display));
}

.ag-icon-small-down::after {
  background-image: var(--ag-icon-image-small-down, var(--ag-icon-image));
  display: var(--ag-icon-image-display-small-down, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-small-down, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-small-left {
  font-family: var(--ag-icon-font-family-small-left, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-small-left, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-small-left, var(--ag-icon-font-color));
}

.ag-icon-small-left::before {
  content: var(--ag-icon-font-code-small-left, "\f12c");
  display: var(--ag-icon-font-display-small-left, var(--ag-icon-font-display));
}

.ag-icon-small-left::after {
  background-image: var(--ag-icon-image-small-left, var(--ag-icon-image));
  display: var(--ag-icon-image-display-small-left, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-small-left, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-small-right {
  font-family: var(--ag-icon-font-family-small-right, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-small-right, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-small-right, var(--ag-icon-font-color));
}

.ag-icon-small-right::before {
  content: var(--ag-icon-font-code-small-right, "\f12d");
  display: var(--ag-icon-font-display-small-right, var(--ag-icon-font-display));
}

.ag-icon-small-right::after {
  background-image: var(--ag-icon-image-small-right, var(--ag-icon-image));
  display: var(--ag-icon-image-display-small-right, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-small-right, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-small-up {
  font-family: var(--ag-icon-font-family-small-up, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-small-up, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-small-up, var(--ag-icon-font-color));
}

.ag-icon-small-up::before {
  content: var(--ag-icon-font-code-small-up, "\f12e");
  display: var(--ag-icon-font-display-small-up, var(--ag-icon-font-display));
}

.ag-icon-small-up::after {
  background-image: var(--ag-icon-image-small-up, var(--ag-icon-image));
  display: var(--ag-icon-image-display-small-up, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-small-up, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-tick {
  font-family: var(--ag-icon-font-family-tick, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-tick, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-tick, var(--ag-icon-font-color));
}

.ag-icon-tick::before {
  content: var(--ag-icon-font-code-tick, "\f12f");
  display: var(--ag-icon-font-display-tick, var(--ag-icon-font-display));
}

.ag-icon-tick::after {
  background-image: var(--ag-icon-image-tick, var(--ag-icon-image));
  display: var(--ag-icon-image-display-tick, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-tick, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-tree-closed {
  font-family: var(--ag-icon-font-family-tree-closed, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-tree-closed, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-tree-closed, var(--ag-icon-font-color));
}

.ag-icon-tree-closed::before {
  content: var(--ag-icon-font-code-tree-closed, "\f130");
  display: var(--ag-icon-font-display-tree-closed, var(--ag-icon-font-display));
}

.ag-icon-tree-closed::after {
  background-image: var(--ag-icon-image-tree-closed, var(--ag-icon-image));
  display: var(--ag-icon-image-display-tree-closed, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-tree-closed, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-tree-indeterminate {
  font-family: var(--ag-icon-font-family-tree-indeterminate, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-tree-indeterminate, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-tree-indeterminate, var(--ag-icon-font-color));
}

.ag-icon-tree-indeterminate::before {
  content: var(--ag-icon-font-code-tree-indeterminate, "\f131");
  display: var(--ag-icon-font-display-tree-indeterminate, var(--ag-icon-font-display));
}

.ag-icon-tree-indeterminate::after {
  background-image: var(--ag-icon-image-tree-indeterminate, var(--ag-icon-image));
  display: var(--ag-icon-image-display-tree-indeterminate, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-tree-indeterminate, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-tree-open {
  font-family: var(--ag-icon-font-family-tree-open, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-tree-open, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-tree-open, var(--ag-icon-font-color));
}

.ag-icon-tree-open::before {
  content: var(--ag-icon-font-code-tree-open, "\f132");
  display: var(--ag-icon-font-display-tree-open, var(--ag-icon-font-display));
}

.ag-icon-tree-open::after {
  background-image: var(--ag-icon-image-tree-open, var(--ag-icon-image));
  display: var(--ag-icon-image-display-tree-open, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-tree-open, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-unlinked {
  font-family: var(--ag-icon-font-family-unlinked, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-unlinked, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-unlinked, var(--ag-icon-font-color));
}

.ag-icon-unlinked::before {
  content: var(--ag-icon-font-code-unlinked, "\f133");
  display: var(--ag-icon-font-display-unlinked, var(--ag-icon-font-display));
}

.ag-icon-unlinked::after {
  background-image: var(--ag-icon-image-unlinked, var(--ag-icon-image));
  display: var(--ag-icon-image-display-unlinked, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-unlinked, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-up {
  font-family: var(--ag-icon-font-family-up, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-up, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-up, var(--ag-icon-font-color));
}

.ag-icon-up::before {
  content: var(--ag-icon-font-code-up, "\f134");
  display: var(--ag-icon-font-display-up, var(--ag-icon-font-display));
}

.ag-icon-up::after {
  background-image: var(--ag-icon-image-up, var(--ag-icon-image));
  display: var(--ag-icon-image-display-up, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-up, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-down {
  font-family: var(--ag-icon-font-family-down, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-down, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-down, var(--ag-icon-font-color));
}

.ag-icon-down::before {
  content: var(--ag-icon-font-code-down, "\f135");
  display: var(--ag-icon-font-display-down, var(--ag-icon-font-display));
}

.ag-icon-down::after {
  background-image: var(--ag-icon-image-down, var(--ag-icon-image));
  display: var(--ag-icon-image-display-down, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-down, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-plus {
  font-family: var(--ag-icon-font-family-plus, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-plus, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-plus, var(--ag-icon-font-color));
}

.ag-icon-plus::before {
  content: var(--ag-icon-font-code-plus, "\f136");
  display: var(--ag-icon-font-display-plus, var(--ag-icon-font-display));
}

.ag-icon-plus::after {
  background-image: var(--ag-icon-image-plus, var(--ag-icon-image));
  display: var(--ag-icon-image-display-plus, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-plus, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-minus {
  font-family: var(--ag-icon-font-family-minus, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-minus, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-minus, var(--ag-icon-font-color));
}

.ag-icon-minus::before {
  content: var(--ag-icon-font-code-minus, "\f137");
  display: var(--ag-icon-font-display-minus, var(--ag-icon-font-display));
}

.ag-icon-minus::after {
  background-image: var(--ag-icon-image-minus, var(--ag-icon-image));
  display: var(--ag-icon-image-display-minus, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-minus, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-menu-alt {
  font-family: var(--ag-icon-font-family-menu-alt, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-menu-alt, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-menu-alt, var(--ag-icon-font-color));
}

.ag-icon-menu-alt::before {
  content: var(--ag-icon-font-code-menu-alt, "\f138");
  display: var(--ag-icon-font-display-menu-alt, var(--ag-icon-font-display));
}

.ag-icon-menu-alt::after {
  background-image: var(--ag-icon-image-menu-alt, var(--ag-icon-image));
  display: var(--ag-icon-image-display-menu-alt, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-menu-alt, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-settings {
  font-family: var(--ag-icon-font-family-settings, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-settings, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-settings, var(--ag-icon-font-color));
}

.ag-icon-settings::before {
  content: var(--ag-icon-font-code-settings, "\f139");
  display: var(--ag-icon-font-display-settings, var(--ag-icon-font-display));
}

.ag-icon-settings::after {
  background-image: var(--ag-icon-image-settings, var(--ag-icon-image));
  display: var(--ag-icon-image-display-settings, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-settings, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-row-drag::before {
  content: var(--ag-icon-font-code-grip);
}

.ag-left-arrow::before {
  content: var(--ag-icon-font-code-left);
}

.ag-right-arrow::before {
  content: var(--ag-icon-font-code-right);
}

[class*=ag-theme-] {
  --ag-foreground-color: #000;
  --ag-data-color: var(--ag-foreground-color);
  --ag-secondary-foreground-color: var(--ag-foreground-color);
  --ag-header-foreground-color: var(--ag-secondary-foreground-color);
  --ag-disabled-foreground-color: rgba(0, 0, 0, 0.5);
  --ag-background-color: #fff;
  --ag-header-background-color: transparent;
  --ag-tooltip-background-color: transparent;
  --ag-subheader-background-color: transparent;
  --ag-subheader-toolbar-background-color: transparent;
  --ag-control-panel-background-color: transparent;
  --ag-side-button-selected-background-color: var(--ag-control-panel-background-color);
  --ag-selected-row-background-color: #BBB;
  --ag-odd-row-background-color: var(--ag-background-color);
  --ag-modal-overlay-background-color: rgba(255, 255, 255, 0.66);
  --ag-menu-background-color: var(--ag-background-color);
  --ag-menu-border-color: var(--ag-border-color);
  --ag-panel-background-color: var(--ag-background-color);
  --ag-panel-border-color: var(--ag-border-color);
  --ag-row-hover-color: transparent;
  --ag-column-hover-color: transparent;
  --ag-range-selection-border-color: var(--ag-foreground-color);
  --ag-range-selection-border-style: solid;
  --ag-range-selection-background-color: rgba(0, 0, 0, 0.2);
  --ag-range-selection-background-color-2: var(--ag-range-selection-background-color);
  --ag-range-selection-background-color-3: var(--ag-range-selection-background-color);
  --ag-range-selection-background-color-4: var(--ag-range-selection-background-color);
  --ag-range-selection-highlight-color: var(--ag-range-selection-border-color);
  --ag-selected-tab-underline-color: var(--ag-range-selection-border-color);
  --ag-selected-tab-underline-width: 0;
  --ag-selected-tab-underline-transition-speed: 0s;
  --ag-range-selection-chart-category-background-color: rgba(0, 255, 132, 0.1);
  --ag-range-selection-chart-background-color: rgba(0, 88, 255, 0.1);
  --ag-header-cell-hover-background-color: transparent;
  --ag-header-cell-moving-background-color: var(--ag-background-color);
  --ag-value-change-value-highlight-background-color: rgba(22, 160, 133, 0.5);
  --ag-value-change-delta-up-color: #43a047;
  --ag-value-change-delta-down-color: #e53935;
  --ag-row-loading-skeleton-effect-color: rgba(66, 66, 66, 0.2);
  --ag-chip-background-color: transparent;
  --ag-chip-border-color: var(--ag-chip-background-color);
  --ag-borders: solid 1px;
  --ag-border-color: rgba(0, 0, 0, 0.25);
  --ag-borders-critical: var(--ag-borders);
  --ag-borders-secondary: var(--ag-borders);
  --ag-secondary-border-color: var(--ag-border-color);
  --ag-row-border-style: solid;
  --ag-row-border-color: var(--ag-secondary-border-color);
  --ag-row-border-width: 1px;
  --ag-cell-horizontal-border: solid transparent;
  --ag-borders-input: var(--ag-borders-secondary);
  --ag-input-border-color: var(--ag-secondary-border-color);
  --ag-borders-input-invalid: solid 2px;
  --ag-input-border-color-invalid: var(--ag-invalid-color);
  --ag-borders-side-button: var(--ag-borders);
  --ag-border-radius: 0px;
  --ag-wrapper-border-radius: var(--ag-border-radius);
  --ag-row-border-color: var(--ag-secondary-border-color);
  --ag-header-column-separator-display: none;
  --ag-header-column-separator-height: 100%;
  --ag-header-column-separator-width: 1px;
  --ag-header-column-separator-color: var(--ag-secondary-border-color);
  --ag-header-column-resize-handle-display: none;
  --ag-header-column-resize-handle-height: 50%;
  --ag-header-column-resize-handle-width: 1px;
  --ag-header-column-resize-handle-color: var(--ag-secondary-border-color);
  --ag-invalid-color: red;
  --ag-input-disabled-border-color: var(--ag-input-border-color);
  --ag-input-disabled-background-color: transparent;
  --ag-checkbox-background-color: transparent;
  --ag-checkbox-border-radius: var(--ag-border-radius);
  --ag-checkbox-checked-color: var(--ag-foreground-color);
  --ag-checkbox-unchecked-color: var(--ag-foreground-color);
  --ag-checkbox-indeterminate-color: var(--ag-checkbox-unchecked-color);
  --ag-toggle-button-off-border-color: var(--ag-checkbox-unchecked-color);
  --ag-toggle-button-off-background-color: var(--ag-checkbox-unchecked-color);
  --ag-toggle-button-on-border-color: var(--ag-checkbox-checked-color);
  --ag-toggle-button-on-background-color: var(--ag-checkbox-checked-color);
  --ag-toggle-button-switch-background-color: var(--ag-background-color);
  --ag-toggle-button-switch-border-color: var(--ag-toggle-button-off-border-color);
  --ag-toggle-button-border-width: 1px;
  --ag-toggle-button-height: var(--ag-icon-size);
  --ag-toggle-button-width: calc(var(--ag-toggle-button-height) * 2);
  --ag-input-focus-box-shadow: none;
  --ag-input-focus-border-color: none;
  --ag-minichart-selected-chart-color: var(--ag-checkbox-checked-color);
  --ag-minichart-selected-page-color: var(--ag-checkbox-checked-color);
  --ag-grid-size: 4px;
  --ag-icon-size: 12px;
  --ag-icon-font-weight: normal;
  --ag-icon-font-color: var(--ag-foreground-color);
  --ag-icon-image-display: block;
  --ag-widget-container-horizontal-padding: calc(var(--ag-grid-size) * 1.5);
  --ag-widget-container-vertical-padding: calc(var(--ag-grid-size) * 1.5);
  --ag-widget-horizontal-spacing: calc(var(--ag-grid-size) * 2);
  --ag-widget-vertical-spacing: var(--ag-grid-size);
  --ag-cell-horizontal-padding: calc(var(--ag-grid-size) * 3);
  --ag-cell-widget-spacing: var(--ag-cell-horizontal-padding);
  --ag-row-height: calc(var(--ag-grid-size) * 6 + 1px);
  --ag-header-height: var(--ag-row-height);
  --ag-list-item-height: calc(var(--ag-grid-size) * 5);
  --ag-column-select-indent-size: calc(var(--ag-grid-size) + var(--ag-icon-size));
  --ag-set-filter-indent-size: calc(var(--ag-grid-size) + var(--ag-icon-size));
  --ag-advanced-filter-builder-indent-size: calc(var(--ag-grid-size) * 2 + var(--ag-icon-size));
  --ag-row-group-indent-size: calc(var(--ag-cell-widget-spacing) + var(--ag-icon-size));
  --ag-filter-tool-panel-group-indent: 16px;
  --ag-tab-min-width: 220px;
  --ag-menu-min-width: 181px;
  --ag-side-bar-panel-width: 200px;
  --ag-font-family: "Helvetica Neue", sans-serif;
  --ag-font-size: 14px;
  --ag-card-radius: var(--ag-border-radius);
  --ag-card-shadow: none;
  --ag-popup-shadow: 5px 5px 10px rgba(0, 0, 0, 0.3);
  --ag-advanced-filter-join-pill-color: #f08e8d;
  --ag-advanced-filter-column-pill-color: #a6e194;
  --ag-advanced-filter-option-pill-color: #f3c08b;
  --ag-advanced-filter-value-pill-color: #85c0e4;
}

.ag-root-wrapper, .ag-sticky-top, .ag-sticky-bottom, .ag-dnd-ghost {
  background-color: var(--ag-background-color);
}

[class*=ag-theme-] {
  -webkit-font-smoothing: antialiased;
  font-family: var(--ag-font-family);
  font-size: var(--ag-font-size);
  line-height: normal;
  color: var(--ag-foreground-color);
}

ag-grid, ag-grid-angular, ag-grid-ng2, ag-grid-polymer, ag-grid-aurelia {
  display: block;
}

.ag-aria-description-container {
  z-index: 9999;
  border: 0px;
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  width: 1px;
  position: absolute;
  overflow: hidden;
  padding: 0px;
  white-space: nowrap;
}

.ag-hidden {
  display: none !important;
}

.ag-invisible {
  visibility: hidden !important;
}

.ag-no-transition {
  transition: none !important;
}

.ag-drag-handle {
  cursor: grab;
}

.ag-column-drop-wrapper {
  display: flex;
}

.ag-column-drop-horizontal-half-width {
  display: inline-block;
  width: 50% !important;
}

.ag-unselectable {
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.ag-selectable {
  -moz-user-select: text;
  -webkit-user-select: text;
  -ms-user-select: text;
  user-select: text;
}

.ag-tab {
  position: relative;
}

.ag-tab-guard {
  position: absolute;
  width: 0;
  height: 0;
  display: block;
}

.ag-select-agg-func-popup {
  position: absolute;
}

.ag-input-wrapper, .ag-picker-field-wrapper {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  line-height: normal;
  position: relative;
}

.ag-shake-left-to-right {
  animation-direction: alternate;
  animation-duration: 0.2s;
  animation-iteration-count: infinite;
  animation-name: ag-shake-left-to-right;
}

@keyframes ag-shake-left-to-right {
  from {
    padding-left: 6px;
    padding-right: 2px;
  }
  to {
    padding-left: 2px;
    padding-right: 6px;
  }
}
.ag-root-wrapper {
  cursor: default;
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  white-space: normal;
}
.ag-root-wrapper.ag-layout-normal {
  height: 100%;
}

.ag-watermark {
  position: absolute;
  bottom: 20px;
  right: 25px;
  opacity: 0.7;
  transition: opacity 1s ease-out 3s;
  color: #9B9B9B;
}
.ag-watermark::before {
  content: "";
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjA5IiBoZWlnaHQ9IjM2IiB2aWV3Qm94PSIwIDAgMjA5IDM2IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNMTkyLjk5MyAyMy42NTgyVjE1LjcxMTdIMTc5LjQ1MkwxNzEuNTA1IDIzLjY1ODJIMTkyLjk5M1oiIGZpbGw9IiM5QjlCOUIiLz4KPHBhdGggZD0iTTIwOC4yNSAzLjk1MDgxSDE5MS4yNzZMMTgzLjI2NiAxMS44OTczSDIwOC4yNVYzLjk1MDgxWiIgZmlsbD0iIzlCOUI5QiIvPgo8cGF0aCBkPSJNMTYzLjYyMiAzMS42MDQ4TDE2Ny42OTEgMjcuNTM2MUgxODEuNDIzVjM1LjQ4MjdIMTYzLjYyMlYzMS42MDQ4WiIgZmlsbD0iIzlCOUI5QiIvPgo8cGF0aCBkPSJNMTY2LjYxIDE5Ljc4MDNIMTc1LjM4M0wxODMuMzkzIDExLjgzMzdIMTY2LjYxVjE5Ljc4MDNaIiBmaWxsPSIjOUI5QjlCIi8+CjxwYXRoIGQ9Ik0xNTcuMDExIDMxLjYwNDdIMTYzLjYyMkwxNzEuNTA1IDIzLjY1ODJIMTU3LjAxMVYzMS42MDQ3WiIgZmlsbD0iIzlCOUI5QiIvPgo8cGF0aCBkPSJNMTkxLjI3NiAzLjk1MDgxTDE4Ny4yMDggOC4wMTk0MUgxNjEuMjdWMC4wNzI4NzZIMTkxLjI3NlYzLjk1MDgxWiIgZmlsbD0iIzlCOUI5QiIvPgo8cGF0aCBkPSJNMjAuODM5MSAzMC4yMDYxSDguMzc4OTJMNi4yMTc0NSAzNS41NDYySDAuNzUwMjQ0TDEyLjI1NjggOC41OTE1NUgxNy4wMjQ3TDI4LjUzMTMgMzUuNTQ2MkgyMy4wMDA1TDIwLjgzOTEgMzAuMjA2MVpNMTkuMTIyNyAyNS45NDY4TDE0LjYwOSAxNC45NDg4TDEwLjA5NTQgMjUuOTQ2OEgxOS4xMjI3WiIgZmlsbD0iIzlCOUI5QiIvPgo8cGF0aCBkPSJNMTA0LjQzNyAxOC41MDg5QzEwNi4wMjYgMTYuMTU2NyAxMTAuMDMxIDE1LjkwMjQgMTExLjY4NCAxNS45MDI0VjIwLjQ3OTZDMTA5LjY1IDIwLjQ3OTYgMTA3LjYxNSAyMC41NDMyIDEwNi40MDcgMjEuNDMzMkMxMDUuMiAyMi4zMjMyIDEwNC41NjQgMjMuNTMxMSAxMDQuNTY0IDI0Ljk5MzJWMzUuNTQ2Mkg5OS42MDUxVjE1LjkwMjRIMTA0LjM3M0wxMDQuNDM3IDE4LjUwODlaIiBmaWxsPSIjOUI5QjlCIi8+CjxwYXRoIGQ9Ik0xMTkuMzc2IDE1LjkwMjRIMTE0LjQxOFYzNS41NDYySDExOS4zNzZWMTUuOTAyNFoiIGZpbGw9IiM5QjlCOUIiLz4KPHBhdGggZD0iTTExOS4zNzYgNy4xMjkzOUgxMTQuNDE4VjEyLjk3OEgxMTkuMzc2VjcuMTI5MzlaIiBmaWxsPSIjOUI5QjlCIi8+CjxwYXRoIGQ9Ik0xNDMuOTc5IDcuMTI5MzlWMzUuNTQ2MkgxMzkuMjExTDEzOS4wODQgMzIuNTU4M0MxMzguMzg0IDMzLjU3NTUgMTM3LjQ5NCAzNC40MDE5IDEzNi40MTQgMzUuMDM3NkMxMzUuMzMzIDM1LjYwOTggMTMzLjk5OCAzNS45Mjc2IDEzMi40NzIgMzUuOTI3NkMxMzEuMTM3IDM1LjkyNzYgMTI5Ljg2NiAzNS42NzMzIDEyOC43ODUgMzUuMjI4M0MxMjcuNjQxIDM0LjcxOTcgMTI2LjYyMyAzNC4wODQgMTI1Ljc5NyAzMy4xOTRDMTI0Ljk3MSAzMi4zMDQgMTI0LjI3MSAzMS4yMjMzIDEyMy44MjYgMzAuMDE1NEMxMjMuMzE4IDI4LjgwNzUgMTIzLjEyNyAyNy40MDkgMTIzLjEyNyAyNS44ODMyQzEyMy4xMjcgMjQuMzU3NSAxMjMuMzgxIDIyLjk1ODkgMTIzLjgyNiAyMS42ODc0QzEyNC4zMzUgMjAuNDE2IDEyNC45NzEgMTkuMzM1MyAxMjUuNzk3IDE4LjQ0NTNDMTI2LjYyMyAxNy41NTUyIDEyNy42NDEgMTYuODU2IDEyOC43ODUgMTYuMzQ3NEMxMjkuOTI5IDE1LjgzODggMTMxLjEzNyAxNS41ODQ1IDEzMi40NzIgMTUuNTg0NUMxMzMuOTk4IDE1LjU4NDUgMTM1LjI2OSAxNS44Mzg4IDEzNi4zNSAxNi40MTA5QzEzNy40MzEgMTYuOTgzMSAxMzguMzIxIDE3Ljc0NTkgMTM5LjAyIDE4LjgyNjdWNy4xOTI5NUgxNDMuOTc5VjcuMTI5MzlaTTEzMy41NTMgMzEuNjY4M0MxMzUuMjA2IDMxLjY2ODMgMTM2LjQ3NyAzMS4wOTYyIDEzNy40OTQgMzAuMDE1NEMxMzguNTExIDI4LjkzNDcgMTM5LjAyIDI3LjQ3MjUgMTM5LjAyIDI1LjY5MjVDMTM5LjAyIDIzLjkxMjUgMTM4LjUxMSAyMi41MTM5IDEzNy40OTQgMjEuMzY5NkMxMzYuNDc3IDIwLjI4ODggMTM1LjIwNiAxOS43MTY3IDEzMy41NTMgMTkuNzE2N0MxMzEuOTYzIDE5LjcxNjcgMTMwLjYyOCAyMC4yODg4IDEyOS42NzUgMjEuMzY5NkMxMjguNjU4IDIyLjQ1MDMgMTI4LjE0OSAyMy45MTI1IDEyOC4xNDkgMjUuNjkyNUMxMjguMTQ5IDI3LjQ3MjUgMTI4LjY1OCAyOC44NzExIDEyOS42NzUgMjkuOTUxOEMxMzAuNjkyIDMxLjA5NjEgMTMxLjk2MyAzMS42NjgzIDEzMy41NTMgMzEuNjY4M1oiIGZpbGw9IiM5QjlCOUIiLz4KPHBhdGggZD0iTTU3LjIwMjQgMjAuMzUyNUg0NC45MzNWMjQuNjExOEg1MS45MjU5QzUxLjczNTIgMjYuNzczMyA1MC45MDg4IDI4LjQyNjEgNDkuNTEwMiAyOS43NjExQzQ4LjExMTYgMzEuMDMyNiA0Ni4zMzE1IDMxLjY2ODMgNDQuMDQyOSAzMS42NjgzQzQyLjc3MTUgMzEuNjY4MyA0MS41NjM2IDMxLjQxNCA0MC41NDY1IDMwLjk2OUMzOS40NjU3IDMwLjUyNCAzOC41NzU3IDI5Ljg4ODMgMzcuODEyOSAyOC45OTgzQzM3LjA1IDI4LjE3MTggMzYuNDc3OCAyNy4xNTQ3IDM2LjAzMjggMjUuOTQ2OEMzNS41ODc4IDI0LjczODkgMzUuMzk3MSAyMy40Njc1IDM1LjM5NzEgMjIuMDA1M0MzNS4zOTcxIDIwLjU0MzIgMzUuNTg3OCAxOS4yNzE3IDM2LjAzMjggMTguMDYzOEMzNi40MTQzIDE2Ljg1NiAzNy4wNSAxNS45MDI0IDM3LjgxMjkgMTUuMDEyNEMzOC41NzU3IDE0LjE4NTkgMzkuNDY1NyAxMy41NTAyIDQwLjU0NjUgMTMuMDQxNkM0MS42MjcyIDEyLjU5NjYgNDIuNzcxNSAxMi4zNDIzIDQ0LjEwNjUgMTIuMzQyM0M0Ni43NzY2IDEyLjM0MjMgNDguODEwOSAxMi45NzggNTAuMjA5NSAxNC4yNDk1TDUzLjUxNTIgMTAuOTQzOEM1MS4wMzU5IDkuMDM2NTkgNDcuODU3MyA4LjAxOTQxIDQ0LjEwNjUgOC4wMTk0MUM0Mi4wMDg2IDguMDE5NDEgNDAuMTAxNSA4LjMzNzI5IDM4LjM4NSA5LjAzNjU5QzM2LjY2ODYgOS43MzU4OCAzNS4yMDY0IDEwLjYyNTkgMzMuOTk4NSAxMS44MzM3QzMyLjc5MDYgMTMuMDQxNiAzMS44MzcxIDE0LjUwMzggMzEuMjAxNCAxNi4yMjAzQzMwLjU2NTYgMTcuOTM2NyAzMC4yNDc4IDE5Ljg0MzggMzAuMjQ3OCAyMS44NzgyQzMwLjI0NzggMjMuOTEyNSAzMC41NjU2IDI1LjgxOTcgMzEuMjY0OSAyNy41MzYxQzMxLjk2NDIgMjkuMjUyNiAzMi44NTQyIDMwLjcxNDcgMzQuMDYyMSAzMS45MjI2QzM1LjI3IDMzLjEzMDUgMzYuNzMyMSAzNC4wODQxIDM4LjQ0ODYgMzQuNzE5OEM0MC4xNjUgMzUuNDE5MSA0Mi4wNzIyIDM1LjczNyA0NC4xMDY1IDM1LjczN0M0Ni4xNDA4IDM1LjczNyA0Ny45ODQ0IDM1LjQxOTEgNDkuNjM3MyAzNC43MTk4QzUxLjI5MDIgMzQuMDIwNSA1Mi42ODg4IDMzLjEzMDUgNTMuODMzMSAzMS45MjI2QzU0Ljk3NzQgMzAuNzE0NyA1NS44Njc0IDI5LjI1MjYgNTYuNTAzMSAyNy41MzYxQzU3LjEzODggMjUuODE5NyA1Ny40NTY3IDIzLjkxMjUgNTcuNDU2NyAyMS44NzgyVjIxLjA1MTdDNTcuMjY2IDIwLjkyNDYgNTcuMjAyNCAyMC42MDY3IDU3LjIwMjQgMjAuMzUyNVoiIGZpbGw9IiM5QjlCOUIiLz4KPHBhdGggZD0iTTk1Ljk4MTUgMjAuMzUyNUg4My43MTIxVjI0LjYxMThIOTAuNzA1QzkwLjUxNDMgMjYuNzczMyA4OS42ODc5IDI4LjQyNjEgODguMjg5MyAyOS43NjExQzg2Ljg5MDcgMzEuMDMyNiA4NS4xMTA2IDMxLjY2ODMgODIuODIyIDMxLjY2ODNDODEuNTUwNiAzMS42NjgzIDgwLjM0MjcgMzEuNDE0IDc5LjMyNTYgMzAuOTY5Qzc4LjI0NDggMzAuNTI0IDc3LjM1NDggMjkuODg4MyA3Ni41OTIgMjguOTk4M0M3NS44MjkxIDI4LjE3MTggNzUuMjU3IDI3LjE1NDcgNzQuODExOSAyNS45NDY4Qzc0LjM2NjkgMjQuNzM4OSA3NC4xNzYyIDIzLjQ2NzUgNzQuMTc2MiAyMi4wMDUzQzc0LjE3NjIgMjAuNTQzMiA3NC4zNjY5IDE5LjI3MTcgNzQuODExOSAxOC4wNjM4Qzc1LjE5MzQgMTYuODU2IDc1LjgyOTEgMTUuOTAyNCA3Ni41OTIgMTUuMDEyNEM3Ny4zNTQ4IDE0LjE4NTkgNzguMjQ0OCAxMy41NTAyIDc5LjMyNTYgMTMuMDQxNkM4MC40MDYzIDEyLjU5NjYgODEuNTUwNiAxMi4zNDIzIDgyLjg4NTYgMTIuMzQyM0M4NS41NTU3IDEyLjM0MjMgODcuNTkgMTIuOTc4IDg4Ljk4ODYgMTQuMjQ5NUw5Mi4yOTQzIDEwLjk0MzhDODkuODE1IDkuMDM2NTkgODYuNjM2NCA4LjAxOTQxIDgyLjg4NTYgOC4wMTk0MUM4MC43ODc4IDguMDE5NDEgNzguODgwNiA4LjMzNzI5IDc3LjE2NDEgOS4wMzY1OUM3NS40NDc3IDkuNzM1ODggNzMuOTg1NSAxMC42MjU5IDcyLjc3NzYgMTEuODMzN0M3MS41Njk4IDEzLjA0MTYgNzAuNjE2MiAxNC41MDM4IDY5Ljk4MDUgMTYuMjIwM0M2OS4zNDQ3IDE3LjkzNjcgNjkuMDI2OSAxOS44NDM4IDY5LjAyNjkgMjEuODc4MkM2OS4wMjY5IDIzLjkxMjUgNjkuMzQ0NyAyNS44MTk3IDcwLjA0NCAyNy41MzYxQzcwLjc0MzMgMjkuMjUyNiA3MS42MzM0IDMwLjcxNDcgNzIuODQxMiAzMS45MjI2Qzc0LjA0OTEgMzMuMTMwNSA3NS41MTEyIDM0LjA4NDEgNzcuMjI3NyAzNC43MTk4Qzc4Ljk0NDEgMzUuNDE5MSA4MC44NTEzIDM1LjczNyA4Mi44ODU2IDM1LjczN0M4NC45MiAzNS43MzcgODYuNzYzNiAzNS40MTkxIDg4LjQxNjQgMzQuNzE5OEM5MC4wNjkzIDM0LjAyMDUgOTEuNDY3OSAzMy4xMzA1IDkyLjYxMjIgMzEuOTIyNkM5My43NTY1IDMwLjcxNDcgOTQuNjQ2NSAyOS4yNTI2IDk1LjI4MjIgMjcuNTM2MUM5NS45MTggMjUuODE5NyA5Ni4yMzU4IDIzLjkxMjUgOTYuMjM1OCAyMS44NzgyVjIxLjA1MTdDOTYuMDQ1MSAyMC45MjQ2IDk1Ljk4MTUgMjAuNjA2NyA5NS45ODE1IDIwLjM1MjVaIiBmaWxsPSIjOUI5QjlCIi8+Cjwvc3ZnPgo=);
  background-repeat: no-repeat;
  background-size: 170px 40px;
  display: block;
  height: 40px;
  width: 170px;
}

.ag-watermark-text {
  opacity: 0.5;
  font-weight: bold;
  font-family: Impact, sans-serif;
  font-size: 19px;
  padding-left: 0.7rem;
}

.ag-root-wrapper-body {
  display: flex;
  flex-direction: row;
}
.ag-root-wrapper-body.ag-layout-normal {
  flex: 1 1 auto;
  height: 0;
  min-height: 0;
}

.ag-root {
  position: relative;
  display: flex;
  flex-direction: column;
}
.ag-root.ag-layout-normal, .ag-root.ag-layout-auto-height {
  overflow: hidden;
  flex: 1 1 auto;
  width: 0;
}
.ag-root.ag-layout-normal {
  height: 100%;
}

.ag-header-viewport,
.ag-floating-top-viewport,
.ag-body-viewport,
.ag-center-cols-viewport,
.ag-floating-bottom-viewport,
.ag-body-horizontal-scroll-viewport,
.ag-body-vertical-scroll-viewport,
.ag-virtual-list-viewport,
.ag-sticky-top-viewport,
.ag-sticky-bottom-viewport {
  position: relative;
  height: 100%;
  min-width: 0px;
  overflow: hidden;
  flex: 1 1 auto;
}

.ag-body-viewport, .ag-center-cols-viewport {
  -ms-overflow-style: none !important;
  scrollbar-width: none !important;
}
.ag-body-viewport::-webkit-scrollbar, .ag-center-cols-viewport::-webkit-scrollbar {
  display: none !important;
}

.ag-body-viewport {
  display: flex;
}
.ag-body-viewport.ag-layout-normal {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.ag-center-cols-viewport {
  min-height: 100%;
  width: 100%;
  overflow-x: auto;
}

.ag-body-horizontal-scroll-viewport {
  overflow-x: scroll;
}

.ag-body-vertical-scroll-viewport {
  overflow-y: scroll;
}

.ag-virtual-list-viewport {
  overflow: auto;
  width: 100%;
}

.ag-header-container,
.ag-floating-top-container,
.ag-body-container,
.ag-pinned-right-cols-container,
.ag-center-cols-container,
.ag-pinned-left-cols-container,
.ag-floating-bottom-container,
.ag-body-horizontal-scroll-container,
.ag-body-vertical-scroll-container,
.ag-full-width-container,
.ag-floating-bottom-full-width-container,
.ag-virtual-list-container,
.ag-sticky-top-container,
.ag-sticky-bottom-container {
  position: relative;
}

.ag-header-container,
.ag-floating-top-container,
.ag-floating-bottom-container,
.ag-sticky-top-container,
.ag-sticky-bottom-container {
  height: 100%;
  white-space: nowrap;
}

.ag-center-cols-container {
  display: block;
}

.ag-pinned-right-cols-container {
  display: block;
}

.ag-body-horizontal-scroll-container {
  height: 100%;
}

.ag-body-vertical-scroll-container {
  width: 100%;
}

.ag-full-width-container,
.ag-floating-top-full-width-container,
.ag-floating-bottom-full-width-container,
.ag-sticky-top-full-width-container,
.ag-sticky-bottom-full-width-container {
  position: absolute;
  top: 0px;
  pointer-events: none;
}
.ag-ltr .ag-full-width-container,
.ag-ltr .ag-floating-top-full-width-container,
.ag-ltr .ag-floating-bottom-full-width-container,
.ag-ltr .ag-sticky-top-full-width-container,
.ag-ltr .ag-sticky-bottom-full-width-container {
  left: 0;
}
.ag-rtl .ag-full-width-container,
.ag-rtl .ag-floating-top-full-width-container,
.ag-rtl .ag-floating-bottom-full-width-container,
.ag-rtl .ag-sticky-top-full-width-container,
.ag-rtl .ag-sticky-bottom-full-width-container {
  right: 0;
}

.ag-full-width-container {
  width: 100%;
}

.ag-floating-bottom-full-width-container, .ag-floating-top-full-width-container {
  display: inline-block;
  overflow: hidden;
  height: 100%;
  width: 100%;
}

.ag-virtual-list-container {
  overflow: hidden;
}

.ag-body {
  position: relative;
  display: flex;
  flex: 1 1 auto;
  flex-direction: row !important;
  min-height: 0;
}

.ag-body-horizontal-scroll,
.ag-body-vertical-scroll {
  min-height: 0;
  min-width: 0;
  display: flex;
  position: relative;
}
.ag-body-horizontal-scroll.ag-scrollbar-invisible,
.ag-body-vertical-scroll.ag-scrollbar-invisible {
  position: absolute;
  bottom: 0;
}
.ag-body-horizontal-scroll.ag-scrollbar-invisible.ag-apple-scrollbar,
.ag-body-vertical-scroll.ag-scrollbar-invisible.ag-apple-scrollbar {
  opacity: 0;
  transition: opacity 400ms;
  visibility: hidden;
}
.ag-body-horizontal-scroll.ag-scrollbar-invisible.ag-apple-scrollbar.ag-scrollbar-scrolling, .ag-body-horizontal-scroll.ag-scrollbar-invisible.ag-apple-scrollbar.ag-scrollbar-active,
.ag-body-vertical-scroll.ag-scrollbar-invisible.ag-apple-scrollbar.ag-scrollbar-scrolling,
.ag-body-vertical-scroll.ag-scrollbar-invisible.ag-apple-scrollbar.ag-scrollbar-active {
  visibility: visible;
  opacity: 1;
}

.ag-body-horizontal-scroll {
  width: 100%;
}
.ag-body-horizontal-scroll.ag-scrollbar-invisible {
  left: 0;
  right: 0;
}

.ag-body-vertical-scroll {
  height: 100%;
}
.ag-body-vertical-scroll.ag-scrollbar-invisible {
  top: 0;
  z-index: 10;
}
.ag-ltr .ag-body-vertical-scroll.ag-scrollbar-invisible {
  right: 0;
}
.ag-rtl .ag-body-vertical-scroll.ag-scrollbar-invisible {
  left: 0;
}

.ag-force-vertical-scroll {
  overflow-y: scroll !important;
}

.ag-horizontal-left-spacer, .ag-horizontal-right-spacer {
  height: 100%;
  min-width: 0;
  overflow-x: scroll;
}
.ag-horizontal-left-spacer.ag-scroller-corner, .ag-horizontal-right-spacer.ag-scroller-corner {
  overflow-x: hidden;
}

.ag-header, .ag-pinned-left-header, .ag-pinned-right-header {
  display: inline-block;
  overflow: hidden;
  position: relative;
}

.ag-header-cell-sortable .ag-header-cell-label {
  cursor: pointer;
}

.ag-header {
  display: flex;
  width: 100%;
  white-space: nowrap;
}

.ag-pinned-left-header {
  height: 100%;
}

.ag-pinned-right-header {
  height: 100%;
}

.ag-header-row {
  position: absolute;
}

.ag-header-row:not(.ag-header-row-column-group) {
  overflow: hidden;
}

.ag-header.ag-header-allow-overflow .ag-header-row {
  overflow: visible;
}

.ag-header-cell {
  display: inline-flex;
  align-items: center;
  position: absolute;
  height: 100%;
}

.ag-header-cell.ag-header-active .ag-header-cell-menu-button, .ag-header-cell-filter-button {
  opacity: 1;
}

.ag-header-cell-menu-button:not(.ag-header-menu-always-show) {
  transition: opacity 0.2s;
  opacity: 0;
}

.ag-header-group-cell-label, .ag-header-cell-label {
  display: flex;
  flex: 1 1 auto;
  align-self: stretch;
  align-items: center;
}

.ag-header-cell-label {
  overflow: hidden;
  text-overflow: ellipsis;
}

.ag-header-group-cell-label.ag-sticky-label {
  position: sticky;
  flex: none;
  max-width: 100%;
}

.ag-header-group-text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ag-header-cell-text {
  overflow: hidden;
  text-overflow: ellipsis;
}

.ag-header-cell:not(.ag-header-cell-auto-height) .ag-header-cell-comp-wrapper {
  height: 100%;
  display: flex;
  align-items: center;
}

.ag-header-cell-comp-wrapper {
  width: 100%;
}

.ag-header-cell-wrap-text .ag-header-cell-comp-wrapper {
  white-space: normal;
}

.ag-right-aligned-header .ag-header-cell-label {
  flex-direction: row-reverse;
}

.ag-header-cell-resize {
  position: absolute;
  z-index: 2;
  height: 100%;
  width: 8px;
  top: 0;
  cursor: ew-resize;
}
.ag-ltr .ag-header-cell-resize {
  right: -4px;
}
.ag-rtl .ag-header-cell-resize {
  left: -4px;
}

.ag-pinned-left-header .ag-header-cell-resize {
  right: -4px;
}

.ag-pinned-right-header .ag-header-cell-resize {
  left: -4px;
}

.ag-header-select-all {
  display: flex;
}

.ag-header-cell-menu-button,
.ag-header-cell-filter-button,
.ag-side-button-button,
.ag-panel-title-bar-button,
.ag-floating-filter-button-button {
  cursor: pointer;
}

.ag-column-moving .ag-cell {
  transition: left 0.2s;
}
.ag-column-moving .ag-header-cell {
  transition: left 0.2s;
}
.ag-column-moving .ag-header-group-cell {
  transition: left 0.2s, width 0.2s;
}

.ag-column-panel {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  flex: 1 1 auto;
}

.ag-column-select {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  flex: 3 1 0px;
}

.ag-column-select-header {
  position: relative;
  display: flex;
  flex: none;
}

.ag-column-select-header-icon {
  position: relative;
}

.ag-column-select-header-filter-wrapper {
  flex: 1 1 auto;
}

.ag-column-select-header-filter {
  width: 100%;
}

.ag-column-select-list {
  flex: 1 1 0px;
  overflow: hidden;
}

.ag-column-drop {
  position: relative;
  display: inline-flex;
  align-items: center;
  overflow: auto;
  width: 100%;
}

.ag-column-drop-list {
  display: flex;
  align-items: center;
}

.ag-column-drop-cell {
  position: relative;
  display: flex;
  align-items: center;
}

.ag-column-drop-cell-text {
  overflow: hidden;
  flex: 1 1 auto;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ag-column-drop-vertical {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  align-items: stretch;
  flex: 1 1 0px;
}

.ag-column-drop-vertical-title-bar {
  display: flex;
  align-items: center;
  flex: none;
}

.ag-column-drop-vertical-list {
  position: relative;
  align-items: stretch;
  flex-grow: 1;
  flex-direction: column;
  overflow-x: auto;
}
.ag-column-drop-vertical-list > * {
  flex: none;
}

.ag-column-drop-empty .ag-column-drop-vertical-list {
  overflow: hidden;
}

.ag-column-drop-vertical-empty-message {
  display: block;
}

.ag-column-drop.ag-column-drop-horizontal {
  white-space: nowrap;
  overflow: hidden;
}

.ag-column-drop-cell-button {
  cursor: pointer;
}

.ag-filter-toolpanel {
  flex: 1 1 0px;
  min-width: 0;
}

.ag-filter-toolpanel-header {
  position: relative;
}

.ag-filter-toolpanel-header, .ag-filter-toolpanel-search {
  display: flex;
  align-items: center;
}
.ag-filter-toolpanel-header > *, .ag-filter-toolpanel-search > * {
  display: flex;
  align-items: center;
}

.ag-filter-apply-panel {
  display: flex;
  justify-content: flex-end;
  overflow: hidden;
}

.ag-row-animation .ag-row {
  transition: transform 0.4s, top 0.4s;
}

.ag-row-animation .ag-row.ag-after-created {
  transition: transform 0.4s, top 0.4s, height 0.4s;
}

.ag-row-no-animation .ag-row {
  transition: none;
}

.ag-row {
  white-space: nowrap;
  width: 100%;
}

.ag-row-loading {
  display: flex;
  align-items: center;
}

.ag-row-position-absolute {
  position: absolute;
}

.ag-row-position-relative {
  position: relative;
}

.ag-full-width-row {
  overflow: hidden;
  pointer-events: all;
}

.ag-row-inline-editing {
  z-index: 1;
}

.ag-row-dragging {
  z-index: 2;
}

.ag-stub-cell {
  display: flex;
  align-items: center;
}

.ag-cell {
  display: inline-block;
  position: absolute;
  white-space: nowrap;
  height: 100%;
}

.ag-cell-value {
  flex: 1 1 auto;
}

.ag-cell-value, .ag-group-value {
  overflow: hidden;
  text-overflow: ellipsis;
}

.ag-cell-wrap-text {
  white-space: normal;
}

.ag-cell-wrapper {
  display: flex;
  align-items: center;
}
.ag-cell-wrapper.ag-row-group {
  align-items: flex-start;
}

.ag-sparkline-wrapper {
  position: absolute;
  height: 100%;
  width: 100%;
  left: 0;
  top: 0;
}

.ag-full-width-row .ag-cell-wrapper.ag-row-group {
  height: 100%;
  align-items: center;
}

.ag-cell-inline-editing {
  z-index: 1;
}
.ag-cell-inline-editing .ag-cell-wrapper,
.ag-cell-inline-editing .ag-cell-edit-wrapper,
.ag-cell-inline-editing .ag-cell-editor,
.ag-cell-inline-editing .ag-cell-editor .ag-wrapper,
.ag-cell-inline-editing .ag-cell-editor input {
  height: 100%;
  width: 100%;
  line-height: normal;
}

.ag-cell .ag-icon {
  display: inline-block;
  vertical-align: middle;
}

.ag-set-filter-item {
  display: flex;
  align-items: center;
  height: 100%;
}

.ag-set-filter-item-checkbox {
  display: flex;
  width: 100%;
  height: 100%;
}

.ag-set-filter-group-icons {
  display: block;
}
.ag-set-filter-group-icons > * {
  cursor: pointer;
}

.ag-filter-body-wrapper {
  display: flex;
  flex-direction: column;
}

.ag-filter-filter {
  flex: 1 1 0px;
}

.ag-filter-condition {
  display: flex;
  justify-content: center;
}

.ag-floating-filter-body {
  position: relative;
  display: flex;
  flex: 1 1 auto;
  height: 100%;
}

.ag-floating-filter-full-body {
  display: flex;
  flex: 1 1 auto;
  height: 100%;
  width: 100%;
  align-items: center;
  overflow: hidden;
}

.ag-floating-filter-full-body > div {
  flex: 1 1 auto;
}

.ag-floating-filter-input {
  align-items: center;
  display: flex;
  width: 100%;
}
.ag-floating-filter-input > * {
  flex: 1 1 auto;
}

.ag-floating-filter-button {
  display: flex;
  flex: none;
}

.ag-set-floating-filter-input input[disabled] {
  pointer-events: none;
}

.ag-dnd-ghost {
  position: absolute;
  display: inline-flex;
  align-items: center;
  cursor: move;
  white-space: nowrap;
  z-index: 9999;
}

.ag-overlay {
  height: 100%;
  left: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 2;
}

.ag-overlay-panel {
  display: flex;
  height: 100%;
  width: 100%;
}

.ag-overlay-wrapper {
  display: flex;
  flex: none;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.ag-overlay-loading-wrapper {
  pointer-events: all;
}

.ag-popup-child {
  z-index: 5;
  top: 0;
}

.ag-popup-editor {
  position: absolute;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.ag-large-text-input {
  display: block;
}

.ag-virtual-list-item {
  position: absolute;
  width: 100%;
}

.ag-floating-top {
  overflow: hidden;
  white-space: nowrap;
  width: 100%;
  position: relative;
  display: flex;
}

.ag-pinned-left-floating-top {
  display: inline-block;
  overflow: hidden;
  position: relative;
  min-width: 0px;
}

.ag-pinned-right-floating-top {
  display: inline-block;
  overflow: hidden;
  position: relative;
  min-width: 0px;
}

.ag-floating-bottom {
  overflow: hidden;
  white-space: nowrap;
  width: 100%;
  position: relative;
  display: flex;
}

.ag-pinned-left-floating-bottom {
  display: inline-block;
  overflow: hidden;
  position: relative;
  min-width: 0px;
}

.ag-pinned-right-floating-bottom {
  display: inline-block;
  overflow: hidden;
  position: relative;
  min-width: 0px;
}

.ag-sticky-top,
.ag-sticky-bottom {
  position: absolute;
  display: flex;
  width: 100%;
}

.ag-pinned-left-sticky-top,
.ag-pinned-right-sticky-top {
  position: relative;
  height: 100%;
  overflow: hidden;
}

.ag-sticky-top-full-width-container,
.ag-sticky-bottom-full-width-container {
  overflow: hidden;
  width: 100%;
  height: 100%;
}

.ag-dialog, .ag-panel {
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
}

.ag-panel-title-bar {
  display: flex;
  flex: none;
  align-items: center;
  cursor: default;
}

.ag-panel-title-bar-title {
  flex: 1 1 auto;
}

.ag-panel-title-bar-buttons {
  display: flex;
}

.ag-panel-title-bar-button {
  cursor: pointer;
}

.ag-panel-content-wrapper {
  display: flex;
  flex: 1 1 auto;
  position: relative;
  overflow: hidden;
}

.ag-dialog {
  position: absolute;
}

.ag-resizer {
  position: absolute;
  pointer-events: none;
  z-index: 1;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.ag-resizer.ag-resizer-topLeft {
  top: 0;
  left: 0;
  height: 5px;
  width: 5px;
  cursor: nwse-resize;
}
.ag-resizer.ag-resizer-top {
  top: 0;
  left: 5px;
  right: 5px;
  height: 5px;
  cursor: ns-resize;
}
.ag-resizer.ag-resizer-topRight {
  top: 0;
  right: 0;
  height: 5px;
  width: 5px;
  cursor: nesw-resize;
}
.ag-resizer.ag-resizer-right {
  top: 5px;
  right: 0;
  bottom: 5px;
  width: 5px;
  cursor: ew-resize;
}
.ag-resizer.ag-resizer-bottomRight {
  bottom: 0;
  right: 0;
  height: 5px;
  width: 5px;
  cursor: nwse-resize;
}
.ag-resizer.ag-resizer-bottom {
  bottom: 0;
  left: 5px;
  right: 5px;
  height: 5px;
  cursor: ns-resize;
}
.ag-resizer.ag-resizer-bottomLeft {
  bottom: 0;
  left: 0;
  height: 5px;
  width: 5px;
  cursor: nesw-resize;
}
.ag-resizer.ag-resizer-left {
  left: 0;
  top: 5px;
  bottom: 5px;
  width: 5px;
  cursor: ew-resize;
}

.ag-tooltip {
  position: absolute;
  z-index: 99999;
}

.ag-tooltip-custom {
  position: absolute;
  z-index: 99999;
}

.ag-tooltip:not(.ag-tooltip-interactive),
.ag-tooltip-custom:not(.ag-tooltip-interactive) {
  pointer-events: none;
}

.ag-value-slide-out {
  margin-right: 5px;
  opacity: 1;
  transition: opacity 3s, margin-right 3s;
  transition-timing-function: linear;
}

.ag-value-slide-out-end {
  margin-right: 10px;
  opacity: 0;
}

.ag-opacity-zero {
  opacity: 0 !important;
}

.ag-menu {
  max-height: 100%;
  overflow-y: auto;
  position: absolute;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.ag-menu-column-select-wrapper {
  height: 265px;
  overflow: auto;
}
.ag-menu-column-select-wrapper .ag-column-select {
  height: 100%;
}

.ag-dialog .ag-panel-content-wrapper .ag-column-select {
  user-select: none;
}

.ag-menu-list {
  display: table;
  width: 100%;
}

.ag-menu-option, .ag-menu-separator {
  display: table-row;
}

.ag-menu-option-part, .ag-menu-separator-part {
  display: table-cell;
  vertical-align: middle;
}

.ag-menu-option-text {
  white-space: nowrap;
}

.ag-menu-option-custom {
  display: contents;
}

.ag-compact-menu-option {
  width: 100%;
  display: flex;
  flex-wrap: nowrap;
}

.ag-compact-menu-option-text {
  white-space: nowrap;
  flex: 1 1 auto;
}

.ag-rich-select {
  cursor: default;
  outline: none;
  height: 100%;
}

.ag-rich-select-value {
  display: flex;
  align-items: center;
  height: 100%;
}
.ag-rich-select-value .ag-picker-field-display {
  overflow: hidden;
  text-overflow: ellipsis;
}
.ag-rich-select-value .ag-picker-field-display.ag-display-as-placeholder {
  opacity: 0.5;
}

.ag-rich-select-list {
  position: relative;
}
.ag-rich-select-list .ag-loading-text {
  min-height: 2rem;
}

.ag-rich-select-row {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  white-space: nowrap;
  overflow: hidden;
  height: 100%;
}

.ag-rich-select-field-input {
  flex: 1 1 auto;
}
.ag-rich-select-field-input .ag-input-field-input {
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
  text-overflow: ellipsis;
}
.ag-rich-select-field-input .ag-input-field-input::placeholder {
  opacity: 0.8;
}

.ag-autocomplete {
  align-items: center;
  display: flex;
}
.ag-autocomplete > * {
  flex: 1 1 auto;
}

.ag-autocomplete-list-popup {
  position: absolute;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.ag-autocomplete-list {
  position: relative;
}

.ag-autocomplete-virtual-list-item {
  display: flex;
}

.ag-autocomplete-row {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  overflow: hidden;
}

.ag-autocomplete-row-label {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ag-paging-panel {
  align-items: center;
  display: flex;
  justify-content: flex-end;
}

.ag-paging-page-summary-panel {
  display: flex;
  align-items: center;
}

.ag-paging-button {
  position: relative;
}

.ag-disabled .ag-paging-page-summary-panel {
  pointer-events: none;
}

.ag-tool-panel-wrapper {
  display: flex;
  overflow-y: auto;
  overflow-x: hidden;
  cursor: default;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.ag-column-select-column,
.ag-column-select-column-group,
.ag-select-agg-func-item {
  position: relative;
  align-items: center;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  height: 100%;
}
.ag-column-select-column > *,
.ag-column-select-column-group > *,
.ag-select-agg-func-item > * {
  flex: none;
}

.ag-select-agg-func-item,
.ag-column-select-column-label {
  flex: 1 1 auto;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ag-column-select-checkbox {
  display: flex;
}

.ag-tool-panel-horizontal-resize {
  cursor: ew-resize;
  height: 100%;
  position: absolute;
  top: 0;
  width: 5px;
  z-index: 1;
}

.ag-ltr .ag-side-bar-left .ag-tool-panel-horizontal-resize {
  right: -3px;
}
.ag-rtl .ag-side-bar-left .ag-tool-panel-horizontal-resize {
  left: -3px;
}

.ag-ltr .ag-side-bar-right .ag-tool-panel-horizontal-resize {
  left: -3px;
}
.ag-rtl .ag-side-bar-right .ag-tool-panel-horizontal-resize {
  right: -3px;
}

.ag-details-row {
  width: 100%;
}

.ag-details-row-fixed-height {
  height: 100%;
}

.ag-details-grid {
  width: 100%;
}

.ag-details-grid-fixed-height {
  height: 100%;
}

.ag-header-group-cell {
  display: flex;
  align-items: center;
  height: 100%;
  position: absolute;
}

.ag-header-group-cell-no-group.ag-header-span-height .ag-header-cell-resize {
  display: none;
}

.ag-cell-label-container {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  align-items: center;
  height: 100%;
  width: 100%;
  padding: 5px 0px;
}

.ag-right-aligned-header .ag-cell-label-container {
  flex-direction: row;
}
.ag-right-aligned-header .ag-header-cell-text {
  text-align: end;
}

.ag-side-bar {
  display: flex;
  flex-direction: row-reverse;
}

.ag-side-bar-left {
  order: -1;
  flex-direction: row;
}

.ag-side-button-button {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  white-space: nowrap;
  outline: none;
  cursor: pointer;
}

.ag-side-button-label {
  writing-mode: vertical-lr;
}

.ag-status-bar {
  display: flex;
  justify-content: space-between;
  overflow: hidden;
}

.ag-status-panel {
  display: inline-flex;
}

.ag-status-name-value {
  white-space: nowrap;
}

.ag-status-bar-left {
  display: inline-flex;
}

.ag-status-bar-center {
  display: inline-flex;
}

.ag-status-bar-right {
  display: inline-flex;
}

.ag-icon {
  display: block;
  speak: none;
}

.ag-group {
  position: relative;
  width: 100%;
}

.ag-group-title-bar {
  display: flex;
  align-items: center;
}

.ag-group-title {
  display: inline;
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.ag-group-title-bar .ag-group-title {
  cursor: default;
}

.ag-group-toolbar {
  display: flex;
  align-items: center;
}

.ag-group-container {
  display: flex;
}

.ag-disabled .ag-group-container {
  pointer-events: none;
}

.ag-group-container-horizontal {
  flex-direction: row;
  flex-wrap: wrap;
}

.ag-group-container-vertical {
  flex-direction: column;
}

.ag-column-group-icons {
  display: block;
}
.ag-column-group-icons > * {
  cursor: pointer;
}

.ag-group-item-alignment-stretch .ag-group-item {
  align-items: stretch;
}

.ag-group-item-alignment-start .ag-group-item {
  align-items: flex-start;
}

.ag-group-item-alignment-end .ag-group-item {
  align-items: flex-end;
}

.ag-toggle-button-icon {
  transition: right 0.3s;
  position: absolute;
  top: -1px;
}

.ag-input-field, .ag-select {
  display: flex;
  flex-direction: row;
  align-items: center;
}

.ag-input-field-input {
  flex: 1 1 auto;
}

.ag-floating-filter-input .ag-input-field-input[type=date] {
  width: 1px;
}

.ag-range-field {
  display: flex;
  align-items: center;
}

.ag-angle-select {
  display: flex;
  align-items: center;
}

.ag-angle-select-wrapper {
  display: flex;
}

.ag-angle-select-parent-circle {
  display: block;
  position: relative;
}

.ag-angle-select-child-circle {
  position: absolute;
}

.ag-slider-wrapper {
  display: flex;
}
.ag-slider-wrapper .ag-input-field {
  flex: 1 1 auto;
}

.ag-picker-field-display {
  flex: 1 1 auto;
}

.ag-picker-field {
  display: flex;
  align-items: center;
}

.ag-picker-field-icon {
  display: flex;
  border: 0;
  padding: 0;
  margin: 0;
  cursor: pointer;
}

.ag-picker-field-wrapper {
  overflow: hidden;
}

.ag-label-align-right .ag-label {
  order: 1;
}
.ag-label-align-right > * {
  flex: none;
}

.ag-label-align-top {
  flex-direction: column;
  align-items: flex-start;
}
.ag-label-align-top > * {
  align-self: stretch;
}

.ag-label-ellipsis {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
}

.ag-color-panel {
  width: 100%;
  display: flex;
  flex-direction: column;
  text-align: center;
}

.ag-spectrum-color {
  flex: 1 1 auto;
  position: relative;
  overflow: hidden;
  cursor: default;
}

.ag-spectrum-fill {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.ag-spectrum-val {
  cursor: pointer;
}

.ag-spectrum-dragger {
  position: absolute;
  pointer-events: none;
  cursor: pointer;
}

.ag-spectrum-hue {
  cursor: default;
  background: linear-gradient(to left, #ff0000 3%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);
}

.ag-spectrum-alpha {
  cursor: default;
}

.ag-spectrum-hue-background {
  width: 100%;
  height: 100%;
}

.ag-spectrum-alpha-background {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgb(0, 0, 0));
  width: 100%;
  height: 100%;
}

.ag-spectrum-tool {
  cursor: pointer;
}

.ag-spectrum-slider {
  position: absolute;
  pointer-events: none;
}

.ag-recent-colors {
  display: flex;
}

.ag-recent-color {
  cursor: pointer;
}

.ag-ltr .ag-column-select-indent-1 {
  padding-left: 20px;
}
.ag-rtl .ag-column-select-indent-1 {
  padding-right: 20px;
}

.ag-ltr .ag-set-filter-indent-1 {
  padding-left: 20px;
}
.ag-rtl .ag-set-filter-indent-1 {
  padding-right: 20px;
}

.ag-ltr .ag-row-group-indent-1 {
  padding-left: 20px;
}
.ag-rtl .ag-row-group-indent-1 {
  padding-right: 20px;
}

.ag-ltr .ag-column-select-indent-2 {
  padding-left: 40px;
}
.ag-rtl .ag-column-select-indent-2 {
  padding-right: 40px;
}

.ag-ltr .ag-set-filter-indent-2 {
  padding-left: 40px;
}
.ag-rtl .ag-set-filter-indent-2 {
  padding-right: 40px;
}

.ag-ltr .ag-row-group-indent-2 {
  padding-left: 40px;
}
.ag-rtl .ag-row-group-indent-2 {
  padding-right: 40px;
}

.ag-ltr .ag-column-select-indent-3 {
  padding-left: 60px;
}
.ag-rtl .ag-column-select-indent-3 {
  padding-right: 60px;
}

.ag-ltr .ag-set-filter-indent-3 {
  padding-left: 60px;
}
.ag-rtl .ag-set-filter-indent-3 {
  padding-right: 60px;
}

.ag-ltr .ag-row-group-indent-3 {
  padding-left: 60px;
}
.ag-rtl .ag-row-group-indent-3 {
  padding-right: 60px;
}

.ag-ltr .ag-column-select-indent-4 {
  padding-left: 80px;
}
.ag-rtl .ag-column-select-indent-4 {
  padding-right: 80px;
}

.ag-ltr .ag-set-filter-indent-4 {
  padding-left: 80px;
}
.ag-rtl .ag-set-filter-indent-4 {
  padding-right: 80px;
}

.ag-ltr .ag-row-group-indent-4 {
  padding-left: 80px;
}
.ag-rtl .ag-row-group-indent-4 {
  padding-right: 80px;
}

.ag-ltr .ag-column-select-indent-5 {
  padding-left: 100px;
}
.ag-rtl .ag-column-select-indent-5 {
  padding-right: 100px;
}

.ag-ltr .ag-set-filter-indent-5 {
  padding-left: 100px;
}
.ag-rtl .ag-set-filter-indent-5 {
  padding-right: 100px;
}

.ag-ltr .ag-row-group-indent-5 {
  padding-left: 100px;
}
.ag-rtl .ag-row-group-indent-5 {
  padding-right: 100px;
}

.ag-ltr .ag-column-select-indent-6 {
  padding-left: 120px;
}
.ag-rtl .ag-column-select-indent-6 {
  padding-right: 120px;
}

.ag-ltr .ag-set-filter-indent-6 {
  padding-left: 120px;
}
.ag-rtl .ag-set-filter-indent-6 {
  padding-right: 120px;
}

.ag-ltr .ag-row-group-indent-6 {
  padding-left: 120px;
}
.ag-rtl .ag-row-group-indent-6 {
  padding-right: 120px;
}

.ag-ltr .ag-column-select-indent-7 {
  padding-left: 140px;
}
.ag-rtl .ag-column-select-indent-7 {
  padding-right: 140px;
}

.ag-ltr .ag-set-filter-indent-7 {
  padding-left: 140px;
}
.ag-rtl .ag-set-filter-indent-7 {
  padding-right: 140px;
}

.ag-ltr .ag-row-group-indent-7 {
  padding-left: 140px;
}
.ag-rtl .ag-row-group-indent-7 {
  padding-right: 140px;
}

.ag-ltr .ag-column-select-indent-8 {
  padding-left: 160px;
}
.ag-rtl .ag-column-select-indent-8 {
  padding-right: 160px;
}

.ag-ltr .ag-set-filter-indent-8 {
  padding-left: 160px;
}
.ag-rtl .ag-set-filter-indent-8 {
  padding-right: 160px;
}

.ag-ltr .ag-row-group-indent-8 {
  padding-left: 160px;
}
.ag-rtl .ag-row-group-indent-8 {
  padding-right: 160px;
}

.ag-ltr .ag-column-select-indent-9 {
  padding-left: 180px;
}
.ag-rtl .ag-column-select-indent-9 {
  padding-right: 180px;
}

.ag-ltr .ag-set-filter-indent-9 {
  padding-left: 180px;
}
.ag-rtl .ag-set-filter-indent-9 {
  padding-right: 180px;
}

.ag-ltr .ag-row-group-indent-9 {
  padding-left: 180px;
}
.ag-rtl .ag-row-group-indent-9 {
  padding-right: 180px;
}

.ag-pill-select {
  display: flex;
  flex-direction: column;
}
.ag-pill-select .ag-column-drop {
  flex: unset;
}

.ag-ltr {
  direction: ltr;
}
.ag-ltr .ag-body, .ag-ltr .ag-floating-top, .ag-ltr .ag-floating-bottom, .ag-ltr .ag-header, .ag-ltr .ag-sticky-top, .ag-ltr .ag-sticky-bottom, .ag-ltr .ag-body-viewport, .ag-ltr .ag-body-horizontal-scroll {
  flex-direction: row;
}

.ag-rtl {
  direction: rtl;
}
.ag-rtl .ag-body, .ag-rtl .ag-floating-top, .ag-rtl .ag-floating-bottom, .ag-rtl .ag-header, .ag-rtl .ag-sticky-top, .ag-rtl .ag-sticky-bottom, .ag-rtl .ag-body-viewport, .ag-rtl .ag-body-horizontal-scroll {
  flex-direction: row-reverse;
}
.ag-rtl .ag-icon-contracted,
.ag-rtl .ag-icon-expanded,
.ag-rtl .ag-icon-tree-closed {
  display: block;
  transform: rotate(180deg);
}

.ag-body .ag-body-viewport {
  -webkit-overflow-scrolling: touch;
}

.ag-layout-print.ag-body {
  display: block;
  height: unset;
}
.ag-layout-print.ag-root-wrapper {
  display: inline-block;
}
.ag-layout-print .ag-body-vertical-scroll {
  display: none;
}
.ag-layout-print .ag-body-horizontal-scroll {
  display: none;
}
.ag-layout-print.ag-force-vertical-scroll {
  overflow-y: visible !important;
}

@media print {
  .ag-root-wrapper.ag-layout-print {
    display: table;
  }
  .ag-root-wrapper.ag-layout-print .ag-root-wrapper-body,
  .ag-root-wrapper.ag-layout-print .ag-root,
  .ag-root-wrapper.ag-layout-print .ag-body-viewport,
  .ag-root-wrapper.ag-layout-print .ag-center-cols-container,
  .ag-root-wrapper.ag-layout-print .ag-center-cols-viewport,
  .ag-root-wrapper.ag-layout-print .ag-body-horizontal-scroll-viewport,
  .ag-root-wrapper.ag-layout-print .ag-virtual-list-viewport {
    height: auto !important;
    overflow: hidden !important;
    display: block !important;
  }
  .ag-root-wrapper.ag-layout-print .ag-row, .ag-root-wrapper.ag-layout-print .ag-cell {
    break-inside: avoid;
  }
}
[class^=ag-], [class^=ag-]:focus, [class^=ag-]:after, [class^=ag-]:before {
  box-sizing: border-box;
  outline: none;
}

[class^=ag-]::-ms-clear {
  display: none;
}

.ag-checkbox .ag-input-wrapper,
.ag-radio-button .ag-input-wrapper {
  overflow: visible;
}

.ag-range-field .ag-input-wrapper {
  height: 100%;
}

.ag-toggle-button {
  flex: none;
  width: unset;
  min-width: unset;
}

.ag-button {
  border-radius: 0px;
  color: var(--ag-foreground-color);
}

.ag-button:hover {
  background-color: transparent;
}

.ag-ltr .ag-label-align-right .ag-label {
  margin-left: var(--ag-grid-size);
}
.ag-rtl .ag-label-align-right .ag-label {
  margin-right: var(--ag-grid-size);
}

input[class^=ag-] {
  margin: 0;
  background-color: var(--ag-background-color);
}

textarea[class^=ag-],
select[class^=ag-] {
  background-color: var(--ag-background-color);
}

input[class^=ag-]:not([type]),
input[class^=ag-][type=text],
input[class^=ag-][type=number],
input[class^=ag-][type=tel],
input[class^=ag-][type=date],
input[class^=ag-][type=datetime-local],
textarea[class^=ag-] {
  font-size: inherit;
  line-height: inherit;
  color: inherit;
  font-family: inherit;
  border: var(--ag-borders-input) var(--ag-input-border-color);
}
input[class^=ag-]:not([type]):disabled,
input[class^=ag-][type=text]:disabled,
input[class^=ag-][type=number]:disabled,
input[class^=ag-][type=tel]:disabled,
input[class^=ag-][type=date]:disabled,
input[class^=ag-][type=datetime-local]:disabled,
textarea[class^=ag-]:disabled {
  color: var(--ag-disabled-foreground-color);
  background-color: var(--ag-input-disabled-background-color);
  border-color: var(--ag-input-disabled-border-color);
}
input[class^=ag-]:not([type]):focus,
input[class^=ag-][type=text]:focus,
input[class^=ag-][type=number]:focus,
input[class^=ag-][type=tel]:focus,
input[class^=ag-][type=date]:focus,
input[class^=ag-][type=datetime-local]:focus,
textarea[class^=ag-]:focus {
  outline: none;
  box-shadow: var(--ag-input-focus-box-shadow);
  border-color: var(--ag-input-focus-border-color);
}
input[class^=ag-]:not([type]):invalid,
input[class^=ag-][type=text]:invalid,
input[class^=ag-][type=number]:invalid,
input[class^=ag-][type=tel]:invalid,
input[class^=ag-][type=date]:invalid,
input[class^=ag-][type=datetime-local]:invalid,
textarea[class^=ag-]:invalid {
  border: var(--ag-borders-input-invalid) var(--ag-input-border-color-invalid);
}

input[class^=ag-][type=number]:not(.ag-number-field-input-stepper) {
  -moz-appearance: textfield;
}
input[class^=ag-][type=number]:not(.ag-number-field-input-stepper)::-webkit-outer-spin-button, input[class^=ag-][type=number]:not(.ag-number-field-input-stepper)::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[class^=ag-][type=range] {
  padding: 0;
}

input[class^=ag-][type=button]:focus, button[class^=ag-]:focus {
  box-shadow: var(--ag-input-focus-box-shadow);
}

.ag-drag-handle {
  color: var(--ag-secondary-foreground-color);
}

.ag-list-item, .ag-virtual-list-item {
  height: var(--ag-list-item-height);
}

.ag-virtual-list-item:focus-visible {
  outline: none;
}
.ag-virtual-list-item:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 4px;
  left: 4px;
  display: block;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-select-list {
  background-color: var(--ag-background-color);
  overflow-y: auto;
  overflow-x: hidden;
  border-radius: var(--ag-border-radius);
  border: var(--ag-borders) var(--ag-border-color);
}

.ag-list-item {
  display: flex;
  align-items: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ag-list-item.ag-active-item {
  background-color: var(--ag-row-hover-color);
}

.ag-select-list-item {
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  cursor: default;
}
.ag-ltr .ag-select-list-item {
  padding-left: calc(var(--ag-cell-horizontal-padding) / 2);
}
.ag-rtl .ag-select-list-item {
  padding-right: calc(var(--ag-cell-horizontal-padding) / 2);
}
.ag-select-list-item span {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.ag-row-drag,
.ag-selection-checkbox,
.ag-group-expanded,
.ag-group-contracted {
  color: var(--ag-secondary-foreground-color);
}
.ag-ltr .ag-row-drag,
.ag-ltr .ag-selection-checkbox,
.ag-ltr .ag-group-expanded,
.ag-ltr .ag-group-contracted {
  margin-right: var(--ag-cell-widget-spacing);
}
.ag-rtl .ag-row-drag,
.ag-rtl .ag-selection-checkbox,
.ag-rtl .ag-group-expanded,
.ag-rtl .ag-group-contracted {
  margin-left: var(--ag-cell-widget-spacing);
}

.ag-cell-wrapper > *:not(.ag-cell-value):not(.ag-group-value) {
  --ag-internal-calculated-line-height: var(--ag-line-height, calc(var(--ag-row-height) - var(--ag-row-border-width)));
  --ag-internal-padded-row-height: calc(var(--ag-row-height) - var(--ag-row-border-width));
  height: min(var(--ag-internal-calculated-line-height), var(--ag-internal-padded-row-height));
  display: flex;
  align-items: center;
  flex: none;
}

.ag-group-expanded,
.ag-group-contracted {
  cursor: pointer;
}

.ag-group-title-bar-icon {
  cursor: pointer;
  flex: none;
  color: var(--ag-secondary-foreground-color);
}

.ag-ltr .ag-group-child-count {
  margin-left: 2px;
}
.ag-rtl .ag-group-child-count {
  margin-right: 2px;
}

.ag-group-title-bar {
  background-color: var(--ag-subheader-background-color);
  padding: var(--ag-grid-size);
}

.ag-group-toolbar {
  padding: var(--ag-grid-size);
  background-color: var(--ag-subheader-toolbar-background-color);
}

.ag-disabled-group-title-bar, .ag-disabled-group-container {
  opacity: 0.5;
}

.group-item {
  margin: calc(var(--ag-grid-size) * 0.5) 0;
}

.ag-label {
  white-space: nowrap;
}
.ag-ltr .ag-label {
  margin-right: var(--ag-grid-size);
}
.ag-rtl .ag-label {
  margin-left: var(--ag-grid-size);
}

.ag-label-align-top .ag-label {
  margin-bottom: calc(var(--ag-grid-size) * 0.5);
}

.ag-angle-select[disabled] {
  color: var(--ag-disabled-foreground-color);
  pointer-events: none;
}
.ag-angle-select[disabled] .ag-angle-select-field {
  opacity: 0.4;
}

.ag-ltr .ag-slider-field,
.ag-ltr .ag-angle-select-field {
  margin-right: calc(var(--ag-grid-size) * 2);
}
.ag-rtl .ag-slider-field,
.ag-rtl .ag-angle-select-field {
  margin-left: calc(var(--ag-grid-size) * 2);
}

.ag-angle-select-parent-circle {
  width: 24px;
  height: 24px;
  border-radius: 12px;
  border: solid 1px;
  border-color: var(--ag-border-color);
  background-color: var(--ag-background-color);
}

.ag-angle-select-child-circle {
  top: 4px;
  left: 12px;
  width: 6px;
  height: 6px;
  margin-left: -3px;
  margin-top: -4px;
  border-radius: 3px;
  background-color: var(--ag-secondary-foreground-color);
}

.ag-picker-field-wrapper {
  border: var(--ag-borders);
  border-color: var(--ag-border-color);
  border-radius: 5px;
  background-color: var(--ag-background-color);
}
.ag-picker-field-wrapper:disabled {
  color: var(--ag-disabled-foreground-color);
  background-color: var(--ag-input-disabled-background-color);
  border-color: var(--ag-input-disabled-border-color);
}
.ag-picker-field-wrapper.ag-picker-has-focus, .ag-picker-field-wrapper:focus-within {
  outline: none;
  box-shadow: var(--ag-input-focus-box-shadow);
  border-color: var(--ag-input-focus-border-color);
}

.ag-picker-field-button {
  background-color: var(--ag-background-color);
  color: var(--ag-secondary-foreground-color);
}

.ag-dialog.ag-color-dialog {
  border-radius: 5px;
}

.ag-color-picker .ag-picker-field-display {
  height: var(--ag-icon-size);
}

.ag-color-picker .ag-picker-field-wrapper {
  max-width: 45px;
  min-width: 45px;
}

.ag-color-panel {
  padding: var(--ag-grid-size);
}

.ag-spectrum-color {
  background-color: rgb(255, 0, 0);
  border-radius: 2px;
}

.ag-spectrum-tools {
  padding: 10px;
}

.ag-spectrum-sat {
  background-image: linear-gradient(to right, white, rgba(204, 154, 129, 0));
}

.ag-spectrum-val {
  background-image: linear-gradient(to top, black, rgba(204, 154, 129, 0));
}

.ag-spectrum-dragger {
  border-radius: 12px;
  height: 12px;
  width: 12px;
  border: 1px solid white;
  background: black;
  box-shadow: 0 0 2px 0px rgba(0, 0, 0, 0.24);
}

.ag-spectrum-hue-background {
  border-radius: 2px;
}

.ag-spectrum-alpha-background {
  border-radius: 2px;
}

.ag-spectrum-tool {
  margin-bottom: 10px;
  height: 11px;
  border-radius: 2px;
}

.ag-spectrum-slider {
  margin-top: -12px;
  width: 13px;
  height: 13px;
  border-radius: 13px;
  background-color: rgb(248, 248, 248);
  box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.37);
}

.ag-recent-color {
  margin: 0 3px;
}
.ag-recent-color:first-child {
  margin-left: 0;
}
.ag-recent-color:last-child {
  margin-right: 0;
}

.ag-spectrum-color:focus-visible:not(:disabled):not([readonly]),
.ag-spectrum-slider:focus-visible:not(:disabled):not([readonly]),
.ag-recent-color:focus-visible:not(:disabled):not([readonly]) {
  box-shadow: var(--ag-input-focus-box-shadow);
}

.ag-dnd-ghost {
  border: var(--ag-borders) var(--ag-border-color);
  background: var(--ag-background-color);
  border-radius: var(--ag-card-radius);
  box-shadow: var(--ag-card-shadow);
  padding: var(--ag-grid-size);
  overflow: hidden;
  text-overflow: ellipsis;
  border: var(--ag-borders-secondary) var(--ag-secondary-border-color);
  color: var(--ag-secondary-foreground-color);
  height: var(--ag-header-height) !important;
  line-height: var(--ag-header-height);
  margin: 0;
  padding: 0 calc(var(--ag-grid-size) * 2);
  transform: translateY(calc(var(--ag-grid-size) * 2));
}

.ag-dnd-ghost-icon {
  margin-right: var(--ag-grid-size);
  color: var(--ag-foreground-color);
}

.ag-popup-child:not(.ag-tooltip-custom) {
  box-shadow: var(--ag-popup-shadow);
}

.ag-select .ag-picker-field-wrapper {
  min-height: var(--ag-list-item-height);
  cursor: default;
}
.ag-ltr .ag-select .ag-picker-field-wrapper {
  padding-left: calc(var(--ag-cell-horizontal-padding) / 2);
}
.ag-rtl .ag-select .ag-picker-field-wrapper {
  padding-right: calc(var(--ag-cell-horizontal-padding) / 2);
}
.ag-ltr .ag-select .ag-picker-field-wrapper {
  padding-right: var(--ag-grid-size);
}
.ag-rtl .ag-select .ag-picker-field-wrapper {
  padding-left: var(--ag-grid-size);
}
.ag-select.ag-disabled .ag-picker-field-wrapper:focus {
  box-shadow: none;
}
.ag-select:not(.ag-cell-editor, .ag-label-align-top) {
  min-height: var(--ag-list-item-height);
}
.ag-select .ag-picker-field-display {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ag-select .ag-picker-field-icon {
  display: flex;
  align-items: center;
}
.ag-select.ag-disabled {
  opacity: 0.5;
}

.ag-rich-select-value,
.ag-rich-select-list {
  background-color: var(--ag-background-color);
}

.ag-rich-select-list {
  width: 100%;
  height: auto;
  border-radius: var(--ag-border-radius);
  border: var(--ag-borders) var(--ag-border-color);
}
.ag-rich-select-list .ag-loading-text {
  padding: var(--ag-widget-vertical-spacing) var(--ag-widget-horizontal-spacing);
}

.ag-rich-select-value {
  border-bottom: var(--ag-borders-secondary) var(--ag-secondary-border-color);
  padding-top: 0;
  padding-bottom: 0;
}
.ag-ltr .ag-rich-select-value {
  padding-left: calc(var(--ag-cell-horizontal-padding) / 2);
}
.ag-rtl .ag-rich-select-value {
  padding-right: calc(var(--ag-cell-horizontal-padding) / 2);
}
.ag-ltr .ag-rich-select-value {
  padding-right: var(--ag-grid-size);
}
.ag-rtl .ag-rich-select-value {
  padding-left: var(--ag-grid-size);
}

.ag-ltr .ag-rich-select-field-input {
  left: calc(var(--ag-cell-horizontal-padding));
}
.ag-rtl .ag-rich-select-field-input {
  right: calc(var(--ag-cell-horizontal-padding));
}

.ag-popup-editor .ag-rich-select-value {
  height: var(--ag-row-height);
  min-width: 200px;
}

.ag-rich-select-virtual-list-item {
  cursor: default;
  height: var(--ag-list-item-height);
}
.ag-rich-select-virtual-list-item:focus-visible::after {
  content: none;
}
.ag-rich-select-virtual-list-item:hover {
  background-color: var(--ag-row-hover-color);
}

.ag-ltr .ag-rich-select-row {
  padding-left: calc(var(--ag-cell-horizontal-padding) / 2);
}
.ag-rtl .ag-rich-select-row {
  padding-right: calc(var(--ag-cell-horizontal-padding) / 2);
}

.ag-rich-select-row-selected {
  background-color: var(--ag-selected-row-background-color);
}

.ag-rich-select-row-text-highlight {
  font-weight: bold;
}

.ag-autocomplete {
  width: 100%;
}

.ag-autocomplete-list {
  width: 100%;
  min-width: 200px;
  height: calc(var(--ag-row-height) * 6.5);
}

.ag-autocomplete-virtual-list-item {
  cursor: default;
  height: var(--ag-list-item-height);
}
.ag-autocomplete-virtual-list-item:focus-visible::after {
  content: none;
}
.ag-autocomplete-virtual-list-item:hover {
  background-color: var(--ag-row-hover-color);
}

.ag-autocomplete-row-label {
  margin: 0px var(--ag-widget-container-horizontal-padding);
}

.ag-autocomplete-row-selected {
  background-color: var(--ag-selected-row-background-color);
}

.ag-dragging-range-handle .ag-dialog,
.ag-dragging-fill-handle .ag-dialog {
  opacity: 0.7;
  pointer-events: none;
}

.ag-dialog {
  border-radius: var(--ag-border-radius);
  border: var(--ag-borders) var(--ag-border-color);
  box-shadow: var(--ag-popup-shadow);
}

.ag-panel {
  background-color: var(--ag-panel-background-color);
  border-color: var(--ag-panel-border-color);
}

.ag-panel-title-bar {
  color: var(--ag-header-foreground-color);
  height: var(--ag-header-height);
  padding: var(--ag-grid-size) var(--ag-cell-horizontal-padding);
  border-bottom: var(--ag-borders) var(--ag-border-color);
}

.ag-ltr .ag-panel-title-bar-button {
  margin-left: var(--ag-grid-size);
}
.ag-rtl .ag-panel-title-bar-button {
  margin-right: var(--ag-grid-size);
}

.ag-tooltip {
  background-color: var(--ag-tooltip-background-color);
  color: var(--ag-foreground-color);
  padding: var(--ag-grid-size);
  border: var(--ag-borders) var(--ag-border-color);
  border-radius: var(--ag-card-radius);
  white-space: normal;
}

.ag-tooltip.ag-tooltip-animate,
.ag-tooltip-custom.ag-tooltip-animate {
  transition: opacity 1s;
}
.ag-tooltip.ag-tooltip-animate.ag-tooltip-hiding,
.ag-tooltip-custom.ag-tooltip-animate.ag-tooltip-hiding {
  opacity: 0;
}

.ag-ltr .ag-column-select-indent-1 {
  padding-left: calc(1 * var(--ag-column-select-indent-size));
}
.ag-rtl .ag-column-select-indent-1 {
  padding-right: calc(1 * var(--ag-column-select-indent-size));
}

.ag-ltr .ag-column-select-indent-2 {
  padding-left: calc(2 * var(--ag-column-select-indent-size));
}
.ag-rtl .ag-column-select-indent-2 {
  padding-right: calc(2 * var(--ag-column-select-indent-size));
}

.ag-ltr .ag-column-select-indent-3 {
  padding-left: calc(3 * var(--ag-column-select-indent-size));
}
.ag-rtl .ag-column-select-indent-3 {
  padding-right: calc(3 * var(--ag-column-select-indent-size));
}

.ag-ltr .ag-column-select-indent-4 {
  padding-left: calc(4 * var(--ag-column-select-indent-size));
}
.ag-rtl .ag-column-select-indent-4 {
  padding-right: calc(4 * var(--ag-column-select-indent-size));
}

.ag-ltr .ag-column-select-indent-5 {
  padding-left: calc(5 * var(--ag-column-select-indent-size));
}
.ag-rtl .ag-column-select-indent-5 {
  padding-right: calc(5 * var(--ag-column-select-indent-size));
}

.ag-ltr .ag-column-select-indent-6 {
  padding-left: calc(6 * var(--ag-column-select-indent-size));
}
.ag-rtl .ag-column-select-indent-6 {
  padding-right: calc(6 * var(--ag-column-select-indent-size));
}

.ag-ltr .ag-column-select-indent-7 {
  padding-left: calc(7 * var(--ag-column-select-indent-size));
}
.ag-rtl .ag-column-select-indent-7 {
  padding-right: calc(7 * var(--ag-column-select-indent-size));
}

.ag-ltr .ag-column-select-indent-8 {
  padding-left: calc(8 * var(--ag-column-select-indent-size));
}
.ag-rtl .ag-column-select-indent-8 {
  padding-right: calc(8 * var(--ag-column-select-indent-size));
}

.ag-ltr .ag-column-select-indent-9 {
  padding-left: calc(9 * var(--ag-column-select-indent-size));
}
.ag-rtl .ag-column-select-indent-9 {
  padding-right: calc(9 * var(--ag-column-select-indent-size));
}

.ag-column-select-header-icon {
  cursor: pointer;
}

.ag-column-select-header-icon:focus-visible {
  outline: none;
}
.ag-column-select-header-icon:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 0px;
  left: 0px;
  display: block;
  width: calc(100% - 0px);
  height: calc(100% - 0px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-ltr .ag-column-group-icons:not(:last-child),
.ag-ltr .ag-column-select-header-icon:not(:last-child),
.ag-ltr .ag-column-select-header-checkbox:not(:last-child),
.ag-ltr .ag-column-select-header-filter-wrapper:not(:last-child),
.ag-ltr .ag-column-select-checkbox:not(:last-child),
.ag-ltr .ag-column-select-column-drag-handle:not(:last-child),
.ag-ltr .ag-column-select-column-group-drag-handle:not(:last-child),
.ag-ltr .ag-column-select-column-label:not(:last-child) {
  margin-right: var(--ag-widget-horizontal-spacing);
}
.ag-rtl .ag-column-group-icons:not(:last-child),
.ag-rtl .ag-column-select-header-icon:not(:last-child),
.ag-rtl .ag-column-select-header-checkbox:not(:last-child),
.ag-rtl .ag-column-select-header-filter-wrapper:not(:last-child),
.ag-rtl .ag-column-select-checkbox:not(:last-child),
.ag-rtl .ag-column-select-column-drag-handle:not(:last-child),
.ag-rtl .ag-column-select-column-group-drag-handle:not(:last-child),
.ag-rtl .ag-column-select-column-label:not(:last-child) {
  margin-left: var(--ag-widget-horizontal-spacing);
}

.ag-column-select-virtual-list-item:focus-visible {
  outline: none;
}
.ag-column-select-virtual-list-item:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 1px;
  left: 1px;
  display: block;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-column-select-column-group:not(:last-child),
.ag-column-select-column:not(:last-child) {
  margin-bottom: var(--ag-widget-vertical-spacing);
}

.ag-column-select-column-readonly,
.ag-column-select-column-group-readonly {
  color: var(--ag-disabled-foreground-color);
  pointer-events: none;
}

.ag-ltr .ag-column-select-add-group-indent {
  margin-left: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);
}
.ag-rtl .ag-column-select-add-group-indent {
  margin-right: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);
}

.ag-column-select-virtual-list-viewport {
  padding: calc(var(--ag-widget-container-vertical-padding) * 0.5) 0px;
}

.ag-column-select-virtual-list-item {
  padding: 0 var(--ag-widget-container-horizontal-padding);
}

.ag-checkbox-edit {
  padding-left: var(--ag-cell-horizontal-padding);
  padding-right: var(--ag-cell-horizontal-padding);
}

.ag-pill-select .ag-column-drop {
  border-bottom: 0;
  min-height: unset;
}
.ag-pill-select .ag-column-drop-list {
  padding: 0;
}
.ag-pill-select .ag-select {
  padding-top: var(--ag-grid-size);
}
.ag-pill-select .ag-picker-field-wrapper {
  background-color: transparent;
  border: 0;
}
.ag-pill-select .ag-picker-field-display {
  cursor: pointer;
}

.ag-rtl {
  text-align: right;
}

.ag-root-wrapper {
  border-radius: var(--ag-wrapper-border-radius);
  border: var(--ag-borders) var(--ag-border-color);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-1 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 1);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-1 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 1);
}

.ag-ltr .ag-row-group-indent-1 {
  padding-left: calc(1 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-1 {
  padding-right: calc(1 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-1 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-1 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-2 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 2);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-2 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 2);
}

.ag-ltr .ag-row-group-indent-2 {
  padding-left: calc(2 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-2 {
  padding-right: calc(2 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-2 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-2 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-3 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 3);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-3 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 3);
}

.ag-ltr .ag-row-group-indent-3 {
  padding-left: calc(3 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-3 {
  padding-right: calc(3 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-3 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-3 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-4 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 4);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-4 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 4);
}

.ag-ltr .ag-row-group-indent-4 {
  padding-left: calc(4 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-4 {
  padding-right: calc(4 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-4 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-4 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-5 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 5);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-5 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 5);
}

.ag-ltr .ag-row-group-indent-5 {
  padding-left: calc(5 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-5 {
  padding-right: calc(5 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-5 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-5 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-6 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 6);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-6 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 6);
}

.ag-ltr .ag-row-group-indent-6 {
  padding-left: calc(6 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-6 {
  padding-right: calc(6 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-6 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-6 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-7 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 7);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-7 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 7);
}

.ag-ltr .ag-row-group-indent-7 {
  padding-left: calc(7 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-7 {
  padding-right: calc(7 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-7 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-7 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-8 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 8);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-8 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 8);
}

.ag-ltr .ag-row-group-indent-8 {
  padding-left: calc(8 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-8 {
  padding-right: calc(8 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-8 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-8 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-9 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 9);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-9 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 9);
}

.ag-ltr .ag-row-group-indent-9 {
  padding-left: calc(9 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-9 {
  padding-right: calc(9 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-9 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-9 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-10 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 10);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-10 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 10);
}

.ag-ltr .ag-row-group-indent-10 {
  padding-left: calc(10 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-10 {
  padding-right: calc(10 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-10 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-10 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-11 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 11);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-11 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 11);
}

.ag-ltr .ag-row-group-indent-11 {
  padding-left: calc(11 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-11 {
  padding-right: calc(11 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-11 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-11 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-12 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 12);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-12 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 12);
}

.ag-ltr .ag-row-group-indent-12 {
  padding-left: calc(12 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-12 {
  padding-right: calc(12 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-12 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-12 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-13 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 13);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-13 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 13);
}

.ag-ltr .ag-row-group-indent-13 {
  padding-left: calc(13 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-13 {
  padding-right: calc(13 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-13 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-13 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-14 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 14);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-14 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 14);
}

.ag-ltr .ag-row-group-indent-14 {
  padding-left: calc(14 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-14 {
  padding-right: calc(14 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-14 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-14 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-15 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 15);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-15 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 15);
}

.ag-ltr .ag-row-group-indent-15 {
  padding-left: calc(15 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-15 {
  padding-right: calc(15 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-15 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-15 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-16 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 16);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-16 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 16);
}

.ag-ltr .ag-row-group-indent-16 {
  padding-left: calc(16 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-16 {
  padding-right: calc(16 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-16 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-16 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-17 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 17);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-17 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 17);
}

.ag-ltr .ag-row-group-indent-17 {
  padding-left: calc(17 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-17 {
  padding-right: calc(17 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-17 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-17 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-18 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 18);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-18 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 18);
}

.ag-ltr .ag-row-group-indent-18 {
  padding-left: calc(18 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-18 {
  padding-right: calc(18 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-18 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-18 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-19 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 19);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-19 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 19);
}

.ag-ltr .ag-row-group-indent-19 {
  padding-left: calc(19 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-19 {
  padding-right: calc(19 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-19 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-19 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-20 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 20);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-20 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 20);
}

.ag-ltr .ag-row-group-indent-20 {
  padding-left: calc(20 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-20 {
  padding-right: calc(20 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-20 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-20 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-21 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 21);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-21 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 21);
}

.ag-ltr .ag-row-group-indent-21 {
  padding-left: calc(21 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-21 {
  padding-right: calc(21 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-21 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-21 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-22 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 22);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-22 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 22);
}

.ag-ltr .ag-row-group-indent-22 {
  padding-left: calc(22 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-22 {
  padding-right: calc(22 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-22 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-22 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-23 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 23);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-23 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 23);
}

.ag-ltr .ag-row-group-indent-23 {
  padding-left: calc(23 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-23 {
  padding-right: calc(23 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-23 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-23 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-24 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 24);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-24 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 24);
}

.ag-ltr .ag-row-group-indent-24 {
  padding-left: calc(24 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-24 {
  padding-right: calc(24 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-24 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-24 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-25 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 25);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-25 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 25);
}

.ag-ltr .ag-row-group-indent-25 {
  padding-left: calc(25 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-25 {
  padding-right: calc(25 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-25 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-25 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-26 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 26);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-26 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 26);
}

.ag-ltr .ag-row-group-indent-26 {
  padding-left: calc(26 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-26 {
  padding-right: calc(26 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-26 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-26 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-27 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 27);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-27 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 27);
}

.ag-ltr .ag-row-group-indent-27 {
  padding-left: calc(27 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-27 {
  padding-right: calc(27 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-27 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-27 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-28 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 28);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-28 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 28);
}

.ag-ltr .ag-row-group-indent-28 {
  padding-left: calc(28 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-28 {
  padding-right: calc(28 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-28 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-28 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-29 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 29);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-29 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 29);
}

.ag-ltr .ag-row-group-indent-29 {
  padding-left: calc(29 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-29 {
  padding-right: calc(29 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-29 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-29 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-30 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 30);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-30 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 30);
}

.ag-ltr .ag-row-group-indent-30 {
  padding-left: calc(30 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-30 {
  padding-right: calc(30 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-30 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-30 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-31 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 31);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-31 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 31);
}

.ag-ltr .ag-row-group-indent-31 {
  padding-left: calc(31 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-31 {
  padding-right: calc(31 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-31 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-31 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-32 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 32);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-32 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 32);
}

.ag-ltr .ag-row-group-indent-32 {
  padding-left: calc(32 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-32 {
  padding-right: calc(32 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-32 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-32 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-33 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 33);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-33 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 33);
}

.ag-ltr .ag-row-group-indent-33 {
  padding-left: calc(33 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-33 {
  padding-right: calc(33 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-33 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-33 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-34 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 34);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-34 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 34);
}

.ag-ltr .ag-row-group-indent-34 {
  padding-left: calc(34 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-34 {
  padding-right: calc(34 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-34 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-34 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-35 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 35);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-35 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 35);
}

.ag-ltr .ag-row-group-indent-35 {
  padding-left: calc(35 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-35 {
  padding-right: calc(35 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-35 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-35 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-36 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 36);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-36 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 36);
}

.ag-ltr .ag-row-group-indent-36 {
  padding-left: calc(36 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-36 {
  padding-right: calc(36 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-36 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-36 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-37 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 37);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-37 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 37);
}

.ag-ltr .ag-row-group-indent-37 {
  padding-left: calc(37 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-37 {
  padding-right: calc(37 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-37 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-37 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-38 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 38);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-38 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 38);
}

.ag-ltr .ag-row-group-indent-38 {
  padding-left: calc(38 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-38 {
  padding-right: calc(38 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-38 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-38 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-39 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 39);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-39 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 39);
}

.ag-ltr .ag-row-group-indent-39 {
  padding-left: calc(39 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-39 {
  padding-right: calc(39 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-39 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-39 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-40 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 40);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-40 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 40);
}

.ag-ltr .ag-row-group-indent-40 {
  padding-left: calc(40 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-40 {
  padding-right: calc(40 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-40 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-40 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-41 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 41);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-41 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 41);
}

.ag-ltr .ag-row-group-indent-41 {
  padding-left: calc(41 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-41 {
  padding-right: calc(41 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-41 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-41 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-42 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 42);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-42 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 42);
}

.ag-ltr .ag-row-group-indent-42 {
  padding-left: calc(42 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-42 {
  padding-right: calc(42 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-42 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-42 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-43 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 43);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-43 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 43);
}

.ag-ltr .ag-row-group-indent-43 {
  padding-left: calc(43 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-43 {
  padding-right: calc(43 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-43 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-43 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-44 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 44);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-44 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 44);
}

.ag-ltr .ag-row-group-indent-44 {
  padding-left: calc(44 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-44 {
  padding-right: calc(44 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-44 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-44 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-45 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 45);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-45 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 45);
}

.ag-ltr .ag-row-group-indent-45 {
  padding-left: calc(45 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-45 {
  padding-right: calc(45 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-45 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-45 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-46 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 46);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-46 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 46);
}

.ag-ltr .ag-row-group-indent-46 {
  padding-left: calc(46 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-46 {
  padding-right: calc(46 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-46 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-46 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-47 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 47);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-47 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 47);
}

.ag-ltr .ag-row-group-indent-47 {
  padding-left: calc(47 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-47 {
  padding-right: calc(47 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-47 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-47 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-48 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 48);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-48 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 48);
}

.ag-ltr .ag-row-group-indent-48 {
  padding-left: calc(48 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-48 {
  padding-right: calc(48 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-48 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-48 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-49 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 49);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-49 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 49);
}

.ag-ltr .ag-row-group-indent-49 {
  padding-left: calc(49 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-49 {
  padding-right: calc(49 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-49 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-49 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-50 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 50);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-50 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 50);
}

.ag-ltr .ag-row-group-indent-50 {
  padding-left: calc(50 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-50 {
  padding-right: calc(50 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-50 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-50 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-51 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 51);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-51 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 51);
}

.ag-ltr .ag-row-group-indent-51 {
  padding-left: calc(51 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-51 {
  padding-right: calc(51 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-51 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-51 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-52 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 52);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-52 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 52);
}

.ag-ltr .ag-row-group-indent-52 {
  padding-left: calc(52 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-52 {
  padding-right: calc(52 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-52 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-52 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-53 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 53);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-53 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 53);
}

.ag-ltr .ag-row-group-indent-53 {
  padding-left: calc(53 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-53 {
  padding-right: calc(53 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-53 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-53 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-54 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 54);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-54 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 54);
}

.ag-ltr .ag-row-group-indent-54 {
  padding-left: calc(54 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-54 {
  padding-right: calc(54 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-54 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-54 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-55 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 55);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-55 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 55);
}

.ag-ltr .ag-row-group-indent-55 {
  padding-left: calc(55 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-55 {
  padding-right: calc(55 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-55 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-55 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-56 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 56);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-56 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 56);
}

.ag-ltr .ag-row-group-indent-56 {
  padding-left: calc(56 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-56 {
  padding-right: calc(56 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-56 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-56 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-57 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 57);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-57 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 57);
}

.ag-ltr .ag-row-group-indent-57 {
  padding-left: calc(57 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-57 {
  padding-right: calc(57 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-57 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-57 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-58 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 58);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-58 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 58);
}

.ag-ltr .ag-row-group-indent-58 {
  padding-left: calc(58 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-58 {
  padding-right: calc(58 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-58 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-58 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-59 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 59);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-59 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 59);
}

.ag-ltr .ag-row-group-indent-59 {
  padding-left: calc(59 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-59 {
  padding-right: calc(59 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-59 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-59 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-60 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 60);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-60 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 60);
}

.ag-ltr .ag-row-group-indent-60 {
  padding-left: calc(60 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-60 {
  padding-right: calc(60 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-60 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-60 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-61 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 61);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-61 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 61);
}

.ag-ltr .ag-row-group-indent-61 {
  padding-left: calc(61 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-61 {
  padding-right: calc(61 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-61 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-61 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-62 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 62);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-62 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 62);
}

.ag-ltr .ag-row-group-indent-62 {
  padding-left: calc(62 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-62 {
  padding-right: calc(62 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-62 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-62 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-63 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 63);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-63 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 63);
}

.ag-ltr .ag-row-group-indent-63 {
  padding-left: calc(63 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-63 {
  padding-right: calc(63 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-63 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-63 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-64 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 64);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-64 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 64);
}

.ag-ltr .ag-row-group-indent-64 {
  padding-left: calc(64 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-64 {
  padding-right: calc(64 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-64 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-64 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-65 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 65);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-65 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 65);
}

.ag-ltr .ag-row-group-indent-65 {
  padding-left: calc(65 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-65 {
  padding-right: calc(65 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-65 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-65 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-66 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 66);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-66 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 66);
}

.ag-ltr .ag-row-group-indent-66 {
  padding-left: calc(66 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-66 {
  padding-right: calc(66 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-66 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-66 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-67 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 67);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-67 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 67);
}

.ag-ltr .ag-row-group-indent-67 {
  padding-left: calc(67 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-67 {
  padding-right: calc(67 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-67 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-67 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-68 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 68);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-68 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 68);
}

.ag-ltr .ag-row-group-indent-68 {
  padding-left: calc(68 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-68 {
  padding-right: calc(68 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-68 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-68 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-69 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 69);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-69 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 69);
}

.ag-ltr .ag-row-group-indent-69 {
  padding-left: calc(69 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-69 {
  padding-right: calc(69 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-69 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-69 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-70 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 70);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-70 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 70);
}

.ag-ltr .ag-row-group-indent-70 {
  padding-left: calc(70 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-70 {
  padding-right: calc(70 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-70 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-70 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-71 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 71);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-71 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 71);
}

.ag-ltr .ag-row-group-indent-71 {
  padding-left: calc(71 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-71 {
  padding-right: calc(71 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-71 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-71 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-72 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 72);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-72 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 72);
}

.ag-ltr .ag-row-group-indent-72 {
  padding-left: calc(72 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-72 {
  padding-right: calc(72 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-72 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-72 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-73 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 73);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-73 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 73);
}

.ag-ltr .ag-row-group-indent-73 {
  padding-left: calc(73 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-73 {
  padding-right: calc(73 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-73 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-73 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-74 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 74);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-74 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 74);
}

.ag-ltr .ag-row-group-indent-74 {
  padding-left: calc(74 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-74 {
  padding-right: calc(74 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-74 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-74 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-75 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 75);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-75 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 75);
}

.ag-ltr .ag-row-group-indent-75 {
  padding-left: calc(75 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-75 {
  padding-right: calc(75 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-75 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-75 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-76 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 76);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-76 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 76);
}

.ag-ltr .ag-row-group-indent-76 {
  padding-left: calc(76 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-76 {
  padding-right: calc(76 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-76 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-76 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-77 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 77);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-77 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 77);
}

.ag-ltr .ag-row-group-indent-77 {
  padding-left: calc(77 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-77 {
  padding-right: calc(77 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-77 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-77 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-78 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 78);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-78 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 78);
}

.ag-ltr .ag-row-group-indent-78 {
  padding-left: calc(78 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-78 {
  padding-right: calc(78 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-78 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-78 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-79 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 79);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-79 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 79);
}

.ag-ltr .ag-row-group-indent-79 {
  padding-left: calc(79 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-79 {
  padding-right: calc(79 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-79 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-79 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-80 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 80);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-80 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 80);
}

.ag-ltr .ag-row-group-indent-80 {
  padding-left: calc(80 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-80 {
  padding-right: calc(80 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-80 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-80 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-81 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 81);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-81 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 81);
}

.ag-ltr .ag-row-group-indent-81 {
  padding-left: calc(81 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-81 {
  padding-right: calc(81 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-81 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-81 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-82 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 82);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-82 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 82);
}

.ag-ltr .ag-row-group-indent-82 {
  padding-left: calc(82 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-82 {
  padding-right: calc(82 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-82 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-82 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-83 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 83);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-83 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 83);
}

.ag-ltr .ag-row-group-indent-83 {
  padding-left: calc(83 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-83 {
  padding-right: calc(83 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-83 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-83 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-84 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 84);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-84 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 84);
}

.ag-ltr .ag-row-group-indent-84 {
  padding-left: calc(84 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-84 {
  padding-right: calc(84 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-84 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-84 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-85 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 85);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-85 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 85);
}

.ag-ltr .ag-row-group-indent-85 {
  padding-left: calc(85 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-85 {
  padding-right: calc(85 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-85 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-85 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-86 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 86);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-86 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 86);
}

.ag-ltr .ag-row-group-indent-86 {
  padding-left: calc(86 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-86 {
  padding-right: calc(86 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-86 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-86 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-87 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 87);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-87 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 87);
}

.ag-ltr .ag-row-group-indent-87 {
  padding-left: calc(87 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-87 {
  padding-right: calc(87 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-87 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-87 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-88 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 88);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-88 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 88);
}

.ag-ltr .ag-row-group-indent-88 {
  padding-left: calc(88 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-88 {
  padding-right: calc(88 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-88 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-88 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-89 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 89);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-89 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 89);
}

.ag-ltr .ag-row-group-indent-89 {
  padding-left: calc(89 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-89 {
  padding-right: calc(89 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-89 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-89 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-90 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 90);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-90 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 90);
}

.ag-ltr .ag-row-group-indent-90 {
  padding-left: calc(90 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-90 {
  padding-right: calc(90 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-90 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-90 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-91 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 91);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-91 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 91);
}

.ag-ltr .ag-row-group-indent-91 {
  padding-left: calc(91 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-91 {
  padding-right: calc(91 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-91 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-91 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-92 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 92);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-92 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 92);
}

.ag-ltr .ag-row-group-indent-92 {
  padding-left: calc(92 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-92 {
  padding-right: calc(92 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-92 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-92 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-93 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 93);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-93 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 93);
}

.ag-ltr .ag-row-group-indent-93 {
  padding-left: calc(93 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-93 {
  padding-right: calc(93 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-93 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-93 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-94 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 94);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-94 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 94);
}

.ag-ltr .ag-row-group-indent-94 {
  padding-left: calc(94 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-94 {
  padding-right: calc(94 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-94 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-94 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-95 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 95);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-95 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 95);
}

.ag-ltr .ag-row-group-indent-95 {
  padding-left: calc(95 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-95 {
  padding-right: calc(95 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-95 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-95 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-96 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 96);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-96 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 96);
}

.ag-ltr .ag-row-group-indent-96 {
  padding-left: calc(96 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-96 {
  padding-right: calc(96 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-96 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-96 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-97 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 97);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-97 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 97);
}

.ag-ltr .ag-row-group-indent-97 {
  padding-left: calc(97 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-97 {
  padding-right: calc(97 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-97 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-97 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-98 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 98);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-98 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 98);
}

.ag-ltr .ag-row-group-indent-98 {
  padding-left: calc(98 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-98 {
  padding-right: calc(98 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-98 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-98 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-99 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 99);
}
.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-99 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 99);
}

.ag-ltr .ag-row-group-indent-99 {
  padding-left: calc(99 * var(--ag-row-group-indent-size));
}
.ag-rtl .ag-row-group-indent-99 {
  padding-right: calc(99 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-99 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-level-99 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row-group-leaf-indent {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-group-leaf-indent {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-value-change-delta {
  padding-right: 2px;
}

.ag-value-change-delta-up {
  color: var(--ag-value-change-delta-up-color);
}

.ag-value-change-delta-down {
  color: var(--ag-value-change-delta-down-color);
}

.ag-value-change-value {
  background-color: transparent;
  border-radius: 1px;
  padding-left: 1px;
  padding-right: 1px;
  transition: background-color 1s;
}

.ag-value-change-value-highlight {
  background-color: var(--ag-value-change-value-highlight-background-color);
  transition: background-color 0.1s;
}

.ag-cell-data-changed {
  background-color: var(--ag-value-change-value-highlight-background-color) !important;
}

.ag-cell-data-changed-animation {
  background-color: transparent;
}

.ag-cell-highlight {
  background-color: var(--ag-range-selection-highlight-color) !important;
}

.ag-row {
  height: var(--ag-row-height);
  background-color: var(--ag-background-color);
  color: var(--ag-data-color);
  border-bottom: var(--ag-row-border-style) var(--ag-row-border-color) var(--ag-row-border-width);
}

.ag-sticky-bottom .ag-row {
  border-bottom: none;
  border-top: var(--ag-row-border-style) var(--ag-row-border-color) var(--ag-row-border-width);
}

.ag-row-highlight-above::after, .ag-row-highlight-below::after {
  content: "";
  position: absolute;
  width: calc(100% - 1px);
  height: 1px;
  background-color: var(--ag-range-selection-border-color);
  left: 1px;
}

.ag-row-highlight-above::after {
  top: -1px;
}

.ag-row-highlight-above.ag-row-first::after {
  top: 0;
}

.ag-row-highlight-below::after {
  bottom: 0px;
}

.ag-row-odd {
  background-color: var(--ag-odd-row-background-color);
}

.ag-body-horizontal-scroll:not(.ag-scrollbar-invisible) .ag-horizontal-left-spacer:not(.ag-scroller-corner) {
  border-right: var(--ag-borders-critical) var(--ag-border-color);
}
.ag-body-horizontal-scroll:not(.ag-scrollbar-invisible) .ag-horizontal-right-spacer:not(.ag-scroller-corner) {
  border-left: var(--ag-borders-critical) var(--ag-border-color);
}

.ag-row-selected::before {
  content: "";
  background-color: var(--ag-selected-row-background-color);
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.ag-row-hover:not(.ag-full-width-row)::before,
.ag-row-hover.ag-full-width-row.ag-row-group::before {
  content: "";
  background-color: var(--ag-row-hover-color);
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
}

.ag-row-hover.ag-full-width-row.ag-row-group > * {
  position: relative;
}

.ag-row-hover.ag-row-selected::before {
  background-color: var(--ag-row-hover-color);
  background-image: linear-gradient(var(--ag-selected-row-background-color), var(--ag-selected-row-background-color));
}

.ag-column-hover {
  background-color: var(--ag-column-hover-color);
}

.ag-ltr .ag-right-aligned-cell {
  text-align: right;
}
.ag-rtl .ag-right-aligned-cell {
  text-align: left;
}

.ag-ltr .ag-right-aligned-cell .ag-cell-value,
.ag-ltr .ag-right-aligned-cell .ag-group-value {
  margin-left: auto;
}
.ag-rtl .ag-right-aligned-cell .ag-cell-value,
.ag-rtl .ag-right-aligned-cell .ag-group-value {
  margin-right: auto;
}

.ag-cell, .ag-full-width-row .ag-cell-wrapper.ag-row-group {
  --ag-internal-calculated-line-height: var(--ag-line-height, calc(var(--ag-row-height) - var(--ag-row-border-width)));
  --ag-internal-padded-row-height: calc(var(--ag-row-height) - var(--ag-row-border-width));
  border: 1px solid transparent;
  line-height: min(var(--ag-internal-calculated-line-height), var(--ag-internal-padded-row-height));
  padding-left: calc(var(--ag-cell-horizontal-padding) - 1px);
  padding-right: calc(var(--ag-cell-horizontal-padding) - 1px);
  -webkit-font-smoothing: subpixel-antialiased;
}

.ag-row > .ag-cell-wrapper {
  padding-left: calc(var(--ag-cell-horizontal-padding) - 1px);
  padding-right: calc(var(--ag-cell-horizontal-padding) - 1px);
}

.ag-row-dragging {
  cursor: move;
  opacity: 0.5;
}

.ag-cell-inline-editing {
  border: 1px solid var(--ag-border-color);
  border-radius: var(--ag-card-radius);
  box-shadow: var(--ag-card-shadow);
  padding: 0;
  background-color: var(--ag-control-panel-background-color);
}

.ag-popup-editor .ag-large-text,
.ag-autocomplete-list-popup {
  border: var(--ag-borders) var(--ag-border-color);
  background: var(--ag-background-color);
  border-radius: var(--ag-card-radius);
  box-shadow: var(--ag-card-shadow);
  padding: var(--ag-grid-size);
  background-color: var(--ag-control-panel-background-color);
  padding: 0;
}

.ag-large-text-input {
  height: auto;
  padding: var(--ag-cell-horizontal-padding);
}

.ag-rtl .ag-large-text-input textarea {
  resize: none;
}

.ag-details-row {
  padding: calc(var(--ag-grid-size) * 5);
  background-color: var(--ag-background-color);
}

.ag-layout-auto-height .ag-center-cols-viewport, .ag-layout-auto-height .ag-center-cols-container, .ag-layout-print .ag-center-cols-viewport, .ag-layout-print .ag-center-cols-container {
  min-height: 50px;
}

.ag-overlay-loading-wrapper {
  background-color: var(--ag-modal-overlay-background-color);
}

.ag-overlay-loading-center {
  border: var(--ag-borders) var(--ag-border-color);
  background: var(--ag-background-color);
  border-radius: var(--ag-card-radius);
  box-shadow: var(--ag-card-shadow);
  padding: var(--ag-grid-size);
}

.ag-overlay-no-rows-wrapper.ag-layout-auto-height {
  padding-top: 30px;
}

.ag-skeleton-container {
  width: 100%;
  height: 100%;
  align-content: center;
}

.ag-skeleton-effect {
  background-color: var(--ag-row-loading-skeleton-effect-color);
  width: 100%;
  height: 1em;
  border-radius: 0.25rem;
  animation: ag-skeleton-loading 1.5s ease-in-out 0.5s infinite;
}

@keyframes ag-skeleton-loading {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.4;
  }
  100% {
    opacity: 1;
  }
}
.ag-loading {
  display: flex;
  height: 100%;
  align-items: center;
}
.ag-ltr .ag-loading {
  padding-left: var(--ag-cell-horizontal-padding);
}
.ag-rtl .ag-loading {
  padding-right: var(--ag-cell-horizontal-padding);
}

.ag-ltr .ag-loading-icon {
  padding-right: var(--ag-cell-widget-spacing);
}
.ag-rtl .ag-loading-icon {
  padding-left: var(--ag-cell-widget-spacing);
}

.ag-icon-loading {
  animation-name: spin;
  animation-duration: 1000ms;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.ag-floating-top {
  border-bottom: var(--ag-borders-critical) var(--ag-border-color);
}

.ag-floating-bottom {
  border-top: var(--ag-borders-critical) var(--ag-border-color);
}

.ag-ltr .ag-cell {
  border-right: var(--ag-cell-horizontal-border);
}
.ag-rtl .ag-cell {
  border-left: var(--ag-cell-horizontal-border);
}
.ag-ltr .ag-cell {
  border-right-width: 1px;
}
.ag-rtl .ag-cell {
  border-left-width: 1px;
}

.ag-cell.ag-cell-first-right-pinned:not(.ag-cell-range-left):not(.ag-cell-range-single-cell) {
  border-left: var(--ag-borders-critical) var(--ag-border-color);
}

.ag-cell.ag-cell-last-left-pinned:not(.ag-cell-range-right):not(.ag-cell-range-single-cell) {
  border-right: var(--ag-borders-critical) var(--ag-border-color);
}

.ag-cell-range-selected:not(.ag-cell-focus),
.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-single-cell:not(.ag-cell-inline-editing) {
  background-color: var(--ag-range-selection-background-color);
}
.ag-cell-range-selected:not(.ag-cell-focus).ag-cell-range-chart,
.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-single-cell:not(.ag-cell-inline-editing).ag-cell-range-chart {
  background-color: var(--ag-range-selection-chart-background-color) !important;
}
.ag-cell-range-selected:not(.ag-cell-focus).ag-cell-range-chart.ag-cell-range-chart-category,
.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-single-cell:not(.ag-cell-inline-editing).ag-cell-range-chart.ag-cell-range-chart-category {
  background-color: var(--ag-range-selection-chart-category-background-color) !important;
}

.ag-cell-range-selected-1:not(.ag-cell-focus),
.ag-root:not(.ag-context-menu-open) .ag-body-viewport:not(.ag-has-focus) .ag-cell-range-selected-1:not(.ag-cell-inline-editing) {
  background-color: var(--ag-range-selection-background-color);
}

.ag-cell-range-selected-2:not(.ag-cell-focus),
.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-selected-2 {
  background-color: var(--ag-range-selection-background-color-2);
}

.ag-cell-range-selected-3:not(.ag-cell-focus),
.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-selected-3 {
  background-color: var(--ag-range-selection-background-color-3);
}

.ag-cell-range-selected-4:not(.ag-cell-focus),
.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-selected-4 {
  background-color: var(--ag-range-selection-background-color-4);
}

.ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell).ag-cell-range-top {
  border-top-color: var(--ag-range-selection-border-color);
  border-top-style: var(--ag-range-selection-border-style);
}
.ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell).ag-cell-range-right {
  border-right-color: var(--ag-range-selection-border-color);
  border-right-style: var(--ag-range-selection-border-style);
}
.ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell).ag-cell-range-bottom {
  border-bottom-color: var(--ag-range-selection-border-color);
  border-bottom-style: var(--ag-range-selection-border-style);
}
.ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell).ag-cell-range-left {
  border-left-color: var(--ag-range-selection-border-color);
  border-left-style: var(--ag-range-selection-border-style);
}

.ag-ltr .ag-cell-focus:not(.ag-cell-range-selected):focus-within,
.ag-ltr .ag-context-menu-open .ag-cell-focus:not(.ag-cell-range-selected),
.ag-ltr .ag-full-width-row.ag-row-focus:focus .ag-cell-wrapper.ag-row-group,
.ag-ltr .ag-cell-range-single-cell,
.ag-ltr .ag-cell-range-single-cell.ag-cell-range-handle, .ag-rtl .ag-cell-focus:not(.ag-cell-range-selected):focus-within,
.ag-rtl .ag-context-menu-open .ag-cell-focus:not(.ag-cell-range-selected),
.ag-rtl .ag-full-width-row.ag-row-focus:focus .ag-cell-wrapper.ag-row-group,
.ag-rtl .ag-cell-range-single-cell,
.ag-rtl .ag-cell-range-single-cell.ag-cell-range-handle {
  border: 1px solid;
  border-color: var(--ag-range-selection-border-color);
  border-style: var(--ag-range-selection-border-style);
  outline: initial;
}

.ag-cell.ag-selection-fill-top,
.ag-cell.ag-selection-fill-top.ag-cell-range-selected {
  border-top: 1px dashed;
  border-top-color: var(--ag-range-selection-border-color);
}

.ag-ltr .ag-cell.ag-selection-fill-right,
.ag-ltr .ag-cell.ag-selection-fill-right.ag-cell-range-selected {
  border-right: 1px dashed var(--ag-range-selection-border-color) !important;
}
.ag-rtl .ag-cell.ag-selection-fill-right,
.ag-rtl .ag-cell.ag-selection-fill-right.ag-cell-range-selected {
  border-left: 1px dashed var(--ag-range-selection-border-color) !important;
}

.ag-cell.ag-selection-fill-bottom,
.ag-cell.ag-selection-fill-bottom.ag-cell-range-selected {
  border-bottom: 1px dashed;
  border-bottom-color: var(--ag-range-selection-border-color);
}

.ag-ltr .ag-cell.ag-selection-fill-left,
.ag-ltr .ag-cell.ag-selection-fill-left.ag-cell-range-selected {
  border-left: 1px dashed var(--ag-range-selection-border-color) !important;
}
.ag-rtl .ag-cell.ag-selection-fill-left,
.ag-rtl .ag-cell.ag-selection-fill-left.ag-cell-range-selected {
  border-right: 1px dashed var(--ag-range-selection-border-color) !important;
}

.ag-fill-handle, .ag-range-handle {
  position: absolute;
  width: 6px;
  height: 6px;
  bottom: -1px;
  background-color: var(--ag-range-selection-border-color);
}
.ag-ltr .ag-fill-handle, .ag-ltr .ag-range-handle {
  right: -1px;
}
.ag-rtl .ag-fill-handle, .ag-rtl .ag-range-handle {
  left: -1px;
}

.ag-fill-handle {
  cursor: cell;
}

.ag-range-handle {
  cursor: nwse-resize;
}

.ag-cell-inline-editing {
  border-color: var(--ag-input-focus-border-color) !important;
}

.ag-menu {
  border: var(--ag-borders) var(--ag-border-color);
  background: var(--ag-background-color);
  border-radius: var(--ag-card-radius);
  box-shadow: var(--ag-card-shadow);
  padding: var(--ag-grid-size);
  background-color: var(--ag-menu-background-color);
  border-color: var(--ag-menu-border-color);
  padding: 0;
}

.ag-menu-list {
  cursor: default;
  padding: var(--ag-grid-size) 0;
}

.ag-menu-separator {
  height: calc(var(--ag-grid-size) * 2 + 1px);
}

.ag-menu-separator-part::after {
  content: "";
  display: block;
  border-top: var(--ag-borders-critical) var(--ag-border-color);
}

.ag-menu-option-active, .ag-compact-menu-option-active {
  background-color: var(--ag-row-hover-color);
}

.ag-menu-option-part, .ag-compact-menu-option-part {
  line-height: var(--ag-icon-size);
  padding: calc(var(--ag-grid-size) + 2px) 0;
}

.ag-menu-option-disabled, .ag-compact-menu-option-disabled {
  opacity: 0.5;
}

.ag-menu-option-icon, .ag-compact-menu-option-icon {
  width: var(--ag-icon-size);
}
.ag-ltr .ag-menu-option-icon, .ag-ltr .ag-compact-menu-option-icon {
  padding-left: calc(var(--ag-grid-size) * 2);
}
.ag-rtl .ag-menu-option-icon, .ag-rtl .ag-compact-menu-option-icon {
  padding-right: calc(var(--ag-grid-size) * 2);
}

.ag-menu-option-text, .ag-compact-menu-option-text {
  padding-left: calc(var(--ag-grid-size) * 2);
  padding-right: calc(var(--ag-grid-size) * 2);
}

.ag-ltr .ag-menu-option-shortcut, .ag-ltr .ag-compact-menu-option-shortcut {
  padding-right: var(--ag-grid-size);
}
.ag-rtl .ag-menu-option-shortcut, .ag-rtl .ag-compact-menu-option-shortcut {
  padding-left: var(--ag-grid-size);
}

.ag-ltr .ag-menu-option-popup-pointer, .ag-ltr .ag-compact-menu-option-popup-pointer {
  padding-right: var(--ag-grid-size);
}
.ag-rtl .ag-menu-option-popup-pointer, .ag-rtl .ag-compact-menu-option-popup-pointer {
  padding-left: var(--ag-grid-size);
}

.ag-tabs {
  min-width: var(--ag-tab-min-width);
}

.ag-tabs-header {
  display: flex;
}

.ag-tabs-header-wrapper {
  display: flex;
}
.ag-tabs-header-wrapper .ag-tabs-header {
  flex: 1;
}

.ag-tabs-close-button-wrapper {
  border: 0;
  border-right: var(--ag-borders) var(--ag-border-color);
  padding: var(--ag-grid-size);
}

.ag-tabs-close-button {
  border: 0;
  background-color: unset;
  cursor: pointer;
  padding: 0;
}

.ag-tab {
  border-bottom: var(--ag-selected-tab-underline-width) solid transparent;
  transition: border-bottom var(--ag-selected-tab-underline-transition-speed);
  display: flex;
  flex: none;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.ag-tab:focus-visible {
  outline: none;
}
.ag-tab:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 4px;
  left: 4px;
  display: block;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-tab-selected {
  border-bottom-color: var(--ag-selected-tab-underline-color);
}

.ag-menu-header {
  color: var(--ag-secondary-foreground-color);
}

.ag-filter-separator {
  border-top: var(--ag-borders-critical) var(--ag-border-color);
}

.ag-filter-select .ag-picker-field-wrapper {
  width: 0;
}

.ag-filter-condition-operator {
  height: 17px;
}

.ag-ltr .ag-filter-condition-operator-or {
  margin-left: calc(var(--ag-grid-size) * 2);
}
.ag-rtl .ag-filter-condition-operator-or {
  margin-right: calc(var(--ag-grid-size) * 2);
}

.ag-set-filter-select-all {
  padding-top: var(--ag-widget-container-vertical-padding);
}

.ag-set-filter-list, .ag-filter-no-matches {
  height: calc(var(--ag-list-item-height) * 6);
}

.ag-set-filter-tree-list {
  height: calc(var(--ag-list-item-height) * 10);
}

.ag-set-filter-filter {
  margin-top: var(--ag-widget-container-vertical-padding);
  margin-left: var(--ag-widget-container-horizontal-padding);
  margin-right: var(--ag-widget-container-horizontal-padding);
}

.ag-filter-to {
  margin-top: var(--ag-widget-vertical-spacing);
}

.ag-mini-filter {
  margin: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);
}

.ag-set-filter-item {
  padding: 0px var(--ag-widget-container-horizontal-padding);
}

.ag-ltr .ag-set-filter-indent-1 {
  padding-left: calc(var(--ag-widget-container-horizontal-padding) + 1 * var(--ag-set-filter-indent-size));
}
.ag-rtl .ag-set-filter-indent-1 {
  padding-right: calc(var(--ag-widget-container-horizontal-padding) + 1 * var(--ag-set-filter-indent-size));
}

.ag-ltr .ag-set-filter-indent-2 {
  padding-left: calc(var(--ag-widget-container-horizontal-padding) + 2 * var(--ag-set-filter-indent-size));
}
.ag-rtl .ag-set-filter-indent-2 {
  padding-right: calc(var(--ag-widget-container-horizontal-padding) + 2 * var(--ag-set-filter-indent-size));
}

.ag-ltr .ag-set-filter-indent-3 {
  padding-left: calc(var(--ag-widget-container-horizontal-padding) + 3 * var(--ag-set-filter-indent-size));
}
.ag-rtl .ag-set-filter-indent-3 {
  padding-right: calc(var(--ag-widget-container-horizontal-padding) + 3 * var(--ag-set-filter-indent-size));
}

.ag-ltr .ag-set-filter-indent-4 {
  padding-left: calc(var(--ag-widget-container-horizontal-padding) + 4 * var(--ag-set-filter-indent-size));
}
.ag-rtl .ag-set-filter-indent-4 {
  padding-right: calc(var(--ag-widget-container-horizontal-padding) + 4 * var(--ag-set-filter-indent-size));
}

.ag-ltr .ag-set-filter-indent-5 {
  padding-left: calc(var(--ag-widget-container-horizontal-padding) + 5 * var(--ag-set-filter-indent-size));
}
.ag-rtl .ag-set-filter-indent-5 {
  padding-right: calc(var(--ag-widget-container-horizontal-padding) + 5 * var(--ag-set-filter-indent-size));
}

.ag-ltr .ag-set-filter-indent-6 {
  padding-left: calc(var(--ag-widget-container-horizontal-padding) + 6 * var(--ag-set-filter-indent-size));
}
.ag-rtl .ag-set-filter-indent-6 {
  padding-right: calc(var(--ag-widget-container-horizontal-padding) + 6 * var(--ag-set-filter-indent-size));
}

.ag-ltr .ag-set-filter-indent-7 {
  padding-left: calc(var(--ag-widget-container-horizontal-padding) + 7 * var(--ag-set-filter-indent-size));
}
.ag-rtl .ag-set-filter-indent-7 {
  padding-right: calc(var(--ag-widget-container-horizontal-padding) + 7 * var(--ag-set-filter-indent-size));
}

.ag-ltr .ag-set-filter-indent-8 {
  padding-left: calc(var(--ag-widget-container-horizontal-padding) + 8 * var(--ag-set-filter-indent-size));
}
.ag-rtl .ag-set-filter-indent-8 {
  padding-right: calc(var(--ag-widget-container-horizontal-padding) + 8 * var(--ag-set-filter-indent-size));
}

.ag-ltr .ag-set-filter-indent-9 {
  padding-left: calc(var(--ag-widget-container-horizontal-padding) + 9 * var(--ag-set-filter-indent-size));
}
.ag-rtl .ag-set-filter-indent-9 {
  padding-right: calc(var(--ag-widget-container-horizontal-padding) + 9 * var(--ag-set-filter-indent-size));
}

.ag-ltr .ag-set-filter-add-group-indent {
  margin-left: calc(var(--ag-icon-size) + var(--ag-widget-container-horizontal-padding));
}
.ag-rtl .ag-set-filter-add-group-indent {
  margin-right: calc(var(--ag-icon-size) + var(--ag-widget-container-horizontal-padding));
}

.ag-ltr .ag-set-filter-group-icons {
  margin-right: var(--ag-widget-container-horizontal-padding);
}
.ag-rtl .ag-set-filter-group-icons {
  margin-left: var(--ag-widget-container-horizontal-padding);
}

.ag-filter-menu .ag-set-filter-list {
  min-width: 200px;
}

.ag-filter-virtual-list-item:focus-visible {
  outline: none;
}
.ag-filter-virtual-list-item:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 1px;
  left: 1px;
  display: block;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-filter-apply-panel {
  padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);
  border-top: var(--ag-borders-secondary) var(--ag-secondary-border-color);
}

.ag-filter-apply-panel-button {
  line-height: 1.5;
}
.ag-ltr .ag-filter-apply-panel-button {
  margin-left: calc(var(--ag-grid-size) * 2);
}
.ag-rtl .ag-filter-apply-panel-button {
  margin-right: calc(var(--ag-grid-size) * 2);
}

.ag-simple-filter-body-wrapper {
  padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);
  padding-bottom: calc(var(--ag-widget-container-vertical-padding) - var(--ag-widget-vertical-spacing));
  overflow-y: auto;
  min-height: calc(var(--ag-list-item-height) + var(--ag-widget-container-vertical-padding) + var(--ag-widget-vertical-spacing));
}
.ag-simple-filter-body-wrapper > * {
  margin-bottom: var(--ag-widget-vertical-spacing);
}
.ag-simple-filter-body-wrapper .ag-resizer-wrapper {
  margin: 0;
}

.ag-menu:not(.ag-tabs) .ag-filter .ag-simple-filter-body-wrapper,
.ag-menu:not(.ag-tabs) .ag-filter > *:not(.ag-filter-wrapper) {
  min-width: calc(var(--ag-menu-min-width) - 2px);
}

.ag-filter-no-matches {
  padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);
}

.ag-multi-filter-menu-item {
  margin: var(--ag-grid-size) 0;
}

.ag-multi-filter-group-title-bar {
  padding: calc(var(--ag-grid-size) * 2) var(--ag-grid-size);
  background-color: transparent;
}

.ag-group-filter-field-select-wrapper {
  padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);
  padding-bottom: calc(var(--ag-widget-container-vertical-padding) - var(--ag-widget-vertical-spacing));
}
.ag-group-filter-field-select-wrapper > * {
  margin-bottom: var(--ag-widget-vertical-spacing);
}

.ag-multi-filter-group-title-bar:focus-visible {
  outline: none;
}
.ag-multi-filter-group-title-bar:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 4px;
  left: 4px;
  display: block;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-side-bar {
  position: relative;
}

.ag-tool-panel-wrapper {
  width: var(--ag-side-bar-panel-width);
  background-color: var(--ag-control-panel-background-color);
}

.ag-side-buttons {
  padding-top: calc(var(--ag-grid-size) * 4);
  width: calc(var(--ag-icon-size) + 4px);
  position: relative;
  overflow: hidden;
}

button.ag-side-button-button {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  background: transparent;
  padding: calc(var(--ag-grid-size) * 2) 0 calc(var(--ag-grid-size) * 2) 0;
  width: 100%;
  margin: 0;
  min-height: calc(var(--ag-grid-size) * 18);
  background-position-y: center;
  background-position-x: center;
  background-repeat: no-repeat;
  border: none;
  border-top: var(--ag-borders-side-button) var(--ag-border-color);
  border-bottom: var(--ag-borders-side-button) var(--ag-border-color);
}
button.ag-side-button-button:focus {
  box-shadow: none;
}

.ag-side-button-button:focus-visible {
  outline: none;
}
.ag-side-button-button:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 4px;
  left: 4px;
  display: block;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-selected button.ag-side-button-button {
  background-color: var(--ag-side-button-selected-background-color);
}

.ag-side-button-icon-wrapper {
  margin-bottom: 3px;
}

.ag-ltr .ag-side-bar-left,
.ag-rtl .ag-side-bar-right {
  border-right: var(--ag-borders) var(--ag-border-color);
}
.ag-ltr .ag-side-bar-left .ag-tool-panel-wrapper,
.ag-rtl .ag-side-bar-right .ag-tool-panel-wrapper {
  border-left: var(--ag-borders) var(--ag-border-color);
}
.ag-ltr .ag-side-bar-left .ag-side-button-button,
.ag-rtl .ag-side-bar-right .ag-side-button-button {
  border-right: var(--ag-selected-tab-underline-width) solid transparent;
  transition: border-right var(--ag-selected-tab-underline-transition-speed);
}
.ag-ltr .ag-side-bar-left .ag-selected .ag-side-button-button,
.ag-rtl .ag-side-bar-right .ag-selected .ag-side-button-button {
  border-right-color: var(--ag-selected-tab-underline-color);
}

.ag-rtl .ag-side-bar-left,
.ag-ltr .ag-side-bar-right {
  border-left: var(--ag-borders) var(--ag-border-color);
}
.ag-rtl .ag-side-bar-left .ag-tool-panel-wrapper,
.ag-ltr .ag-side-bar-right .ag-tool-panel-wrapper {
  border-right: var(--ag-borders) var(--ag-border-color);
}
.ag-rtl .ag-side-bar-left .ag-side-button-button,
.ag-ltr .ag-side-bar-right .ag-side-button-button {
  border-left: var(--ag-selected-tab-underline-width) solid transparent;
  transition: border-left var(--ag-selected-tab-underline-transition-speed);
}
.ag-rtl .ag-side-bar-left .ag-selected .ag-side-button-button,
.ag-ltr .ag-side-bar-right .ag-selected .ag-side-button-button {
  border-left-color: var(--ag-selected-tab-underline-color);
}

.ag-filter-toolpanel-header {
  height: calc(var(--ag-grid-size) * 6);
}

.ag-filter-toolpanel-header,
.ag-filter-toolpanel-search {
  padding: 0 var(--ag-grid-size);
}

.ag-filter-toolpanel-header:focus-visible {
  outline: none;
}
.ag-filter-toolpanel-header:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 4px;
  left: 4px;
  display: block;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-filter-toolpanel-group:not(.ag-has-filter) > .ag-group-title-bar .ag-filter-toolpanel-group-instance-header-icon {
  display: none;
}

.ag-filter-toolpanel-group-level-0-header {
  height: calc(var(--ag-grid-size) * 8);
}

.ag-filter-toolpanel-group-item {
  margin-top: calc(var(--ag-grid-size) * 0.5);
  margin-bottom: calc(var(--ag-grid-size) * 0.5);
}

.ag-filter-toolpanel-search {
  height: var(--ag-header-height);
}

.ag-filter-toolpanel-search-input {
  flex-grow: 1;
  height: calc(var(--ag-grid-size) * 4);
}
.ag-ltr .ag-filter-toolpanel-search-input {
  margin-right: var(--ag-grid-size);
}
.ag-rtl .ag-filter-toolpanel-search-input {
  margin-left: var(--ag-grid-size);
}

.ag-filter-toolpanel-group-level-0 {
  border-top: var(--ag-borders-secondary) var(--ag-secondary-border-color);
}

.ag-ltr .ag-filter-toolpanel-expand,
.ag-ltr .ag-filter-toolpanel-group-title-bar-icon {
  margin-right: var(--ag-grid-size);
}
.ag-rtl .ag-filter-toolpanel-expand,
.ag-rtl .ag-filter-toolpanel-group-title-bar-icon {
  margin-left: var(--ag-grid-size);
}

.ag-filter-toolpanel-group-level-1 .ag-filter-toolpanel-group-level-1-header.ag-filter-toolpanel-group-title-bar {
  background-color: transparent;
}
.ag-ltr .ag-filter-toolpanel-group-level-1 .ag-filter-toolpanel-group-level-2-header {
  padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 1 + var(--ag-grid-size));
}
.ag-rtl .ag-filter-toolpanel-group-level-1 .ag-filter-toolpanel-group-level-2-header {
  padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 1 + var(--ag-grid-size));
}

.ag-filter-toolpanel-group-level-2 .ag-filter-toolpanel-group-level-2-header.ag-filter-toolpanel-group-title-bar {
  background-color: transparent;
}
.ag-ltr .ag-filter-toolpanel-group-level-2 .ag-filter-toolpanel-group-level-3-header {
  padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 2 + var(--ag-grid-size));
}
.ag-rtl .ag-filter-toolpanel-group-level-2 .ag-filter-toolpanel-group-level-3-header {
  padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 2 + var(--ag-grid-size));
}

.ag-filter-toolpanel-group-level-3 .ag-filter-toolpanel-group-level-3-header.ag-filter-toolpanel-group-title-bar {
  background-color: transparent;
}
.ag-ltr .ag-filter-toolpanel-group-level-3 .ag-filter-toolpanel-group-level-4-header {
  padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 3 + var(--ag-grid-size));
}
.ag-rtl .ag-filter-toolpanel-group-level-3 .ag-filter-toolpanel-group-level-4-header {
  padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 3 + var(--ag-grid-size));
}

.ag-filter-toolpanel-group-level-4 .ag-filter-toolpanel-group-level-4-header.ag-filter-toolpanel-group-title-bar {
  background-color: transparent;
}
.ag-ltr .ag-filter-toolpanel-group-level-4 .ag-filter-toolpanel-group-level-5-header {
  padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 4 + var(--ag-grid-size));
}
.ag-rtl .ag-filter-toolpanel-group-level-4 .ag-filter-toolpanel-group-level-5-header {
  padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 4 + var(--ag-grid-size));
}

.ag-filter-toolpanel-group-level-5 .ag-filter-toolpanel-group-level-5-header.ag-filter-toolpanel-group-title-bar {
  background-color: transparent;
}
.ag-ltr .ag-filter-toolpanel-group-level-5 .ag-filter-toolpanel-group-level-6-header {
  padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 5 + var(--ag-grid-size));
}
.ag-rtl .ag-filter-toolpanel-group-level-5 .ag-filter-toolpanel-group-level-6-header {
  padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 5 + var(--ag-grid-size));
}

.ag-filter-toolpanel-group-level-6 .ag-filter-toolpanel-group-level-6-header.ag-filter-toolpanel-group-title-bar {
  background-color: transparent;
}
.ag-ltr .ag-filter-toolpanel-group-level-6 .ag-filter-toolpanel-group-level-7-header {
  padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 6 + var(--ag-grid-size));
}
.ag-rtl .ag-filter-toolpanel-group-level-6 .ag-filter-toolpanel-group-level-7-header {
  padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 6 + var(--ag-grid-size));
}

.ag-filter-toolpanel-group-level-7 .ag-filter-toolpanel-group-level-7-header.ag-filter-toolpanel-group-title-bar {
  background-color: transparent;
}
.ag-ltr .ag-filter-toolpanel-group-level-7 .ag-filter-toolpanel-group-level-8-header {
  padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 7 + var(--ag-grid-size));
}
.ag-rtl .ag-filter-toolpanel-group-level-7 .ag-filter-toolpanel-group-level-8-header {
  padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 7 + var(--ag-grid-size));
}

.ag-filter-toolpanel-group-level-8 .ag-filter-toolpanel-group-level-8-header.ag-filter-toolpanel-group-title-bar {
  background-color: transparent;
}
.ag-ltr .ag-filter-toolpanel-group-level-8 .ag-filter-toolpanel-group-level-9-header {
  padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 8 + var(--ag-grid-size));
}
.ag-rtl .ag-filter-toolpanel-group-level-8 .ag-filter-toolpanel-group-level-9-header {
  padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 8 + var(--ag-grid-size));
}

.ag-filter-toolpanel-group-level-9 .ag-filter-toolpanel-group-level-9-header.ag-filter-toolpanel-group-title-bar {
  background-color: transparent;
}
.ag-ltr .ag-filter-toolpanel-group-level-9 .ag-filter-toolpanel-group-level-10-header {
  padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 9 + var(--ag-grid-size));
}
.ag-rtl .ag-filter-toolpanel-group-level-9 .ag-filter-toolpanel-group-level-10-header {
  padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 9 + var(--ag-grid-size));
}

.ag-filter-toolpanel-group-level-10 .ag-filter-toolpanel-group-level-10-header.ag-filter-toolpanel-group-title-bar {
  background-color: transparent;
}
.ag-ltr .ag-filter-toolpanel-group-level-10 .ag-filter-toolpanel-group-level-11-header {
  padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 10 + var(--ag-grid-size));
}
.ag-rtl .ag-filter-toolpanel-group-level-10 .ag-filter-toolpanel-group-level-11-header {
  padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 10 + var(--ag-grid-size));
}

.ag-filter-toolpanel-instance-header.ag-filter-toolpanel-group-level-1-header {
  padding-left: var(--ag-grid-size);
}

.ag-filter-toolpanel-instance-filter {
  border-bottom: var(--ag-borders) var(--ag-border-color);
  border-top: var(--ag-borders) var(--ag-border-color);
  margin-top: var(--ag-grid-size);
}

.ag-ltr .ag-filter-toolpanel-group-instance-header-icon,
.ag-ltr .ag-filter-toolpanel-instance-header-icon {
  margin-left: var(--ag-grid-size);
}
.ag-rtl .ag-filter-toolpanel-group-instance-header-icon,
.ag-rtl .ag-filter-toolpanel-instance-header-icon {
  margin-right: var(--ag-grid-size);
}

.ag-set-filter-group-icons {
  color: var(--ag-secondary-foreground-color);
}

.ag-pivot-mode-panel {
  min-height: var(--ag-header-height);
  height: var(--ag-header-height);
  display: flex;
}

.ag-pivot-mode-select {
  display: flex;
  align-items: center;
}
.ag-ltr .ag-pivot-mode-select {
  margin-left: var(--ag-widget-container-horizontal-padding);
}
.ag-rtl .ag-pivot-mode-select {
  margin-right: var(--ag-widget-container-horizontal-padding);
}

.ag-column-select-header:focus-visible {
  outline: none;
}
.ag-column-select-header:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 4px;
  left: 4px;
  display: block;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-column-select-header {
  height: var(--ag-header-height);
  align-items: center;
  padding: 0 var(--ag-widget-container-horizontal-padding);
  border-bottom: var(--ag-borders-secondary) var(--ag-secondary-border-color);
}

.ag-column-panel-column-select {
  border-bottom: var(--ag-borders-secondary) var(--ag-secondary-border-color);
  border-top: var(--ag-borders-secondary) var(--ag-secondary-border-color);
}

.ag-column-group-icons,
.ag-column-select-header-icon {
  color: var(--ag-secondary-foreground-color);
}

.ag-column-select-list .ag-list-item-hovered::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  background-color: var(--ag-range-selection-border-color);
}
.ag-column-select-list .ag-item-highlight-top::after {
  top: 0;
}
.ag-column-select-list .ag-item-highlight-bottom::after {
  bottom: 0;
}

.ag-header, .ag-advanced-filter-header {
  background-color: var(--ag-header-background-color);
  border-bottom: var(--ag-borders-critical) var(--ag-border-color);
}

.ag-header-row {
  color: var(--ag-header-foreground-color);
  height: var(--ag-header-height);
}

.ag-pinned-right-header {
  border-left: var(--ag-borders-critical) var(--ag-border-color);
}

.ag-pinned-left-header {
  border-right: var(--ag-borders-critical) var(--ag-border-color);
}

.ag-ltr .ag-header-cell:not(.ag-right-aligned-header) .ag-header-label-icon, .ag-ltr .ag-header-cell:not(.ag-right-aligned-header) .ag-header-menu-icon {
  margin-left: var(--ag-grid-size);
}
.ag-rtl .ag-header-cell:not(.ag-right-aligned-header) .ag-header-label-icon, .ag-rtl .ag-header-cell:not(.ag-right-aligned-header) .ag-header-menu-icon {
  margin-right: var(--ag-grid-size);
}

.ag-ltr .ag-header-cell.ag-right-aligned-header .ag-header-label-icon, .ag-ltr .ag-header-cell.ag-right-aligned-header .ag-header-menu-icon {
  margin-right: var(--ag-grid-size);
}
.ag-rtl .ag-header-cell.ag-right-aligned-header .ag-header-label-icon, .ag-rtl .ag-header-cell.ag-right-aligned-header .ag-header-menu-icon {
  margin-left: var(--ag-grid-size);
}

.ag-header-cell,
.ag-header-group-cell {
  padding-left: var(--ag-cell-horizontal-padding);
  padding-right: var(--ag-cell-horizontal-padding);
}
.ag-header-cell.ag-header-cell-moving,
.ag-header-group-cell.ag-header-cell-moving {
  background-color: var(--ag-header-cell-moving-background-color);
}

.ag-ltr .ag-header-group-cell-label.ag-sticky-label {
  left: var(--ag-cell-horizontal-padding);
}
.ag-rtl .ag-header-group-cell-label.ag-sticky-label {
  right: var(--ag-cell-horizontal-padding);
}

.ag-header-cell:focus-visible {
  outline: none;
}
.ag-header-cell:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 4px;
  left: 4px;
  display: block;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-header-group-cell:focus-visible {
  outline: none;
}
.ag-header-group-cell:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 4px;
  left: 4px;
  display: block;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-advanced-filter-header-cell:focus-visible {
  outline: none;
}
.ag-advanced-filter-header-cell:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 4px;
  left: 4px;
  display: block;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-header-icon {
  color: var(--ag-secondary-foreground-color);
}

.ag-header-expand-icon {
  cursor: pointer;
}
.ag-ltr .ag-header-expand-icon {
  margin-left: 4px;
}
.ag-rtl .ag-header-expand-icon {
  margin-right: 4px;
}

.ag-header-row:not(:first-child) .ag-header-cell:not(.ag-header-span-height.ag-header-span-total),
.ag-header-row:not(:first-child) .ag-header-group-cell.ag-header-group-cell-with-group {
  border-top: var(--ag-borders-critical) var(--ag-border-color);
}

.ag-header-group-cell:not(.ag-column-resizing) + .ag-header-group-cell:not(.ag-column-hover):not(.ag-header-cell-moving):hover, .ag-header-group-cell:not(.ag-column-resizing) + .ag-header-group-cell:not(.ag-column-hover).ag-column-resizing,
.ag-header-cell:not(.ag-column-resizing) + .ag-header-cell:not(.ag-column-hover):not(.ag-header-cell-moving):hover,
.ag-header-cell:not(.ag-column-resizing) + .ag-header-cell:not(.ag-column-hover).ag-column-resizing,
.ag-header-group-cell:first-of-type:not(.ag-header-cell-moving):hover,
.ag-header-group-cell:first-of-type.ag-column-resizing,
.ag-header-cell:not(.ag-column-hover):first-of-type:not(.ag-header-cell-moving):hover,
.ag-header-cell:not(.ag-column-hover):first-of-type.ag-column-resizing {
  background-color: var(--ag-header-cell-hover-background-color);
}

.ag-header-cell::before,
.ag-header-group-cell:not(.ag-header-span-height.ag-header-group-cell-no-group)::before {
  content: "";
  position: absolute;
  z-index: 1;
  display: var(--ag-header-column-separator-display);
  width: var(--ag-header-column-separator-width);
  height: var(--ag-header-column-separator-height);
  top: calc(50% - var(--ag-header-column-separator-height) * 0.5);
  background-color: var(--ag-header-column-separator-color);
}
.ag-ltr .ag-header-cell::before,
.ag-ltr .ag-header-group-cell:not(.ag-header-span-height.ag-header-group-cell-no-group)::before {
  right: 0;
}
.ag-rtl .ag-header-cell::before,
.ag-rtl .ag-header-group-cell:not(.ag-header-span-height.ag-header-group-cell-no-group)::before {
  left: 0;
}

.ag-header-cell-resize {
  display: flex;
  align-items: center;
}

.ag-header-cell-resize::after {
  content: "";
  position: absolute;
  z-index: 1;
  display: var(--ag-header-column-resize-handle-display);
  width: var(--ag-header-column-resize-handle-width);
  height: var(--ag-header-column-resize-handle-height);
  top: calc(50% - var(--ag-header-column-resize-handle-height) * 0.5);
  background-color: var(--ag-header-column-resize-handle-color);
}
.ag-header-cell.ag-header-span-height .ag-header-cell-resize::after {
  height: calc(100% - var(--ag-grid-size) * 4);
  top: calc(var(--ag-grid-size) * 2);
}

.ag-ltr .ag-header-viewport .ag-header-cell-resize::after {
  left: calc(50% - var(--ag-header-column-resize-handle-width));
}
.ag-rtl .ag-header-viewport .ag-header-cell-resize::after {
  right: calc(50% - var(--ag-header-column-resize-handle-width));
}

.ag-pinned-left-header .ag-header-cell-resize::after {
  left: calc(50% - var(--ag-header-column-resize-handle-width));
}

.ag-pinned-right-header .ag-header-cell-resize::after {
  left: 50%;
}

.ag-ltr .ag-header-select-all {
  margin-right: var(--ag-cell-horizontal-padding);
}
.ag-rtl .ag-header-select-all {
  margin-left: var(--ag-cell-horizontal-padding);
}

.ag-ltr .ag-floating-filter-button {
  margin-left: var(--ag-cell-widget-spacing);
}
.ag-rtl .ag-floating-filter-button {
  margin-right: var(--ag-cell-widget-spacing);
}

.ag-floating-filter-button-button {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  appearance: none;
  background: transparent;
  border: none;
  height: var(--ag-icon-size);
  padding: 0;
  width: var(--ag-icon-size);
}

.ag-filter-loading {
  background-color: var(--ag-control-panel-background-color);
  height: 100%;
  padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);
  position: absolute;
  width: 100%;
  z-index: 1;
}

.ag-paging-panel {
  border-top: 1px solid;
  border-top-color: var(--ag-border-color);
  color: var(--ag-secondary-foreground-color);
  height: var(--ag-header-height);
}
.ag-paging-panel > * {
  margin: 0 var(--ag-cell-horizontal-padding);
}
.ag-paging-panel > .ag-paging-page-size .ag-wrapper {
  min-width: calc(var(--ag-grid-size) * 10);
}

.ag-paging-button {
  cursor: pointer;
}

.ag-paging-button.ag-disabled {
  cursor: default;
  color: var(--ag-disabled-foreground-color);
}

.ag-paging-button:focus-visible {
  outline: none;
}
.ag-paging-button:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 0px;
  left: 0px;
  display: block;
  width: calc(100% - 0px);
  height: calc(100% - 0px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-paging-button, .ag-paging-description {
  margin: 0 var(--ag-grid-size);
}

.ag-status-bar {
  border-top: var(--ag-borders) var(--ag-border-color);
  color: var(--ag-disabled-foreground-color);
  padding-right: calc(var(--ag-grid-size) * 4);
  padding-left: calc(var(--ag-grid-size) * 4);
  line-height: 1.5;
}

.ag-status-name-value-value {
  color: var(--ag-foreground-color);
}

.ag-status-bar-center {
  text-align: center;
}

.ag-status-name-value {
  margin-left: var(--ag-grid-size);
  margin-right: var(--ag-grid-size);
  padding-top: calc(var(--ag-grid-size) * 2);
  padding-bottom: calc(var(--ag-grid-size) * 2);
}

.ag-column-drop-cell {
  background: var(--ag-chip-background-color);
  border-radius: calc(var(--ag-grid-size) * 4);
  height: calc(var(--ag-grid-size) * 4);
  padding: 0 calc(var(--ag-grid-size) * 0.5);
  border: 1px solid var(--ag-chip-border-color);
}

.ag-column-drop-cell:focus-visible {
  outline: none;
}
.ag-column-drop-cell:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 2px;
  left: 2px;
  display: block;
  width: calc(100% - 4px);
  height: calc(100% - 4px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-column-drop-cell-text {
  margin: 0 var(--ag-grid-size);
}

.ag-column-drop-cell-button {
  min-width: calc(var(--ag-grid-size) * 4);
  margin: 0 calc(var(--ag-grid-size) * 0.5);
  color: var(--ag-secondary-foreground-color);
}

.ag-column-drop-cell-drag-handle {
  margin-left: calc(var(--ag-grid-size) * 2);
}

.ag-column-drop-cell-ghost {
  opacity: 0.5;
}

.ag-column-drop-horizontal {
  background-color: var(--ag-header-background-color);
  color: var(--ag-secondary-foreground-color);
  height: var(--ag-header-height);
  border-bottom: var(--ag-borders) var(--ag-border-color);
}
.ag-ltr .ag-column-drop-horizontal {
  padding-left: var(--ag-cell-horizontal-padding);
}
.ag-rtl .ag-column-drop-horizontal {
  padding-right: var(--ag-cell-horizontal-padding);
}

.ag-ltr .ag-column-drop-horizontal-half-width:not(:last-child) {
  border-right: var(--ag-borders) var(--ag-border-color);
}
.ag-rtl .ag-column-drop-horizontal-half-width:not(:last-child) {
  border-left: var(--ag-borders) var(--ag-border-color);
}

.ag-column-drop-horizontal-cell-separator {
  margin: 0 var(--ag-grid-size);
  color: var(--ag-secondary-foreground-color);
}

.ag-column-drop-horizontal-empty-message {
  color: var(--ag-disabled-foreground-color);
}

.ag-ltr .ag-column-drop-horizontal-icon {
  margin-right: var(--ag-cell-horizontal-padding);
}
.ag-rtl .ag-column-drop-horizontal-icon {
  margin-left: var(--ag-cell-horizontal-padding);
}

.ag-column-drop-vertical-list {
  padding-bottom: var(--ag-grid-size);
  padding-right: var(--ag-grid-size);
  padding-left: var(--ag-grid-size);
}

.ag-column-drop-vertical-cell {
  margin-top: var(--ag-grid-size);
}

.ag-column-drop-vertical {
  min-height: 50px;
  border-bottom: var(--ag-borders-secondary) var(--ag-secondary-border-color);
}
.ag-column-drop-vertical.ag-last-column-drop {
  border-bottom: none;
}

.ag-column-drop-vertical-icon {
  margin-left: var(--ag-grid-size);
  margin-right: var(--ag-grid-size);
}

.ag-column-drop-vertical-empty-message {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  overflow: hidden;
  color: var(--ag-disabled-foreground-color);
  margin-top: var(--ag-grid-size);
}

.ag-select-agg-func-popup {
  border: var(--ag-borders) var(--ag-border-color);
  background: var(--ag-background-color);
  border-radius: var(--ag-card-radius);
  box-shadow: var(--ag-card-shadow);
  padding: var(--ag-grid-size);
  background: var(--ag-background-color);
  height: calc(var(--ag-grid-size) * 5 * 3.5);
  padding: 0;
}

.ag-select-agg-func-virtual-list-item {
  cursor: default;
}
.ag-ltr .ag-select-agg-func-virtual-list-item {
  padding-left: calc(var(--ag-grid-size) * 2);
}
.ag-rtl .ag-select-agg-func-virtual-list-item {
  padding-right: calc(var(--ag-grid-size) * 2);
}
.ag-select-agg-func-virtual-list-item:hover {
  background-color: var(--ag-selected-row-background-color);
}

.ag-select-agg-func-virtual-list-item:focus-visible {
  outline: none;
}
.ag-select-agg-func-virtual-list-item:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 1px;
  left: 1px;
  display: block;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-sort-indicator-container {
  display: flex;
}

.ag-ltr .ag-sort-indicator-icon {
  padding-left: var(--ag-grid-size);
}
.ag-rtl .ag-sort-indicator-icon {
  padding-right: var(--ag-grid-size);
}

.ag-chart {
  position: relative;
  display: flex;
  overflow: hidden;
  width: 100%;
  height: 100%;
}

.ag-chart-components-wrapper {
  position: relative;
  display: flex;
  flex: 1 1 auto;
  overflow: hidden;
}

.ag-chart-title-edit {
  position: absolute;
  display: none;
  top: 0;
  left: 0;
  text-align: center;
}

.ag-chart-title-edit.currently-editing {
  display: inline-block;
}

.ag-chart-canvas-wrapper {
  position: relative;
  flex: 1 1 auto;
  overflow: hidden;
}

.ag-charts-canvas {
  display: block;
}

.ag-chart-menu {
  position: absolute;
  top: 16px;
  display: flex;
  flex-direction: column;
}
.ag-ltr .ag-chart-menu {
  right: 20px;
}
.ag-rtl .ag-chart-menu {
  left: 20px;
}

.ag-chart-docked-container {
  position: relative;
  width: 0;
  min-width: 0;
  transition: min-width 0.4s;
}

.ag-chart-menu-hidden ~ .ag-chart-docked-container {
  max-width: 0;
  overflow: hidden;
}

.ag-chart-tabbed-menu {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.ag-chart-tabbed-menu-header {
  flex: none;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  cursor: default;
}

.ag-chart-tabbed-menu-body {
  display: flex;
  flex: 1 1 auto;
  align-items: stretch;
  overflow: hidden;
}

.ag-chart-tab {
  width: 100%;
  overflow: hidden;
  overflow-y: auto;
}

.ag-chart-settings {
  overflow-x: hidden;
}

.ag-chart-settings-wrapper {
  position: relative;
  flex-direction: column;
  width: 100%;
  height: 100%;
  display: flex;
  overflow: hidden;
}

.ag-chart-settings-nav-bar {
  display: flex;
  align-items: center;
  width: 100%;
  height: 30px;
  padding: 0 10px;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.ag-chart-settings-card-selector {
  display: flex;
  align-items: center;
  justify-content: space-around;
  flex: 1 1 auto;
  height: 100%;
  padding: 0 10px;
}

.ag-chart-settings-card-item {
  cursor: pointer;
  width: 10px;
  height: 10px;
  background-color: #000;
  position: relative;
}
.ag-chart-settings-card-item.ag-not-selected {
  opacity: 0.2;
}
.ag-chart-settings-card-item::before {
  content: " ";
  display: block;
  position: absolute;
  background-color: transparent;
  left: 50%;
  top: 50%;
  margin-left: -10px;
  margin-top: -10px;
  width: 20px;
  height: 20px;
}

.ag-chart-settings-prev,
.ag-chart-settings-next {
  position: relative;
  flex: none;
}

.ag-chart-settings-prev-button,
.ag-chart-settings-next-button {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  opacity: 0;
}

.ag-chart-settings-mini-charts-container {
  position: relative;
  flex: 1 1 auto;
  overflow-x: hidden;
  overflow-y: auto;
}

.ag-chart-settings-mini-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 100%;
  overflow: hidden;
}
.ag-chart-settings-mini-wrapper.ag-animating {
  transition: left 0.3s;
  transition-timing-function: ease-in-out;
}

.ag-chart-mini-thumbnail {
  cursor: pointer;
}

.ag-chart-mini-thumbnail-canvas {
  display: block;
}

.ag-chart-data-wrapper,
.ag-chart-format-wrapper,
.ag-chart-advanced-settings-wrapper {
  display: flex;
  flex-direction: column;
  position: relative;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  padding-bottom: 16px;
}

.ag-chart-data-wrapper,
.ag-chart-advanced-settings-wrapper {
  height: 100%;
  overflow-y: auto;
}

.ag-chart-advanced-settings {
  background-color: var(--ag-control-panel-background-color);
}

.ag-chart-advanced-settings-wrapper, .ag-chart-advanced-settings {
  width: 100%;
}

.ag-chart-advanced-settings-wrapper {
  padding-bottom: 0;
}

.ag-chart-data-section,
.ag-chart-format-section,
.ag-chart-advanced-settings-section {
  display: flex;
  margin: 0;
}

.ag-chart-advanced-settings-section {
  border-bottom: 1px solid var(--ag-secondary-border-color);
  padding-top: var(--ag-grid-size);
  padding-bottom: var(--ag-grid-size);
}

.ag-chart-empty-text {
  display: flex;
  top: 0;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  background-color: var(--ag-background-color);
}

.ag-chart .ag-chart-menu {
  display: none;
}

.ag-chart-menu-hidden:hover .ag-chart-menu {
  display: block;
}

.ag-chart .ag-chart-tool-panel-button-enable .ag-chart-menu, .ag-chart .ag-chart-menu-wrapper .ag-chart-menu {
  display: flex;
  flex-direction: row;
  top: 8px;
  gap: 20px;
  width: auto;
}
.ag-ltr .ag-chart .ag-chart-tool-panel-button-enable .ag-chart-menu, .ag-ltr .ag-chart .ag-chart-menu-wrapper .ag-chart-menu {
  right: calc(var(--ag-cell-horizontal-padding) + var(--ag-grid-size) - 4px);
  justify-content: right;
}
.ag-rtl .ag-chart .ag-chart-tool-panel-button-enable .ag-chart-menu, .ag-rtl .ag-chart .ag-chart-menu-wrapper .ag-chart-menu {
  left: calc(var(--ag-cell-horizontal-padding) + var(--ag-grid-size) - 4px);
  justify-content: left;
}

.ag-chart-menu-close {
  display: none;
}

.ag-chart-tool-panel-button-enable .ag-chart-menu-close {
  position: absolute;
  top: 50%;
  transition: transform 0.33s ease-in-out;
  padding: 0;
  display: block;
  cursor: pointer;
  border: none;
}
.ag-ltr .ag-chart-tool-panel-button-enable .ag-chart-menu-close {
  right: 0px;
}
.ag-rtl .ag-chart-tool-panel-button-enable .ag-chart-menu-close {
  left: 0px;
}
.ag-chart-tool-panel-button-enable .ag-chart-menu-close .ag-icon {
  padding: 14px 5px 14px 2px;
  width: auto;
  height: auto;
}
.ag-chart-tool-panel-button-enable .ag-chart-menu-close:before {
  content: "";
  position: absolute;
  top: -40px;
  bottom: -40px;
}
.ag-ltr .ag-chart-tool-panel-button-enable .ag-chart-menu-close:before {
  right: 0px;
}
.ag-rtl .ag-chart-tool-panel-button-enable .ag-chart-menu-close:before {
  left: 0px;
}
.ag-ltr .ag-chart-tool-panel-button-enable .ag-chart-menu-close:before {
  left: -10px;
}
.ag-rtl .ag-chart-tool-panel-button-enable .ag-chart-menu-close:before {
  right: -10px;
}
.ag-chart-tool-panel-button-enable .ag-icon-menu {
  display: none;
}

.ag-ltr .ag-chart-tool-panel-button-enable .ag-chart-menu-close {
  transform: translate(3px, -50%);
}
.ag-ltr .ag-chart-tool-panel-button-enable .ag-chart-menu-close:hover {
  transform: translate(0, -50%);
}
.ag-ltr .ag-chart-menu-visible .ag-chart-tool-panel-button-enable .ag-chart-menu-close:hover {
  transform: translate(5px, -50%);
}

.ag-rtl .ag-chart-tool-panel-button-enable .ag-chart-menu-close {
  transform: translate(-3px, -50%);
}
.ag-rtl .ag-chart-tool-panel-button-enable .ag-chart-menu-close:hover {
  transform: translate(0, -50%);
}
.ag-rtl .ag-chart-menu-visible .ag-chart-tool-panel-button-enable .ag-chart-menu-close:hover {
  transform: translate(-5px, -50%);
}

.ag-charts-font-size-color {
  display: flex;
  align-self: stretch;
  justify-content: space-between;
}

.ag-charts-data-group-item {
  position: relative;
}

.ag-charts-data-group-item:not(:last-child) {
  margin-bottom: var(--ag-grid-size);
}

.ag-chart-menu {
  border-radius: var(--ag-card-radius);
  background: var(--ag-background-color);
}

.ag-chart-menu-icon {
  opacity: 0.5;
  margin: 2px 0;
  cursor: pointer;
  border-radius: var(--ag-card-radius);
  color: var(--ag-secondary-foreground-color);
}
.ag-chart-menu-icon:hover {
  opacity: 1;
}

.ag-chart-menu-toolbar-button {
  border: 0;
  background-color: unset;
  padding: 0 2px;
  border-radius: 1px;
}

.ag-chart-mini-thumbnail {
  border: 1px solid var(--ag-secondary-border-color);
  border-radius: 5px;
}
.ag-chart-mini-thumbnail.ag-selected {
  border-color: var(--ag-minichart-selected-chart-color);
}

.ag-chart-settings-card-item {
  background: var(--ag-foreground-color);
  width: 8px;
  height: 8px;
  border-radius: 4px;
}
.ag-chart-settings-card-item.ag-selected {
  background-color: var(--ag-minichart-selected-page-color);
}

.ag-chart-data-column-drag-handle {
  margin-left: var(--ag-grid-size);
}

.ag-charts-settings-group-title-bar,
.ag-charts-data-group-title-bar,
.ag-charts-format-top-level-group-title-bar {
  border-top: var(--ag-borders-secondary) var(--ag-secondary-border-color);
  position: relative;
}

.ag-charts-advanced-settings-top-level-group-title-bar {
  position: relative;
  background-color: unset;
}

.ag-charts-settings-group-title-bar:focus-visible {
  outline: none;
}
.ag-charts-settings-group-title-bar:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: -4px;
  left: -4px;
  display: block;
  width: calc(100% - -8px);
  height: calc(100% - -8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-charts-data-group-title-bar:focus-visible {
  outline: none;
}
.ag-charts-data-group-title-bar:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: -4px;
  left: -4px;
  display: block;
  width: calc(100% - -8px);
  height: calc(100% - -8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-charts-format-top-level-group-title-bar:focus-visible {
  outline: none;
}
.ag-charts-format-top-level-group-title-bar:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: -4px;
  left: -4px;
  display: block;
  width: calc(100% - -8px);
  height: calc(100% - -8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-charts-advanced-settings-top-level-group-title-bar:focus-visible {
  outline: none;
}
.ag-charts-advanced-settings-top-level-group-title-bar:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: -4px;
  left: -4px;
  display: block;
  width: calc(100% - -8px);
  height: calc(100% - -8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-charts-data-group-container {
  padding: calc(var(--ag-widget-container-vertical-padding) * 0.5) var(--ag-widget-container-horizontal-padding);
}
.ag-charts-data-group-container .ag-charts-data-group-item:not(.ag-charts-format-sub-level-group):not(.ag-pill-select):not(.ag-select) {
  height: var(--ag-list-item-height);
}
.ag-charts-data-group-container .ag-charts-data-group-item.ag-picker-field {
  margin-top: var(--ag-grid-size);
}
.ag-charts-data-group-container .ag-list-item-hovered::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  background-color: var(--ag-range-selection-border-color);
}
.ag-charts-data-group-container .ag-item-highlight-top::after {
  top: 0;
}
.ag-charts-data-group-container .ag-item-highlight-bottom::after {
  bottom: 0;
}

.ag-charts-format-top-level-group-container,
.ag-charts-advanced-settings-top-level-group-container {
  margin-left: calc(var(--ag-grid-size) * 2);
  padding: var(--ag-grid-size);
}

.ag-charts-format-top-level-group-item,
.ag-charts-advanced-settings-top-level-group-item {
  margin: var(--ag-grid-size) 0;
}

.ag-charts-format-sub-level-group-container {
  padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);
  padding-bottom: calc(var(--ag-widget-container-vertical-padding) - var(--ag-widget-vertical-spacing));
}
.ag-charts-format-sub-level-group-container > * {
  margin-bottom: var(--ag-widget-vertical-spacing);
}

.ag-charts-settings-group-container {
  padding: var(--ag-grid-size);
  row-gap: 8px;
  display: grid;
  grid-template-columns: 60px 1fr 60px 1fr 60px;
}
.ag-charts-settings-group-container .ag-chart-mini-thumbnail:nth-child(3n+1) {
  grid-column: 1;
}
.ag-charts-settings-group-container .ag-chart-mini-thumbnail:nth-child(3n+2) {
  grid-column: 3;
}
.ag-charts-settings-group-container .ag-chart-mini-thumbnail:nth-child(3n+3) {
  grid-column: 5;
}

.ag-chart-menu-panel {
  background-color: var(--ag-control-panel-background-color);
}
.ag-ltr .ag-chart-menu-panel {
  border-left: solid 1px var(--ag-border-color);
}
.ag-rtl .ag-chart-menu-panel {
  border-right: solid 1px var(--ag-border-color);
}

.ag-date-time-list-page-title-bar {
  display: flex;
}

.ag-date-time-list-page-title {
  flex-grow: 1;
  text-align: center;
}

.ag-date-time-list-page-column-labels-row,
.ag-date-time-list-page-entries-row {
  display: flex;
}

.ag-date-time-list-page-column-label,
.ag-date-time-list-page-entry {
  flex-basis: 0;
  flex-grow: 1;
}

.ag-date-time-list-page-entry {
  cursor: pointer;
  text-align: center;
}

.ag-date-time-list-page-column-label {
  text-align: center;
}

.ag-advanced-filter-header {
  position: relative;
  display: flex;
  align-items: center;
  padding-left: var(--ag-cell-horizontal-padding);
  padding-right: var(--ag-cell-horizontal-padding);
}

.ag-advanced-filter {
  display: flex;
  align-items: center;
  width: 100%;
}

.ag-advanced-filter-apply-button, .ag-advanced-filter-builder-button {
  line-height: normal;
  white-space: nowrap;
}
.ag-ltr .ag-advanced-filter-apply-button, .ag-ltr .ag-advanced-filter-builder-button {
  margin-left: calc(var(--ag-grid-size) * 2);
}
.ag-rtl .ag-advanced-filter-apply-button, .ag-rtl .ag-advanced-filter-builder-button {
  margin-right: calc(var(--ag-grid-size) * 2);
}

.ag-advanced-filter-builder-button {
  display: flex;
  align-items: center;
  border: 0;
  background-color: unset;
  color: var(--ag-foreground-color);
  font-size: var(--ag-font-size);
  font-weight: 600;
}
.ag-advanced-filter-builder-button:hover:not(:disabled) {
  background-color: var(--ag-row-hover-color);
}
.ag-advanced-filter-builder-button:not(:disabled) {
  cursor: pointer;
}

.ag-advanced-filter-builder-button-label {
  margin-left: var(--ag-grid-size);
}

.ag-advanced-filter-builder {
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  width: 100%;
  background-color: var(--ag-control-panel-background-color);
  display: flex;
  flex-direction: column;
}

.ag-advanced-filter-builder-list {
  flex: 1;
  overflow: auto;
}
.ag-advanced-filter-builder-list .ag-list-item-hovered::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  background-color: var(--ag-range-selection-border-color);
}
.ag-advanced-filter-builder-list .ag-item-highlight-top::after {
  top: 0;
}
.ag-advanced-filter-builder-list .ag-item-highlight-bottom::after {
  bottom: 0;
}

.ag-advanced-filter-builder-button-panel {
  display: flex;
  justify-content: flex-end;
  padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);
  border-top: var(--ag-borders-secondary) var(--ag-secondary-border-color);
}

.ag-advanced-filter-builder .ag-advanced-filter-builder-button-panel .ag-advanced-filter-builder-apply-button,
.ag-advanced-filter-builder .ag-advanced-filter-builder-button-panel .ag-advanced-filter-builder-cancel-button {
  margin-left: calc(var(--ag-grid-size) * 2);
}

.ag-advanced-filter-builder-item-wrapper {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: space-between;
  overflow: hidden;
  padding-left: calc(var(--ag-icon-size) / 2);
  padding-right: var(--ag-icon-size);
}

.ag-advanced-filter-builder-item-tree-lines > * {
  width: var(--ag-advanced-filter-builder-indent-size);
}

.ag-advanced-filter-builder-item-tree-lines .ag-advanced-filter-builder-item-tree-line-root {
  width: var(--ag-icon-size);
}
.ag-advanced-filter-builder-item-tree-lines .ag-advanced-filter-builder-item-tree-line-root::before {
  top: 50%;
  height: 50%;
}

.ag-advanced-filter-builder-item-tree-line-horizontal,
.ag-advanced-filter-builder-item-tree-line-vertical,
.ag-advanced-filter-builder-item-tree-line-vertical-top,
.ag-advanced-filter-builder-item-tree-line-vertical-bottom {
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
}
.ag-advanced-filter-builder-item-tree-line-horizontal::before, .ag-advanced-filter-builder-item-tree-line-horizontal::after,
.ag-advanced-filter-builder-item-tree-line-vertical::before,
.ag-advanced-filter-builder-item-tree-line-vertical::after,
.ag-advanced-filter-builder-item-tree-line-vertical-top::before,
.ag-advanced-filter-builder-item-tree-line-vertical-top::after,
.ag-advanced-filter-builder-item-tree-line-vertical-bottom::before,
.ag-advanced-filter-builder-item-tree-line-vertical-bottom::after {
  content: "";
  position: absolute;
  height: 100%;
}

.ag-advanced-filter-builder-item-tree-line-horizontal::after {
  height: 50%;
  width: calc(var(--ag-advanced-filter-builder-indent-size) - var(--ag-icon-size));
  top: 0;
  left: calc(var(--ag-icon-size) / 2);
  border-bottom: 1px solid;
  border-color: var(--ag-border-color);
}

.ag-advanced-filter-builder-item-tree-line-vertical::before {
  width: calc(var(--ag-advanced-filter-builder-indent-size) - var(--ag-icon-size) / 2);
  top: 0;
  left: calc(var(--ag-icon-size) / 2);
  border-left: 1px solid;
  border-color: var(--ag-border-color);
}

.ag-advanced-filter-builder-item-tree-line-vertical-top::before {
  height: 50%;
  width: calc(var(--ag-advanced-filter-builder-indent-size) - var(--ag-icon-size) / 2);
  top: 0;
  left: calc(var(--ag-icon-size) / 2);
  border-left: 1px solid;
  border-color: var(--ag-border-color);
}

.ag-advanced-filter-builder-item-tree-line-vertical-bottom::before {
  height: calc((100% - 1.5 * var(--ag-icon-size)) / 2);
  width: calc(var(--ag-icon-size) / 2);
  top: calc((100% + 1.5 * var(--ag-icon-size)) / 2);
  left: calc(var(--ag-icon-size) / 2);
  border-left: 1px solid;
  border-color: var(--ag-border-color);
}

.ag-advanced-filter-builder-item-condition {
  padding-top: var(--ag-grid-size);
  padding-bottom: var(--ag-grid-size);
}

.ag-advanced-filter-builder-item,
.ag-advanced-filter-builder-item-condition,
.ag-advanced-filter-builder-pill-wrapper,
.ag-advanced-filter-builder-pill,
.ag-advanced-filter-builder-item-buttons,
.ag-advanced-filter-builder-item-tree-lines {
  display: flex;
  align-items: center;
  height: 100%;
}

.ag-advanced-filter-builder-pill-wrapper {
  margin: 0px var(--ag-grid-size);
}

.ag-advanced-filter-builder-pill {
  position: relative;
  border-radius: var(--ag-border-radius);
  padding: var(--ag-grid-size) calc(var(--ag-grid-size) * 2);
  min-height: calc(100% - var(--ag-grid-size) * 3);
  min-width: calc(var(--ag-grid-size) * 2);
}
.ag-advanced-filter-builder-pill .ag-picker-field-display {
  margin-right: var(--ag-grid-size);
}
.ag-advanced-filter-builder-pill .ag-advanced-filter-builder-value-number {
  font-family: monospace;
  font-weight: 700;
}
.ag-advanced-filter-builder-pill .ag-advanced-filter-builder-value-empty {
  color: var(--ag-disabled-foreground-color);
}

.ag-advanced-filter-builder-pill:focus-visible {
  outline: none;
}
.ag-advanced-filter-builder-pill:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: -4px;
  left: -4px;
  display: block;
  width: calc(100% - -8px);
  height: calc(100% - -8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-advanced-filter-builder-item-button:focus-visible {
  outline: none;
}
.ag-advanced-filter-builder-item-button:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: -4px;
  left: -4px;
  display: block;
  width: calc(100% - -8px);
  height: calc(100% - -8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-advanced-filter-builder-pill-display {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 500;
}

.ag-advanced-filter-builder-join-pill {
  color: var(--ag-foreground-color);
  background-color: var(--ag-advanced-filter-join-pill-color);
  cursor: pointer;
}

.ag-advanced-filter-builder-column-pill {
  color: var(--ag-foreground-color);
  background-color: var(--ag-advanced-filter-column-pill-color);
  cursor: pointer;
}

.ag-advanced-filter-builder-option-pill {
  color: var(--ag-foreground-color);
  background-color: var(--ag-advanced-filter-option-pill-color);
  cursor: pointer;
}

.ag-advanced-filter-builder-value-pill {
  color: var(--ag-foreground-color);
  background-color: var(--ag-advanced-filter-value-pill-color);
  cursor: text;
  max-width: 140px;
}
.ag-advanced-filter-builder-value-pill .ag-advanced-filter-builder-pill-display {
  display: block;
}

.ag-advanced-filter-builder-item-buttons > * {
  margin: 0 calc(var(--ag-grid-size) * 0.5);
}

.ag-advanced-filter-builder-item-button {
  position: relative;
  cursor: pointer;
  color: var(--ag-secondary-foreground-color);
  opacity: 50%;
}

.ag-advanced-filter-builder-item-button-disabled {
  color: var(--ag-disabled-foreground-color);
  cursor: default;
}

.ag-advanced-filter-builder-virtual-list-container {
  top: var(--ag-grid-size);
}

.ag-advanced-filter-builder-virtual-list-item {
  display: flex;
  cursor: default;
  height: var(--ag-list-item-height);
}
.ag-advanced-filter-builder-virtual-list-item:hover {
  background-color: var(--ag-row-hover-color);
}
.ag-advanced-filter-builder-virtual-list-item:hover .ag-advanced-filter-builder-item-button {
  opacity: 100%;
}

.ag-advanced-filter-builder-virtual-list-item-highlight .ag-advanced-filter-builder-item-button:focus-visible,
.ag-advanced-filter-builder-validation .ag-advanced-filter-builder-invalid {
  opacity: 100%;
}

.ag-advanced-filter-builder-invalid {
  margin: 0 var(--ag-grid-size);
  color: var(--ag-invalid-color);
  cursor: default;
}

.ag-input-field-input {
  width: 100%;
  min-width: 0;
}

.ag-checkbox-input-wrapper {
  font-family: var(--ag-icon-font-family);
  font-weight: var(--ag-icon-font-weight);
  color: var(--ag-icon-font-color);
  font-size: var(--ag-icon-size);
  line-height: var(--ag-icon-size);
  font-style: normal;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: var(--ag-icon-size);
  height: var(--ag-icon-size);
  background-color: var(--ag-checkbox-background-color);
  border-radius: var(--ag-checkbox-border-radius);
  display: inline-block;
  vertical-align: middle;
  flex: none;
}
.ag-checkbox-input-wrapper input, .ag-checkbox-input-wrapper input {
  -webkit-appearance: none;
  opacity: 0;
  width: 100%;
  height: 100%;
}
.ag-checkbox-input-wrapper:focus-within, .ag-checkbox-input-wrapper:active {
  outline: none;
  box-shadow: var(--ag-input-focus-box-shadow);
}
.ag-checkbox-input-wrapper.ag-disabled {
  opacity: 0.5;
}
.ag-checkbox-input-wrapper::after {
  content: var(--ag-icon-font-code-checkbox-unchecked, "\f108");
  color: var(--ag-checkbox-unchecked-color);
  display: var(--ag-icon-font-display-checkbox-unchecked, var(--ag-icon-font-display));
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}
.ag-checkbox-input-wrapper.ag-checked::after {
  content: var(--ag-icon-font-code-checkbox-checked, "\f106");
  color: var(--ag-checkbox-checked-color);
  display: var(--ag-icon-font-display-checkbox-checked, var(--ag-icon-font-display));
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}
.ag-checkbox-input-wrapper.ag-indeterminate::after {
  content: var(--ag-icon-font-code-checkbox-indeterminate, "\f107");
  color: var(--ag-checkbox-indeterminate-color);
  display: var(--ag-icon-font-display-checkbox-indeterminate, var(--ag-icon-font-display));
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}
.ag-checkbox-input-wrapper::before {
  content: "";
  background: transparent center/contain no-repeat;
  position: absolute;
  inset: 0;
  background-image: var(--ag-icon-image-checkbox-unchecked, var(--ag-icon-image));
  display: var(--ag-icon-image-display-checkbox-unchecked, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-checkbox-unchecked, var(--ag-icon-image-opacity, 0.9));
}
.ag-checkbox-input-wrapper.ag-checked::before {
  background-image: var(--ag-icon-image-checkbox-checked, var(--ag-icon-image));
  display: var(--ag-icon-image-display-checkbox-checked, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-checkbox-checked, var(--ag-icon-image-opacity, 0.9));
}
.ag-checkbox-input-wrapper.ag-indeterminate::before {
  background-image: var(--ag-icon-image-checkbox-indeterminate, var(--ag-icon-image));
  display: var(--ag-icon-image-display-checkbox-indeterminate, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-checkbox-indeterminate, var(--ag-icon-image-opacity, 0.9));
}

.ag-toggle-button-input-wrapper {
  box-sizing: border-box;
  width: var(--ag-toggle-button-width);
  min-width: var(--ag-toggle-button-width);
  max-width: var(--ag-toggle-button-width);
  height: var(--ag-toggle-button-height);
  background-color: var(--ag-toggle-button-off-background-color);
  border-radius: calc(var(--ag-toggle-button-height) * 0.5);
  position: relative;
  flex: none;
  border: var(--ag-toggle-button-border-width) solid;
  border-color: var(--ag-toggle-button-off-border-color);
}
.ag-toggle-button-input-wrapper input {
  opacity: 0;
  height: 100%;
  width: 100%;
}
.ag-toggle-button-input-wrapper:focus-within {
  outline: none;
  box-shadow: var(--ag-input-focus-box-shadow);
}
.ag-toggle-button-input-wrapper.ag-disabled {
  opacity: 0.5;
}
.ag-toggle-button-input-wrapper.ag-checked {
  background-color: var(--ag-toggle-button-on-background-color);
  border-color: var(--ag-toggle-button-on-border-color);
}
.ag-toggle-button-input-wrapper::before {
  content: " ";
  position: absolute;
  top: calc(0px - var(--ag-toggle-button-border-width));
  left: calc(0px - var(--ag-toggle-button-border-width));
  display: block;
  box-sizing: border-box;
  height: var(--ag-toggle-button-height);
  width: var(--ag-toggle-button-height);
  background-color: var(--ag-toggle-button-switch-background-color);
  border-radius: 100%;
  transition: left 100ms;
  border: var(--ag-toggle-button-border-width) solid;
  border-color: var(--ag-toggle-button-switch-border-color);
}
.ag-toggle-button-input-wrapper.ag-checked::before {
  left: calc(100% - var(--ag-toggle-button-height) + var(--ag-toggle-button-border-width));
  border-color: var(--ag-toggle-button-on-border-color);
}

.ag-radio-button-input-wrapper {
  font-family: var(--ag-icon-font-family);
  font-weight: var(--ag-icon-font-weight);
  color: var(--ag-icon-font-color);
  font-size: var(--ag-icon-size);
  line-height: var(--ag-icon-size);
  font-style: normal;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: var(--ag-icon-size);
  height: var(--ag-icon-size);
  background-color: var(--ag-checkbox-background-color);
  border-radius: var(--ag-checkbox-border-radius);
  display: inline-block;
  vertical-align: middle;
  flex: none;
  border-radius: var(--ag-icon-size);
}
.ag-radio-button-input-wrapper input, .ag-radio-button-input-wrapper input {
  -webkit-appearance: none;
  opacity: 0;
  width: 100%;
  height: 100%;
}
.ag-radio-button-input-wrapper:focus-within, .ag-radio-button-input-wrapper:active {
  outline: none;
  box-shadow: var(--ag-input-focus-box-shadow);
}
.ag-radio-button-input-wrapper.ag-disabled {
  opacity: 0.5;
}
.ag-radio-button-input-wrapper::after {
  content: var(--ag-icon-font-code-radio-button-off, "\f127");
  color: var(--ag-checkbox-unchecked-color);
  display: var(--ag-icon-font-display-radio-button-off, var(--ag-icon-font-display));
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}
.ag-radio-button-input-wrapper.ag-checked::after {
  content: var(--ag-icon-font-code-radio-button-on, "\f128");
  color: var(--ag-checkbox-checked-color);
  display: var(--ag-icon-font-display-radio-button-on, var(--ag-icon-font-display));
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}
.ag-radio-button-input-wrapper::before {
  content: "";
  background: transparent center/contain no-repeat;
  position: absolute;
  inset: 0;
  background-image: var(--ag-icon-image-radio-button-off, var(--ag-icon-image));
  display: var(--ag-icon-image-display-radio-button-off, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-radio-button-off, var(--ag-icon-image-opacity, 0.9));
}
.ag-radio-button-input-wrapper.ag-checked::before {
  background-image: var(--ag-icon-image-radio-button-on, var(--ag-icon-image));
  display: var(--ag-icon-image-display-radio-button-on, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-radio-button-on, var(--ag-icon-image-opacity, 0.9));
}

input[class^=ag-][type=range] {
  -webkit-appearance: none;
  width: 100%;
  height: 100%;
  background: none;
  overflow: visible;
}
input[class^=ag-][type=range]::-webkit-slider-runnable-track {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 3px;
  background-color: var(--ag-border-color);
  border-radius: var(--ag-border-radius);
  border-radius: var(--ag-checkbox-border-radius);
}
input[class^=ag-][type=range]::-moz-range-track {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 3px;
  background-color: var(--ag-border-color);
  border-radius: var(--ag-border-radius);
  border-radius: var(--ag-checkbox-border-radius);
}
input[class^=ag-][type=range]::-ms-track {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 3px;
  background-color: var(--ag-border-color);
  border-radius: var(--ag-border-radius);
  border-radius: var(--ag-checkbox-border-radius);
  color: transparent;
  width: calc(100% - 2px);
}
input[class^=ag-][type=range]::-webkit-slider-thumb {
  margin: 0;
  padding: 0;
  -webkit-appearance: none;
  width: var(--ag-icon-size);
  height: var(--ag-icon-size);
  background-color: var(--ag-background-color);
  border: 1px solid;
  border-color: var(--ag-checkbox-unchecked-color);
  border-radius: var(--ag-icon-size);
  transform: translateY(calc(var(--ag-icon-size) * -0.5 + 1.5px));
}
input[class^=ag-][type=range]::-ms-thumb {
  margin: 0;
  padding: 0;
  -webkit-appearance: none;
  width: var(--ag-icon-size);
  height: var(--ag-icon-size);
  background-color: var(--ag-background-color);
  border: 1px solid;
  border-color: var(--ag-checkbox-unchecked-color);
  border-radius: var(--ag-icon-size);
}
input[class^=ag-][type=range]::-moz-ag-range-thumb {
  margin: 0;
  padding: 0;
  -webkit-appearance: none;
  width: var(--ag-icon-size);
  height: var(--ag-icon-size);
  background-color: var(--ag-background-color);
  border: 1px solid;
  border-color: var(--ag-checkbox-unchecked-color);
  border-radius: var(--ag-icon-size);
}
input[class^=ag-][type=range]:focus {
  outline: none;
}
input[class^=ag-][type=range]:focus::-webkit-slider-thumb {
  box-shadow: var(--ag-input-focus-box-shadow);
  border-color: var(--ag-checkbox-checked-color);
}
input[class^=ag-][type=range]:focus::-ms-thumb {
  box-shadow: var(--ag-input-focus-box-shadow);
  border-color: var(--ag-checkbox-checked-color);
}
input[class^=ag-][type=range]:focus::-moz-ag-range-thumb {
  box-shadow: var(--ag-input-focus-box-shadow);
  border-color: var(--ag-checkbox-checked-color);
}
input[class^=ag-][type=range]:active::-webkit-slider-runnable-track {
  background-color: var(--ag-input-focus-border-color);
}
input[class^=ag-][type=range]:active::-moz-ag-range-track {
  background-color: var(--ag-input-focus-border-color);
}
input[class^=ag-][type=range]:active::-ms-track {
  background-color: var(--ag-input-focus-border-color);
}
input[class^=ag-][type=range]:disabled {
  opacity: 0.5;
}
@font-face {
  font-family: "agGridAlpine";
  src: url(data:font/woff2;charset=utf-8;base64,d09GMgABAAAAABMUAAsAAAAAKMwAABLCAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHIlWBmAAi34KqmyjKwE2AiQDgkALgSIABCAFhEYHhUEbnyMzg/aatGqziOpJNvu/JGhLhnjjdVVKiQVRRpQIMYb+arBrcnXzpDWxiZ/03+6d7uYA0kgNGvfxjeHHsZxySFI0efhYa+/v7iGeriQ0iXmiiXjIROjWyEwnREJiiNL8r7ned9lNjoj/UviIZqqAwagvZXWN7vQH2uY/PCuxGixE3Zco9c7GTcI4jGiM5Ixl6zZYJOu4deqq/4JF6qJ74B9A4MjcdjWnBf6vzeoX1p0qiEwH0j3ielqTJCVtAmTUucAVrqMqJHm7J9HDZROQwmB/an6zL7XMHhb7kozZWv+/7xgEJkGCJ4SvEGy5v2EaHaSESvAJKgL+b+1f7X9BlMATAqHj4/Ts7Pz/9965+zA0mU+02dBmQ5sfphJYIEX8Xjanfa8cAFStrQKWdRW+vpqEqbN1cToVOJ6CtsfmMoLfUD/X9o81JEiwSx5ix9/Y/D1YFRZgNHb89HY+AigxopP6BiQ4BLYXmusgA7t/bICvlWN7o7wQXGc5eKRfcJ1eti2g4qav/kYgjmNd0tLkOJ2Z/s9UagziUjLg4EUfjozhKEJQaXQSBRvG1xhMyJishB+RIifj9w6SMEZ1KBbXsdcUQmxLtN9Y2RPEjbehOT882Zbg6JXTtclU1IKAeRSMqKLcjrgNk40wT889wmXtgNBtcVthsjULZ4tB2WK6N7J190VFqlzEbaj5YYFjdj8VOa0t8WaELTaNWbZ2zJ36dM0BpxvCVJZlmP07Ku01wgZhT+xoxJdg3JpQhms8MU4R0KC64anv+rx2E9QmUFl/ortRSm2LPVbXu/6mNu5MGHAN4b2DK64KlaiuEGXqwIjTcKY+GVvvXXv07MWrT/8ARxGnhMUgqnrxK5p1WI/vEslM7FNW4qVzW4pQxmZGfTcfLa5FzMYh1DDHeHmEBYawVuhveThz4/Z2dCZM6QPZepCtu0Awgr9fxzGZfEA7NUeBnvZPglAHxmEeGS0TuaKyQz0dlSU+5CaqdHjGJPZMGbqSalOhn8ZkfcgmGZmvf+NtZ3kuxJoanXfBFT1apf/pNpfg7r5/jDDbG8TMmArFxZdY2RunTLjo7A1bhEgOKxy/44qp4TPcaX8TBaqr5I03XL2wOnWsmcJR+qYaVC4sUcTEa3fttqtEtmJTFzkEkKOHEg0IW2xbu847njOcPMS1HEguk4O4evv+401DJCAhp+5PaGo1rgT+qPli3jGfRZOPcxsxeZA4fApUAxlI8uONUTX04VdDPKlrg/1DGRcJ1vfKR7+/mgs1Hnnj81f8qLjXwfcQzmm4Aq0wK9YeoM575jiqJZvSu0mGAXtHYlg7unCQIJhMGY7Vxc3Dy8cvICgkLCIabTAhKSXtT4BZOXkFRSVlFVU1dQ1NLW0dXT19A0MlI2MTSMjUzNwViAL3M3lQqcZ+K0F0pgsVlj2jUW27//+7xP6ErY9y4JcBemZdmAFqntggsMAagUXWDyyxbmCZDQErrAVYZRPAGmsC1lkvsMHagC3WB2yzHmCHDQO7rAPYY+3APhsFDlkzcMS6gGPWCpywEeCUjQNnrBM4ZwPABRsDLkdPgi8AvREIIQhCMIQQCKEQwiCEQ4iAEAkhCkI0hBgIsRDiIMRDSICQCCEJQjKEFAipENIgpEPIgJAJIQtCNoQcCLkQ8iDkQyiAUAihCEIxhBIIpRDKIJRDqIBQCaEKQjWEGgi1EOog1LM3nQboL40QmiA0m0QKvha7bbRCebRBaIfQAWjE1KT6Mbe4oaAEFD15V8c1Npu8CiuJ+AgmZ+ibQWlcWmSAxALcWmEZSyAXGzLeJkSCSHP7vut0TVNSh01dwfysllW0nFagpJbIKHpGxmNm9hthJGqxHh2r9a1LpXoZteJbRCtpSsJSTEsukVAcjaubhmElaof2qUe+BlVN1Giq1mAaAZwEyNjKPVCn9M/ombCZRJqctqcDmwMD6YIbHZTN5WLZAkbni25GeSMT81p3zBduRVryQiIyK7q2F9KY/XxW7heJar+AV/4A237mtCB4kYk89YiCOQFcIhL20uGLC5C//SXJRK8vo5pgx6uNrmAl9nqbrUmU8rR0zekKrHF/ZrbTLBjbkj1RfwZ8jD6jIGTXaC+ppjqxRFrkNJGP9hy7FDGeHl4FhagGY/X+NWKIFlCDQdymq8aSUjqFqWvzkiu8bbxidd5BC5FI3fF2jDbWGGyHuZOQtm5/x4kTONSe2rVrHwpWnb9Nov1nwZZwm7XrFA63gb0no9N9tm+PtjL/zA0c+m27WJbiO3duJdFGFKiPWcdOnQvOn15mzcmdkfJv2xWeAFu3msOOmlv/ywgmtudQ7OBWH57bsiXY22Zxy0oiunOJu23/6avmojw/8UbZj+OwUkFBDKcnL4LlKINqlUTcrvDGGf/szej2+eDcraXhh5YpEnwqsZbt+05dyXoFKq+nwn92ShXNCF6yaHCcROsbmMjVyCpwAIykbGupvSPhMYsX7aOP4HADCurdUp6yJYUFrFqsL8zM7IV47ry5hRjHlQq3cper7EY8sVz1JEovtIkocwPG87er0DaWVUVFTeGaqMp0HFOhdHeVMhkVV0tzq8tXBfsy//f1KNCUo9RSBsUQa7goUOYSCQuMCJP3Zbl1eg901ANJ1JRAwAFWOYEiMGh9B6P5mSBGbmFdFGynyI2W4PF7ElIWwub1lx8hNmUO1YOBRJcelh+8wWAXdQFOYZnMheiyn3mxR0fGUhmEAcuc0OnNoWUCwy9APEPC6JLB3qh3kZxqcakMAz8X5/svbeB0nmCM8gVMTMCsHehWTxx6nn2v4oSV+aW7ZfBDrePhfZfDN33xNOiUOjI9Wu+fCE8FpxclVQIGIiWe206+Due/uv6F2Dfh9JzjOWfkmZE3plNza8PBsWdmDuV0/pIj2R1mA3029clIJ3d6wO7BvYW5lWx1PN6He1fL5X6/NO6J46m/dV+rVPr/2rK/Wp3xZ1dSKYvrnwdUl/rm3o/ThqFSdj1Ba/Tqqdhcb67xvOzTGc/HnB6w3B9EEI8HEiTC8ENfShDpAdJ/36fp3UfwVDATzzCQDf0hai8P8iAP1iG7MWwHe49R29iVpyW9Jvtm//FoVsNrHYxLzl1zj65MQXIJUXDHTCplOz0lt6XklEpsrSs6PLMb6BSjDSNiDdgbT82/rqLjG1PMyGr2IobBMyLY+X4EAyY1FNd7H4onDuKwRiWMHcCARyf3nsBnvo5KE1xM9KRgXZq0hw+FgIGlhoMR4oeQzvBT8Dn66H9YSWzWsLV9s7jHRfgE/EbI/8Ej2I93AzqCDlA9AK8XIc7u5PFcBFOLkAMDS9PTM9JhLmbk04cZURi0w2qd7hf+66VugwSKgGdMv7JAkMfj5QkKnobP8+fxCgRPHXzPW9Q/37AIkv38NMC12IJgEeQP4ifR2kq0EcCfpzP1CB70OLWDwR7ww/Gmm9rbS6VnTq9ZI5UFe9OZQQ1B3ukO03qi/5bXB+aH18eWL1cXFenpRYSf8ZmdOX1ma8SmTTNeK5xpEAc0Z/zNDGBd/alkK3erypElW5WytjZwbAoWVH/+gx9HCEzk8AgdaGJcPKJKuUADupgGNFpHE9PBedUXxBdgmJuRGR2dKetggTA4nAwcEfAGX5aXttT3xW6n+Jf7h/qX+fPke2vc5J1XXf9vbZ9CuW4cEGl9l1K//Kb5TPdBO+vy0J/LYu1pJ1sQW8cwP6rJUouO8Ga2leNOlteBUq/0dOduyyXbLJ2d7B3cLc+PUM1mWHZWNLwxt0mjWi53/MJbCSF2Tx2oKv02+2UWlSLZEw+qhUnWumgHh9WnqYvDZgQeYJBOgWDfYdYqMTVw4gw51S2w2pfrxLoUYmy6jKqEzebc7sO8W6mXh6IiGWxFKEtRln4KVtmHhyrYaGRhe26Tf7YX2+mU4QwUoWw/9+WJLucWczXnuPs13MX7EYp/m7xNhgMG5WFjfnJSewnFh4FjMzKGtkvD3L7BMxntY6pm1IxxwKxsaN/CMrHMpdfwk8ZWo8xtJNKa1PbD86kznOycuOndaR3cSQbGVl5WVGgg+ZUTvO++r47jqoukWKwIyE/TxDR1uskZgbyYnOOXyNIcVnUaaGKbOlzlImGitKTA+GJMSqhzZEFRLy8hOYG+fimXmcBgxDO5pkb5bexUo6AYZ4vFUhE9yymyUKBtBiBO4uEPv+XJmZWmgiLnyPjrip65yps6NTGb8zyI4WYOucqFEzWBqfHwSSm4Bt6OItctPkBmdBu2NRm9W6u/W3znLnzlHDls3FCbwPlhfASHOb0+gZIqjMAOqPgDsVDnDCKsDIooUQHKJzEWptpNYETVo8QPFQtuacUEmOqHGXb71sLHHTli235ZDtXjl063vvdgfVcWhZXDdJcddK1cK8zn8/MawweElsPRd7jQ1zNkuKx1za4W4gLD9MxX5gEXCUcy2ffr1zJhoDJdWWY4R8LZmZjNabLmXvN8MuyroYrDbrStLeMBhRIVRaE8MBqy/fTKvF/oPrCuCZWoklBi8rNRJaC78aN5225GCoBjavCGP+/x1wv48Mz9Y3fy5FzmBH27rG6nemh5dpCEmZjIlARlC8vpKwYHXejlEltICf1KQei46i3X/yT9ObmVBjSNTAk0EG8ziT6JBl9+zrsEDU4sJ3BIIubMMXYRyaadUeuqigpmrwtHPW67uyfufhofX15ioO/kI5Kfrurv//9/8tnMUbN2EF80mtxGqqmzc0uxg1GTzfz+pnlmj286fhoaglDb9Q2xDEasEeJmx4j8hQa2B8R5BTt+CfnvDd4Ze7Opxu++XbSxorK9P3btt1xI4ngqTk5uCGDExwUqmyeT5iuEk4s+chzm3jDhuccbqbo7D8FofaIH/c5JbNGHvE4MO9il6qTE/mh3vW3C2aqew6oGcXcPbP60YUXV6//8adz8urIcvwzfqVN9M/xyLoZPeurU+4lz/C565DcsHl+bw8vkcDJ5OXfF9fyZnBzeXcfqMPwutjE6unEyOVOT+X8u5kc+jZ4xUeuXsvKJUAvPdIOnmFvGNmyb4B3KQuGZ2lLqemDsRLRBliB5lnsm8Ti6Spdv36KjRUIPj6goIKOUeUr4tHlcZtT8VqqGEycmUYwZL1Z9UYQWhgvnzK8JWJOTmmosru7rXSCuiBROt9PwvhU9rFB44o15uQkJWi17334wH3JVYwu1Gd7cvBDT8tnEsljHw4eG0DaKtfuJw3C/f5mMzPX7wbsMnxaIVr7vW6OIb8Djd+9D9+3B4xoUcdo+ZzQgLglliur21l6/uv3Y/t3DEY1f0+sUEaBIwvEHKEDV86+/PX/hvdTfI8H/fqEb8m4cgE20TZ1+lAcpS6tpR0rACZbtRdvoIL3IEWc22wH0G6lD3qJHLUPupbURVMZxp6VZQd1qGPjt791g2KxXZdkyeqdw1T/kYxszbYM3jeNchQ3ulriPeY5Y12m2mjIbFdIFzhZvIlqZh5Eg1TAA0dPwvg+C0AqvZmsQ27zdGORuyWvX6jzLUXOUVJC/L7O75APlycErPsjuSM39f5PI/wGg5sSf93y0cf9U14K0beNCvem/gM1t/pdv/YhgcZT0X4L81ycKtSDt2zC32xwwPgjgI0h12mmkkIA0tAQ1Jwkgc7cOEkrnAUwFAmOYBjpMB+zhRsOnE6hTSwakJABBvd4dkyAJO0B+dNaCAp0PMxUsN0GDzm8ZBh7Kb0ZgeDQva7gn9uYmJE/wG1wJiu2boG/zHzj7SM1ld+F2ek9AwErANP2iyaO7ErGN5YjNY6R1QiHEJnH8Ai3dIJKup1OLz7jTEVcU5wnzjBtB4hHwG5xeuSJQWGCrkP4PjpDhhxaRxqXOhWDiSVCRBwgEjUZvoUazkXNFiLYa2WMRcvWYqhCEQCDeVfL2vgCNTWeI4SXXpmR3VtR0dCpyLiujaovvj5+KtUgji1wURGEURfHfW2t7xN78uHdWCaIkK6qmG6ZlO67nB2EUJ2mWF2VVN23XD+M0L+u2H+d1P+/3c+PWnXsPHj159uLVm3cfPv3w06+1E4djcEp8pIkajrO8rrae6CANodanYjnsMOjvPs5bVgvm3PY5ngwIMHpSAsduswsJRXd1h8ht8qbuvHEFC1Le1k3CSguYSnda1Hpizut6j+v6lcpk1jV8WTubnUkq9YJmC35oc1B5WOf1E1shw7y1Lc5SufGpPvWxpMrXEQTTyiQU5XykG6GV8eQ2MeYe/RIqTCqbJZWWI6WcS0VNsEMtrQohzsDUKYUjhPVUVKcao2ymgdHHkg85oe8mtn0RidRGaw9spajmcoNUOUbYzvdjUWvijHRRJNoBOwxt3qwSgzTM8xwLA7Sk2rIvHxPQZnnqEqjSVXLtxxs3a2EV10pDp0j97k5eVRwGhBeRmUwLBt96c+0fKpKFkbVcKwAA);
  font-weight: normal;
  font-style: normal;
}
.ag-theme-alpine, .ag-theme-alpine-dark, .ag-theme-alpine-auto-dark {
  --ag-alpine-active-color: #2196f3;
  --ag-selected-row-background-color: rgba(33, 150, 243, 0.3);
  --ag-row-hover-color: rgba(33, 150, 243, 0.1);
  --ag-column-hover-color: rgba(33, 150, 243, 0.1);
  --ag-input-focus-border-color: rgba(33, 150, 243, 0.4);
  --ag-range-selection-background-color: rgba(33, 150, 243, 0.2);
  --ag-range-selection-background-color-2: rgba(33, 150, 243, 0.36);
  --ag-range-selection-background-color-3: rgba(33, 150, 243, 0.49);
  --ag-range-selection-background-color-4: rgba(33, 150, 243, 0.59);
  --ag-background-color: #fff;
  --ag-foreground-color: #181d1f;
  --ag-border-color: #babfc7;
  --ag-secondary-border-color: #dde2eb;
  --ag-header-background-color: #f8f8f8;
  --ag-tooltip-background-color: #f8f8f8;
  --ag-odd-row-background-color: #fcfcfc;
  --ag-control-panel-background-color: #f8f8f8;
  --ag-subheader-background-color: #fff;
  --ag-invalid-color: #e02525;
  --ag-checkbox-unchecked-color: #999;
  --ag-advanced-filter-join-pill-color: #f08e8d;
  --ag-advanced-filter-column-pill-color: #a6e194;
  --ag-advanced-filter-option-pill-color: #f3c08b;
  --ag-advanced-filter-value-pill-color: #85c0e4;
  --ag-checkbox-background-color: var(--ag-background-color);
  --ag-checkbox-checked-color: var(--ag-alpine-active-color);
  --ag-range-selection-border-color: var(--ag-alpine-active-color);
  --ag-secondary-foreground-color: var(--ag-foreground-color);
  --ag-input-border-color: var(--ag-border-color);
  --ag-input-border-color-invalid: var(--ag-invalid-color);
  --ag-input-focus-box-shadow: 0 0 2px 0.1rem var(--ag-input-focus-border-color);
  --ag-panel-background-color: var(--ag-header-background-color);
  --ag-menu-background-color: var(--ag-header-background-color);
  --ag-disabled-foreground-color: rgba(24, 29, 31, 0.5);
  --ag-chip-background-color: rgba(24, 29, 31, 0.07);
  --ag-input-disabled-border-color: rgba(186, 191, 199, 0.3);
  --ag-input-disabled-background-color: rgba(186, 191, 199, 0.15);
  --ag-borders: solid 1px;
  --ag-border-radius: 3px;
  --ag-borders-side-button: none;
  --ag-side-button-selected-background-color: transparent;
  --ag-header-column-resize-handle-display: block;
  --ag-header-column-resize-handle-width: 2px;
  --ag-header-column-resize-handle-height: 30%;
  --ag-grid-size: 6px;
  --ag-icon-size: 16px;
  --ag-row-height: calc(var(--ag-grid-size) * 7);
  --ag-header-height: calc(var(--ag-grid-size) * 8);
  --ag-list-item-height: calc(var(--ag-grid-size) * 4);
  --ag-column-select-indent-size: var(--ag-icon-size);
  --ag-set-filter-indent-size: var(--ag-icon-size);
  --ag-advanced-filter-builder-indent-size: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);
  --ag-cell-horizontal-padding: calc(var(--ag-grid-size) * 3);
  --ag-cell-widget-spacing: calc(var(--ag-grid-size) * 2);
  --ag-widget-container-vertical-padding: calc(var(--ag-grid-size) * 2);
  --ag-widget-container-horizontal-padding: calc(var(--ag-grid-size) * 2);
  --ag-widget-vertical-spacing: calc(var(--ag-grid-size) * 1.5);
  --ag-toggle-button-height: 18px;
  --ag-toggle-button-width: 28px;
  --ag-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  --ag-font-size: 13px;
  --ag-icon-font-family: agGridAlpine;
  --ag-selected-tab-underline-color: var(--ag-alpine-active-color);
  --ag-selected-tab-underline-width: 2px;
  --ag-selected-tab-underline-transition-speed: 0.3s;
  --ag-tab-min-width: 240px;
  --ag-card-shadow: 0 1px 4px 1px rgba(186, 191, 199, 0.4);
  --ag-popup-shadow: var(--ag-card-shadow);
  --ag-side-bar-panel-width: 250px;
}

.ag-theme-alpine-dark {
  --ag-background-color: #181d1f;
  --ag-foreground-color: #fff;
  --ag-border-color: #68686e;
  --ag-secondary-border-color: rgba(88, 86, 82, 0.5);
  --ag-modal-overlay-background-color: rgba(24, 29, 31, 0.66);
  --ag-header-background-color: #222628;
  --ag-tooltip-background-color: #222628;
  --ag-odd-row-background-color: #222628;
  --ag-control-panel-background-color: #222628;
  --ag-subheader-background-color: #000;
  --ag-input-disabled-background-color: #282c2f;
  --ag-input-focus-box-shadow:
      0 0 2px 0.5px rgba(255, 255, 255, 0.5),
      0 0 4px 3px var(--ag-input-focus-border-color);
  --ag-card-shadow: 0 1px 20px 1px black;
  --ag-disabled-foreground-color: rgba(255, 255, 255, 0.5);
  --ag-chip-background-color: rgba(255, 255, 255, 0.07);
  --ag-input-disabled-border-color: rgba(104, 104, 110, 0.3);
  --ag-input-disabled-background-color: rgba(104, 104, 110, 0.07);
  --ag-advanced-filter-join-pill-color: #7a3a37;
  --ag-advanced-filter-column-pill-color: #355f2d;
  --ag-advanced-filter-option-pill-color: #5a3168;
  --ag-advanced-filter-value-pill-color: #374c86;
  --ag-row-loading-skeleton-effect-color: rgba(202, 203, 204, 0.4);
  color-scheme: dark;
}

@media (prefers-color-scheme: dark) {
  .ag-theme-alpine-auto-dark {
    --ag-background-color: #181d1f;
    --ag-foreground-color: #fff;
    --ag-border-color: #68686e;
    --ag-secondary-border-color: rgba(88, 86, 82, 0.5);
    --ag-modal-overlay-background-color: rgba(24, 29, 31, 0.66);
    --ag-header-background-color: #222628;
    --ag-tooltip-background-color: #222628;
    --ag-odd-row-background-color: #222628;
    --ag-control-panel-background-color: #222628;
    --ag-subheader-background-color: #000;
    --ag-input-disabled-background-color: #282c2f;
    --ag-input-focus-box-shadow:
        0 0 2px 0.5px rgba(255, 255, 255, 0.5),
        0 0 4px 3px var(--ag-input-focus-border-color);
    --ag-card-shadow: 0 1px 20px 1px black;
    --ag-disabled-foreground-color: rgba(255, 255, 255, 0.5);
    --ag-chip-background-color: rgba(255, 255, 255, 0.07);
    --ag-input-disabled-border-color: rgba(104, 104, 110, 0.3);
    --ag-input-disabled-background-color: rgba(104, 104, 110, 0.07);
    --ag-advanced-filter-join-pill-color: #7a3a37;
    --ag-advanced-filter-column-pill-color: #355f2d;
    --ag-advanced-filter-option-pill-color: #5a3168;
    --ag-advanced-filter-value-pill-color: #374c86;
    --ag-row-loading-skeleton-effect-color: rgba(202, 203, 204, 0.4);
    color-scheme: dark;
  }
}
.ag-theme-alpine .ag-filter-toolpanel-header,
.ag-theme-alpine .ag-filter-toolpanel-search,
.ag-theme-alpine .ag-status-bar,
.ag-theme-alpine .ag-header-row,
.ag-theme-alpine .ag-panel-title-bar-title,
.ag-theme-alpine .ag-multi-filter-group-title-bar, .ag-theme-alpine-dark .ag-filter-toolpanel-header,
.ag-theme-alpine-dark .ag-filter-toolpanel-search,
.ag-theme-alpine-dark .ag-status-bar,
.ag-theme-alpine-dark .ag-header-row,
.ag-theme-alpine-dark .ag-panel-title-bar-title,
.ag-theme-alpine-dark .ag-multi-filter-group-title-bar, .ag-theme-alpine-auto-dark .ag-filter-toolpanel-header,
.ag-theme-alpine-auto-dark .ag-filter-toolpanel-search,
.ag-theme-alpine-auto-dark .ag-status-bar,
.ag-theme-alpine-auto-dark .ag-header-row,
.ag-theme-alpine-auto-dark .ag-panel-title-bar-title,
.ag-theme-alpine-auto-dark .ag-multi-filter-group-title-bar {
  font-weight: 700;
  color: var(--ag-header-foreground-color);
}
.ag-theme-alpine .ag-row, .ag-theme-alpine-dark .ag-row, .ag-theme-alpine-auto-dark .ag-row {
  font-size: calc(var(--ag-font-size) + 1px);
}
.ag-theme-alpine input[class^=ag-]:not([type]),
.ag-theme-alpine input[class^=ag-][type=text],
.ag-theme-alpine input[class^=ag-][type=number],
.ag-theme-alpine input[class^=ag-][type=tel],
.ag-theme-alpine input[class^=ag-][type=date],
.ag-theme-alpine input[class^=ag-][type=datetime-local],
.ag-theme-alpine textarea[class^=ag-], .ag-theme-alpine-dark input[class^=ag-]:not([type]),
.ag-theme-alpine-dark input[class^=ag-][type=text],
.ag-theme-alpine-dark input[class^=ag-][type=number],
.ag-theme-alpine-dark input[class^=ag-][type=tel],
.ag-theme-alpine-dark input[class^=ag-][type=date],
.ag-theme-alpine-dark input[class^=ag-][type=datetime-local],
.ag-theme-alpine-dark textarea[class^=ag-], .ag-theme-alpine-auto-dark input[class^=ag-]:not([type]),
.ag-theme-alpine-auto-dark input[class^=ag-][type=text],
.ag-theme-alpine-auto-dark input[class^=ag-][type=number],
.ag-theme-alpine-auto-dark input[class^=ag-][type=tel],
.ag-theme-alpine-auto-dark input[class^=ag-][type=date],
.ag-theme-alpine-auto-dark input[class^=ag-][type=datetime-local],
.ag-theme-alpine-auto-dark textarea[class^=ag-] {
  min-height: calc(var(--ag-grid-size) * 4);
  border-radius: var(--ag-border-radius);
}
.ag-theme-alpine .ag-ltr input[class^=ag-]:not([type]), .ag-theme-alpine .ag-ltr input[class^=ag-][type=text], .ag-theme-alpine .ag-ltr input[class^=ag-][type=number], .ag-theme-alpine .ag-ltr input[class^=ag-][type=tel], .ag-theme-alpine .ag-ltr input[class^=ag-][type=date], .ag-theme-alpine .ag-ltr input[class^=ag-][type=datetime-local], .ag-theme-alpine .ag-ltr textarea[class^=ag-], .ag-theme-alpine-dark .ag-ltr input[class^=ag-]:not([type]), .ag-theme-alpine-dark .ag-ltr input[class^=ag-][type=text], .ag-theme-alpine-dark .ag-ltr input[class^=ag-][type=number], .ag-theme-alpine-dark .ag-ltr input[class^=ag-][type=tel], .ag-theme-alpine-dark .ag-ltr input[class^=ag-][type=date], .ag-theme-alpine-dark .ag-ltr input[class^=ag-][type=datetime-local], .ag-theme-alpine-dark .ag-ltr textarea[class^=ag-], .ag-theme-alpine-auto-dark .ag-ltr input[class^=ag-]:not([type]), .ag-theme-alpine-auto-dark .ag-ltr input[class^=ag-][type=text], .ag-theme-alpine-auto-dark .ag-ltr input[class^=ag-][type=number], .ag-theme-alpine-auto-dark .ag-ltr input[class^=ag-][type=tel], .ag-theme-alpine-auto-dark .ag-ltr input[class^=ag-][type=date], .ag-theme-alpine-auto-dark .ag-ltr input[class^=ag-][type=datetime-local], .ag-theme-alpine-auto-dark .ag-ltr textarea[class^=ag-] {
  padding-left: var(--ag-grid-size);
}

.ag-theme-alpine .ag-rtl input[class^=ag-]:not([type]), .ag-theme-alpine .ag-rtl input[class^=ag-][type=text], .ag-theme-alpine .ag-rtl input[class^=ag-][type=number], .ag-theme-alpine .ag-rtl input[class^=ag-][type=tel], .ag-theme-alpine .ag-rtl input[class^=ag-][type=date], .ag-theme-alpine .ag-rtl input[class^=ag-][type=datetime-local], .ag-theme-alpine .ag-rtl textarea[class^=ag-], .ag-theme-alpine-dark .ag-rtl input[class^=ag-]:not([type]), .ag-theme-alpine-dark .ag-rtl input[class^=ag-][type=text], .ag-theme-alpine-dark .ag-rtl input[class^=ag-][type=number], .ag-theme-alpine-dark .ag-rtl input[class^=ag-][type=tel], .ag-theme-alpine-dark .ag-rtl input[class^=ag-][type=date], .ag-theme-alpine-dark .ag-rtl input[class^=ag-][type=datetime-local], .ag-theme-alpine-dark .ag-rtl textarea[class^=ag-], .ag-theme-alpine-auto-dark .ag-rtl input[class^=ag-]:not([type]), .ag-theme-alpine-auto-dark .ag-rtl input[class^=ag-][type=text], .ag-theme-alpine-auto-dark .ag-rtl input[class^=ag-][type=number], .ag-theme-alpine-auto-dark .ag-rtl input[class^=ag-][type=tel], .ag-theme-alpine-auto-dark .ag-rtl input[class^=ag-][type=date], .ag-theme-alpine-auto-dark .ag-rtl input[class^=ag-][type=datetime-local], .ag-theme-alpine-auto-dark .ag-rtl textarea[class^=ag-] {
  padding-right: var(--ag-grid-size);
}

.ag-theme-alpine .ag-tab, .ag-theme-alpine-dark .ag-tab, .ag-theme-alpine-auto-dark .ag-tab {
  padding: calc(var(--ag-grid-size) * 1.5);
  transition: color 0.4s;
  flex: 1 1 auto;
}
.ag-theme-alpine .ag-tab-selected, .ag-theme-alpine-dark .ag-tab-selected, .ag-theme-alpine-auto-dark .ag-tab-selected {
  color: var(--ag-alpine-active-color);
}
.ag-theme-alpine .ag-menu, .ag-theme-alpine-dark .ag-menu, .ag-theme-alpine-auto-dark .ag-menu {
  background-color: var(--ag-control-panel-background-color);
}
.ag-theme-alpine .ag-panel-content-wrapper .ag-column-select, .ag-theme-alpine-dark .ag-panel-content-wrapper .ag-column-select, .ag-theme-alpine-auto-dark .ag-panel-content-wrapper .ag-column-select {
  background-color: var(--ag-control-panel-background-color);
}
.ag-theme-alpine .ag-menu-header, .ag-theme-alpine-dark .ag-menu-header, .ag-theme-alpine-auto-dark .ag-menu-header {
  background-color: var(--ag-control-panel-background-color);
  padding-top: 1px;
}
.ag-theme-alpine .ag-tabs-header, .ag-theme-alpine-dark .ag-tabs-header, .ag-theme-alpine-auto-dark .ag-tabs-header {
  border-bottom: var(--ag-borders) var(--ag-border-color);
}
.ag-theme-alpine .ag-charts-settings-group-title-bar,
.ag-theme-alpine .ag-charts-data-group-title-bar,
.ag-theme-alpine .ag-charts-format-top-level-group-title-bar,
.ag-theme-alpine .ag-charts-advanced-settings-top-level-group-title-bar, .ag-theme-alpine-dark .ag-charts-settings-group-title-bar,
.ag-theme-alpine-dark .ag-charts-data-group-title-bar,
.ag-theme-alpine-dark .ag-charts-format-top-level-group-title-bar,
.ag-theme-alpine-dark .ag-charts-advanced-settings-top-level-group-title-bar, .ag-theme-alpine-auto-dark .ag-charts-settings-group-title-bar,
.ag-theme-alpine-auto-dark .ag-charts-data-group-title-bar,
.ag-theme-alpine-auto-dark .ag-charts-format-top-level-group-title-bar,
.ag-theme-alpine-auto-dark .ag-charts-advanced-settings-top-level-group-title-bar {
  padding: var(--ag-grid-size) calc(var(--ag-grid-size) * 2);
  line-height: calc(var(--ag-icon-size) + var(--ag-grid-size) - 2px);
}
.ag-theme-alpine .ag-chart-mini-thumbnail, .ag-theme-alpine-dark .ag-chart-mini-thumbnail, .ag-theme-alpine-auto-dark .ag-chart-mini-thumbnail {
  background-color: var(--ag-background-color);
}
.ag-theme-alpine .ag-chart-settings-nav-bar, .ag-theme-alpine-dark .ag-chart-settings-nav-bar, .ag-theme-alpine-auto-dark .ag-chart-settings-nav-bar {
  border-top: var(--ag-borders-secondary) var(--ag-secondary-border-color);
}
.ag-theme-alpine .ag-ltr .ag-group-title-bar-icon, .ag-theme-alpine-dark .ag-ltr .ag-group-title-bar-icon, .ag-theme-alpine-auto-dark .ag-ltr .ag-group-title-bar-icon {
  margin-right: var(--ag-grid-size);
}

.ag-theme-alpine .ag-rtl .ag-group-title-bar-icon, .ag-theme-alpine-dark .ag-rtl .ag-group-title-bar-icon, .ag-theme-alpine-auto-dark .ag-rtl .ag-group-title-bar-icon {
  margin-left: var(--ag-grid-size);
}

.ag-theme-alpine .ag-charts-format-top-level-group-toolbar,
.ag-theme-alpine .ag-charts-advanced-settings-top-level-group-toolbar, .ag-theme-alpine-dark .ag-charts-format-top-level-group-toolbar,
.ag-theme-alpine-dark .ag-charts-advanced-settings-top-level-group-toolbar, .ag-theme-alpine-auto-dark .ag-charts-format-top-level-group-toolbar,
.ag-theme-alpine-auto-dark .ag-charts-advanced-settings-top-level-group-toolbar {
  margin-top: var(--ag-grid-size);
}
.ag-theme-alpine .ag-ltr .ag-charts-format-top-level-group-toolbar, .ag-theme-alpine .ag-ltr .ag-charts-advanced-settings-top-level-group-toolbar, .ag-theme-alpine-dark .ag-ltr .ag-charts-format-top-level-group-toolbar, .ag-theme-alpine-dark .ag-ltr .ag-charts-advanced-settings-top-level-group-toolbar, .ag-theme-alpine-auto-dark .ag-ltr .ag-charts-format-top-level-group-toolbar, .ag-theme-alpine-auto-dark .ag-ltr .ag-charts-advanced-settings-top-level-group-toolbar {
  padding-left: calc(var(--ag-icon-size) * 0.5 + var(--ag-grid-size) * 2);
}

.ag-theme-alpine .ag-rtl .ag-charts-format-top-level-group-toolbar, .ag-theme-alpine .ag-rtl .ag-charts-advanced-settings-top-level-group-toolbar, .ag-theme-alpine-dark .ag-rtl .ag-charts-format-top-level-group-toolbar, .ag-theme-alpine-dark .ag-rtl .ag-charts-advanced-settings-top-level-group-toolbar, .ag-theme-alpine-auto-dark .ag-rtl .ag-charts-format-top-level-group-toolbar, .ag-theme-alpine-auto-dark .ag-rtl .ag-charts-advanced-settings-top-level-group-toolbar {
  padding-right: calc(var(--ag-icon-size) * 0.5 + var(--ag-grid-size) * 2);
}

.ag-theme-alpine .ag-charts-format-sub-level-group, .ag-theme-alpine-dark .ag-charts-format-sub-level-group, .ag-theme-alpine-auto-dark .ag-charts-format-sub-level-group {
  border-left: dashed 1px;
  border-left-color: var(--ag-border-color);
  padding-left: var(--ag-grid-size);
  margin-bottom: calc(var(--ag-grid-size) * 2);
}
.ag-theme-alpine .ag-charts-format-sub-level-group-title-bar, .ag-theme-alpine-dark .ag-charts-format-sub-level-group-title-bar, .ag-theme-alpine-auto-dark .ag-charts-format-sub-level-group-title-bar {
  padding-top: 0;
  padding-bottom: 0;
  background: none;
  font-weight: 700;
}
.ag-theme-alpine .ag-charts-format-sub-level-group-container, .ag-theme-alpine-dark .ag-charts-format-sub-level-group-container, .ag-theme-alpine-auto-dark .ag-charts-format-sub-level-group-container {
  padding-bottom: 0;
}
.ag-theme-alpine .ag-charts-format-sub-level-group-item:last-child, .ag-theme-alpine-dark .ag-charts-format-sub-level-group-item:last-child, .ag-theme-alpine-auto-dark .ag-charts-format-sub-level-group-item:last-child {
  margin-bottom: 0;
}
.ag-theme-alpine.ag-dnd-ghost, .ag-theme-alpine-dark.ag-dnd-ghost, .ag-theme-alpine-auto-dark.ag-dnd-ghost {
  font-size: calc(var(--ag-font-size) - 1px);
  font-weight: 700;
}
.ag-theme-alpine .ag-side-buttons, .ag-theme-alpine-dark .ag-side-buttons, .ag-theme-alpine-auto-dark .ag-side-buttons {
  width: calc(var(--ag-grid-size) * 5);
}
.ag-theme-alpine .ag-standard-button, .ag-theme-alpine-dark .ag-standard-button, .ag-theme-alpine-auto-dark .ag-standard-button {
  font-family: inherit;
  appearance: none;
  -webkit-appearance: none;
  border-radius: var(--ag-border-radius);
  border: 1px solid;
  border-color: var(--ag-alpine-active-color);
  color: var(--ag-alpine-active-color);
  background-color: var(--ag-background-color);
  font-weight: 600;
  padding: var(--ag-grid-size) calc(var(--ag-grid-size) * 2);
}
.ag-theme-alpine .ag-standard-button:hover, .ag-theme-alpine-dark .ag-standard-button:hover, .ag-theme-alpine-auto-dark .ag-standard-button:hover {
  border-color: var(--ag-alpine-active-color);
  background-color: var(--ag-row-hover-color);
}
.ag-theme-alpine .ag-standard-button:active, .ag-theme-alpine-dark .ag-standard-button:active, .ag-theme-alpine-auto-dark .ag-standard-button:active {
  border-color: var(--ag-alpine-active-color);
  background-color: var(--ag-alpine-active-color);
  color: var(--ag-background-color);
}
.ag-theme-alpine .ag-standard-button:disabled, .ag-theme-alpine-dark .ag-standard-button:disabled, .ag-theme-alpine-auto-dark .ag-standard-button:disabled {
  color: var(--ag-disabled-foreground-color);
  background-color: var(--ag-input-disabled-background-color);
  border-color: var(--ag-input-disabled-border-color);
}
.ag-theme-alpine .ag-column-drop-vertical, .ag-theme-alpine-dark .ag-column-drop-vertical, .ag-theme-alpine-auto-dark .ag-column-drop-vertical {
  min-height: 75px;
}
.ag-theme-alpine .ag-column-drop-vertical-title-bar, .ag-theme-alpine-dark .ag-column-drop-vertical-title-bar, .ag-theme-alpine-auto-dark .ag-column-drop-vertical-title-bar {
  padding: calc(var(--ag-grid-size) * 2);
  padding-bottom: 0px;
}
.ag-theme-alpine .ag-column-drop-vertical-empty-message, .ag-theme-alpine-dark .ag-column-drop-vertical-empty-message, .ag-theme-alpine-auto-dark .ag-column-drop-vertical-empty-message {
  display: flex;
  align-items: center;
  border: dashed 1px;
  border-color: var(--ag-border-color);
  margin: calc(var(--ag-grid-size) * 2);
  padding: calc(var(--ag-grid-size) * 2);
}
.ag-theme-alpine .ag-column-drop-empty-message, .ag-theme-alpine-dark .ag-column-drop-empty-message, .ag-theme-alpine-auto-dark .ag-column-drop-empty-message {
  color: var(--ag-foreground-color);
  opacity: 0.75;
}
.ag-theme-alpine .ag-pill-select .ag-column-drop, .ag-theme-alpine-dark .ag-pill-select .ag-column-drop, .ag-theme-alpine-auto-dark .ag-pill-select .ag-column-drop {
  min-height: unset;
}
.ag-theme-alpine .ag-status-bar, .ag-theme-alpine-dark .ag-status-bar, .ag-theme-alpine-auto-dark .ag-status-bar {
  font-weight: normal;
}
.ag-theme-alpine .ag-status-name-value-value, .ag-theme-alpine-dark .ag-status-name-value-value, .ag-theme-alpine-auto-dark .ag-status-name-value-value {
  font-weight: 700;
}
.ag-theme-alpine .ag-paging-number, .ag-theme-alpine .ag-paging-row-summary-panel-number, .ag-theme-alpine-dark .ag-paging-number, .ag-theme-alpine-dark .ag-paging-row-summary-panel-number, .ag-theme-alpine-auto-dark .ag-paging-number, .ag-theme-alpine-auto-dark .ag-paging-row-summary-panel-number {
  font-weight: 700;
}
.ag-theme-alpine .ag-column-drop-cell-button, .ag-theme-alpine-dark .ag-column-drop-cell-button, .ag-theme-alpine-auto-dark .ag-column-drop-cell-button {
  opacity: 0.5;
}
.ag-theme-alpine .ag-column-drop-cell-button:hover, .ag-theme-alpine-dark .ag-column-drop-cell-button:hover, .ag-theme-alpine-auto-dark .ag-column-drop-cell-button:hover {
  opacity: 0.75;
}
.ag-theme-alpine .ag-column-select-column-readonly.ag-icon-grip,
.ag-theme-alpine .ag-column-select-column-readonly .ag-icon-grip, .ag-theme-alpine-dark .ag-column-select-column-readonly.ag-icon-grip,
.ag-theme-alpine-dark .ag-column-select-column-readonly .ag-icon-grip, .ag-theme-alpine-auto-dark .ag-column-select-column-readonly.ag-icon-grip,
.ag-theme-alpine-auto-dark .ag-column-select-column-readonly .ag-icon-grip {
  opacity: 0.35;
}
.ag-theme-alpine .ag-header-cell-menu-button:hover,
.ag-theme-alpine .ag-header-cell-filter-button:hover,
.ag-theme-alpine .ag-side-button-button:hover,
.ag-theme-alpine .ag-tab:hover,
.ag-theme-alpine .ag-panel-title-bar-button:hover,
.ag-theme-alpine .ag-header-expand-icon:hover,
.ag-theme-alpine .ag-column-group-icons:hover,
.ag-theme-alpine .ag-set-filter-group-icons:hover,
.ag-theme-alpine .ag-group-expanded .ag-icon:hover,
.ag-theme-alpine .ag-group-contracted .ag-icon:hover,
.ag-theme-alpine .ag-chart-settings-prev:hover,
.ag-theme-alpine .ag-chart-settings-next:hover,
.ag-theme-alpine .ag-group-title-bar-icon:hover,
.ag-theme-alpine .ag-column-select-header-icon:hover,
.ag-theme-alpine .ag-floating-filter-button-button:hover,
.ag-theme-alpine .ag-filter-toolpanel-expand:hover,
.ag-theme-alpine .ag-chart-menu-icon:hover,
.ag-theme-alpine .ag-chart-menu-close:hover, .ag-theme-alpine-dark .ag-header-cell-menu-button:hover,
.ag-theme-alpine-dark .ag-header-cell-filter-button:hover,
.ag-theme-alpine-dark .ag-side-button-button:hover,
.ag-theme-alpine-dark .ag-tab:hover,
.ag-theme-alpine-dark .ag-panel-title-bar-button:hover,
.ag-theme-alpine-dark .ag-header-expand-icon:hover,
.ag-theme-alpine-dark .ag-column-group-icons:hover,
.ag-theme-alpine-dark .ag-set-filter-group-icons:hover,
.ag-theme-alpine-dark .ag-group-expanded .ag-icon:hover,
.ag-theme-alpine-dark .ag-group-contracted .ag-icon:hover,
.ag-theme-alpine-dark .ag-chart-settings-prev:hover,
.ag-theme-alpine-dark .ag-chart-settings-next:hover,
.ag-theme-alpine-dark .ag-group-title-bar-icon:hover,
.ag-theme-alpine-dark .ag-column-select-header-icon:hover,
.ag-theme-alpine-dark .ag-floating-filter-button-button:hover,
.ag-theme-alpine-dark .ag-filter-toolpanel-expand:hover,
.ag-theme-alpine-dark .ag-chart-menu-icon:hover,
.ag-theme-alpine-dark .ag-chart-menu-close:hover, .ag-theme-alpine-auto-dark .ag-header-cell-menu-button:hover,
.ag-theme-alpine-auto-dark .ag-header-cell-filter-button:hover,
.ag-theme-alpine-auto-dark .ag-side-button-button:hover,
.ag-theme-alpine-auto-dark .ag-tab:hover,
.ag-theme-alpine-auto-dark .ag-panel-title-bar-button:hover,
.ag-theme-alpine-auto-dark .ag-header-expand-icon:hover,
.ag-theme-alpine-auto-dark .ag-column-group-icons:hover,
.ag-theme-alpine-auto-dark .ag-set-filter-group-icons:hover,
.ag-theme-alpine-auto-dark .ag-group-expanded .ag-icon:hover,
.ag-theme-alpine-auto-dark .ag-group-contracted .ag-icon:hover,
.ag-theme-alpine-auto-dark .ag-chart-settings-prev:hover,
.ag-theme-alpine-auto-dark .ag-chart-settings-next:hover,
.ag-theme-alpine-auto-dark .ag-group-title-bar-icon:hover,
.ag-theme-alpine-auto-dark .ag-column-select-header-icon:hover,
.ag-theme-alpine-auto-dark .ag-floating-filter-button-button:hover,
.ag-theme-alpine-auto-dark .ag-filter-toolpanel-expand:hover,
.ag-theme-alpine-auto-dark .ag-chart-menu-icon:hover,
.ag-theme-alpine-auto-dark .ag-chart-menu-close:hover {
  color: var(--ag-alpine-active-color);
}
.ag-theme-alpine .ag-header-cell-menu-button:hover .ag-icon,
.ag-theme-alpine .ag-header-cell-filter-button:hover .ag-icon,
.ag-theme-alpine .ag-side-button-button:hover .ag-icon,
.ag-theme-alpine .ag-panel-title-bar-button:hover .ag-icon,
.ag-theme-alpine .ag-floating-filter-button-button:hover .ag-icon, .ag-theme-alpine-dark .ag-header-cell-menu-button:hover .ag-icon,
.ag-theme-alpine-dark .ag-header-cell-filter-button:hover .ag-icon,
.ag-theme-alpine-dark .ag-side-button-button:hover .ag-icon,
.ag-theme-alpine-dark .ag-panel-title-bar-button:hover .ag-icon,
.ag-theme-alpine-dark .ag-floating-filter-button-button:hover .ag-icon, .ag-theme-alpine-auto-dark .ag-header-cell-menu-button:hover .ag-icon,
.ag-theme-alpine-auto-dark .ag-header-cell-filter-button:hover .ag-icon,
.ag-theme-alpine-auto-dark .ag-side-button-button:hover .ag-icon,
.ag-theme-alpine-auto-dark .ag-panel-title-bar-button:hover .ag-icon,
.ag-theme-alpine-auto-dark .ag-floating-filter-button-button:hover .ag-icon {
  color: inherit;
}
.ag-theme-alpine .ag-filter-active .ag-icon-filter, .ag-theme-alpine-dark .ag-filter-active .ag-icon-filter, .ag-theme-alpine-auto-dark .ag-filter-active .ag-icon-filter {
  color: var(--ag-alpine-active-color);
}
.ag-theme-alpine .ag-chart-menu-close, .ag-theme-alpine-dark .ag-chart-menu-close, .ag-theme-alpine-auto-dark .ag-chart-menu-close {
  background: var(--ag-background-color);
}
.ag-theme-alpine .ag-chart-menu-close:hover .ag-icon, .ag-theme-alpine-dark .ag-chart-menu-close:hover .ag-icon, .ag-theme-alpine-auto-dark .ag-chart-menu-close:hover .ag-icon {
  border-color: var(--ag-alpine-active-color);
}
.ag-theme-alpine .ag-chart-menu-close .ag-icon, .ag-theme-alpine-dark .ag-chart-menu-close .ag-icon, .ag-theme-alpine-auto-dark .ag-chart-menu-close .ag-icon {
  background: var(--ag-header-background-color);
  border: 1px solid var(--ag-border-color);
  border-right: none;
}
.ag-theme-alpine .ag-chart-settings-card-item.ag-not-selected:hover, .ag-theme-alpine-dark .ag-chart-settings-card-item.ag-not-selected:hover, .ag-theme-alpine-auto-dark .ag-chart-settings-card-item.ag-not-selected:hover {
  opacity: 0.35;
}
.ag-theme-alpine .ag-ltr .ag-panel-title-bar-button, .ag-theme-alpine-dark .ag-ltr .ag-panel-title-bar-button, .ag-theme-alpine-auto-dark .ag-ltr .ag-panel-title-bar-button {
  margin-left: calc(var(--ag-grid-size) * 2);
  margin-right: var(--ag-grid-size);
}

.ag-theme-alpine .ag-rtl .ag-panel-title-bar-button, .ag-theme-alpine-dark .ag-rtl .ag-panel-title-bar-button, .ag-theme-alpine-auto-dark .ag-rtl .ag-panel-title-bar-button {
  margin-right: calc(var(--ag-grid-size) * 2);
  margin-left: var(--ag-grid-size);
}

.ag-theme-alpine .ag-ltr .ag-filter-toolpanel-group-container, .ag-theme-alpine-dark .ag-ltr .ag-filter-toolpanel-group-container, .ag-theme-alpine-auto-dark .ag-ltr .ag-filter-toolpanel-group-container {
  padding-left: var(--ag-grid-size);
}

.ag-theme-alpine .ag-rtl .ag-filter-toolpanel-group-container, .ag-theme-alpine-dark .ag-rtl .ag-filter-toolpanel-group-container, .ag-theme-alpine-auto-dark .ag-rtl .ag-filter-toolpanel-group-container {
  padding-right: var(--ag-grid-size);
}

.ag-theme-alpine .ag-filter-toolpanel-instance-filter, .ag-theme-alpine-dark .ag-filter-toolpanel-instance-filter, .ag-theme-alpine-auto-dark .ag-filter-toolpanel-instance-filter {
  border: none;
  background-color: var(--ag-control-panel-background-color);
}
.ag-theme-alpine .ag-ltr .ag-filter-toolpanel-instance-filter, .ag-theme-alpine-dark .ag-ltr .ag-filter-toolpanel-instance-filter, .ag-theme-alpine-auto-dark .ag-ltr .ag-filter-toolpanel-instance-filter {
  border-left: dashed 1px;
  border-left-color: var(--ag-border-color);
  margin-left: calc(var(--ag-icon-size) * 0.5);
}

.ag-theme-alpine .ag-rtl .ag-filter-toolpanel-instance-filter, .ag-theme-alpine-dark .ag-rtl .ag-filter-toolpanel-instance-filter, .ag-theme-alpine-auto-dark .ag-rtl .ag-filter-toolpanel-instance-filter {
  border-right: dashed 1px;
  border-right-color: var(--ag-border-color);
  margin-right: calc(var(--ag-icon-size) * 0.5);
}

.ag-theme-alpine .ag-set-filter-list, .ag-theme-alpine-dark .ag-set-filter-list, .ag-theme-alpine-auto-dark .ag-set-filter-list {
  padding-top: calc(var(--ag-grid-size) * 0.5);
  padding-bottom: calc(var(--ag-grid-size) * 0.5);
}
.ag-theme-alpine .ag-layout-auto-height .ag-center-cols-viewport, .ag-theme-alpine .ag-layout-auto-height .ag-center-cols-container, .ag-theme-alpine .ag-layout-print .ag-center-cols-viewport, .ag-theme-alpine .ag-layout-print .ag-center-cols-container, .ag-theme-alpine-dark .ag-layout-auto-height .ag-center-cols-viewport, .ag-theme-alpine-dark .ag-layout-auto-height .ag-center-cols-container, .ag-theme-alpine-dark .ag-layout-print .ag-center-cols-viewport, .ag-theme-alpine-dark .ag-layout-print .ag-center-cols-container, .ag-theme-alpine-auto-dark .ag-layout-auto-height .ag-center-cols-viewport, .ag-theme-alpine-auto-dark .ag-layout-auto-height .ag-center-cols-container, .ag-theme-alpine-auto-dark .ag-layout-print .ag-center-cols-viewport, .ag-theme-alpine-auto-dark .ag-layout-print .ag-center-cols-container {
  min-height: 150px;
}
.ag-theme-alpine .ag-overlay-no-rows-wrapper.ag-layout-auto-height, .ag-theme-alpine-dark .ag-overlay-no-rows-wrapper.ag-layout-auto-height, .ag-theme-alpine-auto-dark .ag-overlay-no-rows-wrapper.ag-layout-auto-height {
  padding-top: 60px;
}
.ag-theme-alpine .ag-date-time-list-page-entry-is-current, .ag-theme-alpine-dark .ag-date-time-list-page-entry-is-current, .ag-theme-alpine-auto-dark .ag-date-time-list-page-entry-is-current {
  background-color: var(--ag-alpine-active-color);
}
.ag-theme-alpine .ag-advanced-filter-builder-button, .ag-theme-alpine-dark .ag-advanced-filter-builder-button, .ag-theme-alpine-auto-dark .ag-advanced-filter-builder-button {
  padding: var(--ag-grid-size);
  font-weight: 600;
}
.presets-page {
  padding: 1.5rem;
  width: 100%;
  position: relative;
}

.presets-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
  padding: 0.5rem 0;
  width: 100%;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.presets-header h1 {
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0;
  transition: color 0.3s ease;
  flex-shrink: 0;
  white-space: nowrap;
}


.presets-loading {
  text-align: center;
  padding: 3rem;
  color: var(--text-secondary);
  font-size: 1.1rem;
  transition: color 0.3s ease;
}

.presets-error {
  padding: 1rem;
  background-color: #fee;
  color: #c33;
  border: 1px solid #fcc;
  border-radius: 6px;
  margin-bottom: 1.5rem;
}

.presets-success {
  padding: 1rem;
  background-color: #d4edda;
  color: #155724;
  border: 1px solid #c3e6cb;
  border-radius: 6px;
  margin-bottom: 1.5rem;
}

/* The grid wrapper contains the wide grid and provides horizontal scrolling */
.presets-grid-wrapper {
  position: relative;
  width: 100%;
  overflow-x: auto;
  overflow-y: visible;
  contain: inline-size;
}

.presets-grid-container {
  display: block;
  width: max-content;
}

.presets-grid-container .ag-theme-alpine {
  min-width: 3000px;
  font-size: 0.85rem;
  overflow: visible;
}


.presets-grid-container .ag-theme-alpine .ag-header-cell-text {
  font-size: 0.85rem;
}

.presets-grid-container .ag-theme-alpine .ag-cell {
  font-size: 0.85rem;
  line-height: 1.4;
}

/* Alternating level column header background - matches cell background */
.presets-grid-container .ag-header-cell.presets-level-bg {
  background-color: rgba(52, 152, 219, 0.1) !important;
}

/* Green header background for USD Amount - matches cell background */
.presets-grid-container .ag-header-cell.presets-usd-amount-bg {
  background-color: rgba(46, 204, 113, 0.15) !important;
}

/* Center header text */
.presets-grid-container .ag-theme-alpine .ag-header-cell-label {
  justify-content: center;
}

.presets-grid-container .ag-theme-alpine .ag-header-cell-text {
  text-align: center;
}

/* Override AG Grid's header text wrapping - must be more specific than AG Grid's selector */
.presets-grid-container .ag-theme-alpine .ag-header-cell-label .ag-header-cell-text {
  white-space: nowrap !important;
}

.presets-header-actions {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  flex-wrap: wrap;
  flex-shrink: 1;
  background-color: var(--bg-primary, #f5f5f5);
  padding: 0.25rem 0;
  max-width: 100%;
}

.presets-btn {
  padding: 0.5rem 0.75rem;
  border: none;
  border-radius: 6px;
  font-size: 0.85rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}

.presets-btn-primary {
  background-color: #10204E;
  color: white;
}

.presets-btn-primary:hover:not(:disabled) {
  background-color: rgba(16, 32, 78, 0.9);
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(16, 32, 78, 0.3);
}

.presets-btn-success {
  background-color: #10204E;
  color: white;
}

.presets-btn-success:hover:not(:disabled) {
  background-color: rgba(16, 32, 78, 0.9);
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(16, 32, 78, 0.3);
}

.presets-btn:disabled {
  background-color: #6c757d;
  cursor: not-allowed;
  opacity: 0.6;
}

.presets-archived-toggle {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.presets-toggle-label {
  font-size: 0.8rem;
  color: var(--text-primary);
  font-weight: 500;
  user-select: none;
  cursor: pointer;
  transition: color 0.3s ease;
}

/* Modern Toggle Switch - Compact */
.toggle-switch {
  position: relative;
  display: inline-block;
  width: 40px;
  height: 22px;
}

.toggle-switch input {
  opacity: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  cursor: pointer;
  margin: 0;
}

.toggle-slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  transition: 0.3s;
  border-radius: 22px;
  z-index: 1;
}

.toggle-slider:before {
  position: absolute;
  content: "";
  height: 16px;
  width: 16px;
  left: 3px;
  bottom: 3px;
  background-color: white;
  transition: 0.3s;
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.toggle-switch input:checked+.toggle-slider {
  background-color: #667eea;
}

.toggle-switch input:checked+.toggle-slider:before {
  transform: translateX(18px);
}

.toggle-switch input:focus+.toggle-slider {
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.2);
}

.toggle-switch:hover .toggle-slider {
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

/* Modal Styles */
.presets-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}

.presets-modal {
  background: var(--bg-secondary, white);
  border-radius: 8px;
  width: 90%;
  max-width: 500px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  max-height: 90vh;
}

.presets-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem;
  border-bottom: 1px solid var(--border-color, #e0e0e0);
}

.presets-modal-header h2 {
  margin: 0;
  font-size: 1.5rem;
  color: var(--text-primary, #333);
}

.presets-modal-close {
  background: none;
  border: none;
  font-size: 2rem;
  color: var(--text-secondary, #666);
  cursor: pointer;
  padding: 0;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  transition: background-color 0.2s;
}

.presets-modal-close:hover {
  background-color: var(--hover-bg, #f0f0f0);
}

.presets-modal-body {
  padding: 1.5rem;
}

.presets-modal-body label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 500;
  color: var(--text-primary, #333);
}

.presets-modal-body input {
  width: 100%;
  padding: 0.75rem;
  border: 1px solid var(--border-color, #ddd);
  border-radius: 4px;
  font-size: 1rem;
  box-sizing: border-box;
  background: var(--bg-primary, white);
  color: var(--text-primary, #333);
}

.presets-modal-body input:focus {
  outline: none;
  border-color: var(--accent-color, #007bff);
  box-shadow: 0 0 0 3px var(--accent-bg, rgba(0, 123, 255, 0.1));
}

.presets-modal-footer {
  display: flex;
  justify-content: flex-end;
  gap: 1rem;
  padding: 1.5rem;
  border-top: 1px solid var(--border-color, #e0e0e0);
}

.presets-modal-footer button {
  padding: 0.75rem 1.5rem;
  border: none;
  border-radius: 4px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.2s;
}

.presets-modal-footer button:not(.presets-modal-submit) {
  background-color: #6c757d;
  color: white;
}

.presets-modal-footer button:not(.presets-modal-submit):hover:not(:disabled) {
  background-color: #5a6268;
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(108, 117, 125, 0.3);
}

.presets-modal-submit {
  background-color: #007bff;
  color: white;
}

.presets-modal-submit:hover:not(:disabled) {
  background-color: #0056b3;
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(0, 123, 255, 0.3);
}

.presets-modal-footer button:disabled {
  background-color: #ccc;
  cursor: not-allowed;
}

/* Mobile Card Layout */
.presets-grid-hidden {
  display: none !important;
}

.presets-mobile-cards {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 0.5rem 0;
}

.presets-mobile-card {
  background: var(--card-bg);
  border: 1px solid var(--border-color);
  border-radius: 8px;
  overflow: hidden;
  transition: background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
  box-shadow: 0 2px 4px var(--shadow);
}

.presets-mobile-card-readonly {
  opacity: 0.7;
  background: var(--bg-tertiary);
}

.presets-mobile-card-header {
  padding: 1rem 1.25rem;
  background: var(--bg-tertiary);
  border-bottom: 1px solid var(--border-color);
  transition: background-color 0.3s ease, border-color 0.3s ease;
}

.presets-mobile-header-content {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.presets-mobile-card-header h3 {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--text-primary);
  transition: color 0.3s ease;
}

.presets-mobile-status-checkboxes {
  display: flex;
  gap: 1rem;
  align-items: center;
  flex-wrap: wrap;
}

.presets-mobile-status-label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  font-size: 0.9rem;
  color: var(--text-primary);
  transition: color 0.3s ease;
  user-select: none;
}

.presets-mobile-status-label:has(input:disabled) {
  opacity: 0.6;
  cursor: not-allowed;
}

.presets-mobile-status-label input[type="checkbox"] {
  width: 18px;
  height: 18px;
  cursor: pointer;
  accent-color: #10204E;
}

.presets-mobile-status-label input[type="checkbox"]:disabled {
  cursor: not-allowed;
}

.presets-mobile-card-body {
  padding: 1rem 1.25rem;
}

.presets-mobile-field-group {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.presets-mobile-field-group label {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  transition: color 0.3s ease;
}

.presets-mobile-input {
  padding: 0.75rem;
  border: 2px solid var(--input-border);
  border-radius: 6px;
  font-size: 1rem;
  font-family: inherit;
  background-color: var(--input-bg);
  color: var(--text-primary);
  transition: all 0.2s ease;
  width: 100%;
  box-sizing: border-box;
}

.presets-mobile-input:focus {
  outline: none;
  border-color: var(--input-focus);
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

.presets-mobile-input:disabled {
  background-color: var(--bg-tertiary);
  color: var(--text-tertiary);
  cursor: not-allowed;
}

.presets-mobile-checkbox {
  width: 24px;
  height: 24px;
  cursor: pointer;
  accent-color: var(--input-focus);
}

.presets-mobile-checkbox:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.presets-mobile-field-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-bottom: 1rem;
}

.presets-mobile-accordion {
  margin-bottom: 1rem;
  border: 1px solid var(--border-color);
  border-radius: 6px;
  overflow: hidden;
  transition: border-color 0.3s ease;
}

.presets-mobile-accordion-header {
  width: 100%;
  padding: 1rem 1.25rem;
  background: var(--bg-tertiary);
  border: none;
  text-align: left;
  font-size: 1rem;
  font-weight: 600;
  color: var(--text-primary);
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: background-color 0.2s ease, color 0.3s ease;
}

.presets-mobile-accordion-header:hover:not(:disabled) {
  background: var(--bg-secondary);
}

.presets-mobile-accordion-header:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

.presets-mobile-accordion-icon {
  font-size: 0.875rem;
  transition: transform 0.2s ease;
}

.presets-mobile-accordion-content {
  padding: 1rem 1.25rem;
  background: var(--card-bg);
  border-top: 1px solid var(--border-color);
  transition: background-color 0.3s ease, border-color 0.3s ease;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .presets-page {
    padding: 0.75rem;
    overflow-x: hidden;
  }

  .presets-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1rem;
  }

  .presets-header h1 {
    font-size: 1.5rem;
  }

  .presets-header-actions {
    flex-direction: column;
    width: 100%;
    gap: 0.75rem;
  }

  .presets-header-actions>* {
    width: 100%;
  }

  .presets-btn {
    width: 100%;
    padding: 0.75rem 1rem;
    font-size: 1rem;
  }

  .presets-archived-toggle {
    width: 100%;
    justify-content: space-between;
    padding: 0.5rem 0;
  }

  .presets-grid-container {
    display: none;
  }

  .presets-mobile-field-row {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  .presets-modal {
    width: 95%;
    margin: 1rem;
    max-height: 85vh;
  }

  .presets-modal-header h2 {
    font-size: 1.25rem;
  }

  .presets-modal-body,
  .presets-modal-footer {
    padding: 1rem;
  }
}

/* Extra small devices */
@media (max-width: 480px) {
  .presets-page {
    padding: 0.5rem;
  }

  .presets-header h1 {
    font-size: 1.25rem;
  }

  .presets-grid-container {
    height: auto;
    /* Mobile uses auto height */
  }

  .presets-grid-container .ag-theme-alpine {
    font-size: 0.7rem;
  }

  .presets-grid-container .ag-theme-alpine .ag-header-cell-text {
    font-size: 0.65rem;
  }

  .presets-grid-container .ag-theme-alpine .ag-cell {
    font-size: 0.7rem;
    padding: 0.2rem 0.4rem;
  }
}

/* Market Score History Widget */
.market-score-widget {
  background: var(--card-bg);
  border-radius: 8px;
  padding: 1.5rem;
  margin-top: 2rem;
  margin-bottom: 2rem;
  max-width: 50%;
  box-shadow: 0 2px 4px var(--shadow);
  border: 1px solid var(--border-color);
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.market-score-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5rem;
  border-bottom: 1px solid var(--border-color);
  padding-bottom: 1rem;
}

.market-score-header h2 {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0;
}

.market-score-last-update {
  font-size: 0.85rem;
  color: var(--text-secondary);
}

.market-score-loading,
.market-score-empty {
  text-align: center;
  padding: 2rem;
  color: var(--text-secondary);
  font-style: italic;
}

.market-score-table-container {
  margin-top: 1rem;
}

.market-score-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}

.market-score-table th,
.market-score-table td {
  padding: 0.6rem 1rem;
  text-align: left;
  border-bottom: 1px solid var(--border-color);
}

.market-score-table th {
  background-color: var(--bg-secondary);
  color: var(--text-primary);
  font-weight: 600;
}

.market-score-table tbody tr:hover {
  background-color: var(--bg-secondary);
}

.market-score-table tbody tr:last-child td {
  border-bottom: none;
}

.price-change.positive {
  color: #4caf50;
  font-weight: 500;
}

.price-change.negative {
  color: #f44336;
  font-weight: 500;
}

/* Market Score Header Right Section */
.market-score-header-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.5rem;
}

.market-score-toggle {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.market-score-toggle-label {
  font-size: 0.9rem;
  color: var(--text-secondary);
  font-weight: 500;
}

/* Market Score Controls Row - space between */
.market-score-controls-row {
  display: flex;
  gap: 2rem;
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--border-color);
  justify-content: space-between;
  align-items: flex-start;
}

.market-score-display {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  align-items: flex-start;
  text-align: left;
}

.amount-adjustment-display {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  align-items: flex-end;
  text-align: right;
}

.market-score-display label,
.amount-adjustment-display label {
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--text-secondary);
}

.market-score-input-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.market-score-box {
  width: 100px;
  padding: 0.6rem 0.75rem;
  border: 1px solid var(--input-border);
  border-radius: 6px;
  font-size: 1.25rem;
  font-weight: 600;
  background-color: var(--bg-tertiary);
  color: var(--text-primary);
  text-align: center;
}

.market-score-value-large {
  font-size: 2rem;
  font-weight: 700;
  color: #667eea;
}

.amount-adjustment-input-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.amount-adjustment-input-row input[type="number"] {
  width: 100px;
  padding: 0.6rem 0.75rem;
  border: 1px solid var(--input-border);
  border-radius: 6px;
  font-size: 1.25rem;
  font-weight: 600;
  background-color: var(--input-bg);
  color: var(--text-primary);
  transition: border-color 0.2s;
}

.amount-adjustment-input-row input[type="number"]:focus {
  outline: none;
  border-color: #667eea;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

.percent-sign {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--text-primary);
}

.asset-name {
  font-weight: 600;
  color: var(--text-primary);
}

@media (max-width: 768px) {
  .market-score-widget {
    padding: 1rem;
    max-width: 100%;
    min-width: 0;
  }

  .market-score-table {
    font-size: 0.75rem;
  }

  .market-score-table th,
  .market-score-table td {
    padding: 0.5rem 0.25rem;
  }

  .market-score-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }

  .market-score-header h2 {
    font-size: 1.1rem;
  }

  .market-score-header-right {
    width: 100%;
    align-items: flex-start;
  }

  .market-score-last-update {
    font-size: 0.75rem;
  }

  .market-score-controls-row {
    flex-direction: column;
    gap: 1rem;
  }

  .market-score-display,
  .amount-adjustment-display {
    width: 100%;
    align-items: stretch;
    text-align: left;
  }

  .market-score-input-row,
  .amount-adjustment-input-row {
    width: 100%;
  }

  .market-score-box {
    width: 100%;
    box-sizing: border-box;
  }

  .amount-adjustment-input-row input[type="number"] {
    flex: 1;
    width: auto;
  }

  .market-score-value-large {
    font-size: 1.5rem;
  }
}

/* Mobile DEX Selection Section */
.presets-mobile-dex-section {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--border-color);
}

.presets-mobile-dex-label {
  display: block;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 0.75rem;
}

.presets-mobile-dex-grid {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.presets-mobile-dex-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  border: 2px solid var(--border-color);
  border-radius: 8px;
  background-color: var(--bg-secondary);
  cursor: pointer;
  transition: all 0.2s ease;
  user-select: none;
}

.presets-mobile-dex-item:hover:not(.readonly) {
  border-color: var(--input-focus);
  background-color: var(--bg-tertiary);
}

.presets-mobile-dex-item.active {
  border-color: #28a745;
  background-color: rgba(40, 167, 69, 0.1);
}

.presets-mobile-dex-item.readonly {
  opacity: 0.6;
  cursor: not-allowed;
}

.presets-mobile-dex-checkbox {
  width: 20px;
  height: 20px;
  accent-color: #28a745;
  cursor: pointer;
  flex-shrink: 0;
}

.presets-mobile-dex-checkbox:disabled {
  cursor: not-allowed;
}

.presets-mobile-dex-icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  object-fit: contain;
}

.presets-mobile-dex-name {
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--text-primary);
}

@media (max-width: 480px) {
  .presets-mobile-dex-item {
    padding: 0.625rem 0.75rem;
  }

  .presets-mobile-dex-icon {
    width: 20px;
    height: 20px;
  }

  .presets-mobile-dex-name {
    font-size: 0.875rem;
  }
}

/* Presets Widgets Row - Container for DSL Config and Market Score */
.presets-widgets-row {
  display: flex;
  gap: 2rem;
  margin-top: 2rem;
  margin-bottom: 2rem;
  flex-wrap: wrap;
}

/* DSL Configuration Widget */
.dsl-config-widget {
  background: var(--card-bg);
  border-radius: 8px;
  padding: 1.5rem;
  flex: 0 0 40%;
  min-width: 320px;
  box-shadow: 0 2px 4px var(--shadow);
  border: 1px solid var(--border-color);
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.dsl-config-header {
  margin-bottom: 1.5rem;
  border-bottom: 1px solid var(--border-color);
  padding-bottom: 1rem;
}

.dsl-config-header h2 {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0;
}

.dsl-config-preset-selector {
  margin-bottom: 1.5rem;
}

.dsl-config-preset-selector label {
  display: block;
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--text-secondary);
  margin-bottom: 0.5rem;
}

.dsl-config-select {
  width: 100%;
  padding: 0.6rem 0.75rem;
  border: 1px solid var(--input-border);
  border-radius: 6px;
  font-size: 0.9rem;
  background-color: var(--input-bg);
  color: var(--text-primary);
  cursor: pointer;
}

.dsl-config-select:focus {
  outline: none;
  border-color: var(--input-focus);
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

/* DSL Sets Container */
.dsl-config-sets {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 1rem;
}

/* Individual Set Card */
.dsl-config-set {
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 6px;
  padding: 1rem;
}

.dsl-config-set-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.75rem;
}

.dsl-config-set-title {
  font-weight: 600;
  color: var(--text-primary);
  font-size: 0.95rem;
}

.dsl-config-remove-btn {
  background: #dc3545;
  color: white;
  border: none;
  border-radius: 50%;
  width: 22px;
  height: 22px;
  font-size: 1rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.dsl-config-remove-btn:hover {
  background: #c82333;
}

/* Slice Selection */
.dsl-config-slices {
  margin-bottom: 0.75rem;
}

.dsl-config-slices-label {
  font-size: 0.85rem;
  color: var(--text-secondary);
  font-weight: 500;
  margin-bottom: 0.5rem;
  display: block;
}

.dsl-config-slice-checkboxes {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.dsl-config-slice-checkbox {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: 1px solid var(--border-color);
  border-radius: 4px;
  cursor: pointer;
  font-size: 0.8rem;
  font-weight: 500;
  color: var(--text-secondary);
  background: var(--bg-primary);
  transition: all 0.15s ease;
}

.dsl-config-slice-checkbox input {
  display: none;
}

.dsl-config-slice-checkbox.active {
  background: #10204E;
  color: white;
  border-color: #10204E;
}

.dsl-config-slice-checkbox:hover {
  border-color: #10204E;
}

/* DSL Input Row */
.dsl-config-dsl-input {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.dsl-config-dsl-input label {
  font-size: 0.85rem;
  color: var(--text-secondary);
  font-weight: 500;
  min-width: 35px;
}

.dsl-config-input-row {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.dsl-config-input-row input {
  width: 60px;
  padding: 0.4rem 0.5rem;
  border: 1px solid var(--input-border);
  border-radius: 4px;
  font-size: 0.9rem;
  text-align: center;
  background: var(--input-bg);
  color: var(--text-primary);
}

.dsl-config-input-row input:focus {
  outline: none;
  border-color: var(--input-focus);
}

.dsl-config-constant {
  font-size: 0.8rem;
  color: var(--text-tertiary);
  font-style: italic;
}

/* Add Set Button */
.dsl-config-add-btn {
  width: 100%;
  padding: 0.6rem;
  background: transparent;
  border: 2px dashed var(--border-color);
  border-radius: 6px;
  color: var(--text-secondary);
  font-size: 0.9rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  margin-bottom: 1rem;
}

.dsl-config-add-btn:hover {
  border-color: #10204E;
  color: #10204E;
  background: rgba(16, 32, 78, 0.05);
}

/* Actions */
.dsl-config-actions {
  display: flex;
  justify-content: flex-end;
}

/* Adjust Market Score widget to work in row */
.presets-widgets-row .market-score-widget {
  flex: 0 0 55%;
  max-width: none;
  margin: 0;
}

/* Responsive */
@media (max-width: 768px) {
  .presets-widgets-row {
    flex-direction: column;
  }

  .dsl-config-widget {
    max-width: none;
    min-width: auto;
  }
}

/* DSL View Modal */
.dsl-view-modal {
  max-width: 400px;
  min-width: 320px;
}

.dsl-view-modal .presets-modal-header {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.dsl-view-modal .presets-modal-subtitle {
  font-size: 0.85rem;
  color: var(--text-secondary);
  font-weight: normal;
}

.dsl-view-sets {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.dsl-view-set {
  background: var(--bg-primary);
  border: 1px solid var(--border-color);
  border-radius: 8px;
  padding: 0.75rem 1rem;
}

.dsl-view-set-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.5rem;
}

.dsl-view-set-label {
  font-weight: 600;
  color: var(--text-primary);
}

.dsl-view-set-percent {
  font-weight: 600;
  color: var(--accent-color, #6366f1);
  background: var(--accent-bg, rgba(99, 102, 241, 0.15));
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  font-size: 0.9rem;
}

.dsl-view-slices {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.dsl-view-slice {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: var(--accent-color, #6366f1);
  color: white;
  border-radius: 4px;
  font-weight: 600;
  font-size: 0.9rem;
}.trading-control-page {
  padding: 2rem;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}

.trading-control-header {
  margin-bottom: 2rem;
}

.trading-control-header h1 {
  font-size: 2rem;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0;
  transition: color 0.3s ease;
}

/* Global Trading Control Widget */
.global-trading-control-widget {
  background: var(--card-bg);
  border-radius: 8px;
  padding: 1.5rem;
  margin-bottom: 2rem;
  box-shadow: 0 2px 4px var(--shadow);
  border: 2px solid var(--border-color);
  transition: background-color 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.global-trading-control-header {
  margin-bottom: 1rem;
}

.global-trading-control-header h2 {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0;
  transition: color 0.3s ease;
}

.global-trading-control-status {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  border-radius: 6px;
  transition: all 0.3s ease;
}

.global-trading-control-status.enabled {
  background-color: #e8f5e9;
  border: 2px solid #4caf50;
}

.global-trading-control-status.disabled {
  background-color: #ffebee;
  border: 2px solid #f44336;
}

.status-indicator {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.status-dot {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  transition: all 0.3s ease;
}

.status-dot.active {
  background-color: #4caf50;
  box-shadow: 0 0 0 4px rgba(76, 175, 80, 0.2);
}

.status-dot.inactive {
  background-color: #f44336;
  box-shadow: 0 0 0 4px rgba(244, 67, 54, 0.2);
}

.status-text {
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--text-primary);
  transition: color 0.3s ease;
}

/* Fix text color for disabled state - dark text on light background */
.global-trading-control-status.disabled .status-text {
  color: #c62828;
}

/* Fix text color for enabled state - dark text on light background */
.global-trading-control-status.enabled .status-text {
  color: #2e7d32;
}

/* Global Trading Toggle Section (Admin Only) */
.global-trading-toggle-section {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--border-color);
}

.global-trading-toggle-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  font-weight: 500;
  color: var(--text-primary);
  transition: color 0.3s ease;
}

.global-trading-toggle-label span {
  font-size: 1rem;
  margin-right: 1rem;
}

.trading-control-loading {
  text-align: center;
  padding: 3rem;
  color: var(--text-secondary);
  font-size: 1.1rem;
  transition: color 0.3s ease;
}

.trading-control-alert {
  padding: 1rem;
  border-radius: 6px;
  margin-bottom: 1.5rem;
  font-weight: 500;
}

.trading-control-alert.error {
  background-color: #fee;
  color: #c33;
  border: 1px solid #fcc;
}

.trading-control-alert.success {
  background-color: #efe;
  color: #3c3;
  border: 1px solid #cfc;
}

.trading-control-form {
  background: var(--card-bg);
  border-radius: 8px;
  padding: 2rem;
  box-shadow: 0 2px 4px var(--shadow);
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.trading-control-field {
  margin-bottom: 1.5rem;
}

.trading-control-field label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 500;
  color: var(--text-primary);
  font-size: 0.95rem;
  transition: color 0.3s ease;
}

.trading-control-field input[type="number"] {
  width: 100%;
  padding: 0.75rem;
  border: 1px solid var(--input-border);
  border-radius: 6px;
  font-size: 1rem;
  background-color: var(--input-bg);
  color: var(--text-primary);
  transition: border-color 0.2s, background-color 0.3s ease, color 0.3s ease;
}

.trading-control-field input[type="number"]:focus {
  outline: none;
  border-color: #667eea;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

.trading-control-field input[type="number"]::placeholder {
  color: var(--text-tertiary);
}

/* Toggle Switch */
.toggle-switch {
  position: relative;
  display: inline-block;
  width: 60px;
  height: 34px;
}

.toggle-switch input {
  opacity: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  cursor: pointer;
  margin: 0;
}

.toggle-slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  transition: 0.3s;
  border-radius: 34px;
  z-index: 1;
}

.toggle-slider:before {
  position: absolute;
  content: "";
  height: 26px;
  width: 26px;
  left: 4px;
  bottom: 4px;
  background-color: white;
  transition: 0.3s;
  border-radius: 50%;
}

.toggle-switch input:checked+.toggle-slider {
  background-color: #667eea;
}

.toggle-switch input:checked+.toggle-slider:before {
  transform: translateX(26px);
}

.toggle-switch input:focus+.toggle-slider {
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.2);
}

.trading-control-save-btn {
  background-color: #10204E;
  color: white;
  border: none;
  padding: 0.75rem 2rem;
  border-radius: 6px;
  font-size: 1rem;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.2s;
  margin-top: 1rem;
}

.trading-control-save-btn:hover:not(:disabled) {
  background-color: rgba(16, 32, 78, 0.9);
}

.trading-control-save-btn:disabled {
  background-color: #ccc;
  cursor: not-allowed;
}

/* Danger Zone Styles */
.trading-control-danger-zone {
  background: var(--card-bg);
  border-radius: 8px;
  margin-top: 2rem;
  box-shadow: 0 2px 4px var(--shadow);
  border: 2px solid #dc3545;
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
  overflow: hidden;
}

.danger-zone-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.5rem;
  cursor: pointer;
  user-select: none;
  transition: background-color 0.2s ease;
}

.danger-zone-header:hover {
  background: rgba(220, 53, 69, 0.05);
}

.trading-control-danger-zone.open .danger-zone-header {
  border-bottom: 1px solid rgba(220, 53, 69, 0.3);
}

.danger-zone-header-content {
  flex: 1;
}

.danger-zone-header h2 {
  font-size: 1.25rem;
  font-weight: 600;
  color: #dc3545;
  margin: 0 0 0.25rem 0;
}

.danger-zone-note {
  font-size: 0.875rem;
  color: var(--text-secondary);
  margin: 0;
}

.danger-zone-chevron {
  font-size: 0.875rem;
  color: #dc3545;
  transition: transform 0.3s ease;
  margin-left: 1rem;
}

.danger-zone-chevron.open {
  transform: rotate(180deg);
}

.danger-zone-actions {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 1.5rem;
}

.danger-zone-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem;
  background: rgba(220, 53, 69, 0.05);
  border-radius: 6px;
  border: 1px solid rgba(220, 53, 69, 0.2);
}

.danger-zone-info h3 {
  font-size: 1rem;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0 0 0.25rem 0;
}

.danger-zone-info p {
  font-size: 0.875rem;
  color: var(--text-secondary);
  margin: 0;
  max-width: 400px;
}

.danger-zone-btn {
  background-color: #dc3545;
  color: white;
  border: none;
  padding: 0.75rem 1.5rem;
  border-radius: 6px;
  font-size: 0.95rem;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.2s, transform 0.1s;
  white-space: nowrap;
}

.danger-zone-btn:hover:not(:disabled) {
  background-color: #c82333;
  transform: translateY(-1px);
}

.danger-zone-btn:active:not(:disabled) {
  transform: translateY(0);
}

.danger-zone-btn:disabled {
  background-color: #6c757d;
  cursor: not-allowed;
  transform: none;
}

/* Mobile Responsive Styles */
@media (max-width: 768px) {
  .trading-control-page {
    padding: 1rem;
    max-width: 100%;
  }

  .trading-control-header h1 {
    font-size: 1.5rem;
  }

  .trading-control-form {
    padding: 1.5rem;
  }

  .global-trading-control-widget {
    padding: 1rem;
  }

  .status-text {
    font-size: 1rem;
  }

  .danger-zone-item {
    flex-direction: column;
    gap: 1rem;
    text-align: center;
  }

  .danger-zone-info {
    text-align: center;
  }

  .danger-zone-info p {
    max-width: 100%;
  }

  .danger-zone-btn {
    width: 100%;
  }
}

/* DEX Control Widget */
.dex-control-widget {
  background: var(--card-bg);
  border-radius: 8px;
  padding: 1.5rem;
  margin-top: 2rem;
  box-shadow: 0 2px 4px var(--shadow);
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.dex-control-header {
  margin-bottom: 1.5rem;
  border-bottom: 1px solid var(--border-color);
  padding-bottom: 1rem;
}

.dex-control-header h2 {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0 0 0.5rem 0;
}

.dex-control-note {
  font-size: 0.9rem;
  color: var(--text-secondary);
  margin: 0;
}

.dex-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.dex-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem;
  background-color: var(--bg-secondary);
  border-radius: 6px;
  border: 1px solid var(--border-color);
  transition: border-color 0.2s;
}

.dex-item:hover {
  border-color: #667eea;
}

.dex-info {
  display: flex;
  flex-direction: column;
}

.dex-name {
  font-weight: 600;
  color: var(--text-primary);
  text-transform: capitalize;
}

.dex-platform {
  font-size: 0.85rem;
  color: var(--text-secondary);
  text-transform: capitalize;
}

.dex-loading,
.no-dex-configs {
  text-align: center;
  padding: 2rem;
  color: var(--text-secondary);
  font-style: italic;
}

.dex-save-btn {
  margin-top: 1.5rem;
  width: 100%;
}

/* Max Open Trades Restrictions Section */
.trading-control-section {
  background: var(--card-bg);
  border-radius: 8px;
  padding: 2rem;
  margin-top: 2rem;
  box-shadow: 0 2px 4px var(--shadow);
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.section-title {
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0 0 0.5rem 0;
  transition: color 0.3s ease;
}

.section-description {
  font-size: 0.95rem;
  color: var(--text-secondary);
  margin: 0 0 1.5rem 0;
  line-height: 1.5;
  transition: color 0.3s ease;
}

.restrictions-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
  margin-top: 1.5rem;
}

.restriction-group {
  background: var(--bg-secondary);
  border-radius: 8px;
  padding: 1.5rem;
  border: 1px solid var(--border-color);
  transition: border-color 0.2s, box-shadow 0.2s;
}

.restriction-group:hover {
  border-color: #667eea;
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.1);
}

.restriction-title {
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0 0 1rem 0;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid var(--border-color);
  transition: color 0.3s ease, border-color 0.3s ease;
}

.restriction-save-btn {
  background-color: #667eea;
  color: white;
  border: none;
  padding: 0.75rem 1.5rem;
  border-radius: 6px;
  font-size: 0.95rem;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.2s, transform 0.1s;
  width: 100%;
  margin-top: 1rem;
}

.restriction-save-btn:hover:not(:disabled) {
  background-color: #5568d3;
  transform: translateY(-1px);
}

.restriction-save-btn:active:not(:disabled) {
  transform: translateY(0);
}

.restriction-save-btn:disabled {
  background-color: #ccc;
  cursor: not-allowed;
  transform: none;
}

.field-hint {
  display: block;
  font-size: 0.85rem;
  color: var(--text-secondary);
  margin-top: 0.5rem;
  line-height: 1.4;
  transition: color 0.3s ease;
}

/* Mobile Responsive for Restrictions */
@media (max-width: 768px) {
  .restrictions-container {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .trading-control-section {
    padding: 1.5rem;
  }

  .section-title {
    font-size: 1.25rem;
  }
}.orders-page {
  padding: 2rem;
  width: 100%;
  overflow-x: visible;
  box-sizing: border-box;
}

.orders-header {
  margin-bottom: 2rem;
}

.orders-header h1 {
  font-size: 2rem;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0;
  transition: color 0.3s ease;
}

.orders-loading {
  text-align: center;
  padding: 3rem;
  color: var(--text-secondary);
  font-size: 1.1rem;
  transition: color 0.3s ease;
}

.orders-error {
  padding: 1rem;
  background-color: #fee;
  color: #c33;
  border: 1px solid #fcc;
  border-radius: 6px;
  margin-bottom: 1.5rem;
}

/* Filters */
.orders-filters {
  background: var(--card-bg);
  border-radius: 8px;
  padding: 1.5rem;
  margin-bottom: 2rem;
  box-shadow: 0 2px 4px var(--shadow);
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.orders-filters-row {
  display: flex;
  gap: 1rem;
  margin-bottom: 1rem;
  align-items: center;
  flex-wrap: wrap;
}

.orders-filters-row:last-child {
  margin-bottom: 0;
}

.orders-filter-switch {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
}

.orders-filter-switch input[type="checkbox"] {
  width: 18px;
  height: 18px;
  cursor: pointer;
}

.orders-filter-input {
  flex: 1;
  min-width: 200px;
  padding: 0.5rem;
  border: 1px solid var(--input-border);
  border-radius: 4px;
  font-size: 0.95rem;
  background-color: var(--input-bg);
  color: var(--text-primary);
  transition: all 0.3s ease;
}

.orders-filter-date {
  padding: 0.5rem;
  border: 1px solid var(--input-border);
  border-radius: 4px;
  font-size: 0.95rem;
  background-color: var(--input-bg);
  color: var(--text-primary);
  transition: all 0.3s ease;
}

/* Quick Date Filter Buttons */
.orders-date-filters {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.orders-quick-date-buttons {
  display: flex;
  gap: 0.25rem;
}

.orders-quick-date-btn {
  padding: 0.35rem 0.6rem;
  font-size: 0.75rem;
  font-weight: 600;
  border: 1px solid var(--border-color);
  border-radius: 4px;
  background-color: var(--bg-tertiary);
  color: var(--text-primary);
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}

.orders-quick-date-btn:hover {
  background-color: var(--bg-secondary);
  border-color: var(--border-color);
}

.orders-quick-date-btn.active {
  background-color: #10204E;
  color: white;
  border-color: #10204E;
}

.orders-quick-date-btn.active:hover {
  background-color: rgba(16, 32, 78, 0.9);
}

.orders-custom-date-inputs {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.25rem;
}

.orders-date-separator {
  color: var(--text-secondary);
  font-size: 0.85rem;
}

/* Table Filters (above AG Grid) */
.orders-table-filters {
  background: var(--card-bg);
  border-radius: 8px;
  padding: 1rem 1.5rem;
  margin-bottom: 1rem;
  box-shadow: 0 2px 4px var(--shadow);
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.orders-table-filters-row {
  display: flex;
  gap: 1.5rem;
  align-items: center;
  flex-wrap: wrap;
}

.orders-table-filter-group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.orders-table-filter-label {
  font-weight: 500;
  color: var(--text-primary);
  white-space: nowrap;
  font-size: 0.9rem;
  transition: color 0.3s ease;
}

.orders-table-filters .orders-filter-switch {
  margin: 0;
  padding: 0;
}

/* Summary Table */
.orders-summary {
  background: var(--card-bg);
  border-radius: 8px;
  padding: 0.6rem;
  box-shadow: 0 2px 4px var(--shadow);
  width: 55%;
  min-width: 600px;
  max-width: 100%;
  flex-shrink: 0;
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
  overflow-x: auto !important; /* Force horizontal scrollbar */
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  position: relative; /* Ensure proper stacking context for scrollbar */
  /* Ensure scrollbar is always visible when content overflows */
  scrollbar-width: 24px; /* Firefox */
  scrollbar-color: var(--border-color) var(--bg-tertiary); /* Firefox */
  /* Force scrollbar to always show on WebKit browsers */
  scrollbar-gutter: stable;
}

/* Thicker scrollbars for summary table (3x) - apply to all screen sizes */
.orders-summary::-webkit-scrollbar {
  width: 24px !important; /* 3x thicker (default is ~8px) */
  height: 24px !important;
  display: block !important; /* Force scrollbar to show */
}

.orders-summary::-webkit-scrollbar-track {
  background: var(--bg-tertiary) !important;
  border-radius: 12px;
  display: block !important;
}

.orders-summary::-webkit-scrollbar-thumb {
  background: var(--border-color) !important;
  border-radius: 12px;
  border: 4px solid var(--bg-tertiary);
  min-height: 50px !important; /* Ensure thumb is visible */
  min-width: 50px !important;
  display: block !important;
}

.orders-summary::-webkit-scrollbar-thumb:hover {
  background: var(--text-secondary) !important;
}

/* Make sure the table wrapper allows scrolling */
.orders-summary > * {
  min-width: 0; /* Allow shrinking */
}

.orders-summary h2 {
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0 0 0.6rem 0;
  padding: 0.3rem 0.6rem;
  transition: color 0.3s ease;
}

.orders-summary-table {
  width: 100%;
  min-width: 1100px; /* Force horizontal scroll when container is smaller */
  border-collapse: collapse;
  font-size: 0.8rem;
  table-layout: auto; /* Allow columns to size based on content */
}

.orders-summary-table thead {
  background-color: var(--bg-tertiary);
  transition: background-color 0.3s ease;
}

.orders-summary-table th {
  padding: 0.4rem 0.5rem;
  text-align: left;
  font-weight: 600;
  color: var(--text-primary);
  border-bottom: 1px solid var(--border-color);
  font-size: 0.8rem;
  transition: color 0.3s ease, border-color 0.3s ease;
  white-space: nowrap; /* Prevent text wrapping in headers */
}

.orders-summary-table td {
  padding: 0.4rem 0.5rem;
  border-bottom: 1px solid var(--border-color-light);
  color: var(--text-primary);
  font-size: 0.8rem;
  transition: color 0.3s ease, border-color 0.3s ease;
  white-space: nowrap; /* Prevent text wrapping in cells */
}

.orders-summary-table tbody tr:hover {
  background-color: var(--bg-tertiary);
  transition: background-color 0.3s ease;
}

/* Actions */
.orders-actions-top {
  display: flex;
  gap: 1rem;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
}

.orders-actions-summary-container {
  display: flex;
  gap: 1.5rem;
  margin-bottom: 1.5rem;
  align-items: flex-start;
  width: 100%;
  overflow-x: visible;
}

.orders-actions {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  flex: 1;
}

.orders-action-btn {
  border: none;
  padding: 0.75rem 1.5rem;
  border-radius: 6px;
  font-size: 1rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
}

.orders-btn-primary {
  background-color: #10204E;
  color: white;
}

.orders-btn-primary:hover {
  background-color: rgba(16, 32, 78, 0.9);
}

.orders-btn-danger {
  background-color: #dc3545;
  color: white;
}

.orders-btn-danger:hover {
  background-color: #c82333;
}

.orders-export-btn {
  background-color: #28a745;
  color: white;
  border: none;
  padding: 0.75rem 1.5rem;
  border-radius: 6px;
  font-size: 1rem;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.2s;
}

.orders-export-btn:hover {
  background-color: #218838;
}

/* Alert */
.orders-alert {
  padding: 1rem;
  border-radius: 6px;
  margin-bottom: 1.5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.orders-alert-success {
  background-color: #d4edda;
  color: #155724;
  border: 1px solid #c3e6cb;
}

.orders-alert-danger {
  background-color: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
}

.orders-alert-close {
  background: none;
  border: none;
  font-size: 1.5rem;
  cursor: pointer;
  color: inherit;
  padding: 0;
  margin-left: 1rem;
  line-height: 1;
}

/* Modal */
.orders-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}

.orders-modal {
  background: white;
  border-radius: 16px;
  max-width: 800px;
  width: 90%;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  border: 1px solid #e2e8f0;
}

.orders-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.75rem 2rem;
  border-bottom: 2px solid #e2e8f0;
  background: linear-gradient(135deg, #f7fafc 0%, #edf2f7 100%);
  border-radius: 16px 16px 0 0;
}

.orders-modal-header h2 {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 700;
  color: #1a202c;
  letter-spacing: -0.025em;
}

.orders-modal-close {
  background: none;
  border: none;
  font-size: 2rem;
  cursor: pointer;
  color: #666;
  padding: 0;
  line-height: 1;
}

.orders-modal-close:hover {
  color: #333;
}

.orders-modal-body {
  padding: 1.5rem;
}

.orders-modal-large {
  max-width: 900px;
}

/* Form Styles - Modern Design */
.orders-form {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.orders-form-group {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.orders-form-group label {
  font-weight: 600;
  color: #1a202c;
  font-size: 0.875rem;
  letter-spacing: 0.025em;
  text-transform: uppercase;
}

.orders-form-group input,
.orders-form-group select {
  padding: 0.75rem 1rem;
  border: 2px solid var(--input-border);
  border-radius: 8px;
  font-size: 0.95rem;
  font-family: inherit;
  background-color: var(--input-bg);
  transition: all 0.2s ease;
  color: var(--text-primary);
}

.orders-form-group input:hover,
.orders-form-group select:hover {
  border-color: var(--border-color);
}

.orders-form-group input:focus,
.orders-form-group select:focus {
  outline: none;
  border-color: var(--input-focus);
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
  background-color: var(--input-bg);
}

.orders-form-group input::placeholder {
  color: var(--text-tertiary);
}

.orders-form-hint {
  font-size: 0.75rem;
  color: #718096;
  margin-top: -0.5rem;
  font-style: italic;
}

.orders-form-help {
  font-size: 0.75rem;
  color: #718096;
  margin-top: 0.25rem;
  font-style: italic;
}

.orders-form-input {
  width: 100%;
}

.orders-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.orders-form-actions {
  display: flex;
  gap: 1rem;
  justify-content: flex-end;
  margin-top: 0.5rem;
  padding-top: 1.5rem;
  border-top: 2px solid #e2e8f0;
}

.orders-btn-secondary {
  background-color: #ffffff;
  color: #4a5568;
  border: 2px solid #e2e8f0;
  padding: 0.75rem 1.75rem;
  border-radius: 8px;
  font-size: 0.95rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}

.orders-btn-secondary:hover {
  background-color: #f7fafc;
  border-color: #cbd5e0;
  color: #2d3748;
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.orders-btn-primary {
  background-color: #10204E;
  color: white;
  border: none;
  padding: 0.75rem 1.75rem;
  border-radius: 8px;
  font-size: 0.95rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  box-shadow: 0 4px 6px rgba(16, 32, 78, 0.25);
}

.orders-btn-primary:hover {
  background-color: rgba(16, 32, 78, 0.9);
  transform: translateY(-2px);
  box-shadow: 0 6px 12px rgba(16, 32, 78, 0.35);
}

.orders-btn-primary:active {
  transform: translateY(0);
  box-shadow: 0 2px 4px rgba(16, 32, 78, 0.25);
}

/* Views Dropdown - Sidebar Menu Style */
.orders-views-container {
  position: relative;
  display: inline-block;
  z-index: 1000;
}

.orders-views-container:hover .orders-views-dropdown {
  display: block;
}

.orders-views-container .orders-views-btn {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.orders-views-btn {
  display: flex !important;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  background-color: #10204E !important;
  color: #ffffff !important;
  border: none;
  border-radius: 6px;
  font-size: 1rem;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.2s, color 0.2s;
  font-family: inherit;
  position: relative;
  z-index: 1002;
  visibility: visible !important;
  opacity: 1 !important;
  width: auto;
  height: auto;
}

.orders-views-btn:hover {
  background-color: rgba(255, 255, 255, 0.15);
  color: #ffffff;
}

.orders-views-icon {
  font-size: 1rem;
  min-width: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.orders-views-chevron {
  font-size: 0.75rem;
  min-width: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.orders-views-unsaved-indicator {
  color: #fbbf24;
  font-size: 0.5rem;
  margin-left: 0.25rem;
}

.orders-views-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 0.5rem;
  background-color: #10204E;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
  min-width: 250px;
  z-index: 1001;
  border: 1px solid rgba(255, 255, 255, 0.2);
  pointer-events: auto;
}

.orders-views-header {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  font-size: 0.875rem;
  color: #ffffff;
}

.orders-views-list {
  max-height: 300px;
  overflow-y: auto;
}

.orders-views-empty {
  padding: 1rem;
  text-align: center;
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.875rem;
}

.orders-view-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  cursor: pointer;
  transition: background-color 0.2s;
}

.orders-view-item:hover {
  background-color: rgba(255, 255, 255, 0.15);
}

.orders-view-item.active {
  background-color: rgba(255, 255, 255, 0.25);
  font-weight: 600;
}

.orders-view-item.active .orders-view-name {
  color: #ffffff;
}

.orders-view-name {
  flex: 1;
  color: #ffffff;
  font-size: 0.9rem;
}

.orders-view-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.orders-view-update,
.orders-view-set-default,
.orders-view-delete {
  background: none;
  border: none;
  color: #ffffff;
  font-size: 1rem;
  cursor: pointer;
  padding: 0.25rem;
  line-height: 1;
  transition: background-color 0.2s, transform 0.2s, color 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  min-width: 1.5rem;
  min-height: 1.5rem;
}

.orders-view-update:hover,
.orders-view-set-default:hover,
.orders-view-delete:hover {
  background-color: rgba(255, 255, 255, 0.15);
  transform: scale(1.1);
}

.orders-view-set-default.is-default {
  color: #ffc107;
}

.orders-view-set-default.is-default:hover {
  color: #ffca2c;
}

.orders-view-item.orders-view-default {
  background-color: rgba(251, 191, 36, 0.2);
  border-left: 3px solid #fbbf24;
}

.orders-view-default-badge {
  color: #fbbf24;
  font-size: 0.75rem;
  font-weight: 600;
  margin-left: 0.25rem;
}

.orders-views-actions {
  padding: 0.75rem 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.orders-view-save-btn,
.orders-view-reset-btn {
  width: 100%;
  background-color: rgba(255, 255, 255, 0.15);
  color: #ffffff;
  border: none;
  padding: 0.6rem 1rem;
  border-radius: 6px;
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}

.orders-view-save-btn:hover,
.orders-view-reset-btn:hover {
  background-color: rgba(255, 255, 255, 0.25);
}


/* Unsaved changes indicator */
.orders-views-unsaved {
  position: relative;
}

@keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}

/* Dark mode support for views */
.dark-mode .orders-views-btn {
  background-color: #10204E;
  color: #ffffff;
}

.dark-mode .orders-views-btn:hover {
  background-color: rgba(255, 255, 255, 0.15);
}

.dark-mode .orders-views-dropdown {
  background-color: #10204E;
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.dark-mode .orders-views-header {
  color: #ffffff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.dark-mode .orders-views-empty {
  color: rgba(255, 255, 255, 0.8);
}

.dark-mode .orders-view-item {
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.dark-mode .orders-view-item:hover {
  background-color: rgba(255, 255, 255, 0.15);
}

.dark-mode .orders-view-item.active {
  background-color: rgba(255, 255, 255, 0.25);
}

.dark-mode .orders-view-name {
  color: #ffffff;
}

.dark-mode .orders-view-update,
.dark-mode .orders-view-set-default,
.dark-mode .orders-view-delete {
  color: #ffffff;
}

.dark-mode .orders-view-update:hover,
.dark-mode .orders-view-set-default:hover,
.dark-mode .orders-view-delete:hover {
  background-color: rgba(255, 255, 255, 0.15);
}

.dark-mode .orders-views-actions {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.dark-mode .orders-view-save-btn,
.dark-mode .orders-view-reset-btn {
  background-color: rgba(255, 255, 255, 0.15);
  color: #ffffff;
}

.dark-mode .orders-view-save-btn:hover,
.dark-mode .orders-view-reset-btn:hover {
  background-color: rgba(255, 255, 255, 0.25);
}

/* Orders Table */
.orders-table-container {
  background: white;
  border-radius: 8px;
  padding: 1.5rem;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  overflow-x: auto;
}

.orders-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.85rem;
  min-width: 1500px;
}

.orders-table thead {
  background-color: #f8f9fa;
  position: sticky;
  top: 0;
  z-index: 10;
}

.orders-table th {
  padding: 0.75rem 0.5rem;
  text-align: left;
  font-weight: 600;
  color: #333;
  border-bottom: 2px solid #dee2e6;
  white-space: nowrap;
  font-size: 0.8rem;
}

.orders-table td {
  padding: 0.75rem 0.5rem;
  border-bottom: 1px solid #e9ecef;
  color: #666;
  white-space: nowrap;
}

.orders-table tbody tr:hover {
  background-color: #f8f9fa;
}

.orders-table a {
  color: #667eea;
  text-decoration: none;
}

.orders-table a:hover {
  text-decoration: underline;
}

.orders-empty {
  text-align: center;
  padding: 2rem;
  color: #999;
  font-style: italic;
}

/* AG Grid styles */
.ag-theme-alpine {
  --ag-font-family: inherit;
  --ag-font-size: 0.9rem;
}

/* Thicker scrollbars for AG Grid - apply to all screen sizes */
.ag-theme-alpine ::-webkit-scrollbar {
  width: 30px !important; /* Wider scrollbars (default is ~8px) */
  height: 30px !important;
}

.ag-theme-alpine ::-webkit-scrollbar-track {
  background: var(--bg-tertiary) !important;
  border-radius: 15px;
}

.ag-theme-alpine ::-webkit-scrollbar-thumb {
  background: var(--border-color) !important;
  border-radius: 15px;
  border: 5px solid var(--bg-tertiary);
  min-height: 60px; /* Ensure thumb is visible */
  min-width: 60px;
}

.ag-theme-alpine ::-webkit-scrollbar-thumb:hover {
  background: var(--text-secondary) !important;
}

/* Firefox scrollbars for AG Grid */
.ag-theme-alpine {
  scrollbar-width: 30px;
  scrollbar-color: var(--border-color) var(--bg-tertiary);
}

/* Ensure AG Grid viewport has thick scrollbars */
.ag-theme-alpine .ag-body-viewport {
  scrollbar-width: 30px;
  scrollbar-color: var(--border-color) var(--bg-tertiary);
}

.ag-theme-alpine .ag-body-horizontal-scroll-viewport {
  scrollbar-width: 30px;
  scrollbar-color: var(--border-color) var(--bg-tertiary);
}

.ag-theme-alpine .ag-body-horizontal-scroll-viewport::-webkit-scrollbar {
  height: 30px !important;
}

.ag-theme-alpine .ag-body-horizontal-scroll-viewport::-webkit-scrollbar-track {
  background: var(--bg-tertiary) !important;
  border-radius: 15px;
}

.ag-theme-alpine .ag-body-horizontal-scroll-viewport::-webkit-scrollbar-thumb {
  background: var(--border-color) !important;
  border-radius: 15px;
  border: 5px solid var(--bg-tertiary);
  min-width: 60px;
}

.ag-theme-alpine .ag-body-horizontal-scroll-viewport::-webkit-scrollbar-thumb:hover {
  background: var(--text-secondary) !important;
}

/* Mobile-specific styles for preventing column dragging */
@media (max-width: 768px) {
  /* Prevent column dragging from cells on mobile - only allow from headers */
  .ag-theme-alpine .ag-cell {
    touch-action: pan-y pan-x !important; /* Allow scrolling, prevent dragging */
    user-select: text; /* Allow text selection */
    -webkit-user-drag: none; /* Prevent dragging */
    -moz-user-select: text;
    -ms-user-select: text;
  }
  
  /* Prevent column drag handle from appearing in cells */
  .ag-theme-alpine .ag-cell .ag-drag-handle {
    display: none !important;
  }
  
  /* Allow column dragging only from header */
  .ag-theme-alpine .ag-header-cell {
    touch-action: none; /* Allow dragging from header */
  }
  
  /* Show drag handle only in header */
  .ag-theme-alpine .ag-header-cell .ag-drag-handle {
    display: block;
  }
  
  /* Ensure scrolling works in grid */
  .ag-theme-alpine .ag-body-viewport {
    -webkit-overflow-scrolling: touch;
  }
}

/* Mobile Responsive Styles */
@media (max-width: 768px) {
  .orders-page {
    padding: 1rem;
    overflow-x: visible;
  }

  .orders-header h1 {
    font-size: 1.5rem;
  }

  .orders-filters {
    padding: 1rem;
  }

  .orders-filters-row {
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
  }

  .orders-filter-group {
    width: 100%;
  }

  .orders-actions-summary-container {
    flex-direction: column;
    gap: 1rem;
    width: 100%;
    overflow-x: visible;
  }

  .orders-summary {
    width: 100%;
    min-width: 0;
    max-width: 100vw;
    padding: 0.5rem;
    overflow-x: auto;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
    position: relative;
    box-sizing: border-box;
    /* Scrollbar styles are defined globally above */
  }

  .orders-summary h2 {
    font-size: 0.95rem;
    padding: 0.25rem 0.5rem;
    position: sticky;
    left: 0;
    background: var(--card-bg);
    z-index: 1;
  }

  .orders-summary-table {
    width: auto;
    min-width: 1100px; /* Ensure table maintains minimum width for all 9 columns */
    font-size: 0.65rem;
    display: table;
    table-layout: auto;
    border-collapse: collapse;
  }

  .orders-summary-table th {
    padding: 0.35rem 0.4rem;
    font-size: 0.7rem;
    white-space: nowrap;
    position: sticky;
    top: 0;
    background: var(--bg-tertiary);
    z-index: 1;
  }

  .orders-summary-table td {
    padding: 0.35rem 0.4rem;
    font-size: 0.7rem;
    white-space: nowrap;
  }

  .orders-grid-container {
    height: calc(100vh - 400px);
    min-height: 300px;
  }

  .orders-buttons-row {
    flex-direction: column;
    gap: 0.5rem;
  }

  .orders-button {
    width: 100%;
  }

  .orders-modal {
    width: 95%;
    max-width: 95%;
    margin: 1rem auto;
    padding: 1rem;
  }

  .orders-form-row {
    flex-direction: column;
  }

  .orders-form-group {
    width: 100%;
  }

  .orders-table-filters-row {
    flex-direction: column;
    gap: 0.75rem;
  }

  .orders-table-filter-group {
    width: 100%;
  }
}

.filters-page {
  padding: 2rem;
  max-width: 1600px;
  margin: 0 auto;
  min-height: 100vh;
}

.filters-page h1 {
  margin-bottom: 2rem;
  font-size: 2rem;
  font-weight: 700;
  color: var(--text-primary);
  transition: color 0.3s ease;
}

.filters-loading {
  text-align: center;
  padding: 3rem;
  font-size: 1.2rem;
  color: var(--text-secondary);
  transition: color 0.3s ease;
}

.filters-loading-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  color: white;
}

.filters-loading-spinner {
  width: 50px;
  height: 50px;
  border: 4px solid rgba(255, 255, 255, 0.3);
  border-top-color: white;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin-bottom: 1rem;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

.filters-controls {
  display: flex;
  gap: 2rem;
  margin-bottom: 2rem;
  flex-wrap: wrap;
}

.control-group {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  min-width: 250px;
}

.control-group-button {
  min-width: auto;
  justify-content: flex-end;
}

.control-group-button label {
  visibility: hidden;
  height: 0;
  margin: 0;
}

.btn-copy-filters {
  white-space: nowrap;
  height: fit-content;
}

.control-group label {
  font-weight: 600;
  color: var(--text-primary);
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  transition: color 0.3s ease;
}

.control-group select {
  padding: 0.75rem 1rem;
  border: 2px solid var(--input-border);
  border-radius: 8px;
  font-size: 1rem;
  font-family: inherit;
  background-color: var(--input-bg);
  transition: all 0.2s ease;
  color: var(--text-primary);
}

.control-group select:hover {
  border-color: #cbd5e0;
}

.control-group select:focus {
  outline: none;
  border-color: #667eea;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

.alert {
  padding: 1rem 1.5rem;
  border-radius: 8px;
  margin-bottom: 1rem;
  font-size: 0.95rem;
  border: 1px solid;
  animation: slideIn 0.3s ease;
}

@keyframes slideIn {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.alert-error {
  background-color: #fed7d7;
  color: #c53030;
  border-color: #fc8181;
}

.alert-success {
  background-color: #c6f6d5;
  color: #22543d;
  border-color: #68d391;
}

.alert-info {
  background-color: #bee3f8;
  color: #2c5282;
  border-color: #63b3ed;
}

.filters-table {
  border: 1px solid var(--border-color);
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 2rem;
  background: var(--card-bg);
  box-shadow: 0 1px 3px var(--shadow);
  transition: background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
  display: flex;
  flex-direction: column;
  max-height: calc(100vh - 250px);
}

.filters-header {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 0.8fr 1fr 1fr 0.8fr;
  gap: 1rem;
  padding: 1rem 1.5rem;
  background: var(--bg-tertiary);
  font-weight: 700;
  border-bottom: 2px solid var(--border-color);
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--text-primary);
  transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease;
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.filters-body {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
}

.filter-row {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 0.8fr 1fr 1fr 0.8fr;
  gap: 1rem;
  padding: 1rem 1.5rem;
  border-bottom: 1px solid var(--border-color);
  align-items: center;
  transition: background-color 0.2s, border-color 0.3s ease;
}

.filter-row:last-child {
  border-bottom: none;
}

.filter-row:hover {
  background-color: var(--bg-tertiary);
}

/* Filter Section Styles */
.filter-section {
  border-bottom: 1px solid var(--border-color);
}

.filter-section:last-child {
  border-bottom: none;
}

.filter-section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.5rem;
  background: linear-gradient(135deg, var(--bg-tertiary) 0%, var(--bg-secondary) 100%);
  cursor: pointer;
  user-select: none;
  list-style: none;
  font-weight: 600;
  color: var(--text-primary);
  transition: background-color 0.2s ease;
  border-bottom: 1px solid var(--border-color);
}

.filter-section-header:hover {
  background: linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-tertiary) 100%);
}

.filter-section-header::-webkit-details-marker {
  display: none;
}

.filter-section-header::before {
  content: '▶';
  display: inline-block;
  margin-right: 0.75rem;
  transition: transform 0.2s ease;
  color: #667eea;
  font-size: 0.75rem;
}

.filter-section[open] > .filter-section-header::before {
  transform: rotate(90deg);
}

.section-title {
  font-size: 1rem;
  letter-spacing: 0.02em;
}

.section-count {
  font-size: 0.8rem;
  padding: 0.25rem 0.75rem;
  background: rgba(102, 126, 234, 0.1);
  border-radius: 20px;
  color: #667eea;
  font-weight: 500;
}

.filter-section-content {
  background: var(--card-bg);
}

.filter-section-content .filter-row:first-child {
  border-top: none;
}

.filter-section-content .filter-row:last-child {
  border-bottom: none;
}

.filter-col-name {
  font-weight: 500;
  color: var(--text-primary);
  text-transform: capitalize;
  transition: color 0.3s ease;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* Filter Other Groups Tooltip Indicator */
.filter-other-groups-indicator {
  position: relative;
  cursor: help;
  display: inline-flex;
  align-items: center;
}

.filter-other-groups-indicator .indicator-icon {
  font-size: 0.75rem;
  color: #718096;
  transition: color 0.2s ease;
}

.filter-other-groups-indicator.has-active .indicator-icon {
  color: #667eea;
}

.filter-other-groups-indicator:hover .indicator-icon {
  color: #667eea;
}

.filter-tooltip {
  position: absolute;
  left: 100%;
  top: 50%;
  transform: translateY(-50%);
  margin-left: 0.5rem;
  background: var(--card-bg, #fff);
  border: 1px solid var(--border-color, #e2e8f0);
  border-radius: 8px;
  padding: 0.75rem;
  min-width: 220px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, visibility 0.2s ease;
  pointer-events: none;
}

.filter-other-groups-indicator:hover .filter-tooltip {
  opacity: 1;
  visibility: visible;
}

.tooltip-title {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--text-secondary, #718096);
  margin-bottom: 0.5rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.tooltip-group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.35rem 0;
  border-bottom: 1px solid var(--border-color, #e2e8f0);
  font-size: 0.85rem;
}

.tooltip-group:last-child {
  border-bottom: none;
}

.tooltip-group.inactive {
  opacity: 0.6;
}

.tooltip-group-name {
  font-weight: 500;
  color: var(--text-primary, #1a202c);
  flex-shrink: 0;
  max-width: 100px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tooltip-value {
  color: #667eea;
  font-weight: 600;
  flex: 1;
}

.tooltip-status {
  font-size: 0.75rem;
  color: #a0aec0;
}

.tooltip-status.active {
  color: #48bb78;
}

.filter-col-cond select,
.filter-col-logic select {
  width: 100%;
  padding: 0.5rem 0.75rem;
  border: 2px solid var(--input-border);
  border-radius: 6px;
  font-size: 0.95rem;
  font-family: inherit;
  background-color: var(--input-bg);
  transition: all 0.2s ease;
  color: var(--text-primary);
}

.filter-col-cond select:hover,
.filter-col-logic select:hover {
  border-color: #cbd5e0;
}

.filter-col-cond select:focus,
.filter-col-logic select:focus {
  outline: none;
  border-color: #667eea;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

.filter-col-value input,
.filter-col-value2 input {
  width: 100%;
  padding: 0.5rem 0.75rem;
  border: 2px solid var(--input-border);
  border-radius: 6px;
  font-size: 0.95rem;
  font-family: inherit;
  background-color: var(--input-bg);
  transition: all 0.2s ease;
  color: var(--text-primary);
}

.filter-col-value input:hover,
.filter-col-value2 input:hover {
  border-color: #cbd5e0;
}

.filter-col-value input:focus,
.filter-col-value2 input:focus {
  outline: none;
  border-color: #667eea;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

.filter-col-value2 input:disabled {
  background-color: var(--bg-tertiary);
  color: var(--text-tertiary);
  cursor: not-allowed;
}

.filter-col-between input,
.filter-col-active input {
  width: 20px;
  height: 20px;
  cursor: pointer;
  accent-color: #667eea;
}

.filters-actions {
  display: flex;
  gap: 1rem;
  margin-bottom: 2rem;
  flex-wrap: wrap;
}

.btn {
  padding: 0.75rem 1.75rem;
  border: none;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

.btn-success {
  background-color: #10204E;
  color: white;
}

.btn-success:hover:not(:disabled) {
  background-color: rgba(16, 32, 78, 0.9);
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(16, 32, 78, 0.3);
}

.btn-primary {
  background-color: #10204E;
  color: white;
}

.btn-primary:hover:not(:disabled) {
  background-color: rgba(16, 32, 78, 0.9);
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(16, 32, 78, 0.3);
}

.apply-results {
  margin-top: 2rem;
  padding: 2rem;
  background: var(--card-bg);
  border-radius: 12px;
  border: 1px solid var(--border-color);
  box-shadow: 0 2px 4px var(--shadow);
  transition: background-color 0.3s ease, border-color 0.3s ease;
}

.apply-results h3 {
  margin-top: 0;
  margin-bottom: 1.5rem;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--text-primary);
}

.apply-results-summary {
  margin-bottom: 2rem;
  padding: 1.5rem;
  background: var(--bg-tertiary);
  border-radius: 8px;
  border: 1px solid var(--border-color);
}

.apply-results-summary p {
  margin: 0.5rem 0;
  color: var(--text-primary);
  font-size: 0.95rem;
  line-height: 1.6;
}

.apply-results-summary strong {
  color: var(--text-primary);
  font-weight: 600;
}

.apply-results-accordion {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.accordion-item {
  border: 1px solid var(--border-color);
  border-radius: 8px;
  overflow: hidden;
  background: var(--card-bg);
}

.accordion-header {
  padding: 1rem 1.5rem;
  background: var(--bg-tertiary);
  cursor: pointer;
  font-weight: 600;
  color: var(--text-primary);
  list-style: none;
  transition: background-color 0.2s;
  user-select: none;
}

.accordion-header:hover {
  background: var(--bg-secondary);
}

.accordion-header::-webkit-details-marker {
  display: none;
}

.accordion-header::before {
  content: '▶';
  display: inline-block;
  margin-right: 0.75rem;
  transition: transform 0.2s;
  color: #667eea;
}

.accordion-item[open] .accordion-header::before {
  transform: rotate(90deg);
}

.accordion-content {
  padding: 1.5rem;
  background: var(--card-bg);
}

.pairs-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.pairs-list li {
  padding: 0.75rem;
  background: var(--bg-tertiary);
  border-radius: 6px;
  border: 1px solid var(--border-color);
  transition: all 0.2s;
}

.pairs-list li:hover {
  background: var(--bg-secondary);
  border-color: var(--border-color);
}

.pair-item-detailed {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.pairs-list a {
  color: #667eea;
  text-decoration: none;
  font-weight: 500;
  transition: color 0.2s;
}

.pairs-list a:hover {
  color: #764ba2;
  text-decoration: underline;
}

.pair-details {
  font-size: 0.875rem;
  color: var(--text-secondary);
  font-style: italic;
}

.no-pairs {
  color: var(--text-secondary);
  font-style: italic;
  text-align: center;
  padding: 2rem;
}

@media (max-width: 768px) {
  .filters-page {
    padding: 1rem;
  }

  .filters-header {
    display: none;
  }

  .filter-row {
    grid-template-columns: 1fr;
    gap: 1rem;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    margin-bottom: 1rem;
    padding: 1.5rem;
  }

  .filter-row::before {
    content: attr(data-filter-name);
    font-weight: 700;
    font-size: 1.1rem;
    color: var(--text-primary);
    display: block;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 2px solid var(--border-color);
    text-transform: capitalize;
  }

  .filter-col-name {
    display: none;
  }

  .filter-col-cond,
  .filter-col-value,
  .filter-col-between,
  .filter-col-value2,
  .filter-col-logic,
  .filter-col-active {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }

  .filter-col-cond::before {
    content: 'Condition:';
    font-weight: 600;
    color: var(--text-secondary);
    font-size: 0.875rem;
  }

  .filter-col-value::before {
    content: 'Value:';
    font-weight: 600;
    color: var(--text-secondary);
    font-size: 0.875rem;
  }

  .filter-col-between::before {
    content: 'Between:';
    font-weight: 600;
    color: var(--text-secondary);
    font-size: 0.875rem;
  }

  .filter-col-value2::before {
    content: 'Value 2:';
    font-weight: 600;
    color: var(--text-secondary);
    font-size: 0.875rem;
  }

  .filter-col-logic::before {
    content: 'Logic:';
    font-weight: 600;
    color: var(--text-secondary);
    font-size: 0.875rem;
  }

  .filter-col-active::before {
    content: 'Active:';
    font-weight: 600;
    color: var(--text-secondary);
    font-size: 0.875rem;
  }

  .filters-actions {
    flex-direction: column;
  }

  .btn {
    width: 100%;
  }
}

/* Modal Styles */
.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  animation: fadeIn 0.2s ease;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.modal-content {
  background: var(--card-bg, #fff);
  border-radius: 12px;
  padding: 2rem;
  max-width: 500px;
  width: 90%;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
  animation: slideUp 0.3s ease;
}

@keyframes slideUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.modal-content h3 {
  margin: 0 0 1rem 0;
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--text-primary, #1a202c);
}

.modal-description {
  margin: 0 0 1.5rem 0;
  color: var(--text-secondary, #718096);
  font-size: 0.95rem;
  line-height: 1.6;
}

.modal-form {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.modal-form label {
  font-weight: 600;
  color: var(--text-primary, #1a202c);
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.modal-form select {
  padding: 0.75rem 1rem;
  border: 2px solid var(--input-border, #e2e8f0);
  border-radius: 8px;
  font-size: 1rem;
  font-family: inherit;
  background-color: var(--input-bg, #fff);
  color: var(--text-primary, #1a202c);
  transition: all 0.2s ease;
}

.modal-form select:hover {
  border-color: #cbd5e0;
}

.modal-form select:focus {
  outline: none;
  border-color: #667eea;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

.modal-target-info {
  padding: 1rem;
  background: var(--bg-tertiary, #f7fafc);
  border-radius: 8px;
  margin-bottom: 1.5rem;
  color: var(--text-primary, #1a202c);
  font-size: 0.95rem;
  border: 1px solid var(--border-color, #e2e8f0);
}

.modal-target-info strong {
  color: var(--text-primary, #1a202c);
}

.modal-actions {
  display: flex;
  gap: 1rem;
  justify-content: flex-end;
}

.btn-secondary {
  background-color: #718096;
  color: white;
}

.btn-secondary:hover:not(:disabled) {
  background-color: #4a5568;
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(74, 85, 104, 0.3);
}

@media (max-width: 768px) {
  .modal-content {
    padding: 1.5rem;
    width: 95%;
  }

  .modal-actions {
    flex-direction: column;
  }

  .modal-actions .btn {
    width: 100%;
  }
}.extract-filters-container {
  padding: 2rem;
  max-width: 1400px;
  margin: 0 auto;
}

.extract-filters-loading,
.extract-filters-error {
  text-align: center;
  padding: 2rem;
  font-size: 1.1rem;
}

.extract-filters-error {
  color: #dc3545;
}

.extract-filters-retry-btn {
  display: block;
  margin: 1rem auto;
  padding: 0.5rem 1rem;
  background-color: #007bff;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

.extract-filters-retry-btn:hover {
  background-color: #0056b3;
}

.extract-filters-alert {
  position: fixed;
  top: 2rem;
  right: 2rem;
  padding: 1rem 1.5rem;
  border-radius: 4px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  z-index: 9999;
  max-width: 400px;
}

.extract-filters-alert-success {
  background-color: #d4edda;
  color: #155724;
  border: 1px solid #c3e6cb;
}

.extract-filters-alert-error {
  background-color: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
}

.extract-filters-content {
  margin-bottom: 2rem;
}

.extract-filters-level {
  margin-bottom: 3rem;
}

.extract-filters-level-title {
  text-transform: uppercase;
  color: var(--text-secondary);
  font-weight: 600;
  font-size: 0.875rem;
  margin-bottom: 1rem;
  margin-top: 2rem;
  transition: color 0.3s ease;
}

.extract-filters-header {
  display: flex;
  height: 40px;
  margin-bottom: 0.5rem;
  border-bottom: 2px solid var(--border-color);
}

.extract-filters-header-cell {
  font-weight: 600;
  padding: 0.5rem;
  display: flex;
  align-items: center;
}

.extract-filter-row {
  margin-bottom: 0.5rem;
}

.extract-filter-row-desktop {
  display: flex;
  height: 40px;
  align-items: center;
}

.extract-filter-cell {
  padding: 0.5rem;
  display: flex;
  align-items: center;
}

.extract-filter-cell input[type="text"],
.extract-filter-cell select {
  padding: 0.375rem 0.75rem;
  border: 1px solid var(--input-border);
  border-radius: 4px;
  font-size: 0.875rem;
  background-color: var(--input-bg);
  color: var(--text-primary);
  transition: all 0.3s ease;
}

.extract-filter-cell input[type="text"]:disabled {
  background-color: var(--bg-tertiary);
  cursor: not-allowed;
  color: var(--text-tertiary);
}

.extract-filter-cell input[type="checkbox"] {
  width: 1.25rem;
  height: 1.25rem;
  cursor: pointer;
}

.extract-filter-row-mobile {
  display: none;
}

.extract-filter-card {
  background-color: var(--card-bg);
  border: 1px solid var(--border-color);
  border-radius: 4px;
  padding: 1rem;
  margin-bottom: 1rem;
  transition: background-color 0.3s ease, border-color 0.3s ease;
}

.extract-filter-card-field {
  margin-bottom: 1rem;
}

.extract-filter-card-row {
  display: flex;
  gap: 1rem;
}

.extract-filter-card-row .extract-filter-card-field {
  flex: 1;
}

.extract-filter-card-label {
  display: block;
  font-size: 0.75rem;
  color: var(--text-secondary);
  font-weight: 600;
  margin-bottom: 0.25rem;
  text-transform: uppercase;
  transition: color 0.3s ease;
}

.extract-filter-card-value {
  font-weight: 600;
  font-size: 0.875rem;
}

.extract-filter-card-field input[type="text"],
.extract-filter-card-field select {
  width: 100%;
  padding: 0.375rem 0.75rem;
  border: 1px solid var(--input-border);
  border-radius: 4px;
  font-size: 0.875rem;
  background-color: var(--input-bg);
  color: var(--text-primary);
  transition: all 0.3s ease;
}

.extract-filter-card-field input[type="text"]:disabled {
  background-color: var(--bg-tertiary);
  cursor: not-allowed;
  color: var(--text-tertiary);
}

.extract-filter-card-field input[type="checkbox"] {
  width: 1.25rem;
  height: 1.25rem;
  cursor: pointer;
}

.extract-filters-actions {
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid var(--border-color);
}

.extract-filters-save-btn {
  padding: 0.75rem 2rem;
  background-color: #10204E;
  color: white;
  border: none;
  border-radius: 4px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.2s;
}

.extract-filters-save-btn:hover:not(:disabled) {
  background-color: rgba(16, 32, 78, 0.9);
}

.extract-filters-save-btn:disabled {
  background-color: #6c757d;
  cursor: not-allowed;
}

/* Responsive */
@media (max-width: 991px) {
  .desktop-only {
    display: none !important;
  }

  .mobile-only {
    display: block !important;
  }
}

@media (min-width: 992px) {
  .desktop-only {
    display: flex !important;
  }

  .mobile-only {
    display: none !important;
  }
}.gaps-report-container {
  padding: 2rem;
  max-width: 100%;
  margin: 0 auto;
}

.gaps-report-loading {
  text-align: center;
  padding: 3rem;
  font-size: 1.1rem;
  color: var(--text-secondary);
  transition: color 0.3s ease;
}

.gaps-report-alert {
  padding: 1rem 1.5rem;
  border-radius: 4px;
  margin-bottom: 1rem;
}

.gaps-report-alert-error {
  background-color: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
}

.gaps-report-filters {
  margin-bottom: 2rem;
  padding: 1.5rem;
  background-color: var(--card-bg);
  border-radius: 8px;
  transition: background-color 0.3s ease;
}

.gaps-report-filter-row {
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
  flex-wrap: wrap;
  gap: 1rem;
}

.gaps-report-filter-label {
  font-weight: bold;
  margin-right: 10px;
  white-space: nowrap;
  color: var(--text-primary);
  transition: color 0.3s ease;
}

.gaps-report-date-input {
  padding: 0.5rem;
  border: 1px solid var(--input-border);
  border-radius: 4px;
  font-size: 0.875rem;
  background-color: var(--input-bg);
  color: var(--text-primary);
  transition: all 0.3s ease;
}

.gaps-report-checkbox-label {
  display: flex;
  align-items: center;
  margin-right: 20px;
  cursor: pointer;
  color: var(--text-primary);
  transition: color 0.3s ease;
}

.gaps-report-checkbox-label input[type="checkbox"] {
  margin-right: 0.5rem;
  width: 1.25rem;
  height: 1.25rem;
  cursor: pointer;
}

.gaps-report-filter-group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 1;
  margin-right: 15px;
}

.gaps-report-pair-input {
  flex: 1;
  padding: 0.5rem;
  border: 1px solid var(--input-border);
  border-radius: 4px;
  font-size: 0.875rem;
  background-color: var(--input-bg);
  color: var(--text-primary);
  transition: all 0.3s ease;
}

.gaps-report-radio-label {
  display: flex;
  align-items: center;
  margin-right: 10px;
  cursor: pointer;
  color: var(--text-primary);
  transition: color 0.3s ease;
}

.gaps-report-radio-label input[type="radio"] {
  margin-right: 0.25rem;
  cursor: pointer;
}

.gaps-report-hint {
  color: var(--text-secondary);
  font-size: 0.75rem;
  margin-left: 0.5rem;
  transition: color 0.3s ease;
}

.gaps-report-filter-btn {
  padding: 0.75rem 2rem;
  background-color: #007bff;
  color: white;
  border: none;
  border-radius: 4px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.2s;
  align-self: flex-end;
}

.gaps-report-filter-btn:hover:not(:disabled) {
  background-color: #0056b3;
}

.gaps-report-filter-btn:disabled {
  background-color: #6c757d;
  cursor: not-allowed;
}

.gaps-report-stats {
  display: flex;
  align-items: center;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
}

.gaps-report-stats h4 {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--text-primary);
  transition: color 0.3s ease;
}

.gaps-report-table-container {
  margin-bottom: 2rem;
  width: 100%;
  height: 900px;
}

.gaps-report-table-container .ag-theme-alpine {
  width: 100%;
  height: 100%;
}

.gaps-report-pair-gaps-container {
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 2px solid #dee2e6;
}

.gaps-report-pair-gaps-title {
  margin-bottom: 1rem;
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--text-primary);
  transition: color 0.3s ease;
}

/* Responsive */
@media (max-width: 768px) {
  .gaps-report-container {
    padding: 1rem;
  }

  .gaps-report-filters {
    padding: 1rem;
  }

  .gaps-report-filter-row {
    flex-direction: column;
    align-items: stretch;
  }

  .gaps-report-filter-group {
    margin-right: 0;
    margin-bottom: 0.5rem;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }

  .gaps-report-filter-label {
    margin-right: 0;
    margin-bottom: 0.5rem;
    white-space: normal;
  }

  .gaps-report-pair-input {
    width: 100%;
    box-sizing: border-box;
  }

  .gaps-report-date-input {
    width: 100%;
    box-sizing: border-box;
  }

  .gaps-report-filter-btn {
    align-self: stretch;
    width: 100%;
  }

  .gaps-report-stats {
    flex-direction: column;
    align-items: flex-start;
  }

  .gaps-report-stats h4 {
    margin-bottom: 0.5rem;
  }

  .gaps-report-table-container {
    height: 500px;
  }
}.scam-filters-container {
  padding: 2rem;
  max-width: 1200px;
  margin: 0 auto;
}

.scam-filters-loading {
  text-align: center;
  padding: 3rem;
  font-size: 1.1rem;
  color: var(--text-secondary);
  transition: color 0.3s ease;
}

.scam-filters-container h1 {
  margin-bottom: 2rem;
  font-size: 2rem;
  font-weight: 600;
  color: var(--text-primary);
  transition: color 0.3s ease;
}

.scam-filters-alert {
  padding: 1rem 1.5rem;
  border-radius: 4px;
  margin-bottom: 1.5rem;
}

.scam-filters-alert-error {
  background-color: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
}

.scam-filters-alert-success {
  background-color: #d4edda;
  color: #155724;
  border: 1px solid #c3e6cb;
}

.scam-filters-form {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin-bottom: 2rem;
}

.scam-filters-section {
  background-color: var(--card-bg);
  border: 1px solid var(--border-color);
  border-radius: 8px;
  padding: 1.5rem;
}

.scam-filters-section-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0 0 0.5rem 0;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid var(--border-color);
}

/* Solana Only section - distinct purple styling */
.scam-filters-section-solana {
  border-left: 4px solid #9945FF;
}

.scam-filters-section-solana .scam-filters-section-title {
  border-bottom-color: #9945FF;
}

/* EVM Only section - distinct gold styling */
.scam-filters-section-evm {
  border-left: 4px solid #F0B90B;
}

.scam-filters-section-evm .scam-filters-section-title {
  border-bottom-color: #F0B90B;
}

.scam-filters-section-desc {
  font-size: 0.9rem;
  color: var(--text-secondary);
  margin: 0 0 1.5rem 0;
}

.scam-filters-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1.25rem;
}

.scam-filters-field {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.scam-filters-field label {
  font-weight: 500;
  color: var(--text-primary);
  font-size: 0.95rem;
  transition: color 0.3s ease;
}

.scam-filters-field select,
.scam-filters-field input[type="text"],
.scam-filters-field input[type="number"] {
  padding: 0.75rem;
  border: 1px solid var(--input-border);
  border-radius: 4px;
  font-size: 1rem;
  background-color: var(--input-bg);
  color: var(--text-primary);
  transition: border-color 0.2s, box-shadow 0.2s, background-color 0.3s ease, color 0.3s ease;
}

.scam-filters-field select:focus,
.scam-filters-field input[type="text"]:focus,
.scam-filters-field input[type="number"]:focus {
  outline: none;
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}

.scam-filters-save-btn {
  grid-column: 1 / -1;
  padding: 0.75rem 2rem;
  background-color: #10204E;
  color: white;
  border: none;
  border-radius: 4px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.2s;
  margin-top: 1rem;
  max-width: 200px;
}

.scam-filters-save-btn:hover:not(:disabled) {
  background-color: rgba(16, 32, 78, 0.9);
}

.scam-filters-save-btn:disabled {
  background-color: #6c757d;
  cursor: not-allowed;
}

/* Responsive design */
@media (max-width: 768px) {
  .scam-filters-form {
    grid-template-columns: 1fr;
  }

  .scam-filters-container {
    padding: 1rem;
  }

  .scam-filters-container h1 {
    font-size: 1.5rem;
  }
}.trading-performance-container {
  padding: 2rem;
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  overflow-x: hidden;
  box-sizing: border-box;
}

.trading-performance-container h1 {
  margin-bottom: 2rem;
  font-size: 2rem;
  font-weight: 600;
  color: var(--text-primary);
  transition: color 0.3s ease;
}

.trading-performance-loading {
  text-align: center;
  padding: 3rem;
  font-size: 1.1rem;
  color: var(--text-secondary);
  transition: color 0.3s ease;
}

.trading-performance-alert {
  padding: 1rem 1.5rem;
  border-radius: 4px;
  margin-bottom: 1.5rem;
}

.trading-performance-alert-error {
  background-color: #fee;
  color: #c33;
  border: 1px solid #fcc;
}

.trading-performance-filters {
  background: var(--card-bg);
  border-radius: 8px;
  padding: 1.5rem;
  margin-bottom: 2rem;
  box-shadow: 0 2px 4px var(--shadow);
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.trading-performance-quick-filters {
  display: flex;
  gap: 0.75rem;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
}

.trading-performance-filter-btn {
  padding: 0.6rem 1.25rem;
  background-color: var(--bg-tertiary);
  color: var(--text-primary);
  border: 1px solid var(--border-color);
  border-radius: 6px;
  font-size: 0.9rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
  white-space: nowrap;
}

.trading-performance-filter-btn:hover {
  background-color: var(--bg-secondary);
  border-color: var(--border-color);
}

.trading-performance-filter-btn.active {
  background-color: #667eea;
  color: white;
  border-color: #667eea;
}

.trading-performance-filter-btn.active:hover {
  background-color: #5568d3;
  border-color: #5568d3;
}

.trading-performance-filter-row {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}

.trading-performance-filter-label {
  font-weight: 500;
  color: var(--text-primary);
  min-width: 120px;
  transition: color 0.3s ease;
}

.trading-performance-date-input {
  padding: 0.75rem;
  border: 1px solid var(--input-border);
  border-radius: 4px;
  font-size: 1rem;
  background-color: var(--input-bg);
  color: var(--text-primary);
  transition: border-color 0.2s, box-shadow 0.2s, background-color 0.3s ease, color 0.3s ease;
}

.trading-performance-date-input:focus {
  outline: none;
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}

.trading-performance-date-inputs {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.trading-performance-date-field {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.trading-performance-date-label {
  display: none;
  font-size: 0.9rem;
  color: var(--text-secondary);
  font-weight: 500;
}

.trading-performance-date-separator {
  color: var(--text-secondary);
  font-weight: 500;
}

.trading-performance-checkbox-label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  font-weight: 500;
  color: var(--text-primary);
  transition: color 0.3s ease;
}

.trading-performance-checkbox-label input[type="checkbox"] {
  cursor: pointer;
  width: 16px;
  height: 16px;
}

.trading-performance-checkbox-label span {
  font-size: 0.9rem;
}

.trading-performance-checkbox-hint {
  font-size: 0.8rem;
  color: var(--text-secondary);
  font-weight: 400;
  transition: color 0.3s ease;
}

.trading-performance-actions {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 1rem;
}

.trading-performance-export-btn {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background-color: #28a745;
  color: white;
  border: none;
  padding: 0.5rem 1rem;
  border-radius: 6px;
  font-size: 0.9rem;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.2s;
}

.trading-performance-export-btn:hover {
  background-color: #218838;
}

.trading-performance-export-btn:disabled {
  background-color: #6c757d;
  cursor: not-allowed;
}

.trading-performance-export-btn svg {
  flex-shrink: 0;
}

.trading-performance-table-wrapper {
  background: var(--card-bg);
  border-radius: 8px;
  padding: 1rem;
  box-shadow: 0 2px 4px var(--shadow);
  overflow-x: auto;
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.trading-performance-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.85rem;
}

.trading-performance-table thead {
  background-color: var(--bg-tertiary);
  transition: background-color 0.3s ease;
}

.trading-performance-table th {
  padding: 0.5rem 0.5rem;
  text-align: center;
  font-weight: 600;
  color: var(--text-primary);
  border-bottom: 2px solid var(--border-color);
  white-space: nowrap;
  transition: color 0.3s ease, border-color 0.3s ease;
}

.trading-performance-table th[title] {
  cursor: help;
  text-decoration: underline dotted;
  text-underline-offset: 3px;
}

.trading-performance-table td {
  padding: 0.5rem 0.5rem;
  text-align: center;
  border-bottom: 1px solid var(--border-color);
  color: var(--text-primary);
  transition: color 0.3s ease, border-color 0.3s ease;
}

.trading-performance-table tbody tr:hover {
  background-color: var(--bg-tertiary);
  transition: background-color 0.3s ease;
}

.trading-performance-table tbody tr:last-child td {
  border-bottom: none;
}

.trading-performance-table tfoot {
  background-color: var(--bg-tertiary);
  border-top: 2px solid var(--border-color);
  transition: background-color 0.3s ease, border-color 0.3s ease;
}

.trading-performance-table tfoot tr {
  font-weight: bold;
}

.trading-performance-table tfoot td {
  padding: 0.75rem 0.5rem;
  border-bottom: none;
  color: var(--text-primary);
  transition: color 0.3s ease;
}

/* Responsive design */
@media (max-width: 768px) {
  .trading-performance-container {
    padding: 0.75rem;
    overflow-x: hidden;
    max-width: 100vw;
    box-sizing: border-box;
  }

  .trading-performance-container h1 {
    font-size: 1.5rem;
    margin-bottom: 1rem;
  }

  .trading-performance-filters {
    padding: 1rem;
    margin-bottom: 1rem;
  }

  .trading-performance-quick-filters {
    gap: 0.5rem;
    margin-bottom: 1rem;
  }

  .trading-performance-actions {
    margin-bottom: 0.75rem;
  }

  .trading-performance-export-btn {
    padding: 0.4rem 0.75rem;
    font-size: 0.8rem;
  }

  .trading-performance-filter-btn {
    padding: 0.5rem 0.75rem;
    font-size: 0.8rem;
    flex: 1;
    min-width: calc(33.33% - 0.5rem);
    text-align: center;
  }

  .trading-performance-filter-row {
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
    width: 100%;
  }

  .trading-performance-filter-label {
    min-width: auto;
    margin-bottom: 0.25rem;
  }

  .trading-performance-date-inputs {
    width: 100%;
    flex-direction: column;
    gap: 0.75rem;
  }

  .trading-performance-date-field {
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
  }

  .trading-performance-date-label {
    display: block;
  }

  .trading-performance-date-separator {
    display: none;
  }

  .trading-performance-date-input {
    width: 100%;
    box-sizing: border-box;
    font-size: 0.85rem;
    padding: 0.5rem 0.4rem;
    min-width: 0;
  }

  .trading-performance-table-wrapper {
    padding: 0.75rem;
    margin: 0 -0.75rem;
    border-radius: 0;
    max-width: 100vw;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .trading-performance-table {
    font-size: 0.75rem;
    min-width: 600px;
    width: max-content;
  }

  .trading-performance-table th,
  .trading-performance-table td {
    padding: 0.4rem 0.3rem;
    white-space: nowrap;
  }
}

.trading-performance-chart-wrapper {
  background: var(--card-bg);
  border-radius: 8px;
  padding: 1.5rem;
  margin-top: 2rem;
  box-shadow: 0 2px 4px var(--shadow);
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.trading-performance-chart-wrapper h2 {
  margin-bottom: 1.5rem;
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--text-primary);
  transition: color 0.3s ease;
}

.trading-performance-chart-controls {
  display: flex;
  gap: 2rem;
  margin-bottom: 1.5rem;
  padding: 1rem;
  background-color: var(--bg-tertiary);
  border-radius: 6px;
  flex-wrap: wrap;
  align-items: center;
  transition: background-color 0.3s ease;
}

.chart-control-group {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.chart-control-group label {
  font-weight: 500;
  color: var(--text-primary);
  white-space: nowrap;
  transition: color 0.3s ease;
}

.chart-control-select {
  padding: 0.5rem 0.75rem;
  border: 1px solid var(--input-border);
  border-radius: 4px;
  font-size: 0.9rem;
  background-color: var(--input-bg);
  color: var(--text-primary);
  cursor: pointer;
  transition: all 0.3s ease;
}

.chart-presets-checkboxes {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  max-height: 150px;
  overflow-y: auto;
  padding: 0.5rem;
  border: 1px solid var(--border-color);
  border-radius: 4px;
  background-color: var(--input-bg);
  transition: all 0.3s ease;
}

.chart-presets-checkboxes label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: normal;
  cursor: pointer;
  font-size: 0.9rem;
  white-space: nowrap;
  color: var(--text-primary);
  transition: color 0.3s ease;
}

.chart-presets-checkboxes input[type="checkbox"] {
  cursor: pointer;
}

.chart-preset-select-all-btn {
  padding: 0.4rem 0.8rem;
  background-color: #667eea;
  color: white;
  border: none;
  border-radius: 4px;
  font-size: 0.85rem;
  cursor: pointer;
  transition: background-color 0.2s;
  margin-top: 0.5rem;
}

.chart-preset-select-all-btn:hover {
  background-color: #5568d3;
}

.chart-metrics-checkboxes {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.chart-metrics-checkboxes label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: normal;
  cursor: pointer;
  font-size: 0.9rem;
  color: var(--text-primary);
  transition: color 0.3s ease;
}

.chart-metrics-checkboxes input[type="checkbox"] {
  cursor: pointer;
}

.trading-performance-chart-container {
  width: 100%;
  height: 400px;
  margin-top: 1rem;
}

/* Mobile Responsive for Chart */
@media (max-width: 768px) {
  .trading-performance-chart-wrapper {
    padding: 0.75rem;
    margin-top: 1rem;
    margin-left: -0.75rem;
    margin-right: -0.75rem;
    border-radius: 0;
    max-width: 100vw;
    overflow-x: hidden;
    box-sizing: border-box;
  }

  .trading-performance-chart-wrapper h2 {
    font-size: 1.1rem;
    margin-bottom: 1rem;
  }

  .trading-performance-chart-controls {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
    padding: 0.75rem;
    max-width: 100%;
    overflow: hidden;
    box-sizing: border-box;
  }

  .chart-control-group {
    width: 100%;
    max-width: 100%;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
    overflow: hidden;
  }

  .chart-control-group label {
    font-size: 0.9rem;
  }

  .chart-control-select {
    width: 100%;
    font-size: 0.9rem;
  }

  .chart-presets-checkboxes {
    width: 100%;
    max-width: 100%;
    max-height: 120px;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding: 0.5rem;
    overflow-x: hidden;
    overflow-y: auto;
    box-sizing: border-box;
  }

  .chart-presets-checkboxes label {
    font-size: 0.85rem;
    min-width: auto;
    flex: 0 0 auto;
  }

  .chart-preset-select-all-btn {
    width: 100%;
    padding: 0.5rem;
    font-size: 0.85rem;
  }

  .chart-metrics-checkboxes {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
  }

  .chart-metrics-checkboxes label {
    font-size: 0.8rem;
  }

  .trading-performance-chart-container {
    height: 280px;
    margin-top: 0.75rem;
    margin-left: 0;
    margin-right: 0;
    max-width: 100%;
    overflow: hidden;
  }
}

.trading-performance-summary-stats {
  margin-top: 2rem;
  padding: 1.5rem;
  background-color: var(--bg-tertiary);
  border-radius: 6px;
  border: 1px solid var(--border-color);
  transition: background-color 0.3s ease, border-color 0.3s ease;
}

.trading-performance-summary-stats h3 {
  margin: 0 0 1rem 0;
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--text-primary);
  transition: color 0.3s ease;
}

.summary-stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
}

.summary-stat-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem;
  background-color: var(--card-bg);
  border-radius: 4px;
  border: 1px solid var(--border-color-light);
  transition: background-color 0.3s ease, border-color 0.3s ease;
}

.summary-stat-label {
  font-weight: 500;
  color: var(--text-primary);
  font-size: 0.9rem;
  transition: color 0.3s ease;
}

.summary-stat-value {
  font-weight: 600;
  color: var(--text-primary);
  font-size: 1rem;
  transition: color 0.3s ease;
}

.summary-stat-value.profit {
  color: #28a745;
}

.summary-stat-value.loss {
  color: #dc3545;
}

/* Mobile Responsive for Summary Stats */
@media (max-width: 768px) {
  .trading-performance-summary-stats {
    margin-top: 1rem;
    padding: 0.75rem;
  }

  .trading-performance-summary-stats h3 {
    font-size: 1rem;
    margin-bottom: 0.75rem;
  }

  .summary-stats-grid {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }

  .summary-stat-item {
    padding: 0.5rem 0.75rem;
  }

  .summary-stat-label {
    font-size: 0.85rem;
  }

  .summary-stat-value {
    font-size: 0.9rem;
  }
}

/* Extra small screens (phones in portrait) */
@media (max-width: 480px) {
  .trading-performance-container {
    padding: 0.5rem;
    overflow-x: hidden;
    max-width: 100vw;
  }

  .trading-performance-container h1 {
    font-size: 1.25rem;
  }

  .trading-performance-filters {
    padding: 0.75rem;
  }

  .trading-performance-quick-filters {
    gap: 0.4rem;
  }

  .trading-performance-filter-btn {
    padding: 0.4rem 0.5rem;
    font-size: 0.75rem;
    min-width: calc(33.33% - 0.4rem);
  }

  .trading-performance-table {
    font-size: 0.7rem;
  }

  .trading-performance-table th,
  .trading-performance-table td {
    padding: 0.3rem 0.2rem;
  }

  .trading-performance-chart-wrapper h2 {
    font-size: 1rem;
  }

  .chart-control-group label {
    font-size: 0.85rem;
  }

  .chart-metrics-checkboxes {
    grid-template-columns: 1fr;
  }

  .chart-metrics-checkboxes label {
    font-size: 0.8rem;
  }

  .trading-performance-chart-container {
    height: 250px;
  }
}
.react-datepicker__navigation-icon::before, .react-datepicker__year-read-view--down-arrow,
.react-datepicker__month-read-view--down-arrow,
.react-datepicker__month-year-read-view--down-arrow {
  border-color: #ccc;
  border-style: solid;
  border-width: 3px 3px 0 0;
  content: "";
  display: block;
  height: 9px;
  position: absolute;
  top: 6px;
  width: 9px;
}
.react-datepicker__sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.react-datepicker-wrapper {
  display: inline-block;
  padding: 0;
  border: 0;
}

.react-datepicker {
  font-family: "Helvetica Neue", helvetica, arial, sans-serif;
  font-size: 0.8rem;
  background-color: #fff;
  color: #000;
  border: 1px solid #aeaeae;
  border-radius: 0.3rem;
  display: inline-block;
  position: relative;
  line-height: initial;
}

.react-datepicker--time-only .react-datepicker__time-container {
  border-left: 0;
}
.react-datepicker--time-only .react-datepicker__time,
.react-datepicker--time-only .react-datepicker__time-box {
  border-bottom-left-radius: 0.375em;
  border-bottom-right-radius: 0.375em;
}

.react-datepicker-popper {
  z-index: 1;
  line-height: 0;
}
.react-datepicker-popper .react-datepicker__triangle {
  stroke: #aeaeae;
}
.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle {
  fill: #f0f0f0;
  color: #f0f0f0;
}
.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle {
  fill: #fff;
  color: #fff;
}
.react-datepicker-popper--header-middle[data-placement^=bottom] .react-datepicker__triangle, .react-datepicker-popper--header-bottom[data-placement^=bottom] .react-datepicker__triangle {
  fill: #fff;
  color: #fff;
}
.react-datepicker-popper--header-bottom[data-placement^=top] .react-datepicker__triangle {
  fill: #f0f0f0;
  color: #f0f0f0;
}

.react-datepicker__header {
  text-align: center;
  background-color: #f0f0f0;
  border-bottom: 1px solid #aeaeae;
  border-top-left-radius: 0.3rem;
  padding: 8px 0;
  position: relative;
}
.react-datepicker__header--time {
  padding-bottom: 8px;
  padding-left: 5px;
  padding-right: 5px;
}
.react-datepicker__header--time:not(.react-datepicker__header--time--only) {
  border-top-left-radius: 0;
}
.react-datepicker__header:not(.react-datepicker__header--has-time-select, .react-datepicker__header--middle, .react-datepicker__header--bottom) {
  border-top-right-radius: 0.3rem;
}
.react-datepicker__header--middle {
  border-top: 1px solid #aeaeae;
  border-radius: 0;
  margin-top: 4px;
}
.react-datepicker__header--bottom {
  border-bottom: none;
  border-top: 1px solid #aeaeae;
  border-radius: 0 0 0.3rem 0.3rem;
}

.react-datepicker__header-wrapper {
  position: relative;
}
.react-datepicker__header-wrapper .react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button) {
  right: 2px;
}

.react-datepicker__year-dropdown-container--select,
.react-datepicker__month-dropdown-container--select,
.react-datepicker__month-year-dropdown-container--select,
.react-datepicker__year-dropdown-container--scroll,
.react-datepicker__month-dropdown-container--scroll,
.react-datepicker__month-year-dropdown-container--scroll {
  display: inline-block;
  margin: 0 15px;
}

.react-datepicker__month-select,
.react-datepicker__year-select,
.react-datepicker__month-year-select {
  background-color: transparent;
  border: 1px solid #aeaeae;
  border-radius: 0.3rem;
  color: inherit;
  cursor: pointer;
  font-family: inherit;
  font-size: inherit;
  margin-top: 5px;
  padding: 2px 5px;
}
.react-datepicker__month-select:focus-visible,
.react-datepicker__year-select:focus-visible,
.react-datepicker__month-year-select:focus-visible {
  outline: auto 1px;
}

.react-datepicker__current-month,
.react-datepicker-time__header,
.react-datepicker-year-header {
  margin-top: 0;
  color: #000;
  font-weight: bold;
  font-size: 0.944rem;
}

h2.react-datepicker__current-month {
  padding: 0;
  margin: 0;
}

.react-datepicker-time__header {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.react-datepicker__navigation {
  align-items: center;
  background: none;
  display: flex;
  justify-content: center;
  text-align: center;
  cursor: pointer;
  position: absolute;
  top: 2px;
  padding: 0;
  border: none;
  z-index: 1;
  height: 32px;
  width: 32px;
  text-indent: -999em;
  overflow: hidden;
}
.react-datepicker__navigation--previous {
  left: 2px;
}
.react-datepicker__navigation--next {
  right: 2px;
}
.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button) {
  right: 85px;
}
.react-datepicker__navigation--years {
  position: relative;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.react-datepicker__navigation--years-previous {
  top: 4px;
}
.react-datepicker__navigation--years-upcoming {
  top: -4px;
}
.react-datepicker__navigation:hover *::before {
  border-color: rgb(165.75, 165.75, 165.75);
}

.react-datepicker__navigation-icon {
  position: relative;
  top: -1px;
  font-size: 20px;
  width: 0;
}
.react-datepicker__navigation-icon--next {
  left: -2px;
}
.react-datepicker__navigation-icon--next::before {
  transform: rotate(45deg);
  left: -7px;
}
.react-datepicker__navigation-icon--previous {
  right: -2px;
}
.react-datepicker__navigation-icon--previous::before {
  transform: rotate(225deg);
  right: -7px;
}

.react-datepicker__month-container {
  float: left;
}

.react-datepicker__year {
  margin: 0.5em;
  text-align: center;
}
.react-datepicker__year-wrapper {
  display: flex;
  flex-wrap: wrap;
  max-width: 180px;
}
.react-datepicker__year .react-datepicker__year-text {
  display: inline-block;
  width: 5em;
  margin: 2px;
}

.react-datepicker__month {
  margin: 0.5em;
  text-align: center;
}
.react-datepicker__month .react-datepicker__month-text,
.react-datepicker__month .react-datepicker__quarter-text {
  display: inline-block;
  width: 5em;
  margin: 2px;
}

.react-datepicker__input-time-container {
  clear: both;
  width: 100%;
  float: left;
  margin: 5px 0 10px 15px;
  text-align: left;
}
.react-datepicker__input-time-container .react-datepicker-time__caption {
  display: inline-block;
}
.react-datepicker__input-time-container .react-datepicker-time__input-container {
  display: inline-block;
}
.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input {
  display: inline-block;
  margin-left: 10px;
}
.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input {
  width: auto;
}
.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,
.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time] {
  -moz-appearance: textfield;
}
.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter {
  margin-left: 5px;
  display: inline-block;
}

.react-datepicker__time-container {
  float: right;
  border-left: 1px solid #aeaeae;
  width: 85px;
}
.react-datepicker__time-container--with-today-button {
  display: inline;
  border: 1px solid #aeaeae;
  border-radius: 0.375em;
  position: absolute;
  right: -87px;
  top: 0;
}
.react-datepicker__time-container .react-datepicker__time {
  position: relative;
  background: white;
  border-bottom-right-radius: 0.375em;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box {
  width: 85px;
  overflow-x: hidden;
  margin: 0 auto;
  text-align: center;
  border-bottom-right-radius: 0.375em;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list {
  list-style: none;
  margin: 0;
  height: calc(195px + 2.125em / 2);
  overflow-y: scroll;
  padding-right: 0;
  padding-left: 0;
  width: 100%;
  box-sizing: content-box;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item {
  height: 30px;
  padding: 5px 10px;
  white-space: nowrap;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover {
  cursor: pointer;
  background-color: #f0f0f0;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected {
  background-color: #216ba5;
  color: white;
  font-weight: bold;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover {
  background-color: #216ba5;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled {
  color: #ccc;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover {
  cursor: default;
  background-color: transparent;
}

.react-datepicker__week-number {
  color: #ccc;
  display: inline-block;
  width: 2.125em;
  line-height: 2.125em;
  text-align: center;
  margin: 0.208em;
}
.react-datepicker__week-number.react-datepicker__week-number--clickable {
  cursor: pointer;
}
.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover {
  border-radius: 0.3rem;
  background-color: #f0f0f0;
}
.react-datepicker__week-number--selected {
  border-radius: 0.3rem;
  background-color: #216ba5;
  color: #fff;
}
.react-datepicker__week-number--selected:hover {
  background-color: rgb(28.75, 93.2196969697, 143.75);
}

.react-datepicker__day-names {
  text-align: center;
  white-space: nowrap;
  margin-bottom: -8px;
}

.react-datepicker__week {
  white-space: nowrap;
}

.react-datepicker__day-name,
.react-datepicker__day,
.react-datepicker__time-name {
  color: #000;
  display: inline-block;
  width: 2.125em;
  line-height: 2.125em;
  text-align: center;
  margin: 0.208em;
}
.react-datepicker__day-name--disabled,
.react-datepicker__day--disabled,
.react-datepicker__time-name--disabled {
  cursor: default;
  color: #ccc;
}

.react-datepicker__day,
.react-datepicker__month-text,
.react-datepicker__quarter-text,
.react-datepicker__year-text {
  cursor: pointer;
}
.react-datepicker__day:not([aria-disabled=true]):hover,
.react-datepicker__month-text:not([aria-disabled=true]):hover,
.react-datepicker__quarter-text:not([aria-disabled=true]):hover,
.react-datepicker__year-text:not([aria-disabled=true]):hover {
  border-radius: 0.3rem;
  background-color: #f0f0f0;
}
.react-datepicker__day--today,
.react-datepicker__month-text--today,
.react-datepicker__quarter-text--today,
.react-datepicker__year-text--today {
  font-weight: bold;
}
.react-datepicker__day--highlighted,
.react-datepicker__month-text--highlighted,
.react-datepicker__quarter-text--highlighted,
.react-datepicker__year-text--highlighted {
  border-radius: 0.3rem;
  background-color: #3dcc4a;
  color: #fff;
}
.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,
.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,
.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,
.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover {
  background-color: rgb(49.8551020408, 189.6448979592, 62.5632653061);
}
.react-datepicker__day--highlighted-custom-1,
.react-datepicker__month-text--highlighted-custom-1,
.react-datepicker__quarter-text--highlighted-custom-1,
.react-datepicker__year-text--highlighted-custom-1 {
  color: magenta;
}
.react-datepicker__day--highlighted-custom-2,
.react-datepicker__month-text--highlighted-custom-2,
.react-datepicker__quarter-text--highlighted-custom-2,
.react-datepicker__year-text--highlighted-custom-2 {
  color: green;
}
.react-datepicker__day--holidays,
.react-datepicker__month-text--holidays,
.react-datepicker__quarter-text--holidays,
.react-datepicker__year-text--holidays {
  position: relative;
  border-radius: 0.3rem;
  background-color: #ff6803;
  color: #fff;
}
.react-datepicker__day--holidays .overlay,
.react-datepicker__month-text--holidays .overlay,
.react-datepicker__quarter-text--holidays .overlay,
.react-datepicker__year-text--holidays .overlay {
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  background-color: #333;
  color: #fff;
  padding: 4px;
  border-radius: 4px;
  white-space: nowrap;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s, opacity 0.3s ease-in-out;
}
.react-datepicker__day--holidays:not([aria-disabled=true]):hover,
.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,
.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,
.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover {
  background-color: rgb(207, 82.9642857143, 0);
}
.react-datepicker__day--holidays:hover .overlay,
.react-datepicker__month-text--holidays:hover .overlay,
.react-datepicker__quarter-text--holidays:hover .overlay,
.react-datepicker__year-text--holidays:hover .overlay {
  visibility: visible;
  opacity: 1;
}
.react-datepicker__day--selected, .react-datepicker__day--in-selecting-range, .react-datepicker__day--in-range,
.react-datepicker__month-text--selected,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__month-text--in-range,
.react-datepicker__quarter-text--selected,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__quarter-text--in-range,
.react-datepicker__year-text--selected,
.react-datepicker__year-text--in-selecting-range,
.react-datepicker__year-text--in-range {
  border-radius: 0.3rem;
  background-color: #216ba5;
  color: #fff;
}
.react-datepicker__day--selected:not([aria-disabled=true]):hover, .react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover, .react-datepicker__day--in-range:not([aria-disabled=true]):hover,
.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,
.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,
.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,
.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,
.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,
.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,
.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,
.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,
.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover {
  background-color: rgb(28.75, 93.2196969697, 143.75);
}
.react-datepicker__day--keyboard-selected,
.react-datepicker__month-text--keyboard-selected,
.react-datepicker__quarter-text--keyboard-selected,
.react-datepicker__year-text--keyboard-selected {
  border-radius: 0.3rem;
  background-color: rgb(186.25, 217.0833333333, 241.25);
  color: rgb(0, 0, 0);
}
.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,
.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,
.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,
.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover {
  background-color: rgb(28.75, 93.2196969697, 143.75);
  color: #fff;
}
.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,
.react-datepicker__month-text--in-range,
.react-datepicker__quarter-text--in-range,
.react-datepicker__year-text--in-range),
.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,
.react-datepicker__month-text--in-range,
.react-datepicker__quarter-text--in-range,
.react-datepicker__year-text--in-range),
.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,
.react-datepicker__month-text--in-range,
.react-datepicker__quarter-text--in-range,
.react-datepicker__year-text--in-range),
.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,
.react-datepicker__month-text--in-range,
.react-datepicker__quarter-text--in-range,
.react-datepicker__year-text--in-range) {
  background-color: rgba(33, 107, 165, 0.5);
}
.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__year-text--in-selecting-range), .react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__year-text--in-selecting-range),
.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__year-text--in-selecting-range),
.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__year-text--in-selecting-range),
.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__year-text--in-selecting-range),
.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__year-text--in-selecting-range),
.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__year-text--in-selecting-range),
.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__year-text--in-selecting-range) {
  background-color: #f0f0f0;
  color: #000;
}
.react-datepicker__day--disabled,
.react-datepicker__month-text--disabled,
.react-datepicker__quarter-text--disabled,
.react-datepicker__year-text--disabled {
  cursor: default;
  color: #ccc;
}
.react-datepicker__day--disabled .overlay,
.react-datepicker__month-text--disabled .overlay,
.react-datepicker__quarter-text--disabled .overlay,
.react-datepicker__year-text--disabled .overlay {
  position: absolute;
  bottom: 70%;
  left: 50%;
  transform: translateX(-50%);
  background-color: #333;
  color: #fff;
  padding: 4px;
  border-radius: 4px;
  white-space: nowrap;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s, opacity 0.3s ease-in-out;
}

.react-datepicker__input-container {
  position: relative;
  display: inline-block;
  width: 100%;
}
.react-datepicker__input-container .react-datepicker__calendar-icon {
  position: absolute;
  padding: 0.625em;
  box-sizing: content-box;
}

.react-datepicker__view-calendar-icon input {
  padding: 6px 10px 5px 25px;
}

.react-datepicker__year-read-view,
.react-datepicker__month-read-view,
.react-datepicker__month-year-read-view {
  border: 1px solid transparent;
  border-radius: 0.3rem;
  position: relative;
}
.react-datepicker__year-read-view:hover,
.react-datepicker__month-read-view:hover,
.react-datepicker__month-year-read-view:hover {
  cursor: pointer;
}
.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,
.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,
.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,
.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,
.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,
.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow {
  border-top-color: rgb(178.5, 178.5, 178.5);
}
.react-datepicker__year-read-view--down-arrow,
.react-datepicker__month-read-view--down-arrow,
.react-datepicker__month-year-read-view--down-arrow {
  transform: rotate(135deg);
  right: -16px;
  top: 0;
}

.react-datepicker__year-dropdown,
.react-datepicker__month-dropdown,
.react-datepicker__month-year-dropdown {
  background-color: #f0f0f0;
  position: absolute;
  width: 50%;
  left: 25%;
  top: 30px;
  z-index: 1;
  text-align: center;
  border-radius: 0.3rem;
  border: 1px solid #aeaeae;
}
.react-datepicker__year-dropdown:hover,
.react-datepicker__month-dropdown:hover,
.react-datepicker__month-year-dropdown:hover {
  cursor: pointer;
}
.react-datepicker__year-dropdown--scrollable,
.react-datepicker__month-dropdown--scrollable,
.react-datepicker__month-year-dropdown--scrollable {
  height: 150px;
  overflow-y: scroll;
}

.react-datepicker__year-option,
.react-datepicker__month-option,
.react-datepicker__month-year-option {
  line-height: 20px;
  width: 100%;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.react-datepicker__year-option:first-of-type,
.react-datepicker__month-option:first-of-type,
.react-datepicker__month-year-option:first-of-type {
  border-top-left-radius: 0.3rem;
  border-top-right-radius: 0.3rem;
}
.react-datepicker__year-option:last-of-type,
.react-datepicker__month-option:last-of-type,
.react-datepicker__month-year-option:last-of-type {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  border-bottom-left-radius: 0.3rem;
  border-bottom-right-radius: 0.3rem;
}
.react-datepicker__year-option:hover,
.react-datepicker__month-option:hover,
.react-datepicker__month-year-option:hover {
  background-color: #ccc;
}
.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,
.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,
.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming {
  border-bottom-color: rgb(178.5, 178.5, 178.5);
}
.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,
.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,
.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous {
  border-top-color: rgb(178.5, 178.5, 178.5);
}
.react-datepicker__year-option--selected,
.react-datepicker__month-option--selected,
.react-datepicker__month-year-option--selected {
  position: absolute;
  left: 15px;
}

.react-datepicker__close-icon {
  cursor: pointer;
  background-color: transparent;
  border: 0;
  outline: 0;
  padding: 0 6px 0 0;
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  display: table-cell;
  vertical-align: middle;
}
.react-datepicker__close-icon::after {
  cursor: pointer;
  background-color: #216ba5;
  color: #fff;
  border-radius: 50%;
  height: 16px;
  width: 16px;
  padding: 2px;
  font-size: 12px;
  line-height: 1;
  text-align: center;
  display: table-cell;
  vertical-align: middle;
  content: "×";
}
.react-datepicker__close-icon--disabled {
  cursor: default;
}
.react-datepicker__close-icon--disabled::after {
  cursor: default;
  background-color: #ccc;
}

.react-datepicker__today-button {
  background: #f0f0f0;
  border-top: 1px solid #aeaeae;
  cursor: pointer;
  text-align: center;
  font-weight: bold;
  padding: 5px 0;
  clear: left;
}

.react-datepicker__portal {
  position: fixed;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.8);
  left: 0;
  top: 0;
  justify-content: center;
  align-items: center;
  display: flex;
  z-index: 2147483647;
}

.react-datepicker__children-container {
  width: 17.25em;
  margin: 0.5em;
  padding-right: 0.25em;
  padding-left: 0.25em;
  height: auto;
}

.react-datepicker__aria-live {
  position: absolute;
  clip-path: circle(0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  width: 1px;
  white-space: nowrap;
}

.react-datepicker__calendar-icon {
  width: 1em;
  height: 1em;
  vertical-align: -0.125em;
}

.react-datepicker-popper-offset {
  margin-top: -0.7em;
}
.wallets-container {
  padding: 0;
  width: 100%;
  max-width: 100%;
  margin: 0;
  box-sizing: border-box;
  overflow-x: hidden;
}

/* Ensure parent containers don't constrain width */
body>#root .wallets-container,
#root>* .wallets-container,
.main-content .wallets-container {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.wallets-container h1 {
  margin-bottom: 2rem;
  font-size: 2rem;
  font-weight: 600;
  color: var(--text-primary);
  transition: color 0.3s ease;
}

.wallets-container h3 {
  margin-bottom: 1rem;
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--text-primary);
  transition: color 0.3s ease;
}

.wallets-container p {
  color: var(--text-secondary);
  font-size: 1.1rem;
  transition: color 0.3s ease;
}

/* Wallet Selector Dropdown - Modern Style */
.wallets-select-container {
  margin-top: 1.5rem;
  margin-bottom: 1rem;
}

.wallets-select-label {
  display: block;
  margin-bottom: 0.75rem;
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--text-primary);
  transition: color 0.3s ease;
}

.wallets-select {
  width: 100%;
  max-width: 400px;
  padding: 0.75rem 1rem;
  padding-right: 2.5rem;
  border: 2px solid var(--input-border);
  border-radius: 8px;
  font-size: 0.95rem;
  font-family: inherit;
  background-color: var(--input-bg);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%234a5568' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 12px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  transition: all 0.2s ease;
  color: var(--text-primary);
  cursor: pointer;
}

.wallets-select:hover {
  border-color: var(--border-color);
  background-color: var(--bg-tertiary);
}

.wallets-select:focus {
  outline: none;
  border-color: var(--input-focus);
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
  background-color: var(--input-bg);
}

.wallets-select option {
  padding: 0.5rem;
  color: var(--text-primary);
  background-color: var(--input-bg);
}

.wallets-select option:disabled {
  color: var(--text-tertiary);
  font-style: italic;
}

/* Wallet Info Card */
.wallets-container .card {
  width: 100%;
  margin-bottom: 2rem;
}

.wallets-container .card-body {
  padding: 1.5rem;
}

.wallets-container .card-title {
  font-size: 1.25rem;
  margin-bottom: 1rem;
}

.wallets-container .card-title a {
  color: var(--accent-color);
  text-decoration: none;
  word-break: break-all;
  transition: color 0.3s ease;
}

.wallets-container .card-title a:hover {
  text-decoration: underline;
}

/* Wallet Info Styling - Better PC appearance */
.wallet-info-title {
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 1.25rem;
  color: var(--text-primary);
  line-height: 1.6;
}

.wallet-info-link {
  color: var(--accent-color);
  text-decoration: none;
  word-break: break-all;
  font-weight: 500;
  transition: color 0.3s ease;
}

.wallet-info-link:hover {
  text-decoration: underline;
  color: var(--accent-color);
  opacity: 0.9;
}

.wallet-info-item {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin-bottom: 0.75rem;
}

.wallet-info-label {
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--text-secondary);
  margin-bottom: 0.25rem;
}

.wallet-info-value {
  font-size: 1rem;
  font-weight: 600;
  color: var(--text-primary);
}

@media (min-width: 768px) {
  .wallet-info-item {
    flex-direction: row;
    justify-content: flex-start;
    align-items: baseline;
    gap: 0.5rem;
  }

  .wallet-info-label {
    font-size: 0.95rem;
    margin-bottom: 0;
    flex-shrink: 0;
  }

  .wallet-info-value {
    font-size: 1.05rem;
    text-align: left;
    flex-shrink: 0;
  }
}

/* Action Buttons */
.wallets-actions {
  display: flex;
  gap: 1rem;
  margin-bottom: 2rem;
  flex-wrap: wrap;
}

.wallets-actions .btn {
  min-width: 180px;
}

.wallets-actions .btn-primary {
  background-color: #10204E;
  color: white;
  border: none;
  padding: 0.75rem 1.5rem;
  border-radius: 6px;
  font-size: 1rem;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.2s;
}

.wallets-actions .btn-primary:hover:not(:disabled) {
  background-color: rgba(16, 32, 78, 0.9);
}

.wallets-actions .btn-primary:disabled {
  background-color: #6c757d;
  cursor: not-allowed;
  opacity: 0.6;
}

/* Refresh Button */
.btn-refresh {
  background-color: #10204E;
  color: white;
  border: none;
  padding: 0.4rem 1rem;
  border-radius: 6px;
  font-size: 0.85rem;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.btn-refresh:hover:not(:disabled) {
  background-color: #1a3a7a;
}

.btn-refresh:disabled {
  background-color: #6c757d;
  cursor: not-allowed;
  opacity: 0.7;
}

/* AG Grid Tables */
.wallets-container .ag-theme-alpine {
  width: 100% !important;
  box-sizing: border-box;
}

.wallets-quote-balance-table {
  width: 100%;
  margin-bottom: 2rem;
  overflow: hidden;
}

.wallets-tokens-stat-table {
  width: 100%;
  height: 600px;
  margin-bottom: 2rem;
  overflow: hidden;
}

/* Ensure AG Grid uses full width */
.wallets-container .ag-root-wrapper {
  width: 100% !important;
}

.wallets-container .ag-center-cols-container {
  width: 100% !important;
}

/* Mobile Responsive Styles */
@media (max-width: 768px) {
  .wallets-container>div[style*="padding"] {
    padding: 0 1rem !important;
  }

  .wallets-container h3[style*="padding"] {
    padding: 0 1rem !important;
  }

  .wallets-container .card[style*="margin"] {
    margin: 0 1rem 1rem 1rem !important;
  }

  .wallets-container h1 {
    font-size: 1.5rem;
    margin-bottom: 1rem;
  }

  .wallets-container h3 {
    font-size: 1.25rem;
  }

  .wallets-select {
    max-width: 100%;
  }

  .wallets-container .card-body {
    padding: 1rem;
  }

  .wallets-container .card-title {
    font-size: 1rem;
  }

  .wallets-container .row {
    margin: 0;
  }

  .wallets-container .col-md-6 {
    padding: 0.5rem 0;
  }

  .wallets-container .col-md-6 h5 {
    font-size: 0.9rem;
    margin-bottom: 0.5rem;
  }

  .wallets-actions {
    flex-direction: column;
  }

  .wallets-actions .btn {
    width: 100%;
    min-width: auto;
  }

  .wallets-tokens-stat-table {
    height: 500px;
  }

  /* Make tables scrollable on mobile */
  .wallets-container .ag-theme-alpine {
    overflow-x: auto;
  }
}

@media (max-width: 480px) {
  .wallets-container {
    padding: 0.5rem;
  }

  .wallets-container h1 {
    font-size: 1.25rem;
  }

  .wallets-container h3 {
    font-size: 1.1rem;
  }

  .wallets-tokens-stat-table {
    height: 400px;
  }
}

/* ========== Swap Modal Styles ========== */
.swap-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.75);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  padding: 1rem;
  animation: fadeIn 0.2s ease-out;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

@keyframes slideUp {
  from {
    opacity: 0;
    transform: translateY(20px) scale(0.98);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.swap-modal-container {
  background: linear-gradient(180deg, var(--bg-primary) 0%, var(--bg-secondary) 100%);
  border-radius: 20px;
  width: 100%;
  max-width: 440px;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow:
    0 25px 50px -12px rgba(0, 0, 0, 0.5),
    0 0 0 1px rgba(255, 255, 255, 0.1) inset;
  border: 1px solid rgba(255, 255, 255, 0.08);
  animation: slideUp 0.3s ease-out;
}

[data-theme="light"] .swap-modal-container {
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  box-shadow:
    0 25px 50px -12px rgba(0, 0, 0, 0.25),
    0 0 0 1px rgba(0, 0, 0, 0.05);
  border: 1px solid rgba(0, 0, 0, 0.08);
}

.swap-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

[data-theme="light"] .swap-modal-header {
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.swap-modal-title {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--text-primary);
  margin: 0;
  letter-spacing: -0.02em;
}

.swap-modal-close {
  background: rgba(255, 255, 255, 0.1);
  border: none;
  font-size: 1.25rem;
  color: var(--text-secondary);
  cursor: pointer;
  padding: 0.5rem;
  line-height: 1;
  border-radius: 10px;
  transition: all 0.2s ease;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
}

[data-theme="light"] .swap-modal-close {
  background: rgba(0, 0, 0, 0.05);
}

.swap-modal-close:hover {
  background: rgba(255, 255, 255, 0.15);
  color: var(--text-primary);
  transform: scale(1.05);
}

[data-theme="light"] .swap-modal-close:hover {
  background: rgba(0, 0, 0, 0.1);
}

.swap-modal-body {
  padding: 1.25rem 1.5rem;
}

.swap-token-section {
  margin-bottom: 1.5rem;
}

.swap-token-label {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--text-secondary);
  margin-bottom: 0.5rem;
  display: block;
}

.swap-token-info {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem;
  background-color: var(--bg-secondary);
  border-radius: 8px;
  border: 1px solid var(--border-color);
}

.swap-token-symbol {
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--text-primary);
}

.swap-token-balance {
  font-size: 0.875rem;
  color: var(--text-secondary);
}

.swap-arrow {
  display: flex;
  justify-content: center;
  margin: 0.5rem 0;
}

.swap-arrow span {
  font-size: 1.5rem;
  color: var(--text-secondary);
}

.swap-input-section {
  margin-bottom: 1.5rem;
}

.swap-input-group {
  margin-bottom: 1rem;
}

.swap-input-label {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--text-secondary);
  margin-bottom: 0.5rem;
  display: block;
}

.swap-input {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 2px solid var(--input-border);
  border-radius: 8px;
  font-size: 1rem;
  background-color: var(--input-bg);
  color: var(--text-primary);
  transition: border-color 0.2s;
}

.swap-input:focus {
  outline: none;
  border-color: var(--input-focus);
}

.swap-input:disabled {
  background-color: var(--bg-tertiary);
  cursor: not-allowed;
}

.swap-rate-info {
  padding: 1rem;
  background-color: var(--bg-secondary);
  border-radius: 8px;
  margin-bottom: 1rem;
}

.swap-rate-row {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.5rem;
}

.swap-rate-row:last-child {
  margin-bottom: 0;
}

.swap-rate-label {
  font-size: 0.875rem;
  color: var(--text-secondary);
}

.swap-rate-value {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--text-primary);
}

.swap-modal-footer {
  display: flex;
  gap: 0.75rem;
  padding: 1rem 1.5rem 1.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

[data-theme="light"] .swap-modal-footer {
  border-top: 1px solid rgba(0, 0, 0, 0.06);
}

.swap-btn-cancel {
  flex: 1;
  padding: 0.9rem 1.5rem;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.05);
  color: var(--text-primary);
  font-size: 0.95rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.25s ease;
}

[data-theme="light"] .swap-btn-cancel {
  border: 1px solid rgba(0, 0, 0, 0.12);
  background: rgba(0, 0, 0, 0.03);
}

.swap-btn-cancel:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.25);
  transform: translateY(-1px);
}

[data-theme="light"] .swap-btn-cancel:hover {
  background: rgba(0, 0, 0, 0.06);
  border-color: rgba(0, 0, 0, 0.2);
}

.swap-btn-execute {
  flex: 1.2;
  padding: 0.9rem 1.5rem;
  border: none;
  border-radius: 6px;
  background-color: #10204E;
  color: white;
  font-size: 0.95rem;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.swap-btn-execute:hover:not(:disabled) {
  background-color: rgba(16, 32, 78, 0.9);
}

.swap-btn-execute:disabled {
  background-color: #6c757d;
  cursor: not-allowed;
  opacity: 0.6;
}

/* Modern Swap Modal Inner Styles */
.swap-label {
  display: block;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: var(--text-secondary);
  margin-bottom: 0.625rem;
  opacity: 0.8;
}

.swap-token-section {
  margin-bottom: 1rem;
}

.swap-token-card {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  padding: 1rem 1.125rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: all 0.25s ease;
  position: relative;
  overflow: hidden;
}

[data-theme="light"] .swap-token-card {
  background: rgba(0, 0, 0, 0.02);
  border: 1px solid rgba(0, 0, 0, 0.08);
}

.swap-token-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
}

[data-theme="light"] .swap-token-card::before {
  background: linear-gradient(90deg, transparent, rgba(0, 0, 0, 0.05), transparent);
}

.swap-token-card:hover {
  border-color: rgba(16, 32, 78, 0.4);
  background: rgba(16, 32, 78, 0.05);
  transform: translateY(-1px);
}

.swap-token-info {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}

.swap-token-symbol {
  font-size: 1.375rem;
  font-weight: 800;
  color: var(--text-primary);
  letter-spacing: -0.02em;
}

.swap-token-address {
  font-size: 0.65rem;
  color: var(--text-secondary);
  font-family: 'SF Mono', 'Fira Code', monospace;
  opacity: 0.6;
  max-width: 200px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.swap-token-balance {
  text-align: right;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.swap-balance-label {
  font-size: 0.6rem;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: var(--text-secondary);
  opacity: 0.7;
  font-weight: 600;
}

.swap-balance-value {
  font-size: 1rem;
  font-weight: 700;
  color: var(--text-primary);
  letter-spacing: -0.01em;
}

.swap-balance-usd {
  font-size: 0.8rem;
  color: var(--text-secondary);
  font-weight: 500;
}

.swap-token-select {
  width: 100%;
  padding: 0.875rem 2.5rem 0.875rem 1rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  font-size: 0.9rem;
  font-weight: 600;
  background: rgba(255, 255, 255, 0.03);
  color: var(--text-primary);
  cursor: pointer;
  transition: all 0.2s ease;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath fill='%239ca3af' d='M5 7L1 3h8z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  margin-bottom: 0.75rem;
}

[data-theme="light"] .swap-token-select {
  background: rgba(0, 0, 0, 0.02);
  border: 1px solid rgba(0, 0, 0, 0.1);
}

.swap-token-select:hover {
  border-color: rgba(16, 32, 78, 0.5);
  background: rgba(16, 32, 78, 0.05);
}

.swap-token-select:focus {
  outline: none;
  border-color: #10204E;
  box-shadow: 0 0 0 3px rgba(16, 32, 78, 0.2);
}

.swap-token-select option {
  background-color: var(--bg-primary);
  color: var(--text-primary);
  padding: 0.75rem;
}

.swap-amount-section {
  margin-bottom: 1rem;
}

.swap-amount-input-group {
  position: relative;
  display: flex;
  align-items: center;
}

.swap-amount-input {
  width: 100%;
  padding: 1rem 5rem 1rem 1.125rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 14px;
  font-size: 1.5rem;
  font-weight: 700;
  background: rgba(255, 255, 255, 0.03);
  color: var(--text-primary);
  transition: all 0.2s ease;
  letter-spacing: -0.02em;
}

[data-theme="light"] .swap-amount-input {
  background: rgba(0, 0, 0, 0.02);
  border: 1px solid rgba(0, 0, 0, 0.1);
}

.swap-amount-input:hover {
  border-color: rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.05);
}

[data-theme="light"] .swap-amount-input:hover {
  border-color: rgba(0, 0, 0, 0.15);
  background: rgba(0, 0, 0, 0.03);
}

.swap-amount-input:focus {
  outline: none;
  border-color: #10204E;
  box-shadow: 0 0 0 3px rgba(16, 32, 78, 0.2);
  background: rgba(16, 32, 78, 0.03);
}

.swap-amount-input::placeholder {
  color: var(--text-secondary);
  opacity: 0.4;
  font-weight: 500;
}

.swap-amount-currency {
  position: absolute;
  right: 0.875rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--text-primary);
  background: linear-gradient(135deg, rgba(16, 32, 78, 0.15) 0%, rgba(16, 32, 78, 0.1) 100%);
  padding: 0.375rem 0.625rem;
  border-radius: 8px;
  letter-spacing: 0.02em;
}

[data-theme="light"] .swap-amount-currency {
  background: linear-gradient(135deg, rgba(16, 32, 78, 0.1) 0%, rgba(16, 32, 78, 0.05) 100%);
}

.swap-amount-hint {
  margin-top: 0.5rem;
  font-size: 0.75rem;
  color: var(--text-secondary);
  opacity: 0.8;
}

.swap-amount-hint strong {
  color: var(--text-primary);
  font-weight: 600;
}

.swap-summary {
  background: linear-gradient(135deg, rgba(16, 32, 78, 0.12) 0%, rgba(16, 32, 78, 0.06) 100%);
  border: 1px solid rgba(16, 32, 78, 0.15);
  border-radius: 14px;
  padding: 1rem 1.125rem;
  margin-top: 0.75rem;
}

[data-theme="dark"] .swap-summary {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.02) 100%);
  border-color: rgba(255, 255, 255, 0.1);
}

.swap-summary-title {
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--text-secondary);
  margin-bottom: 0.75rem;
  opacity: 0.8;
}

.swap-summary-content {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}

.swap-summary-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.85rem;
}

.swap-summary-row span {
  color: var(--text-secondary);
  font-weight: 500;
}

.swap-summary-row strong {
  color: var(--text-primary);
  font-weight: 700;
  letter-spacing: -0.01em;
}

.swap-summary-divider {
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--border-color), transparent);
  margin: 0.625rem 0;
}

.swap-summary-receive {
  padding-top: 0.375rem;
}

.swap-summary-receive strong {
  color: #10b981;
  font-size: 1.125rem;
  font-weight: 800;
  text-shadow: 0 0 20px rgba(16, 185, 129, 0.3);
}

.swap-btn {
  flex: 1;
  padding: 1rem 1.5rem;
  border-radius: 12px;
  font-size: 0.95rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.25s ease;
  letter-spacing: 0.01em;
}

/* Mobile styles for swap button in table */
@media (max-width: 768px) {
  .wallets-container .ag-theme-alpine {
    font-size: 0.75rem;
  }

  .wallets-container .ag-theme-alpine .ag-header-cell,
  .wallets-container .ag-theme-alpine .ag-cell {
    padding-left: 6px !important;
    padding-right: 6px !important;
  }

  .wallets-container .ag-theme-alpine .ag-header-cell-label {
    white-space: normal;
    line-height: 1.2;
  }

  /* Swap button styling for mobile */
  .wallets-quote-balance-table .btn-sm,
  .wallets-quote-balance-table .btn-primary {
    font-size: 0.7rem !important;
    padding: 4px 8px !important;
    min-width: unset !important;
    white-space: nowrap !important;
    border-radius: 4px !important;
  }

  /* Ensure table fills full width on mobile */
  .wallets-quote-balance-table .ag-root-wrapper,
  .wallets-quote-balance-table .ag-root,
  .wallets-quote-balance-table .ag-body-viewport,
  .wallets-quote-balance-table .ag-center-cols-viewport,
  .wallets-quote-balance-table .ag-center-cols-container {
    width: 100% !important;
    min-width: 100% !important;
  }

  .wallets-quote-balance-table .ag-header-viewport,
  .wallets-quote-balance-table .ag-header-container {
    width: 100% !important;
  }

  .wallets-container .ag-root-wrapper {
    overflow-x: hidden;
  }

  .swap-modal-container {
    max-width: 95%;
    margin: 0.5rem;
  }

  .swap-modal-header {
    padding: 1rem;
  }

  .swap-modal-body {
    padding: 1rem;
  }

  .swap-modal-footer {
    padding: 1rem;
    flex-direction: column;
  }
}

/* Date Picker Calendar Styles */
.date-picker-wrapper {
  display: inline-block;
}

.date-picker-wrapper .form-control {
  min-width: 160px;
  padding: 0.375rem 0.75rem;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  background-color: #fff;
  cursor: pointer;
}

.date-picker-wrapper .form-control:focus {
  border-color: #1a3a5c;
  box-shadow: 0 0 0 2px rgba(26, 58, 92, 0.15);
  outline: none;
}

/* Snapshot Calendar Styling */
.snapshot-calendar {
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  font-family: inherit;
}

.snapshot-calendar .react-datepicker__header {
  background: linear-gradient(135deg, #1a3a5c 0%, #2a4a7c 100%);
  border-bottom: none;
  border-radius: 8px 8px 0 0;
  padding: 12px;
}

.snapshot-calendar .react-datepicker__current-month {
  color: #fff;
  font-weight: 600;
  font-size: 1rem;
  margin-bottom: 8px;
}

.snapshot-calendar .react-datepicker__day-name {
  color: rgba(255, 255, 255, 0.8);
  font-weight: 500;
  font-size: 0.8rem;
}

.snapshot-calendar .react-datepicker__navigation-icon::before {
  border-color: #fff;
}

.snapshot-calendar .react-datepicker__day {
  border-radius: 50%;
  margin: 2px;
  width: 32px;
  height: 32px;
  line-height: 32px;
  transition: all 0.15s ease;
}

.snapshot-calendar .react-datepicker__day:hover {
  background-color: #e3f2fd;
}

.snapshot-calendar .react-datepicker__day--highlighted {
  background-color: #4caf50 !important;
  color: #fff !important;
  font-weight: 600;
}

.snapshot-calendar .react-datepicker__day--highlighted:hover {
  background-color: #388e3c !important;
}

.snapshot-calendar .react-datepicker__day--selected {
  background-color: #1a3a5c !important;
  color: #fff !important;
  font-weight: 600;
}

.snapshot-calendar .react-datepicker__day--disabled {
  color: #ccc !important;
  cursor: not-allowed;
}

.snapshot-calendar .react-datepicker__day--disabled:hover {
  background-color: transparent;
}

/* Clear button styling */
.react-datepicker__close-icon {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  padding: 0;
}

.react-datepicker__close-icon::after {
  background-color: #dc3545;
  border-radius: 50%;
  width: 16px;
  height: 16px;
  font-size: 10px;
  line-height: 1;
  padding: 0;
}

/* ========== Consistent Fonts ========== */
.wallets-container {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

.wallets-container h1,
.wallets-container h3,
.wallets-container h5,
.wallets-container h6,
.wallets-container p,
.wallets-container>span,
.wallets-container label,
.wallets-container small {
  font-family: inherit;
}

/* Exclude AG Grid from font override to preserve icon fonts */
.wallets-container .ag-theme-alpine span.ag-icon {
  font-family: "agGridAlpine" !important;
}

.wallets-container h5 {
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--text-primary);
}

.wallets-container h6 {
  font-size: 1rem;
  font-weight: 600;
  color: var(--text-primary);
}

/* ========== Snapshot Button ========== */
.btn-snapshot {
  background-color: #1a3a5c;
  color: #fff;
  border: none;
  font-weight: 500;
  transition: all 0.2s ease;
}

.btn-snapshot:hover:not(:disabled) {
  background-color: #2a4a7c;
  color: #fff;
}

.btn-snapshot:disabled {
  background-color: #6c757d;
  color: #fff;
  opacity: 0.7;
}

/* ========== Wallet Breakdown Cards ========== */
.wallet-breakdown-card {
  background: linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%) !important;
  border: 1px solid var(--border-color) !important;
  color: var(--text-primary);
  transition: all 0.25s ease;
}

.wallet-breakdown-card:hover {
  box-shadow: 0 8px 24px rgba(26, 58, 92, 0.2);
  border-color: #1a3a5c !important;
}

.wallet-breakdown-card .card-title {
  color: var(--text-primary) !important;
}

.wallet-breakdown-card hr {
  border-color: var(--border-color) !important;
}

/* Wallet card icon container */
.wallet-breakdown-card .wallet-icon-container {
  background: linear-gradient(135deg, rgba(26, 58, 92, 0.1) 0%, rgba(26, 58, 92, 0.05) 100%);
  border: 2px solid rgba(26, 58, 92, 0.2);
}

[data-theme="dark"] .wallet-breakdown-card .wallet-icon-container {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.05) 100%);
  border: 2px solid rgba(255, 255, 255, 0.2);
}

/* Dark mode wallet card adjustments */
[data-theme="dark"] .wallet-breakdown-card {
  background: linear-gradient(135deg, #1e1e1e 0%, #2a2a2a 100%) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

[data-theme="dark"] .wallet-breakdown-card:hover {
  border-color: rgba(255, 255, 255, 0.3) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4) !important;
}

/* Wallet card text labels */
.wallet-platform-label {
  color: var(--text-secondary);
  text-transform: uppercase;
  font-size: 0.65rem;
  letter-spacing: 0.5px;
}

.wallet-balance-label {
  font-size: 0.8rem;
  color: var(--text-primary);
  opacity: 0.8;
}

.wallet-total-label {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--text-primary);
}

.wallet-total-value {
  font-size: 1.05rem;
  font-weight: bold;
  color: #4a7ab8;
}

[data-theme="dark"] .wallet-total-value {
  color: #8ab4f8;
}

/* View date label */
.view-date-label {
  font-size: 0.9rem;
  color: var(--text-primary);
  margin: 0;
}

[data-theme="dark"] .view-date-label {
  color: #fff;
}

/* ========== Balance History Chart Controls ========== */
.wallets-container .btn-group .btn {
  font-size: 0.85rem;
}

.wallets-container .btn-group .btn-dark,
.wallets-container .btn-group .btn.active {
  background-color: #1a3a5c !important;
  border-color: #1a3a5c !important;
  color: #fff !important;
}

.wallets-container .btn-group .btn-outline-secondary {
  color: var(--text-secondary);
  border-color: var(--border-color);
  background-color: transparent;
}

[data-theme="dark"] .wallets-container .btn-group .btn-outline-secondary {
  color: #aaa;
  border-color: rgba(255, 255, 255, 0.2);
}

[data-theme="dark"] .wallets-container .btn-group .btn-outline-secondary:hover {
  background-color: rgba(255, 255, 255, 0.1);
  color: #fff;
}

/* Chart container dark mode */
[data-theme="dark"] .recharts-wrapper {
  color: #fff;
}

[data-theme="dark"] .recharts-cartesian-grid line {
  stroke: rgba(255, 255, 255, 0.1);
}

[data-theme="dark"] .recharts-text {
  fill: #aaa;
}

[data-theme="dark"] .recharts-tooltip-wrapper .recharts-default-tooltip {
  background-color: #1e1e1e !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}

/* ========== Form Controls Dark Mode ========== */
[data-theme="dark"] .wallets-container .form-select {
  background-color: var(--input-bg);
  color: var(--text-primary);
  border-color: var(--input-border);
}

[data-theme="dark"] .wallets-container .form-control {
  background-color: var(--input-bg);
  color: var(--text-primary);
  border-color: var(--input-border);
}

/* Alert banner text colors */
.wallets-container .alert span {
  color: inherit;
}

/* ========== AG Grid Filter Icons ========== */
.wallets-container .ag-theme-alpine .ag-header-cell-menu-button,
.wallets-container .ag-theme-alpine .ag-header-icon {
  opacity: 1 !important;
  visibility: visible !important;
}

.wallets-container .ag-theme-alpine .ag-icon {
  color: var(--text-secondary);
}

.wallets-container .ag-theme-alpine .ag-icon-filter {
  display: inline-block !important;
  visibility: visible !important;
}

[data-theme="dark"] .wallets-container .ag-theme-alpine .ag-icon {
  color: var(--text-secondary);
}

/* ========== Investment Tracking Section ========== */
.investment-section {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--border-color);
}

.investment-summary-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  margin-bottom: 0;
}

.investment-item {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.investment-label {
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--text-secondary);
}

.investment-value {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--text-primary);
}

.investment-value--invested {
  color: #1a3a5c;
}

[data-theme="dark"] .investment-value--invested {
  color: #6eaef5;
}

.investment-value--profit {
  color: #28a745;
}

.investment-value--loss {
  color: #dc3545;
}

.investment-value--secondary {
  font-size: 1rem;
  font-weight: 500;
  color: var(--text-secondary);
}

.investment-count {
  font-size: 0.85rem;
  color: var(--text-secondary);
  display: flex;
  align-items: center;
}

/* Per-wallet investment display */
.wallet-investment-section {
  margin-top: 0.35rem;
  padding-top: 0.35rem;
  border-top: 1px dashed var(--border-color);
}

.wallet-investment-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.25rem;
}

.wallet-investment-label {
  font-size: 0.8rem;
  color: var(--text-primary);
  opacity: 0.8;
}

.wallet-investment-value {
  font-size: 0.85rem;
  font-weight: 600;
}

.wallet-investment-value--invested {
  color: #1a3a5c;
}

[data-theme="dark"] .wallet-investment-value--invested {
  color: #6eaef5;
}

.wallet-investment-value--profit {
  color: #28a745;
  font-weight: 700;
}

.wallet-investment-value--loss {
  color: #dc3545;
  font-weight: 700;
}

.wallet-investment-value--date {
  font-size: 0.75rem;
  color: var(--text-secondary);
  font-weight: 400;
}

/* Investment History Card */
.investment-history-card {
  margin: 0 2rem 2rem 2rem;
}

.investment-history-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 1rem;
  padding: 0.75rem 1rem;
  background: linear-gradient(135deg, rgba(26, 58, 92, 0.08) 0%, rgba(26, 58, 92, 0.03) 100%);
  border-radius: 8px;
  border: 1px solid rgba(26, 58, 92, 0.15);
}

[data-theme="dark"] .investment-history-header {
  background: linear-gradient(135deg, rgba(110, 174, 245, 0.1) 0%, rgba(110, 174, 245, 0.05) 100%);
  border: 1px solid rgba(110, 174, 245, 0.2);
}

.investment-history-stat {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

.investment-history-stat-label {
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.investment-history-stat-value {
  font-size: 1.1rem;
  font-weight: 700;
}

.investment-history-stat-value--invested {
  color: #1a3a5c;
}

[data-theme="dark"] .investment-history-stat-value--invested {
  color: #6eaef5;
}

.investment-history-stat-value--profit {
  color: #28a745;
}

.investment-history-stat-value--loss {
  color: #dc3545;
}

.investment-history-stat-value--date {
  color: var(--text-secondary);
  font-weight: 500;
}

/* Investment History Table */
.investment-history-table {
  width: 100%;
  border-collapse: collapse;
}

.investment-history-table thead th {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 0.5rem 0.75rem;
  border-bottom: 2px solid var(--border-color);
  text-align: left;
}

.investment-history-table tbody tr {
  border-bottom: 1px solid var(--border-color);
  transition: background-color 0.15s ease;
}

.investment-history-table tbody tr:hover {
  background-color: rgba(26, 58, 92, 0.04);
}

[data-theme="dark"] .investment-history-table tbody tr:hover {
  background-color: rgba(255, 255, 255, 0.03);
}

.investment-history-table tbody td {
  padding: 0.65rem 0.75rem;
  font-size: 0.9rem;
  color: var(--text-primary);
}

.investment-history-table .token-cell {
  font-weight: 600;
  color: var(--text-primary);
}

.investment-history-table .amount-cell {
  font-family: 'SF Mono', 'Fira Code', monospace;
  font-size: 0.85rem;
  color: var(--text-secondary);
}

.investment-history-table .price-cell {
  color: var(--text-secondary);
}

.investment-history-table .value-cell {
  font-weight: 700;
  color: #1a3a5c;
}

[data-theme="dark"] .investment-history-table .value-cell {
  color: #6eaef5;
}

.investment-history-table .date-cell {
  color: var(--text-secondary);
  font-size: 0.85rem;
}

.investment-history-table .note-cell {
  color: var(--text-secondary);
  font-size: 0.85rem;
  font-style: italic;
}

/* Responsive adjustments for investment section */
@media (max-width: 768px) {
  .investment-summary-row {
    flex-direction: column;
    gap: 1rem;
  }

  .investment-history-card {
    margin: 0 1rem 1rem 1rem;
  }

  .investment-history-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }

  .investment-history-table {
    font-size: 0.85rem;
  }

  .investment-history-table thead th,
  .investment-history-table tbody td {
    padding: 0.5rem;
  }
}

/* ========================================
   Balance History Chart Filters - Modern Style
   ======================================== */

.chart-filters-container {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  flex-wrap: wrap;
}

/* Modern Dropdown Container */
.chart-filter-dropdown {
  position: relative;
  display: inline-block;
}

.chart-filter-dropdown-toggle {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  min-width: 140px;
  background: linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-tertiary) 100%);
  border: 1px solid var(--border-color);
  border-radius: 8px;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--text-primary);
  cursor: pointer;
  transition: all 0.2s ease;
}

.chart-filter-dropdown-toggle:hover {
  border-color: var(--input-focus);
  background: linear-gradient(135deg, var(--bg-tertiary) 0%, var(--bg-hover) 100%);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.chart-filter-dropdown-toggle .dropdown-icon {
  margin-left: auto;
  transition: transform 0.2s ease;
}

.chart-filter-dropdown-toggle.open .dropdown-icon {
  transform: rotate(180deg);
}

.chart-filter-dropdown-menu {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  min-width: 200px;
  max-height: 320px;
  overflow-y: auto;
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: all 0.2s ease;
}

.chart-filter-dropdown-menu.open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* Checkbox Items */
.chart-filter-checkbox-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.625rem 1rem;
  cursor: pointer;
  transition: background-color 0.15s ease;
}

.chart-filter-checkbox-item:hover {
  background-color: var(--bg-hover);
}

.chart-filter-checkbox-item:first-child {
  border-radius: 10px 10px 0 0;
}

.chart-filter-checkbox-item:last-child {
  border-radius: 0 0 10px 10px;
}

.chart-filter-checkbox {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  border: 2px solid var(--border-color);
  border-radius: 4px;
  background: var(--input-bg);
  cursor: pointer;
  position: relative;
  transition: all 0.15s ease;
}

.chart-filter-checkbox:checked {
  background: linear-gradient(135deg, #1a3a5c 0%, #2d5a87 100%);
  border-color: #1a3a5c;
}

.chart-filter-checkbox:checked::after {
  content: '✓';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
  font-size: 12px;
  font-weight: bold;
}

.chart-filter-checkbox-label {
  font-size: 0.875rem;
  color: var(--text-primary);
  user-select: none;
}

/* Platform Group Headers */
.chart-filter-group-header {
  padding: 0.5rem 1rem;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--text-tertiary);
  background: var(--bg-tertiary);
  border-bottom: 1px solid var(--border-subtle);
}

.chart-filter-group-header:not(:first-child) {
  border-top: 1px solid var(--border-subtle);
  margin-top: 0.25rem;
}

/* Platform Icons */
.chart-filter-platform-icon {
  width: 16px;
  height: 16px;
  margin-right: 0.25rem;
}

/* Modern Time Range Pills */
.chart-time-pills {
  display: flex;
  gap: 0.25rem;
  background: var(--bg-tertiary);
  padding: 4px;
  border-radius: 10px;
  border: 1px solid var(--border-subtle);
}

.chart-time-pill {
  padding: 0.375rem 0.75rem;
  font-size: 0.8rem;
  font-weight: 500;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--text-secondary);
  cursor: pointer;
  transition: all 0.2s ease;
}

.chart-time-pill:hover {
  color: var(--text-primary);
  background: var(--bg-hover);
}

.chart-time-pill.active {
  background: linear-gradient(135deg, #1a3a5c 0%, #2d5a87 100%);
  color: white;
  box-shadow: 0 2px 6px rgba(26, 58, 92, 0.3);
}

[data-theme="dark"] .chart-time-pill.active {
  background: linear-gradient(135deg, #1a3a5c 0%, #2d5a87 100%);
}

/* Modern Display Mode Toggle */
.chart-mode-toggle {
  display: flex;
  gap: 0.25rem;
  background: var(--bg-tertiary);
  padding: 4px;
  border-radius: 10px;
  border: 1px solid var(--border-subtle);
}

.chart-mode-btn {
  padding: 0.375rem 1rem;
  font-size: 0.8rem;
  font-weight: 500;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--text-secondary);
  cursor: pointer;
  transition: all 0.2s ease;
}

.chart-mode-btn:hover {
  color: var(--text-primary);
  background: var(--bg-hover);
}

.chart-mode-btn.active {
  background: linear-gradient(135deg, #1a3a5c 0%, #2d5a87 100%);
  color: white;
  box-shadow: 0 2px 6px rgba(26, 58, 92, 0.3);
}

[data-theme="dark"] .chart-mode-btn.active {
  background: linear-gradient(135deg, #1a3a5c 0%, #2d5a87 100%);
}

/* Selected Count Badge */
.chart-filter-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  font-size: 0.7rem;
  font-weight: 600;
  color: white;
  background: linear-gradient(135deg, #1a3a5c 0%, #2d5a87 100%);
  border-radius: 10px;
}

/* Responsive */
@media (max-width: 768px) {
  .chart-filters-container {
    gap: 0.5rem;
  }

  .chart-filter-dropdown-toggle {
    min-width: 120px;
    padding: 0.4rem 0.75rem;
    font-size: 0.8rem;
  }

  .chart-time-pill,
  .chart-mode-btn {
    padding: 0.3rem 0.5rem;
    font-size: 0.75rem;
  }
}

/* ========================================
   Dark Mode Styles for Chart Filters
   ======================================== */

/* Chart filter dropdown menu dark mode */
[data-theme="dark"] .chart-filter-dropdown-menu {
  background: var(--bg-secondary);
  border-color: var(--border-color);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
}

/* Chart filter button actions container (Clear/All buttons) */
.chart-filter-actions {
  padding: 0.5rem;
  border-bottom: 1px solid var(--border-color);
  display: flex;
  gap: 0.5rem;
}

/* Group header dark mode enhancement */
[data-theme="dark"] .chart-filter-group-header {
  background: var(--bg-tertiary);
  border-color: var(--border-subtle);
  color: var(--text-secondary);
}

/* Checkbox item hover in dark mode */
[data-theme="dark"] .chart-filter-checkbox-item:hover {
  background-color: var(--bg-hover);
}

/* Date Picker Dark Mode */
[data-theme="dark"] .date-picker-wrapper .form-control {
  background-color: var(--bg-secondary);
  border-color: var(--border-color);
  color: var(--text-primary);
}

[data-theme="dark"] .date-picker-wrapper .form-control:focus {
  border-color: #1a3a5c;
  box-shadow: 0 0 0 2px rgba(26, 58, 92, 0.25);
}

/* Snapshot Calendar Dark Mode */
[data-theme="dark"] .snapshot-calendar {
  background-color: var(--bg-primary);
  border-color: var(--border-color);
}

[data-theme="dark"] .snapshot-calendar .react-datepicker__header {
  background: linear-gradient(135deg, #1a3a5c 0%, #2d5a87 100%);
}

[data-theme="dark"] .snapshot-calendar .react-datepicker__day {
  color: var(--text-primary);
}

[data-theme="dark"] .snapshot-calendar .react-datepicker__day:hover {
  background-color: var(--bg-hover);
}

[data-theme="dark"] .snapshot-calendar .react-datepicker__day--outside-month {
  color: var(--text-tertiary);
}

[data-theme="dark"] .snapshot-calendar .react-datepicker__day--disabled {
  color: var(--text-tertiary);
}

[data-theme="dark"] .snapshot-calendar .react-datepicker__month {
  background-color: var(--bg-primary);
}

/* React DatePicker Popper Dark Mode */
[data-theme="dark"] .react-datepicker {
  background-color: var(--bg-primary);
  border-color: var(--border-color);
}

[data-theme="dark"] .react-datepicker__header {
  background-color: var(--bg-secondary);
  border-color: var(--border-color);
}

[data-theme="dark"] .react-datepicker__current-month,
[data-theme="dark"] .react-datepicker__day-name {
  color: var(--text-primary);
}

[data-theme="dark"] .react-datepicker__day {
  color: var(--text-primary);
}

[data-theme="dark"] .react-datepicker__day:hover {
  background-color: var(--bg-hover);
}

[data-theme="dark"] .react-datepicker__day--selected,
[data-theme="dark"] .react-datepicker__day--keyboard-selected {
  background-color: #1a3a5c !important;
  color: #fff !important;
}

[data-theme="dark"] .react-datepicker__navigation-icon::before {
  border-color: var(--text-secondary);
}

[data-theme="dark"] .react-datepicker__triangle {
  display: none;
}

/* Recharts Tooltip Dark Mode - Custom class */
.recharts-tooltip-dark {
  background-color: var(--bg-secondary) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 8px;
}

.recharts-tooltip-dark .recharts-tooltip-label {
  color: var(--text-primary) !important;
}

.recharts-tooltip-dark .recharts-tooltip-item {
  color: var(--text-primary) !important;
}

/* Chart filter radio button dark mode styling */
[data-theme="dark"] .chart-filter-checkbox-item input[type="radio"] {
  accent-color: #1a3a5c;
}

/* Fix dark color labels in menus for dark mode */
[data-theme="dark"] .chart-filter-checkbox-item span[style*="#1a3a5c"] {
  color: #6eaef5 !important;
}

/* Chart filter buttons inside dropdown (Clear/All) dark mode */
[data-theme="dark"] .chart-filter-actions .btn-outline-secondary {
  color: var(--text-primary);
  border-color: var(--border-color);
  background-color: transparent;
}

[data-theme="dark"] .chart-filter-actions .btn-outline-secondary:hover {
  background-color: var(--bg-hover);
  color: var(--text-primary);
}

[data-theme="dark"] .chart-filter-actions .btn-outline-primary {
  color: #1a3a5c;
  border-color: #1a3a5c;
  background-color: transparent;
}

[data-theme="dark"] .chart-filter-actions .btn-outline-primary:hover {
  background-color: rgba(26, 58, 92, 0.15);
  color: #1a3a5c;
}

/* Time Range Stats Summary */
.chart-timerange-stats {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.chart-stat-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.5rem;
  border-radius: 6px;
  font-size: 0.75rem;
  font-weight: 600;
  cursor: default;
}

.chart-stat-badge.positive {
  background-color: rgba(34, 197, 94, 0.15);
  color: #22c55e;
  border: 1px solid rgba(34, 197, 94, 0.3);
}

.chart-stat-badge.negative {
  background-color: rgba(239, 68, 68, 0.15);
  color: #ef4444;
  border: 1px solid rgba(239, 68, 68, 0.3);
}

[data-theme="dark"] .chart-stat-badge.positive {
  background-color: rgba(34, 197, 94, 0.2);
  color: #4ade80;
}

[data-theme="dark"] .chart-stat-badge.negative {
  background-color: rgba(239, 68, 68, 0.2);
  color: #f87171;
}

/* Custom Date Range Picker */
.custom-date-range-picker {
  position: absolute;
  top: 100%;
  right: 0;
  margin-top: 0.5rem;
  z-index: 1000;
  background: var(--bg-primary);
  border: 1px solid var(--border-color);
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
  padding: 0.5rem;
}

[data-theme="dark"] .custom-date-range-picker {
  background: var(--bg-secondary);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
}

.custom-date-range-picker .react-datepicker {
  border: none;
  background: transparent;
}.pairs-status-container {
  padding: 2rem;
  width: 100%;
  overflow-x: auto;
}

.pairs-status-container h1 {
  font-size: 2rem;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 1.5rem;
  transition: color 0.3s ease;
}

.pairs-status-container h4 {
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--text-primary);
  margin: 2rem 0 1rem 0;
  transition: color 0.3s ease;
}

.pairs-status-loading {
  text-align: center;
  padding: 3rem;
  color: var(--text-secondary);
  font-size: 1.1rem;
  transition: color 0.3s ease;
}

.pairs-status-alert {
  padding: 1rem;
  background-color: #fee;
  color: #c33;
  border: 1px solid #fcc;
  border-radius: 6px;
  margin-bottom: 1.5rem;
}

.pairs-status-alert-error {
  background-color: #fee;
  color: #c33;
  border: 1px solid #fcc;
}

/* Summary Cards */
.pairs-status-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.pairs-status-card {
  background: var(--card-bg);
  border-radius: 8px;
  padding: 1.5rem;
  box-shadow: 0 2px 4px var(--shadow);
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.pairs-status-card-large {
  grid-column: span 2;
}

.pairs-status-card-title {
  font-size: 0.9rem;
  color: var(--text-secondary);
  margin-bottom: 0.5rem;
  font-weight: 500;
  transition: color 0.3s ease;
}

.pairs-status-card-value {
  font-size: 2rem;
  font-weight: 600;
  color: var(--text-primary);
  transition: color 0.3s ease;
}

.pairs-status-card-active-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-top: 0.5rem;
}

.pairs-status-card-active-item {
  display: flex;
  flex-direction: column;
}

.pairs-status-card-active-label {
  font-size: 0.75rem;
  color: var(--text-secondary);
  margin-bottom: 0.25rem;
  transition: color 0.3s ease;
}

.pairs-status-card-active-value {
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--text-primary);
  transition: color 0.3s ease;
}

.pairs-status-divider {
  margin: 2rem 0;
  border: none;
  border-top: 1px solid #dee2e6;
}

/* Filters */
.pairs-status-filters {
  background: var(--card-bg);
  border-radius: 8px;
  padding: 1.5rem;
  margin-bottom: 1.5rem;
  box-shadow: 0 2px 4px var(--shadow);
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.pairs-status-filter-row {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}

.pairs-status-filter-row:last-child {
  margin-bottom: 0;
}

.pairs-status-filter-checkbox {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 500;
  min-width: 200px;
  cursor: pointer;
  color: var(--text-primary);
  transition: color 0.3s ease;
}

.pairs-status-filter-checkbox input[type="checkbox"] {
  width: 18px;
  height: 18px;
  cursor: pointer;
}

.pairs-status-date-inputs {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex: 1;
}

.pairs-status-date-inputs.disabled {
  opacity: 0.5;
  pointer-events: none;
}

.pairs-status-date-inputs input[type="datetime-local"] {
  padding: 0.5rem;
  border: 1px solid var(--input-border);
  border-radius: 4px;
  font-size: 0.95rem;
  background-color: var(--input-bg);
  color: var(--text-primary);
  transition: all 0.3s ease;
}

.pairs-status-date-inputs span {
  color: var(--text-secondary);
  font-weight: 500;
  transition: color 0.3s ease;
}

/* AG Grid */
.pairs-status-grid-container {
  width: 100%;
  height: calc(100vh - 600px);
  min-height: 400px;
  background: var(--card-bg);
  border-radius: 8px;
  box-shadow: 0 2px 4px var(--shadow);
  padding: 1rem;
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.pairs-status-grid-container .ag-theme-alpine {
  width: 100%;
  height: 100%;
  font-size: 0.85rem;
}

/* Responsive */
@media (max-width: 768px) {
  .pairs-status-summary {
    grid-template-columns: 1fr;
  }
  
  .pairs-status-card-large {
    grid-column: span 1;
  }
  
  .pairs-status-filter-row {
    flex-direction: column;
    align-items: flex-start;
  }
  
  .pairs-status-date-inputs {
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
  }

  .pairs-status-container {
    padding: 1rem;
  }

  .pairs-status-container h1 {
    font-size: 1.5rem;
  }

  .pairs-status-container h4 {
    font-size: 1.25rem;
  }

  .pairs-status-grid-container {
    height: calc(100vh - 500px);
    min-height: 300px;
    padding: 0.5rem;
  }
}

.trading-page {
  padding: 1rem;
  width: 100%;
  height: 100vh;
  /* Fixed height to viewport */
  overflow: hidden;
  /* Prevent page scroll, force internal scroll */
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

.trading-header {
  margin-bottom: 2rem;
}

.trading-header h1 {
  font-size: 2rem;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0;
  transition: color 0.3s ease;
}

.trading-loading {
  text-align: center;
  padding: 3rem;
  color: var(--text-secondary);
  font-size: 1.1rem;
  transition: color 0.3s ease;
}

.trading-error {
  padding: 1rem;
  background-color: #fee;
  color: #c33;
  border: 1px solid #fcc;
  border-radius: 6px;
  margin-bottom: 1.5rem;
}

/* Filters */
.trading-filters {
  background: var(--card-bg);
  border-radius: 8px;
  padding: 1.5rem;
  margin-bottom: 2rem;
  box-shadow: 0 2px 4px var(--shadow);
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.trading-filters-row {
  display: flex;
  gap: 1rem;
  margin-bottom: 1rem;
  align-items: center;
  flex-wrap: wrap;
}

.trading-filters-row:last-child {
  margin-bottom: 0;
}

.trading-filter-switch {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
}

.trading-filter-switch input[type="checkbox"] {
  width: 18px;
  height: 18px;
  cursor: pointer;
}

.trading-filter-input {
  flex: 1;
  min-width: 200px;
  padding: 0.5rem;
  border: 1px solid var(--input-border);
  border-radius: 4px;
  font-size: 0.95rem;
  background-color: var(--input-bg);
  color: var(--text-primary);
  transition: all 0.3s ease;
}

.trading-filter-date {
  padding: 0.5rem;
  border: 1px solid var(--input-border);
  border-radius: 4px;
  font-size: 0.95rem;
  background-color: var(--input-bg);
  color: var(--text-primary);
  transition: all 0.3s ease;
}

/* Quick Date Filter Buttons */
.trading-date-filters {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.trading-quick-date-buttons {
  display: flex;
  gap: 0.25rem;
}

.trading-quick-date-btn {
  padding: 0.35rem 0.6rem;
  font-size: 0.75rem;
  font-weight: 600;
  border: 1px solid var(--border-color);
  border-radius: 4px;
  background-color: var(--bg-tertiary);
  color: var(--text-primary);
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}

.trading-quick-date-btn:hover {
  background-color: var(--bg-secondary);
  border-color: var(--border-color);
}

.trading-quick-date-btn.active {
  background-color: #10204E;
  color: white;
  border-color: #10204E;
}

.trading-quick-date-btn.active:hover {
  background-color: rgba(16, 32, 78, 0.9);
}

.trading-custom-date-inputs {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.25rem;
}

.trading-date-separator {
  color: var(--text-secondary);
  font-size: 0.85rem;
}

/* Table Filters (above AG Grid) */
.trading-table-filters {
  background: var(--card-bg);
  border-radius: 8px;
  padding: 1rem 1.5rem;
  margin-bottom: 1rem;
  box-shadow: 0 2px 4px var(--shadow);
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.trading-table-filters-row {
  display: flex;
  gap: 1.5rem;
  align-items: center;
  flex-wrap: wrap;
}

.trading-table-filter-group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
  /* Prevent shrinking/squeezing */
}

.trading-table-filter-label {
  font-weight: 500;
  color: var(--text-primary);
  white-space: nowrap;
  font-size: 0.9rem;
  transition: color 0.3s ease;
}

.trading-table-filters .trading-filter-switch {
  margin: 0;
  padding: 0;
}

/* Summary Table */
.trading-summary {
  background: var(--card-bg);
  border-radius: 8px;
  padding: 0.6rem;
  box-shadow: 0 2px 4px var(--shadow);
  width: auto;
  flex: 1;
  max-width: 100%;
  flex-shrink: 1;
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  position: relative;
  scrollbar-width: thin;
  scrollbar-color: var(--border-color) var(--bg-tertiary);
}

/* Thicker scrollbars for summary table (3x) - apply to all screen sizes */
.trading-summary::-webkit-scrollbar {
  width: 24px !important;
  /* 3x thicker (default is ~8px) */
  height: 24px !important;
  display: block !important;
  /* Force scrollbar to show */
}

.trading-summary::-webkit-scrollbar-track {
  background: var(--bg-tertiary) !important;
  border-radius: 12px;
  display: block !important;
}

.trading-summary::-webkit-scrollbar-thumb {
  background: var(--border-color) !important;
  border-radius: 12px;
  border: 4px solid var(--bg-tertiary);
  min-height: 50px !important;
  /* Ensure thumb is visible */
  min-width: 50px !important;
  display: block !important;
}

.trading-summary::-webkit-scrollbar-thumb:hover {
  background: var(--text-secondary) !important;
}

/* Make sure the table wrapper allows scrolling */
.trading-summary>* {
  min-width: 0;
  /* Allow shrinking */
}

.trading-summary h2 {
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0 0 0.6rem 0;
  padding: 0.3rem 0.6rem;
  transition: color 0.3s ease;
}

.trading-summary-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8rem;
  table-layout: auto;
  /* Allow columns to size based on content */
}

.trading-summary-table thead {
  background-color: var(--bg-tertiary);
  transition: background-color 0.3s ease;
}

.trading-summary-table th {
  padding: 0.4rem 0.5rem;
  text-align: left;
  font-weight: 600;
  color: var(--text-primary);
  border-bottom: 1px solid var(--border-color);
  font-size: 0.8rem;
  transition: color 0.3s ease, border-color 0.3s ease;
  white-space: nowrap;
  /* Prevent text wrapping in headers */
}

.trading-summary-table td {
  padding: 0.4rem 0.5rem;
  border-bottom: 1px solid var(--border-color-light);
  color: var(--text-primary);
  font-size: 0.8rem;
  transition: color 0.3s ease, border-color 0.3s ease;
  white-space: nowrap;
  /* Prevent text wrapping in cells */
}

.trading-summary-table tbody tr:hover {
  background-color: var(--bg-tertiary);
  transition: background-color 0.3s ease;
}

/* Actions */
.trading-actions-top {
  display: flex;
  gap: 1rem;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
}

.trading-actions-summary-container {
  display: flex;
  gap: 1.5rem;
  margin-bottom: 1.5rem;
  align-items: flex-start;
  width: 100%;
  overflow-x: visible;
}

.trading-actions {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  flex: 1;
}

.trading-action-btn {
  border: none;
  padding: 0.75rem 1.5rem;
  border-radius: 6px;
  font-size: 1rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
}

.trading-btn-primary {
  background-color: #10204E;
  color: white;
}

.trading-btn-primary:hover {
  background-color: rgba(16, 32, 78, 0.9);
}

.trading-btn-danger {
  background-color: #dc3545;
  color: white;
}

.trading-btn-danger:hover {
  background-color: #c82333;
}

.trading-export-btn {
  background-color: #28a745;
  color: white;
  border: none;
  padding: 0.75rem 1.5rem;
  border-radius: 6px;
  font-size: 1rem;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.2s;
}

.trading-export-btn:hover {
  background-color: #218838;
}

/* Alert */
.trading-alert {
  padding: 1rem;
  border-radius: 6px;
  margin-bottom: 1.5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.trading-alert-success {
  background-color: #d4edda;
  color: #155724;
  border: 1px solid #c3e6cb;
}

.trading-alert-danger {
  background-color: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
}

.trading-alert-close {
  background: none;
  border: none;
  font-size: 1.5rem;
  cursor: pointer;
  color: inherit;
  padding: 0;
  margin-left: 1rem;
  line-height: 1;
}

/* Modal */
.trading-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}

.trading-modal {
  background: var(--card-bg, white);
  border-radius: 16px;
  max-width: 800px;
  width: 90%;
  max-height: 90vh;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  border: 1px solid var(--border-color, #e2e8f0);
  color: var(--text-primary, #1a202c);
  display: flex;
  flex-direction: column;
}

.trading-modal-body {
  padding: 1.5rem;
  overflow-y: auto;
  /* Allow body to scroll if needed, while header stays fixed if we flex column */
}

.trading-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.75rem 2rem;
  border-bottom: 2px solid #e2e8f0;
  background: linear-gradient(135deg, #f7fafc 0%, #edf2f7 100%);
  border-radius: 16px 16px 0 0;
}

.trading-modal-header h2 {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 700;
  color: #1a202c;
  letter-spacing: -0.025em;
}

.trading-modal-close {
  background: none;
  border: none;
  font-size: 2rem;
  cursor: pointer;
  color: #666;
  padding: 0;
  line-height: 1;
}

.trading-modal-close:hover {
  color: #333;
}

.trading-modal-body {
  padding: 1.5rem;
}

.trading-modal-large {
  max-width: 900px;
}

/* Form Styles - Modern Design */
.trading-form {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.trading-form-group {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.trading-form-group label {
  font-weight: 600;
  color: #1a202c;
  font-size: 0.875rem;
  letter-spacing: 0.025em;
  text-transform: uppercase;
}

.trading-form-group input,
.trading-form-group select {
  padding: 0.75rem 1rem;
  border: 2px solid var(--input-border);
  border-radius: 8px;
  font-size: 0.95rem;
  font-family: inherit;
  background-color: var(--input-bg);
  transition: all 0.2s ease;
  color: var(--text-primary);
}

.trading-form-group input:hover,
.trading-form-group select:hover {
  border-color: var(--border-color);
}

.trading-form-group input:focus,
.trading-form-group select:focus {
  outline: none;
  border-color: var(--input-focus);
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
  background-color: var(--input-bg);
}

.trading-form-group input::placeholder {
  color: var(--text-tertiary);
}

.trading-form-hint {
  font-size: 0.75rem;
  color: #718096;
  margin-top: -0.5rem;
  font-style: italic;
}

.trading-form-help {
  font-size: 0.75rem;
  color: #718096;
  margin-top: 0.25rem;
  font-style: italic;
}

.trading-form-input {
  width: 100%;
}

.trading-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.trading-form-actions {
  display: flex;
  gap: 1rem;
  justify-content: flex-end;
  margin-top: 0.5rem;
  padding-top: 1.5rem;
  border-top: 2px solid #e2e8f0;
}

.trading-btn-secondary {
  background-color: var(--bg-secondary);
  color: var(--text-secondary);
  border: 2px solid var(--border-color);
  padding: 0.75rem 1.75rem;
  border-radius: 8px;
  font-size: 0.95rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}

.trading-btn-secondary:hover {
  background-color: var(--bg-tertiary);
  border-color: var(--border-color-light);
  color: var(--text-primary);
  transform: translateY(-1px);
  box-shadow: 0 2px 4px var(--shadow);
}

.trading-btn-primary {
  background-color: #10204E;
  color: white;
  border: none;
  padding: 0.75rem 1.75rem;
  border-radius: 8px;
  font-size: 0.95rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  box-shadow: 0 4px 6px rgba(16, 32, 78, 0.25);
}

.trading-btn-primary:hover {
  background-color: rgba(16, 32, 78, 0.9);
  transform: translateY(-2px);
  box-shadow: 0 6px 12px rgba(16, 32, 78, 0.35);
}

.trading-btn-primary:active {
  transform: translateY(0);
  box-shadow: 0 2px 4px rgba(16, 32, 78, 0.25);
}

.trading-btn-danger {
  background-color: #DC2626;
  color: white;
  border: none;
  padding: 0.75rem 1.75rem;
  border-radius: 8px;
  font-size: 0.95rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  box-shadow: 0 4px 6px rgba(220, 38, 38, 0.25);
}

.trading-btn-danger:hover {
  background-color: #B91C1C;
  transform: translateY(-2px);
  box-shadow: 0 6px 12px rgba(185, 28, 28, 0.35);
}

.trading-btn-danger:active {
  transform: translateY(0);
  box-shadow: 0 2px 4px rgba(220, 38, 38, 0.25);
}

/* Views Dropdown - Sidebar Menu Style */
.trading-views-container {
  position: relative;
  display: inline-block;
  z-index: 1000;
}

.trading-views-container:hover .trading-views-dropdown {
  display: block;
}

.trading-views-container .trading-views-btn {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.trading-views-btn {
  display: flex !important;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  background-color: #10204E !important;
  color: #ffffff !important;
  border: none;
  border-radius: 6px;
  font-size: 1rem;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.2s, color 0.2s;
  font-family: inherit;
  position: relative;
  z-index: 1002;
  visibility: visible !important;
  opacity: 1 !important;
  width: auto;
  height: auto;
}

.trading-views-btn:hover {
  background-color: rgba(255, 255, 255, 0.15);
  color: #ffffff;
}

.trading-views-icon {
  font-size: 1rem;
  min-width: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.trading-views-chevron {
  font-size: 0.75rem;
  min-width: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.trading-views-unsaved-indicator {
  color: #fbbf24;
  font-size: 0.5rem;
  margin-left: 0.25rem;
}

.trading-views-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 0.5rem;
  background-color: #10204E;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
  min-width: 250px;
  z-index: 1001;
  border: 1px solid rgba(255, 255, 255, 0.2);
  pointer-events: auto;
}

.trading-views-header {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  font-size: 0.875rem;
  color: #ffffff;
}

.trading-views-list {
  max-height: 300px;
  overflow-y: auto;
}

.trading-views-empty {
  padding: 1rem;
  text-align: center;
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.875rem;
}

.trading-view-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  cursor: pointer;
  transition: background-color 0.2s;
}

.trading-view-item:hover {
  background-color: rgba(255, 255, 255, 0.15);
}

.trading-view-item.active {
  background-color: rgba(255, 255, 255, 0.25);
  font-weight: 600;
}

.trading-view-item.active .trading-view-name {
  color: #ffffff;
}

.trading-view-name {
  flex: 1;
  color: #ffffff;
  font-size: 0.9rem;
}

.trading-view-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.trading-view-update,
.trading-view-set-default,
.trading-view-delete {
  background: none;
  border: none;
  color: #ffffff;
  font-size: 1rem;
  cursor: pointer;
  padding: 0.25rem;
  line-height: 1;
  transition: background-color 0.2s, transform 0.2s, color 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  min-width: 1.5rem;
  min-height: 1.5rem;
}

.trading-view-update:hover,
.trading-view-set-default:hover,
.trading-view-delete:hover {
  background-color: rgba(255, 255, 255, 0.15);
  transform: scale(1.1);
}

.trading-view-set-default.is-default {
  color: #ffc107;
}

.trading-view-set-default.is-default:hover {
  color: #ffca2c;
}

.trading-view-item.trading-view-default {
  background-color: rgba(251, 191, 36, 0.2);
  border-left: 3px solid #fbbf24;
}

.trading-view-default-badge {
  color: #fbbf24;
  font-size: 0.75rem;
  font-weight: 600;
  margin-left: 0.25rem;
}

.trading-views-actions {
  padding: 0.75rem 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.trading-view-save-btn,
.trading-view-reset-btn {
  width: 100%;
  background-color: rgba(255, 255, 255, 0.15);
  color: #ffffff;
  border: none;
  padding: 0.6rem 1rem;
  border-radius: 6px;
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}

.trading-view-save-btn:hover,
.trading-view-reset-btn:hover {
  background-color: rgba(255, 255, 255, 0.25);
}


/* Unsaved changes indicator */
.trading-views-unsaved {
  position: relative;
}

@keyframes pulse {

  0%,
  100% {
    opacity: 1;
  }

  50% {
    opacity: 0.5;
  }
}

/* Dark mode support for views */


/* Orders Table */
.trading-table-container {
  background: white;
  border-radius: 8px;
  padding: 1.5rem;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  overflow-x: auto;
}

.trading-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.85rem;
  min-width: 1500px;
}

.trading-table thead {
  background-color: #f8f9fa;
  position: sticky;
  top: 0;
  z-index: 10;
}

.trading-table th {
  padding: 0.75rem 0.5rem;
  text-align: left;
  font-weight: 600;
  color: #333;
  border-bottom: 2px solid #dee2e6;
  white-space: nowrap;
  font-size: 0.8rem;
}

.trading-table td {
  padding: 0.75rem 0.5rem;
  border-bottom: 1px solid #e9ecef;
  color: #666;
  white-space: nowrap;
}

.trading-table tbody tr:hover {
  background-color: #f8f9fa;
}

.trading-table a {
  color: #667eea;
  text-decoration: none;
}

.trading-table a:hover {
  text-decoration: underline;
}

.trading-empty {
  text-align: center;
  padding: 2rem;
  color: #999;
  font-style: italic;
}

/* AG Grid styles */
.ag-theme-alpine {
  --ag-font-family: inherit;
  --ag-font-size: 0.9rem;
}

/* Thicker scrollbars for AG Grid - apply to all screen sizes */
.ag-theme-alpine ::-webkit-scrollbar {
  width: 30px !important;
  /* Wider scrollbars (default is ~8px) */
  height: 30px !important;
}

.ag-theme-alpine ::-webkit-scrollbar-track {
  background: var(--bg-tertiary) !important;
  border-radius: 15px;
}

.ag-theme-alpine ::-webkit-scrollbar-thumb {
  background: var(--border-color) !important;
  border-radius: 15px;
  border: 5px solid var(--bg-tertiary);
  min-height: 60px;
  /* Ensure thumb is visible */
  min-width: 60px;
}

.ag-theme-alpine ::-webkit-scrollbar-thumb:hover {
  background: var(--text-secondary) !important;
}

/* Firefox scrollbars for AG Grid */
.ag-theme-alpine {
  scrollbar-width: 30px;
  scrollbar-color: var(--border-color) var(--bg-tertiary);
}

/* Ensure AG Grid viewport has thick scrollbars */
.ag-theme-alpine .ag-body-viewport {
  scrollbar-width: 30px;
  scrollbar-color: var(--border-color) var(--bg-tertiary);
}

/*.ag-theme-alpine .ag-body-horizontal-scroll-viewport {
  scrollbar-width: 30px;
  scrollbar-color: var(--border-color) var(--bg-tertiary);
}

.ag-theme-alpine .ag-body-horizontal-scroll-viewport::-webkit-scrollbar {
  height: 30px !important;
}

.ag-theme-alpine .ag-body-horizontal-scroll-viewport::-webkit-scrollbar-track {
  background: var(--bg-tertiary) !important;
  border-radius: 15px;
}

.ag-theme-alpine .ag-body-horizontal-scroll-viewport::-webkit-scrollbar-thumb {
  background: var(--border-color) !important;
  border-radius: 15px;
  border: 5px solid var(--bg-tertiary);
  min-width: 60px;
}

.ag-theme-alpine .ag-body-horizontal-scroll-viewport::-webkit-scrollbar-thumb:hover {
  background: var(--text-secondary) !important;
}*/

/* Mobile-specific styles for preventing column dragging */
@media (max-width: 768px) {

  /* Prevent column dragging from cells on mobile - only allow from headers */
  .ag-theme-alpine .ag-cell {
    touch-action: pan-y pan-x !important;
    /* Allow scrolling, prevent dragging */
    user-select: text;
    /* Allow text selection */
    -webkit-user-drag: none;
    /* Prevent dragging */
    -moz-user-select: text;
    -ms-user-select: text;
  }

  /* Prevent column drag handle from appearing in cells */
  .ag-theme-alpine .ag-cell .ag-drag-handle {
    display: none !important;
  }

  /* Allow column dragging only from header */
  .ag-theme-alpine .ag-header-cell {
    touch-action: none;
    /* Allow dragging from header */
  }

  /* Show drag handle only in header */
  .ag-theme-alpine .ag-header-cell .ag-drag-handle {
    display: block;
  }

  /* Ensure scrolling works in grid */
  .ag-theme-alpine .ag-body-viewport {
    -webkit-overflow-scrolling: touch;
  }
}

/* Mobile Responsive Styles */
@media (max-width: 768px) {
  .trading-page {
    padding: 1rem;
    overflow-x: visible;
  }

  .trading-header h1 {
    font-size: 1.5rem;
  }

  .trading-filters {
    padding: 1rem;
  }

  .trading-filters-row {
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
  }

  .trading-filter-group {
    width: 100%;
  }

  .trading-actions-summary-container {
    flex-direction: column;
    gap: 1rem;
    width: 100%;
    overflow-x: visible;
  }

  .trading-summary {
    width: 100%;
    min-width: 0;
    max-width: 100vw;
    padding: 0.5rem;
    overflow-x: auto;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
    position: relative;
    box-sizing: border-box;
    /* Scrollbar styles are defined globally above */
  }

  .trading-summary h2 {
    font-size: 0.95rem;
    padding: 0.25rem 0.5rem;
    position: sticky;
    left: 0;
    background: var(--card-bg);
    z-index: 1;
  }

  .trading-summary-table {
    width: auto;
    min-width: 1100px;
    /* Ensure table maintains minimum width for all 9 columns */
    font-size: 0.65rem;
    display: table;
    table-layout: auto;
    border-collapse: collapse;
  }

  .trading-summary-table th {
    padding: 0.35rem 0.4rem;
    font-size: 0.7rem;
    white-space: nowrap;
    position: sticky;
    top: 0;
    background: var(--bg-tertiary);
    z-index: 1;
  }

  .trading-summary-table td {
    padding: 0.35rem 0.4rem;
    font-size: 0.7rem;
    white-space: nowrap;
  }

  .trading-grid-container {
    height: calc(100vh - 400px);
    min-height: 300px;
  }

  .trading-buttons-row {
    flex-direction: column;
    gap: 0.5rem;
  }

  .trading-button {
    width: 100%;
  }

  .trading-modal {
    width: 95%;
    max-width: 95%;
    margin: 1rem auto;
    padding: 1rem;
  }

  .trading-form-row {
    flex-direction: column;
  }

  .trading-form-group {
    width: 100%;
  }

  .trading-table-filters-row {
    flex-direction: column;
    gap: 0.75rem;
  }

  .trading-table-filter-group {
    width: 100%;
  }
}



/* Added for Trading page specific */
.trading-btn-warning {
  background-color: #ffc107;
  color: #212529;
  border: none;
  padding: 0.75rem 1.5rem;
  border-radius: 6px;
  font-size: 0.95rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  text-transform: uppercase;
  letter-spacing: 0.025em;
}

.trading-btn-warning:hover {
  background-color: #e0a800;
  transform: translateY(-2px);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
}

/* Pagination Styling */
.trading-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  background-color: var(--card-bg);
  border-top: 1px solid var(--border-color);
  border-radius: 0 0 8px 8px;
  color: var(--text-primary);
}

.pagination-btn {
  background-color: var(--bg-tertiary);
  color: var(--text-primary);
  border: 1px solid var(--border-color);
  padding: 0.5rem 1rem;
  border-radius: 6px;
  font-size: 0.9rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}

.pagination-btn:hover:not(:disabled) {
  filter: brightness(0.9);
  border-color: var(--text-secondary);
}

.pagination-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.pagination-info {
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--text-secondary);
}

/* Status Badges - SEB Style */
.status-badge {
  padding: 4px 8px;
  border-radius: 2px;
  /* SEB style uses small radius */
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: capitalize;
  display: inline-block;
  line-height: 1.25;
}

.status-open {
  background-color: #007AC7;
  /* SEB Blue */
  color: #ffffff;
}

.status-closed {
  background-color: #387C2B;
  /* SEB Green */
  color: #ffffff;
}

.status-pending {
  background-color: #FFC500;
  /* SEB Yellow */
  color: #1a1a1a;
  /* Dark text for contrast */
}

.status-cancelled {
  background-color: #E21C33;
  /* SEB Red */
  color: #ffffff;
}

.status-partial {
  background-color: #4C3398;
  /* Purple (Approximated complementary) */
  color: #ffffff;
}

.status-unknown {
  background-color: #e9e9e9;
  /* Light Grey */
  color: #1a1a1a;
}

.status-filled {
  background-color: #387C2B;
  /* SEB Green */
  color: #ffffff;
}

.status-failed {
  background-color: #E21C33;
  /* SEB Red */
  color: #ffffff;
}

.status-closed-with-failures {
  background-color: #FF9800;
  /* Orange */
  color: #ffffff;
}

.status-partial-with-failures {
  background-color: #E65100;
  /* Darker Orange */
  color: #ffffff;
}

/* Value Colors */
.pl-value {
  font-weight: 600;
}

.pl-value.positive {
  color: #10b981;
}


.pl-value.negative {
  color: #ef4444;
}

/* Summary table positive/negative colors */
.trading-summary-table td.positive {
  color: #10b981 !important;
  font-weight: 600;
}

.trading-summary-table td.negative {
  color: #ef4444 !important;
  font-weight: 600;
}

/* Modern Table Styling */
.ag-theme-alpine {
  --ag-checkbox-checked-color: #007AC7;
  --ag-header-background-color: #F9FAFB;
  --ag-row-border-color: #F3F4F6;
  --ag-row-hover-color: #F9FAFB;
  --ag-header-foreground-color: #4B5563;
  --ag-data-color: #1F2937;
  --ag-font-size: 14px;
  --ag-borders: solid 1px #E5E7EB;
}

.ag-theme-alpine .ag-header-cell {
  font-weight: 600;
}

/* Search Indicator for Pair Address Floating Filter */
.ag-header-cell[col-id="pair_address"] .ag-floating-filter-input {
  padding-left: 28px !important;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="%239CA3AF" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line></svg>');
  background-repeat: no-repeat;
  background-position: 8px center;
  border-radius: 6px;
  border: 1px solid #E5E7EB;
  transition: all 0.2s;
}

.ag-header-cell[col-id="pair_address"] .ag-floating-filter-input:focus {
  border-color: #007AC7;
  box-shadow: 0 0 0 2px rgba(0, 122, 199, 0.1);
}

/* Hide default filter icon in floating filter if present */
.ag-header-cell[col-id="pair_address"] .ag-floating-filter-button {
  display: none !important;
}

/* Checkbox Style Override (if var doesn't catch all) */
.ag-theme-alpine .ag-checkbox-input-wrapper.ag-checked::after {
  color: #007AC7;
}

/* Action Icons */
.ag-theme-alpine .ag-cell-wrapper>*:not(.ag-cell-value):not(.ag-selection-checkbox) {
  /* Ensure flex alignment for custom renderers */
  height: 100%;
  display: flex;
  align-items: center;
}

/* AG Grid Sorting Icons Customization */
.ag-theme-alpine .ag-header-cell-label .ag-icon-none {
  opacity: 0.5;
  /* Visible but faint for unsorted */
  color: #a0aec0;
}

/* Sorted Icons (Filled Dark Blue) */
.ag-theme-alpine .ag-icon-asc,
.ag-theme-alpine .ag-icon-desc {
  color: #10204E !important;
  /* System Dark Blue */
  font-weight: 900;
  opacity: 1 !important;
  transform: scale(1.1);
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
  .trading-page {
    padding: 0.5rem;
  }

  .trading-header h1 {
    font-size: 1.5rem;
  }

  /* Filters */
  .trading-filters {
    padding: 1rem;
  }

  .trading-filters-row {
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
  }

  .trading-filter-input,
  .trading-filter-date {
    min-width: 0;
    /* Override default min-width */
    width: 100%;
    box-sizing: border-box;
  }

  .trading-filter-switch {
    width: 100%;
    justify-content: space-between;
  }

  .trading-quick-date-buttons {
    width: 100%;
    overflow-x: auto;
    padding-bottom: 5px;
    /* Space for scrollbar if needed */
  }

  .trading-custom-date-inputs {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }

  /* Actions and Summary Layout */
  .trading-actions-summary-container {
    flex-direction: column;
    gap: 1.5rem;
  }

  .trading-actions {
    width: 100%;
    justify-content: stretch;
  }

  .trading-actions-top {
    flex-direction: column;
    width: 100%;
  }

  .trading-actions-top button {
    width: 100%;
    justify-content: center;
  }

  /* Summary Table */
  .trading-summary {
    width: 100%;
    /* Full width on mobile */
    min-width: 0;
    /* Remove 600px constraint */
    padding: 0.5rem;
  }

  .trading-summary h2 {
    font-size: 1rem;
  }

  /* Table Filters */
  .trading-table-filters {
    padding: 1rem;
  }

  .trading-table-filters-row {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
  }

  /* Modals */
  .trading-modal {
    width: 95%;
    max-height: 95vh;
    border-radius: 8px;
    /* Slightly smaller radius */
  }

  .trading-modal-header {
    padding: 1rem;
  }

  .trading-modal-body {
    padding: 1rem;
  }

  .trading-form-row {
    grid-template-columns: 1fr;
    /* Stack form inputs */
  }

  /* AG Grid wrapper */
  .ag-theme-alpine {
    height: 70vh !important;
    /* Adjust height for mobile */
  }

  /* Other adjustments */
  .trading-btn-primary,
  .trading-btn-secondary,
  .trading-export-btn,
  .trading-action-btn {
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 0.75rem 1rem;
  }

  .trading-views-container {
    width: 100%;
  }

  .trading-views-btn {
    width: 100%;
    justify-content: center;
  }

  .trading-views-dropdown {
    width: 100%;
    left: 0;
    right: 0;
    min-width: auto;
  }

  /* Filter pills scrolling */
  .trading-table-filters-row>div {
    overflow-x: auto;
    max-width: 100%;
    padding-bottom: 5px;
  }
}

/* AG Grid - Horizontal scrollbar fixed at bottom of viewport */
.ag-theme-alpine .ag-body-horizontal-scroll {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 9999 !important;
  background: var(--card-bg) !important;
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.15) !important;
  padding: 2px 0 !important;
}

.ag-theme-alpine .ag-body-horizontal-scroll-viewport {
  overflow-x: auto !important;
}

/* Make scrollbar larger and more visible */
.ag-theme-alpine .ag-body-horizontal-scroll::-webkit-scrollbar {
  height: 16px !important;
}

.ag-theme-alpine .ag-body-horizontal-scroll::-webkit-scrollbar-track {
  background: var(--bg-tertiary) !important;
}

.ag-theme-alpine .ag-body-horizontal-scroll::-webkit-scrollbar-thumb {
  background: #007AC7 !important;
  border-radius: 8px !important;
  border: 2px solid var(--bg-tertiary) !important;
  min-width: 50px !important;
}

.ag-theme-alpine .ag-body-horizontal-scroll::-webkit-scrollbar-thumb:hover {
  background: #0056b3 !important;
}

/* Hide AG Grid pagination */
.ag-theme-alpine .ag-paging-panel {
  display: none !important;
}

/* Enable header text wrapping - minimal approach */
.ag-theme-alpine .ag-header-cell-label .ag-header-cell-text,
.ag-theme-alpine-dark .ag-header-cell-label .ag-header-cell-text {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  padding: 4px 0 !important;
}

.ag-theme-alpine .ag-header-cell,
.ag-theme-alpine-dark .ag-header-cell {
  overflow: visible !important;
  height: auto !important;
  min-height: 48px !important;
  min-width: 80px !important;
  padding: 8px 4px !important;
}

.ag-theme-alpine .ag-header-row,
.ag-theme-alpine-dark .ag-header-row {
  height: auto !important;
  min-height: 48px !important;
}

/* Dark mode header wrapping */
.ag-theme-alpine-dark .ag-header-cell-label {
  white-space: normal !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
  line-height: 1.2 !important;
}

/* Prevent text truncation in upper section elements */
.trading-action-btn,
.trading-btn-primary,
.trading-btn-secondary,
.trading-btn-danger,
.trading-views-btn,
button {
  white-space: normal !important;
  word-wrap: break-word !important;
  text-overflow: clip !important;
  overflow: visible !important;
}

/* Tab buttons and labels */
[role="tab"],
.tab-button,
.view-mode-btn {
  white-space: normal !important;
  word-wrap: break-word !important;
  line-height: 1.3 !important;
  min-height: fit-content !important;
  padding: 0.5rem 1rem !important;
}

/* Responsive flex row - stacks on mobile */
.trading-form-row-responsive {
  display: flex;
  gap: 15px;
  align-items: flex-start;
}

/* Mobile Responsive Styles for Create Trade Group Modal */
@media (max-width: 768px) {
  .trading-modal {
    width: 100% !important;
    max-width: 100% !important;
    height: 100vh !important;
    max-height: 100vh !important;
    border-radius: 0 !important;
    margin: 0 !important;
  }

  .trading-modal-large {
    max-width: 100% !important;
  }

  .trading-modal-header {
    padding: 1rem !important;
    border-radius: 0 !important;
  }

  .trading-modal-header h2 {
    font-size: 1.2rem !important;
  }

  .trading-modal-body {
    padding: 1rem !important;
    max-height: calc(100vh - 140px) !important;
  }

  .trading-modal-footer {
    padding: 1rem !important;
  }

  /* Stack form fields vertically on mobile */
  .trading-form {
    gap: 1rem !important;
  }

  .trading-form-group {
    gap: 0.5rem !important;
  }

  .trading-form-group label {
    font-size: 0.8rem !important;
  }

  .trading-form-group input,
  .trading-form-group select {
    padding: 0.6rem 0.8rem !important;
    font-size: 0.9rem !important;
  }

  /* Stack two-column layouts on mobile */
  .trading-modal-body>form>div[style*="display: flex"][style*="gap"] {
    flex-direction: column !important;
  }

  .trading-form-row-responsive {
    flex-direction: column !important;
  }

  /* Footer buttons stack on mobile */
  .trading-modal-footer {
    flex-direction: column !important;
    gap: 0.5rem !important;
  }

  .trading-modal-footer button {
    width: 100% !important;
    padding: 0.75rem !important;
  }

  /* Swap button stays centered on mobile */
  .trading-modal-body button[style*="borderRadius: '50%'"] {
    margin: 0.5rem auto !important;
    display: block !important;
  }
}

/* Small mobile devices */
@media (max-width: 480px) {
  .trading-modal-header {
    padding: 0.75rem !important;
  }

  .trading-modal-header h2 {
    font-size: 1rem !important;
  }

  .trading-modal-body {
    padding: 0.75rem !important;
  }

  .trading-form-group input,
  .trading-form-group select {
    padding: 0.5rem 0.6rem !important;
    font-size: 0.85rem !important;
  }

  .trading-btn-primary,
  .trading-btn-secondary {
    padding: 0.6rem 1rem !important;
    font-size: 0.85rem !important;
  }
}.filter-analysis-page {
  padding: 1.5rem;
  max-width: 100%;
  margin: 0 auto;
  min-height: 100vh;
}

.filter-analysis-page h1 {
  margin-bottom: 1rem;
  font-size: 2rem;
  font-weight: 700;
  color: var(--text-primary);
}

/* Alerts */
.alert {
  padding: 1rem 1.5rem;
  border-radius: 8px;
  margin-bottom: 1rem;
  font-size: 0.95rem;
  border: 1px solid;
  animation: slideIn 0.3s ease;
}

@keyframes slideIn {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.alert-error {
  background-color: #fed7d7;
  color: #c53030;
  border-color: #fc8181;
}

.alert-success {
  background-color: #c6f6d5;
  color: #22543d;
  border-color: #68d391;
}

/* Search Section */
.search-section {
  background: var(--card-bg);
  border: 1px solid var(--border-color);
  border-radius: 12px;
  padding: 1rem;
  margin-bottom: 1rem;
}

.search-input-group {
  display: flex;
  gap: 1rem;
  align-items: flex-end;
  flex-wrap: wrap;
}

.search-input-group label {
  font-weight: 600;
  color: var(--text-primary);
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.search-input-group input {
  flex: 1;
  min-width: 300px;
  padding: 0.75rem 1rem;
  border: 2px solid var(--input-border);
  border-radius: 8px;
  font-size: 1rem;
  font-family: monospace;
  background-color: var(--input-bg);
  color: var(--text-primary);
  transition: all 0.2s ease;
}

.search-input-group input:focus {
  outline: none;
  border-color: var(--accent-color);
  box-shadow: 0 0 0 3px var(--shadow-light);
}

/* Buttons */
.btn {
  padding: 0.75rem 1.5rem;
  border: none;
  border-radius: 8px;
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.btn-primary {
  background-color: var(--accent-color);
  color: white;
}

.btn-primary:hover:not(:disabled) {
  background-color: rgba(16, 32, 78, 0.9);
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(16, 32, 78, 0.3);
}

.btn-secondary {
  background-color: var(--bg-tertiary);
  color: var(--text-primary);
  border: 1px solid var(--border-color);
}

.btn-secondary:hover:not(:disabled) {
  background-color: var(--bg-secondary);
  border-color: var(--accent-color);
}

.btn-outline {
  background-color: transparent;
  color: var(--text-primary);
  border: 1px solid var(--border-color);
}

.btn-outline:hover:not(:disabled) {
  background-color: var(--bg-secondary);
  border-color: var(--accent-color);
}

/* Pair Metadata */
.pair-metadata {
  background: var(--card-bg);
  border: 1px solid var(--border-color);
  border-radius: 12px;
  padding: 0.75rem 1rem;
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.metadata-grid {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.5rem;
  margin-bottom: 0;
  flex: 1;
}

.metadata-item {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.5rem;
}

.metadata-label {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--text-secondary);
  font-weight: 600;
}

.metadata-value {
  font-size: 0.95rem;
  color: var(--text-primary);
  font-family: monospace;
  word-break: break-all;
}

.preset-badge {
  background: linear-gradient(135deg, #667eea, #764ba2);
  color: white !important;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  font-size: 0.85rem !important;
}

.dexscreener-link {
  display: inline-block;
  color: #667eea;
  text-decoration: none;
  font-weight: 500;
  transition: color 0.2s;
}

.dexscreener-link:hover {
  color: #764ba2;
  text-decoration: underline;
}

/* Main Content Grid */
.main-content-grid {
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

/* Chart Section */
.chart-section {
  background: var(--card-bg);
  border: 1px solid var(--border-color);
  border-radius: 12px;
  padding: 1.5rem;
}

/* Time Range Display */
/* Time Range Display */
.time-range-display {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  background: var(--bg-tertiary);
  border-radius: 8px;
  margin-bottom: 1rem;
  font-size: 0.85rem;
}

.range-inputs {
  display: flex;
  gap: 1.5rem;
  align-items: center;
}

.range-inputs label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--text-secondary);
  font-weight: 600;
}

.date-input {
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  color: var(--text-primary);
  padding: 0.35rem 0.5rem;
  border-radius: 4px;
  font-family: monospace;
  font-size: 0.9rem;
  outline: none;
}

.date-input:focus {
  border-color: var(--accent-color);
}

.range-metrics {
  display: flex;
  gap: 1.5rem;
  align-items: center;
}

.time-label {
  color: var(--text-secondary);
}

.time-label strong {
  color: var(--text-primary);
  font-family: monospace;

}

.chart-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.75rem;
  flex-wrap: wrap;
  gap: 1rem;
}

.chart-controls {
  display: flex;
  gap: 1rem;
  align-items: center;
}

.zoom-controls {
  display: flex;
  gap: 0.25rem;
}

.zoom-controls button {
  width: 32px;
  height: 32px;
  border: 1px solid var(--border-color);
  background: var(--bg-tertiary);
  color: var(--text-primary);
  border-radius: 4px;
  cursor: pointer;
  font-size: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
}

.zoom-controls button:hover {
  background: var(--accent-color);
  color: white;
  border-color: var(--accent-color);
}

.chart-legend {
  display: flex;
  gap: 1rem;
  font-size: 0.8rem;
}

.legend-item {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.25rem 0.5rem;
  background: var(--bg-tertiary);
  border-radius: 4px;
}

.legend-buy {
  color: #10b981;
}

.legend-sell {
  color: #ef4444;
}

.legend-real {
  color: #10b981;
}

.legend-original {
  color: #3b82f6;
}

.legend-sim {
  color: #f59e0b;
}

/* Metric Selector */
.metric-selector {
  margin-bottom: 1rem;
}

.metric-selector-label {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--text-secondary);
  text-transform: uppercase;
  margin-right: 0.75rem;
}

.metric-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.5rem;
}

.metric-chip {
  padding: 0.35rem 0.75rem;
  border: 2px solid;
  border-radius: 20px;
  font-size: 0.75rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
  background: transparent;
}

.metric-chip:hover {
  transform: translateY(-1px);
}

.metric-chip.active {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

/* Chart Size Controls */
.chart-size-controls {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
  padding: 0.5rem 1rem;
  background: var(--bg-tertiary);
  border-radius: 8px;
  font-size: 0.85rem;
  color: var(--text-secondary);
}

.chart-size-controls button {
  width: 28px;
  height: 28px;
  border: 1px solid var(--border-color);
  border-radius: 4px;
  background: var(--bg-secondary);
  color: var(--text-primary);
  cursor: pointer;
  font-size: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
}

.chart-size-controls button:hover {
  background: var(--bg-primary);
  border-color: var(--accent-color);
}

.chart-size-controls .size-value {
  min-width: 50px;
  text-align: center;
  font-weight: 600;
  color: var(--text-primary);
}

.chart-size-controls .height-slider {
  flex: 1;
  max-width: 200px;
  margin-left: 1rem;
  accent-color: var(--accent-color);
}

.chart-container {
  background: #1a1a2e;
  border-radius: 8px;
  margin-bottom: 1rem;
  position: relative;
  overflow: hidden;
  width: 100%;
  border: 1px solid #2d2d44;
  padding: 1rem;
}

.chart-info {
  font-size: 0.8rem;
  color: var(--text-secondary);
}

.chart-hint {
  margin-left: auto;
  font-size: 0.75rem;
  color: var(--text-tertiary);
  font-style: italic;
}

.btn-reset-zoom {
  padding: 0.4rem 0.8rem;
  background: var(--bg-tertiary);
  border: 1px solid var(--border-color);
  border-radius: 4px;
  color: var(--text-primary);
  cursor: pointer;
  font-size: 0.8rem;
  transition: all 0.2s;
}

.btn-reset-zoom:hover {
  background: var(--bg-secondary);
  border-color: var(--accent-color);
}

.chart-svg .grid-line {
  stroke: var(--border-color);
  stroke-dasharray: 4;
}

.chart-svg .date-label,
.chart-svg .time-label-axis {
  font-family: inherit;
}

.chart-svg .marker-real,
.chart-svg .marker-original,
.chart-svg .marker-sim {
  cursor: pointer;
  transition: all 0.2s;
}

.chart-svg .marker-real:hover,
.chart-svg .marker-original:hover,
.chart-svg .marker-sim:hover {
  filter: brightness(1.2);
  transform-origin: center;
}

.chart-svg .chart-tooltip rect {
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
}

.chart-svg .chart-tooltip text {
  font-family: inherit;
}

/* Crosshair */
.chart-svg .chart-crosshair line {
  pointer-events: none;
}

.chart-svg .chart-crosshair rect {
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.3));
  pointer-events: none;
}

.chart-svg .chart-crosshair text {
  font-family: inherit;
  pointer-events: none;
}

.chart-stats {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 0.75rem;
}

.stat-item.buy-stat {
  border-left: 3px solid #10b981;
}

.stat-item.sell-stat {
  border-left: 3px solid #ef4444;
}

.stat-item {
  text-align: center;
  padding: 1rem;
  background: var(--bg-tertiary);
  border-radius: 8px;
}

.stat-value {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--accent-color);
  font-family: monospace;
}

.stat-label {
  font-size: 0.7rem;
  color: var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-top: 0.25rem;
}

/* Filter Panels */
.filter-panels {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.filter-tabs {
  display: flex;
  gap: 0;
  background: var(--bg-tertiary);
  border-radius: 12px 12px 0 0;
  overflow: hidden;
  border: 1px solid var(--border-color);
  border-bottom: none;
}

.filter-tab {
  flex: 1;
  padding: 0.75rem 1rem;
  border: none;
  background: transparent;
  color: var(--text-secondary);
  font-weight: 600;
  font-size: 0.8rem;
  cursor: pointer;
  transition: all 0.2s;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.filter-tab:hover:not(:disabled) {
  background: var(--bg-secondary);
}

.filter-tab.active {
  background: var(--card-bg);
  color: var(--text-primary);
  border-bottom: 2px solid var(--accent-color);
}

.filter-tab:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.filter-panel {
  background: var(--card-bg);
  border: 1px solid var(--border-color);
  border-top: none;
  border-radius: 0 0 12px 12px;
  padding: 1rem;
  max-height: calc(100vh - 350px);
  overflow-y: auto;
}

.filter-panel-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--border-color);
}

.filter-panel-header h3 {
  margin: 0;
  font-size: 1rem;
  color: var(--text-primary);
}

.filter-count {
  font-size: 0.75rem;
  color: var(--accent-color);
  font-weight: 600;
}

.no-filters {
  text-align: center;
  padding: 2rem;
  color: var(--text-secondary);
}

.no-filters .hint {
  font-size: 0.85rem;
  margin-top: 0.5rem;
  opacity: 0.7;
}

.preset-loader,
.saved-configs {
  margin-bottom: 1rem;
}

.preset-loader label,
.saved-configs label {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--text-secondary);
}

.preset-loader select,
.saved-configs select {
  width: 100%;
  padding: 0.5rem 0.75rem;
  border: 2px solid var(--input-border);
  border-radius: 6px;
  background-color: var(--input-bg);
  color: var(--text-primary);
  font-size: 0.85rem;
}

/* Filter List */
.filter-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-bottom: 1rem;
  max-height: 300px;
  overflow-y: auto;
}

.filter-item {
  background: var(--bg-tertiary);
  border: 1px solid var(--border-color);
  border-radius: 8px;
  padding: 0.75rem;
}

.filter-row-top {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

.filter-row-top input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: var(--accent-color);
}

.field-select {
  flex: 1;
  padding: 0.35rem 0.5rem;
  border: 1px solid var(--input-border);
  border-radius: 4px;
  background-color: var(--input-bg);
  color: var(--text-primary);
  font-size: 0.75rem;
}

.field-select:disabled {
  opacity: 0.7;
}

.remove-filter-btn {
  background: none;
  border: none;
  color: #ef4444;
  font-size: 1.25rem;
  cursor: pointer;
  padding: 0 0.25rem;
  line-height: 1;
}

.filter-row-bottom {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.condition-label {
  font-size: 0.75rem;
  color: var(--text-secondary);
}

.condition-select {
  padding: 0.35rem 0.5rem;
  border: 1px solid var(--input-border);
  border-radius: 4px;
  background-color: var(--input-bg);
  color: var(--text-primary);
  font-size: 0.75rem;
  min-width: 45px;
}

.condition-select:disabled {
  opacity: 0.7;
}

.value-input {
  flex: 1;
  min-width: 70px;
  padding: 0.35rem 0.5rem;
  border: 1px solid var(--input-border);
  border-radius: 4px;
  background-color: var(--input-bg);
  color: var(--text-primary);
  font-size: 0.8rem;
  font-family: monospace;
}

.value-input:disabled {
  opacity: 0.7;
}

.between-checkbox {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.7rem;
  color: var(--text-secondary);
  white-space: nowrap;
}

.between-checkbox input {
  width: 12px;
  height: 12px;
  accent-color: var(--accent-color);
}

.logic-selector {
  display: flex;
  justify-content: center;
  padding: 0.4rem 0;
}

.logic-selector select {
  padding: 0.2rem 0.5rem;
  border: 1px solid var(--border-color);
  border-radius: 4px;
  background: var(--bg-secondary);
  color: var(--accent-color);
  font-weight: 600;
  font-size: 0.7rem;
  text-transform: uppercase;
}

.logic-selector select:disabled {
  opacity: 0.7;
}

.filter-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.filter-actions .btn {
  flex: 1;
  min-width: 60px;
  padding: 0.5rem 0.5rem;
  font-size: 0.7rem;
}

/* Entry Points Section */
.entry-points-section {
  background: var(--card-bg);
  border: 1px solid var(--border-color);
  border-radius: 12px;
  padding: 1.5rem;
}

.entry-points-section h3 {
  margin: 0 0 1rem 0;
  font-size: 1.25rem;
  color: var(--text-primary);
}

.entry-points-table {
  border: 1px solid var(--border-color);
  border-radius: 8px;
  overflow: hidden;
}

.table-header {
  display: grid;
  grid-template-columns: 100px 180px 130px 1fr 100px;
  gap: 1rem;
  padding: 0.75rem 1rem;
  background: var(--bg-tertiary);
  font-weight: 700;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--text-primary);
  border-bottom: 2px solid var(--border-color);
}

.table-body {
  max-height: 400px;
  overflow-y: auto;
}

.table-row {
  display: grid;
  grid-template-columns: 100px 180px 130px 1fr 100px;
  gap: 1rem;
  padding: 0.65rem 1rem;
  border-bottom: 1px solid var(--border-color);
  align-items: center;
  transition: background-color 0.2s;
  font-size: 0.85rem;
}

.table-row:last-child {
  border-bottom: none;
}

.table-row:hover {
  background-color: var(--bg-tertiary);
}

.type-badge {
  display: inline-block;
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
  font-size: 0.7rem;
  font-weight: 600;
}

.type-badge.real {
  background: rgba(16, 185, 129, 0.15);
  color: #10b981;
}

.type-badge.buy {
  background: rgba(16, 185, 129, 0.2);
  color: #10b981;
  border: 1px solid rgba(16, 185, 129, 0.3);
}

.type-badge.sell {
  background: rgba(239, 68, 68, 0.2);
  color: #ef4444;
  border: 1px solid rgba(239, 68, 68, 0.3);
}

.type-badge.original {
  background: rgba(59, 130, 246, 0.15);
  color: #3b82f6;
}

.type-badge.sim {
  background: rgba(245, 158, 11, 0.15);
  color: #f59e0b;
}

/* Buy/Sell row highlights */
.table-row.buy-order {
  border-left: 3px solid #10b981;
}

.table-row.sell-order {
  border-left: 3px solid #ef4444;
}

.amount-badge {
  margin-left: 0.5rem;
  padding: 0.1rem 0.3rem;
  background: var(--bg-tertiary);
  border-radius: 3px;
  font-size: 0.7rem;
  color: var(--text-secondary);
}

.col-timestamp {
  font-family: monospace;
  font-size: 0.8rem;
  color: var(--text-primary);
}

.col-price {
  font-family: monospace;
  font-size: 0.85rem;
  color: var(--text-primary);
}

.col-preset {
  color: var(--text-secondary);
  font-size: 0.8rem;
}

.profit-positive {
  color: #10b981;
  font-weight: 600;
}

.profit-negative {
  color: #ef4444;
  font-weight: 600;
}

.profit-na {
  color: var(--text-tertiary);
  font-size: 0.8rem;
}

/* Loading Overlay */
.loading-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  color: white;
}

.loading-spinner {
  width: 50px;
  height: 50px;
  border: 4px solid rgba(255, 255, 255, 0.3);
  border-top-color: white;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin-bottom: 1rem;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

/* Responsive */
@media (max-width: 1200px) {
  .main-content-grid {
    grid-template-columns: 1fr;
  }

  .filter-panels {
    max-height: none;
  }

  .filter-panel {
    max-height: 400px;
  }
}

@media (max-width: 768px) {
  .filter-analysis-page {
    padding: 1rem;
  }

  .search-input-group {
    flex-direction: column;
    align-items: stretch;
  }

  .search-input-group input {
    min-width: 100%;
  }

  .chart-stats {
    grid-template-columns: repeat(3, 1fr);
  }

  .table-header,
  .table-row {
    grid-template-columns: 80px 1fr 80px;
  }

  .col-preset,
  .table-header .col-preset,
  .col-price,
  .table-header .col-price {
    display: none;
  }

  .metadata-grid {
    grid-template-columns: 1fr 1fr;
  }

  .time-range-display {
    flex-direction: column;
    gap: 0.5rem;
  }

  .metric-chips {
    max-height: 100px;
    overflow-y: auto;
  }
}

/* Legend toggles */
.legend-toggle {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: transparent;
  border: 1px solid var(--border-color);
  border-radius: 6px;
  padding: 4px 8px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.legend-toggle:hover {
  background: rgba(255, 255, 255, 0.05);
}

.legend-toggle.active {
  border-color: #667eea;
}

.legend-toggle.hidden {
  opacity: 0.5;
}

.legend-toggle.hidden .legend-item {
  text-decoration: line-through;
}

.toggle-icon {
  font-size: 12px;
}

/* Visibility toggle in panels */
.visibility-toggle {
  display: flex;
  align-items: center;
  margin-bottom: 0.75rem;
  padding: 0.5rem;
  background: rgba(102, 126, 234, 0.1);
  border-radius: 6px;
  border: 1px solid rgba(102, 126, 234, 0.2);
}

.visibility-toggle label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  font-size: 0.9rem;
  color: var(--text-primary);
}

.visibility-toggle input[type="checkbox"] {
  width: 18px;
  height: 18px;
  cursor: pointer;
}

/* Config name input */
.config-name-input {
  background: transparent;
  border: 1px dashed var(--border-color);
  border-radius: 4px;
  color: var(--text-primary);
  font-size: 1rem;
  font-weight: 600;
  padding: 4px 8px;
  width: auto;
  min-width: 150px;
  transition: all 0.2s ease;
}

.config-name-input:hover {
  border-color: #667eea;
  background: rgba(102, 126, 234, 0.1);
}

.config-name-input:focus {
  outline: none;
  border-style: solid;
  border-color: #667eea;
  background: rgba(102, 126, 234, 0.15);
}

/* Order presets section */
.order-presets {
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.1) 0%, rgba(16, 185, 129, 0.05) 100%);
  border: 1px solid rgba(16, 185, 129, 0.2);
  border-radius: 8px;
  padding: 0.75rem;
  margin-bottom: 0.5rem;
}

.order-presets label {
  color: #10b981;
}

.order-presets select {
  border-color: rgba(16, 185, 129, 0.3);
}

.order-presets select:focus {
  border-color: #10b981;
  box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.2);
}

/* Legend group with filters */
.legend-group {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}

.legend-filters {
  display: flex;
  gap: 4px;
  margin-left: 8px;
}

.filter-mini-select {
  padding: 2px 6px;
  font-size: 10px;
  border: 1px solid var(--border-color);
  border-radius: 4px;
  background: var(--card-bg);
  color: var(--text-secondary);
  cursor: pointer;
  max-width: 90px;
}

.filter-mini-select:focus {
  outline: none;
  border-color: #667eea;
}

.filter-mini-select option {
  background: var(--card-bg);
  color: var(--text-primary);
}

.preset-selector {
  max-width: 120px;
  background: rgba(59, 130, 246, 0.1);
  border-color: rgba(59, 130, 246, 0.3);
}

.preset-selector:focus {
  border-color: #3b82f6;
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);
}

/* Multi-preset badge */
.multi-preset-badge {
  background: linear-gradient(135deg, #8b5cf6 0%, #6366f1 100%);
  color: #fff;
  font-size: 9px;
  font-weight: bold;
  padding: 2px 5px;
  border-radius: 10px;
  margin-left: 4px;
}

.multi-badge {
  background: linear-gradient(135deg, #8b5cf6 0%, #6366f1 100%);
  color: #fff;
  font-size: 9px;
  font-weight: bold;
  padding: 2px 8px;
  border-radius: 10px;
  margin-left: 8px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Metadata presets list */
.metadata-presets {
  flex-direction: column;
  align-items: flex-start !important;
}

.metadata-presets-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
}

.preset-badge {
  padding: 4px 10px;
  border-radius: 6px;
  font-size: 0.85rem;
  cursor: pointer;
  transition: all 0.2s ease;
}

.preset-badge.active {
  background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
  color: #fff;
  font-weight: 600;
}

.preset-badge.inactive {
  background: rgba(107, 114, 128, 0.2);
  color: #6b7280;
  border: 1px dashed #4b5563;
}

.preset-badge.inactive:hover {
  background: rgba(59, 130, 246, 0.15);
  color: #93c5fd;
  border-color: #3b82f6;
}

/* Chart legend - split layout */
.chart-legend {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 12px;
}

.legend-left,
.legend-right {
  display: flex;
  gap: 8px;
  align-items: flex-start;
}

/* Legend item wrapper with dropdown */
.legend-item-wrapper {
  position: relative;
}

.legend-item-wrapper .legend-toggle {
  display: flex;
  align-items: center;
  gap: 4px;
}

.dropdown-arrow {
  font-size: 10px;
  color: #6b7280;
  margin-left: 2px;
  transition: transform 0.2s ease;
}

.legend-item-wrapper:hover .dropdown-arrow {
  color: #9ca3af;
}

/* Dropdown menu */
.legend-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 160px;
  max-height: 300px;
  overflow-y: auto;
  background: var(--card-bg);
  border: 1px solid var(--border-color);
  border-radius: 8px;
  padding: 8px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: all 0.2s ease;
}

.legend-item-wrapper:hover .legend-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(4px);
}

.preset-dropdown {
  min-width: 180px;
  right: 0;
  left: auto;
}

.dropdown-section {
  margin-bottom: 8px;
}

.dropdown-section:last-child {
  margin-bottom: 0;
}

.dropdown-label {
  font-size: 10px;
  font-weight: 600;
  color: #9ca3af;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 6px;
  padding-bottom: 4px;
  border-bottom: 1px solid var(--border-color);
}

.dropdown-sublabel {
  font-size: 9px;
  color: #6b7280;
  margin: 6px 0 4px 0;
  font-style: italic;
}

.dropdown-checkbox {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 6px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 11px;
  color: var(--text-primary);
  transition: background 0.15s ease;
}

.dropdown-checkbox:hover {
  background: rgba(102, 126, 234, 0.1);
}

.dropdown-checkbox input[type="checkbox"],
.dropdown-checkbox input[type="radio"] {
  width: 14px;
  height: 14px;
  cursor: pointer;
  accent-color: #667eea;
}

.dropdown-checkbox span {
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Exit Configuration Section */
.exit-config-section {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 2px solid var(--border-color);
}

.exit-config-section.readonly {
  background: rgba(0, 0, 0, 0.1);
  padding: 1rem;
  border-radius: 8px;
  margin-top: 1rem;
}

.exit-config-title {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1rem;
  font-size: 1rem;
  font-weight: 600;
  color: var(--text-primary);
}

.exit-config-badge {
  font-size: 0.65rem;
  padding: 2px 8px;
  border-radius: 12px;
  background: linear-gradient(135deg, #ef4444, #22c55e);
  color: white;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.exit-config-badge.readonly {
  background: #6b7280;
}

.exit-config-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.75rem;
  padding: 0.5rem;
  background: rgba(0, 0, 0, 0.2);
  border-radius: 6px;
}

.exit-config-row.sl-row {
  border-left: 3px solid #ef4444;
}

.exit-label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.85rem;
  color: var(--text-secondary);
  font-weight: 500;
}

.exit-icon {
  font-size: 1rem;
}

.exit-icon.sl {
  filter: grayscale(0);
}

.exit-icon.tp {
  filter: grayscale(0);
}

.exit-input {
  width: 80px;
  padding: 0.4rem 0.6rem;
  border: 1px solid var(--border-color);
  border-radius: 4px;
  background: var(--input-bg);
  color: var(--text-primary);
  font-size: 0.85rem;
  text-align: right;
}

.exit-input:focus {
  outline: none;
  border-color: #667eea;
  box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.2);
}

.exit-value {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--text-primary);
}

.exit-value.sl {
  color: #ef4444;
}

.exit-value.none {
  color: #6b7280;
  font-style: italic;
  font-weight: normal;
}

/* Take Profit Levels */
.tp-levels-section {
  margin-top: 1rem;
}

.tp-levels-section.readonly {
  background: transparent;
}

.tp-levels-label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.85rem;
  color: var(--text-secondary);
  font-weight: 500;
  margin-bottom: 0.75rem;
}

.tp-levels-grid {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.tp-level-row {
  display: grid;
  grid-template-columns: 28px 1fr 1fr;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.5rem;
  background: rgba(0, 0, 0, 0.2);
  border-radius: 4px;
  border-left: 2px solid transparent;
  opacity: 0.5;
  transition: all 0.2s ease;
}

.tp-level-row.active {
  opacity: 1;
  border-left-color: #22c55e;
  background: rgba(34, 197, 94, 0.1);
}

.tp-level-num {
  font-size: 0.7rem;
  font-weight: 700;
  color: #9ca3af;
  text-align: center;
}

.tp-input {
  width: 100%;
  min-width: 0;
  padding: 0.25rem 0.35rem;
  border: 1px solid var(--border-color);
  border-radius: 3px;
  background: var(--input-bg);
  color: var(--text-primary);
  font-size: 0.75rem;
  text-align: right;
}

.tp-input:focus {
  outline: none;
  border-color: #22c55e;
}

.tp-input.tp-percent {
  border-color: rgba(34, 197, 94, 0.3);
}

.tp-input.tp-amount {
  border-color: rgba(251, 191, 36, 0.3);
}

.tp-input::placeholder {
  font-size: 0.65rem;
  color: #6b7280;
}

/* Read-only TP levels display */
.tp-levels-display {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.tp-level-display {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.3rem 0.6rem;
  background: rgba(34, 197, 94, 0.15);
  border-radius: 4px;
  font-size: 0.8rem;
}

.tp-level-badge {
  background: #22c55e;
  color: white;
  padding: 1px 6px;
  border-radius: 3px;
  font-size: 0.65rem;
  font-weight: 700;
}

.tp-percent-value {
  color: #22c55e;
  font-weight: 600;
}

.tp-amount-value {
  color: #fbbf24;
  font-size: 0.7rem;
}

.exit-config-actions {
  margin-top: 1rem;
  display: flex;
  justify-content: flex-end;
}

.btn-sm {
  padding: 0.4rem 0.8rem;
  font-size: 0.8rem;
}

/* Legend divider */
.legend-divider {
  margin: 8px 0;
  border-top: 1px solid #374151;
  width: 100%;
}

/* Exit Summary Cards */
.exit-summary {
  display: flex;
  gap: 1rem;
  margin-bottom: 1rem;
  flex-wrap: wrap;
}

.exit-summary-card {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.2);
  border-left: 3px solid;
  min-width: 180px;
}

.exit-summary-card.preset {
  border-left-color: #3b82f6;
}

.exit-summary-card.custom {
  border-left-color: #f59e0b;
}

.exit-summary-title {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--text-primary);
}

.exit-summary-stats {
  display: flex;
  gap: 1rem;
}

.exit-summary-stats .stat {
  font-size: 0.8rem;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.exit-summary-stats .stat.sl {
  color: #ef4444;
}

.exit-summary-stats .stat.tp {
  color: #22c55e;
}

/* Exit table rows */
.table-row.exit-row {
  background: rgba(0, 0, 0, 0.15);
}

.table-row.exit-row.sl-exit {
  border-left: 3px solid #ef4444;
}

.table-row.exit-row.tp-exit {
  border-left: 3px solid #22c55e;
}

.type-badge.sl {
  background: linear-gradient(135deg, #ef4444, #dc2626);
  color: white;
}

.type-badge.tp {
  background: linear-gradient(135deg, #22c55e, #16a34a);
  color: white;
}

.price-change {
  font-size: 0.75rem;
  margin-left: 0.5rem;
  font-weight: 600;
}

/* No data state for legend toggles */
.legend-toggle.no-data {
  opacity: 0.5;
  border-style: dashed;
}

.legend-toggle.no-data:hover {
  opacity: 0.7;
}

/* Table Controls */
.table-controls {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 1rem;
  padding: 0.75rem;
  background: rgba(0, 0, 0, 0.2);
  border-radius: 8px;
}

.table-toggles {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.table-toggles .btn {
  padding: 0.35rem 0.6rem;
  font-size: 0.75rem;
}

.toggle-divider {
  color: #4b5563;
  margin: 0 0.25rem;
}

.inline-toggle {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  cursor: pointer;
  padding: 0.3rem 0.5rem;
  border-radius: 4px;
  transition: background 0.15s ease;
}

.inline-toggle:hover {
  background: rgba(255, 255, 255, 0.05);
}

.inline-toggle input[type="checkbox"] {
  width: 14px;
  height: 14px;
  cursor: pointer;
  accent-color: #667eea;
}

.toggle-label {
  font-size: 0.75rem;
  font-weight: 500;
}

.toggle-label.buy {
  color: #10b981;
}

.toggle-label.sell {
  color: #ef4444;
}

.toggle-label.entry {
  color: #3b82f6;
}

.toggle-label.exit {
  color: #22c55e;
}

.table-filters {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.table-filters select {
  padding: 0.35rem 0.6rem;
  font-size: 0.75rem;
  border: 1px solid var(--border-color);
  border-radius: 4px;
  background: var(--input-bg);
  color: var(--text-primary);
  cursor: pointer;
}

.table-filters select:focus {
  outline: none;
  border-color: #667eea;
}

/* Sortable header */
.table-header.sortable>div {
  cursor: pointer;
  user-select: none;
  transition: color 0.15s ease;
}

.table-header.sortable>div:hover {
  color: #667eea;
}

/* Table empty state */
.table-empty {
  text-align: center;
  padding: 2rem;
  color: #6b7280;
  font-style: italic;
}

/* Pagination */
.table-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--border-color);
}

.table-pagination .btn {
  min-width: 32px;
  padding: 0.35rem 0.5rem;
  font-size: 0.75rem;
}

.table-pagination .btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.pagination-info {
  font-size: 0.8rem;
  color: #9ca3af;
  margin: 0 0.5rem;
}

/* Show/Hide column */
.col-show {
  width: 50px;
  min-width: 50px;
  text-align: center;
}

.visibility-btn {
  background: transparent;
  border: 1px solid var(--border-color);
  border-radius: 4px;
  padding: 0.25rem 0.4rem;
  cursor: pointer;
  font-size: 0.9rem;
  transition: all 0.15s ease;
  opacity: 0.8;
}

.visibility-btn:hover {
  opacity: 1;
  border-color: #667eea;
}

.visibility-btn.visible {
  background: rgba(102, 126, 234, 0.15);
  border-color: rgba(102, 126, 234, 0.4);
}

.visibility-btn.hidden {
  opacity: 0.5;
  background: rgba(107, 114, 128, 0.1);
}

/* Hidden row styling */
.table-row.row-hidden {
  opacity: 0.4;
  background: rgba(0, 0, 0, 0.1);
}

.table-row.row-hidden .type-badge {
  text-decoration: line-through;
}

/* Entry with exits styling */
.table-row.has-exits {
  border-left: 3px solid #667eea;
}

/* Exit badges next to entry type */
.exit-badges {
  display: inline-flex;
  gap: 0.25rem;
  margin-left: 0.5rem;
}

.exit-badge {
  font-size: 0.65rem;
  padding: 1px 4px;
  border-radius: 3px;
  font-weight: 600;
}

.exit-badge.sl {
  background: rgba(239, 68, 68, 0.2);
  color: #ef4444;
}

.exit-badge.tp {
  background: rgba(34, 197, 94, 0.2);
  color: #22c55e;
}

/* Entry exit controls */
.entry-exit-controls {
  display: inline-flex;
  gap: 0.25rem;
  margin-left: 0.5rem;
}

.expand-btn {
  background: transparent;
  border: none;
  cursor: pointer;
  font-size: 0.7rem;
  padding: 0.2rem 0.3rem;
  color: #9ca3af;
  transition: color 0.15s ease;
}

.expand-btn:hover {
  color: #667eea;
}

.toggle-exits-btn {
  background: transparent;
  border: 1px solid var(--border-color);
  border-radius: 3px;
  padding: 0.15rem 0.25rem;
  cursor: pointer;
  font-size: 0.75rem;
  transition: all 0.15s ease;
}

.toggle-exits-btn:hover {
  border-color: #667eea;
}

.toggle-exits-btn.all-visible {
  background: rgba(34, 197, 94, 0.15);
  border-color: rgba(34, 197, 94, 0.4);
}

.toggle-exits-btn.some-hidden {
  background: rgba(251, 191, 36, 0.15);
  border-color: rgba(251, 191, 36, 0.4);
}

.toggle-exits-btn.all-hidden {
  opacity: 0.5;
}

/* Linked exit rows */
.table-row.linked-exit {
  background: rgba(0, 0, 0, 0.15);
  border-left: 3px solid transparent;
  padding-left: 0.5rem;
}

.table-row.linked-exit.sl-exit {
  border-left-color: #ef4444;
}

.table-row.linked-exit.tp-exit {
  border-left-color: #22c55e;
}

.type-badge.linked {
  font-size: 0.75rem;
  padding: 0.2rem 0.5rem;
}

/* Selection column */
.col-select {
  width: 35px;
  min-width: 35px;
  text-align: center;
}

.col-select input[type="checkbox"] {
  width: 16px;
  height: 16px;
  cursor: pointer;
  accent-color: var(--accent-color);
}

/* Selected row styling */
.table-row.row-selected {
  background: rgba(102, 126, 234, 0.15);
  border-left: 3px solid var(--accent-color);
}

.table-row.row-selected.has-exits {
  border-left-color: var(--accent-color);
}

/* Selection actions bar */
.selection-actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.15), rgba(102, 126, 234, 0.05));
  border: 1px solid rgba(102, 126, 234, 0.3);
  border-radius: 8px;
  margin-bottom: 0.75rem;
}

.selection-count {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--accent-color);
}

.selection-actions .btn {
  padding: 0.35rem 0.75rem;
  font-size: 0.75rem;
}

.btn-success {
  background: #22c55e;
  color: white;
  border: none;
}

.btn-success:hover {
  background: #16a34a;
}

.btn-warning {
  background: #f59e0b;
  color: white;
  border: none;
}

.btn-warning:hover {
  background: #d97706;
}

/* COMPACT PREMIUM EXIT CONFIGURATION */
.premium-exit-config {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--border-color);
  animation: fadeIn 0.3s ease;
}

.premium-section-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.premium-section-header h4 {
  font-size: 1rem;
  font-weight: 700;
  color: var(--text-primary);
  margin: 0;
}

.premium-badge {
  background: var(--bg-tertiary);
  color: var(--text-secondary);
  border: 1px solid var(--border-color);
  padding: 0.15rem 0.5rem;
  border-radius: 12px;
  font-size: 0.65rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* Compact Main Grid: SL and TP cards side-by-side or stacked densely */
.premium-exit-grid {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.premium-card {
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 8px;
  /* Tighter radius */
  overflow: hidden;
  transition: all 0.2s ease;
  box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.05);
}

.premium-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.premium-sl-card {
  border-left: 3px solid var(--text-secondary);
  /* Neutral gray */
  border-top: 1px solid var(--border-color);
}

.premium-tp-card {
  border-left: 3px solid var(--accent-color);
  /* Brand blue */
  border-top: 1px solid var(--border-color);
}

/* Compact Headers */
.card-header {
  padding: 0.5rem 0.75rem;
  background: var(--bg-tertiary);
  border-bottom: 1px solid var(--border-color);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.card-header .icon {
  font-size: 0.9rem;
}

.card-header h3 {
  margin: 0;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--text-primary);
}

.card-content {
  padding: 0.75rem;
}

/* Compact SL Input */
.sl-input-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.premium-label {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.025em;
  white-space: nowrap;
}

.trading-form-hint {
  font-size: 0.7rem;
  color: var(--text-tertiary);
  margin: 0;
  font-style: italic;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.premium-input-group {
  position: relative;
  display: flex;
  align-items: center;
  width: 120px;
  /* Fixed small width for SL */
}

.premium-input {
  width: 100%;
  padding: 0.35rem 0.5rem;
  padding-right: 1.5rem;
  border: 1px solid var(--input-border);
  border-radius: 4px;
  background: var(--input-bg);
  color: var(--text-primary);
  font-size: 0.9rem;
  font-weight: 600;
  font-family: monospace;
  transition: all 0.2s;
  height: 32px;
}

.premium-input:focus {
  outline: none;
  border-color: var(--accent-color);
  box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.1);
}

.sl-input:focus {
  border-color: var(--text-secondary);
  box-shadow: 0 0 0 2px rgba(107, 114, 128, 0.1);
}

.input-suffix {
  position: absolute;
  right: 0.5rem;
  color: var(--text-tertiary);
  font-size: 0.8rem;
  font-weight: 600;
  pointer-events: none;
}

/* Compact TP Grid */
.premium-tp-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(135px, 1fr));
  gap: 0.5rem;
}

.premium-tp-item {
  background: var(--bg-tertiary);
  border: 1px solid var(--border-color);
  border-radius: 6px;
  padding: 0.4rem;
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  transition: all 0.2s;
  position: relative;
}

.premium-tp-item.active {
  background: rgba(102, 126, 234, 0.1);
  /* Subtle Brand Blue Tint */
  border-color: var(--accent-color);
}

.premium-tp-item:hover {
  border-color: var(--accent-color);
}

.tp-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.1rem;
}

.level-badge {
  background: var(--text-tertiary);
  color: white;
  padding: 0.1rem 0.3rem;
  border-radius: 3px;
  font-size: 0.6rem;
  font-weight: 700;
}

.premium-tp-item.active .level-badge {
  background: var(--accent-color);
}

.tp-inputs {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.tp-mini-group {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  flex: 1;
}

.tp-mini-label {
  font-size: 0.65rem;
  color: var(--text-tertiary);
  font-weight: 600;
}

.tp-mini-input {
  flex: 1;
  width: 100%;
  padding: 0.2rem 0.3rem;
  border: 1px solid var(--border-color);
  border-radius: 3px;
  background: var(--input-bg);
  color: var(--text-primary);
  font-size: 0.75rem;
  text-align: right;
  transition: all 0.2s;
  height: 24px;
}

.tp-mini-input:focus {
  outline: none;
  border-color: var(--accent-color);
}

.premium-actions {
  display: flex;
  justify-content: flex-end;
  padding-top: 0.75rem;
  margin-top: 0.75rem;
  border-top: 1px solid var(--border-color);
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(5px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Chart Toolbar Styles */
.chart-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 8px;
  padding: 0.75rem;
  margin-bottom: 1rem;
}

/* Stats Grid Widgets */
.stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}

.stat-card {
  background: var(--bg-tertiary);
  border: 1px solid var(--border-color);
  border-radius: 8px;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  position: relative;
  transition: transform 0.2s, box-shadow 0.2s;
}

.stat-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.stat-card.real-orders::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 4px;
  background: linear-gradient(to bottom, #10b981, #ef4444);
  border-radius: 8px 0 0 8px;
}

.stat-card.system::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 4px;
  background: #06b6d4;
  border-radius: 8px 0 0 8px;
}

.stat-card.simulation::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 4px;
  background: #3b82f6;
  border-radius: 8px 0 0 8px;
}

.stat-card.custom::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 4px;
  background: #f59e0b;
  border-radius: 8px 0 0 8px;
}

.stat-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--text-secondary);
  padding-bottom: 0.5rem;
  border-bottom: 1px solid var(--border-color);
}

.stat-card-body {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
  gap: 1rem;
}

.stat-metric {
  display: flex;
  flex-direction: column;
}

.stat-metric-value {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--text-primary);
  font-family: monospace;
  line-height: 1.2;
}

.stat-metric-sublabel {
  font-size: 0.7rem;
  color: var(--text-tertiary);
  margin-top: 0.25rem;
}

.text-green {
  color: #10b981;
}

.text-red {
  color: #ef4444;
}

.text-blue {
  color: #3b82f6;
}

.text-orange {
  color: #f59e0b;
}

.text-cyan {
  color: #06b6d4;
}

.text-purple {
  color: #8b5cf6;
}


.toolbar-group {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.toolbar-section {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.toolbar-divider {
  width: 1px;
  height: 24px;
  background-color: var(--border-color);
}

.toolbar-select,
.toolbar-input {
  background: var(--bg-tertiary);
  color: var(--text-primary);
  border: 1px solid var(--border-color);
  border-radius: 4px;
  padding: 0.35rem 0.5rem;
  font-size: 0.8rem;
  outline: none;
  min-width: 100px;
}

.toolbar-select.primary {
  border-color: var(--accent-color);
}

.toolbar-input {
  width: 120px;
}

.icon-toggle {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  background: transparent;
  border: 1px solid var(--border-color);
  color: var(--text-tertiary);
  padding: 0.35rem 0.6rem;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s;
  font-size: 0.8rem;
  font-weight: 600;
}

.icon-toggle:hover:not(:disabled) {
  background: var(--bg-tertiary);
  color: var(--text-primary);
}

.icon-toggle.active {
  background: rgba(102, 126, 234, 0.1);
  border-color: var(--accent-color);
  color: var(--accent-color);
}

.icon-toggle.buy.active {
  background: rgba(16, 185, 129, 0.1);
  border-color: #10b981;
  color: #10b981;
}

.icon-toggle.sell.active {
  background: rgba(239, 68, 68, 0.1);
  border-color: #ef4444;
  color: #ef4444;
}

.icon-toggle.entry.active {
  color: #fbbf24;
  border-color: #fbbf24;
}

.icon-toggle.exit.active {
  color: #8b5cf6;
  border-color: #8b5cf6;
}

.icon-toggle.action.active {
  color: #06b6d4;
  border-color: #06b6d4;
}

.icon-toggle:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.section-label {
  font-size: 0.75rem;
  color: var(--text-tertiary);
  font-weight: 600;
  text-transform: uppercase;
  margin-right: 0.25rem;
}

.icon-text {
  white-space: nowrap;
}

.no-data-label {
  font-size: 0.8rem;
  color: var(--text-tertiary);
  font-style: italic;
  padding: 0 0.5rem;
}

@media (max-width: 1200px) {
  .chart-toolbar {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* Ensure SL Input is visible */
.sl-input {
  background-color: var(--input-bg) !important;
  color: var(--text-primary) !important;
  font-weight: 700 !important;
  border-color: var(--border-color);
}

/* Ensure placeholder is visible but distinct */
.sl-input::placeholder {
  color: var(--text-tertiary);
  opacity: 0.7;
}

/* Override potential disable opacity if not disabled */
.sl-input:not(:disabled) {
  opacity: 1 !important;
}

/* =====================================================
   MANUAL MARKER SECTION - Custom Entry/Exit Points
   ===================================================== */

.manual-marker-section {
  margin-top: 1rem;
  padding: 1rem;
  background: linear-gradient(135deg, rgba(139, 92, 246, 0.1), rgba(59, 130, 246, 0.1));
  border: 1px solid var(--border-color);
  border-radius: 10px;
}

.manual-marker-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
}

.add-custom-marker-btn {
  display: flex;
  align-items: center;
  font-weight: 600;
  padding: 0.6rem 1.2rem;
  border-radius: 8px;
  transition: all 0.2s ease;
}

.add-custom-marker-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(99, 102, 241, 0.3);
}

.manual-marker-controls {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}

.manual-markers-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--border-color);
}

.manual-marker-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.4rem 0.75rem;
  background: var(--bg-tertiary);
  border-radius: 6px;
  font-size: 0.85rem;
  border: 1px solid var(--border-color);
}

.manual-marker-item.entry {
  border-left: 3px solid #3b82f6;
}

.manual-marker-item.tp {
  border-left: 3px solid #22c55e;
}

.manual-marker-item.sl {
  border-left: 3px solid #ef4444;
}

.marker-type-badge {
  font-weight: 600;
  font-size: 0.75rem;
}

.marker-price {
  font-family: monospace;
  font-weight: 600;
  color: var(--text-primary);
}

.marker-note {
  color: var(--text-secondary);
  font-size: 0.75rem;
  max-width: 150px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.remove-marker-btn {
  background: none;
  border: none;
  color: #ef4444;
  font-size: 1.2rem;
  cursor: pointer;
  padding: 0 0.25rem;
  line-height: 1;
  opacity: 0.6;
  transition: opacity 0.2s;
}

.remove-marker-btn:hover {
  opacity: 1;
}

/* Manual Marker Modal */
.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  backdrop-filter: blur(4px);
}

.modal-content {
  background: var(--card-bg);
  border: 1px solid var(--border-color);
  border-radius: 12px;
  width: 90%;
  max-width: 450px;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
  animation: modalSlideIn 0.25s ease;
}

@keyframes modalSlideIn {
  from {
    opacity: 0;
    transform: translateY(-20px) scale(0.95);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.manual-marker-modal .modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid var(--border-color);
  background: linear-gradient(135deg, rgba(139, 92, 246, 0.1), rgba(59, 130, 246, 0.1));
}

.manual-marker-modal .modal-header h3 {
  margin: 0;
  font-size: 1.1rem;
  color: var(--text-primary);
}

.modal-close-btn {
  background: none;
  border: none;
  font-size: 1.5rem;
  color: var(--text-secondary);
  cursor: pointer;
  padding: 0;
  line-height: 1;
  transition: color 0.2s;
}

.modal-close-btn:hover {
  color: #ef4444;
}

.manual-marker-modal .modal-body {
  padding: 1.5rem;
}

.manual-marker-modal .form-group {
  margin-bottom: 1.25rem;
}

.manual-marker-modal .form-group label {
  display: block;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 0.5rem;
}

.marker-type-selector {
  display: flex;
  gap: 0.5rem;
}

.marker-type-selector .type-btn {
  flex: 1;
  padding: 0.75rem 0.5rem;
  border: 2px solid var(--border-color);
  border-radius: 8px;
  background: var(--bg-tertiary);
  color: var(--text-secondary);
  font-size: 0.8rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}

.marker-type-selector .type-btn:hover {
  background: var(--bg-secondary);
}

.marker-type-selector .type-btn.active.entry {
  background: rgba(59, 130, 246, 0.15);
  border-color: #3b82f6;
  color: #3b82f6;
}

.marker-type-selector .type-btn.active.tp {
  background: rgba(34, 197, 94, 0.15);
  border-color: #22c55e;
  color: #22c55e;
}

.marker-type-selector .type-btn.active.sl {
  background: rgba(239, 68, 68, 0.15);
  border-color: #ef4444;
  color: #ef4444;
}

.price-input-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

.price-input-wrapper .currency-symbol {
  position: absolute;
  left: 12px;
  color: var(--text-secondary);
  font-weight: 600;
}

.price-input-wrapper input {
  width: 100%;
  padding: 0.75rem 1rem 0.75rem 2rem;
  border: 2px solid var(--input-border);
  border-radius: 8px;
  background: var(--input-bg);
  color: var(--text-primary);
  font-size: 1rem;
  font-family: monospace;
  transition: border-color 0.2s;
}

.price-input-wrapper input:focus {
  outline: none;
  border-color: #667eea;
}

.manual-marker-modal .form-group input[type="datetime-local"],
.manual-marker-modal .form-group input[type="text"] {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 2px solid var(--input-border);
  border-radius: 8px;
  background: var(--input-bg);
  color: var(--text-primary);
  font-size: 0.9rem;
  transition: border-color 0.2s;
}

.manual-marker-modal .form-group input:focus {
  outline: none;
  border-color: #667eea;
}

.manual-marker-modal .form-hint {
  margin-top: 0.35rem;
  font-size: 0.75rem;
  color: var(--text-tertiary);
}

.manual-marker-modal .modal-footer {
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
  padding: 1rem 1.5rem;
  border-top: 1px solid var(--border-color);
  background: var(--bg-tertiary);
  border-radius: 0 0 12px 12px;
}

.manual-marker-modal .modal-footer .btn {
  padding: 0.6rem 1.25rem;
  font-size: 0.9rem;
}

/* =====================================================
   PLACEMENT MODE - Click-to-place markers
   ===================================================== */

.placement-mode-banner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding: 0.75rem 1.5rem;
  background: linear-gradient(90deg, rgba(139, 92, 246, 0.2), rgba(59, 130, 246, 0.2));
  border: 2px solid #8b5cf6;
  border-radius: 8px;
  margin-bottom: 0.5rem;
  animation: placementPulse 2s ease-in-out infinite;
}

@keyframes placementPulse {

  0%,
  100% {
    border-color: #8b5cf6;
    box-shadow: 0 0 8px rgba(139, 92, 246, 0.3);
  }

  50% {
    border-color: #a78bfa;
    box-shadow: 0 0 16px rgba(139, 92, 246, 0.5);
  }
}

.placement-mode-banner .placement-icon {
  font-size: 1.5rem;
}

.placement-mode-banner span {
  color: var(--text-primary);
  font-size: 0.95rem;
}

.placement-mode-banner strong {
  color: #a78bfa;
}

.cancel-placement-btn {
  background: rgba(239, 68, 68, 0.2);
  border: 1px solid #ef4444;
  color: #ef4444;
  padding: 0.4rem 0.8rem;
  border-radius: 6px;
  font-size: 0.8rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}

.cancel-placement-btn:hover {
  background: rgba(239, 68, 68, 0.3);
}

.chart-container.placement-active {
  border: 2px solid #8b5cf6;
  box-shadow: 0 0 20px rgba(139, 92, 246, 0.3);
}

/* Marker Type Buttons */
.marker-type-buttons {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.marker-section-label {
  font-weight: 600;
  color: var(--text-primary);
  margin-right: 0.5rem;
}

.marker-type-btn {
  padding: 0.5rem 1rem;
  border: 2px solid var(--border-color);
  border-radius: 8px;
  background: var(--bg-tertiary);
  color: var(--text-secondary);
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}

.marker-type-btn:hover {
  transform: translateY(-1px);
}

.marker-type-btn.entry:hover,
.marker-type-btn.entry.active {
  background: rgba(59, 130, 246, 0.15);
  border-color: #3b82f6;
  color: #3b82f6;
  box-shadow: 0 0 12px rgba(59, 130, 246, 0.3);
}

.marker-type-btn.tp:hover,
.marker-type-btn.tp.active {
  background: rgba(34, 197, 94, 0.15);
  border-color: #22c55e;
  color: #22c55e;
  box-shadow: 0 0 12px rgba(34, 197, 94, 0.3);
}

.marker-type-btn.sl:hover,
.marker-type-btn.sl.active {
  background: rgba(239, 68, 68, 0.15);
  border-color: #ef4444;
  color: #ef4444;
  box-shadow: 0 0 12px rgba(239, 68, 68, 0.3);
}

/* Reverse Entry Groups */
.reverse-entry-group {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin-bottom: 0.5rem;
}

.reverse-entry-group .manual-marker-item.reverse_entry {
  border-left: 3px solid #8b5cf6;
  background: rgba(139, 92, 246, 0.1);
}

.linked-exits {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  padding-left: 1rem;
  border-left: 2px dashed var(--border-color);
  margin-left: 0.5rem;
}

.linked-exits .manual-marker-item {
  font-size: 0.8rem;
  padding: 0.3rem 0.6rem;
}

.manual-marker-item.reverse_tp {
  border-left: 3px solid #22c55e;
  background: rgba(34, 197, 94, 0.08);
}

.manual-marker-item.reverse_sl {
  border-left: 3px solid #ef4444;
  background: rgba(239, 68, 68, 0.08);
}

/* Reverse Entry Card */
.reverse-entry-card {
  background: var(--bg-tertiary);
  border: 1px solid var(--border-color);
  border-radius: 8px;
  padding: 0.75rem;
  border-left: 4px solid #8b5cf6;
  /* Keep purple accent */
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  transition: all 0.2s ease;
}

.reverse-entry-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.reverse-entry-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-bottom: 0.5rem;
}

.marker-timestamp {
  color: var(--text-tertiary);
  font-size: 0.75rem;
}

.entry-chart-data {
  margin: 0.5rem 0;
  padding: 0.5rem;
  background: rgba(0, 0, 0, 0.1);
  /* Lighter background */
  border-radius: 6px;
  border: 1px solid rgba(255, 255, 255, 0.05);
}

.chart-data-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.5rem;
}

.chart-data-grid .data-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0.25rem;
}

.chart-data-grid .data-label {
  font-size: 0.65rem;
  color: var(--text-tertiary);
  text-transform: uppercase;
}

.chart-data-grid .data-value {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--text-primary);
  font-family: monospace;
}

.chart-data-grid .data-value.text-green {
  color: #22c55e;
}

.chart-data-grid .data-value.text-red {
  color: #ef4444;
}

/* Exit Badge */
.exit-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  font-size: 0.75rem;
  font-weight: 600;
  margin-right: 0.5rem;
  margin-bottom: 0.25rem;
}

.exit-badge.reverse_tp {
  background: rgba(34, 197, 94, 0.15);
  color: #22c55e;
  border: 1px solid rgba(34, 197, 94, 0.3);
}

.exit-badge.reverse_sl {
  background: rgba(239, 68, 68, 0.15);
  color: #ef4444;
  border: 1px solid rgba(239, 68, 68, 0.3);
}

@media (max-width: 768px) {
  .chart-data-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}.monitoring-page {
    padding: 20px;
    max-width: 1600px;
    margin: 0 auto;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* Section Grid Layout */
.monitoring-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 16px;
}

.monitoring-row .monitoring-section {
    margin-bottom: 0;
}

@media (max-width: 1200px) {
    .monitoring-row {
        grid-template-columns: 1fr;
    }
}

.monitoring-page.dark-mode {
    background-color: #1a1a2e;
    color: #e5e7eb;
}

/* KPI Indicators */
.kpi-indicator {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 0.7rem;
    font-weight: 600;
    margin-left: 8px;
    vertical-align: middle;
}

.kpi-indicator svg {
    font-size: 0.8rem;
}

.kpi-indicator.kpi-met {
    background-color: rgba(76, 175, 80, 0.15);
    color: #4caf50;
    border: 1px solid rgba(76, 175, 80, 0.3);
}

.kpi-indicator.kpi-not-met {
    background-color: rgba(244, 67, 54, 0.15);
    color: #f44336;
    border: 1px solid rgba(244, 67, 54, 0.3);
}

.kpi-label {
    white-space: nowrap;
}

.dark-mode .kpi-indicator.kpi-met {
    background-color: rgba(76, 175, 80, 0.2);
}

.dark-mode .kpi-indicator.kpi-not-met {
    background-color: rgba(244, 67, 54, 0.2);
}

/* Header */
.monitoring-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
    flex-wrap: wrap;
    gap: 16px;
}

.monitoring-header h1 {
    margin: 0;
    font-size: 1.75rem;
    font-weight: 600;
    color: inherit;
}

.monitoring-header-actions {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

.monitoring-auto-refresh {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.875rem;
    cursor: pointer;
}

.monitoring-auto-refresh input {
    cursor: pointer;
}

.monitoring-refresh-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    background: #3b82f6;
    color: white;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.875rem;
    transition: background 0.2s;
}

.monitoring-refresh-btn:hover {
    background: #2563eb;
}

.monitoring-refresh-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.monitoring-refresh-btn .spinning {
    animation: spin 1s linear infinite;
}

@keyframes spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

.monitoring-last-refresh {
    font-size: 0.75rem;
    color: #6b7280;
}

.dark-mode .monitoring-last-refresh {
    color: #9ca3af;
}

/* Error */
.monitoring-error {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    background: #fee2e2;
    color: #dc2626;
    border-radius: 8px;
    margin-bottom: 20px;
}

.dark-mode .monitoring-error {
    background: #450a0a;
    color: #fca5a5;
}

/* Loading */
.monitoring-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 40px;
    color: #6b7280;
    font-size: 1rem;
}

.dark-mode .monitoring-loading {
    color: #9ca3af;
}

/* Sections */
.monitoring-section {
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    margin-bottom: 16px;
    overflow: hidden;
}

.dark-mode .monitoring-section {
    background: #16213e;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

.monitoring-section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    cursor: pointer;
    background: #f8fafc;
    border-bottom: 1px solid #e5e7eb;
    transition: background 0.2s;
}

.dark-mode .monitoring-section-header {
    background: #1e3a5f;
    border-bottom: 1px solid #374151;
}

.monitoring-section-header:hover {
    background: #f1f5f9;
}

.dark-mode .monitoring-section-header:hover {
    background: #234567;
}

.monitoring-section-header h2 {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
}

.monitoring-section-header h2 svg {
    font-size: 0.75rem;
    color: #6b7280;
}

.monitoring-section-summary {
    display: flex;
    align-items: center;
    gap: 16px;
    font-size: 0.875rem;
}

.monitoring-section-content {
    padding: 20px;
}

/* Scrollable table containers for row sections */
.monitoring-row .monitoring-section-content {
    max-height: 450px;
    overflow-y: auto;
}

.monitoring-row .monitoring-section-content .monitoring-table {
    margin-bottom: 0;
}

.monitoring-section-content h3 {
    margin: 20px 0 12px 0;
    font-size: 0.9rem;
    font-weight: 600;
    color: #374151;
}

.dark-mode .monitoring-section-content h3 {
    color: #d1d5db;
}

/* Health indicator */
.health-indicator {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 20px;
    font-weight: 500;
}

.health-indicator.good {
    background: #dcfce7;
    color: #16a34a;
}

.health-indicator.warning {
    background: #fef3c7;
    color: #d97706;
}

.health-indicator.bad {
    background: #fee2e2;
    color: #dc2626;
}

.dark-mode .health-indicator.good {
    background: #14532d;
    color: #86efac;
}

.dark-mode .health-indicator.warning {
    background: #78350f;
    color: #fcd34d;
}

.dark-mode .health-indicator.bad {
    background: #450a0a;
    color: #fca5a5;
}

/* Tables */
/* Scrollable table container - limits visible rows to ~15 */
.table-scroll-container {
    max-height: 600px;
    /* Approximately 15 rows at ~40px each */
    overflow-y: auto;
    overflow-x: auto;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
}

.dark-mode .table-scroll-container {
    border-color: #374151;
}

/* Sticky header for scrollable tables */
.monitoring-table.sticky-header {
    border-collapse: separate;
    border-spacing: 0;
}

.monitoring-table.sticky-header thead {
    position: sticky;
    top: 0;
    z-index: 10;
}

.monitoring-table.sticky-header thead th {
    background: #f9fafb;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.dark-mode .monitoring-table.sticky-header thead th {
    background: #1f2937;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

.monitoring-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
}

.monitoring-table th,
.monitoring-table td {
    padding: 10px 12px;
    text-align: left;
    border-bottom: 1px solid #e5e7eb;
}

.dark-mode .monitoring-table th,
.dark-mode .monitoring-table td {
    border-bottom: 1px solid #374151;
}

.monitoring-table th {
    font-weight: 600;
    color: #6b7280;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    background: #f9fafb;
}

.dark-mode .monitoring-table th {
    background: #1f2937;
    color: #9ca3af;
}

/* Sortable table headers (TanStack Table) */
.sortable-table th.sortable-header {
    cursor: pointer;
    user-select: none;
    transition: background 0.15s ease;
}

.sortable-table th.sortable-header:hover {
    background: #e5e7eb;
}

.dark-mode .sortable-table th.sortable-header:hover {
    background: #374151;
}

.sortable-table .header-content {
    display: flex;
    align-items: center;
    gap: 6px;
}

.sortable-table .sort-indicator {
    display: inline-flex;
    align-items: center;
    font-size: 0.7rem;
    color: #3b82f6;
}

.sortable-table .sort-indicator .sort-inactive {
    color: #9ca3af;
    opacity: 0.5;
}

.dark-mode .sortable-table .sort-indicator {
    color: #60a5fa;
}

.dark-mode .sortable-table .sort-indicator .sort-inactive {
    color: #6b7280;
}

/* Column filters integrated into header cells */
.sortable-table th.filterable-header {
    vertical-align: top;
}

.sortable-table .column-filter-input {
    display: block;
    width: 100%;
    margin-top: 6px;
    padding: 4px 8px;
    font-size: 0.7rem;
    font-weight: 400;
    text-transform: none;
    letter-spacing: normal;
    border: 1px solid #d1d5db;
    border-radius: 4px;
    background: #fff;
    color: #374151;
    outline: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.sortable-table .column-filter-input:focus {
    border-color: #3b82f6;
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);
}

.sortable-table .column-filter-input::placeholder {
    color: #9ca3af;
    font-style: italic;
}

.dark-mode .sortable-table .column-filter-input {
    background: #2d3748;
    border-color: #4b5563;
    color: #e5e7eb;
}

.dark-mode .sortable-table .column-filter-input:focus {
    border-color: #60a5fa;
    box-shadow: 0 0 0 2px rgba(96, 165, 250, 0.2);
}

.dark-mode .sortable-table .column-filter-input::placeholder {
    color: #6b7280;
}

.monitoring-table tbody tr:hover {
    background: #f9fafb;
}

.dark-mode .monitoring-table tbody tr:hover {
    background: #1f2937;
}

/* Row highlighting for issues */
.monitoring-table tbody tr.row-danger {
    background: #fee2e2;
}

.monitoring-table tbody tr.row-danger:hover {
    background: #fecaca;
}

.dark-mode .monitoring-table tbody tr.row-danger {
    background: #450a0a;
}

.dark-mode .monitoring-table tbody tr.row-danger:hover {
    background: #7f1d1d;
}

.monitoring-table tbody tr.row-warning {
    background: #fef3c7;
}

.monitoring-table tbody tr.row-warning:hover {
    background: #fde68a;
}

.dark-mode .monitoring-table tbody tr.row-warning {
    background: #78350f;
}

.dark-mode .monitoring-table tbody tr.row-warning:hover {
    background: #92400e;
}

.monitoring-table tbody tr.row-info {
    background: #dbeafe;
}

.monitoring-table tbody tr.row-info:hover {
    background: #bfdbfe;
}

.dark-mode .monitoring-table tbody tr.row-info {
    background: #1e3a8a;
}

.dark-mode .monitoring-table tbody tr.row-info:hover {
    background: #1e40af;
}

.monitoring-table tbody tr.row-muted {
    background: #f1f5f9;
    opacity: 0.7;
}

.monitoring-table tbody tr.row-muted:hover {
    background: #e2e8f0;
    opacity: 0.85;
}

.dark-mode .monitoring-table tbody tr.row-muted {
    background: #1e293b;
    opacity: 0.7;
}

.dark-mode .monitoring-table tbody tr.row-muted:hover {
    background: #334155;
    opacity: 0.85;
}

/* Type badges */
.type-buy {
    color: #16a34a;
    font-weight: 600;
}

.type-sell {
    color: #dc2626;
    font-weight: 600;
}

/* Status badge */
.monitoring-status-badge {
    display: inline-flex;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 500;
}

/* Text colors */
.text-success {
    color: #16a34a;
}

.text-danger {
    color: #dc2626;
}

.text-warning {
    color: #d97706;
}

.text-info {
    color: #2563eb;
}

.dark-mode .text-success {
    color: #4ade80;
}

.dark-mode .text-danger {
    color: #f87171;
}

.dark-mode .text-warning {
    color: #fbbf24;
}

.dark-mode .text-info {
    color: #60a5fa;
}

/* Links */
.monitoring-table .link {
    color: #3b82f6;
    text-decoration: none;
}

.monitoring-table .link:hover {
    text-decoration: underline;
}

/* Metrics row */
.monitoring-metrics-row {
    display: flex;
    gap: 24px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.monitoring-metric {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 16px 24px;
    background: #f8fafc;
    border-radius: 8px;
    min-width: 140px;
}

.dark-mode .monitoring-metric {
    background: #1f2937;
}

.metric-label {
    font-size: 0.75rem;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.dark-mode .metric-label {
    color: #9ca3af;
}

.metric-value {
    font-size: 1.5rem;
    font-weight: 600;
    color: #111827;
}

.dark-mode .metric-value {
    color: #f3f4f6;
}

/* Pair cell */
.pair-cell {
    font-family: monospace;
    font-size: 0.8rem;
    color: #6b7280;
}

/* Error reason */
.error-reason {
    max-width: 500px;
    min-width: 250px;
    word-break: break-word;
    white-space: pre-wrap;
    font-size: 0.8rem;
    line-height: 1.4;
}

/* Missing fields tags */
.missing-fields {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.missing-field-tag {
    display: inline-block;
    padding: 2px 6px;
    background: #fef3c7;
    color: #92400e;
    border-radius: 4px;
    font-size: 0.7rem;
    font-weight: 500;
}

.dark-mode .missing-field-tag {
    background: #78350f;
    color: #fcd34d;
}

/* Missing data filters - simple inline */
.missing-data-filters-simple {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 12px 16px;
    background: #f8fafc;
    border-radius: 8px;
    margin-bottom: 16px;
    border: 1px solid #e5e7eb;
}

.dark-mode .missing-data-filters-simple {
    background: #1f2937;
    border-color: #374151;
}

.missing-data-filters-simple .filter-label {
    font-weight: 600;
    font-size: 0.85rem;
    color: #374151;
}

.dark-mode .missing-data-filters-simple .filter-label {
    color: #d1d5db;
}

.filter-toggle {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.85rem;
    color: #374151;
    cursor: pointer;
    padding: 6px 12px;
    border-radius: 6px;
    background: #fff;
    border: 1px solid #d1d5db;
    transition: all 0.15s;
}

.filter-toggle:hover {
    background: #f3f4f6;
    border-color: #9ca3af;
}

.filter-toggle:has(input:checked) {
    background: #dbeafe;
    border-color: #3b82f6;
    color: #1d4ed8;
}

.dark-mode .filter-toggle {
    background: #374151;
    border-color: #4b5563;
    color: #d1d5db;
}

.dark-mode .filter-toggle:hover {
    background: #4b5563;
}

.dark-mode .filter-toggle:has(input:checked) {
    background: #1e3a8a;
    border-color: #3b82f6;
    color: #93c5fd;
}

.filter-toggle input[type="checkbox"] {
    width: 16px;
    height: 16px;
    cursor: pointer;
    accent-color: #3b82f6;
}

/* Empty state */
.monitoring-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 32px;
    color: #6b7280;
    font-size: 0.9rem;
}

.dark-mode .monitoring-empty {
    color: #9ca3af;
}

/* Row sections header spacing - prevent squeezed titles */
.monitoring-row .monitoring-section-header {
    flex-direction: column;
    align-items: stretch;
}

.monitoring-row .monitoring-section-header h2 {
    flex-wrap: nowrap;
    gap: 8px;
    width: 100%;
}

.monitoring-row .monitoring-section-header h2 .kpi-indicator {
    margin-left: 4px;
}

.monitoring-row .monitoring-section-header h2 .time-range-toggle {
    margin-left: auto;
}

.monitoring-row .monitoring-section-summary {
    margin-top: 8px;
    padding-left: 22px;
    flex-wrap: wrap;
}

/* Sanity summary */
.monitoring-sanity-summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 16px;
    margin-bottom: 24px;
}

.sanity-card {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 16px;
    border-radius: 8px;
    border: 1px solid #e5e7eb;
    cursor: pointer;
    transition: all 0.2s ease;
    position: relative;
}

.sanity-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.sanity-card.active {
    outline: 2px solid #3b82f6;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.3);
}

.sanity-eye {
    position: absolute;
    top: 8px;
    right: 8px;
    font-size: 14px;
    opacity: 0.4;
    transition: opacity 0.2s;
}

.sanity-card:hover .sanity-eye,
.sanity-card.active .sanity-eye {
    opacity: 1;
}

.dark-mode .sanity-card {
    border-color: #374151;
}

.sanity-card.good {
    background: #dcfce7;
    border-color: #86efac;
}

.dark-mode .sanity-card.good {
    background: #14532d;
    border-color: #22c55e;
}

.sanity-card.bad {
    background: #fee2e2;
    border-color: #fca5a5;
}

.dark-mode .sanity-card.bad {
    background: #450a0a;
    border-color: #dc2626;
}

.sanity-card.warning {
    background: #fef3c7;
    border-color: #fcd34d;
}

.dark-mode .sanity-card.warning {
    background: #78350f;
    border-color: #f59e0b;
}

.sanity-card.info {
    background: #dbeafe;
    border-color: #93c5fd;
}

.dark-mode .sanity-card.info {
    background: #1e3a8a;
    border-color: #3b82f6;
}

.sanity-card.neutral {
    background: #f3f4f6;
}

.dark-mode .sanity-card.neutral {
    background: #1f2937;
}

.sanity-label {
    font-size: 0.8rem;
    font-weight: 600;
    color: #374151;
}

.dark-mode .sanity-label {
    color: #e5e7eb;
}

.sanity-value {
    font-size: 2rem;
    font-weight: 700;
    color: #111827;
}

.dark-mode .sanity-value {
    color: #f9fafb;
}

.sanity-card.good .sanity-value {
    color: #16a34a;
}

.sanity-card.bad .sanity-value {
    color: #dc2626;
}

.sanity-card.warning .sanity-value {
    color: #d97706;
}

.sanity-card.info .sanity-value {
    color: #2563eb;
}

.dark-mode .sanity-card.good .sanity-value {
    color: #4ade80;
}

.dark-mode .sanity-card.bad .sanity-value {
    color: #f87171;
}

.dark-mode .sanity-card.warning .sanity-value {
    color: #fbbf24;
}

.dark-mode .sanity-card.info .sanity-value {
    color: #60a5fa;
}

.sanity-desc {
    font-size: 0.7rem;
    color: #6b7280;
}

.dark-mode .sanity-desc {
    color: #9ca3af;
}

/* Time range toggle */
.time-range-toggle {
    display: flex;
    gap: 4px;
    margin-left: 12px;
}

.time-range-toggle button {
    padding: 3px 8px;
    font-size: 0.7rem;
    border: 1px solid #d1d5db;
    background: #f9fafb;
    color: #6b7280;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.15s;
}

.time-range-toggle button:hover {
    background: #e5e7eb;
}

.time-range-toggle button.active {
    background: #3b82f6;
    border-color: #3b82f6;
    color: white;
}

.dark-mode .time-range-toggle button {
    background: #374151;
    border-color: #4b5563;
    color: #9ca3af;
}

.dark-mode .time-range-toggle button:hover {
    background: #4b5563;
}

.dark-mode .time-range-toggle button.active {
    background: #3b82f6;
    border-color: #3b82f6;
    color: white;
}

/* Responsive - Tablet */
@media (max-width: 1024px) {
    .monitoring-sanity-summary {
        grid-template-columns: repeat(2, 1fr);
    }

    .timing-stages-row {
        gap: 6px;
    }

    .timing-stage-card {
        min-width: 100px;
        padding: 12px 16px;
    }

    .stage-value {
        font-size: 18px;
    }
}

/* Responsive - Mobile */
@media (max-width: 768px) {
    .monitoring-page {
        padding: 12px;
    }

    .monitoring-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .monitoring-header h1 {
        font-size: 1.4rem;
    }

    .monitoring-header-actions {
        width: 100%;
        justify-content: space-between;
    }

    .monitoring-section-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
        padding: 12px 16px;
    }

    .monitoring-section-header h2 {
        font-size: 0.9rem;
        flex-wrap: wrap;
    }

    .monitoring-section-summary {
        flex-wrap: wrap;
        gap: 8px;
        font-size: 0.8rem;
    }

    .monitoring-section-content {
        padding: 12px;
    }

    /* KPI indicators on mobile */
    .kpi-indicator {
        padding: 2px 6px;
        font-size: 0.65rem;
        margin-left: 4px;
    }

    .kpi-label {
        display: none;
    }

    /* Time range toggle */
    .time-range-toggle {
        margin-left: 0;
        margin-top: 8px;
    }

    /* Tables - horizontal scroll */
    .monitoring-section-content {
        overflow-x: auto;
    }

    .monitoring-table {
        font-size: 0.7rem;
        min-width: 600px;
    }

    .monitoring-table th,
    .monitoring-table td {
        padding: 8px 6px;
        white-space: nowrap;
    }

    .monitoring-table .error-reason {
        max-width: 200px;
        min-width: 150px;
        white-space: normal;
    }

    /* Metrics row */
    .monitoring-metrics-row {
        flex-direction: column;
        gap: 12px;
    }

    .monitoring-metric {
        min-width: auto;
        padding: 12px 16px;
    }

    .metric-value {
        font-size: 1.25rem;
    }

    /* Sanity cards */
    .monitoring-sanity-summary {
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
    }

    .sanity-card {
        padding: 12px;
    }

    .sanity-value {
        font-size: 1.5rem;
    }

    .sanity-label {
        font-size: 0.7rem;
    }

    .sanity-desc {
        font-size: 0.6rem;
    }

    /* Timing stages */
    .timing-stages-row {
        flex-direction: column;
        gap: 8px;
    }

    .timing-stage-card {
        width: 100%;
        flex-direction: row;
        justify-content: space-between;
        min-width: auto;
        padding: 12px 16px;
    }

    .timing-stage-arrow {
        transform: rotate(90deg);
    }

    .stage-value {
        font-size: 18px;
    }

    /* Slice hits filter */
    .slice-hits-filter {
        flex-wrap: wrap;
        gap: 6px;
    }

    .slice-hits-filter .filter-btn {
        padding: 6px 10px;
        font-size: 0.75rem;
        flex: 1;
        min-width: calc(50% - 6px);
        justify-content: center;
    }

    /* Missing data filters */
    .missing-data-filters-simple {
        flex-wrap: wrap;
        gap: 8px;
        padding: 10px 12px;
    }

    .missing-data-filters-simple .filter-label {
        width: 100%;
        margin-bottom: 4px;
    }

    .filter-toggle {
        padding: 4px 8px;
        font-size: 0.75rem;
    }

    /* CSV download button */
    .csv-download-btn {
        padding: 4px 8px;
        font-size: 0.7rem;
    }

    .table-header-actions {
        margin-bottom: 8px;
    }

    /* Update issues */
    .update-issues-subsection {
        padding: 12px;
    }

    .subsection-title {
        font-size: 12px;
        flex-wrap: wrap;
        gap: 8px;
    }

    /* Empty state */
    .monitoring-empty {
        padding: 20px;
        font-size: 0.8rem;
        text-align: center;
        flex-wrap: wrap;
    }
}

/* Responsive - Small Mobile */
@media (max-width: 480px) {
    .monitoring-page {
        padding: 8px;
    }

    .monitoring-header h1 {
        font-size: 1.2rem;
    }

    .monitoring-header-actions {
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
    }

    .monitoring-auto-refresh {
        justify-content: center;
    }

    .monitoring-refresh-btn {
        width: 100%;
        justify-content: center;
    }

    .monitoring-last-refresh {
        text-align: center;
    }

    .monitoring-section-header h2 {
        font-size: 0.85rem;
    }

    .monitoring-table {
        font-size: 0.65rem;
        min-width: 500px;
    }

    .monitoring-table th,
    .monitoring-table td {
        padding: 6px 4px;
    }

    /* Sanity cards - single column */
    .monitoring-sanity-summary {
        grid-template-columns: 1fr;
    }

    /* Slice hits filter - full width buttons */
    .slice-hits-filter .filter-btn {
        min-width: 100%;
    }

    /* Hide some table columns on very small screens */
    .monitoring-table .hide-mobile {
        display: none;
    }
}

/* Update Issues Subsections */
.update-issues-subsection {
    padding: 16px;
    background: var(--bg-secondary, #f8fafc);
    border-radius: 8px;
    border: 1px solid var(--border-color, #e2e8f0);
}

.dark-mode .update-issues-subsection {
    background: #1e293b;
    border-color: #334155;
}

.subsection-title {
    display: flex;
    align-items: center;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 12px;
    color: var(--text-primary, #1e293b);
}

.dark-mode .subsection-title {
    color: #f1f5f9;
}

.subsection-count {
    margin-left: auto;
    background: var(--bg-tertiary, #e2e8f0);
    padding: 2px 10px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 500;
}

.dark-mode .subsection-count {
    background: #334155;
}

/* Timing Stages */
.timing-stages-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 16px 0;
    flex-wrap: wrap;
}

.timing-stage-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 16px 20px;
    background: var(--bg-secondary, #f8fafc);
    border: 2px solid var(--border-color, #e2e8f0);
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.2s ease;
    min-width: 120px;
}

.timing-stage-card:hover {
    border-color: #3b82f6;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.15);
}

.timing-stage-card.active {
    border-color: #3b82f6;
    background: #eff6ff;
}

.timing-stage-card.total {
    background: #fef3c7;
    border-color: #d97706;
}

.timing-stage-card.total:hover {
    border-color: #b45309;
}

.timing-stage-card.total.active {
    background: #fde68a;
    border-color: #b45309;
}

.dark-mode .timing-stage-card {
    background: #1e293b;
    border-color: #334155;
}

.dark-mode .timing-stage-card:hover {
    border-color: #60a5fa;
}

.dark-mode .timing-stage-card.active {
    background: #1e3a5f;
    border-color: #60a5fa;
}

.dark-mode .timing-stage-card.total {
    background: #422006;
    border-color: #d97706;
}

.dark-mode .timing-stage-card.total.active {
    background: #713f12;
    border-color: #f59e0b;
}

.stage-label {
    font-size: 12px;
    color: var(--text-secondary, #64748b);
    margin-bottom: 4px;
}

.stage-value {
    font-size: 20px;
    font-weight: 700;
    color: var(--text-primary, #1e293b);
}

.dark-mode .stage-value {
    color: #f1f5f9;
}

.stage-hint {
    font-size: 10px;
    color: var(--text-tertiary, #94a3b8);
    margin-top: 4px;
}

.timing-stage-arrow {
    font-size: 20px;
    color: var(--text-secondary, #64748b);
    font-weight: bold;
}

.dark-mode .timing-stage-arrow {
    color: #94a3b8;
}

/* Slice Hits Filter */
.slice-hits-filter {
    display: flex;
    gap: 8px;
    margin-bottom: 16px;
}

.slice-hits-filter .filter-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border: 2px solid var(--border-color, #e2e8f0);
    border-radius: 8px;
    background: var(--bg-secondary, #f8fafc);
    color: var(--text-primary, #1e293b);
    cursor: pointer;
    font-size: 13px;
    font-weight: 500;
    transition: all 0.2s ease;
}

.slice-hits-filter .filter-btn:hover {
    border-color: #3b82f6;
}

.slice-hits-filter .filter-btn.active {
    background: #3b82f6;
    border-color: #3b82f6;
    color: white;
}

.dark-mode .slice-hits-filter .filter-btn {
    background: #1e293b;
    border-color: #334155;
    color: #f1f5f9;
}

.dark-mode .slice-hits-filter .filter-btn:hover {
    border-color: #60a5fa;
}

.dark-mode .slice-hits-filter .filter-btn.active {
    background: #3b82f6;
    border-color: #3b82f6;
    color: white;
}

/* Sold Bad filter button - danger styling */
.slice-hits-filter .filter-btn.sold-bad-btn {
    border-color: #fca5a5;
    color: #dc2626;
}

.slice-hits-filter .filter-btn.sold-bad-btn:hover {
    border-color: #dc2626;
    background: #fee2e2;
}

.slice-hits-filter .filter-btn.sold-bad-btn.active {
    background: #dc2626;
    border-color: #dc2626;
    color: white;
}

.dark-mode .slice-hits-filter .filter-btn.sold-bad-btn {
    border-color: #7f1d1d;
    color: #f87171;
}

.dark-mode .slice-hits-filter .filter-btn.sold-bad-btn:hover {
    border-color: #dc2626;
    background: #450a0a;
}

.dark-mode .slice-hits-filter .filter-btn.sold-bad-btn.active {
    background: #dc2626;
    border-color: #dc2626;
    color: white;
}

/* Row info style for missed TP */
.monitoring-table tbody tr.row-info {
    background: #dbeafe;
}

.monitoring-table tbody tr.row-info:hover {
    background: #bfdbfe;
}

.dark-mode .monitoring-table tbody tr.row-info {
    background: #1e3a5f;
}

.dark-mode .monitoring-table tbody tr.row-info:hover {
    background: #1e4976;
}

/* CSV Download Button - matches trading page style */
.csv-download-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 5px 10px;
    font-size: 0.75rem;
    font-weight: 500;
    background: #28a745;
    border: none;
    border-radius: 6px;
    color: white;
    cursor: pointer;
    transition: background-color 0.2s;
}

.csv-download-btn:hover {
    background: #218838;
}

.csv-download-btn svg {
    font-size: 0.9rem;
}

.dark-mode .csv-download-btn {
    background: #28a745;
    color: white;
}

.dark-mode .csv-download-btn:hover {
    background: #218838;
}

/* Table header actions container */
.table-header-actions {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 10px;
}

/* Grouped missed hits display */
.missed-slices-list {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.missed-slice-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.8rem;
}

.missed-slice-item .slice-level {
    font-weight: 600;
    min-width: 24px;
}

.missed-slice-item .slice-thresholds {
    display: flex;
    gap: 6px;
    font-size: 0.75rem;
}

.missed-types-list {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.missed-type-badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 0.7rem;
    font-weight: 600;
    cursor: help;
}

.missed-type-badge.tp {
    background: #dbeafe;
    color: #1d4ed8;
}

.missed-type-badge.sl {
    background: #fee2e2;
    color: #dc2626;
}

.dark-mode .missed-type-badge.tp {
    background: #1e3a8a;
    color: #93c5fd;
}

.dark-mode .missed-type-badge.sl {
    background: #7f1d1d;
    color: #fca5a5;
}

/* Grouped sold bad slices display */
.sold-bad-slices-list {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.sold-bad-slice-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.8rem;
}

.sold-bad-slice-item .slice-level {
    font-weight: 600;
    min-width: 24px;
}

.sold-bad-slice-item .slice-trigger {
    font-size: 0.75rem;
    padding: 1px 6px;
    border-radius: 3px;
}

.sold-bad-slice-item .slice-trigger.tp {
    background: #dcfce7;
    color: #16a34a;
}

.sold-bad-slice-item .slice-trigger.sl {
    background: #fee2e2;
    color: #dc2626;
}

.dark-mode .sold-bad-slice-item .slice-trigger.tp {
    background: #14532d;
    color: #86efac;
}

.dark-mode .sold-bad-slice-item .slice-trigger.sl {
    background: #7f1d1d;
    color: #fca5a5;
}

.sold-bad-reasons-list {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.sold-bad-reason-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.75rem;
}

.slice-level-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    padding: 1px 4px;
    background: #fee2e2;
    color: #dc2626;
    border-radius: 3px;
    font-weight: 600;
    font-size: 0.65rem;
}

.dark-mode .slice-level-badge {
    background: #7f1d1d;
    color: #fca5a5;
}

.bad-reason-text {
    color: #dc2626;
}

.dark-mode .bad-reason-text {
    color: #fca5a5;
}

/* Operation badges for test trade failures */
.operation-badge {
    display: inline-block;
    padding: 2px 8px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    border-radius: 4px;
    letter-spacing: 0.05em;
}

.operation-badge.buy {
    background: #dcfce7;
    color: #166534;
}

.operation-badge.sell {
    background: #fef2f2;
    color: #991b1b;
}

.dark-mode .operation-badge.buy {
    background: #14532d;
    color: #86efac;
}

.dark-mode .operation-badge.sell {
    background: #7f1d1d;
    color: #fca5a5;
}

/* View Toggle Tabs */
.view-toggle-tabs {
    display: flex;
    gap: 8px;
    border-bottom: 2px solid #e5e7eb;
    padding-bottom: 8px;
}

.dark-mode .view-toggle-tabs {
    border-bottom-color: #374151;
}

.view-toggle-tab {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border: none;
    background: transparent;
    cursor: pointer;
    font-size: 0.9rem;
    font-weight: 500;
    color: #6b7280;
    border-radius: 6px 6px 0 0;
    transition: all 0.2s ease;
    position: relative;
}

.view-toggle-tab:hover {
    background: rgba(59, 130, 246, 0.1);
    color: #3b82f6;
}

.view-toggle-tab.active {
    color: #3b82f6;
    background: rgba(59, 130, 246, 0.1);
}

.view-toggle-tab.active::after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 0;
    right: 0;
    height: 2px;
    background: #3b82f6;
}

.dark-mode .view-toggle-tab {
    color: #9ca3af;
}

.dark-mode .view-toggle-tab:hover {
    background: rgba(96, 165, 250, 0.15);
    color: #60a5fa;
}

.dark-mode .view-toggle-tab.active {
    color: #60a5fa;
    background: rgba(96, 165, 250, 0.15);
}

.dark-mode .view-toggle-tab.active::after {
    background: #60a5fa;
}

.view-toggle-tab svg {
    font-size: 0.85rem;
}

/* Tab Badge */
.tab-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 9px;
    font-size: 0.75rem;
    font-weight: 600;
    margin-left: 4px;
}

.tab-badge.danger {
    background: #ef4444;
    color: white;
}

.dark-mode .tab-badge.danger {
    background: #dc2626;
}* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* CSS Variables for Light/Dark Mode */
:root {
  /* Light Mode Colors */
  --bg-primary: #F4F4F4;
  --bg-secondary: #ffffff;
  --bg-tertiary: #f8f9fa;
  --text-primary: #333333;
  --text-secondary: #666666;
  --text-tertiary: #999999;
  --border-color: #e2e8f0;
  --border-color-light: #e9ecef;
  --shadow: rgba(0, 0, 0, 0.1);
  --shadow-light: rgba(0, 0, 0, 0.05);
  --accent-color: #667eea;
  --accent-hover: #5568d3;
  --card-bg: #ffffff;
  --input-bg: #ffffff;
  --input-border: #e2e8f0;
  --input-focus: #667eea;
  --overlay: rgba(0, 0, 0, 0.5);
}

.dark-mode {
  /* Dark Mode Colors */
  --bg-primary: #1a1a1a;
  --bg-secondary: #2d2d2d;
  --bg-tertiary: #3a3a3a;
  --text-primary: #ffffff;
  --text-secondary: #b0b0b0;
  --text-tertiary: #808080;
  --border-color: #404040;
  --border-color-light: #4a4a4a;
  --shadow: rgba(0, 0, 0, 0.3);
  --shadow-light: rgba(0, 0, 0, 0.2);
  --accent-color: #667eea;
  --accent-hover: #7a8ef0;
  --card-bg: #2d2d2d;
  --input-bg: #2d2d2d;
  --input-border: #404040;
  --input-focus: #667eea;
  --overlay: rgba(0, 0, 0, 0.7);
}

body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
    'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
    sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-color: var(--bg-primary);
  color: var(--text-primary);
  min-height: 100vh;
  margin: 0;
  padding: 0;
  font-size: 14px;
  /* Decreased from default 16px */
  transition: background-color 0.3s ease, color 0.3s ease;
}

#root {
  width: 100%;
  min-height: 100vh;
}

/* Login page styles */
.login-page {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  padding: 2rem;
}

/* App layout styles */
.app-layout {
  display: flex;
  min-height: 100vh;
  background-color: var(--bg-primary);
  transition: background-color 0.3s ease;
}

.main-content {
  margin-left: 260px;
  flex: 1;
  padding: 1.5rem;
  min-height: 100vh;
  transition: margin-left 0.3s ease;
  position: relative;
  overflow-x: hidden;
  max-width: calc(100vw - 260px);
}

.main-content.sidebar-hidden {
  margin-left: 0;
  max-width: 100vw;
}

/* Mobile Responsive Styles */
@media (max-width: 768px) {
  .main-content {
    margin-left: 0;
    padding: 1rem;
    padding-top: 5rem;
    /* Add top padding to avoid hamburger button overlap */
  }

  .main-content.sidebar-hidden {
    padding-top: 5rem;
    /* Ensure padding when sidebar is hidden */
  }

  .login-page {
    padding: 1rem;
  }

  .app-container {
    padding: 1.5rem;
  }

  .app-header h1 {
    font-size: 1.5rem;
  }

  .content-header h2 {
    font-size: 1.5rem;
  }

  /* Sidebar overlay for mobile */
  .sidebar-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--overlay);
    z-index: 1999;
    display: block;
    transition: background-color 0.3s ease;
  }
}

.content-header {
  margin-bottom: 2rem;
}

.content-header h2 {
  font-size: 1.75rem;
  color: #333;
  margin-bottom: 0.5rem;
}

.content-header p {
  color: #666;
  font-size: 1rem;
}

.app-container {
  background: white;
  border-radius: 8px;
  padding: 2rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.app-header {
  text-align: center;
  margin-bottom: 2rem;
}

.app-header h1 {
  color: #333;
  font-size: 2rem;
  margin-bottom: 0.5rem;
}

.user-info {
  margin-top: 2rem;
  padding: 1.5rem;
  background-color: #f8f9fa;
  border-radius: 6px;
  border: 1px solid #e9ecef;
}

.user-info h2 {
  color: #495057;
  font-size: 1.25rem;
  margin-bottom: 1rem;
}

.user-info p {
  color: #6c757d;
  margin-bottom: 0.5rem;
  font-size: 0.95rem;
}

.user-info strong {
  color: #212529;
}

.sign-out-button {
  margin-top: 1.5rem;
  padding: 0.75rem 1.5rem;
  background-color: #dc3545;
  color: white;
  border: none;
  border-radius: 6px;
  font-size: 1rem;
  cursor: pointer;
  width: 100%;
  transition: background-color 0.2s;
}

.sign-out-button:hover {
  background-color: #c82333;
}

.sign-out-button:active {
  background-color: #bd2130;
}

.error-message {
  margin-top: 1rem;
  padding: 1rem;
  background-color: #f8d7da;
  color: #721c24;
  border-radius: 6px;
  border: 1px solid #f5c6cb;
}

/* AG Grid Dark Mode Support */
.dark-mode .ag-theme-alpine {
  --ag-background-color: var(--card-bg);
  --ag-header-background-color: var(--bg-tertiary);
  --ag-odd-row-background-color: var(--bg-secondary);
  --ag-row-hover-color: var(--bg-tertiary);
  --ag-border-color: var(--border-color);
  --ag-header-foreground-color: var(--text-primary);
  --ag-foreground-color: var(--text-primary);
  --ag-secondary-foreground-color: var(--text-secondary);
  --ag-input-focus-border-color: var(--input-focus);
  --ag-selected-row-background-color: rgba(102, 126, 234, 0.2);
}

.dark-mode .ag-theme-alpine .ag-header-cell {
  color: var(--text-primary);
}

.dark-mode .ag-theme-alpine .ag-cell {
  color: var(--text-primary);
}

.dark-mode .ag-theme-alpine .ag-input-field-input {
  background-color: var(--input-bg);
  color: var(--text-primary);
  border-color: var(--input-border);
}

.ag-header-cell-menu-button:not(.ag-header-menu-always-show) {
  opacity: 1 !important;
}

.dark-mode .ag-theme-alpine .ag-icon {
  color: var(--text-secondary);
}

.trading-page {
  width: 100%;
  max-width: 100vw;
  overflow-x: auto;
  display: flex;
  flex-direction: column;
  height: 100%;
}