@import url(https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@500;600;700;800&display=swap);
body {
  margin: 0;
  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;
}

code {
  font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
    monospace;
}

.App {
}

.App-logo {
  height: 40vmin;
  pointer-events: none;
}

@media (prefers-reduced-motion: no-preference) {
  .App-logo {
    animation: App-logo-spin infinite 20s linear;
  }
}

.App-header {
  background-color: #282c34;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: calc(10px + 2vmin);
  color: white;
}

.App-link {
  color: #61dafb;
}

@keyframes App-logo-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

body {
  --ag-legacy-styles-loaded: "true";
}

.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-feature-settings: 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: "";
  font-family: inherit;
}
.ag-icon::after {
  background: transparent none center/contain no-repeat;
  background: transparent var(--ag-icon-image, none) center/contain no-repeat;
  display: var(--ag-icon-image-display);
  opacity: 0.9;
  opacity: var(--ag-icon-image-opacity, 0.9);
  position: absolute;
  inset: 0;
  content: "";
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.ag-icon-chart::after {
  background-image: var(--ag-icon-image);
  background-image: var(--ag-icon-image-chart, var(--ag-icon-image));
  display: var(--ag-icon-image-display);
  display: var(--ag-icon-image-display-chart, var(--ag-icon-image-display));
  opacity: 0.9;
  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);
  font-family: var(--ag-icon-font-family-checkbox-checked, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight);
  font-weight: var(--ag-icon-font-weight-checkbox-checked, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color);
  color: var(--ag-icon-font-color-checkbox-checked, var(--ag-icon-font-color));
}

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

.ag-icon-checkbox-checked::after {
  background-image: var(--ag-icon-image);
  background-image: var(--ag-icon-image-checkbox-checked, var(--ag-icon-image));
  display: var(--ag-icon-image-display);
  display: var(--ag-icon-image-display-checkbox-checked, var(--ag-icon-image-display));
  opacity: 0.9;
  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);
  font-family: var(--ag-icon-font-family-checkbox-indeterminate, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight);
  font-weight: var(--ag-icon-font-weight-checkbox-indeterminate, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color);
  color: var(--ag-icon-font-color-checkbox-indeterminate, var(--ag-icon-font-color));
}

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

.ag-icon-checkbox-indeterminate::after {
  background-image: var(--ag-icon-image);
  background-image: var(--ag-icon-image-checkbox-indeterminate, var(--ag-icon-image));
  display: var(--ag-icon-image-display);
  display: var(--ag-icon-image-display-checkbox-indeterminate, var(--ag-icon-image-display));
  opacity: 0.9;
  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);
  font-family: var(--ag-icon-font-family-checkbox-unchecked, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight);
  font-weight: var(--ag-icon-font-weight-checkbox-unchecked, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color);
  color: var(--ag-icon-font-color-checkbox-unchecked, var(--ag-icon-font-color));
}

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

.ag-icon-checkbox-unchecked::after {
  background-image: var(--ag-icon-image);
  background-image: var(--ag-icon-image-checkbox-unchecked, var(--ag-icon-image));
  display: var(--ag-icon-image-display);
  display: var(--ag-icon-image-display-checkbox-unchecked, var(--ag-icon-image-display));
  opacity: 0.9;
  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);
  font-family: var(--ag-icon-font-family-color-picker, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight);
  font-weight: var(--ag-icon-font-weight-color-picker, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color);
  color: var(--ag-icon-font-color-color-picker, var(--ag-icon-font-color));
}

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

.ag-icon-color-picker::after {
  background-image: var(--ag-icon-image);
  background-image: var(--ag-icon-image-color-picker, var(--ag-icon-image));
  display: var(--ag-icon-image-display);
  display: var(--ag-icon-image-display-color-picker, var(--ag-icon-image-display));
  opacity: 0.9;
  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);
  font-family: var(--ag-icon-font-family-columns, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight);
  font-weight: var(--ag-icon-font-weight-columns, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color);
  color: var(--ag-icon-font-color-columns, var(--ag-icon-font-color));
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.ag-icon-expanded::after {
  background-image: var(--ag-icon-image);
  background-image: var(--ag-icon-image-expanded, var(--ag-icon-image));
  display: var(--ag-icon-image-display);
  display: var(--ag-icon-image-display-expanded, var(--ag-icon-image-display));
  opacity: 0.9;
  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);
  font-family: var(--ag-icon-font-family-eye-slash, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight);
  font-weight: var(--ag-icon-font-weight-eye-slash, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color);
  color: var(--ag-icon-font-color-eye-slash, var(--ag-icon-font-color));
}

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

.ag-icon-eye-slash::after {
  background-image: var(--ag-icon-image);
  background-image: var(--ag-icon-image-eye-slash, var(--ag-icon-image));
  display: var(--ag-icon-image-display);
  display: var(--ag-icon-image-display-eye-slash, var(--ag-icon-image-display));
  opacity: 0.9;
  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);
  font-family: var(--ag-icon-font-family-eye, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight);
  font-weight: var(--ag-icon-font-weight-eye, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color);
  color: var(--ag-icon-font-color-eye, var(--ag-icon-font-color));
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.ag-icon-none::after {
  background-image: var(--ag-icon-image);
  background-image: var(--ag-icon-image-none, var(--ag-icon-image));
  display: var(--ag-icon-image-display);
  display: var(--ag-icon-image-display-none, var(--ag-icon-image-display));
  opacity: 0.9;
  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);
  font-family: var(--ag-icon-font-family-not-allowed, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight);
  font-weight: var(--ag-icon-font-weight-not-allowed, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color);
  color: var(--ag-icon-font-color-not-allowed, var(--ag-icon-font-color));
}

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

.ag-icon-not-allowed::after {
  background-image: var(--ag-icon-image);
  background-image: var(--ag-icon-image-not-allowed, var(--ag-icon-image));
  display: var(--ag-icon-image-display);
  display: var(--ag-icon-image-display-not-allowed, var(--ag-icon-image-display));
  opacity: 0.9;
  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);
  font-family: var(--ag-icon-font-family-paste, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight);
  font-weight: var(--ag-icon-font-weight-paste, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color);
  color: var(--ag-icon-font-color-paste, var(--ag-icon-font-color));
}

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

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

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

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

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

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

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

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

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

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

.ag-icon-previous::after {
  background-image: var(--ag-icon-image);
  background-image: var(--ag-icon-image-previous, var(--ag-icon-image));
  display: var(--ag-icon-image-display);
  display: var(--ag-icon-image-display-previous, var(--ag-icon-image-display));
  opacity: 0.9;
  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);
  font-family: var(--ag-icon-font-family-radio-button-off, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight);
  font-weight: var(--ag-icon-font-weight-radio-button-off, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color);
  color: var(--ag-icon-font-color-radio-button-off, var(--ag-icon-font-color));
}

.ag-icon-radio-button-off::before {
  content: "\f127";
  content: var(--ag-icon-font-code-radio-button-off, "\f127");
  display: var(--ag-icon-font-display);
  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);
  background-image: var(--ag-icon-image-radio-button-off, var(--ag-icon-image));
  display: var(--ag-icon-image-display);
  display: var(--ag-icon-image-display-radio-button-off, var(--ag-icon-image-display));
  opacity: 0.9;
  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);
  font-family: var(--ag-icon-font-family-radio-button-on, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight);
  font-weight: var(--ag-icon-font-weight-radio-button-on, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color);
  color: var(--ag-icon-font-color-radio-button-on, var(--ag-icon-font-color));
}

.ag-icon-radio-button-on::before {
  content: "\f128";
  content: var(--ag-icon-font-code-radio-button-on, "\f128");
  display: var(--ag-icon-font-display);
  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);
  background-image: var(--ag-icon-image-radio-button-on, var(--ag-icon-image));
  display: var(--ag-icon-image-display);
  display: var(--ag-icon-image-display-radio-button-on, var(--ag-icon-image-display));
  opacity: 0.9;
  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);
  font-family: var(--ag-icon-font-family-right, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight);
  font-weight: var(--ag-icon-font-weight-right, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color);
  color: var(--ag-icon-font-color-right, var(--ag-icon-font-color));
}

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

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

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

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

.ag-icon-save::after {
  background-image: var(--ag-icon-image);
  background-image: var(--ag-icon-image-save, var(--ag-icon-image));
  display: var(--ag-icon-image-display);
  display: var(--ag-icon-image-display-save, var(--ag-icon-image-display));
  opacity: 0.9;
  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);
  font-family: var(--ag-icon-font-family-small-down, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight);
  font-weight: var(--ag-icon-font-weight-small-down, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color);
  color: var(--ag-icon-font-color-small-down, var(--ag-icon-font-color));
}

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

.ag-icon-small-down::after {
  background-image: var(--ag-icon-image);
  background-image: var(--ag-icon-image-small-down, var(--ag-icon-image));
  display: var(--ag-icon-image-display);
  display: var(--ag-icon-image-display-small-down, var(--ag-icon-image-display));
  opacity: 0.9;
  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);
  font-family: var(--ag-icon-font-family-small-left, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight);
  font-weight: var(--ag-icon-font-weight-small-left, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color);
  color: var(--ag-icon-font-color-small-left, var(--ag-icon-font-color));
}

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

.ag-icon-small-left::after {
  background-image: var(--ag-icon-image);
  background-image: var(--ag-icon-image-small-left, var(--ag-icon-image));
  display: var(--ag-icon-image-display);
  display: var(--ag-icon-image-display-small-left, var(--ag-icon-image-display));
  opacity: 0.9;
  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);
  font-family: var(--ag-icon-font-family-small-right, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight);
  font-weight: var(--ag-icon-font-weight-small-right, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color);
  color: var(--ag-icon-font-color-small-right, var(--ag-icon-font-color));
}

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

.ag-icon-small-right::after {
  background-image: var(--ag-icon-image);
  background-image: var(--ag-icon-image-small-right, var(--ag-icon-image));
  display: var(--ag-icon-image-display);
  display: var(--ag-icon-image-display-small-right, var(--ag-icon-image-display));
  opacity: 0.9;
  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);
  font-family: var(--ag-icon-font-family-small-up, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight);
  font-weight: var(--ag-icon-font-weight-small-up, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color);
  color: var(--ag-icon-font-color-small-up, var(--ag-icon-font-color));
}

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

.ag-icon-small-up::after {
  background-image: var(--ag-icon-image);
  background-image: var(--ag-icon-image-small-up, var(--ag-icon-image));
  display: var(--ag-icon-image-display);
  display: var(--ag-icon-image-display-small-up, var(--ag-icon-image-display));
  opacity: 0.9;
  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);
  font-family: var(--ag-icon-font-family-tick, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight);
  font-weight: var(--ag-icon-font-weight-tick, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color);
  color: var(--ag-icon-font-color-tick, var(--ag-icon-font-color));
}

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

.ag-icon-tick::after {
  background-image: var(--ag-icon-image);
  background-image: var(--ag-icon-image-tick, var(--ag-icon-image));
  display: var(--ag-icon-image-display);
  display: var(--ag-icon-image-display-tick, var(--ag-icon-image-display));
  opacity: 0.9;
  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);
  font-family: var(--ag-icon-font-family-tree-closed, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight);
  font-weight: var(--ag-icon-font-weight-tree-closed, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color);
  color: var(--ag-icon-font-color-tree-closed, var(--ag-icon-font-color));
}

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

.ag-icon-tree-closed::after {
  background-image: var(--ag-icon-image);
  background-image: var(--ag-icon-image-tree-closed, var(--ag-icon-image));
  display: var(--ag-icon-image-display);
  display: var(--ag-icon-image-display-tree-closed, var(--ag-icon-image-display));
  opacity: 0.9;
  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);
  font-family: var(--ag-icon-font-family-tree-indeterminate, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight);
  font-weight: var(--ag-icon-font-weight-tree-indeterminate, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color);
  color: var(--ag-icon-font-color-tree-indeterminate, var(--ag-icon-font-color));
}

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

.ag-icon-tree-indeterminate::after {
  background-image: var(--ag-icon-image);
  background-image: var(--ag-icon-image-tree-indeterminate, var(--ag-icon-image));
  display: var(--ag-icon-image-display);
  display: var(--ag-icon-image-display-tree-indeterminate, var(--ag-icon-image-display));
  opacity: 0.9;
  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);
  font-family: var(--ag-icon-font-family-tree-open, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight);
  font-weight: var(--ag-icon-font-weight-tree-open, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color);
  color: var(--ag-icon-font-color-tree-open, var(--ag-icon-font-color));
}

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

.ag-icon-tree-open::after {
  background-image: var(--ag-icon-image);
  background-image: var(--ag-icon-image-tree-open, var(--ag-icon-image));
  display: var(--ag-icon-image-display);
  display: var(--ag-icon-image-display-tree-open, var(--ag-icon-image-display));
  opacity: 0.9;
  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);
  font-family: var(--ag-icon-font-family-unlinked, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight);
  font-weight: var(--ag-icon-font-weight-unlinked, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color);
  color: var(--ag-icon-font-color-unlinked, var(--ag-icon-font-color));
}

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

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

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

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

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

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

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

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

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

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

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

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

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

.ag-icon-minus::after {
  background-image: var(--ag-icon-image);
  background-image: var(--ag-icon-image-minus, var(--ag-icon-image));
  display: var(--ag-icon-image-display);
  display: var(--ag-icon-image-display-minus, var(--ag-icon-image-display));
  opacity: 0.9;
  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);
  font-family: var(--ag-icon-font-family-menu-alt, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight);
  font-weight: var(--ag-icon-font-weight-menu-alt, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color);
  color: var(--ag-icon-font-color-menu-alt, var(--ag-icon-font-color));
}

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

.ag-icon-menu-alt::after {
  background-image: var(--ag-icon-image);
  background-image: var(--ag-icon-image-menu-alt, var(--ag-icon-image));
  display: var(--ag-icon-image-display);
  display: var(--ag-icon-image-display-menu-alt, var(--ag-icon-image-display));
  opacity: 0.9;
  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);
  font-family: var(--ag-icon-font-family-settings, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight);
  font-weight: var(--ag-icon-font-weight-settings, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color);
  color: var(--ag-icon-font-color-settings, var(--ag-icon-font-color));
}

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

.ag-icon-settings::after {
  background-image: var(--ag-icon-image);
  background-image: var(--ag-icon-image-settings, var(--ag-icon-image));
  display: var(--ag-icon-image-display);
  display: var(--ag-icon-image-display-settings, var(--ag-icon-image-display));
  opacity: 0.9;
  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-chart-menu-panel-width: var(--ag-tab-min-width);
  --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);
}

.ag-sticky-bottom {
  border-top: var(--ag-row-border-style) var(--ag-row-border-color) var(--ag-row-border-width);
}

.ag-root-wrapper,
.ag-popup {
  --ag-indentation-level: 0;
}

[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-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;
  user-select: none;
}

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

.ag-tab {
  position: relative;
}

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

.ag-virtual-list-viewport .ag-tab-guard {
  position: sticky;
}

.ag-tab-guard-top {
  top: 1px;
}

.ag-tab-guard-bottom {
  bottom: 1px;
}

.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,
.ag-header-viewport,
.ag-floating-top-viewport,
.ag-floating-bottom-viewport,
.ag-sticky-top-viewport,
.ag-sticky-bottom-viewport {
  overflow-x: auto;
  -ms-overflow-style: none !important;
  scrollbar-width: none !important;
}
.ag-body-viewport::-webkit-scrollbar,
.ag-center-cols-viewport::-webkit-scrollbar,
.ag-header-viewport::-webkit-scrollbar,
.ag-floating-top-viewport::-webkit-scrollbar,
.ag-floating-bottom-viewport::-webkit-scrollbar,
.ag-sticky-top-viewport::-webkit-scrollbar,
.ag-sticky-bottom-viewport::-webkit-scrollbar {
  display: none !important;
}

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

.ag-sticky-top-container,
.ag-sticky-bottom-container {
  min-height: 1px;
}

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

.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%;
  overflow: hidden;
}

.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;
  overflow: hidden;
}

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

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

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

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

.ag-header-group-cell .ag-header-cell-comp-wrapper {
  display: flex;
}

.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-header-cell-comp-wrapper-limited-height > div {
  overflow: hidden;
}

.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: -3px;
}
.ag-rtl .ag-header-cell-resize {
  left: -3px;
}

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

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

.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;
}

.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;
  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;
}

.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;
  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, opacity 0.2s;
}

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

.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;
  word-break: break-word;
}

.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;
}

.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 {
  display: inline-flex;
  align-items: center;
  cursor: move;
  white-space: nowrap;
}

.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;
  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%;
  overflow: hidden;
  height: 0px;
}

.ag-sticky-bottom {
  box-sizing: content-box !important;
}

.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;
  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;
  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 {
  -webkit-user-select: none;
     -moz-user-select: none;
          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-pill-container {
  display: flex;
  gap: 0.25rem;
  flex-wrap: nowrap;
}

.ag-pill {
  display: flex;
  white-space: nowrap;
  padding: 0 0.25rem;
  align-items: center;
}

.ag-pill .ag-pill-button {
  border: none;
  padding: 0;
}

.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::-moz-placeholder {
  opacity: 0.8;
}
.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;
  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;
  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 {
  display: none;
}

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

.ag-header-group-cell-label,
.ag-cell-label-container {
  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 1;
}

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

.ag-spectrum-color {
  flex: 1 1 auto;
  position: relative;
  overflow: visible;
  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,
.ag-spectrum-alpha {
  cursor: default;
}

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

.ag-spectrum-alpha {
  --ag-spectrum-alpha-background-checked: url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"4\" height=\"4\"><rect x=\"0\" y=\"0\" width=\"4\" height=\"4\" fill=\"%23fff\"/><path d=\"M0 0H2V4H4V2H0Z\" fill=\"%23b2b2b2\"/></svg>");
}

.ag-spectrum-alpha-background {
  background: linear-gradient(to right, var(--ag-internal-spectrum-alpha-color-from), var(--ag-internal-spectrum-alpha-color-to)), var(--ag-spectrum-alpha-background-checked) top left/4px 4px;
  width: 100%;
  height: 100%;
}

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

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

.ag-spectrum-alpha .ag-spectrum-slider {
  background: linear-gradient(to bottom, var(--ag-internal-spectrum-alpha-color), var(--ag-internal-spectrum-alpha-color)) white;
}

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

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

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

.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-measurement-container {
  width: 0;
  overflow: hidden;
  visibility: hidden;
}
.ag-measurement-container div {
  position: absolute;
}

.ag-layout-print.ag-body {
  display: block;
  height: auto;
  height: initial;
}
.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 {
    page-break-inside: avoid;
    -moz-column-break-inside: avoid;
         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: auto;
  width: initial;
  min-width: 0;
  min-width: initial;
}

.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;
  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-wrapper {
  padding-left: var(--ag-grid-size);
  padding-right: var(--ag-grid-size);
}
.ag-color-picker .ag-picker-field-display {
  display: flex;
  flex-direction: row;
  align-items: center;
  min-height: var(--ag-list-item-height);
}

.ag-ltr .ag-color-picker-color,
.ag-ltr .ag-color-picker-value {
  margin-right: var(--ag-grid-size);
}
.ag-rtl .ag-color-picker-color,
.ag-rtl .ag-color-picker-value {
  margin-left: var(--ag-grid-size);
}

.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: 2px 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;
  border: 2px solid white;
  box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.37);
}

.ag-recent-colors {
  margin-top: 10px;
}

.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-ltr .ag-color-input input[class^=ag-][type=text].ag-input-field-input {
  padding-left: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);
}
.ag-rtl .ag-color-input input[class^=ag-][type=text].ag-input-field-input {
  padding-right: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);
}
.ag-color-input .ag-color-input-color {
  position: absolute;
}
.ag-ltr .ag-color-input .ag-color-input-color {
  margin-left: var(--ag-grid-size);
}
.ag-rtl .ag-color-input .ag-color-input-color {
  margin-right: var(--ag-grid-size);
}

.ag-color-picker-color,
.ag-color-input-color {
  width: var(--ag-icon-size);
  height: var(--ag-icon-size);
  border: var(--ag-borders-secondary) var(--ag-secondary-border-color);
  border-radius: 2px;
}

.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);
  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-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:hover,
.ag-rich-select-row-highlighted {
  background-image: linear-gradient(var(--ag-row-hover-color), var(--ag-row-hover-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-pill {
  border: 1px solid var(--ag-chip-border-color);
  border-radius: var(--ag-border-radius);
  background-color: var(--ag-chip-background-color);
}

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

.ag-pill:focus-visible {
  border-color: var(--ag-input-focus-border-color);
}

.ag-pill .ag-pill-button:hover {
  cursor: pointer;
}

.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-column,
.ag-ltr .ag-column-select-column-group {
  padding-left: calc(var(--ag-indentation-level) * var(--ag-column-select-indent-size));
}
.ag-rtl .ag-column-select-column,
.ag-rtl .ag-column-select-column-group {
  padding-right: calc(var(--ag-indentation-level) * 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: 0;
  min-height: initial;
}
.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-row > .ag-cell-wrapper.ag-row-group {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * var(--ag-indentation-level));
}

.ag-cell-wrapper.ag-row-group,
.ag-cell-wrapper.ag-row-group-leaf-indent,
.ag-cell-wrapper.ag-pivot-leaf-group {
  padding-left: calc(var(--ag-indentation-level) * 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-row:not(.ag-row-level-0) .ag-pivot-leaf-group {
  margin-left: 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-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: 0px;
}

.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-ltr .ag-right-aligned-cell .ag-skeleton-effect {
  margin-left: auto;
}
.ag-rtl .ag-right-aligned-cell .ag-skeleton-effect {
  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 + var(--ag-row-group-indent-size) * var(--ag-indentation-level));
  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-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: medium none invert;
  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.ag-tabs {
  min-width: var(--ag-tab-min-width);
}

.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-header {
  display: flex;
}

.ag-tabs-header-wrapper {
  display: flex;
}
.ag-tabs-header-wrapper .ag-tabs-header {
  flex: 1 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: transparent;
  background-color: initial;
  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 {
  --ag-indentation-level: 0;
}

.ag-ltr .ag-set-filter-item {
  padding-left: calc(var(--ag-widget-container-horizontal-padding) + var(--ag-indentation-level) * var(--ag-set-filter-indent-size));
}
.ag-rtl .ag-set-filter-item {
  padding-right: calc(var(--ag-widget-container-horizontal-padding) + var(--ag-indentation-level) * 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-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-title-bar {
  background-color: transparent;
}

.ag-ltr .ag-filter-toolpanel-header {
  padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 0 + var(--ag-grid-size));
  padding-left: calc(var(--ag-filter-tool-panel-group-indent) * var(--ag-indentation-level, 0) + var(--ag-grid-size));
}
.ag-rtl .ag-filter-toolpanel-header {
  padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 0 + var(--ag-grid-size));
  padding-right: calc(var(--ag-filter-tool-panel-group-indent) * var(--ag-indentation-level, 0) + 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;
}
.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-parent-hidden),
.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-highlight-before::after,
.ag-header-highlight-after::after {
  content: "";
  position: absolute;
  height: 100%;
  width: 1px;
}

.ag-header-highlight-before::after {
  left: 0px;
}

.ag-header-highlight-after::after {
  right: 0px;
}

.ag-pinned-left-header .ag-header-highlight-after::after {
  right: 1px;
}

.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;
  -webkit-appearance: none;
     -moz-appearance: none;
          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;
  width: 100%;
  height: 100%;
}

.ag-chart-components-wrapper {
  position: relative;
  display: flex;
  flex: 1 1 auto;
}

.ag-chart-canvas-wrapper {
  position: relative;
  flex: 1 1 auto;
}

.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;
  min-width: var(--ag-chart-menu-panel-width);
}

.ag-chart-menu-hidden ~ .ag-chart-docked-container {
  display: none;
}

.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;
  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;
  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:focus-within,
.ag-chart-settings-next:focus-within {
  box-shadow: var(--ag-input-focus-box-shadow);
  border-radius: 1px;
}

.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;
  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 {
  padding-top: var(--ag-grid-size);
  padding-bottom: var(--ag-grid-size);
}
.ag-chart-advanced-settings-section:not(:last-child) {
  border-bottom: 1px solid var(--ag-secondary-border-color);
}

.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-menu-wrapper .ag-chart-menu {
  display: flex;
  flex-direction: row;
  top: 8px;
  gap: 20px;
  width: auto;
}
.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-menu-wrapper .ag-chart-menu {
  left: calc(var(--ag-cell-horizontal-padding) + var(--ag-grid-size) - 4px);
  justify-content: left;
}

.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: transparent;
  background-color: initial;
  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);
  border-width: 2px;
}
.ag-chart-mini-thumbnail:focus-visible {
  outline: none;
  border-color: var(--ag-minichart-selected-chart-color);
  box-shadow: var(--ag-input-focus-box-shadow);
}

.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: transparent;
  background-color: initial;
}

.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-data-group-title-bar .ag-charts-data-group-title,
.ag-charts-format-top-level-group-title-bar .ag-charts-format-top-level-group-title {
  cursor: pointer;
}

.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;
}
.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 {
  padding: var(--ag-grid-size);
}
.ag-ltr .ag-charts-format-top-level-group-container,
.ag-ltr .ag-charts-advanced-settings-top-level-group-container {
  margin-left: calc(var(--ag-grid-size) * 2);
}
.ag-rtl .ag-charts-format-top-level-group-container,
.ag-rtl .ag-charts-advanced-settings-top-level-group-container {
  margin-right: calc(var(--ag-grid-size) * 2);
}

.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-format-sub-level-no-header-group-container > * {
  margin-bottom: var(--ag-widget-vertical-spacing);
}

.ag-charts-format-sub-level-group-container .ag-charts-format-sub-level-group-item.ag-font-panel-no-header {
  margin: 0;
}

.ag-charts-settings-group-container {
  padding: var(--ag-grid-size);
  grid-row-gap: 8px;
  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-charts-theme-default {
  --ag-charts-align: none !important;
  --ag-charts-justify: none !important;
}

.ag-charts-wrapper .ag-charts-proxy-legend-toolbar button:focus {
  box-shadow: none;
}

.ag-charts-wrapper .ag-charts-proxy-legend-toolbar button:focus-visible {
  box-shadow: var(--ag-input-focus-box-shadow);
}

.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: transparent;
  background-color: initial;
  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;
  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 1;
  overflow: auto;
}
.ag-advanced-filter-builder-list .ag-list-item-hovered::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
}
.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-virtual-list-viewport .ag-advanced-filter-builder-item-wrapper .ag-tab-guard {
  position: absolute;
}

.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-feature-settings: 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: "\f108";
  content: var(--ag-icon-font-code-checkbox-unchecked, "\f108");
  font-family: inherit;
  color: var(--ag-checkbox-unchecked-color);
  display: var(--ag-icon-font-display);
  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: "\f106";
  content: var(--ag-icon-font-code-checkbox-checked, "\f106");
  color: var(--ag-checkbox-checked-color);
  display: var(--ag-icon-font-display);
  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: "\f107";
  content: var(--ag-icon-font-code-checkbox-indeterminate, "\f107");
  color: var(--ag-checkbox-indeterminate-color);
  display: var(--ag-icon-font-display);
  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);
  background-image: var(--ag-icon-image-checkbox-unchecked, var(--ag-icon-image));
  display: var(--ag-icon-image-display);
  display: var(--ag-icon-image-display-checkbox-unchecked, var(--ag-icon-image-display));
  opacity: 0.9;
  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);
  background-image: var(--ag-icon-image-checkbox-checked, var(--ag-icon-image));
  display: var(--ag-icon-image-display);
  display: var(--ag-icon-image-display-checkbox-checked, var(--ag-icon-image-display));
  opacity: 0.9;
  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);
  background-image: var(--ag-icon-image-checkbox-indeterminate, var(--ag-icon-image));
  display: var(--ag-icon-image-display);
  display: var(--ag-icon-image-display-checkbox-indeterminate, var(--ag-icon-image-display));
  opacity: 0.9;
  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-feature-settings: 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: "\f127";
  content: var(--ag-icon-font-code-radio-button-off, "\f127");
  color: var(--ag-checkbox-unchecked-color);
  display: var(--ag-icon-font-display);
  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: "\f128";
  content: var(--ag-icon-font-code-radio-button-on, "\f128");
  color: var(--ag-checkbox-checked-color);
  display: var(--ag-icon-font-display);
  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);
  background-image: var(--ag-icon-image-radio-button-off, var(--ag-icon-image));
  display: var(--ag-icon-image-display);
  display: var(--ag-icon-image-display-radio-button-off, var(--ag-icon-image-display));
  opacity: 0.9;
  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);
  background-image: var(--ag-icon-image-radio-button-on, var(--ag-icon-image));
  display: var(--ag-icon-image-display);
  display: var(--ag-icon-image-display-radio-button-on, var(--ag-icon-image-display));
  opacity: 0.9;
  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;
  -moz-appearance: none;
       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: 0;
  min-height: initial;
}
.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-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-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 {
  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-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-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;
}
.ag-theme-alpine .ag-list-item-hovered::after,
.ag-theme-alpine-dark .ag-list-item-hovered::after,
.ag-theme-alpine-auto-dark .ag-list-item-hovered::after {
  background-color: var(--ag-alpine-active-color);
}
.ag-theme-alpine .ag-pill .ag-pill-button:hover,
.ag-theme-alpine-dark .ag-pill .ag-pill-button:hover,
.ag-theme-alpine-auto-dark .ag-pill .ag-pill-button:hover {
  color: var(--ag-alpine-active-color);
}
.ag-theme-alpine .ag-header-highlight-before::after,
.ag-theme-alpine .ag-header-highlight-after::after,
.ag-theme-alpine-dark .ag-header-highlight-before::after,
.ag-theme-alpine-dark .ag-header-highlight-after::after,
.ag-theme-alpine-auto-dark .ag-header-highlight-before::after,
.ag-theme-alpine-auto-dark .ag-header-highlight-after::after {
  background-color: var(--ag-alpine-active-color);
}

@charset "UTF-8";/*!
 * Bootstrap  v5.3.8 (https://getbootstrap.com/)
 * Copyright 2011-2025 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:0.25rem;--bs-focus-ring-opacity:0.25;--bs-focus-ring-color:rgba(13, 110, 253, 0.25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222,226,230;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb:222,226,230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52,58,64;--bs-tertiary-color:rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb:222,226,230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43,48,53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110,168,254;--bs-link-hover-color-rgb:139,185,254;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, 0.15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-family:var(--bs-body-font-family);font-size:1rem;font-size:var(--bs-body-font-size);font-weight:400;font-weight:var(--bs-body-font-weight);line-height:1.5;line-height:var(--bs-body-line-height);color:#212529;color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:#fff;background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:1px solid;border-top:var(--bs-border-width) solid;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:inherit;color:var(--bs-heading-color)}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.1875em;color:#212529;color:var(--bs-highlight-color);background-color:#fff3cd;background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(13,110,253,1);color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:#fff;color:var(--bs-body-bg);background-color:#212529;background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:rgba(33, 37, 41, 0.75);color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;line-height:inherit;font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button{cursor:pointer;filter:grayscale(1)}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-weight:300;line-height:1.2;font-size:calc(1.625rem + 4.5vw)}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-weight:300;line-height:1.2;font-size:calc(1.575rem + 3.9vw)}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-weight:300;line-height:1.2;font-size:calc(1.525rem + 3.3vw)}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-weight:300;line-height:1.2;font-size:calc(1.475rem + 2.7vw)}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-weight:300;line-height:1.2;font-size:calc(1.425rem + 2.1vw)}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-weight:300;line-height:1.2;font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;background-color:var(--bs-body-bg);border:1px solid #dee2e6;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:0.375rem;border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:rgba(33, 37, 41, 0.75);color:var(--bs-secondary-color)}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-color-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;--bs-table-color:var(--bs-emphasis-color);--bs-table-bg:var(--bs-body-bg);--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-emphasis-color);--bs-table-striped-bg:rgba(var(--bs-emphasis-color-rgb), 0.05);--bs-table-active-color:var(--bs-emphasis-color);--bs-table-active-bg:rgba(var(--bs-emphasis-color-rgb), 0.1);--bs-table-hover-color:var(--bs-emphasis-color);--bs-table-hover-bg:rgba(var(--bs-emphasis-color-rgb), 0.075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .5rem;color:var(--bs-table-color);color:var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:1px;border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(1px * 2) solid currentcolor;border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:1px 0;border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 1px;border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-active{--bs-table-color-state:var(--bs-table-active-color);--bs-table-bg-state:var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state:var(--bs-table-hover-color);--bs-table-bg-state:var(--bs-table-hover-bg)}.table-primary{--bs-table-color:#000;--bs-table-bg:#cfe2ff;--bs-table-border-color:#a6b5cc;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color:#000;--bs-table-bg:#e2e3e5;--bs-table-border-color:#b5b6b7;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color:#000;--bs-table-bg:#d1e7dd;--bs-table-border-color:#a7b9b1;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color:#000;--bs-table-bg:#cff4fc;--bs-table-border-color:#a6c3ca;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color:#000;--bs-table-bg:#fff3cd;--bs-table-border-color:#ccc2a4;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color:#000;--bs-table-bg:#f8d7da;--bs-table-border-color:#c6acae;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color:#000;--bs-table-bg:#f8f9fa;--bs-table-border-color:#c6c7c8;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color:#fff;--bs-table-bg:#212529;--bs-table-border-color:#4d5154;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + 1px);padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + 1px);padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + 1px);padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + 1px);padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:rgba(33, 37, 41, 0.75);color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;color:var(--bs-body-color);appearance:none;background-color:#fff;background-color:var(--bs-body-bg);background-clip:padding-box;border:1px solid #dee2e6;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:0.375rem;border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:#212529;color:var(--bs-body-color);background-color:#fff;background-color:var(--bs-body-bg);border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::placeholder{color:rgba(33, 37, 41, 0.75);color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:#e9ecef;background-color:var(--bs-secondary-bg);opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;margin-inline-end:.75rem;color:#212529;color:var(--bs-body-color);background-color:#f8f9fa;background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#e9ecef;background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:1px 0;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + calc(1px * 2));min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:0.25rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(1px * 2));min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:0.5rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + calc(1px * 2));min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(1px * 2));min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(1px * 2));min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + .75rem + calc(1px * 2));height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:0.375rem;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:0.375rem;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + calc(1px * 2));height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(1px * 2));height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27none%27 stroke=%27%23343a40%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27m2 5 6 6 6-6%27/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;color:var(--bs-body-color);appearance:none;background-color:#fff;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),none;background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon,none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #dee2e6;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:0.375rem;border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:#e9ecef;background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #212529;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:0.25rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:0.5rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27none%27 stroke=%27%23dee2e6%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27m2 5 6 6 6-6%27/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg:var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.25em;vertical-align:top;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid #dee2e6;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3e%3cpath fill=%27none%27 stroke=%27%23fff%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%273%27 d=%27m6 10 3 3 6-6%27/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%272%27 fill=%27%23fff%27/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3e%3cpath fill=%27none%27 stroke=%27%23fff%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%273%27 d=%27M6 10h8%27/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27rgba%280, 0, 0, 0.25%29%27/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27%2386b7fe%27/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27%23fff%27/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27rgba%28255, 255, 255, 0.25%29%27/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#e9ecef;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#e9ecef;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:rgba(33, 37, 41, 0.75);background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:rgba(33, 37, 41, 0.75);background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(1px * 2));height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(1px * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;max-width:100%;height:100%;padding:1rem .75rem;overflow:hidden;color:rgba(33,37,41,.65);color:rgba(var(--bs-body-color-rgb),.65);text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:1px solid transparent;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem;padding-left:.75rem}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:-webkit-autofill~label{transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>textarea:focus~label::after,.form-floating>textarea:not(:placeholder-shown)~label::after{position:absolute;inset:1rem 0.375rem;z-index:-1;height:1.5em;content:"";background-color:#fff;background-color:var(--bs-body-bg);border-radius:0.375rem;border-radius:var(--bs-border-radius)}.form-floating>textarea:disabled~label::after{background-color:#e9ecef;background-color:var(--bs-secondary-bg)}.form-floating>.form-control-plaintext~label{border-width:1px 0;border-width:var(--bs-border-width) 0}.form-floating>.form-control:disabled~label,.form-floating>:disabled~label{color:#6c757d}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:#f8f9fa;background-color:var(--bs-tertiary-bg);border:1px solid #dee2e6;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:0.375rem;border-radius:var(--bs-border-radius)}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:0.5rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:0.25rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(-1 * 1px);margin-left:calc(-1 * var(--bs-border-width));border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#198754;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:#198754;background-color:var(--bs-success);border-radius:0.375rem;border-radius:var(--bs-border-radius)}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#198754;border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 8 8%27%3e%3cpath fill=%27%23198754%27 d=%27M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1%27/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#198754;border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(25,135,84,.25);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:#198754;border-color:var(--bs-form-valid-border-color)}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 8 8%27%3e%3cpath fill=%27%23198754%27 d=%27M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1%27/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:#198754;border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(25,135,84,.25);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:#198754;border-color:var(--bs-form-valid-border-color)}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:#198754;background-color:var(--bs-form-valid-color)}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.25);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#198754;color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-valid,.input-group>.form-floating:not(:focus-within).is-valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-control:not(:focus):valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.was-validated .input-group>.form-select:not(:focus):valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:#dc3545;background-color:var(--bs-danger);border-radius:0.375rem;border-radius:var(--bs-border-radius)}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 12 12%27 width=%2712%27 height=%2712%27 fill=%27none%27 stroke=%27%23dc3545%27%3e%3ccircle cx=%276%27 cy=%276%27 r=%274.5%27/%3e%3cpath stroke-linejoin=%27round%27 d=%27M5.8 3.6h.4L6 6.5z%27/%3e%3ccircle cx=%276%27 cy=%278.2%27 r=%27.6%27 fill=%27%23dc3545%27 stroke=%27none%27/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(220,53,69,.25);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:#dc3545;border-color:var(--bs-form-invalid-border-color)}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 12 12%27 width=%2712%27 height=%2712%27 fill=%27none%27 stroke=%27%23dc3545%27%3e%3ccircle cx=%276%27 cy=%276%27 r=%274.5%27/%3e%3cpath stroke-linejoin=%27round%27 d=%27M5.8 3.6h.4L6 6.5z%27/%3e%3ccircle cx=%276%27 cy=%278.2%27 r=%27.6%27 fill=%27%23dc3545%27 stroke=%27none%27/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:#dc3545;border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(220,53,69,.25);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:#dc3545;border-color:var(--bs-form-invalid-border-color)}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:#dc3545;background-color:var(--bs-form-invalid-color)}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.25);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545;color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-control:not(:focus):invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.was-validated .input-group>.form-select:not(:focus):invalid{z-index:4}.btn{--bs-btn-padding-x:0.75rem;--bs-btn-padding-y:0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.15),0 1px 1px rgba(0, 0, 0, 0.075);--bs-btn-disabled-opacity:0.65;--bs-btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{box-shadow:var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49,132,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#5c636a;--bs-btn-hover-border-color:#565e64;--bs-btn-focus-shadow-rgb:130,138,145;--bs-btn-active-color:#fff;--bs-btn-active-bg:#565e64;--bs-btn-active-border-color:#51585e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60,153,110;--bs-btn-active-color:#fff;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-info{--bs-btn-color:#000;--bs-btn-bg:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#31d2f2;--bs-btn-hover-border-color:#25cff2;--bs-btn-focus-shadow-rgb:11,172,204;--bs-btn-active-color:#000;--bs-btn-active-bg:#3dd5f3;--bs-btn-active-border-color:#25cff2;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#0dcaf0;--bs-btn-disabled-border-color:#0dcaf0}.btn-warning{--bs-btn-color:#000;--bs-btn-bg:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffca2c;--bs-btn-hover-border-color:#ffc720;--bs-btn-focus-shadow-rgb:217,164,6;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffcd39;--bs-btn-active-border-color:#ffc720;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb2d3b;--bs-btn-hover-border-color:#b02a37;--bs-btn-focus-shadow-rgb:225,83,97;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b02a37;--bs-btn-active-border-color:#a52834;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc3545;--bs-btn-disabled-border-color:#dc3545}.btn-light{--bs-btn-color:#000;--bs-btn-bg:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#d3d4d5;--bs-btn-hover-border-color:#c6c7c8;--bs-btn-focus-shadow-rgb:211,212,213;--bs-btn-active-color:#000;--bs-btn-active-bg:#c6c7c8;--bs-btn-active-border-color:#babbbc;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#f8f9fa;--bs-btn-disabled-border-color:#f8f9fa}.btn-dark{--bs-btn-color:#fff;--bs-btn-bg:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#424649;--bs-btn-hover-border-color:#373b3e;--bs-btn-focus-shadow-rgb:66,70,73;--bs-btn-active-color:#fff;--bs-btn-active-bg:#4d5154;--bs-btn-active-border-color:#373b3e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#212529;--bs-btn-disabled-border-color:#212529}.btn-outline-primary{--bs-btn-color:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0d6efd;--bs-btn-hover-border-color:#0d6efd;--bs-btn-focus-shadow-rgb:13,110,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0d6efd;--bs-btn-active-border-color:#0d6efd;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0d6efd;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0d6efd;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#6c757d;--bs-btn-hover-border-color:#6c757d;--bs-btn-focus-shadow-rgb:108,117,125;--bs-btn-active-color:#fff;--bs-btn-active-bg:#6c757d;--bs-btn-active-border-color:#6c757d;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#6c757d;--bs-gradient:none}.btn-outline-success{--bs-btn-color:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#198754;--bs-btn-hover-border-color:#198754;--bs-btn-focus-shadow-rgb:25,135,84;--bs-btn-active-color:#fff;--bs-btn-active-bg:#198754;--bs-btn-active-border-color:#198754;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#198754;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#198754;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#0dcaf0;--bs-btn-hover-border-color:#0dcaf0;--bs-btn-focus-shadow-rgb:13,202,240;--bs-btn-active-color:#000;--bs-btn-active-bg:#0dcaf0;--bs-btn-active-border-color:#0dcaf0;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0dcaf0;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0dcaf0;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffc107;--bs-btn-hover-border-color:#ffc107;--bs-btn-focus-shadow-rgb:255,193,7;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffc107;--bs-btn-active-border-color:#ffc107;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffc107;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#ffc107;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#dc3545;--bs-btn-hover-border-color:#dc3545;--bs-btn-focus-shadow-rgb:220,53,69;--bs-btn-active-color:#fff;--bs-btn-active-bg:#dc3545;--bs-btn-active-border-color:#dc3545;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#dc3545;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#dc3545;--bs-gradient:none}.btn-outline-light{--bs-btn-color:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#f8f9fa;--bs-btn-hover-border-color:#f8f9fa;--bs-btn-focus-shadow-rgb:248,249,250;--bs-btn-active-color:#000;--bs-btn-active-bg:#f8f9fa;--bs-btn-active-border-color:#f8f9fa;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#f8f9fa;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#f8f9fa;--bs-gradient:none}.btn-outline-dark{--bs-btn-color:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#212529;--bs-btn-hover-border-color:#212529;--bs-btn-focus-shadow-rgb:33,37,41;--bs-btn-active-color:#fff;--bs-btn-active-bg:#212529;--bs-btn-active-border-color:#212529;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#212529;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#212529;--bs-gradient:none}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:0 0 0 #000;--bs-btn-focus-shadow-rgb:49,132,253;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-group-lg>.btn,.btn-lg{--bs-btn-padding-y:0.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:var(--bs-border-radius-lg)}.btn-group-sm>.btn,.btn-sm{--bs-btn-padding-y:0.25rem;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius:var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex:1000;--bs-dropdown-min-width:10rem;--bs-dropdown-padding-x:0;--bs-dropdown-padding-y:0.5rem;--bs-dropdown-spacer:0.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color:var(--bs-body-color);--bs-dropdown-bg:var(--bs-body-bg);--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-border-radius:var(--bs-border-radius);--bs-dropdown-border-width:var(--bs-border-width);--bs-dropdown-inner-border-radius:calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y:0.5rem;--bs-dropdown-box-shadow:var(--bs-box-shadow);--bs-dropdown-link-color:var(--bs-body-color);--bs-dropdown-link-hover-color:var(--bs-body-color);--bs-dropdown-link-hover-bg:var(--bs-tertiary-bg);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:var(--bs-tertiary-color);--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:0.25rem;--bs-dropdown-header-color:#6c757d;--bs-dropdown-header-padding-x:1rem;--bs-dropdown-header-padding-y:0.5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:0;border-radius:var(--bs-dropdown-item-border-radius,0)}.dropdown-item:focus,.dropdown-item:hover{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color:#dee2e6;--bs-dropdown-bg:#343a40;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color:#dee2e6;--bs-dropdown-link-hover-color:#fff;--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg:rgba(255, 255, 255, 0.15);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:#adb5bd;--bs-dropdown-header-color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:0.375rem;border-radius:var(--bs-border-radius)}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-left:calc(-1 * 1px);margin-left:calc(-1 * var(--bs-border-width))}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:calc(-1 * 1px);margin-top:calc(-1 * var(--bs-border-width))}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:nth-child(n+3),.btn-group-vertical>:not(.btn-check)+.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:0 0;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width:var(--bs-border-width);--bs-nav-tabs-border-color:var(--bs-border-color);--bs-nav-tabs-border-radius:var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color:var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color:var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg:var(--bs-body-bg);--bs-nav-tabs-link-active-border-color:var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius:var(--bs-border-radius);--bs-nav-pills-link-active-color:#fff;--bs-nav-pills-link-active-bg:#0d6efd}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap:1rem;--bs-nav-underline-border-width:0.125rem;--bs-nav-underline-link-active-color:var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:focus,.nav-underline .nav-link:hover{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-grow:1;flex-basis:0;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:0.5rem;--bs-navbar-color:rgba(var(--bs-emphasis-color-rgb), 0.65);--bs-navbar-hover-color:rgba(var(--bs-emphasis-color-rgb), 0.8);--bs-navbar-disabled-color:rgba(var(--bs-emphasis-color-rgb), 0.3);--bs-navbar-active-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y:0.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x:0.5rem;--bs-navbar-toggler-padding-y:0.25rem;--bs-navbar-toggler-padding-x:0.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 30 30%27%3e%3cpath stroke=%27rgba%2833, 37, 41, 0.75%29%27 stroke-linecap=%27round%27 stroke-miterlimit=%2710%27 stroke-width=%272%27 d=%27M4 7h22M4 15h22M4 23h22%27/%3e%3c/svg%3e");--bs-navbar-toggler-border-color:rgba(var(--bs-emphasis-color-rgb), 0.15);--bs-navbar-toggler-border-radius:var(--bs-border-radius);--bs-navbar-toggler-focus-width:0.25rem;--bs-navbar-toggler-transition:box-shadow 0.15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-grow:1;flex-basis:100%;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:1px solid var(--bs-navbar-toggler-border-color);border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:75vh;max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color:rgba(255, 255, 255, 0.55);--bs-navbar-hover-color:rgba(255, 255, 255, 0.75);--bs-navbar-disabled-color:rgba(255, 255, 255, 0.25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:rgba(255, 255, 255, 0.1);--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 30 30%27%3e%3cpath stroke=%27rgba%28255, 255, 255, 0.55%29%27 stroke-linecap=%27round%27 stroke-miterlimit=%2710%27 stroke-width=%272%27 d=%27M4 7h22M4 15h22M4 23h22%27/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 30 30%27%3e%3cpath stroke=%27rgba%28255, 255, 255, 0.55%29%27 stroke-linecap=%27round%27 stroke-miterlimit=%2710%27 stroke-width=%272%27 d=%27M4 7h22M4 15h22M4 23h22%27/%3e%3c/svg%3e")}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:0.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width:var(--bs-border-width);--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y:0.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:rgba(var(--bs-body-color-rgb), 0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:var(--bs-body-bg);--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:0.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:#212529;color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child)>.card-header,.card-group>.card:not(:last-child)>.card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child)>.card-footer,.card-group>.card:not(:last-child)>.card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child)>.card-header,.card-group>.card:not(:first-child)>.card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child)>.card-footer,.card-group>.card:not(:first-child)>.card-img-bottom{border-bottom-left-radius:0}}.accordion{--bs-accordion-color:var(--bs-body-color);--bs-accordion-bg:var(--bs-body-bg);--bs-accordion-transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,border-radius 0.15s ease;--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:var(--bs-border-width);--bs-accordion-border-radius:var(--bs-border-radius);--bs-accordion-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x:1.25rem;--bs-accordion-btn-padding-y:1rem;--bs-accordion-btn-color:var(--bs-body-color);--bs-accordion-btn-bg:var(--bs-accordion-bg);--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27none%27 stroke=%27%23212529%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3e%3cpath d=%27m2 5 6 6 6-6%27/%3e%3c/svg%3e");--bs-accordion-btn-icon-width:1.25rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform 0.2s ease-in-out;--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27none%27 stroke=%27%23052c65%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3e%3cpath d=%27m2 5 6 6 6-6%27/%3e%3c/svg%3e");--bs-accordion-btn-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-accordion-body-padding-x:1.25rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:var(--bs-primary-text-emphasis);--bs-accordion-active-bg:var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type>.accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush>.accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush>.accordion-item:first-child{border-top:0}.accordion-flush>.accordion-item:last-child{border-bottom:0}.accordion-flush>.accordion-item>.accordion-collapse,.accordion-flush>.accordion-item>.accordion-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}[data-bs-theme=dark] .accordion-button::after{--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%236ea8fe%27%3e%3cpath fill-rule=%27evenodd%27 d=%27M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708%27/%3e%3c/svg%3e");--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%236ea8fe%27%3e%3cpath fill-rule=%27evenodd%27 d=%27M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708%27/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color:var(--bs-secondary-color);--bs-breadcrumb-item-padding-x:0.5rem;--bs-breadcrumb-item-active-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:"/";content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x:0.75rem;--bs-pagination-padding-y:0.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color:var(--bs-link-color);--bs-pagination-bg:var(--bs-body-bg);--bs-pagination-border-width:var(--bs-border-width);--bs-pagination-border-color:var(--bs-border-color);--bs-pagination-border-radius:var(--bs-border-radius);--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:var(--bs-tertiary-bg);--bs-pagination-hover-border-color:var(--bs-border-color);--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:var(--bs-secondary-bg);--bs-pagination-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#0d6efd;--bs-pagination-active-border-color:#0d6efd;--bs-pagination-disabled-color:var(--bs-secondary-color);--bs-pagination-disabled-bg:var(--bs-secondary-bg);--bs-pagination-disabled-border-color:var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.active>.page-link,.page-link.active{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.disabled>.page-link,.page-link.disabled{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(-1 * 1px);margin-left:calc(-1 * var(--bs-border-width))}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x:1.5rem;--bs-pagination-padding-y:0.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius:var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x:0.5rem;--bs-pagination-padding-y:0.25rem;--bs-pagination-font-size:0.875rem;--bs-pagination-border-radius:var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x:0.65em;--bs-badge-padding-y:0.35em;--bs-badge-font-size:0.75em;--bs-badge-font-weight:700;--bs-badge-color:#fff;--bs-badge-border-radius:var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--bs-alert-link-color:inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color:var(--bs-primary-text-emphasis);--bs-alert-bg:var(--bs-primary-bg-subtle);--bs-alert-border-color:var(--bs-primary-border-subtle);--bs-alert-link-color:var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color:var(--bs-secondary-text-emphasis);--bs-alert-bg:var(--bs-secondary-bg-subtle);--bs-alert-border-color:var(--bs-secondary-border-subtle);--bs-alert-link-color:var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color:var(--bs-success-text-emphasis);--bs-alert-bg:var(--bs-success-bg-subtle);--bs-alert-border-color:var(--bs-success-border-subtle);--bs-alert-link-color:var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color:var(--bs-info-text-emphasis);--bs-alert-bg:var(--bs-info-bg-subtle);--bs-alert-border-color:var(--bs-info-border-subtle);--bs-alert-link-color:var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color:var(--bs-warning-text-emphasis);--bs-alert-bg:var(--bs-warning-bg-subtle);--bs-alert-border-color:var(--bs-warning-border-subtle);--bs-alert-link-color:var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color:var(--bs-danger-text-emphasis);--bs-alert-bg:var(--bs-danger-bg-subtle);--bs-alert-border-color:var(--bs-danger-border-subtle);--bs-alert-link-color:var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color:var(--bs-light-text-emphasis);--bs-alert-bg:var(--bs-light-bg-subtle);--bs-alert-border-color:var(--bs-light-border-subtle);--bs-alert-link-color:var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color:var(--bs-dark-text-emphasis);--bs-alert-bg:var(--bs-dark-bg-subtle);--bs-alert-border-color:var(--bs-dark-border-subtle);--bs-alert-link-color:var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:var(--bs-progress-height)}}.progress,.progress-stacked{--bs-progress-height:1rem;--bs-progress-font-size:0.75rem;--bs-progress-bg:var(--bs-secondary-bg);--bs-progress-border-radius:var(--bs-border-radius);--bs-progress-box-shadow:var(--bs-box-shadow-inset);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#0d6efd;--bs-progress-bar-transition:width 0.6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color:var(--bs-body-color);--bs-list-group-bg:var(--bs-body-bg);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-border-width:var(--bs-border-width);--bs-list-group-border-radius:var(--bs-border-radius);--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:0.5rem;--bs-list-group-action-color:var(--bs-secondary-color);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-tertiary-bg);--bs-list-group-action-active-color:var(--bs-body-color);--bs-list-group-action-active-bg:var(--bs-secondary-bg);--bs-list-group-disabled-color:var(--bs-secondary-color);--bs-list-group-disabled-bg:var(--bs-body-bg);--bs-list-group-active-color:#fff;--bs-list-group-active-bg:#0d6efd;--bs-list-group-active-border-color:#0d6efd;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:not(.active):focus,.list-group-item-action:not(.active):hover{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:not(.active):active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color:var(--bs-primary-text-emphasis);--bs-list-group-bg:var(--bs-primary-bg-subtle);--bs-list-group-border-color:var(--bs-primary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-primary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-primary-border-subtle);--bs-list-group-active-color:var(--bs-primary-bg-subtle);--bs-list-group-active-bg:var(--bs-primary-text-emphasis);--bs-list-group-active-border-color:var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color:var(--bs-secondary-text-emphasis);--bs-list-group-bg:var(--bs-secondary-bg-subtle);--bs-list-group-border-color:var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-secondary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-secondary-border-subtle);--bs-list-group-active-color:var(--bs-secondary-bg-subtle);--bs-list-group-active-bg:var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color:var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color:var(--bs-success-text-emphasis);--bs-list-group-bg:var(--bs-success-bg-subtle);--bs-list-group-border-color:var(--bs-success-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-success-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-success-border-subtle);--bs-list-group-active-color:var(--bs-success-bg-subtle);--bs-list-group-active-bg:var(--bs-success-text-emphasis);--bs-list-group-active-border-color:var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color:var(--bs-info-text-emphasis);--bs-list-group-bg:var(--bs-info-bg-subtle);--bs-list-group-border-color:var(--bs-info-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-info-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-info-border-subtle);--bs-list-group-active-color:var(--bs-info-bg-subtle);--bs-list-group-active-bg:var(--bs-info-text-emphasis);--bs-list-group-active-border-color:var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color:var(--bs-warning-text-emphasis);--bs-list-group-bg:var(--bs-warning-bg-subtle);--bs-list-group-border-color:var(--bs-warning-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-warning-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-warning-border-subtle);--bs-list-group-active-color:var(--bs-warning-bg-subtle);--bs-list-group-active-bg:var(--bs-warning-text-emphasis);--bs-list-group-active-border-color:var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color:var(--bs-danger-text-emphasis);--bs-list-group-bg:var(--bs-danger-bg-subtle);--bs-list-group-border-color:var(--bs-danger-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-danger-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-danger-border-subtle);--bs-list-group-active-color:var(--bs-danger-bg-subtle);--bs-list-group-active-bg:var(--bs-danger-text-emphasis);--bs-list-group-active-border-color:var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color:var(--bs-light-text-emphasis);--bs-list-group-bg:var(--bs-light-bg-subtle);--bs-list-group-border-color:var(--bs-light-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-light-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-light-border-subtle);--bs-list-group-active-color:var(--bs-light-bg-subtle);--bs-list-group-active-bg:var(--bs-light-text-emphasis);--bs-list-group-active-border-color:var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color:var(--bs-dark-text-emphasis);--bs-list-group-bg:var(--bs-dark-bg-subtle);--bs-list-group-border-color:var(--bs-dark-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-dark-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-dark-border-subtle);--bs-list-group-active-color:var(--bs-dark-bg-subtle);--bs-list-group-active-bg:var(--bs-dark-text-emphasis);--bs-list-group-active-border-color:var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color:#000;--bs-btn-close-bg:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23000%27%3e%3cpath d=%27M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414%27/%3e%3c/svg%3e");--bs-btn-close-opacity:0.5;--bs-btn-close-hover-opacity:0.75;--bs-btn-close-focus-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:0.25;box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;filter: ;filter:var(--bs-btn-close-filter);border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white{--bs-btn-close-filter:invert(1) grayscale(100%) brightness(200%)}:root,[data-bs-theme=light]{--bs-btn-close-filter: }[data-bs-theme=dark]{--bs-btn-close-filter:invert(1) grayscale(100%) brightness(200%)}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:0.75rem;--bs-toast-padding-y:0.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:0.875rem;--bs-toast-color: ;--bs-toast-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-border-width:var(--bs-border-width);--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:var(--bs-border-radius);--bs-toast-box-shadow:var(--bs-box-shadow);--bs-toast-header-color:var(--bs-secondary-color);--bs-toast-header-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-header-border-color:var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex:1090;position:absolute;z-index:var(--bs-toast-zindex);width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:0.5rem;--bs-modal-color:var(--bs-body-color);--bs-modal-bg:var(--bs-body-bg);--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:var(--bs-border-width);--bs-modal-border-radius:var(--bs-border-radius-lg);--bs-modal-box-shadow:var(--bs-box-shadow-sm);--bs-modal-inner-border-radius:calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:var(--bs-border-width);--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:0.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:var(--bs-border-color);--bs-modal-footer-border-width:var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transform:translate(0,-50px);transition:transform .3s ease-out}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:#000;--bs-backdrop-opacity:0.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin-top:calc(-.5 * var(--bs-modal-header-padding-y));margin-right:calc(-.5 * var(--bs-modal-header-padding-x));margin-bottom:calc(-.5 * var(--bs-modal-header-padding-y));margin-left:auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width:576px){.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:var(--bs-box-shadow)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{--bs-modal-width:800px}}@media (min-width:1200px){.modal-xl{--bs-modal-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-footer,.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-footer,.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-footer,.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-footer,.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-footer,.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-footer,.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:0.5rem;--bs-tooltip-padding-y:0.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:0.875rem;--bs-tooltip-color:var(--bs-body-bg);--bs-tooltip-bg:var(--bs-emphasis-color);--bs-tooltip-border-radius:var(--bs-border-radius);--bs-tooltip-opacity:0.9;--bs-tooltip-arrow-width:0.8rem;--bs-tooltip-arrow-height:0.4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex:1070;--bs-popover-max-width:276px;--bs-popover-font-size:0.875rem;--bs-popover-bg:var(--bs-body-bg);--bs-popover-border-width:var(--bs-border-width);--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:var(--bs-border-radius-lg);--bs-popover-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow:var(--bs-box-shadow);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:0.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color:inherit;--bs-popover-header-bg:var(--bs-secondary-bg);--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:1rem;--bs-popover-body-color:var(--bs-body-color);--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:0.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-top>.popover-arrow::before{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-end>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::before{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-start>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;filter: ;filter:var(--bs-carousel-control-icon-filter);border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23fff%27%3e%3cpath d=%27M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0%27/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23fff%27%3e%3cpath d=%27M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708%27/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-color:var(--bs-carousel-indicator-active-bg);background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;color:var(--bs-carousel-caption-color);text-align:center}.carousel-dark{--bs-carousel-indicator-active-bg:#000;--bs-carousel-caption-color:#000;--bs-carousel-control-icon-filter:invert(1) grayscale(100)}:root,[data-bs-theme=light]{--bs-carousel-indicator-active-bg:#fff;--bs-carousel-caption-color:#fff;--bs-carousel-control-icon-filter: }[data-bs-theme=dark]{--bs-carousel-indicator-active-bg:#000;--bs-carousel-caption-color:#000;--bs-carousel-control-icon-filter:invert(1) grayscale(100)}.spinner-border,.spinner-grow{display:inline-block;flex-shrink:0;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-border-width:0.25em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:0.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}.offcanvas,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-color:var(--bs-body-color);--bs-offcanvas-bg:var(--bs-body-bg);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:var(--bs-box-shadow-sm);--bs-offcanvas-transition:transform 0.3s ease-in-out;--bs-offcanvas-title-line-height:1.5}@media (max-width:575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:575.98px) and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media (min-width:576px){.offcanvas-sm{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:767.98px) and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media (max-width:767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media (min-width:768px){.offcanvas-md{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:991.98px) and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media (min-width:992px){.offcanvas-lg{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1199.98px) and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media (min-width:1200px){.offcanvas-xl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1399.98px) and (prefers-reduced-motion:reduce){.offcanvas-xxl{transition:none}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{transform:none}.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media (min-width:1400px){.offcanvas-xxl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-top:calc(-.5 * var(--bs-offcanvas-padding-y));margin-right:calc(-.5 * var(--bs-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--bs-offcanvas-padding-y));margin-left:auto}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(13,110,253,1)!important;background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(108,117,125,1)!important;background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(25,135,84,1)!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity,1))!important}.text-bg-info{color:#000!important;background-color:RGBA(13,202,240,1)!important;background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity,1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(255,193,7,1)!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity,1))!important}.text-bg-danger{color:#fff!important;background-color:RGBA(220,53,69,1)!important;background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity,1))!important}.text-bg-light{color:#000!important;background-color:RGBA(248,249,250,1)!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity,1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(33,37,41,1)!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity,1))!important}.link-primary{color:RGBA(13,110,253,1)!important;color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(13,110,253,1)!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important}.link-primary:focus,.link-primary:hover{color:RGBA(10,88,202,1)!important;color:RGBA(10,88,202,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(10,88,202,1)!important;text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important}.link-secondary{color:RGBA(108,117,125,1)!important;color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(108,117,125,1)!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important}.link-secondary:focus,.link-secondary:hover{color:RGBA(86,94,100,1)!important;color:RGBA(86,94,100,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(86,94,100,1)!important;text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important}.link-success{color:RGBA(25,135,84,1)!important;color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(25,135,84,1)!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important}.link-success:focus,.link-success:hover{color:RGBA(20,108,67,1)!important;color:RGBA(20,108,67,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(20,108,67,1)!important;text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important}.link-info{color:RGBA(13,202,240,1)!important;color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(13,202,240,1)!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important}.link-info:focus,.link-info:hover{color:RGBA(61,213,243,1)!important;color:RGBA(61,213,243,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(61,213,243,1)!important;text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important}.link-warning{color:RGBA(255,193,7,1)!important;color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(255,193,7,1)!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important}.link-warning:focus,.link-warning:hover{color:RGBA(255,205,57,1)!important;color:RGBA(255,205,57,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(255,205,57,1)!important;text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important}.link-danger{color:RGBA(220,53,69,1)!important;color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(220,53,69,1)!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important}.link-danger:focus,.link-danger:hover{color:RGBA(176,42,55,1)!important;color:RGBA(176,42,55,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(176,42,55,1)!important;text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important}.link-light{color:RGBA(248,249,250,1)!important;color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(248,249,250,1)!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important}.link-light:focus,.link-light:hover{color:RGBA(249,250,251,1)!important;color:RGBA(249,250,251,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(249,250,251,1)!important;text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important}.link-dark{color:RGBA(33,37,41,1)!important;color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(33,37,41,1)!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important}.link-dark:focus,.link-dark:hover{color:RGBA(26,30,33,1)!important;color:RGBA(26,30,33,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(26,30,33,1)!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important}.link-body-emphasis{color:RGBA(0,0,0,1)!important;color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(0,0,0,1)!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-body-emphasis:focus,.link-body-emphasis:hover{color:RGBA(0,0,0,.75)!important;color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,.75))!important;text-decoration-color:RGBA(0,0,0,0.75)!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,0.75))!important}.focus-ring:focus{outline:0;box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);box-shadow:var(--bs-focus-ring-x,0) var(--bs-focus-ring-y,0) var(--bs-focus-ring-blur,0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;text-decoration-color:rgba(13,110,253,0.5);text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-underline-offset:0.25em;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:focus-visible>.bi,.icon-link-hover:hover>.bi{transform:translate3d(.25em,0,0);transform:var(--bs-icon-link-transform,translate3d(.25em,0,0))}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}.sticky-bottom{position:sticky;bottom:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),.visually-hidden:not(caption){position:absolute!important}.visually-hidden *,.visually-hidden-focusable:not(:focus):not(:focus-within) *{overflow:hidden!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:1px;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{object-fit:contain!important}.object-fit-cover{object-fit:cover!important}.object-fit-fill{object-fit:fill!important}.object-fit-scale{object-fit:scale-down!important}.object-fit-none{object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15)!important;box-shadow:var(--bs-box-shadow)!important}.shadow-sm{box-shadow:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075)!important;box-shadow:var(--bs-box-shadow-sm)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0, 0, 0, 0.175)!important;box-shadow:var(--bs-box-shadow-lg)!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color:rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color:rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color:rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color:rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color:rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color:rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color:rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color:rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:1px solid #dee2e6!important;border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:1px solid #dee2e6!important;border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:1px solid #dee2e6!important;border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:1px solid #dee2e6!important;border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:1px solid #dee2e6!important;border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity:1;border-color:rgba(13,110,253,var(--bs-border-opacity))!important;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity:1;border-color:rgba(108,117,125,var(--bs-border-opacity))!important;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity:1;border-color:rgba(25,135,84,var(--bs-border-opacity))!important;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity:1;border-color:rgba(13,202,240,var(--bs-border-opacity))!important;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity:1;border-color:rgba(255,193,7,var(--bs-border-opacity))!important;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity:1;border-color:rgba(220,53,69,var(--bs-border-opacity))!important;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity:1;border-color:rgba(248,249,250,var(--bs-border-opacity))!important;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity:1;border-color:rgba(33,37,41,var(--bs-border-opacity))!important;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity:1;border-color:rgba(0,0,0,var(--bs-border-opacity))!important;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity:1;border-color:rgba(255,255,255,var(--bs-border-opacity))!important;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:#9ec5fe!important;border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:#c4c8cb!important;border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:#a3cfbb!important;border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:#9eeaf9!important;border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:#ffe69c!important;border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:#f1aeb5!important;border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:#e9ecef!important;border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:#adb5bd!important;border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity:0.1}.border-opacity-25{--bs-border-opacity:0.25}.border-opacity-50{--bs-border-opacity:0.5}.border-opacity-75{--bs-border-opacity:0.75}.border-opacity-100{--bs-border-opacity:1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{column-gap:0!important}.column-gap-1{column-gap:.25rem!important}.column-gap-2{column-gap:.5rem!important}.column-gap-3{column-gap:1rem!important}.column-gap-4{column-gap:1.5rem!important}.column-gap-5{column-gap:3rem!important}.font-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important;font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(13,110,253,var(--bs-text-opacity))!important;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(108,117,125,var(--bs-text-opacity))!important;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(25,135,84,var(--bs-text-opacity))!important;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(13,202,240,var(--bs-text-opacity))!important;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(255,193,7,var(--bs-text-opacity))!important;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(220,53,69,var(--bs-text-opacity))!important;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(248,249,250,var(--bs-text-opacity))!important;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(33,37,41,var(--bs-text-opacity))!important;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(0,0,0,var(--bs-text-opacity))!important;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(255,255,255,var(--bs-text-opacity))!important;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(33,37,41,var(--bs-text-opacity))!important;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:rgba(33, 37, 41, 0.75)!important;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.5)!important}.text-body-secondary{--bs-text-opacity:1;color:rgba(33, 37, 41, 0.75)!important;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity:1;color:rgba(33, 37, 41, 0.5)!important;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity:1;color:#000!important;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.text-primary-emphasis{color:#052c65!important;color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:#2b2f32!important;color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:#0a3622!important;color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:#055160!important;color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:#664d03!important;color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:#58151c!important;color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:#495057!important;color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:#495057!important;color:var(--bs-dark-text-emphasis)!important}.link-opacity-10{--bs-link-opacity:0.1}.link-opacity-10-hover:hover{--bs-link-opacity:0.1}.link-opacity-25{--bs-link-opacity:0.25}.link-opacity-25-hover:hover{--bs-link-opacity:0.25}.link-opacity-50{--bs-link-opacity:0.5}.link-opacity-50-hover:hover{--bs-link-opacity:0.5}.link-opacity-75{--bs-link-opacity:0.75}.link-opacity-75-hover:hover{--bs-link-opacity:0.75}.link-opacity-100{--bs-link-opacity:1}.link-opacity-100-hover:hover{--bs-link-opacity:1}.link-offset-1{text-underline-offset:0.125em!important}.link-offset-1-hover:hover{text-underline-offset:0.125em!important}.link-offset-2{text-underline-offset:0.25em!important}.link-offset-2-hover:hover{text-underline-offset:0.25em!important}.link-offset-3{text-underline-offset:0.375em!important}.link-offset-3-hover:hover{text-underline-offset:0.375em!important}.link-underline-primary{--bs-link-underline-opacity:1;text-decoration-color:rgba(13,110,253,var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity:1;text-decoration-color:rgba(108,117,125,var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity:1;text-decoration-color:rgba(25,135,84,var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity:1;text-decoration-color:rgba(13,202,240,var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity:1;text-decoration-color:rgba(255,193,7,var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity:1;text-decoration-color:rgba(220,53,69,var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity:1;text-decoration-color:rgba(248,249,250,var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity:1;text-decoration-color:rgba(33,37,41,var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity:1;text-decoration-color:rgba(13,110,253,1)!important;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-underline-opacity-0{--bs-link-underline-opacity:0}.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity:0}.link-underline-opacity-10{--bs-link-underline-opacity:0.1}.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity:0.1}.link-underline-opacity-25{--bs-link-underline-opacity:0.25}.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity:0.25}.link-underline-opacity-50{--bs-link-underline-opacity:0.5}.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity:0.5}.link-underline-opacity-75{--bs-link-underline-opacity:0.75}.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity:0.75}.link-underline-opacity-100{--bs-link-underline-opacity:1}.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(13,110,253,var(--bs-bg-opacity))!important;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(108,117,125,var(--bs-bg-opacity))!important;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(25,135,84,var(--bs-bg-opacity))!important;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(13,202,240,var(--bs-bg-opacity))!important;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(255,193,7,var(--bs-bg-opacity))!important;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(220,53,69,var(--bs-bg-opacity))!important;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(248,249,250,var(--bs-bg-opacity))!important;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(33,37,41,var(--bs-bg-opacity))!important;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(0,0,0,var(--bs-bg-opacity))!important;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(255,255,255,var(--bs-bg-opacity))!important;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(255,255,255,var(--bs-bg-opacity))!important;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity:1;background-color:rgba(233,236,239,var(--bs-bg-opacity))!important;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity:1;background-color:rgba(248,249,250,var(--bs-bg-opacity))!important;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-primary-subtle{background-color:#cfe2ff!important;background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:#e2e3e5!important;background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:#d1e7dd!important;background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:#cff4fc!important;background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:#fff3cd!important;background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:#f8d7da!important;background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:#fcfcfd!important;background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:#ced4da!important;background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0))!important;background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:0.375rem!important;border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:0.25rem!important;border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:0.375rem!important;border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:0.5rem!important;border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:1rem!important;border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:2rem!important;border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important;border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:0.375rem!important;border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:0.375rem!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:0.25rem!important;border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:0.25rem!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:0.375rem!important;border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:0.375rem!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:0.5rem!important;border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:0.5rem!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:1rem!important;border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:1rem!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:2rem!important;border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:2rem!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:50rem!important;border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:50rem!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:0.375rem!important;border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:0.375rem!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:0.25rem!important;border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:0.25rem!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:0.375rem!important;border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:0.375rem!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:0.5rem!important;border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:0.5rem!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:1rem!important;border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:1rem!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:2rem!important;border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:2rem!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:50rem!important;border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:50rem!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:0.375rem!important;border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:0.375rem!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:0.25rem!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:0.25rem!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:0.375rem!important;border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:0.375rem!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:0.5rem!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:0.5rem!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:1rem!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:1rem!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:2rem!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:2rem!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:50rem!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:50rem!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:0.375rem!important;border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:0.375rem!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:0.25rem!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:0.25rem!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:0.375rem!important;border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:0.375rem!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:0.5rem!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:0.5rem!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:1rem!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:1rem!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:2rem!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:2rem!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:50rem!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:50rem!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{object-fit:contain!important}.object-fit-sm-cover{object-fit:cover!important}.object-fit-sm-fill{object-fit:fill!important}.object-fit-sm-scale{object-fit:scale-down!important}.object-fit-sm-none{object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{column-gap:0!important}.column-gap-sm-1{column-gap:.25rem!important}.column-gap-sm-2{column-gap:.5rem!important}.column-gap-sm-3{column-gap:1rem!important}.column-gap-sm-4{column-gap:1.5rem!important}.column-gap-sm-5{column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{object-fit:contain!important}.object-fit-md-cover{object-fit:cover!important}.object-fit-md-fill{object-fit:fill!important}.object-fit-md-scale{object-fit:scale-down!important}.object-fit-md-none{object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{column-gap:0!important}.column-gap-md-1{column-gap:.25rem!important}.column-gap-md-2{column-gap:.5rem!important}.column-gap-md-3{column-gap:1rem!important}.column-gap-md-4{column-gap:1.5rem!important}.column-gap-md-5{column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{object-fit:contain!important}.object-fit-lg-cover{object-fit:cover!important}.object-fit-lg-fill{object-fit:fill!important}.object-fit-lg-scale{object-fit:scale-down!important}.object-fit-lg-none{object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{column-gap:0!important}.column-gap-lg-1{column-gap:.25rem!important}.column-gap-lg-2{column-gap:.5rem!important}.column-gap-lg-3{column-gap:1rem!important}.column-gap-lg-4{column-gap:1.5rem!important}.column-gap-lg-5{column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{object-fit:contain!important}.object-fit-xl-cover{object-fit:cover!important}.object-fit-xl-fill{object-fit:fill!important}.object-fit-xl-scale{object-fit:scale-down!important}.object-fit-xl-none{object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{column-gap:0!important}.column-gap-xl-1{column-gap:.25rem!important}.column-gap-xl-2{column-gap:.5rem!important}.column-gap-xl-3{column-gap:1rem!important}.column-gap-xl-4{column-gap:1.5rem!important}.column-gap-xl-5{column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{object-fit:contain!important}.object-fit-xxl-cover{object-fit:cover!important}.object-fit-xxl-fill{object-fit:fill!important}.object-fit-xxl-scale{object-fit:scale-down!important}.object-fit-xxl-none{object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{column-gap:0!important}.column-gap-xxl-1{column-gap:.25rem!important}.column-gap-xxl-2{column-gap:.5rem!important}.column-gap-xxl-3{column-gap:1rem!important}.column-gap-xxl-4{column-gap:1.5rem!important}.column-gap-xxl-5{column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}
:root {
  --toastify-color-light: #fff;
  --toastify-color-dark: #121212;
  --toastify-color-info: #3498db;
  --toastify-color-success: #07bc0c;
  --toastify-color-warning: #f1c40f;
  --toastify-color-error: #e74c3c;
  --toastify-color-transparent: rgba(255, 255, 255, 0.7);
  --toastify-icon-color-info: var(--toastify-color-info);
  --toastify-icon-color-success: var(--toastify-color-success);
  --toastify-icon-color-warning: var(--toastify-color-warning);
  --toastify-icon-color-error: var(--toastify-color-error);
  --toastify-toast-width: 320px;
  --toastify-toast-offset: 16px;
  --toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));
  --toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));
  --toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));
  --toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));
  --toastify-toast-background: #fff;
  --toastify-toast-min-height: 64px;
  --toastify-toast-max-height: 800px;
  --toastify-toast-bd-radius: 6px;
  --toastify-font-family: sans-serif;
  --toastify-z-index: 9999;
  --toastify-text-color-light: #757575;
  --toastify-text-color-dark: #fff;
  --toastify-text-color-info: #fff;
  --toastify-text-color-success: #fff;
  --toastify-text-color-warning: #fff;
  --toastify-text-color-error: #fff;
  --toastify-spinner-color: #616161;
  --toastify-spinner-color-empty-area: #e0e0e0;
  --toastify-color-progress-light: linear-gradient(
    to right,
    #4cd964,
    #5ac8fa,
    #007aff,
    #34aadc,
    #5856d6,
    #ff2d55
  );
  --toastify-color-progress-dark: #bb86fc;
  --toastify-color-progress-info: var(--toastify-color-info);
  --toastify-color-progress-success: var(--toastify-color-success);
  --toastify-color-progress-warning: var(--toastify-color-warning);
  --toastify-color-progress-error: var(--toastify-color-error);
  --toastify-color-progress-bgo: 0.2;
}

.Toastify__toast-container {
  z-index: 9999;
  z-index: var(--toastify-z-index);
  -webkit-transform: translate3d(0, 0, 9999);
  -webkit-transform: translate3d(0, 0, var(--toastify-z-index));
  position: fixed;
  padding: 4px;
  width: 320px;
  width: var(--toastify-toast-width);
  box-sizing: border-box;
  color: #fff;
}
.Toastify__toast-container--top-left {
  top: max(16px, env(safe-area-inset-top));
  top: var(--toastify-toast-top);
  left: max(16px, env(safe-area-inset-left));
  left: var(--toastify-toast-left);
}
.Toastify__toast-container--top-center {
  top: max(16px, env(safe-area-inset-top));
  top: var(--toastify-toast-top);
  left: 50%;
  transform: translateX(-50%);
}
.Toastify__toast-container--top-right {
  top: max(16px, env(safe-area-inset-top));
  top: var(--toastify-toast-top);
  right: max(16px, env(safe-area-inset-right));
  right: var(--toastify-toast-right);
}
.Toastify__toast-container--bottom-left {
  bottom: max(16px, env(safe-area-inset-bottom));
  bottom: var(--toastify-toast-bottom);
  left: max(16px, env(safe-area-inset-left));
  left: var(--toastify-toast-left);
}
.Toastify__toast-container--bottom-center {
  bottom: max(16px, env(safe-area-inset-bottom));
  bottom: var(--toastify-toast-bottom);
  left: 50%;
  transform: translateX(-50%);
}
.Toastify__toast-container--bottom-right {
  bottom: max(16px, env(safe-area-inset-bottom));
  bottom: var(--toastify-toast-bottom);
  right: max(16px, env(safe-area-inset-right));
  right: var(--toastify-toast-right);
}

@media only screen and (max-width : 480px) {
  .Toastify__toast-container {
    width: 100vw;
    padding: 0;
    left: env(safe-area-inset-left);
    margin: 0;
  }
  .Toastify__toast-container--top-left, .Toastify__toast-container--top-center, .Toastify__toast-container--top-right {
    top: env(safe-area-inset-top);
    transform: translateX(0);
  }
  .Toastify__toast-container--bottom-left, .Toastify__toast-container--bottom-center, .Toastify__toast-container--bottom-right {
    bottom: env(safe-area-inset-bottom);
    transform: translateX(0);
  }
  .Toastify__toast-container--rtl {
    right: env(safe-area-inset-right);
    left: auto;
    left: initial;
  }
}
.Toastify__toast {
  --y: 0;
  position: relative;
  touch-action: none;
  min-height: 64px;
  min-height: var(--toastify-toast-min-height);
  box-sizing: border-box;
  margin-bottom: 1rem;
  padding: 8px;
  border-radius: 6px;
  border-radius: var(--toastify-toast-bd-radius);
  box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1);
  display: flex;
  justify-content: space-between;
  max-height: 800px;
  max-height: var(--toastify-toast-max-height);
  font-family: sans-serif;
  font-family: var(--toastify-font-family);
  cursor: default;
  direction: ltr;
  /* webkit only issue #791 */
  z-index: 0;
  overflow: hidden;
}
.Toastify__toast--stacked {
  position: absolute;
  width: 100%;
  transform: translate3d(0, var(--y), 0) scale(var(--s));
  transition: transform 0.3s;
}
.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body, .Toastify__toast--stacked[data-collapsed] .Toastify__close-button {
  transition: opacity 0.1s;
}
.Toastify__toast--stacked[data-collapsed=false] {
  overflow: visible;
}
.Toastify__toast--stacked[data-collapsed=true]:not(:last-child) > * {
  opacity: 0;
}
.Toastify__toast--stacked:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: calc(var(--g) * 1px);
  bottom: 100%;
}
.Toastify__toast--stacked[data-pos=top] {
  top: 0;
}
.Toastify__toast--stacked[data-pos=bot] {
  bottom: 0;
}
.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before {
  transform-origin: top;
}
.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before {
  transform-origin: bottom;
}
.Toastify__toast--stacked:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 100%;
  transform: scaleY(3);
  z-index: -1;
}
.Toastify__toast--rtl {
  direction: rtl;
}
.Toastify__toast--close-on-click {
  cursor: pointer;
}
.Toastify__toast-body {
  margin: auto 0;
  flex: 1 1 auto;
  padding: 6px;
  display: flex;
  align-items: center;
}
.Toastify__toast-body > div:last-child {
  word-break: break-word;
  flex: 1 1;
}
.Toastify__toast-icon {
  margin-inline-end: 10px;
  width: 20px;
  flex-shrink: 0;
  display: flex;
}

.Toastify--animate {
  animation-fill-mode: both;
  animation-duration: 0.5s;
}

.Toastify--animate-icon {
  animation-fill-mode: both;
  animation-duration: 0.3s;
}

@media only screen and (max-width : 480px) {
  .Toastify__toast {
    margin-bottom: 0;
    border-radius: 0;
  }
}
.Toastify__toast-theme--dark {
  background: #121212;
  background: var(--toastify-color-dark);
  color: #fff;
  color: var(--toastify-text-color-dark);
}
.Toastify__toast-theme--light {
  background: #fff;
  background: var(--toastify-color-light);
  color: #757575;
  color: var(--toastify-text-color-light);
}
.Toastify__toast-theme--colored.Toastify__toast--default {
  background: #fff;
  background: var(--toastify-color-light);
  color: #757575;
  color: var(--toastify-text-color-light);
}
.Toastify__toast-theme--colored.Toastify__toast--info {
  color: #fff;
  color: var(--toastify-text-color-info);
  background: #3498db;
  background: var(--toastify-color-info);
}
.Toastify__toast-theme--colored.Toastify__toast--success {
  color: #fff;
  color: var(--toastify-text-color-success);
  background: #07bc0c;
  background: var(--toastify-color-success);
}
.Toastify__toast-theme--colored.Toastify__toast--warning {
  color: #fff;
  color: var(--toastify-text-color-warning);
  background: #f1c40f;
  background: var(--toastify-color-warning);
}
.Toastify__toast-theme--colored.Toastify__toast--error {
  color: #fff;
  color: var(--toastify-text-color-error);
  background: #e74c3c;
  background: var(--toastify-color-error);
}

.Toastify__progress-bar-theme--light {
  background: linear-gradient(
    to right,
    #4cd964,
    #5ac8fa,
    #007aff,
    #34aadc,
    #5856d6,
    #ff2d55
  );
  background: var(--toastify-color-progress-light);
}
.Toastify__progress-bar-theme--dark {
  background: #bb86fc;
  background: var(--toastify-color-progress-dark);
}
.Toastify__progress-bar--info {
  background: #3498db;
  background: var(--toastify-color-progress-info);
}
.Toastify__progress-bar--success {
  background: #07bc0c;
  background: var(--toastify-color-progress-success);
}
.Toastify__progress-bar--warning {
  background: #f1c40f;
  background: var(--toastify-color-progress-warning);
}
.Toastify__progress-bar--error {
  background: #e74c3c;
  background: var(--toastify-color-progress-error);
}
.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info, .Toastify__progress-bar-theme--colored.Toastify__progress-bar--success, .Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning, .Toastify__progress-bar-theme--colored.Toastify__progress-bar--error {
  background: rgba(255, 255, 255, 0.7);
  background: var(--toastify-color-transparent);
}

.Toastify__close-button {
  color: #fff;
  background: transparent;
  outline: none;
  border: none;
  padding: 0;
  cursor: pointer;
  opacity: 0.7;
  transition: 0.3s ease;
  align-self: flex-start;
  z-index: 1;
}
.Toastify__close-button--light {
  color: #000;
  opacity: 0.3;
}
.Toastify__close-button > svg {
  fill: currentColor;
  height: 16px;
  width: 14px;
}
.Toastify__close-button:hover, .Toastify__close-button:focus {
  opacity: 1;
}

@keyframes Toastify__trackProgress {
  0% {
    transform: scaleX(1);
  }
  100% {
    transform: scaleX(0);
  }
}
.Toastify__progress-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  z-index: var(--toastify-z-index);
  opacity: 0.7;
  transform-origin: left;
  border-bottom-left-radius: 6px;
  border-bottom-left-radius: var(--toastify-toast-bd-radius);
}
.Toastify__progress-bar--animated {
  animation: Toastify__trackProgress linear 1 forwards;
}
.Toastify__progress-bar--controlled {
  transition: transform 0.2s;
}
.Toastify__progress-bar--rtl {
  right: 0;
  left: auto;
  left: initial;
  transform-origin: right;
  border-bottom-left-radius: 0;
  border-bottom-left-radius: initial;
  border-bottom-right-radius: 6px;
  border-bottom-right-radius: var(--toastify-toast-bd-radius);
}
.Toastify__progress-bar--wrp {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 5px;
  border-bottom-left-radius: 6px;
  border-bottom-left-radius: var(--toastify-toast-bd-radius);
}
.Toastify__progress-bar--wrp[data-hidden=true] {
  opacity: 0;
}
.Toastify__progress-bar--bg {
  opacity: 0.2;
  opacity: var(--toastify-color-progress-bgo);
  width: 100%;
  height: 100%;
}

.Toastify__spinner {
  width: 20px;
  height: 20px;
  box-sizing: border-box;
  border: 2px solid;
  border-radius: 100%;
  border-color: #e0e0e0;
  border-color: var(--toastify-spinner-color-empty-area);
  border-right-color: #616161;
  border-right-color: var(--toastify-spinner-color);
  animation: Toastify__spin 0.65s linear infinite;
}

@keyframes Toastify__bounceInRight {
  from, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    transform: translate3d(3000px, 0, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(-25px, 0, 0);
  }
  75% {
    transform: translate3d(10px, 0, 0);
  }
  90% {
    transform: translate3d(-5px, 0, 0);
  }
  to {
    transform: none;
  }
}
@keyframes Toastify__bounceOutRight {
  20% {
    opacity: 1;
    transform: translate3d(-20px, var(--y), 0);
  }
  to {
    opacity: 0;
    transform: translate3d(2000px, var(--y), 0);
  }
}
@keyframes Toastify__bounceInLeft {
  from, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: translate3d(-3000px, 0, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(25px, 0, 0);
  }
  75% {
    transform: translate3d(-10px, 0, 0);
  }
  90% {
    transform: translate3d(5px, 0, 0);
  }
  to {
    transform: none;
  }
}
@keyframes Toastify__bounceOutLeft {
  20% {
    opacity: 1;
    transform: translate3d(20px, var(--y), 0);
  }
  to {
    opacity: 0;
    transform: translate3d(-2000px, var(--y), 0);
  }
}
@keyframes Toastify__bounceInUp {
  from, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    transform: translate3d(0, 3000px, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(0, -20px, 0);
  }
  75% {
    transform: translate3d(0, 10px, 0);
  }
  90% {
    transform: translate3d(0, -5px, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
@keyframes Toastify__bounceOutUp {
  20% {
    transform: translate3d(0, calc(var(--y) - 10px), 0);
  }
  40%, 45% {
    opacity: 1;
    transform: translate3d(0, calc(var(--y) + 20px), 0);
  }
  to {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }
}
@keyframes Toastify__bounceInDown {
  from, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: translate3d(0, -3000px, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(0, 25px, 0);
  }
  75% {
    transform: translate3d(0, -10px, 0);
  }
  90% {
    transform: translate3d(0, 5px, 0);
  }
  to {
    transform: none;
  }
}
@keyframes Toastify__bounceOutDown {
  20% {
    transform: translate3d(0, calc(var(--y) - 10px), 0);
  }
  40%, 45% {
    opacity: 1;
    transform: translate3d(0, calc(var(--y) + 20px), 0);
  }
  to {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
}
.Toastify__bounce-enter--top-left, .Toastify__bounce-enter--bottom-left {
  animation-name: Toastify__bounceInLeft;
}
.Toastify__bounce-enter--top-right, .Toastify__bounce-enter--bottom-right {
  animation-name: Toastify__bounceInRight;
}
.Toastify__bounce-enter--top-center {
  animation-name: Toastify__bounceInDown;
}
.Toastify__bounce-enter--bottom-center {
  animation-name: Toastify__bounceInUp;
}

.Toastify__bounce-exit--top-left, .Toastify__bounce-exit--bottom-left {
  animation-name: Toastify__bounceOutLeft;
}
.Toastify__bounce-exit--top-right, .Toastify__bounce-exit--bottom-right {
  animation-name: Toastify__bounceOutRight;
}
.Toastify__bounce-exit--top-center {
  animation-name: Toastify__bounceOutUp;
}
.Toastify__bounce-exit--bottom-center {
  animation-name: Toastify__bounceOutDown;
}

@keyframes Toastify__zoomIn {
  from {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}
@keyframes Toastify__zoomOut {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
    transform: translate3d(0, var(--y), 0) scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 0;
  }
}
.Toastify__zoom-enter {
  animation-name: Toastify__zoomIn;
}

.Toastify__zoom-exit {
  animation-name: Toastify__zoomOut;
}

@keyframes Toastify__flipIn {
  from {
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    animation-timing-function: ease-in;
  }
  60% {
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  to {
    transform: perspective(400px);
  }
}
@keyframes Toastify__flipOut {
  from {
    transform: translate3d(0, var(--y), 0) perspective(400px);
  }
  30% {
    transform: translate3d(0, var(--y), 0) perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }
  to {
    transform: translate3d(0, var(--y), 0) perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}
.Toastify__flip-enter {
  animation-name: Toastify__flipIn;
}

.Toastify__flip-exit {
  animation-name: Toastify__flipOut;
}

@keyframes Toastify__slideInRight {
  from {
    transform: translate3d(110%, 0, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, var(--y), 0);
  }
}
@keyframes Toastify__slideInLeft {
  from {
    transform: translate3d(-110%, 0, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, var(--y), 0);
  }
}
@keyframes Toastify__slideInUp {
  from {
    transform: translate3d(0, 110%, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, var(--y), 0);
  }
}
@keyframes Toastify__slideInDown {
  from {
    transform: translate3d(0, -110%, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, var(--y), 0);
  }
}
@keyframes Toastify__slideOutRight {
  from {
    transform: translate3d(0, var(--y), 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(110%, var(--y), 0);
  }
}
@keyframes Toastify__slideOutLeft {
  from {
    transform: translate3d(0, var(--y), 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(-110%, var(--y), 0);
  }
}
@keyframes Toastify__slideOutDown {
  from {
    transform: translate3d(0, var(--y), 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(0, 500px, 0);
  }
}
@keyframes Toastify__slideOutUp {
  from {
    transform: translate3d(0, var(--y), 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(0, -500px, 0);
  }
}
.Toastify__slide-enter--top-left, .Toastify__slide-enter--bottom-left {
  animation-name: Toastify__slideInLeft;
}
.Toastify__slide-enter--top-right, .Toastify__slide-enter--bottom-right {
  animation-name: Toastify__slideInRight;
}
.Toastify__slide-enter--top-center {
  animation-name: Toastify__slideInDown;
}
.Toastify__slide-enter--bottom-center {
  animation-name: Toastify__slideInUp;
}

.Toastify__slide-exit--top-left, .Toastify__slide-exit--bottom-left {
  animation-name: Toastify__slideOutLeft;
  animation-timing-function: ease-in;
  animation-duration: 0.3s;
}
.Toastify__slide-exit--top-right, .Toastify__slide-exit--bottom-right {
  animation-name: Toastify__slideOutRight;
  animation-timing-function: ease-in;
  animation-duration: 0.3s;
}
.Toastify__slide-exit--top-center {
  animation-name: Toastify__slideOutUp;
  animation-timing-function: ease-in;
  animation-duration: 0.3s;
}
.Toastify__slide-exit--bottom-center {
  animation-name: Toastify__slideOutDown;
  animation-timing-function: ease-in;
  animation-duration: 0.3s;
}

@keyframes Toastify__spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
/* Style.css */
.washdi-container {
  background-color: #f0f2f5;
  min-height: 100vh;
  padding: 2rem 0;
}
.frozen-column1 .small {
  font-weight: 600;
  font-size: 0.85rem;
  white-space: nowrap;
}

.frozen-column1 .fw-bold {
  color: #333;
  font-size: 1rem;
}
 .frozen-column1  th:first-child, 
 .frozen-column1 td:first-child {
  min-width: 170px !important;
  width: 170px !important;
}
.frozen-column1 .me-1 {
  margin-right: 4px;
}

/* .form-control{
  border: 2px solid hsl(213, 21%, 26%);
  box-shadow: 0 0 5px rgba(71, 80, 90, 0.3);
} */
.washdi-title {
  color: #0d6efd;
  text-align: center;
  font-weight: 700;
  font-size: 2.5rem;
  margin-bottom: 2rem;
  text-shadow: 1px 1px 2px rgba(0,0,0,0.1);
}

/* Search Form Styles */
.search-form {
  background: white;
  padding: 1.5rem;
  border-radius: 10px;
  box-shadow: 0 4px 6px rgba(0,0,0,0.1);
  margin-bottom: 2rem;
}

.search-group {
  /* margin-bottom: 1rem; */
  flex: 1 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}

.search-group label {
  display: block;
  margin-bottom: 0;
  font-weight: 600;
  color: #333;
  width: auto;
}
.suggestions-container {
  margin-left: 0;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: white;
  border: 1px solid #ddd;
  border-top: none;
  max-height: 200px;
  overflow-y: auto;
  z-index: 1000;
}
.suggestions-containe {
  margin-left: auto;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: white;
  border: 1px solid #ddd;
  border-top: none;
  max-height: 200px;
  overflow-y: auto;
  z-index: 1000;
}
.suggestion-item {
  padding: 8px 12px;
  cursor: pointer;
}

.suggestion-item:hover {
  background-color: #f5f5f5;
}
.selected-pos {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}
.selected-po-item {
  display: inline-flex;
  align-items: center;
  background-color: #e9ecef;
  padding: 5px 10px;
  border-radius: 4px;
}

.selected-po-item button {
  padding: 0 5px;
  margin-left: 5px;
  border: none;
  background: none;
  color: #dc3545;
  font-weight: bold;
  cursor: pointer;
}
.search-group {
  position: relative;
}
.search-group input {
  width: 100%;
  height: 40px;
  border: 1px solid #ced4da;
  border-radius: 5px;
  padding: 0.5rem 0.75rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.search-group input:focus {
  border-color: #4a90e2;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(74, 144, 226, 0.25);
}

.search-button {
  width: 100%;
  height: 40px;
  background-color: #4a90e2;
  color: white;
  border: none;
  border-radius: 5px;
  font-weight: 600;
  transition: all 0.3s ease;
}

.search-button:hover {
  background-color: #3a7bc8;
  transform: translateY(-2px);
  box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}

/* Table Styles */
.table-section {
  background: white;
  padding: 1.5rem;
  border-radius: 10px;
  box-shadow: 0 4px 6px rgba(0,0,0,0.1);
  margin-bottom: 2rem;
}

.table {
  margin-bottom: 0;
}

.table th {
  background-color: #3498db !important; /* Màu xanh dương đậm cho tiêu đề */
  color: white;
  padding: 0.75rem;
  font-weight: 600;
  text-align: center;
  border-color: #2980b9;
}
.table th:nth-child(1), .table th:nth-child(2) {
  background-color: #3498db;
}
.table td {
  padding: 0.75rem;
  vertical-align: middle;
  border-color: #ecf0f1;
  text-align: center;
}

.total-cell {
  background-color: #df9453 !important; /* Màu cam cho ô tổng */
  color: white !important;
  font-weight: 600 !important;
}
.ql-total-cell {
  background-color: #65d1c3 !important; 
  color: white !important;
  font-weight: 600 !important;
}
/* Quantity Input Section */
.quantity-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.table-responsive {
  overflow-x: auto;
  position: relative;
}

.table {
  margin-bottom: 0;
  border-collapse: separate;
  border-spacing: 0;
}

.frozen-column {
  position: sticky;
  background-color: #f2f2f2;
  z-index: 2;
}

.frozen-column:nth-child(1) {
  left: 0;
}

.frozen-column:nth-child(2) {
  left: 120px; /* Adjust based on the width of the first column */
}

th.frozen-column {
  background-color: #2980b9;
  color: white;
  z-index: 3;
}

/* Ensure frozen columns maintain their style when scrolling */
.frozen-column::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 1px;
  background-color: #dee2e6;
}

/* Adjust other table styles */
.table th, .table td {
  min-width: 120px !important;
  box-sizing: border-box !important;
  border: 1px solid #dee2e6 !important;
}

.table th:first-child, .table td:first-child {
  min-width: 131px !important;
}
.table-striped tbody tr:nth-of-type(odd) {
  background-color: #f9f9f9; /* Màu xám nhạt cho hàng lẻ */
}
.table th:nth-child(2), .table td:nth-child(2) {
  min-width: 100px;
}

/* Add shadow to indicate scrolling */
.table-responsive::before,
.table-responsive::after {
  content: '';
  position: sticky;
  width: 10px;
  height: 100%;
  top: 0;
  z-index: 1;
}

.table-responsive::before {
  left: 220px; /* Adjust based on the total width of frozen columns */
  box-shadow: inset 10px 0 8px -8px rgba(0, 0, 0, 0.15);
}

.table-responsive::after {
  right: 0;
  box-shadow: inset -10px 0 8px -8px rgba(0, 0, 0, 0.15);
}
.table-bordered {
  border: 1px solid #dee2e6 !important;
}

.table-bordered th,
.table-bordered td {
  border: 1px solid #dee2e6 !important;
}
.date-input-container {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background-color: #f8f9fa;
  border: 1px solid #bdc3c7;
  border-radius: 5px;
  padding: 0.75rem 0.75rem;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.date-label {
  font-weight: 600;
  color: #333;
  margin: 0;
}

.date-input {
  border: none;
  background: transparent;
  font-size: 1rem;
  color: #2c3e50;
  padding: 0.25rem;
}

.date-input:focus {
  outline: none;
}

.date-input::-webkit-calendar-picker-indicator {
  cursor: pointer;
  opacity: 0.6;
  filter: invert(0.5);
}

.date-input::-webkit-calendar-picker-indicator:hover {
  opacity: 1;
}

.quantity-input {
  width: 100%;
  height: 30px;
  border: 1px solid #ced4da;
  border-radius: 4px;
  background: transparent;
  text-align: center;
  padding: 0.25rem;
  background-color: #f8f9fa;
}

.quantity-input:focus {
  outline: none;
  border-color: #4a90e2;
  box-shadow: 0 0 0 0.2rem rgba(74, 144, 226, 0.25);
}

/* Save Button Styles */
.save-container {
  text-align: center;
  margin-top: 2rem;
}

.save-button {
  padding: 0.75rem 2.5rem;
  background-color: #28a745;
  color: white;
  border: none;
  border-radius: 5px;
  font-weight: 600;
  font-size: 1.1rem;
  transition: all 0.3s ease;
}
.form-check.form-switch {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
}
.form-check-label {
  font-weight: 500;
  cursor: pointer;
  -webkit-user-select: none;
          user-select: none;
  margin: 0;
  white-space: nowrap;
}
.save-button:hover {
  background-color: #218838;
  transform: translateY(-2px);
  box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}
.fw-bold.d{
  color: #0d6efd !important;
}
.ag-theme-alpine  {
  height: c alc(100vh - 150px); 
  width: 100%;
  --ag-header-background-color: #4a90e2;
  --ag-header-foreground-color: white;
  --ag-row-border-color: black;
  --ag-row-border-width: 1px; 
  --ag-cell-horizontal-border: solid 1px black;
  --ag-borders: solid 1px;
  --ag-border-color: black;
  --ag-cell-horizontal-padding: 5px;
  --ag-cell-vertical-padding: 5px;
}
/* Styles cho ô chứa số liệu */
.total-cell {
  background-color: #f8f9fa;
  min-width: 120px;
}

.total-cell .stats-row {
  justify-content: center;
  font-weight: 500;
}

/* Màu sắc cho các loại số liệu */
.kiem {
  color: #3b191b;
}

.xuat {
  color: #2ccf34;
}

.ton {
  color: #ec0404;
}
.legend-container {
  display: flex;
  justify-content: center;
  margin: 10px 20px;
  width: 60%;
}

.legend-content {
  background-color: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 5px;
  padding: 10px 20px;
  display: inline-flex;
  flex-direction: column;
  gap: 8px;
}

.legend-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
}
/* Căn chỉnh icon và số liệu */
.stats-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 2px 0;
  border-bottom: 1px solid #eee;
  min-height: 24px;
}

.stats-row:last-child {
  border-bottom: none;
}

.stats-row svg {
  font-size: 14px;
}

.stats-cell {
  padding: 4px !important;
  text-align: center;
  min-width: 120px;
}

/* Styles cho bảng chú thích */
.stats-legend {
  background: #f8f9fa;
  border-radius: 4px;
  margin: 10px 0;
  display: flex;
  gap: 20px;
  justify-content: center;
}



.legend-item svg {
  font-size: 16px;
}


.table td {
  vertical-align: middle;
}
.yeucau {
  color: #0d6efd; /* màu xanh dương */
}

.thucxuat {
  color: #198754; /* màu xanh lá */
}

.conlai {
  color: #dc3545; /* màu đỏ */
}
.modal {
  background-color: rgba(0, 0, 0, 0.5);
}

.modal-lg {
  max-width: 1000px;
}

.table-hover tbody tr:hover {
  background-color: #f5f5f5;
  cursor: pointer;
}

.btn-info {
  color: white;
  background-color: #17a2b8;
  border-color: #17a2b8;
}

.btn-info:hover {
  background-color: #138496;
  border-color: #117a8b;
}
.cancel-button {
  padding: 0.75rem 2.5rem;
  background-color: #dc3545;
  color: white;
  border: none;
  border-radius: 5px;
  font-weight: 600;
  font-size: 1.1rem;
  transition: all 0.3s ease;
}

.cancel-button:hover {
  background-color: #c82333;
  transform: translateY(-2px);
  box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}

/* style={{ 
          height: 'calc(100vh - 150px)', 
          width: '100%',
          '--ag-header-background-color': '#4a90e2',
          '--ag-header-foreground-color': 'white',
          '--ag-row-border-color': 'black',
          '--ag-row-border-width': '1px',
          '--ag-cell-horizontal-border': 'solid 1px black',
          '--ag-borders': 'solid 1px',
          '--ag-border-color': 'black',
          '--ag-cell-horizontal-padding': '5px',
          '--ag-cell-vertical-padding': '5px',
        }} */
/* Responsive Adjustments */

/* Thêm style cho table-section để cố định chiều cao */
.table-section1 {
  background: white;
  padding: 1.5rem;
  border-radius: 10px;
  box-shadow: 0 4px 6px rgba(0,0,0,0.1);
  margin-bottom: 2rem;
  height: 500px; /* Cố định chiều cao của section */
  display: flex;
  flex-direction: column;
}

/* Điều chỉnh table-responsive để scroll */
.table-responsive1 {
  overflow-x: auto;
  overflow-y: auto;
  position: relative;
  flex: 1 1;
  /* Thêm style cho thanh scroll */
  scrollbar-width: thin;
  scrollbar-color: #888 #f1f1f1;
}

/* Style cho thanh scroll (Chrome, Safari) */
.table-responsive1::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

.table-responsive1::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 4px;
}

.table-responsiv1::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 4px;
}

.table-responsive1::-webkit-scrollbar-thumb:hover {
  background: #555;
}

/* Cố định header của bảng */
.table1 thead th {
  position: sticky;
  top: 0;
  background-color: #3498db !important;
  z-index: 2;
}

/* Cố định cột đầu tiên */
.frozen-column1 {
  position: sticky;
  left: 0;
  background-color: #f2f2f2;
  z-index: 1;
}

/* Cố định header của cột đầu tiên */
th.frozen-column1 {
  z-index: 3;
  background-color: #3498db !important;
}


/* Đảm bảo các cột frozen không bị che khuất */
.table1 td.frozen-column1 {
  background-color: #fff;
}

.table1 tr:nth-child(odd) td.frozen-column1 {
  background-color: #f9f9f9;
}
.frozen-header {
  position: sticky;
  top: 0;
  background-color: #fff;
  z-index: 3;
  border-bottom: 2px solid #dee2e6;
}
.frozen-header1 {
  position: sticky;
  top: 0;
  background-color: #fff;
  z-index: 5;
  border-bottom: 2px solid #dee2e6;
}
.transfer-history {
  background-color: #fff;
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.transfer-history table {
  font-size: 14px;
}

.transfer-history th {
  background-color: #f8f9fa;
  white-space: nowrap;
}

.transfer-history td {
  vertical-align: middle;
}
.custom-confirm-dialog {
  background: white;
  border-radius: 8px;
  box-shadow: 0 2px 15px rgba(0, 0, 0, 0.1);
  width: 500px;
  max-width: 95vw;
  animation: slideIn 0.3s ease-out;
}

.confirm-header {
  padding: 16px 20px;
  border-bottom: 1px solid #eee;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.confirm-header h3 {
  margin: 0;
  color: #2c3e50;
  font-size: 1.25rem;
  font-weight: 600;
}

.close-btn {
  background: none;
  border: none;
  font-size: 1.5rem;
  color: #666;
  cursor: pointer;
  padding: 0 5px;
}

.confirm-content {
  padding: 20px;
}

.transfer-details {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

.source-section,
.target-section {
  flex: 1 1;
  padding: 15px;
  background: #f8f9fa;
  border-radius: 6px;
}

.transfer-arrow {
  padding: 0 20px;
  color: #6c757d;
  font-size: 1.5rem;
}



.detail-item {
  margin: 8px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.detail-item .label {
  color: #6c757d;
  font-size: 0.9rem;
}

.detail-item .value {
  font-weight: 500;
  color: #2c3e50;
}

.quantity-section {
  margin-top: 20px;
  padding-top: 15px;
  border-top: 1px dashed #dee2e6;
}

.quantity-section .detail-item.quantity {
  justify-content: center;
  gap: 10px;
}

.quantity-section .value {
  font-size: 1.2rem;
  color: #0d6efd;
  font-weight: 600;
}

.confirm-footer {
  padding: 16px 20px;
  border-top: 1px solid #eee;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

.confirm-footer .btn {
  min-width: 100px;
  padding: 8px 16px;
}

.react-confirm-alert-overlay {
  background: #6c757d !important;
}
.error-input {
  border: 2px solid red !important;
  background-color: #fff3f3;
}

.error-message {
  color: red;
  font-size: 12px;
  position: absolute;
  background: white;
  padding: 5px;
  border: 1px solid red;
  border-radius: 4px;
  z-index: 1000;
  margin-top: 5px;
  display: none;
}

.error-input:hover + .error-message {
  display: block;
}
@keyframes slideIn {
  from {
    transform: translateY(-20px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type=number] {
  -moz-appearance: textfield;
}
@media (max-width: 768px) {
  .washdi-title {
    font-size: 2rem;
  }

  .search-form {
    padding: 1rem;
  }

  .table-section {
    padding: 1rem;
  }

  .date-input-container {
    flex-direction: column;
    align-items: flex-start;
  }

  .date-input {
    width: 100%;
  }
}
@keyframes pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(13, 110, 253, 0.4);
  }
  70% {
    box-shadow: 0 0 0 10px rgba(13, 110, 253, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(13, 110, 253, 0);
  }
}
.animate-pulse {
  animation: pulse 2s infinite;
}

/* ==========================================================================
   Glass Modal System
   ========================================================================== */
.glass-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
  z-index: 1050;
  display: flex;
  align-items: center;
  justify-content: center;
}

.glass-modal-content {
  background: white;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.15);
  width: 90%;
  max-height: 85vh;
  overflow: hidden;
  animation: slideUp 0.3s ease-out;
  display: flex;
  flex-direction: column;
}

.glass-modal-header {
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid #e9ecef;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #f8f9fa;
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
}

.glass-modal-body {
  overflow-y: auto;
  padding: 1.5rem;
  flex-grow: 1;
}

.glass-modal-footer {
  padding: 1rem 1.5rem;
  border-top: 1px solid #e9ecef;
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
  background-color: #f8f9fa;
  border-bottom-left-radius: 12px;
  border-bottom-right-radius: 12px;
}

@keyframes slideUp {
  from { transform: translateY(30px); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}
/* ===== CSS Variables ===== */
:root {
  --sidebar-width: 270px;
  --sidebar-collapsed-width: 0px;
  --sidebar-bg: #ffffff;
  --sidebar-bg-gradient: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  --sidebar-border: rgba(0, 0, 0, 0.07);
  --sidebar-text: #475569;
  --sidebar-text-hover: #0f172a;
  --sidebar-text-active: #1e40af;
  --sidebar-accent: #2563eb;
  --sidebar-accent-glow: rgba(37, 99, 235, 0.08);
  --sidebar-accent-gradient: linear-gradient(135deg, #2563eb 0%, #3b82f6 100%);
  --sidebar-group-bg: rgba(0, 0, 0, 0.01);
  --sidebar-item-hover: rgba(37, 99, 235, 0.04);
  --sidebar-item-active-bg: rgba(37, 99, 235, 0.08);
  --sidebar-scrollbar: rgba(0, 0, 0, 0.1);
  --sidebar-scrollbar-hover: rgba(0, 0, 0, 0.2);
  --topbar-height: 56px;
  --sidebar-transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ===== Top Bar ===== */
.topbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 56px;
  height: var(--topbar-height);
  background: #ffffff;
  background: var(--sidebar-bg);
  border-bottom: 1px solid rgba(0, 0, 0, 0.07);
  border-bottom: 1px solid var(--sidebar-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px;
  z-index: 1100;
  -webkit-backdrop-filter: blur(20px);
          backdrop-filter: blur(20px);
}

.topbar-left {
  display: flex;
  align-items: center;
  gap: 12px;
}

.topbar-toggle {
  width: 38px;
  height: 38px;
  border: none;
  background: rgba(0, 0, 0, 0.04);
  border-radius: 10px;
  color: #475569;
  color: var(--sidebar-text);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  font-size: 18px;
}

.topbar-toggle:hover {
  background: rgba(37, 99, 235, 0.04);
  background: var(--sidebar-item-hover);
  color: #2563eb;
  color: var(--sidebar-accent);
  transform: scale(1.05);
}

.topbar-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none !important;
  color: #0f172a !important;
  color: var(--sidebar-text-hover) !important;
  font-weight: 700;
  font-size: 1.1rem;
  letter-spacing: -0.02em;
}

.topbar-brand svg {
  color: #2563eb;
  color: var(--sidebar-accent);
  font-size: 24px;
}

.topbar-brand:hover {
  color: #2563eb !important;
  color: var(--sidebar-accent) !important;
}

.topbar-right {
  display: flex;
  align-items: center;
  gap: 8px;
}

.topbar-user-btn {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 14px;
  border: 1px solid rgba(0, 0, 0, 0.07);
  border: 1px solid var(--sidebar-border);
  background: rgba(255, 255, 255, 0.03);
  border-radius: 12px;
  color: #475569;
  color: var(--sidebar-text);
  cursor: pointer;
  transition: all 0.2s ease;
  font-size: 0.875rem;
  position: relative;
}

.topbar-user-btn:hover {
  background: rgba(37, 99, 235, 0.04);
  background: var(--sidebar-item-hover);
  border-color: rgba(59, 130, 246, 0.3);
  color: #0f172a;
  color: var(--sidebar-text-hover);
}

.topbar-user-avatar {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: linear-gradient(135deg, #2563eb 0%, #3b82f6 100%);
  background: var(--sidebar-accent-gradient);
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-weight: 700;
  font-size: 0.8rem;
}

.topbar-user-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 200px;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.07);
  border: 1px solid var(--sidebar-border);
  border-radius: 12px;
  padding: 6px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: all 0.2s ease;
  z-index: 1200;
}

.topbar-user-btn:hover .topbar-user-dropdown,
.topbar-user-dropdown.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.topbar-user-dropdown a,
.topbar-user-dropdown button {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 10px 14px;
  border: none;
  background: none;
  color: #475569;
  color: var(--sidebar-text);
  text-decoration: none;
  border-radius: 8px;
  font-size: 0.875rem;
  cursor: pointer;
  transition: all 0.15s ease;
}

.topbar-user-dropdown a:hover,
.topbar-user-dropdown button:hover {
  background: rgba(37, 99, 235, 0.04);
  background: var(--sidebar-item-hover);
  color: #0f172a;
  color: var(--sidebar-text-hover);
}

.topbar-user-dropdown .logout-btn:hover {
  background: rgba(239, 68, 68, 0.1);
  color: #ef4444;
}

.topbar-fullscreen-btn {
  width: 38px;
  height: 38px;
  border: 1px solid rgba(0, 0, 0, 0.07);
  border: 1px solid var(--sidebar-border);
  background: rgba(255, 255, 255, 0.03);
  border-radius: 10px;
  color: #475569;
  color: var(--sidebar-text);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  font-size: 16px;
}

.topbar-fullscreen-btn:hover {
  background: rgba(16, 185, 129, 0.1);
  border-color: rgba(16, 185, 129, 0.3);
  color: #10b981;
}

/* ===== Sidebar ===== */
.sidebar {
  position: fixed;
  top: 56px;
  top: var(--topbar-height);
  left: 0;
  width: 270px;
  width: var(--sidebar-width);
  height: calc(100vh - 56px);
  height: calc(100vh - var(--topbar-height));
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  background: var(--sidebar-bg-gradient);
  border-right: 1px solid rgba(0, 0, 0, 0.07);
  border-right: 1px solid var(--sidebar-border);
  display: flex;
  flex-direction: column;
  z-index: 1050;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  transition: transform var(--sidebar-transition), width var(--sidebar-transition);
  overflow: hidden;
}

.sidebar.collapsed {
  transform: translateX(calc(-1 * 270px));
  transform: translateX(calc(-1 * var(--sidebar-width)));
}

/* ===== Sidebar Navigation ===== */
.sidebar-nav {
  flex: 1 1;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 12px 10px;
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 0, 0, 0.1) transparent;
  scrollbar-color: var(--sidebar-scrollbar) transparent;
}

.sidebar-nav::-webkit-scrollbar {
  width: 4px;
}

.sidebar-nav::-webkit-scrollbar-track {
  background: transparent;
}

.sidebar-nav::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.1);
  background: var(--sidebar-scrollbar);
  border-radius: 4px;
}

.sidebar-nav::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.2);
  background: var(--sidebar-scrollbar-hover);
}

/* ===== Section Label ===== */
.sidebar-section-label {
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: rgba(136, 153, 170, 0.5);
  padding: 16px 14px 8px;
  margin-top: 4px;
  -webkit-user-select: none;
          user-select: none;
}

.sidebar-section-label:first-child {
  padding-top: 4px;
  margin-top: 0;
}

/* ===== Menu Group ===== */
.sidebar-group {
  margin-bottom: 2px;
}

.sidebar-group-header {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 10px 14px;
  border: none;
  background: none;
  color: #475569;
  color: var(--sidebar-text);
  cursor: pointer;
  border-radius: 10px;
  transition: all 0.2s ease;
  font-size: 0.875rem;
  font-weight: 500;
  text-align: left;
  position: relative;
  overflow: hidden;
}

.sidebar-group-header::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: linear-gradient(135deg, #2563eb 0%, #3b82f6 100%);
  background: var(--sidebar-accent-gradient);
  border-radius: 0 3px 3px 0;
  opacity: 0;
  transition: opacity 0.2s ease;
}

.sidebar-group-header:hover {
  background: rgba(37, 99, 235, 0.04);
  background: var(--sidebar-item-hover);
  color: #0f172a;
  color: var(--sidebar-text-hover);
}

.sidebar-group-header.active {
  color: #1e40af;
  color: var(--sidebar-text-active);
  background: rgba(37, 99, 235, 0.08);
  background: var(--sidebar-item-active-bg);
}

.sidebar-group-header.active::before {
  opacity: 1;
}

.sidebar-group-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.04);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  flex-shrink: 0;
  transition: all 0.2s ease;
}

.sidebar-group-header:hover .sidebar-group-icon,
.sidebar-group-header.active .sidebar-group-icon {
  background: rgba(37, 99, 235, 0.08);
  background: var(--sidebar-accent-glow);
  color: #2563eb;
  color: var(--sidebar-accent);
}

.sidebar-group-title {
  flex: 1 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sidebar-group-arrow {
  font-size: 12px;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  opacity: 0.5;
  flex-shrink: 0;
}

.sidebar-group-header.open .sidebar-group-arrow {
  transform: rotate(90deg);
  opacity: 1;
}

.sidebar-group-badge {
  font-size: 0.65rem;
  padding: 2px 7px;
  border-radius: 6px;
  background: rgba(37, 99, 235, 0.08);
  background: var(--sidebar-accent-glow);
  color: #2563eb;
  color: var(--sidebar-accent);
  font-weight: 600;
  flex-shrink: 0;
}

/* ===== Group Items (Collapsible) ===== */
.sidebar-group-items {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.sidebar-group-items.open {
  max-height: 1000px;
}

.sidebar-group-items-inner {
  padding: 4px 0 4px 14px;
}

/* ===== Menu Item ===== */
.sidebar-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 14px 9px 32px;
  color: #475569;
  color: var(--sidebar-text);
  text-decoration: none !important;
  border-radius: 8px;
  font-size: 0.825rem;
  font-weight: 400;
  transition: all 0.15s ease;
  position: relative;
  margin: 1px 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sidebar-item::before {
  content: '';
  position: absolute;
  left: 18px;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(136, 153, 170, 0.3);
  transition: all 0.2s ease;
}

.sidebar-item:hover {
  background: rgba(37, 99, 235, 0.04);
  background: var(--sidebar-item-hover);
  color: #0f172a;
  color: var(--sidebar-text-hover);
}

.sidebar-item:hover::before {
  background: #2563eb;
  background: var(--sidebar-accent);
  box-shadow: 0 0 6px #2563eb;
  box-shadow: 0 0 6px var(--sidebar-accent);
}

.sidebar-item.active {
  background: rgba(37, 99, 235, 0.08);
  background: var(--sidebar-item-active-bg);
  color: #2563eb;
  color: var(--sidebar-accent);
  font-weight: 500;
}

.sidebar-item.active::before {
  background: #2563eb;
  background: var(--sidebar-accent);
  width: 6px;
  height: 6px;
  box-shadow: 0 0 8px #2563eb;
  box-shadow: 0 0 8px var(--sidebar-accent);
}

/* Top-level item (no group) */
.sidebar-item-toplevel {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  color: #475569;
  color: var(--sidebar-text);
  text-decoration: none !important;
  border-radius: 10px;
  font-size: 0.875rem;
  font-weight: 500;
  transition: all 0.2s ease;
  position: relative;
  margin: 1px 0;
}

.sidebar-item-toplevel::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: linear-gradient(135deg, #2563eb 0%, #3b82f6 100%);
  background: var(--sidebar-accent-gradient);
  border-radius: 0 3px 3px 0;
  opacity: 0;
  transition: opacity 0.2s ease;
}

.sidebar-item-toplevel:hover {
  background: rgba(37, 99, 235, 0.04);
  background: var(--sidebar-item-hover);
  color: #0f172a;
  color: var(--sidebar-text-hover);
}

.sidebar-item-toplevel.active {
  background: rgba(37, 99, 235, 0.08);
  background: var(--sidebar-item-active-bg);
  color: #1e40af;
  color: var(--sidebar-text-active);
}

.sidebar-item-toplevel.active::before {
  opacity: 1;
}

.sidebar-item-toplevel .sidebar-group-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.04);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  flex-shrink: 0;
}

.sidebar-item-toplevel:hover .sidebar-group-icon,
.sidebar-item-toplevel.active .sidebar-group-icon {
  background: rgba(37, 99, 235, 0.08);
  background: var(--sidebar-accent-glow);
  color: #2563eb;
  color: var(--sidebar-accent);
}

/* ===== Sidebar Divider ===== */
.sidebar-divider {
  height: 1px;
  background: rgba(0, 0, 0, 0.07);
  background: var(--sidebar-border);
  margin: 8px 14px;
}

/* ===== Main Content Offset ===== */
.main-content-wrapper {
  margin-left: 270px;
  margin-left: var(--sidebar-width);
  margin-top: 56px;
  margin-top: var(--topbar-height);
  transition: margin-left 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  transition: margin-left var(--sidebar-transition);
  min-height: calc(100vh - 56px);
  min-height: calc(100vh - var(--topbar-height));
}

.main-content-wrapper.sidebar-collapsed,
body.sidebar-collapsed .main-content-wrapper {
  margin-left: 0;
}

/* ===== Overlay for mobile ===== */
.sidebar-overlay {
  display: none;
  position: fixed;
  top: 56px;
  top: var(--topbar-height);
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
  z-index: 1040;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

.sidebar-overlay.show {
  opacity: 1;
  pointer-events: auto;
}

/* ===== Responsive ===== */
@media (max-width: 991.98px) {
  .sidebar {
    transform: translateX(calc(-1 * 270px));
    transform: translateX(calc(-1 * var(--sidebar-width)));
  }
  
  .sidebar.mobile-open {
    transform: translateX(0) !important;
  }
  
  .sidebar.collapsed {
    transform: translateX(calc(-1 * 270px));
    transform: translateX(calc(-1 * var(--sidebar-width)));
  }

  .main-content-wrapper {
    margin-left: 0 !important;
  }

  .sidebar-overlay {
    display: block;
  }

  .topbar-brand-text {
    display: none;
  }
}

@media (max-width: 576px) {
  .topbar {
    padding: 0 12px;
  }
  
  .topbar-user-name {
    display: none;
  }
}

/* ===== Fullscreen button ===== */
.btn-fullscreen-fixed {
  padding: 6px 12px;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 9999;
}

/* ===== Animations ===== */
@keyframes slideIn {
  from {
    opacity: 0;
    transform: translateX(-8px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.sidebar-group-items.open .sidebar-item {
  animation: slideIn 0.2s ease forwards;
}

.sidebar-group-items.open .sidebar-item:nth-child(1) { animation-delay: 0s; }
.sidebar-group-items.open .sidebar-item:nth-child(2) { animation-delay: 0.03s; }
.sidebar-group-items.open .sidebar-item:nth-child(3) { animation-delay: 0.06s; }
.sidebar-group-items.open .sidebar-item:nth-child(4) { animation-delay: 0.09s; }
.sidebar-group-items.open .sidebar-item:nth-child(5) { animation-delay: 0.12s; }
.sidebar-group-items.open .sidebar-item:nth-child(6) { animation-delay: 0.15s; }
.sidebar-group-items.open .sidebar-item:nth-child(7) { animation-delay: 0.18s; }
.sidebar-group-items.open .sidebar-item:nth-child(8) { animation-delay: 0.21s; }
.sidebar-group-items.open .sidebar-item:nth-child(9) { animation-delay: 0.24s; }
.sidebar-group-items.open .sidebar-item:nth-child(10) { animation-delay: 0.27s; }
.sidebar-group-items.open .sidebar-item:nth-child(11) { animation-delay: 0.30s; }
.sidebar-group-items.open .sidebar-item:nth-child(12) { animation-delay: 0.33s; }
.daterangepicker {
  position: absolute;
  color: inherit;
  background-color: #fff;
  border-radius: 4px;
  border: 1px solid #ddd;
  width: 278px;
  max-width: none;
  padding: 0;
  margin-top: 7px;
  top: 100px;
  left: 20px;
  z-index: 3001;
  display: none;
  font-family: arial;
  font-size: 15px;
  line-height: 1em;
}

.daterangepicker:before, .daterangepicker:after {
  position: absolute;
  display: inline-block;
  border-bottom-color: rgba(0, 0, 0, 0.2);
  content: '';
}

.daterangepicker:before {
  top: -7px;
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
  border-bottom: 7px solid #ccc;
}

.daterangepicker:after {
  top: -6px;
  border-right: 6px solid transparent;
  border-bottom: 6px solid #fff;
  border-left: 6px solid transparent;
}

.daterangepicker.opensleft:before {
  right: 9px;
}

.daterangepicker.opensleft:after {
  right: 10px;
}

.daterangepicker.openscenter:before {
  left: 0;
  right: 0;
  width: 0;
  margin-left: auto;
  margin-right: auto;
}

.daterangepicker.openscenter:after {
  left: 0;
  right: 0;
  width: 0;
  margin-left: auto;
  margin-right: auto;
}

.daterangepicker.opensright:before {
  left: 9px;
}

.daterangepicker.opensright:after {
  left: 10px;
}

.daterangepicker.drop-up {
  margin-top: -7px;
}

.daterangepicker.drop-up:before {
  top: auto;
  top: initial;
  bottom: -7px;
  border-bottom: 0;
  border-bottom: initial;
  border-top: 7px solid #ccc;
}

.daterangepicker.drop-up:after {
  top: auto;
  top: initial;
  bottom: -6px;
  border-bottom: 0;
  border-bottom: initial;
  border-top: 6px solid #fff;
}

.daterangepicker.single .daterangepicker .ranges, .daterangepicker.single .drp-calendar {
  float: none;
}

.daterangepicker.single .drp-selected {
  display: none;
}

.daterangepicker.show-calendar .drp-calendar {
  display: block;
}

.daterangepicker.show-calendar .drp-buttons {
  display: block;
}

.daterangepicker.auto-apply .drp-buttons {
  display: none;
}

.daterangepicker .drp-calendar {
  display: none;
  max-width: 270px;
}

.daterangepicker .drp-calendar.left {
  padding: 8px 0 8px 8px;
}

.daterangepicker .drp-calendar.right {
  padding: 8px;
}

.daterangepicker .drp-calendar.single .calendar-table {
  border: none;
}

.daterangepicker .calendar-table .next span, .daterangepicker .calendar-table .prev span {
  color: #fff;
  border: solid black;
  border-width: 0 2px 2px 0;
  border-radius: 0;
  display: inline-block;
  padding: 3px;
}

.daterangepicker .calendar-table .next span {
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}

.daterangepicker .calendar-table .prev span {
  transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
}

.daterangepicker .calendar-table th, .daterangepicker .calendar-table td {
  white-space: nowrap;
  text-align: center;
  vertical-align: middle;
  min-width: 32px;
  width: 32px;
  height: 24px;
  line-height: 24px;
  font-size: 12px;
  border-radius: 4px;
  border: 1px solid transparent;
  white-space: nowrap;
  cursor: pointer;
}

.daterangepicker .calendar-table {
  border: 1px solid #fff;
  border-radius: 4px;
  background-color: #fff;
}

.daterangepicker .calendar-table table {
  width: 100%;
  margin: 0;
  border-spacing: 0;
  border-collapse: collapse;
}

.daterangepicker td.available:hover, .daterangepicker th.available:hover {
  background-color: #eee;
  border-color: transparent;
  color: inherit;
}

.daterangepicker td.week, .daterangepicker th.week {
  font-size: 80%;
  color: #ccc;
}

.daterangepicker td.off, .daterangepicker td.off.in-range, .daterangepicker td.off.start-date, .daterangepicker td.off.end-date {
  background-color: #fff;
  border-color: transparent;
  color: #999;
}

.daterangepicker td.in-range {
  background-color: #ebf4f8;
  border-color: transparent;
  color: #000;
  border-radius: 0;
}

.daterangepicker td.start-date {
  border-radius: 4px 0 0 4px;
}

.daterangepicker td.end-date {
  border-radius: 0 4px 4px 0;
}

.daterangepicker td.start-date.end-date {
  border-radius: 4px;
}

.daterangepicker td.active, .daterangepicker td.active:hover {
  background-color: #357ebd;
  border-color: transparent;
  color: #fff;
}

.daterangepicker th.month {
  width: auto;
}

.daterangepicker td.disabled, .daterangepicker option.disabled {
  color: #999;
  cursor: not-allowed;
  text-decoration: line-through;
}

.daterangepicker select.monthselect, .daterangepicker select.yearselect {
  font-size: 12px;
  padding: 1px;
  height: auto;
  margin: 0;
  cursor: default;
}

.daterangepicker select.monthselect {
  margin-right: 2%;
  width: 56%;
}

.daterangepicker select.yearselect {
  width: 40%;
}

.daterangepicker select.hourselect, .daterangepicker select.minuteselect, .daterangepicker select.secondselect, .daterangepicker select.ampmselect {
  width: 50px;
  margin: 0 auto;
  background: #eee;
  border: 1px solid #eee;
  padding: 2px;
  outline: 0;
  font-size: 12px;
}

.daterangepicker .calendar-time {
  text-align: center;
  margin: 4px auto 0 auto;
  line-height: 30px;
  position: relative;
}

.daterangepicker .calendar-time select.disabled {
  color: #ccc;
  cursor: not-allowed;
}

.daterangepicker .drp-buttons {
  clear: both;
  text-align: right;
  padding: 8px;
  border-top: 1px solid #ddd;
  display: none;
  line-height: 12px;
  vertical-align: middle;
}

.daterangepicker .drp-selected {
  display: inline-block;
  font-size: 12px;
  padding-right: 8px;
}

.daterangepicker .drp-buttons .btn {
  margin-left: 8px;
  font-size: 12px;
  font-weight: bold;
  padding: 4px 8px;
}

.daterangepicker.show-ranges.single.rtl .drp-calendar.left {
  border-right: 1px solid #ddd;
}

.daterangepicker.show-ranges.single.ltr .drp-calendar.left {
  border-left: 1px solid #ddd;
}

.daterangepicker.show-ranges.rtl .drp-calendar.right {
  border-right: 1px solid #ddd;
}

.daterangepicker.show-ranges.ltr .drp-calendar.left {
  border-left: 1px solid #ddd;
}

.daterangepicker .ranges {
  float: none;
  text-align: left;
  margin: 0;
}

.daterangepicker.show-calendar .ranges {
  margin-top: 8px;
}

.daterangepicker .ranges ul {
  list-style: none;
  margin: 0 auto;
  padding: 0;
  width: 100%;
}

.daterangepicker .ranges li {
  font-size: 12px;
  padding: 8px 12px;
  cursor: pointer;
}

.daterangepicker .ranges li:hover {
  background-color: #eee;
}

.daterangepicker .ranges li.active {
  background-color: #08c;
  color: #fff;
}

/*  Larger Screen Styling */
@media (min-width: 564px) {
  .daterangepicker {
    width: auto;
  }

  .daterangepicker .ranges ul {
    width: 140px;
  }

  .daterangepicker.single .ranges ul {
    width: 100%;
  }

  .daterangepicker.single .drp-calendar.left {
    clear: none;
  }

  .daterangepicker.single .ranges, .daterangepicker.single .drp-calendar {
    float: left;
  }

  .daterangepicker {
    direction: ltr;
    text-align: left;
  }

  .daterangepicker .drp-calendar.left {
    clear: left;
    margin-right: 0;
  }

  .daterangepicker .drp-calendar.left .calendar-table {
    border-right: none;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }

  .daterangepicker .drp-calendar.right {
    margin-left: 0;
  }

  .daterangepicker .drp-calendar.right .calendar-table {
    border-left: none;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }

  .daterangepicker .drp-calendar.left .calendar-table {
    padding-right: 8px;
  }

  .daterangepicker .ranges, .daterangepicker .drp-calendar {
    float: left;
  }
}

@media (min-width: 730px) {
  .daterangepicker .ranges {
    width: auto;
  }

  .daterangepicker .ranges {
    float: left;
  }

  .daterangepicker.rtl .ranges {
    float: right;
  }

  .daterangepicker .drp-calendar.left {
    clear: none !important;
  }
}

body.react-confirm-alert-body-element {
  overflow: hidden;
}

.react-confirm-alert-blur {
  filter: url(#gaussian-blur);
  filter: blur(2px);
  -webkit-filter: blur(2px);
}

.react-confirm-alert-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 99;
  background: rgba(255, 255, 255, 0.9);
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  -ms-align-items: center;
  align-items: center;
  opacity: 0;
  animation: react-confirm-alert-fadeIn 0.5s 0.2s forwards;
}

.react-confirm-alert-body {
  font-family: Arial, Helvetica, sans-serif;
  width: 400px;
  padding: 30px;
  text-align: left;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 20px 75px rgba(0, 0, 0, 0.13);
  color: #666;
}

.react-confirm-alert-svg {
  position: absolute;
  top: 0;
  left: 0;
}

.react-confirm-alert-body > h1 {
  margin-top: 0;
}

.react-confirm-alert-body > h3 {
  margin: 0;
  font-size: 16px;
}

.react-confirm-alert-button-group {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: flex-start;
  margin-top: 20px;
}

.react-confirm-alert-button-group > button {
  outline: none;
  background: #333;
  border: none;
  display: inline-block;
  padding: 6px 18px;
  color: #eee;
  margin-right: 10px;
  border-radius: 5px;
  font-size: 12px;
  cursor: pointer;
}

@keyframes react-confirm-alert-fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.dhtv-root {
  height: 100vh;
  width: 100%;
  overflow: hidden;
  background: linear-gradient(180deg, #f4f6fb 0%, #eef1f8 100%);
  color: #1e293b;
  font-family: "Segoe UI", Roboto, Arial, sans-serif;
  display: flex;
  flex-direction: column;
  padding: 16px 24px;
  box-sizing: border-box;
  gap: 12px;
}

/* ===== Top bar ===== */
.dhtv-topbar {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  background: linear-gradient(120deg, #0b1a4a 0%, #14275f 60%, #1b3a8a 100%);
  border-radius: 14px;
  padding: 12px 22px;
  box-shadow: 0 8px 22px rgba(15, 23, 60, 0.28);
}

.dhtv-topbar-title {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #ffffff;
  min-width: 0;
}

.dhtv-topbar-title h1 {
  font-size: clamp(18px, 2vw, 26px);
  font-weight: 800;
  letter-spacing: 0.5px;
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.dhtv-topbar-chips {
  display: flex;
  align-items: center;
  gap: 10px;
}

.dhtv-chip {
  display: flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.25);
  color: #ffffff;
  padding: 8px 14px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
}

/* Chọn số list hiển thị (4/8/12) - nhóm nút nhỏ ngay trên topbar, ngay cạnh nút toàn màn hình. */
.dhtv-chip-count {
  gap: 8px;
  padding: 6px 10px 6px 14px;
}
.dhtv-count-group {
  display: flex;
  gap: 4px;
}
.dhtv-count-btn {
  min-width: 34px;
  padding: 4px 8px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  background: rgba(255, 255, 255, 0.08);
  color: #e2e8f0;
  font-size: 14px;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}
.dhtv-count-btn:hover {
  background: rgba(255, 255, 255, 0.22);
  color: #ffffff;
}
.dhtv-count-btn-active {
  background: #ffffff;
  border-color: #ffffff;
  color: #0f1e4d;
}

.dhtv-fullscreen-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.25);
  color: #ffffff;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  cursor: pointer;
  opacity: 0.7;
  transition: opacity 0.2s;
}
.dhtv-fullscreen-btn:hover {
  opacity: 1;
}

.dhtv-error-banner {
  flex: 0 0 auto;
  background: #fee2e2;
  color: #b91c1c;
  padding: 10px 16px;
  border-radius: 10px;
  font-size: 15px;
  font-weight: 600;
}

.dhtv-loading {
  flex: 1 1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  color: #64748b;
}

/* ===== Main table ===== */
.dhtv-table {
  flex: 1 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 6px 20px rgba(30, 41, 59, 0.1);
  border: 1px solid #e2e8f0;
}

.dhtv-row {
  display: grid;
  grid-template-columns: 50px 200px 100px 180px 260px minmax(0, 1fr);
  align-items: stretch;
  border-bottom: 1px solid #e5e9f0;
}
.dhtv-row:last-child {
  border-bottom: none;
}

.dhtv-row-head {
  flex: 0 0 auto;
  background: #0f1e4d;
  color: #ffffff;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.4px;
}
.dhtv-row-head .dhtv-cell {
  padding: 10px 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #ffffff;
}

.dhtv-row:not(.dhtv-row-head) {
  flex: 1 1;
  min-height: 0;
}
/* Sọc vằn tính trong .dhtv-table-body (dòng tiêu đề nằm ngoài), dòng thứ 2 - 4 - 6... tô nhạt. */
.dhtv-table-body .dhtv-row:nth-of-type(even) {
  background: #fafbfe;
}

/* Vùng dữ liệu: mặc định 4 dòng chia đều hết chiều cao bảng (giữ nguyên bố cục cũ). */
.dhtv-table-body {
  flex: 1 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

/* Chọn 8/12 list: mỗi dòng vẫn cao đúng 1/4 khung bảng như khi xem 4 list, phần vượt thì cuộn. */
.dhtv-table-body-scroll {
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #94a3b8 #eef1f6;
}
.dhtv-table-body-scroll .dhtv-row {
  flex: 0 0 25%;
  height: 25%;
  box-sizing: border-box;
}
.dhtv-table-body-scroll::-webkit-scrollbar {
  width: 10px;
}
.dhtv-table-body-scroll::-webkit-scrollbar-track {
  background: #eef1f6;
}
.dhtv-table-body-scroll::-webkit-scrollbar-thumb {
  background: #94a3b8;
  border-radius: 999px;
  border: 2px solid #eef1f6;
}

.dhtv-row-empty {
  align-items: center;
  justify-content: center;
  display: flex;
  grid-template-columns: none;
}
.dhtv-empty-text {
  color: #94a3b8;
  font-size: 15px;
  font-style: italic;
}

.dhtv-cell {
  padding: 8px 12px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  min-height: 0;
  border-right: 1px solid #eef1f6;
}
.dhtv-cell:last-child {
  border-right: none;
}

.dhtv-cell-stt {
  align-items: center;
  text-align: center;
  font-size: 15px;
  font-weight: 700;
  color: #64748b;
}

.dhtv-cell-mahang {
  align-items: center;
  text-align: center;
  font-size: clamp(15px, 1.4vw, 19px);
  font-weight: 800;
  color: #1d4ed8;
  word-break: break-word;
}

.dhtv-cell-date {
  align-items: center;
  text-align: center;
  gap: 2px;
}
.dhtv-cell-weekday {
  font-size: 11px;
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: 0.4px;
}
.dhtv-cell-day {
  font-size: 15px;
  font-weight: 700;
  color: #334155;
}

.dhtv-cell-cang {
  align-items: center;
  text-align: center;
  gap: 2px;
}
.dhtv-cell-cang-code {
  font-size: clamp(14px, 1.2vw, 17px);
  font-weight: 800;
  color: #1d4ed8;
}
.dhtv-cell-cang-name {
  font-size: clamp(11px, 1vw, 13px);
  font-weight: 600;
  color: #64748b;
  line-height: 1.15;
  /* Prefer breaking at spaces/underscores; only split mid-word as a last resort so English
     names like "Phillipsburg" don't get cut in half ("Phillips"/"burg") the way a plain
     word-break: break-word did. */
  word-break: normal;
  overflow-wrap: break-word;
}

.dhtv-cell-progress {
  gap: 6px;
}
.dhtv-progress-numbers {
  text-align: center;
  font-size: clamp(16px, 1.6vw, 22px);
  font-weight: 800;
  color: #0f172a;
}
.dhtv-progress-sub-cartons {
  text-align: center;
  font-size: clamp(12px, 1.15vw, 15px);
  font-weight: 700;
  color: #ea580c;
  line-height: 1.2;
  margin-top: -2px;
}
.dhtv-progress-sub-cartons-inline {
  font-size: 13px;
  font-weight: 700;
  color: #ea580c;
  white-space: nowrap;
}
.dhtv-progress-slash {
  color: #94a3b8;
  font-weight: 400;
}
.dhtv-progress-track-row {
  display: flex;
  align-items: center;
  gap: 8px;
}
.dhtv-progress-track {
  flex: 1 1;
  height: 12px;
  border-radius: 999px;
  background: #e5e9f0;
  overflow: hidden;
}
.dhtv-progress-fill {
  height: 100%;
  border-radius: 999px;
  transition: width 0.4s ease;
}
.dhtv-level-green { background: linear-gradient(90deg, #16a34a, #4ade80); }
.dhtv-level-yellow { background: linear-gradient(90deg, #ca8a04, #facc15); }
.dhtv-level-orange { background: linear-gradient(90deg, #c2410c, #fb923c); }
.dhtv-level-red { background: linear-gradient(90deg, #b91c1c, #f87171); }

.dhtv-progress-pct {
  flex: 0 0 auto;
  font-size: 13px;
  font-weight: 800;
  padding: 2px 8px;
  border-radius: 999px;
}
.dhtv-level-badge-green { background: #dcfce7; color: #15803d; }
.dhtv-level-badge-yellow { background: #fef9c3; color: #a16207; }
.dhtv-level-badge-orange { background: #ffedd5; color: #c2410c; }
.dhtv-level-badge-red { background: #fee2e2; color: #b91c1c; }

.dhtv-cell-detail {
  padding: 6px 10px;
  height: 100%;
  position: relative;
  cursor: pointer;
  border-radius: 8px;
  transition: background 0.15s ease;
}
.dhtv-cell-detail:hover {
  background: #f1f5fb;
}

.dhtv-expand-badge {
  position: absolute;
  top: 6px;
  right: 6px;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 6px;
  background: rgba(15, 30, 77, 0.85);
  color: #ffffff;
  pointer-events: none;
}

/* ===== Detail breakdown table (Màu/Size) ===== */
.dhtv-detail-scroll {
  border-radius: 8px;
  border: 1px solid #e2e8f0;
}

.dhtv-detail-compact {
  height: 100%;
  /* overflow: clip (không phải hidden) để ô chi tiết chỉ bị CẮT chứ không thành vùng cuộn riêng:
     "hidden" vẫn là scroll container nên lăn chuột trên ô này bị ăn mất, không cuộn được bảng
     8/12 list ở ngoài. Dòng "hidden" giữ lại làm dự phòng cho trình duyệt cũ. */
  overflow: hidden;
  overflow: clip;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
}

/* Bàn tay + chữ nhấp nháy ~mỗi 15s gợi ý có thể bấm vào xem chi tiết */
.dhtv-tap-hint {
  position: absolute;
  top: 55%;
  left: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  transform: translate(-50%, -70%) scale(0.6);
  opacity: 0;
  pointer-events: none;
  z-index: 3;
  animation: dhtv-tap-cycle 15s ease-in-out infinite;
}
.dhtv-tap-hint-icon {
  font-size: 32px;
  filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.35));
}
.dhtv-tap-hint-text {
  background: rgba(15, 30, 77, 0.9);
  color: #ffffff;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
  padding: 4px 10px;
  border-radius: 999px;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.25);
}

@keyframes dhtv-tap-cycle {
  0%, 78% {
    opacity: 0;
    transform: translate(-50%, -70%) scale(0.6);
  }
  83% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
  89% {
    opacity: 1;
    transform: translate(-50%, -32%) scale(0.85);
  }
  94% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -70%) scale(0.6);
  }
}

.dhtv-detail-expanded {
  overflow-y: auto;
  display: flex;
  flex-direction: column;
}

.dhtv-detail-empty {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #94a3b8;
  font-size: 13px;
  font-style: italic;
}

.dhtv-detail-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.dhtv-detail-table thead th {
  position: sticky;
  top: 0;
  background: #0f1e4d;
  color: #ffffff;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  padding: 6px 8px;
  text-align: center;
  z-index: 1;
}
.dhtv-detail-table thead th.dhtv-corner,
.dhtv-detail-table thead th:nth-child(2) {
  text-align: left;
}

/* Targets the group-label column by class, not :first-child/:nth-child - the label td has
   rowSpan={5}, so only the FIRST of every 5 body rows actually has it as a DOM child; the other
   4 rows start with the "Loại" td instead, which would make position-based selectors match the
   wrong cell in those rows. */
.dhtv-detail-table th.dhtv-corner,
.dhtv-detail-table td.dhtv-detail-group-label {
  width: 90px;
  max-width: 90px;
}

/* Compact preview (in-row, before expanding): Màu/Size, Loại và Tổng stay fixed-width so these
   columns line up identically across every list's preview table on screen - only the size
   columns (their count varies per list) stretch to fill whatever width is left. The expanded
   modal table is untouched (no table-layout: fixed there), it already reads fine as-is. */
.dhtv-detail-compact .dhtv-detail-table {
  table-layout: fixed;
}
.dhtv-detail-compact .dhtv-detail-table th:nth-child(2),
.dhtv-detail-compact .dhtv-detail-table td.dhtv-row-tag {
  width: 90px;
  max-width: 90px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dhtv-detail-compact .dhtv-detail-table th:nth-child(3),
.dhtv-detail-compact .dhtv-detail-table td.dhtv-row-tag-total {
  width: 58px;
  max-width: 58px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dhtv-detail-expanded .dhtv-detail-table th.dhtv-corner,
.dhtv-detail-expanded .dhtv-detail-table td.dhtv-detail-group-label {
  width: 150px;
  max-width: 150px;
}

.dhtv-detail-table td {
  padding: 5px 8px;
  text-align: center;
  border-bottom: 1px solid #eef1f6;
  color: #334155;
}

.dhtv-detail-group-label {
  text-align: left;
  font-weight: 700;
  font-size: 0.85em;
  vertical-align: middle;
  color: #0f172a;
  background: #f8fafc;
  border-right: 1px solid #eef1f6;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.dhtv-total-label {
  color: #1d4ed8;
}

.dhtv-row-tag {
  text-align: left;
  font-weight: 600;
  color: #64748b;
}
.dhtv-row-tag-total {
  font-weight: 800;
}

.dhtv-row-required td { background: #e8f0fe; border-top: 2px solid #94a3b8; }
.dhtv-row-required .dhtv-row-tag,
.dhtv-row-required .dhtv-row-tag-total { color: #1565c0; }

.dhtv-row-imported td { background: #e8f5e9; }
.dhtv-row-imported .dhtv-row-tag,
.dhtv-row-imported .dhtv-row-tag-total { color: #2e7d32; }

.dhtv-row-remaining td { background: #fdeaea; }
.dhtv-row-remaining .dhtv-row-tag { color: #b91c1c; }
.dhtv-row-remaining .dhtv-row-tag-total { color: #b91c1c; }

/* Đã đóng hàng / Chưa đóng hàng: chưa có dữ liệu thật, tạm để 0, sẽ bổ sung sau */
.dhtv-row-packed td { background: #e6f4ea; }
.dhtv-row-packed .dhtv-row-tag,
.dhtv-row-packed .dhtv-row-tag-total { color: #1b7a3d; }

.dhtv-row-notpacked td { background: #fdf1e0; }
.dhtv-row-notpacked .dhtv-row-tag,
.dhtv-row-notpacked .dhtv-row-tag-total { color: #b5650a; }

.dhtv-row-total td {
  font-weight: 700;
}

.dhtv-detail-table-lg {
  font-size: 16px;
}
.dhtv-detail-table-lg thead th {
  font-size: 13px;
  padding: 10px 12px;
}
.dhtv-detail-table-lg td {
  padding: 8px 12px;
}

/* ===== Modal xem chi tiết - co giãn vừa nội dung, tối đa gần kín màn hình khi nhiều màu ===== */
.dhtv-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  padding: 24px;
}

.dhtv-modal {
  background: #ffffff;
  width: min(1700px, 95vw);
  max-height: 92vh;
  display: flex;
  flex-direction: column;
  padding: 20px 32px;
  box-sizing: border-box;
  border-radius: 16px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);
}

.dhtv-modal-header {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 14px;
  flex: 0 0 auto;
}
.dhtv-modal-header h2 {
  margin: 0;
  font-size: 24px;
  font-weight: 800;
  color: #1d4ed8;
  white-space: nowrap;
}
.dhtv-modal-sub {
  font-size: 14px;
  color: #64748b;
  font-weight: 600;
  white-space: nowrap;
}
.dhtv-modal-cang {
  font-size: 14px;
  font-weight: 700;
  color: #334155;
  white-space: nowrap;
  padding: 4px 12px;
  background: #eef2f7;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
}
.dhtv-modal-close {
  background: #f1f5f9;
  border: none;
  color: #475569;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  margin-left: auto;
  flex: 0 0 auto;
}
.dhtv-modal-close:hover {
  background: #e2e8f0;
}

.dhtv-progress-inline {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1 1;
  max-width: 480px;
}
.dhtv-progress-numbers-inline {
  font-size: 18px;
  font-weight: 800;
  color: #0f172a;
  white-space: nowrap;
}
.dhtv-progress-inline .dhtv-progress-track {
  flex: 1 1;
}

.dhtv-modal-body {
  flex: 1 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.dhtv-modal-body .dhtv-detail-scroll {
  flex: 1 1;
  min-height: 0;
}

/* ===== Legend footer ===== */
.dhtv-legend {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 8px 18px;
  font-size: 13px;
  font-weight: 600;
  color: #475569;
  box-shadow: 0 4px 14px rgba(30, 41, 59, 0.06);
}

.dhtv-legend-item {
  display: flex;
  align-items: center;
  gap: 8px;
}

.dhtv-legend-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  display: inline-block;
}

@media (max-width: 1100px) {
  .dhtv-row {
    grid-template-columns: 44px 130px 90px 100px 190px minmax(0, 1fr);
  }
}

@media (max-width: 700px) {
  .dhtv-row {
    grid-template-columns: 26px 76px 54px 62px 76px minmax(0, 1fr);
  }
  .dhtv-row-head .dhtv-cell {
    font-size: 10px;
    padding: 6px 4px;
  }
}

/* Màn nhỏ (vd 1366x768): thu nhỏ còn ~67% để vừa đủ hiển thị hết nội dung trên toàn màn hình,
   thay vì hiển thị đúng cỡ gốc (dễ bị tràn/cắt bớt do ít chỗ hơn màn 1920x1080). */
@media (max-width: 1600px) {
  .dhtv-root {
    width: 150vw;
    height: 150vh;
    transform: scale(0.67);
    transform-origin: top left;
  }

  /* .dhtv-modal dùng vw/vh nên tính theo màn hình thật, không theo khung .dhtv-root đã phóng to;
     nhân lại 1/0.67 để sau khi bị scale(0.67) kèm theo .dhtv-root thì kích thước hiển thị vẫn đúng như cũ. */
  .dhtv-modal {
    width: min(2537px, 142vw);
    max-height: 137.3vh;
  }
}

.ddhct-root {
  height: 100vh;
  width: 100%;
  overflow: hidden;
  background: linear-gradient(180deg, #f4f6fb 0%, #eef1f8 100%);
  color: #1e293b;
  font-family: "Segoe UI", Roboto, Arial, sans-serif;
  display: flex;
  flex-direction: column;
  padding: 1.4vh 1.4vw;
  box-sizing: border-box;
  gap: 1.2vh;
}

.ddhct-loading,
.ddhct-error {
  flex: 1 1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  color: #64748b;
}
.ddhct-error {
  color: #b91c1c;
}

/* ===== Hàng đầu trang: dải menu (bên trái) + thẻ NHẬP KHO đứng riêng (bên phải) ===== */
.ddhct-header {
  flex: 0 0 auto;
  display: flex;
  align-items: stretch;
  gap: 10px;
  min-width: 0;
}

/* ===== Banner: MH / PO / CẢNG / NGÀY XUẤT ===== */
.ddhct-banner {
  /* Nằm trong .ddhct-header nên co giãn lấp phần còn lại sau khi trừ chỗ thẻ NHẬP KHO. */
  flex: 1 1;
  min-width: 0;
  display: flex;
  align-items: stretch;
  background: linear-gradient(120deg, #0b1a4a 0%, #14275f 60%, #1b3a8a 100%);
  border-radius: 12px;
  box-shadow: 0 8px 22px rgba(15, 23, 60, 0.28);
  overflow: hidden;
}

.ddhct-banner-item {
  flex: 1 1;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  color: #ffffff;
  /* 6 ô trên cùng 1 hàng (MH/PO/CẢNG/NHẬP KHO/SL CẦN XUẤT-ĐÃ XUẤT/NGÀY XUẤT) nên chữ phải nhỏ hơn
     trước (hồi 5 ô) mới đủ chỗ, không thì bị cắt bớt (text-overflow: ellipsis). */
  font-size: clamp(9px, 0.75vw, 11px);
  font-weight: 800;
  letter-spacing: 0.1px;
  padding: 0.7vh 8px;
  border-right: 1px solid rgba(255, 255, 255, 0.22);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ddhct-banner-item:last-child {
  border-right: none;
}
/* Ô "SL CẦN XUẤT/ĐÃ XUẤT" luôn dài chữ nhất trong dải banner (2 số cộng lại) nên cho rộng hơn các
   ô còn lại một chút để không bị cắt chữ. */
.ddhct-banner-item-wide {
  flex: 1.35 1;
}

/* Ô "SL CẦN XUẤT/ĐÃ XUẤT" có thanh tiến độ riêng (số trên, thanh+% dưới) nên không dùng
   nowrap/ellipsis của ô thường - tự lo bố cục 2 dòng bên trong. */
.ddhct-banner-progress-item {
  white-space: normal;
  overflow: visible;
  text-overflow: initial;
}
.ddhct-banner-progress {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
  flex: 1 1;
}
.ddhct-banner-progress-numbers {
  font-size: 1.15em;
  font-weight: 800;
  color: #ffffff;
  white-space: nowrap;
  letter-spacing: 0.2px;
  text-align: center;
}
.ddhct-banner-progress-slash {
  opacity: 0.5;
  font-weight: 400;
  margin: 0 1px;
}
.ddhct-banner-progress-track-row {
  display: flex;
  align-items: center;
  gap: 8px;
}
.ddhct-banner-progress-track {
  flex: 1 1;
  min-width: 40px;
  height: 7px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.16);
  overflow: hidden;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.35);
}
.ddhct-banner-progress-fill {
  height: 100%;
  border-radius: 999px;
  transition: width 0.4s ease;
}
.ddhct-plevel-green { background: linear-gradient(90deg, #16a34a, #4ade80); }
.ddhct-plevel-yellow { background: linear-gradient(90deg, #ca8a04, #facc15); }
.ddhct-plevel-orange { background: linear-gradient(90deg, #c2410c, #fb923c); }
.ddhct-plevel-red { background: linear-gradient(90deg, #b91c1c, #f87171); }

/* Bỏ kiểu pill nền cho % (nhìn lạc lõng trên banner tối) - dùng chữ đậm màu theo mức, gọn hơn. */
.ddhct-banner-progress-pct {
  flex: 0 0 auto;
  font-size: 0.95em;
  font-weight: 900;
}
.ddhct-plevel-text-green { color: #4ade80; }
.ddhct-plevel-text-yellow { color: #facc15; }
.ddhct-plevel-text-orange { color: #fb923c; }
.ddhct-plevel-text-red { color: #f87171; }
.ddhct-banner-item svg {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  opacity: 0.9;
}

/* ===== Thẻ NHẬP KHO: khối RIÊNG đứng cạnh dải menu, không nằm trong menu =====
   Trước đây số này là 1 ô của menu rồi phải phóng to/đè (overlay) ra ngoài mép menu mới đủ to -
   luôn chắp vá (khi thì che ô "%" bên cạnh, khi thì đội menu cao lên làm bảng tràn phải cuộn).
   Nay tách hẳn thành thẻ riêng: có nền/bo góc/đổ bóng cùng ngôn ngữ thiết kế với menu và khung
   bảng, cao bằng menu (align-items:stretch của .ddhct-header), cách menu 1 khoảng gap rõ ràng.
   Nhờ vậy số to thoải mái trong phạm vi thẻ mà không đè lên bất cứ thứ gì, không cần position
   absolute, và cũng không làm menu cao thêm. Nhãn chữ "NHẬP KHO" đã bỏ (icon nhà kho + tooltip
   là đủ) để dồn hết diện tích cho con số. */
.ddhct-nhapkho-card {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 0 24px;
  border-radius: 12px;
  background: linear-gradient(135deg, #05291d 0%, #0a3d2a 55%, #0d5138 100%);
  border: 1.5px solid rgba(52, 211, 153, 0.45);
  box-shadow: 0 8px 22px rgba(15, 23, 60, 0.28), inset 0 0 24px rgba(52, 211, 153, 0.12);
}
.ddhct-nhapkho-card svg {
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  color: #6ee7b7;
  opacity: 0.95;
}
.ddhct-nhapkho-card-value {
  font-size: clamp(28px, 3.4vw, 44px);
  font-weight: 900;
  color: #34d399;
  text-shadow: 0 0 16px rgba(52, 211, 153, 0.75);
  line-height: 1;
  letter-spacing: 0.3px;
  white-space: nowrap;
}

/* ===== Table ===== */
.ddhct-table-wrap {
  flex: 1 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 6px 20px rgba(30, 41, 59, 0.1);
  border: 1px solid #e2e8f0;
}

.ddhct-table-scroll {
  flex: 1 1;
  min-height: 0;
  overflow-y: auto;
}

.ddhct-table {
  width: 100%;
  height: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.ddhct-table thead th {
  position: sticky;
  top: 0;
  background: #0f1e4d;
  color: #ffffff;
  font-size: clamp(12px, 1.1vw, 15px);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  padding: 1vh 8px;
  text-align: center;
  z-index: 1;
}
.ddhct-table th.ddhct-corner,
.ddhct-table td.ddhct-group-label {
  width: 12%;
}
.ddhct-table th:nth-child(2),
.ddhct-table td.ddhct-row-tag {
  width: 15%;
}
.ddhct-table th:nth-child(3),
.ddhct-table td.ddhct-row-total {
  width: 12%;
}

.ddhct-table td {
  /* --ddhct-font/--ddhct-pad-y được JS tính lại theo tổng số dòng (số màu) của mã hàng đang hiện,
     để dù mã hàng có 2 màu hay 6 màu thì cả bảng vẫn luôn vừa đúng 1 màn hình, không cần cuộn. */
  padding: 0.9vh 8px;
  padding: var(--ddhct-pad-y, 0.9vh) 8px;
  text-align: center;
  border-bottom: 1px solid #eef1f6;
  color: #334155;
  font-size: clamp(13px, 1.3vw, 18px);
  font-size: var(--ddhct-font, clamp(13px, 1.3vw, 18px));
  font-weight: 700;
  line-height: 1.15;
}

/* Số vừa đổi (do vừa quét nhập kho/đóng hàng mới) tự phóng to lên rồi thu nhỏ lại (zoom) trong lúc
   đang đếm dần từ giá trị cũ lên giá trị mới (xem TickingNumber trong .jsx) - đập vào mắt ngay chỗ
   số vừa đổi thay vì phải để ý cả ô. z-index cao để số phóng to không bị các ô lân cận đè lên. */
@keyframes ddhct-number-zoom {
  0% {
    transform: scale(1) translateY(0);
    color: inherit;
    text-shadow: none;
  }
  30% {
    /* Nhảy lên + phóng to mạnh ngay khi số vừa đổi - đây là lúc mắt phải bắt được, nên đẩy lên
       cao và to nhất ở đây. */
    transform: scale(1.7) translateY(-0.4em);
    color: #f59e0b;
    text-shadow: 0 6px 16px rgba(245, 158, 11, 0.7);
  }
  60% {
    /* Rơi xuống lại nhưng vẫn còn to hơn bình thường một chút, tạo cảm giác nảy (bounce) thay vì
       phóng to rồi thu nhỏ tại chỗ. */
    transform: scale(1.25) translateY(0.05em);
    color: #f59e0b;
    text-shadow: 0 3px 10px rgba(245, 158, 11, 0.5);
  }
  100% {
    transform: scale(1) translateY(0);
    color: inherit;
    text-shadow: none;
  }
}
.ddhct-number-zoom {
  display: inline-block;
  position: relative;
  z-index: 5;
  animation: ddhct-number-zoom 0.9s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* Đổi sang mã hàng KHÁC (bám theo mã hàng đang được đóng thật) -> cả banner và bảng chi tiết cùng
   chuyển cảnh (mờ dần + trượt nhẹ + nét dần) trong ~0.6s thay vì đổi nội dung cộc lốc. */
@keyframes ddhct-scene-enter {
  0% {
    opacity: 0;
    transform: scale(0.965) translateY(14px);
    filter: blur(3px);
  }
  60% {
    opacity: 1;
    filter: blur(0);
  }
  100% {
    opacity: 1;
    transform: scale(1) translateY(0);
    filter: blur(0);
  }
}
.ddhct-scene-enter {
  animation: ddhct-scene-enter 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

/* Chú ý specificity: ".ddhct-table td" (class+thẻ) cụ thể hơn 1 class đơn lẻ, nên các ô đè kiểu
   riêng bên dưới đều phải viết dạng "td.ten-class" (thêm thẻ td) để thắng được luật chung đó -
   nếu không, text-align/font-weight riêng sẽ âm thầm bị luật chung ở trên đè mất. */
td.ddhct-group-label {
  text-align: center;
  font-weight: 800;
  vertical-align: middle;
  color: #0f172a;
  background: #f8fafc;
  border-right: 2px solid #e2e8f0;
}
td.ddhct-group-label-total {
  color: #1d4ed8;
}

/* display:flex trên <td> phá vỡ cách trình duyệt tính chiều cao dòng của bảng (không còn đoán
   trước được nữa) - giữ td là table-cell bình thường, căn icon+chữ giữa dòng bằng vertical-align
   để chiều cao dòng vẫn chỉ phụ thuộc font-size/padding như JS đã tính. */
td.ddhct-row-tag {
  text-align: left;
  font-weight: 700;
  color: #475569;
  white-space: nowrap;
}
.ddhct-row-icon {
  display: inline-block;
  vertical-align: middle;
  width: 22px;
  width: var(--ddhct-icon, 22px);
  height: 22px;
  height: var(--ddhct-icon, 22px);
  margin-right: 10px;
}
.ddhct-row-tag span {
  vertical-align: middle;
}

td.ddhct-row-total {
  font-weight: 900;
  color: #0f172a;
  font-size: calc(16px * 1.08);
  font-size: calc(var(--ddhct-font, 16px) * 1.08);
}

/* Mỗi nhóm (TỔNG CỘNG / từng màu) luôn bắt đầu bằng dòng "required" -> dùng chính nó làm vạch
   phân cách rõ giữa các nhóm, kẻ suốt cả dòng (không chỉ riêng ô nhãn nhóm). */
.ddhct-row-required td { background: #e2ecfb; border-top: 2px solid #b6c3da; }
.ddhct-row-required .ddhct-row-tag { color: #1d4ed8; }

.ddhct-row-nhap_kho td { background: #dff3e5; }
.ddhct-row-nhap_kho .ddhct-row-tag { color: #2e7d32; }

.ddhct-row-missing td { background: #f1e4f7; }
.ddhct-row-missing .ddhct-row-tag { color: #7e22ce; }

.ddhct-row-da_dong td { background: #d9f2e2; }
.ddhct-row-da_dong .ddhct-row-tag { color: #1b7a3d; }

.ddhct-row-chua_dong td { background: #fbe6cb; }
.ddhct-row-chua_dong .ddhct-row-tag { color: #b5650a; }

.ddhct-empty {
  flex: 1 1;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #94a3b8;
  font-size: 16px;
  font-style: italic;
}

/* Tối ưu riêng cho tivi 1366x768: giảm nhẹ padding/khoảng cách để không bị tràn theo chiều cao. */
@media (max-width: 1400px) and (max-height: 800px) {
  .ddhct-root {
    padding: 1vh 1vw;
    gap: 0.8vh;
  }
  .ddhct-banner-item {
    padding: 1vh 8px;
  }
}

/* Màn hình TV "TIẾN ĐỘ MAPPING RFID" - cùng ngôn ngữ thiết kế với DashboardDongHang.css
   (xanh navy đậm + thẻ trắng), tiền tố rfmp- riêng để 2 bảng không đè style lẫn nhau. */

.rfmp-root {
  height: 100vh;
  width: 100%;
  overflow: hidden;
  background: linear-gradient(180deg, #f4f6fb 0%, #eef1f8 100%);
  color: #1e293b;
  font-family: "Segoe UI", Roboto, Arial, sans-serif;
  display: flex;
  flex-direction: column;
  padding: 16px 24px;
  box-sizing: border-box;
  gap: 12px;
}

/* ===== Top bar ===== */
.rfmp-topbar {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  background: linear-gradient(120deg, #0b1a4a 0%, #14275f 60%, #1b3a8a 100%);
  border-radius: 14px;
  padding: 12px 22px;
  box-shadow: 0 8px 22px rgba(15, 23, 60, 0.28);
}

.rfmp-topbar-title {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #ffffff;
  min-width: 0;
}

.rfmp-topbar-title h1 {
  font-size: clamp(18px, 2vw, 26px);
  font-weight: 800;
  letter-spacing: 0.5px;
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.rfmp-topbar-chips {
  display: flex;
  align-items: center;
  gap: 10px;
}

.rfmp-chip {
  display: flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.25);
  color: #ffffff;
  padding: 8px 14px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
}

/* Ô chọn ngày mốc - nằm ngay trong chip để không phá bố cục thanh tiêu đề */
.rfmp-chip-date {
  gap: 6px;
}
.rfmp-chip-date-active {
  background: rgba(250, 204, 21, 0.22);
  border-color: rgba(250, 204, 21, 0.65);
}
.rfmp-chip-date-label {
  white-space: nowrap;
}
.rfmp-date-input {
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 8px;
  color: #0f1e4d;
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  padding: 3px 6px;
  cursor: pointer;
}
.rfmp-date-input::-webkit-calendar-picker-indicator {
  cursor: pointer;
}
.rfmp-date-reset {
  background: #facc15;
  border: none;
  border-radius: 8px;
  color: #0f1e4d;
  cursor: pointer;
  font-family: inherit;
  font-size: 12px;
  font-weight: 800;
  padding: 4px 10px;
  white-space: nowrap;
}
.rfmp-date-reset:hover {
  background: #fde047;
}

/* Chip "Cập nhật": đèn xanh nhấp nháy theo nhịp tải lại để nhìn xa vẫn biết bảng còn sống */
.rfmp-chip-updated {
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
}
.rfmp-updated-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #4ade80;
  box-shadow: 0 0 8px rgba(74, 222, 128, 0.9);
  animation: rfmp-pulse 2s ease-in-out infinite;
}
@keyframes rfmp-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.25; }
}

.rfmp-fullscreen-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.25);
  color: #ffffff;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  cursor: pointer;
  opacity: 0.7;
  transition: opacity 0.2s;
}
.rfmp-fullscreen-btn:hover {
  opacity: 1;
}

.rfmp-error-banner {
  flex: 0 0 auto;
  background: #fee2e2;
  color: #b91c1c;
  padding: 10px 16px;
  border-radius: 10px;
  font-size: 15px;
  font-weight: 600;
}

.rfmp-loading {
  flex: 1 1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  color: #64748b;
}

/* ===== Bảng chính ===== */
.rfmp-table {
  flex: 1 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 6px 20px rgba(30, 41, 59, 0.1);
  border: 1px solid #e2e8f0;
}

/* Không có cột CẢNG riêng như bảng đóng hàng - cảng/PO đã nằm ở dòng tiêu đề của khối chi tiết. */
.rfmp-row {
  display: grid;
  grid-template-columns: 50px 210px 110px 270px minmax(0, 1fr);
  align-items: stretch;
  border-bottom: 1px solid #e5e9f0;
}
.rfmp-row:last-child {
  border-bottom: none;
}

.rfmp-row-head {
  flex: 0 0 auto;
  background: #0f1e4d;
  color: #ffffff;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.4px;
}
.rfmp-row-head .rfmp-cell {
  padding: 10px 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #ffffff;
}

.rfmp-row:not(.rfmp-row-head) {
  flex: 1 1;
  min-height: 0;
}
.rfmp-row:not(.rfmp-row-head):nth-of-type(odd) {
  background: #fafbfe;
}

.rfmp-row-empty {
  align-items: center;
  justify-content: center;
  display: flex;
  grid-template-columns: none;
}
.rfmp-empty-text {
  color: #94a3b8;
  font-size: 15px;
  font-style: italic;
}

.rfmp-cell {
  padding: 8px 12px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  min-height: 0;
  border-right: 1px solid #eef1f6;
}
.rfmp-cell:last-child {
  border-right: none;
}

.rfmp-cell-stt {
  align-items: center;
  text-align: center;
  font-size: 15px;
  font-weight: 700;
  color: #64748b;
}

.rfmp-cell-mahang {
  align-items: center;
  text-align: center;
  font-size: clamp(15px, 1.4vw, 19px);
  font-weight: 800;
  color: #1d4ed8;
  word-break: break-word;
}

.rfmp-cell-date {
  align-items: center;
  text-align: center;
  gap: 2px;
}
.rfmp-cell-weekday {
  font-size: 11px;
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: 0.4px;
}
.rfmp-cell-day {
  font-size: 15px;
  font-weight: 700;
  color: #334155;
}

/* ===== Cột tiến độ ===== */
.rfmp-cell-progress {
  gap: 6px;
}
.rfmp-progress-numbers {
  text-align: center;
  font-size: clamp(16px, 1.6vw, 22px);
  font-weight: 800;
  color: #0f172a;
}
.rfmp-progress-sub {
  text-align: center;
  font-size: clamp(12px, 1.15vw, 15px);
  font-weight: 700;
  color: #dc2626;
  line-height: 1.2;
  margin-top: -2px;
}
.rfmp-progress-slash {
  color: #94a3b8;
  font-weight: 400;
}
.rfmp-progress-track-row {
  display: flex;
  align-items: center;
  gap: 8px;
}
.rfmp-progress-track {
  flex: 1 1;
  height: 12px;
  border-radius: 999px;
  background: #e5e9f0;
  overflow: hidden;
}
.rfmp-progress-fill {
  height: 100%;
  border-radius: 999px;
  transition: width 0.4s ease;
}
.rfmp-level-green { background: linear-gradient(90deg, #16a34a, #4ade80); }
.rfmp-level-yellow { background: linear-gradient(90deg, #ca8a04, #facc15); }
.rfmp-level-orange { background: linear-gradient(90deg, #c2410c, #fb923c); }
.rfmp-level-red { background: linear-gradient(90deg, #b91c1c, #f87171); }

.rfmp-progress-pct {
  flex: 0 0 auto;
  font-size: 13px;
  font-weight: 800;
  padding: 2px 8px;
  border-radius: 999px;
}
.rfmp-level-badge-green { background: #dcfce7; color: #15803d; }
.rfmp-level-badge-yellow { background: #fef9c3; color: #a16207; }
.rfmp-level-badge-orange { background: #ffedd5; color: #c2410c; }
.rfmp-level-badge-red { background: #fee2e2; color: #b91c1c; }

/* ===== Ô chi tiết ===== */
.rfmp-cell-detail {
  padding: 6px 10px;
  height: 100%;
  position: relative;
  cursor: pointer;
  border-radius: 8px;
  transition: background 0.15s ease;
  gap: 6px;
}
.rfmp-cell-detail:hover {
  background: #f1f5fb;
}

.rfmp-expand-badge {
  position: absolute;
  top: 6px;
  right: 6px;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 6px;
  background: rgba(15, 30, 77, 0.85);
  color: #ffffff;
  pointer-events: none;
}

/* Dòng tiêu đề MH / PO / CẢNG / NGÀY XUẤT của khối chi tiết */
.rfmp-detail-head {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 4px 34px 4px 8px;
  font-size: clamp(11px, 1vw, 13px);
  white-space: nowrap;
  overflow: hidden;
}
.rfmp-detail-head-item {
  display: flex;
  align-items: baseline;
  gap: 5px;
  min-width: 0;
}
.rfmp-detail-head-label {
  color: #64748b;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
.rfmp-detail-head-value {
  color: #334155;
  font-weight: 700;
}
.rfmp-detail-head-mh,
.rfmp-detail-head-po {
  color: #1d4ed8;
  font-weight: 800;
}
.rfmp-detail-head-cang {
  min-width: 0;
  overflow: hidden;
}
.rfmp-detail-head-cang .rfmp-detail-head-value {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ===== Bảng chi tiết (Màu/Size) ===== */
.rfmp-detail-scroll {
  border-radius: 8px;
  border: 1px solid #e2e8f0;
}

.rfmp-detail-compact {
  flex: 1 1;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
}

/* Bàn tay + chữ nhấp nháy ~mỗi 15s gợi ý có thể bấm vào xem chi tiết */
.rfmp-tap-hint {
  position: absolute;
  top: 55%;
  left: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  transform: translate(-50%, -70%) scale(0.6);
  opacity: 0;
  pointer-events: none;
  z-index: 3;
  animation: rfmp-tap-cycle 15s ease-in-out infinite;
}
.rfmp-tap-hint-icon {
  font-size: 32px;
  filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.35));
}
.rfmp-tap-hint-text {
  background: rgba(15, 30, 77, 0.9);
  color: #ffffff;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
  padding: 4px 10px;
  border-radius: 999px;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.25);
}

@keyframes rfmp-tap-cycle {
  0%, 78% {
    opacity: 0;
    transform: translate(-50%, -70%) scale(0.6);
  }
  83% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
  89% {
    opacity: 1;
    transform: translate(-50%, -32%) scale(0.85);
  }
  94% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -70%) scale(0.6);
  }
}

.rfmp-detail-expanded {
  overflow-y: auto;
  display: flex;
  flex-direction: column;
}

.rfmp-detail-empty {
  flex: 1 1;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #94a3b8;
  font-size: 13px;
  font-style: italic;
}

.rfmp-detail-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.rfmp-detail-table thead th {
  position: sticky;
  top: 0;
  background: #0f1e4d;
  color: #ffffff;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  padding: 6px 8px;
  text-align: center;
  z-index: 1;
}
/* Chỉ ô góc "Màu \ Size" canh trái; cột "Loại" canh giữa cho cân với các cột số bên phải. */
.rfmp-detail-table thead th.rfmp-corner {
  text-align: left;
}

/* Chọn cột nhãn nhóm bằng class, KHÔNG dùng :first-child/:nth-child - ô nhãn có rowSpan={3} nên chỉ
   dòng đầu của mỗi nhóm 3 dòng mới thật sự có nó là con đầu tiên; 2 dòng còn lại bắt đầu bằng ô
   "Loại", chọn theo vị trí sẽ trúng sai ô. */
.rfmp-detail-table th.rfmp-corner,
.rfmp-detail-table td.rfmp-detail-group-label {
  width: 90px;
  max-width: 90px;
}

/* Bản xem gọn trong dòng: Màu/Size, Loại, Tổng cố định bề rộng để mọi dòng trên màn hình thẳng cột
   nhau - chỉ các cột size (số lượng cột khác nhau theo từng mã hàng) mới giãn ra lấp chỗ còn lại. */
.rfmp-detail-compact .rfmp-detail-table {
  table-layout: fixed;
}
/* "Cần mapping"/"Đã mapping"/"Còn thiếu" là chữ dài nhất trong bảng - để cột Loại đủ rộng cho chúng
   hiện trọn 1 dòng, không bị cắt bằng dấu "...". */
.rfmp-detail-compact .rfmp-detail-table th:nth-child(2),
.rfmp-detail-compact .rfmp-detail-table td.rfmp-row-tag {
  width: 124px;
  max-width: 124px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rfmp-detail-compact .rfmp-detail-table th:nth-child(3),
.rfmp-detail-compact .rfmp-detail-table td.rfmp-row-tag-total {
  width: 62px;
  max-width: 62px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rfmp-detail-expanded .rfmp-detail-table th.rfmp-corner,
.rfmp-detail-expanded .rfmp-detail-table td.rfmp-detail-group-label {
  width: 150px;
  max-width: 150px;
}

.rfmp-detail-table td {
  padding: 5px 8px;
  text-align: center;
  border-bottom: 1px solid #eef1f6;
  color: #334155;
}

.rfmp-detail-group-label {
  text-align: left;
  font-weight: 700;
  font-size: 0.85em;
  vertical-align: middle;
  color: #0f172a;
  background: #f8fafc;
  border-right: 1px solid #eef1f6;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rfmp-total-label {
  color: #1d4ed8;
}

.rfmp-row-tag {
  text-align: center;
  font-weight: 600;
  color: #64748b;
}
.rfmp-row-tag-total {
  font-weight: 800;
}

.rfmp-row-required td { background: #e8f0fe; border-top: 2px solid #94a3b8; }
.rfmp-row-required .rfmp-row-tag,
.rfmp-row-required .rfmp-row-tag-total { color: #1565c0; }

.rfmp-row-mapped td { background: #e8f5e9; }
.rfmp-row-mapped .rfmp-row-tag,
.rfmp-row-mapped .rfmp-row-tag-total { color: #2e7d32; }

.rfmp-row-remaining td { background: #fdeaea; }
.rfmp-row-remaining .rfmp-row-tag,
.rfmp-row-remaining .rfmp-row-tag-total { color: #b91c1c; }

.rfmp-row-total td {
  font-weight: 700;
}

.rfmp-detail-table-lg {
  font-size: 16px;
}
.rfmp-detail-table-lg thead th {
  font-size: 13px;
  padding: 10px 12px;
}
.rfmp-detail-table-lg td {
  padding: 8px 12px;
}

/* ===== Popup xem chi tiết ===== */
.rfmp-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  padding: 24px;
}

.rfmp-modal {
  background: #ffffff;
  width: min(1700px, 95vw);
  max-height: 92vh;
  display: flex;
  flex-direction: column;
  padding: 20px 32px;
  box-sizing: border-box;
  border-radius: 16px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);
}

.rfmp-modal-header {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 14px;
  flex: 0 0 auto;
}
.rfmp-modal-header h2 {
  margin: 0;
  font-size: 24px;
  font-weight: 800;
  color: #1d4ed8;
  white-space: nowrap;
}
.rfmp-modal-sub {
  font-size: 14px;
  color: #64748b;
  font-weight: 600;
  white-space: nowrap;
}
.rfmp-modal-cang {
  font-size: 14px;
  font-weight: 700;
  color: #334155;
  white-space: nowrap;
  padding: 4px 12px;
  background: #eef2f7;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
}
.rfmp-modal-close {
  background: #f1f5f9;
  border: none;
  color: #475569;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  margin-left: auto;
  flex: 0 0 auto;
}
.rfmp-modal-close:hover {
  background: #e2e8f0;
}

.rfmp-progress-inline {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1 1;
  max-width: 480px;
}
.rfmp-progress-numbers-inline {
  font-size: 18px;
  font-weight: 800;
  color: #0f172a;
  white-space: nowrap;
}
.rfmp-progress-inline .rfmp-progress-track {
  flex: 1 1;
}

.rfmp-modal-body {
  flex: 1 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.rfmp-modal-body .rfmp-detail-scroll {
  flex: 1 1;
  min-height: 0;
}

/* ===== Chú thích màu ===== */
.rfmp-legend {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 8px 18px;
  font-size: 13px;
  font-weight: 600;
  color: #475569;
  box-shadow: 0 4px 14px rgba(30, 41, 59, 0.06);
}

.rfmp-legend-item {
  display: flex;
  align-items: center;
  gap: 8px;
}

.rfmp-legend-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  display: inline-block;
}

@media (max-width: 1100px) {
  .rfmp-row {
    grid-template-columns: 44px 140px 96px 200px minmax(0, 1fr);
  }
}

@media (max-width: 700px) {
  .rfmp-row {
    grid-template-columns: 26px 80px 56px 86px minmax(0, 1fr);
  }
  .rfmp-row-head .rfmp-cell {
    font-size: 10px;
    padding: 6px 4px;
  }
}

/* Màn nhỏ (vd 1366x768): thu nhỏ còn ~67% để vừa đủ hiển thị hết nội dung trên toàn màn hình,
   thay vì hiển thị đúng cỡ gốc (dễ bị tràn/cắt bớt do ít chỗ hơn màn 1920x1080). */
@media (max-width: 1600px) {
  .rfmp-root {
    width: 150vw;
    height: 150vh;
    transform: scale(0.67);
    transform-origin: top left;
  }

  /* .rfmp-modal dùng vw/vh nên tính theo màn hình thật, không theo khung .rfmp-root đã phóng to;
     nhân lại 1/0.67 để sau khi bị scale(0.67) kèm theo .rfmp-root thì kích thước hiển thị vẫn đúng. */
  .rfmp-modal {
    width: min(2537px, 142vw);
    max-height: 137.3vh;
  }
}

@charset "UTF-8";
.react-datepicker__year-read-view--down-arrow,
.react-datepicker__month-read-view--down-arrow,
.react-datepicker__month-year-read-view--down-arrow, .react-datepicker__navigation-icon::before {
  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-popper[data-placement^=top] .react-datepicker__triangle, .react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle {
  margin-left: -4px;
  position: absolute;
  width: 0;
}
.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle::before, .react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle::before, .react-datepicker-popper[data-placement^=top] .react-datepicker__triangle::after, .react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle::after {
  box-sizing: content-box;
  position: absolute;
  border: 8px solid transparent;
  height: 0;
  width: 1px;
  content: "";
  z-index: -1;
  border-width: 8px;
  left: -8px;
}
.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle::before, .react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle::before {
  border-bottom-color: #aeaeae;
}

.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle {
  top: 0;
  margin-top: -8px;
}
.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle::before, .react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle::after {
  border-top: none;
  border-bottom-color: #f0f0f0;
}
.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle::after {
  top: 0;
}
.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle::before {
  top: -1px;
  border-bottom-color: #aeaeae;
}

.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle {
  bottom: 0;
  margin-bottom: -8px;
}
.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle::before, .react-datepicker-popper[data-placement^=top] .react-datepicker__triangle::after {
  border-bottom: none;
  border-top-color: #fff;
}
.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle::after {
  bottom: 0;
}
.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle::before {
  bottom: -1px;
  border-top-color: #aeaeae;
}

.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;
}

.react-datepicker--time-only .react-datepicker__triangle {
  left: 35px;
}
.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.3rem;
  border-bottom-right-radius: 0.3rem;
}

.react-datepicker__triangle {
  position: absolute;
  left: 50px;
}

.react-datepicker-popper {
  z-index: 1;
}
.react-datepicker-popper[data-placement^=bottom] {
  padding-top: 10px;
}
.react-datepicker-popper[data-placement=bottom-end] .react-datepicker__triangle, .react-datepicker-popper[data-placement=top-end] .react-datepicker__triangle {
  left: auto;
  right: 50px;
}
.react-datepicker-popper[data-placement^=top] {
  padding-bottom: 10px;
}
.react-datepicker-popper[data-placement^=right] {
  padding-left: 8px;
}
.react-datepicker-popper[data-placement^=right] .react-datepicker__triangle {
  left: auto;
  right: 42px;
}
.react-datepicker-popper[data-placement^=left] {
  padding-right: 8px;
}
.react-datepicker-popper[data-placement^=left] .react-datepicker__triangle {
  left: 42px;
  right: auto;
}

.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) {
  border-top-right-radius: 0.3rem;
}

.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__current-month,
.react-datepicker-time__header,
.react-datepicker-year-header {
  margin-top: 0;
  color: #000;
  font-weight: bold;
  font-size: 0.944rem;
}

.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: #a6a6a6;
}

.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.4rem;
  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: 4rem;
  margin: 2px;
}

.react-datepicker__month {
  margin: 0.4rem;
  text-align: center;
}
.react-datepicker__month .react-datepicker__month-text,
.react-datepicker__month .react-datepicker__quarter-text {
  display: inline-block;
  width: 4rem;
  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.3rem;
  position: absolute;
  right: -87px;
  top: 0;
}
.react-datepicker__time-container .react-datepicker__time {
  position: relative;
  background: white;
  border-bottom-right-radius: 0.3rem;
}
.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.3rem;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list {
  list-style: none;
  margin: 0;
  height: calc(195px + 1.7rem / 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: 1.7rem;
  line-height: 1.7rem;
  text-align: center;
  margin: 0.166rem;
}
.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,
.react-datepicker__week-number--keyboard-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: #1d5d90;
}
.react-datepicker__week-number--keyboard-selected {
  border-radius: 0.3rem;
  background-color: #2a87d0;
  color: #fff;
}
.react-datepicker__week-number--keyboard-selected:hover {
  background-color: #1d5d90;
}

.react-datepicker__day-names {
  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: 1.7rem;
  line-height: 1.7rem;
  text-align: center;
  margin: 0.166rem;
}

.react-datepicker__day,
.react-datepicker__month-text,
.react-datepicker__quarter-text,
.react-datepicker__year-text {
  cursor: pointer;
}
.react-datepicker__day:hover,
.react-datepicker__month-text:hover,
.react-datepicker__quarter-text:hover,
.react-datepicker__year-text: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:hover,
.react-datepicker__month-text--highlighted:hover,
.react-datepicker__quarter-text--highlighted:hover,
.react-datepicker__year-text--highlighted:hover {
  background-color: #32be3f;
}
.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 .holiday-overlay,
.react-datepicker__month-text--holidays .holiday-overlay,
.react-datepicker__quarter-text--holidays .holiday-overlay,
.react-datepicker__year-text--holidays .holiday-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:hover,
.react-datepicker__month-text--holidays:hover,
.react-datepicker__quarter-text--holidays:hover,
.react-datepicker__year-text--holidays:hover {
  background-color: #cf5300;
}
.react-datepicker__day--holidays:hover .holiday-overlay,
.react-datepicker__month-text--holidays:hover .holiday-overlay,
.react-datepicker__quarter-text--holidays:hover .holiday-overlay,
.react-datepicker__year-text--holidays:hover .holiday-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:hover, .react-datepicker__day--in-selecting-range:hover, .react-datepicker__day--in-range:hover,
.react-datepicker__month-text--selected:hover,
.react-datepicker__month-text--in-selecting-range:hover,
.react-datepicker__month-text--in-range:hover,
.react-datepicker__quarter-text--selected:hover,
.react-datepicker__quarter-text--in-selecting-range:hover,
.react-datepicker__quarter-text--in-range:hover,
.react-datepicker__year-text--selected:hover,
.react-datepicker__year-text--in-selecting-range:hover,
.react-datepicker__year-text--in-range:hover {
  background-color: #1d5d90;
}
.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: #bad9f1;
  color: rgb(0, 0, 0);
}
.react-datepicker__day--keyboard-selected:hover,
.react-datepicker__month-text--keyboard-selected:hover,
.react-datepicker__quarter-text--keyboard-selected:hover,
.react-datepicker__year-text--keyboard-selected:hover {
  background-color: #1d5d90;
}
.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:hover,
.react-datepicker__month-text--disabled:hover,
.react-datepicker__quarter-text--disabled:hover,
.react-datepicker__year-text--disabled:hover {
  background-color: transparent;
}

.react-datepicker__input-container {
  position: relative;
  display: inline-block;
  width: 100%;
}
.react-datepicker__input-container .react-datepicker__calendar-icon {
  position: absolute;
  padding: 0.5rem;
  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: #b3b3b3;
}
.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;
  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: #b3b3b3;
}
.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: #b3b3b3;
}
.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__portal .react-datepicker__day-name,
.react-datepicker__portal .react-datepicker__day,
.react-datepicker__portal .react-datepicker__time-name {
  width: 3rem;
  line-height: 3rem;
}
@media (max-width: 400px), (max-height: 550px) {
  .react-datepicker__portal .react-datepicker__day-name,
  .react-datepicker__portal .react-datepicker__day,
  .react-datepicker__portal .react-datepicker__time-name {
    width: 2rem;
    line-height: 2rem;
  }
}
.react-datepicker__portal .react-datepicker__current-month,
.react-datepicker__portal .react-datepicker-time__header {
  font-size: 1.44rem;
}

.react-datepicker__children-container {
  width: 13.8rem;
  margin: 0.4rem;
  padding-right: 0.2rem;
  padding-left: 0.2rem;
  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;
}

/* ============================================================
   THEO DÕI TIẾN ĐỘ XUẤT HÀNG KHU VỰC KIỂM HÓA LẦN 3 — tái hiện design
   system "Dashboard Tiến Độ Xuất Hàng" (navy, KPI card, bảng chi tiết
   màu/size).

   Responsive: CHIỀU RỘNG luôn giãn hết khổ màn hình (percentage-based
   grid, không co scale ngang) để không chừa viền trống 2 bên trên màn
   hình rộng 16:9. CHIỀU CAO co giãn qua biến CSS --tdvt-vscale (do
   component tính = chiều cao màn hình thật / chiều cao tự nhiên) áp cho
   mọi cỡ chữ/khoảng cách dọc bằng calc(), để vừa khít 1 màn hình duy
   nhất không cuộn - từ tivi kiosk 1366x768 đến màn hình thường.
   ============================================================ */

.tdvt-page {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  background: #ffffff;
  display: flex;
  /* Canh TRÊN (không phải giữa) - vscale đã cố tình co hụt nhẹ (SAFETY < 1, xem
     useVerticalScale) để tránh tràn/cuộn, nhưng nếu canh giữa thì phần hụt đó bị chia đôi thành
     2 khoảng trắng (trên đầu trang VÀ dưới chân trang). Canh trên để header luôn sát mép trên,
     phần hụt (nếu có) chỉ còn dồn xuống dưới chân trang - overflow:hidden ở trên đã chặn tràn nên
     dù đo hụt/dư vài px cũng không lộ ra ngoài. */
  align-items: flex-start;
  justify-content: center;
  font-family: "Roboto", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}

/* Rộng LUÔN full khổ trang (100%); cao để auto - component đo chiều cao tự nhiên (nội dung thật ở
   --tdvt-vscale:1) rồi suy ra tỉ lệ co giãn cỡ chữ/khoảng cách để tổng chiều cao khớp viewport,
   không ép height:100% ở đây (sẽ triệt tiêu luôn phép đo "tự nhiên" đó). */
.tdvt-canvas {
  width: 100%;
  flex: 0 0 auto;
  background: #ffffff;
  display: flex;
  flex-direction: column;
}

.tdvt-body {
  border-left: 9px solid #101f52;
  border-right: 9px solid #101f52;
  background: #ffffff;
  display: flex;
  flex-direction: column;
}

/* ===== Header ===== */
.tdvt-header {
  background: #101f52;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: calc(1 * 9px) 16px;
  padding: calc(var(--tdvt-vscale, 1) * 9px) 16px;
}

.tdvt-title {
  margin: 0;
  color: #ffffff;
  font-family: "Roboto Condensed", Arial, sans-serif;
  font-weight: 800;
  font-size: calc(1 * 29px);
  font-size: calc(var(--tdvt-vscale, 1) * 29px);
  line-height: 1.15;
  letter-spacing: 0.3px;
  white-space: nowrap;
}

.tdvt-header-right {
  display: flex;
  gap: 10px;
  flex: 0 0 auto;
}

.tdvt-clock-box,
.tdvt-update-box {
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1.5px solid rgba(255, 255, 255, 0.85);
  border-radius: 9px;
  padding: calc(1 * 5px) 14px;
  padding: calc(var(--tdvt-vscale, 1) * 5px) 14px;
  color: #ffffff;
}

.tdvt-clock-time {
  font-family: "Roboto", sans-serif;
  font-weight: 900;
  font-size: calc(1 * 21px);
  font-size: calc(var(--tdvt-vscale, 1) * 21px);
  line-height: 1.1;
}

.tdvt-clock-date {
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  font-size: calc(1 * 11px);
  font-size: calc(var(--tdvt-vscale, 1) * 11px);
  line-height: 1.2;
  color: #c7d2ee;
}

.tdvt-update-box {
  flex-direction: column;
  align-items: stretch;
}
.tdvt-update-box-btn {
  cursor: pointer;
  background: transparent;
  font: inherit;
  text-align: left;
}
.tdvt-update-box-btn:hover {
  border-color: #ffffff;
}

.tdvt-update-row {
  display: flex;
  align-items: center;
  gap: 8px;
}
.tdvt-update-row span:first-child {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 800;
  font-size: calc(1 * 12.5px);
  font-size: calc(var(--tdvt-vscale, 1) * 12.5px);
  line-height: 1.2;
  letter-spacing: 0.4px;
}

.tdvt-dot {
  width: calc(1 * 9px);
  width: calc(var(--tdvt-vscale, 1) * 9px);
  height: calc(1 * 9px);
  height: calc(var(--tdvt-vscale, 1) * 9px);
  border-radius: 50%;
  background: #94a3b8;
}
.tdvt-dot-on {
  background: #22c55e;
}

.tdvt-update-sub {
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  font-size: calc(1 * 11px);
  font-size: calc(var(--tdvt-vscale, 1) * 11px);
  line-height: 1.4;
  color: #c7d2ee;
  text-align: right;
}

/* ===== Thanh lọc ===== */
.tdvt-filterbar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: calc(1 * 11px) 10px;
  padding: calc(var(--tdvt-vscale, 1) * 11px) 10px;
  border-bottom: 1px solid #e8edf5;
  flex-wrap: wrap;
}

.tdvt-filter-label {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 800;
  font-size: calc(1 * 15px);
  font-size: calc(var(--tdvt-vscale, 1) * 15px);
  color: #16307b;
}

.tdvt-filter-dash {
  font-family: "Roboto", sans-serif;
  font-weight: 900;
  font-size: calc(1 * 16px);
  font-size: calc(var(--tdvt-vscale, 1) * 16px);
  color: #16307b;
}

.tdvt-datefield {
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1.5px solid #b6c2d6;
  border-radius: 9px;
  padding: calc(1 * 7px) 14px;
  padding: calc(var(--tdvt-vscale, 1) * 7px) 14px;
  min-width: 160px;
  color: #16307b;
  cursor: pointer;
  background: #ffffff;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.tdvt-datefield:hover {
  border-color: #2f6fd6;
  box-shadow: 0 0 0 3px rgba(47, 111, 214, 0.12);
}
.tdvt-datefield-icon {
  color: #2f6fd6;
}
.tdvt-datefield-value {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-size: calc(1 * 14.5px);
  font-size: calc(var(--tdvt-vscale, 1) * 14.5px);
  flex: 1 1;
  text-align: left;
}
.tdvt-datefield-chevron {
  color: #64748b;
}

.tdvt-datefield-input {
  flex: 1 1;
  border: none;
  outline: none;
  background: transparent;
  color: #16307b;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-size: calc(1 * 14.5px);
  font-size: calc(var(--tdvt-vscale, 1) * 14.5px);
  min-width: 0;
  cursor: pointer;
}
.tdvt-datefield-input::-webkit-calendar-picker-indicator {
  cursor: pointer;
  filter: invert(46%) sepia(76%) saturate(1041%) hue-rotate(190deg) brightness(94%) contrast(90%);
}

.tdvt-btn-primary,
.tdvt-btn-outline {
  display: flex;
  align-items: center;
  gap: 8px;
  border-radius: 9px;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 800;
  font-size: calc(1 * 14px);
  font-size: calc(var(--tdvt-vscale, 1) * 14px);
  letter-spacing: 0.4px;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, transform 0.1s ease, box-shadow 0.15s ease;
}
.tdvt-btn-primary:disabled,
.tdvt-btn-outline:disabled {
  cursor: not-allowed;
  opacity: 0.65;
}

.tdvt-btn-primary {
  background: #14328c;
  color: #ffffff;
  border: none;
  padding: calc(1 * 10px) 18px;
  padding: calc(var(--tdvt-vscale, 1) * 10px) 18px;
}
.tdvt-btn-primary:hover {
  background: #1a3fae;
  box-shadow: 0 3px 10px rgba(20, 50, 140, 0.35);
}
.tdvt-btn-primary:active {
  transform: translateY(1px) scale(0.98);
  box-shadow: none;
}

.tdvt-btn-outline {
  background: #ffffff;
  color: #16307b;
  border: 1.5px solid #8fa3c2;
  padding: calc(1 * 9px) 16px;
  padding: calc(var(--tdvt-vscale, 1) * 9px) 16px;
}
.tdvt-btn-outline:hover {
  background: #f1f5fb;
  border-color: #16307b;
}
.tdvt-btn-outline:active {
  transform: translateY(1px) scale(0.98);
}

.tdvt-filter-spacer {
  flex: 1 1;
}

.tdvt-pill {
  background: #ffffff;
  color: #1e40af;
  border: 1.5px solid #2563eb;
  border-radius: 11px;
  padding: calc(1 * 7px) 16px;
  padding: calc(var(--tdvt-vscale, 1) * 7px) 16px;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-size: calc(1 * 13.5px);
  font-size: calc(var(--tdvt-vscale, 1) * 13.5px);
  cursor: pointer;
  transition: background 0.15s ease, transform 0.1s ease, box-shadow 0.15s ease;
}
.tdvt-pill:hover {
  background: #eff4ff;
}
.tdvt-pill:active {
  transform: translateY(1px) scale(0.97);
}
.tdvt-pill-active {
  background: #2563eb;
  color: #ffffff;
}
.tdvt-pill-active:hover {
  background: #1d4fd8;
  box-shadow: 0 3px 10px rgba(37, 99, 235, 0.35);
}

/* ===== Hàng thẻ KPI (398px/1fr/322px trên khổ gốc 1280px -> quy ra % để giãn hết chiều rộng) ===== */
.tdvt-kpi-row {
  display: grid;
  grid-template-columns: 31.1% 1fr 25.2%;
  grid-gap: 12px;
  gap: 12px;
  padding: calc(1 * 12px) 10px calc(1 * 6px);
  padding: calc(var(--tdvt-vscale, 1) * 12px) 10px calc(var(--tdvt-vscale, 1) * 6px);
}

.tdvt-card {
  border-radius: 11px;
  background: #ffffff;
}

.tdvt-card-giaokiem {
  box-shadow: 0 2px 10px rgba(14, 21, 51, 0.18);
  overflow: hidden;
}

.tdvt-card-giaokiem-head {
  background: linear-gradient(90deg, #16307b, #101f52);
  display: flex;
  align-items: center;
  gap: 11px;
  padding: calc(1 * 9px) 14px;
  padding: calc(var(--tdvt-vscale, 1) * 9px) 14px;
}
.tdvt-card-giaokiem-head span {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 800;
  font-size: calc(1 * 19px);
  font-size: calc(var(--tdvt-vscale, 1) * 19px);
  color: #ffffff;
  letter-spacing: 0.6px;
}

.tdvt-card-giaokiem-body {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
}

.tdvt-gk-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(1 * 8px);
  gap: calc(var(--tdvt-vscale, 1) * 8px);
  padding: calc(1 * 12px) 6px;
  padding: calc(var(--tdvt-vscale, 1) * 12px) 6px;
  border-right: 1px solid #e2e8f0;
}
.tdvt-gk-col-noborder {
  border-right: none;
  gap: calc(1 * 7px);
  gap: calc(var(--tdvt-vscale, 1) * 7px);
}

.tdvt-gk-label {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 800;
  font-size: calc(1 * 12.5px);
  font-size: calc(var(--tdvt-vscale, 1) * 12.5px);
  color: #16307b;
  letter-spacing: 0.3px;
  text-align: center;
  white-space: nowrap;
}

.tdvt-gk-value {
  font-family: "Roboto", sans-serif;
  font-weight: 900;
  font-size: calc(1 * 26px);
  font-size: calc(var(--tdvt-vscale, 1) * 26px);
  color: #101f52;
}
.tdvt-gk-value-green {
  color: #1fa53c;
  font-size: calc(1 * 24px);
  font-size: calc(var(--tdvt-vscale, 1) * 24px);
}

.tdvt-donut {
  width: calc(1 * 52px);
  width: calc(var(--tdvt-vscale, 1) * 52px);
  height: calc(1 * 52px);
  height: calc(var(--tdvt-vscale, 1) * 52px);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.tdvt-donut-hole {
  width: calc(1 * 32px);
  width: calc(var(--tdvt-vscale, 1) * 32px);
  height: calc(1 * 32px);
  height: calc(var(--tdvt-vscale, 1) * 32px);
  border-radius: 50%;
  background: #ffffff;
}

.tdvt-card-export {
  border: 2px solid #f97316;
  padding: calc(1 * 10px) 12px calc(1 * 12px);
  padding: calc(var(--tdvt-vscale, 1) * 10px) 12px calc(var(--tdvt-vscale, 1) * 12px);
  display: flex;
  flex-direction: column;
  gap: calc(1 * 8px);
  gap: calc(var(--tdvt-vscale, 1) * 8px);
}

.tdvt-export-cols {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  flex: 1 1;
}

.tdvt-export-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(1 * 7px);
  gap: calc(var(--tdvt-vscale, 1) * 7px);
  padding: 2px 4px;
  border-right: 1px solid #e2e8f0;
}
.tdvt-export-col-noborder {
  border-right: none;
}

.tdvt-export-label {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 800;
  font-size: calc(1 * 14px);
  font-size: calc(var(--tdvt-vscale, 1) * 14px);
  color: #16307b;
  text-align: center;
  white-space: nowrap;
}

.tdvt-export-value {
  font-family: "Roboto", sans-serif;
  font-weight: 900;
  font-size: calc(1 * 25px);
  font-size: calc(var(--tdvt-vscale, 1) * 25px);
  color: #101f52;
}
.tdvt-export-value-navy {
  color: #1e409a;
}
.tdvt-export-value-orange {
  color: #f97316;
}

.tdvt-export-progress-row {
  display: flex;
  align-items: center;
  gap: 12px;
}
.tdvt-export-progress-label {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 800;
  font-size: calc(1 * 12px);
  font-size: calc(var(--tdvt-vscale, 1) * 12px);
  line-height: 1.25;
  color: #16307b;
  flex: 0 0 auto;
}

.tdvt-progress-track-lg {
  flex: 1 1;
  height: calc(1 * 22px);
  height: calc(var(--tdvt-vscale, 1) * 22px);
}
.tdvt-progress-track-lg .tdvt-progress-fill-label {
  font-family: "Roboto", sans-serif;
  font-weight: 800;
  font-size: calc(1 * 12.5px);
  font-size: calc(var(--tdvt-vscale, 1) * 12.5px);
  line-height: 1;
  color: #ffffff;
}

.tdvt-progress-fill-green {
  background: linear-gradient(90deg, #1fa53c, #178a30);
  display: flex;
  align-items: center;
  justify-content: center;
}

.tdvt-card-warning {
  border: 2px solid #f97316;
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.tdvt-warning-left {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: calc(1 * 8px);
  gap: calc(var(--tdvt-vscale, 1) * 8px);
  padding: calc(1 * 10px);
  padding: calc(var(--tdvt-vscale, 1) * 10px);
  border-right: 1px solid #f3d5c0;
}
.tdvt-warning-value {
  font-family: "Roboto", sans-serif;
  font-weight: 900;
  font-size: calc(1 * 42px);
  font-size: calc(var(--tdvt-vscale, 1) * 42px);
  line-height: 1.15;
  color: #e11212;
}

.tdvt-warning-right {
  display: grid;
  grid-template-rows: repeat(3, minmax(0, 1fr));
}
.tdvt-warning-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: calc(1 * 8px) 12px;
  padding: calc(var(--tdvt-vscale, 1) * 8px) 12px;
  border-bottom: 1px solid #f3d5c0;
}
.tdvt-warning-row-last {
  border-bottom: none;
}
.tdvt-warning-row-label {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 800;
  font-size: calc(1 * 13px);
  font-size: calc(var(--tdvt-vscale, 1) * 13px);
  color: #16307b;
  white-space: nowrap;
}
.tdvt-reconciliation-row .tdvt-warning-row-label,
.tdvt-reconciliation-row .tdvt-warning-row-value {
  color: #d97706 !important;
}
.tdvt-warning-row-value {
  font-family: "Roboto", sans-serif;
  font-weight: 900;
  font-size: calc(1 * 26px);
  font-size: calc(var(--tdvt-vscale, 1) * 26px);
  line-height: 1.2;
  color: #e11212;
}

/* ===== Bảng chi tiết (56/148/162/144/246px trên khổ gốc 1280px -> quy ra %, cột cuối 1fr chiếm
   phần còn lại - luôn giãn hết chiều rộng thật của màn hình) ===== */
.tdvt-table-wrap {
  position: relative;
  margin: calc(1 * 8px) 10px calc(1 * 12px);
  margin: calc(var(--tdvt-vscale, 1) * 8px) 10px calc(var(--tdvt-vscale, 1) * 12px);
  border: 1px solid #dde4ef;
  border-radius: 10px;
  overflow: hidden;
}

.tdvt-loading-overlay {
  position: absolute;
  inset: 0;
  z-index: 5;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: rgba(255, 255, 255, 0.72);
  -webkit-backdrop-filter: blur(1px);
          backdrop-filter: blur(1px);
  color: #16307b;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 800;
  font-size: calc(1 * 15px);
  font-size: calc(var(--tdvt-vscale, 1) * 15px);
  letter-spacing: 0.3px;
}

.tdvt-spinner {
  display: inline-block;
  width: 15px;
  height: 15px;
  border: 2.5px solid rgba(255, 255, 255, 0.5);
  border-top-color: #ffffff;
  border-radius: 50%;
  animation: tdvt-spin 0.7s linear infinite;
}
.tdvt-spinner-lg {
  width: 34px;
  height: 34px;
  border-width: 4px;
  border-color: rgba(22, 48, 123, 0.2);
  border-top-color: #16307b;
}
.tdvt-spin {
  animation: tdvt-spin 0.9s linear infinite;
}
@keyframes tdvt-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* Server giờ trả về TOÀN BỘ PO trong khoảng ngày (không còn cắt còn 4) nên số dòng thật có thể > 4 -
   khung này phải CỐ ĐỊNH chiều cao đúng 4 dòng (95.5px/dòng ở tỉ lệ gốc, đo thật từ 1 dòng PO thật -
   mỗi bảng con chỉ hiện 1 màu đại diện nên các dòng cao bằng nhau, xem buildDetailRows) rồi cho cuộn
   riêng bên trong nếu nhiều hơn 4 - để tổng chiều cao trang vẫn luôn vừa khít 1 màn hình (không phụ
   thuộc khoảng ngày đang chọn trả về bao nhiêu PO thật), đúng cách --tdvt-vscale đo "chiều cao tự
   nhiên" ở đầu file đang giả định (nếu để tự phình theo số dòng thật thì chọn khoảng ngày rộng ra
   nhiều PO sẽ làm cả trang bị đo sai/co nhỏ lại bất thường). */
.tdvt-rows-scroll {
  max-height: calc(1 * 382px);
  max-height: calc(var(--tdvt-vscale, 1) * 382px);
  overflow-y: auto;
}

.tdvt-empty {
  padding: 24px 16px;
  text-align: center;
  color: #64748b;
  font: 700 14px "Roboto", sans-serif;
}
.tdvt-empty-inline {
  padding: 8px;
  font-size: 12px;
}

.tdvt-error-banner {
  margin: 0 10px;
  padding: 8px 14px;
  border-radius: 8px;
  background: #fee2e2;
  color: #b91c1c;
  font: 700 13px "Roboto", sans-serif;
}

.tdvt-table-head,
.tdvt-row {
  display: grid;
  grid-template-columns: 4.4% 10% 12% 10% 19.2% 1fr;
}

.tdvt-table-head {
  background: #0e1533;
  align-items: stretch;
}

.tdvt-th {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: calc(1 * 12px) 4px;
  padding: calc(var(--tdvt-vscale, 1) * 12px) 4px;
  border-right: 1px solid rgba(255, 255, 255, 0.14);
  color: #ffffff;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 800;
  font-size: calc(1 * 14px);
  font-size: calc(var(--tdvt-vscale, 1) * 14px);
  letter-spacing: 0.4px;
  white-space: nowrap;
}
.tdvt-th-stt {
  gap: 6px;
  font-size: calc(1 * 13px);
  font-size: calc(var(--tdvt-vscale, 1) * 13px);
}
.tdvt-th-stack {
  flex-direction: column;
  padding: calc(1 * 8px) 4px;
  padding: calc(var(--tdvt-vscale, 1) * 8px) 4px;
}
.tdvt-th-unit {
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  font-size: calc(1 * 11px);
  font-size: calc(var(--tdvt-vscale, 1) * 11px);
  color: #c7d2ee;
  letter-spacing: 0;
}
.tdvt-th-detail {
  padding: calc(1 * 8px) 10px;
  padding: calc(var(--tdvt-vscale, 1) * 8px) 10px;
  position: relative;
  font-size: calc(1 * 15px);
  font-size: calc(var(--tdvt-vscale, 1) * 15px);
  letter-spacing: 0.5px;
  border-right: none;
}
.tdvt-th-hand {
  position: absolute;
  right: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 9px;
  box-shadow: 0 0 14px rgba(63, 131, 248, 0.75);
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.tdvt-th-hand:hover {
  transform: scale(1.08);
  box-shadow: 0 0 20px rgba(63, 131, 248, 1);
}
.tdvt-th-hand:active {
  transform: scale(0.95);
}

.tdvt-row {
  border-top: 1px solid #e2e8f0;
  align-items: center;
  background: #ffffff;
}

/* Ô trống (không có PO thật) khi khoảng ngày chọn trả về ít hơn NUM_LISTS - giữ đúng chiều cao 1
   dòng như dòng có dữ liệu thật (chỉ nội dung nhạt hơn), để tổng số dòng luôn cố định = NUM_LISTS. */
.tdvt-row-empty {
  background: #fafbfd;
}

.tdvt-td {
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  padding: calc(1 * 10px) 6px;
  padding: calc(var(--tdvt-vscale, 1) * 10px) 6px;
  border-right: 1px solid #eef1f6;
}

.tdvt-stt-badge {
  width: calc(1 * 34px);
  width: calc(var(--tdvt-vscale, 1) * 34px);
  height: calc(1 * 34px);
  height: calc(var(--tdvt-vscale, 1) * 34px);
  border: 2px solid #0e1533;
  border-radius: 7px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Roboto", sans-serif;
  font-weight: 900;
  font-size: calc(1 * 17px);
  font-size: calc(var(--tdvt-vscale, 1) * 17px);
  color: #0e1533;
}

.tdvt-chip {
  border-radius: 8px;
  padding: calc(1 * 9px) 14px;
  padding: calc(var(--tdvt-vscale, 1) * 9px) 14px;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-size: calc(1 * 13.5px);
  font-size: calc(var(--tdvt-vscale, 1) * 13.5px);
  white-space: nowrap;
}
.tdvt-chip-green {
  background: #d9e7d2;
  color: #33513a;
}
.tdvt-chip-blue {
  background: #dbe6f6;
  color: #1e5aa8;
  padding: calc(1 * 9px) 12px;
  padding: calc(var(--tdvt-vscale, 1) * 9px) 12px;
  font-size: calc(1 * 13px);
  font-size: calc(var(--tdvt-vscale, 1) * 13px);
}
.tdvt-chip-purple {
  background: #e6e0f6;
  color: #463a6e;
  padding: calc(1 * 9px) 18px;
  padding: calc(var(--tdvt-vscale, 1) * 9px) 18px;
}

.tdvt-td-progress {
  flex-direction: column;
  gap: calc(1 * 6px);
  gap: calc(var(--tdvt-vscale, 1) * 6px);
  padding: calc(1 * 10px) 16px;
  padding: calc(var(--tdvt-vscale, 1) * 10px) 16px;
}
.tdvt-progress-number {
  font-family: "Roboto", sans-serif;
  font-weight: 900;
  font-size: calc(1 * 18px);
  font-size: calc(var(--tdvt-vscale, 1) * 18px);
  color: #101f52;
}
.tdvt-progress-track-row {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
}
.tdvt-progress-track {
  flex: 1 1;
  height: calc(1 * 12px);
  height: calc(var(--tdvt-vscale, 1) * 12px);
  border-radius: 999px;
  background: #d9dee7;
  overflow: hidden;
}
.tdvt-progress-fill {
  height: 100%;
  border-radius: 999px;
}
.tdvt-progress-pct {
  font-family: "Roboto", sans-serif;
  font-weight: 900;
  font-size: calc(1 * 13.5px);
  font-size: calc(var(--tdvt-vscale, 1) * 13.5px);
  line-height: 1;
}

.tdvt-td-detail {
  padding: calc(1 * 6px) 8px;
  padding: calc(var(--tdvt-vscale, 1) * 6px) 8px;
  border-right: none;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
}

/* Bảng chi tiết giờ hiện ĐỦ MỌI MÀU (7 dòng chỉ số/màu, xem buildDetailRows) thay vì chỉ 1 màu đại
   diện + 3 dòng như trước - số dòng thật có thể vượt xa 3 dòng cũ. Chặn max-height đúng bằng chiều
   cao bảng 3-dòng cũ (82px ở tỉ lệ gốc, đo thật) rồi cho cuộn riêng bên trong - để Ô "SL HIỆN CÓ/CHƯA
   DÒ KIM" và cả DÒNG PO không bị kéo cao ra, giữ đúng kích thước form hiện tại. */
.tdvt-detail-table-scroll {
  width: 100%;
  max-height: calc(1 * 82px);
  max-height: calc(var(--tdvt-vscale, 1) * 82px);
  overflow-y: auto;
}
.tdvt-detail-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.tdvt-detail-table thead th {
  position: sticky;
  top: 0;
  z-index: 1;
}
.tdvt-detail-table th {
  background: #16307b;
  color: #ffffff;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 800;
  font-size: calc(1 * 8.5px);
  font-size: calc(var(--tdvt-vscale, 1) * 8.5px);
  padding: calc(1 * 3px) 2px;
  padding: calc(var(--tdvt-vscale, 1) * 3px) 2px;
  border: 1px solid #2a4590;
  text-align: center;
}
.tdvt-detail-table td {
  border: 1px solid #d7deeb;
  padding: calc(1 * 2.5px) 2px;
  padding: calc(var(--tdvt-vscale, 1) * 2.5px) 2px;
  text-align: center;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-size: calc(1 * 9.5px);
  font-size: calc(var(--tdvt-vscale, 1) * 9.5px);
}
.tdvt-detail-table td:first-child,
.tdvt-detail-table td:nth-child(2) {
  font-weight: 800;
  font-size: calc(1 * 9px);
  font-size: calc(var(--tdvt-vscale, 1) * 9px);
}
/* Cột "LOẠI" (CHƯA DÒ KIM/HIỆN CÓ/CÒN THIẾU...) canh trái, không canh giữa như các cột số. */
.tdvt-detail-table td:nth-child(2) {
  text-align: left;
}
/* 2 dòng con "Chưa giao"/"Chưa sửa" thuộc "CÒN THIẾU" - thụt vào + nền nhạt hơn để phân biệt là dòng
   con (Còn thiếu, trong đó: Chưa giao / Chưa sửa). */
.tdvt-detail-table tr.tdvt-detail-nested td:nth-child(2) {
  font-weight: 700;
  padding-left: calc(1 * 10px);
  padding-left: calc(var(--tdvt-vscale, 1) * 10px);
}
.tdvt-detail-table tr.tdvt-detail-nested td {
  background: #fbfbfd;
}

/* ===== Footer ===== */
.tdvt-footer {
  background: #101f52;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: calc(1 * 11px) 16px;
  padding: calc(var(--tdvt-vscale, 1) * 11px) 16px;
  color: #ffffff;
  flex-wrap: wrap;
  flex: 0 0 auto;
}
.tdvt-footer-legend-label {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 800;
  font-size: calc(1 * 14px);
  font-size: calc(var(--tdvt-vscale, 1) * 14px);
  letter-spacing: 0.3px;
}
.tdvt-legend-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-size: calc(1 * 13px);
  font-size: calc(var(--tdvt-vscale, 1) * 13px);
  white-space: nowrap;
}
.tdvt-legend-dot {
  width: calc(1 * 13px);
  width: calc(var(--tdvt-vscale, 1) * 13px);
  height: calc(1 * 13px);
  height: calc(var(--tdvt-vscale, 1) * 13px);
  border-radius: 50%;
  border: 2px solid #ffffff;
  display: inline-block;
}
.tdvt-footer-spacer {
  flex: 1 1;
}
.tdvt-footer-info {
  display: flex;
  align-items: center;
  gap: 7px;
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  font-size: calc(1 * 13px);
  font-size: calc(var(--tdvt-vscale, 1) * 13px);
  white-space: nowrap;
}

/* Ô "CHI TIẾT THEO LIST XUẤT" của mỗi dòng PO giờ bấm được (mở modal xem đầy đủ, không giới hạn
   chiều cao như bảng inline bên trong). */
.tdvt-td-detail-clickable {
  cursor: pointer;
}
.tdvt-td-detail-clickable:hover {
  background: #f4f7fd;
}

/* ===== Modal chi tiết đầy đủ (mở khi bấm vào ô CHI TIẾT THEO LIST XUẤT) =====
   Không dùng --tdvt-vscale ở đây - modal là lớp phủ độc lập, không nằm trong "canvas" co giãn theo
   1 màn hình, nên cứ dùng px thường + cho cuộn dọc tự nhiên nếu nội dung dài (nhiều màu/size). */
.tdvt-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 50;
  background: rgba(14, 21, 51, 0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.tdvt-modal-box {
  background: #ffffff;
  border-radius: 14px;
  width: 100%;
  max-width: 1400px;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);
}
.tdvt-modal-header {
  background: #101f52;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 18px;
  flex: 0 0 auto;
}
.tdvt-modal-header-chips {
  display: flex;
  align-items: center;
  gap: 10px;
}
.tdvt-modal-header-item {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #ffffff;
  color: #16307b;
  border-radius: 8px;
  padding: 8px 14px;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 800;
  font-size: 14px;
  white-space: nowrap;
}
.tdvt-modal-care-ticker {
  flex: 1 1 auto;
  min-width: 120px;
  margin: 0 18px;
  overflow: hidden;
  color: #ffd59a;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
  -webkit-mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent);
  mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent);
}
.tdvt-modal-care-ticker span {
  display: inline-block;
  min-width: max-content;
  padding-left: 100%;
  animation: tdvt-care-ticker 14s linear infinite;
  will-change: transform;
}
@keyframes tdvt-care-ticker {
  from { transform: translateX(0); }
  to { transform: translateX(-100%); }
}
.tdvt-modal-header-overview {
  flex: 0 0 auto;
  background: #f97316;
  color: #ffffff;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 800;
  font-size: 14px;
  letter-spacing: 0.4px;
  padding: 8px 16px;
  border-radius: 8px;
  margin-left: auto;
  margin-right: 14px;
  white-space: nowrap;
}
.tdvt-modal-close {
  background: transparent;
  border: none;
  color: #ffffff;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
  padding: 2px 8px;
  border-radius: 6px;
}
.tdvt-modal-close:hover {
  background: rgba(255, 255, 255, 0.15);
}
/* Bảng tiêu đề và bảng dữ liệu giờ TÁCH THÀNH 2 <table> riêng (xem JSX) thay vì 1 bảng dùng
   position:sticky trên thead - sticky bên trong bảng có ô rowSpan (cột màu, CẦN XUẤT/ĐÃ DÒ KIM) bị
   lỗi vẽ thiếu chữ ở vài cột khi cuộn qua trên trình duyệt thật (đã gặp). Tách bảng: khối tiêu đề
   đứng yên phía trên (.tdvt-modal-table-head-wrap), chỉ phần dữ liệu cuộn riêng bên dưới
   (.tdvt-modal-table-scroll) - 2 bảng dùng chung 1 colgroup (xem renderColgroup trong JSX) nên cột
   luôn khớp nhau, không cần sticky nữa nên tránh hẳn lỗi trên. */
.tdvt-modal-body {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 16px;
}
.tdvt-modal-table-head-wrap {
  flex: 0 0 auto;
}
.tdvt-modal-table-scroll {
  flex: 1 1;
  overflow-y: auto;
}
.tdvt-modal-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
}
.tdvt-modal-table th {
  background: #16307b;
  color: #ffffff;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 800;
  font-size: 16px;
  padding: 10px 6px;
  border-right: 1px solid #2a4590;
  border-bottom: 1px solid #2a4590;
  text-align: center;
}
.tdvt-modal-table th:first-child {
  border-left: 1px solid #2a4590;
}
.tdvt-modal-table thead tr:first-child th {
  border-top: 1px solid #2a4590;
}
/* Chỉ vẽ viền phải/dưới (giống th ở trên) - separate + border-spacing:0 nên viền phải/trái của 2 ô
   liền kề nằm sát nhau; nếu mỗi ô tự vẽ đủ 4 cạnh sẽ ra viền dày gấp đôi so với bản collapse cũ. */
.tdvt-modal-table td {
  border-right: 1px solid #d7deeb;
  border-bottom: 1px solid #d7deeb;
  padding: 10px 8px;
  text-align: center;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-size: 17px;
  color: #16213a;
}
.tdvt-modal-table td:first-child {
  border-left: 1px solid #d7deeb;
}
.tdvt-modal-color-cell {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 800;
  font-size: 19px;
  color: #1e5aa8;
  background: #eaf1fb;
}
/* Khối CÒN THIẾU + 2 dòng con (Chưa giao/Chưa sửa) tô nền hồng liền nhau, đúng mẫu - phân biệt rõ
   với CHƯA XUẤT/HIỆN CÓ ở trên (nền trắng). */
.tdvt-modal-shortage td {
  background: #fbe4ea;
}
/* Dòng đầu tiên của mỗi khối màu (TỔNG CỘNG, rồi từng màu) - viền trên đậm hơn hẳn viền thường giữa
   các dòng trong cùng 1 khối, để phân tách rõ ràng ranh giới giữa các màu khác nhau. */
.tdvt-modal-block-start td {
  border-top: 3px solid #16307b;
}
.tdvt-modal-label {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  text-align: left;
  color: #16213a;
  font-size: 17px;
}
.tdvt-modal-label-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.tdvt-modal-nested .tdvt-modal-label {
  padding-left: 22px;
  font-weight: 700;
  font-size: 15.5px;
}
.tdvt-modal-danger,
.tdvt-modal-danger.tdvt-modal-label {
  color: #e11212 !important;
}

.tdvt-modal-reconciliation,
.tdvt-modal-reconciliation.tdvt-modal-label,
.tdvt-reconciliation-row {
  color: #d97706 !important;
}
.tdvt-modal-summary-cell {
  background: #e3f6e6;
  font-family: "Roboto", sans-serif;
  font-weight: 900;
  font-size: 22px;
  color: #178a30;
}
.tdvt-modal-summary-cell > *:first-child {
  display: block;
  margin: 0 auto 6px;
}

/* Every rule here is scoped under .kh3-root (or the datepicker portal) on purpose:
   this file ships in the global bundle and the class names below are generic
   enough to collide with the rest of the app. */
.kh3-root {
  --navy: #001a39;
  --cyan: #00d9ff;
  --blue: #0867ed;
  --text: #f4faff;
  --ink: #0b1d3b;
  --font: 'Roboto Condensed', 'Arial Narrow', Arial, sans-serif;
}

.kh3-root, .kh3-root * { box-sizing: border-box; }
.kh3-root button, .kh3-root input { font: inherit; }
.kh3-root button { cursor: pointer; }

.kh3-root .dashboard-shell {
  position: relative;
  min-height: 100vh;
  height: 100vh;
  display: flex;
  flex-direction: column;
  color: var(--text);
  font-family: var(--font);
  font-weight: 600;
  overflow: hidden;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
  background:
    radial-gradient(ellipse at 94% 18%, rgba(0, 157, 226, .16), transparent 27%),
    radial-gradient(ellipse at 61% 17%, rgba(222, 13, 92, .08), transparent 18%),
    radial-gradient(circle at 65% -10%, rgba(0, 173, 255, .28), transparent 34%),
    linear-gradient(180deg, #002c57 0 102px, #001a37 102px 48%, #00162f 100%);
}
.kh3-root .dashboard-shell::before {
  content: '';
  position: absolute;
  inset: 0;
  opacity: .2;
  pointer-events: none;
  background-image:
    linear-gradient(90deg, transparent 49%, rgba(58, 179, 228, .13) 50%, transparent 51%),
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 160px 100%, 100% 3px;
}

.kh3-root .asset-icon { display: inline-block; flex: 0 0 auto; background-repeat: no-repeat; background-position: center; background-size: contain; }

/* Value roll: the outgoing figure is replaced by a keyed element, so React
   remounts it and the entry animation runs on every change. The clip keeps the
   slide inside the number's own box instead of pushing the layout around. */
/* Wins over the card-level `span` rules, which would otherwise shrink the
   figure to the "pcs" caption size. */
.kh3-root .kh3-num {
  display: inline-block;
  position: relative;
  overflow: hidden;
  vertical-align: bottom;
  margin: 0;
  font: inherit;
  color: inherit;
  text-align: inherit;
  text-transform: none;
  line-height: inherit;
}
.kh3-root .kh3-num-inner {
  display: inline-block;
  font: inherit;
  color: inherit;
  animation: kh3-num-in .42s cubic-bezier(.22, .9, .3, 1) both;
}
.kh3-root .kh3-num.is-up .kh3-num-inner { animation-name: kh3-num-in-up; }
.kh3-root .kh3-num.is-down .kh3-num-inner { animation-name: kh3-num-in-down; }
/* Brief tint so the eye catches which figures moved. */
.kh3-root .kh3-num.is-up { animation: kh3-num-flash-up 1.4s ease-out; }
.kh3-root .kh3-num.is-down { animation: kh3-num-flash-down 1.4s ease-out; }
@keyframes kh3-num-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes kh3-num-in-up {
  from { transform: translateY(78%); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}
@keyframes kh3-num-in-down {
  from { transform: translateY(-78%); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}
@keyframes kh3-num-flash-up {
  0%, 42% { color: #7dffa8; text-shadow: 0 0 14px rgba(90, 255, 150, .9); }
  100% { color: inherit; text-shadow: inherit; }
}
@keyframes kh3-num-flash-down {
  0%, 42% { color: #ffd24a; text-shadow: 0 0 14px rgba(255, 190, 60, .9); }
  100% { color: inherit; text-shadow: inherit; }
}

.kh3-root .topbar {
  position: relative;
  z-index: 3;
  flex: 0 0 auto;
  height: 102px;
  display: grid;
  grid-template-columns: minmax(560px, 1fr) auto;
  align-items: center;
  padding: 0 22px;
  border-bottom: 2px solid #00bde8;
  box-shadow: 0 5px 13px rgba(0, 191, 255, .28);
  background-color: #01203f;
  background-repeat: no-repeat;
  background-position: center, center;
  background-size: 100% 100%, 100% 100%;
}
.kh3-root .brand { position: relative; z-index: 2; min-width: 0; display: flex; align-items: center; padding-left: 8px; }
.kh3-root .brand-home { padding: 0; border: 0; background: transparent; text-align: left; color: inherit; font: inherit; }
.kh3-root .brand-copy { position: relative; line-height: 1; text-shadow: 0 2px 5px rgba(0,0,0,.9), 0 0 3px rgba(184,225,255,.5); }
.kh3-root .brand h1 { margin: 0; font-size: clamp(25px, 2.25vw, 37px); letter-spacing: .4px; white-space: nowrap; font-weight: 800; }
.kh3-root .brand p { position: relative; margin: 8px 0 0; padding-bottom: 7px; font-size: clamp(17px, 1.5vw, 25px); font-weight: 800; letter-spacing: .5px; }
/* Glowing rule under the two-line title, fading out to the right. */
.kh3-root .brand p::after {
  content: '';
  position: absolute;
  left: 0;
  right: -22%;
  bottom: 0;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, #4fd2ff 0%, rgba(61,170,255,.55) 45%, transparent 100%);
  box-shadow: 0 0 9px rgba(70, 200, 255, .8);
}

.kh3-root .motto {
  position: absolute;
  z-index: 5;
  top: 5px;
  right: 24px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #a9d4f4;
  font-size: 11.5px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: .3px;
  white-space: nowrap;
  text-shadow: 0 2px 3px rgba(0,8,28,.8);
}
.kh3-root .motto .asset-icon { width: 26px; height: 26px; filter: drop-shadow(0 0 5px rgba(90,190,255,.5)); }

.kh3-root .filters {
  position: relative;
  z-index: 4;
  align-self: end;
  justify-self: end;
  display: flex;
  align-items: flex-end;
  gap: 9px;
  margin-bottom: 8px;
  padding: 5px 12px 7px;
  border: 1px solid rgba(96, 186, 255, .36);
  border-radius: 11px;
  background: linear-gradient(180deg, rgba(6, 46, 86, .78), rgba(2, 22, 46, .84));
  box-shadow: inset 0 1px 0 rgba(170, 225, 255, .22), 0 3px 12px rgba(0, 6, 22, .5), 0 0 14px rgba(0, 150, 225, .14);
}
.kh3-root .date-field { display: flex; flex-direction: column; gap: 3px; color: #cfe6ff; font-size: 13px; font-weight: 600; }
.kh3-root .date-field > span:first-child { padding-left: 4px; text-shadow: 0 1px 2px rgba(0,8,28,.75); }
.kh3-root .date-box { position: relative; width: 145px; height: 39px; display: flex; align-items: center; background: #f6fbff; border: 1px solid #0876ef; border-radius: 6px; box-shadow: 0 0 8px #1685ff; }
/* react-datepicker anchors its popup to .react-datepicker__input-container, so
   that element (not just the text input) has to span the whole pill — otherwise
   the calendar lines up with the text and looks shifted right of the field. */
.kh3-root .date-box .asset-icon { position: absolute; left: 4px; top: 50%; transform: translateY(-50%); z-index: 1; width: 34px; height: 34px; pointer-events: none; }
.kh3-root .date-box .react-datepicker-wrapper { flex: 1 1; min-width: 0; }
.kh3-root .date-box .react-datepicker__input-container { display: block; }
.kh3-root .date-box input {
  width: 100%;
  height: 37px;
  border: 0;
  outline: 0;
  padding: 0 8px 0 41px;
  color: #071a39;
  background: transparent;
  font-size: 16px;
  font-weight: 800;
  cursor: pointer;
}

.kh3-root .action-btn, .kh3-root .quick-btn { height: 39px; border-radius: 5px; border: 1px solid #55a9ff; display: inline-flex; align-items: center; justify-content: center; gap: 6px; white-space: nowrap; font-weight: 700; transition: filter .15s ease, transform .15s ease; }
.kh3-root .action-btn { padding: 0 13px; font-size: 14px; }
.kh3-root .action-btn .asset-icon { width: 34px; height: 34px; margin-left: -7px; }
.kh3-root .btn-glyph { flex: 0 0 auto; width: 20px; height: 20px; }
.kh3-root .action-btn--dark { color: #fff; background: linear-gradient(#0b274d, #001530); box-shadow: inset 0 0 8px rgba(51,134,255,.4); }
.kh3-root .action-btn--light { color: #0c2d55; background: linear-gradient(#fff, #d9f3ff); }
.kh3-root .quick-btn { min-width: 76px; padding: 0 10px; color: #0c2143; background: linear-gradient(#fff, #dce8f4); box-shadow: 0 2px 5px rgba(0,0,0,.28); }
.kh3-root .quick-btn.active { color: #fff; border-color: #1e8dff; background: linear-gradient(#177af5, #0649d8); box-shadow: 0 0 8px #167dfd; }
.kh3-root .filters button:hover:not(:disabled) { filter: brightness(1.08); transform: translateY(-1px); }
.kh3-root .filters button:disabled { cursor: wait; opacity: .78; }
.kh3-root .filters button:disabled:hover { transform: none; filter: none; }

/* A drawn ring reads better than spinning the glossy PNG, which wobbles because
   its artwork is not centred in the bitmap. */
.kh3-root .btn-spinner {
  flex: 0 0 auto;
  width: 19px;
  height: 19px;
  margin-left: -1px;
  border-radius: 50%;
  border: 2.5px solid rgba(190, 228, 255, .28);
  border-top-color: #6fd3ff;
  border-right-color: #6fd3ff;
  animation: kh3-spin .75s linear infinite;
}
.kh3-root .btn-spinner.is-dark {
  border-color: rgba(12, 45, 85, .22);
  border-top-color: #0b6fd6;
  border-right-color: #0b6fd6;
}
.kh3-root .action-btn--dark.is-loading {
  border-color: #6fd3ff;
  box-shadow: inset 0 0 10px rgba(51, 134, 255, .5), 0 0 12px rgba(60, 190, 255, .45);
}
/* Sweeping sheen so the whole control shows it is busy, not just the icon. */
.kh3-root .action-btn.is-loading::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(100deg, transparent 20%, rgba(130, 215, 255, .26) 50%, transparent 80%);
  background-size: 220% 100%;
  animation: kh3-sheen 1.25s linear infinite;
}
.kh3-root .action-btn { position: relative; overflow: hidden; }
.kh3-root .filters.is-busy .date-box { opacity: .82; }
.kh3-root .is-spinning { animation: kh3-spin .8s linear infinite; }
@keyframes kh3-spin { to { transform: rotate(360deg); } }
@keyframes kh3-sheen { from { background-position: 140% 0; } to { background-position: -60% 0; } }

/* Fills the space under the header so the footer always sits at the bottom edge,
   whatever the viewport height is. The table is the only flexible block. */
.kh3-root .content {
  position: relative;
  z-index: 1;
  flex: 1 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  padding: 11px 18px 10px 16px;
}
.kh3-root .overview { flex: 0 0 auto; display: grid; grid-template-columns: minmax(730px, 1fr) 360px 432px; grid-gap: 12px; gap: 12px; height: 198px; }
.kh3-root .left-overview { display: grid; grid-template-rows: 114px 76px; grid-gap: 8px; gap: 8px; min-width: 0; }
.kh3-root .kpi-grid { display: grid; grid-template-columns: 1.12fr repeat(3, 1fr); grid-gap: 8px; gap: 8px; }
.kh3-root .kpi-card,
.kh3-root .progress-panel,
.kh3-root .shortage-card,
.kh3-root .daily-card,
.kh3-root .main-table-card {
  border: 1px solid #00bfe9;
  box-shadow: inset 0 1px 0 rgba(207,246,255,.13), inset 0 0 20px rgba(0,156,230,.13), 0 2px 8px rgba(0,0,0,.42), 0 0 5px rgba(0,160,220,.13);
}
.kh3-root .kpi-card {
  position: relative;
  min-width: 0;
  border-radius: 9px;
  display: flex;
  align-items: center;
  padding: 6px 6px 6px 8px;
  background:
    radial-gradient(circle at 18% 22%, rgba(19,133,199,.18), transparent 40%),
    linear-gradient(120deg, rgba(6,76,126,.96), rgba(12,47,80,.97) 55%, rgba(9,32,59,.98));
}
.kh3-root .kpi-card--green { border-color: #53d9bc; }
.kh3-root .kpi-card--orange { border-color: #e6b171; }
.kh3-root .kpi-card--cyan { border-color: #00aef4; }

/* A light that travels around the card edge. The conic gradient is masked down
   to a 2px ring so only the border glows, and the rotation is driven by an
   animated custom property (falls back to a static ring where @property is
   unsupported). */
@property --kh3-angle {
  syntax: '<angle>';
  initial-value: 0deg;
  inherits: false;
}
.kh3-root .kpi-card::before,
.kh3-root .shortage-card::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  padding: 2px;
  background: conic-gradient(
    from var(--kh3-angle),
    transparent 0turn,
    transparent .58turn,
    #5fd8ff .75turn,
    #ffffff .79turn,
    #5fd8ff .83turn,
    transparent 1turn
  );
  background: conic-gradient(
    from var(--kh3-angle),
    transparent 0turn,
    transparent .58turn,
    var(--kh3-trace, #5fd8ff) .75turn,
    #ffffff .79turn,
    var(--kh3-trace, #5fd8ff) .83turn,
    transparent 1turn
  );
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  animation: kh3-trace 4s linear infinite;
}
.kh3-root .kpi-card > *,
.kh3-root .shortage-card > * { position: relative; z-index: 1; }
.kh3-root .kpi-card--green::before { --kh3-trace: #7ef05c; animation-delay: -1s; }
.kh3-root .kpi-card--orange::before { --kh3-trace: #ffab3d; animation-delay: -2s; }
.kh3-root .kpi-card--cyan::before { --kh3-trace: #38c6ff; animation-delay: -3s; }
.kh3-root .shortage-card::before { --kh3-trace: #ff5f7e; animation-duration: 5s; animation-delay: -1.5s; }
@keyframes kh3-trace { to { --kh3-angle: 360deg; } }
.kh3-root .kpi-icon { width: 86px; height: 86px; flex-basis: 86px; margin-left: -4px; }
.kh3-root .kpi-card > div { min-width: 0; flex: 1 1; text-align: center; }
.kh3-root .kpi-card h2 { margin: 0 0 3px; font-size: 16px; font-weight: 800; white-space: nowrap; }
.kh3-root .kpi-card h2,
.kh3-root .progress-copy,
.kh3-root .shortage-card p,
.kh3-root .shortage-card span,
.kh3-root .daily-card h2,
.kh3-root .production-table th,
.kh3-root .footerbar { text-shadow: 0 1px 2px rgba(0,0,0,.78), 0 0 1px rgba(222,242,255,.38); }
.kh3-root .kpi-card strong { display: block; font-size: 33px; line-height: 1; font-weight: 800; letter-spacing: .4px; text-shadow: 0 2px 2px rgba(0,0,0,.58), 0 0 4px rgba(201,235,255,.16); }
.kh3-root .kpi-card span:not(.kh3-num):not(.kh3-num-inner) { display: block; margin-top: 2px; text-align: center; font-size: 15px; text-transform: lowercase; }
.kh3-root .kpi-card--orange strong { color: #ff9642; }
.kh3-root .kpi-card--cyan strong { color: #58baff; }

.kh3-root .progress-panel { border-radius: 10px; display: flex; align-items: center; padding: 9px 18px; background: linear-gradient(110deg, #075183, #04325e 42%, #01264e 68%, #061c3c); }
.kh3-root .progress-copy { width: 210px; flex: 0 0 210px; padding-right: 14px; }
.kh3-root .progress-copy strong { display: block; font-size: 20px; }
.kh3-root .progress-copy span { display: block; font-size: 15px; margin-top: 3px; }
.kh3-root .progress-track { position: relative; height: 40px; flex: 1 1; overflow: hidden; border: 1px solid #7cb8df; border-radius: 22px; background: linear-gradient(#123f68, #061f3c 72%); box-shadow: inset 0 3px 10px rgba(0,0,0,.84), inset 0 1px 0 rgba(255,255,255,.12), 0 0 8px rgba(58,176,255,.42); }
.kh3-root .progress-fill { height: 100%; position: relative; border-radius: inherit; background: linear-gradient(180deg, #39dcff 0, #078cff 46%, #055de3 74%, #073ec3 100%); box-shadow: inset 0 1px 1px rgba(255,255,255,.45), 0 0 12px #00aaff; transition: width .4s ease; }
/* Two layers of motion: diagonal stripes crawling forward, plus a highlight that
   sweeps the length of the bar so the fill reads as live rather than static. */
.kh3-root .progress-fill::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background:
    linear-gradient(100deg, transparent 38%, rgba(255,255,255,.34) 50%, transparent 62%),
    repeating-linear-gradient(116deg, rgba(255,255,255,.12) 0 12px, transparent 12px 30px);
  background-size: 260% 100%, 62px 100%;
  animation: kh3-bar-motion 2.48s linear infinite;
}
.kh3-root .progress-fill::after { content: ''; position: absolute; inset: 2px 0 auto; height: 45%; border-radius: inherit; background: linear-gradient(rgba(255,255,255,.4), transparent); }
/* One keyframe drives both layers: the sweep travels once while the stripe
   pattern advances a whole number of tiles, so the loop is seamless. */
@keyframes kh3-bar-motion {
  from { background-position: 180% 0, 0 0; }
  to { background-position: -80% 0, 124px 0; }
}
.kh3-root .progress-fill span { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); z-index: 1; line-height: 1; font-size: 26px; font-weight: 800; text-shadow: 0 2px 2px rgba(0,0,0,.35); white-space: nowrap; }
.kh3-root .progress-fill.is-narrow span { right: auto; left: calc(100% + 12px); color: #bce2ff; }

.kh3-root .shortage-card { position: relative; border-radius: 10px; border-color: #ff3667; display: grid; grid-template-columns: 46% 54%; overflow: hidden; background: radial-gradient(circle at 4% 28%, rgba(255,29,80,.38), transparent 50%), linear-gradient(115deg, #32162f, #20132f 53%, #17132b 100%); box-shadow: inset 0 1px 0 rgba(255,151,174,.18), inset 0 0 20px rgba(205,19,88,.12), 0 2px 8px rgba(0,0,0,.44), 0 0 5px rgba(255,31,89,.2); }
.kh3-root .shortage-main { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 8px 5px; border-right: 1px solid rgba(255,255,255,.22); }
/* The alert glyph is a flat PNG, so the warning read comes from a pulsing red
   halo and a subtle beat rather than animating the glyph itself. */
.kh3-root .shortage-icon {
  width: 88px;
  height: 88px;
  margin: -8px 0 -9px;
  border-radius: 50%;
  animation: kh3-alert-pulse 1.8s ease-in-out infinite;
}
@keyframes kh3-alert-pulse {
  0%, 100% {
    transform: scale(1);
    filter: drop-shadow(0 0 3px rgba(255, 60, 90, .55));
  }
  45% {
    transform: scale(1.06);
    filter: drop-shadow(0 0 14px rgba(255, 70, 100, .95)) drop-shadow(0 0 26px rgba(255, 30, 70, .6));
  }
}
.kh3-root .shortage-main p, .kh3-root .shortage-row p { margin: 6px 0 0; font-size: 16px; }
.kh3-root .shortage-main strong { font-size: 48px; color: #ff647d; line-height: 1; }
.kh3-root .shortage-main span:not(.kh3-num):not(.kh3-num-inner) { font-size: 16px; margin-top: 4px; }
.kh3-root .shortage-split { padding: 0 10px; }
.kh3-root .shortage-row { height: 50%; display: flex; align-items: center; gap: 13px; }
.kh3-root .shortage-row + .shortage-row { border-top: 1px solid rgba(255,255,255,.2); }
.kh3-root .shortage-icon-small { width: 80px; height: 80px; margin-left: -12px; margin-right: -4px; }
/* tools-centered.png fills more of its canvas than truck.png, so it is scaled
   down here to make both discs read at the same size. */
.kh3-root .shortage-row:last-child .shortage-icon-small { background-size: 84%; }
.kh3-root .shortage-row > div { min-width: 0; flex: 1 1; text-align: center; }
.kh3-root .shortage-row p { margin: 0; font-size: 16px; }
.kh3-root .shortage-row strong { display: block; font-size: 31px; line-height: 1.05; color: #ff791f; }
.kh3-root .shortage-row:last-child strong { color: #b864ef; }
.kh3-root .shortage-row span:not(.kh3-num):not(.kh3-num-inner) { display: block; text-align: center; font-size: 14px; margin-top: 2px; }

.kh3-root .daily-card { display: flex; flex-direction: column; border-color: #7356ff; border-radius: 9px; overflow: hidden; background: #eff8ff; }
.kh3-root .daily-card.is-clickable { cursor: pointer; transition: box-shadow .16s ease; }
.kh3-root .daily-card.is-clickable:hover { box-shadow: inset 0 1px 0 rgba(207,246,255,.13), 0 2px 8px rgba(0,0,0,.42), 0 0 12px rgba(150,110,255,.5); }
.kh3-root .daily-card h2 { flex: 0 0 auto; height: 40px; display: flex; align-items: center; justify-content: center; gap: 10px; margin: 0; font-size: 19px; letter-spacing: .1px; color: #fff; background: linear-gradient(#103766, #061e42 60%, #031936); }
.kh3-root .daily-card h2 .asset-icon { width: 37px; height: 37px; margin-block: -3px; }
/* Body scrolls while the header row and the TỔNG row stay pinned. */
.kh3-root .daily-card .daily-scroll { flex: 1 1; min-height: 0; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #7f93b5 transparent; }
.kh3-root .daily-card .daily-scroll::-webkit-scrollbar { width: 7px; }
.kh3-root .daily-card .daily-scroll::-webkit-scrollbar-thumb { border-radius: 4px; background: #8ea3c4; }
.kh3-root .daily-card table { width: 100%; border-collapse: separate; border-spacing: 0; table-layout: fixed; color: var(--ink); font-size: 17px; }
.kh3-root .daily-card thead th { position: sticky; top: 0; z-index: 2; }
.kh3-root .daily-card tfoot td { position: sticky; bottom: 0; z-index: 2; }
.kh3-root .daily-card th { height: 35px; text-align: center; color: #fff; font-size: 14px; border-right: 1px solid #3091c1; background: #062758; }
.kh3-root .daily-card th:nth-child(2) { background: #11642f; }
.kh3-root .daily-card th:nth-child(3) { background: #ba101c; }
.kh3-root .daily-card th:nth-child(4) { background: #481397; }
.kh3-root .daily-card td { text-align: center; border: 1px solid #bed7e7; background: rgba(255,255,255,.9); }
.kh3-root .daily-card td:nth-child(2) { color: #126b24; }
.kh3-root .daily-card td:nth-child(3) { color: #ed101b; }
.kh3-root .daily-card td:nth-child(4) { color: #4811ba; }
.kh3-root .daily-card tfoot td { font-size: 19px; font-weight: 800; background: #e8f6ff; }

.kh3-modal {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(0, 10, 28, .72);
  -webkit-backdrop-filter: blur(3px);
          backdrop-filter: blur(3px);
  animation: kh3-modal-fade .16s ease-out;
  font-family: 'Roboto Condensed', 'Arial Narrow', Arial, sans-serif;
}
.kh3-modal-box {
  width: min(720px, 100%);
  max-height: min(78vh, 640px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #7356ff;
  border-radius: 12px;
  background: #eff8ff;
  box-shadow: 0 20px 60px rgba(0, 6, 22, .65), 0 0 22px rgba(120, 90, 255, .35);
  animation: kh3-modal-rise .2s cubic-bezier(.2, .9, .3, 1);
}
.kh3-modal-head {
  flex: 0 0 auto;
  position: relative;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: #fff;
  font-size: 19px;
  font-weight: 800;
  background: linear-gradient(#103766, #061e42 60%, #031936);
}
.kh3-modal-head .asset-icon { width: 34px; height: 34px; background-repeat: no-repeat; background-position: center; background-size: contain; }
.kh3-modal-close {
  position: absolute;
  right: 10px;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 1px solid rgba(160, 215, 255, .4);
  border-radius: 8px;
  color: #dff0ff;
  background: rgba(255, 255, 255, .08);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}
.kh3-modal-close:hover { background: rgba(255, 255, 255, .18); }
.kh3-modal-body { flex: 1 1; min-height: 0; overflow-y: auto; scrollbar-width: thin; }
.kh3-modal-table { width: 100%; border-collapse: separate; border-spacing: 0; table-layout: fixed; color: #0b1d3b; font-size: 17px; }
.kh3-modal-table th { position: sticky; top: 0; z-index: 1; height: 38px; text-align: center; color: #fff; font-size: 14px; border-right: 1px solid #3091c1; background: #062758; }
.kh3-modal-table th:nth-child(3) { background: #11642f; }
.kh3-modal-table th:nth-child(4) { background: #ba101c; }
.kh3-modal-table th:nth-child(5) { background: #481397; }
.kh3-modal-table th:first-child { width: 62px; }
.kh3-modal-table td { height: 36px; text-align: center; border: 1px solid #bed7e7; background: rgba(255,255,255,.92); font-weight: 700; }
.kh3-modal-table tbody tr:nth-child(even) td { background: #e8f2fb; }
.kh3-modal-table td:nth-child(3) { color: #126b24; }
.kh3-modal-table td:nth-child(4) { color: #ed101b; }
.kh3-modal-table td:nth-child(5) { color: #4811ba; }
.kh3-modal-table tfoot td { position: sticky; bottom: 0; z-index: 1; font-size: 19px; font-weight: 800; color: #0b1d3b; background: #dcecfa; }
/* The TỔNG row merges the first two cells, so the tints are re-mapped here to
   stay aligned with the column colours above. */
.kh3-modal-table tfoot td:nth-child(2) { color: #126b24; }
.kh3-modal-table tfoot td:nth-child(3) { color: #ed101b; }
.kh3-modal-table tfoot td:nth-child(4) { color: #4811ba; }
@keyframes kh3-modal-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes kh3-modal-rise { from { opacity: 0; transform: translateY(14px) scale(.98); } to { opacity: 1; transform: none; } }

.kh3-root .alerts-panel { flex: 0 0 auto; margin-top: 8px; height: 80px; overflow: hidden; color: #091d3e; border-radius: 9px; background: linear-gradient(180deg, #fff 0, #f7fcff 53%, #e5f3fd 100%); box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 2px 10px rgba(0,0,0,.4), 0 0 5px rgba(112,207,255,.18); }
.kh3-root .priority-row { height: 43px; display: grid; grid-template-columns: 68px 250px 1px 180px 160px 1px 155px 160px 1px 155px 135px; align-items: center; border-bottom: 1px solid #a8cce3; font-size: 20px; }
.kh3-root .priority-icon { width: 44px; height: 44px; margin-left: 22px; border-radius: 50%; animation: kh3-alert-pulse 1.8s ease-in-out infinite; }
.kh3-root .priority-title { color: #e21120; font-size: 20px; padding-left: 15px; }
.kh3-root .separator { width: 1px; height: 28px; background: #6e9fd3; }
.kh3-root .metric-label { text-align: right; padding-right: 12px; }
.kh3-root .priority-row b { font-size: 23px; }
.kh3-root .red { color: #f0191e; }
.kh3-root .orange { color: #ef5a00; }
.kh3-root .purple { color: #4f0eb7; }
.kh3-root .notice-row { height: 36px; display: flex; align-items: center; gap: 8px; padding: 0 25px; font-size: 17px; }
.kh3-root .notice-icon { width: 44px; height: 44px; flex-basis: 44px; margin-left: -3px; }
.kh3-root .notice-row .notice-link { color: #096ee5; }
.kh3-root .notice-row.is-error { color: #b3000f; }
.kh3-root .notice-row .notice-text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.kh3-root .main-table-card { flex: 1 1; min-height: 0; margin-top: 7px; border-radius: 11px; overflow: hidden; background: #f8fcff; }
.kh3-root .production-table { width: 100%; height: 100%; border-collapse: collapse; table-layout: fixed; color: #0a1c3b; font-size: 16px; }
.kh3-root .production-table th, .kh3-root .production-table td { border-right: 1px solid #a8cce3; text-align: center; }
.kh3-root .production-table th { color: #fff; }
.kh3-root .production-table thead { height: 64px; }
.kh3-root .production-table .head-top { height: 32px; background: transparent; }
.kh3-root .production-table .head-top th { background: linear-gradient(180deg, #0a396a 0%, #082d59 28%, #041f43 62%, #021632 100%); }
.kh3-root .production-table .head-top th[rowspan="2"] {
  background: linear-gradient(180deg, #0a396a 0%, #08315f 22%, #06294f 44%, #052545 58%, #031d3b 79%, #021735 100%);
}
.kh3-root .production-table .head-top th[colspan] { font-size: 18px; }
.kh3-root .production-table .head-sub { height: 32px; background: transparent; }
.kh3-root .production-table .head-sub th { border-top: 1px solid #2080ba; }
.kh3-root .production-table .head-sub th:not(.h-red):not(.h-orange):not(.h-purple) {
  background: linear-gradient(180deg, #093869 0%, #082f5d 22%, #052147 64%, #031a3a 100%);
}
.kh3-root .production-table .h-red { background: linear-gradient(180deg, #e3191c 0%, #da1418 22%, #cc0c12 60%, #b8010b 100%); }
.kh3-root .production-table .h-orange { background: linear-gradient(180deg, #ff6e00 0%, #f96400 22%, #ef5400 60%, #e33e00 100%); }
.kh3-root .production-table .h-purple { background: linear-gradient(180deg, #701bcd 0%, #6616c1 22%, #570fac 60%, #420691 100%); }
.kh3-root .production-table tbody tr { height: 26px; }
.kh3-root .production-table tbody tr:nth-child(odd) { background: #f9fcff; }
.kh3-root .production-table tbody tr:nth-child(even) { background: #e4f2fb; }
.kh3-root .production-table tbody td { border-top: 1px solid #ccdee9; font-weight: 700; text-shadow: 0 0 .35px rgba(7,25,52,.18); }
.kh3-root .production-table tbody td:nth-child(8) { color: #ff171d; }
.kh3-root .production-table tbody td:nth-child(9) { color: #ff3910; }
.kh3-root .production-table tbody td:nth-child(10), .kh3-root .production-table tbody td:nth-child(13) { color: #4a0cc4; }
.kh3-root .production-table tfoot { height: 48px; color: #fff; background: linear-gradient(#06365e, #001c3c); }
.kh3-root .production-table tfoot td { border-top: 1px solid #29d3f7; font-size: 22px; font-weight: 800; }
.kh3-root .production-table tfoot td:first-child { font-size: 23px; }
.kh3-root .production-table tfoot td:nth-child(2) { color: #1fb0ff; }
.kh3-root .production-table tfoot td:nth-child(3) { color: #68e330; }
.kh3-root .production-table tfoot td:nth-child(4) { color: #4cb8ff; }
.kh3-root .production-table tfoot td:nth-child(5) { color: #ff202b; }
.kh3-root .production-table tfoot td:nth-child(6) { color: #ff7610; }
.kh3-root .production-table tfoot td:nth-child(7), .kh3-root .production-table tfoot td:nth-child(10) { color: #d05ce9; }
.kh3-root .production-table tfoot td:nth-child(8) { color: #6ae430; }
.kh3-root .production-table tfoot td:nth-child(9) { color: #ff202b; }
.kh3-root .production-table th:nth-child(1) { width: 4%; }
.kh3-root .production-table th:nth-child(2) { width: 7.7%; }
.kh3-root .production-table th:nth-child(3) { width: 11.2%; }
.kh3-root .production-table th:nth-child(4) { width: 7.8%; }
.kh3-root .production-table th:nth-child(5) { width: 6.8%; }
.kh3-root .production-table th:nth-child(6) { width: 6.9%; }
.kh3-root .production-table th:nth-child(7) { width: 6.7%; }
.kh3-root .mini.asset-icon { display: inline-grid; width: 24px; height: 24px; margin: -3px 3px -3px 0; vertical-align: middle; }

.kh3-root .footerbar {
  position: relative;
  flex: 0 0 auto;
  margin-top: 7px;
  height: 53px;
  display: grid;
  grid-template-columns: 275px 1fr 300px;
  border: 1px solid #1e7fc4;
  border-radius: 9px;
  overflow: hidden;
  background:
    linear-gradient(100deg, rgba(0,138,214,.16) 0 18%, transparent 46%),
    linear-gradient(255deg, rgba(0,138,214,.14) 0 16%, transparent 44%),
    linear-gradient(180deg, #0b3f6e 0%, #062b53 42%, #021a38 100%);
  box-shadow: inset 0 1px 0 rgba(160,224,255,.22), inset 0 -1px 0 rgba(0,8,26,.6), 0 2px 9px rgba(0,0,0,.46), 0 0 12px rgba(0,150,220,.16);
}
.kh3-root .footer-brand {
  position: relative;
  display: flex;
  align-items: center;
  gap: 15px;
  padding-left: 20px;
  background: linear-gradient(105deg, #1a76b4 0%, #0e558e 45%, #073f70 100%);
  clip-path: polygon(0 0, 100% 0, 94% 100%, 0 100%);
  box-shadow: inset 0 1px 0 rgba(190,235,255,.3);
}
.kh3-root .footer-brand span { font-size: 15px; line-height: 1.35; font-weight: 800; letter-spacing: .2px; text-shadow: 0 2px 3px rgba(0,8,28,.85); }
.kh3-root .legend {
  margin-left: -18px;
  min-width: 0;
  display: grid;
  grid-template-columns: 33.5% 29.5% 37%;
  align-items: center;
  padding: 0 18px 0 26px;
  background: linear-gradient(100deg, rgba(16,74,120,.6), rgba(8,48,88,.62) 55%, rgba(4,32,64,.66));
  clip-path: polygon(2% 0, 100% 0, 97% 100%, 0 100%);
  box-shadow: inset 0 1px 0 rgba(158,225,255,.25), inset 0 -1px 0 rgba(0,10,35,.5);
}
.kh3-root .formula-card {
  min-width: 0;
  height: 38px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 16px;
  overflow: hidden;
  color: #f7fbff;
  border-right: 1px solid rgba(150,215,255,.32);
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -.12px;
  text-shadow: 0 2px 2px rgba(0,8,28,.8), 0 0 3px rgba(185,229,255,.3);
  white-space: nowrap;
}
.kh3-root .formula-card:last-child { border-right: 0; }
.kh3-root .formula-icon { width: 38px; height: 38px; flex-basis: 38px; margin: 0; filter: drop-shadow(0 0 5px rgba(80,190,255,.5)); }
.kh3-root .formula-blue { color: #55d7ff; }
.kh3-root .formula-green { color: #73f05b; }
.kh3-root .formula-red { color: #ff6570; }
.kh3-root .formula-purple { color: #e787ff; }
.kh3-root .updated {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  font-size: 16px;
  text-shadow: 0 2px 2px rgba(0,8,28,.8);
}
.kh3-root .updated::before {
  content: '';
  position: absolute;
  left: 0;
  top: 11px;
  bottom: 11px;
  width: 1px;
  background: linear-gradient(180deg, transparent, rgba(140,215,255,.5), transparent);
}
.kh3-root .updated .asset-icon { width: 47px; height: 47px; margin-right: -6px; filter: drop-shadow(0 0 5px rgba(80,190,255,.45)); }
.kh3-root .updated strong { font-size: 18px; }

/* Datepicker renders through a portal outside .kh3-root, so these rules hang off
   the calendar's own class instead. */
#kh3-datepicker-portal .react-datepicker-popper { z-index: 60; }
.react-datepicker.kh3-datepicker { border: 1px solid #00bfe9; border-radius: 10px; overflow: hidden; background: #062a52; box-shadow: 0 14px 34px rgba(0,8,25,.6); font-family: 'Roboto Condensed', 'Arial Narrow', Arial, sans-serif; }
.react-datepicker.kh3-datepicker .react-datepicker__triangle { display: none; }
.react-datepicker.kh3-datepicker .react-datepicker__header { padding-top: 10px; border-bottom: 1px solid rgba(90,200,255,.3); background: linear-gradient(#0d4a86, #062a52); }
.react-datepicker.kh3-datepicker .react-datepicker__current-month { color: #fff; font-size: 16px; font-weight: 800; }
.react-datepicker.kh3-datepicker .react-datepicker__day-name { color: #7fd2ff; font-weight: 700; width: 2rem; }
.react-datepicker.kh3-datepicker .react-datepicker__navigation-icon::before { border-color: #7fd2ff; }
.react-datepicker.kh3-datepicker .react-datepicker__month { margin: 8px 10px 10px; padding: 4px 2px; border-radius: 8px; background: #03203f; }
.react-datepicker.kh3-datepicker .react-datepicker__day { color: #dceeff; width: 2rem; line-height: 2rem; font-weight: 700; border-radius: 6px; }
.react-datepicker.kh3-datepicker .react-datepicker__day:hover { background: #0d5fae; color: #fff; }
.react-datepicker.kh3-datepicker .react-datepicker__day--selected,
.react-datepicker.kh3-datepicker .react-datepicker__day--keyboard-selected { background: linear-gradient(#177af5, #0649d8); color: #fff; }
.react-datepicker.kh3-datepicker .react-datepicker__day--outside-month { color: #47688f; }
.react-datepicker.kh3-datepicker .react-datepicker__day--disabled { color: #33507a; }
.react-datepicker.kh3-datepicker .react-datepicker__day--disabled:hover { background: transparent; }

@media (min-width: 1400px) and (max-height: 1000px) {
  .kh3-root .content { padding-top: 11px; }
}

@media (max-width: 1600px) {
  .kh3-root .motto { display: none; }
}

@media (max-width: 1450px) {
  .kh3-root .topbar { grid-template-columns: minmax(480px, 1fr) auto; }
  .kh3-root .overview { grid-template-columns: minmax(700px, 1fr) 335px 390px; }
  .kh3-root .kpi-card { gap: 9px; padding-left: 9px; }
  .kh3-root .kpi-card strong { font-size: 29px; }
  .kh3-root .priority-row { grid-template-columns: 62px 220px 1px 150px 130px 1px 130px 130px 1px 130px 110px; }
}

@media (max-width: 1180px) {
  .kh3-root .topbar { height: auto; min-height: 150px; grid-template-columns: 1fr; gap: 10px; padding-bottom: 13px; }
  .kh3-root .brand { justify-content: center; }
  .kh3-root .filters { justify-self: center; height: auto; flex-wrap: wrap; justify-content: center; align-items: flex-end; margin-bottom: 0; }
  .kh3-root .overview { height: auto; grid-template-columns: 1fr 1fr; }
  .kh3-root .left-overview { grid-column: 1 / -1; }
  .kh3-root .daily-card { min-height: 215px; }
  .kh3-root .alerts-panel { height: auto; }
  .kh3-root .priority-row { height: auto; min-height: 47px; display: flex; flex-wrap: wrap; gap: 14px; padding: 7px 16px; }
  .kh3-root .separator { display: none; }
  .kh3-root .notice-row { height: auto; min-height: 44px; flex-wrap: wrap; padding-block: 7px; }
  .kh3-root .notice-row .notice-text { white-space: normal; }
  .kh3-root .main-table-card { overflow-x: auto; }
  .kh3-root .production-table { min-width: 1120px; }
  .kh3-root .footerbar { height: auto; min-height: 60px; grid-template-columns: 260px 1fr; }
  .kh3-root .legend { overflow-x: auto; grid-template-columns: repeat(3, minmax(315px, 1fr)); }
  .kh3-root .updated { grid-column: 1/-1; padding: 8px; }
}

@media (max-width: 760px) {
  .kh3-root .topbar { padding-inline: 10px; }
  .kh3-root .brand { gap: 8px; }
  .kh3-root .brand-icon { width: 52px; height: 52px; flex-basis: 52px; }
  .kh3-root .brand h1 { font-size: 22px; white-space: normal; }
  .kh3-root .brand p { font-size: 17px; }
  .kh3-root .content { padding: 10px 8px; }
  .kh3-root .left-overview { grid-template-rows: auto auto; }
  .kh3-root .kpi-grid { grid-template-columns: 1fr 1fr; }
  .kh3-root .kpi-card { min-height: 100px; }
  .kh3-root .progress-panel { flex-wrap: wrap; gap: 7px; }
  .kh3-root .progress-track { flex-basis: 100%; }
  .kh3-root .overview { grid-template-columns: 1fr; }
  .kh3-root .shortage-card, .kh3-root .daily-card { min-height: 215px; }
  .kh3-root .footerbar { grid-template-columns: 1fr; }
  .kh3-root .footer-brand { display: none; }
  .kh3-root .legend { margin-left: 0; clip-path: none; }
  .kh3-root .updated { grid-column: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .kh3-root .is-spinning,
  .kh3-root .btn-spinner,
  .kh3-root .action-btn.is-loading::after,
  .kh3-root .kpi-card::before,
  .kh3-root .shortage-card::before,
  .kh3-root .progress-fill::before,
  .kh3-root .shortage-icon,
  .kh3-root .priority-icon,
  .kh3-root .kh3-num,
  .kh3-root .kh3-num-inner { animation: none; }
}

/* Dashboard TV "TIẾN ĐỘ XUẤT HÀNG MITSU" - xem TienDoXuatHangMitsu.jsx.
   Layout co giãn theo viewport (clamp/vw) chứ không scale cả khung như kh3-dashboard: số dòng của
   bảng này thay đổi theo khoảng ngày nên khung cố định sẽ hoặc bị cắt dòng hoặc thừa khoảng trắng. */

.mtsu-page {
  --mtsu-navy: #0a1f44;
  --mtsu-navy-deep: #061631;
  --mtsu-line: #1d3f74;
  --mtsu-green: #4ac50d;
  --mtsu-green-dark: #10a134;
  --mtsu-orange: #f07f13;
  --mtsu-orange-dark: #d76a05;
  --mtsu-red: #e11212;
  --mtsu-blue: #1668d1;
  --mtsu-yellow: #ffd54a;
  /* Vách ngăn nhóm mốc: phải là tông TRUNG TÍNH đủ nổi trên CẢ nền trắng của thân bảng LẪN nền navy
     của tiêu đề + dòng TỔNG. Dùng 2 màu (navy cho thân, trắng cho tiêu đề) thì vạch đổi màu giữa
     chừng, mắt không nối lại thành một đường liền. */
  --mtsu-divider: #5c7cb5;
  --mtsu-th1-h: clamp(18px, 1.9vw, 38px);
  --mtsu-th2-h: clamp(23px, 2.4vw, 48px);
  --mtsu-gap: clamp(4px, 0.45vw, 9px);
  --mtsu-radius: clamp(5px, 0.5vw, 10px);

  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: var(--mtsu-gap);
  height: 100vh;
  overflow: hidden;
  padding: var(--mtsu-gap);
  background: linear-gradient(160deg, #0b2450 0%, var(--mtsu-navy-deep) 100%);
  color: #fff;
  font-family: Inter, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: clamp(10px, 0.85vw, 17px);
}

.mtsu-page *,
.mtsu-page *::before,
.mtsu-page *::after { box-sizing: border-box; }

/* ---------- Header ---------- */
.mtsu-header {
  display: flex;
  align-items: stretch;
  gap: var(--mtsu-gap);
  padding: clamp(5px, 0.5vw, 11px) clamp(8px, 0.8vw, 16px);
  border: 1px solid var(--mtsu-line);
  border-radius: var(--mtsu-radius);
  background: linear-gradient(90deg, #0d2b5d 0%, #102f66 100%);
}

.mtsu-brand {
  display: flex;
  align-items: center;
  gap: clamp(6px, 0.7vw, 14px);
  flex: 1 1 auto;
  min-width: 0;
}

.mtsu-brand-icon {
  display: grid;
  place-items: center;
  width: clamp(28px, 2.6vw, 52px);
  height: clamp(28px, 2.6vw, 52px);
  border-radius: var(--mtsu-radius);
  background: rgba(255, 255, 255, 0.12);
  font-size: clamp(16px, 1.5vw, 30px);
  color: #fff;
}

.mtsu-brand h1 {
  margin: 0;
  font-size: clamp(15px, 1.55vw, 31px);
  font-weight: 800;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.mtsu-brand p {
  margin: 0;
  font-size: clamp(9px, 0.8vw, 16px);
  font-weight: 600;
  color: var(--mtsu-yellow);
}

.mtsu-header-box {
  display: flex;
  align-items: center;
  gap: clamp(5px, 0.5vw, 11px);
  padding: clamp(4px, 0.4vw, 9px) clamp(7px, 0.7vw, 14px);
  border: 1px solid var(--mtsu-line);
  border-radius: var(--mtsu-radius);
  background: rgba(255, 255, 255, 0.06);
}

.mtsu-header-box > svg {
  font-size: clamp(14px, 1.3vw, 26px);
  color: #7fb3ff;
  flex: none;
}

.mtsu-header-box span {
  display: block;
  font-size: clamp(8px, 0.7vw, 14px);
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #9fc0ef;
}

.mtsu-header-box b,
.mtsu-header-box input {
  display: block;
  font-size: clamp(11px, 1.05vw, 21px);
  font-weight: 800;
  color: #fff;
}

.mtsu-header-box input {
  width: clamp(88px, 8vw, 160px);
  padding: 0;
  border: none;
  background: transparent;
  font-family: inherit;
  color-scheme: dark;
}

.mtsu-header-box input:focus { outline: none; }

.mtsu-header-box.is-live > svg { color: #3ddc84; }
.mtsu-header-box.is-live b { color: #3ddc84; }

.mtsu-refresh {
  display: flex;
  align-items: center;
  gap: clamp(4px, 0.4vw, 8px);
  padding: 0 clamp(8px, 0.8vw, 16px);
  border: 1px solid var(--mtsu-line);
  border-radius: var(--mtsu-radius);
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.mtsu-refresh:disabled { opacity: 0.6; cursor: progress; }
.mtsu-refresh .is-spinning { animation: mtsu-spin 1s linear infinite; }

@keyframes mtsu-spin { to { transform: rotate(360deg); } }

/* ---------- Thẻ KPI ---------- */
.mtsu-kpis {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  grid-gap: var(--mtsu-gap);
  gap: var(--mtsu-gap);
}

.mtsu-kpi {
  display: flex;
  align-items: center;
  gap: clamp(5px, 0.55vw, 11px);
  padding: clamp(5px, 0.55vw, 11px) clamp(6px, 0.65vw, 13px);
  border-radius: var(--mtsu-radius);
  background: #fff;
  color: var(--mtsu-navy);
}

.mtsu-kpi-icon {
  display: grid;
  place-items: center;
  width: clamp(26px, 2.4vw, 48px);
  height: clamp(26px, 2.4vw, 48px);
  border-radius: var(--mtsu-radius);
  font-size: clamp(15px, 1.4vw, 28px);
  color: #fff;
  flex: none;
}

.mtsu-kpi-body { min-width: 0; }

.mtsu-kpi-label {
  font-size: clamp(8px, 0.92vw, 14px);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.mtsu-kpi-value {
  font-size: clamp(15px, 2.0vw, 30px);
  font-weight: 900;
  line-height: 1.1;
}

.mtsu-kpi-sub {
  font-size: clamp(8px, 0.72vw, 14px);
  font-weight: 700;
  color: #5b6b85;
}

.mtsu-tone-blue .mtsu-kpi-icon { background: var(--mtsu-blue); }
.mtsu-tone-blue .mtsu-kpi-value,
.mtsu-tone-blue .mtsu-kpi-label { color: var(--mtsu-blue); }
.mtsu-tone-green .mtsu-kpi-icon { background: var(--mtsu-green); }
.mtsu-tone-green .mtsu-kpi-value,
.mtsu-tone-green .mtsu-kpi-label { color: var(--mtsu-green); }
.mtsu-tone-violet .mtsu-kpi-icon { background: #6b4ce0; }
.mtsu-tone-violet .mtsu-kpi-value,
.mtsu-tone-violet .mtsu-kpi-label { color: #6b4ce0; }
.mtsu-tone-orange .mtsu-kpi-icon { background: var(--mtsu-orange); }
.mtsu-tone-orange .mtsu-kpi-value,
.mtsu-tone-orange .mtsu-kpi-label { color: var(--mtsu-orange); }
.mtsu-tone-red .mtsu-kpi-icon { background: var(--mtsu-red); }
.mtsu-tone-red .mtsu-kpi-value,
.mtsu-tone-red .mtsu-kpi-label { color: var(--mtsu-red); }
.mtsu-tone-navy .mtsu-kpi-icon { background: #23508f; }
.mtsu-tone-navy .mtsu-kpi-value,
.mtsu-tone-navy .mtsu-kpi-label { color: #23508f; }

/* ---------- Bảng ---------- */
.mtsu-table-wrap {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  border-radius: var(--mtsu-radius);
  background: #eef2f8;
}

.mtsu-table {
  width: 100%;
  /* Bảng cao bằng đúng khung chứa nên 6 dòng tự giãn ra lấp kín màn hình, KHÔNG đặt chiều cao dòng
     cứng theo vh - màn 768px thì vh nhỏ quá chữ bẹp, màn 4K thì dòng cao lênh khênh. Từ dòng thứ 7
     trở đi bảng cao hơn khung nên tự cuộn, chiều cao dòng lúc đó rơi về mức tối thiểu đặt bên dưới. */
  height: 100%;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
}

.mtsu-table th,
.mtsu-table td {
  padding: clamp(2px, 0.22vw, 5px) clamp(2px, 0.18vw, 4px);
  border-right: 1px solid #c9d6e8;
  border-bottom: 1px solid #c9d6e8;
  text-align: center;
  vertical-align: middle;
}

/* Vách ngăn đậm ở ô ĐẦU TIÊN của mỗi nhóm mốc. Không có nó thì 3 cột của KIỂM LẦN 2 và 3 cột của
   KIỂM ỦI nằm sát nhau bằng cùng một nét kẻ mảnh, nhìn xa trên tivi là dính thành một khối 6 cột,
   không biết con số đang thuộc mốc nào. */
/* .mtsu-table th.mtsu-group-start,
.mtsu-table td.mtsu-group-start {
  border-left: clamp(3px, 0.25vw, 5px) solid var(--mtsu-divider); */
/* } */

.mtsu-table thead th {
  position: sticky;
  border-color: rgba(255, 255, 255, 0.35);
  color: #fff;
  font-size: clamp(9px, 0.82vw, 17px);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: 0.02em;
  z-index: 2;
}

/* 3 dòng tiêu đề đều dính khi cuộn bảng - phải ghim từng dòng ở đúng độ cao cộng dồn của các dòng
   phía trên, nếu để top mặc định thì 3 dòng chồng lên nhau. Chiều cao đặt bằng em nên tự co giãn
   theo cỡ chữ clamp của tiêu đề. */
/* Mốc ghim phải dùng đơn vị KHÔNG phụ thuộc cỡ chữ của từng dòng: dòng 3 có font nhỏ hơn 2 dòng
   trên, nên "top: 4.8em" của nó chỉ ra ~61px trong khi 2 dòng trên cao thật ~82px - cuộn bảng là
   dòng 3 trèo đè lên dòng 2. Quy về biến vw dùng chung cho cả 3 dòng. */
.mtsu-table thead tr:nth-child(1) th { height: var(--mtsu-th1-h); top: 0; }
.mtsu-table thead tr:nth-child(2) th { height: var(--mtsu-th2-h); top: var(--mtsu-th1-h); }
.mtsu-table thead tr:nth-child(3) th { height: 2.1em; top: calc(var(--mtsu-th1-h) + var(--mtsu-th2-h)); }

.mtsu-th-id { background: var(--mtsu-navy); }
.mtsu-th-dat { background: linear-gradient(180deg, #23a94b 0%, var(--mtsu-green-dark) 100%); }
.mtsu-th-sua { background: linear-gradient(180deg, #f8922a 0%, var(--mtsu-orange-dark) 100%); }
.mtsu-th-stage { background: var(--mtsu-green); }
.mtsu-th-stage-sua { background: var(--mtsu-orange); }
/* Phải kèm ".mtsu-table thead th" cho đủ độ ưu tiên, nếu không thì màu chữ trắng của thead đè lên
   và dòng tiêu đề con biến mất. */
.mtsu-table thead th.mtsu-th-sub {
  background: var(--mtsu-green-dark);
  font-size: clamp(7px, 0.66vw, 14px);
}

.mtsu-table thead th.mtsu-th-sub-sua { background: var(--mtsu-orange-dark); }

/* Ô cảng xuất được phép xuống dòng để hiện đủ mọi mã cảng của list; các ô còn lại vẫn 1 dòng. */
.mtsu-table tbody td.mtsu-cell-wrap {
  white-space: normal;
  line-height: 1.15;
}

.mtsu-table tbody td {
  background-color: #fff;
  color: var(--mtsu-navy);
  font-size: clamp(10px, 0.92vw, 18px);
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Nền xen kẽ theo NHÓM mốc (nhóm chẵn trắng, nhóm lẻ xanh nhạt): đứng xa nhìn tivi thì mảng màu bắt
   mắt hơn nét kẻ, nhờ vậy 3 cột của KIỂM LẦN 2 và 3 cột của KIỂM ỦI tách hẳn thành 2 khối. */
.mtsu-table tbody tr td.mtsu-group-alt { background-color: #e8effa; }

/* Ánh chiếu của 1 dòng: 1 dòng dữ liệu gồm 2 <tr> (dòng số + dòng thanh %), nên phải cắt dải gradient
   làm đôi - nửa trên cho <tr> số, nửa dưới cho <tr> thanh % - thì cả khối mới bắt sáng liền mạch như
   một thanh nổi, thay vì lặp lại hiệu ứng 2 lần trong cùng 1 dòng.
   Dùng background-IMAGE (không phải background) để lớp sáng phủ LÊN màu nền của nhóm mốc, giữ được
   phần tô xen kẽ bên dưới. */
.mtsu-table tbody tr.mtsu-row-top td {
  height: 2.6em;
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.34) 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.95);
  border-bottom: none;
}

/* 6 ô đầu (STT -> SL CẦN XUẤT) gộp 2 dòng bằng rowSpan nên nằm trong <tr> trên, bị dính luật
   "border-bottom: none" ở trên và mất hẳn vạch ngăn giữa các dòng. Trả lại vạch, đồng thời cho
   chúng nguyên dải ánh chiếu (vì chúng cao bằng cả 2 dòng) thay vì chỉ nửa trên. */
.mtsu-table tbody tr.mtsu-row-top td.mtsu-cell-span {
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, rgba(10, 31, 68, 0.1) 100%);
  border-bottom: clamp(2px, 0.16vw, 3px) solid #aebfd6;
}

.mtsu-table tbody tr.mtsu-row-bot td {
  height: 1.9em;
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.24) 0%, rgba(10, 31, 68, 0.1) 100%);
  border-bottom: clamp(2px, 0.16vw, 3px) solid #aebfd6;
}

/* Dòng trống đệm cho đủ 6 dòng - giữ nguyên khung bảng khi ít list, không để hụt một mảng xám. */
.mtsu-table tbody tr.mtsu-row-empty td {
  height: 4.5em;
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, rgba(10, 31, 68, 0.1) 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.95);
  border-bottom: clamp(2px, 0.16vw, 3px) solid #aebfd6;
}

/* Dòng TỔNG nền tối nên đảo chiều: nhóm lẻ sáng hơn một bậc thay vì tối đi. */
.mtsu-table tfoot td.mtsu-group-alt { background: #14325f; }

.mtsu-cell-strong { font-weight: 900; }
.mtsu-cell-need { color: var(--mtsu-blue); font-weight: 900; }
.mtsu-cell-pos { color: var(--mtsu-green-dark); }
/* Số âm (cột CÒN LẠI) tô đỏ. Bắt buộc kèm ".mtsu-table tbody td" cho đủ độ ưu tiên: luật
   ".mtsu-table tbody td { color: navy }" ở trên mạnh hơn lớp 1 tên này, nên viết trần như cũ thì
   màu không ăn - đã đo thấy cả 27 ô đều ra navy. Dòng TỔNG nền tối nên dùng đỏ sáng hơn. */
.mtsu-table tbody td.mtsu-cell-neg { color: var(--mtsu-red); }
.mtsu-table tfoot td.mtsu-foot-neg { color: #ff7b7b; }
.mtsu-cell-muted { color: #6a7b95; }

/* Ô progress trải ngang cả nhóm 3 cột của 1 mốc */
.mtsu-progress {
  display: block;
  position: relative;
  height: clamp(11px, 1.15vw, 23px);
  border-radius: 999px;
  border: 1px solid #c9d6e8;
  background: #fff;
  overflow: hidden;
}

/* CHỈ bo đầu TRÁI của phần fill, đầu phải để vuông. Bo cả 4 góc thì sinh 2 lỗi nhìn:
   - Gần đầy (vd 96%): phần trống còn lại (10px) hẹp hơn bán kính bo (11px), đầu tròn của fill chui
     vào chỗ cong của track, nhìn thành một cục u.
   - Rất thấp (vd 7%): fill hẹp hơn chiều cao nên bo tròn biến nó thành cái chấm, không ra hình thanh.
   Khi đạt 100% thì đầu phải vuông vẫn được track (overflow: hidden) cắt bo tròn lại, nên không sao. */
.mtsu-progress i {
  display: block;
  height: 100%;
  border-radius: 999px 0 0 999px;
  background: var(--mtsu-green);
  background: var(--mtsu-bar, var(--mtsu-green));
}

.mtsu-progress span {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font-size: clamp(9px, 0.8vw, 16px);
  font-weight: 900;
  color: var(--mtsu-navy);
}

.mtsu-level-green { --mtsu-bar: var(--mtsu-green); }
.mtsu-level-orange { --mtsu-bar: var(--mtsu-orange); }
.mtsu-level-red { --mtsu-bar: var(--mtsu-red); }
.mtsu-level-blue { --mtsu-bar: var(--mtsu-blue); }

/* Dòng TỔNG gồm 2 <tr> (dòng số + dòng thanh %) và cả 2 đều ghim đáy, nên phải xếp chồng đúng độ
   cao - để bottom:0 cho cả hai thì dòng thanh % đè lên dòng số. Riêng 2 ô gộp 2 dòng (TỔNG và SL cần
   xuất) thì ghim thẳng đáy vì chúng chiếm cả 2 dòng. */
.mtsu-table tfoot tr:nth-child(1) td { bottom: 1.9em; }
.mtsu-table tfoot tr:nth-child(2) td { height: 1.9em; bottom: 0; }
.mtsu-table tfoot tr:nth-child(1) td.mtsu-foot-title,
.mtsu-table tfoot tr:nth-child(1) td.mtsu-foot-need { bottom: 0; }

.mtsu-table tfoot td {
  position: sticky;
  bottom: 0;
  background: var(--mtsu-navy);
  border-color: var(--mtsu-line);
  color: #fff;
  font-size: clamp(10px, 0.92vw, 18px);
  font-weight: 900;
  z-index: 2;
}

.mtsu-foot-title {
  text-align: left;
  padding-left: clamp(6px, 0.7vw, 14px) !important;
  font-size: clamp(13px, 1.3vw, 26px) !important;
  letter-spacing: 0.04em;
}

.mtsu-foot-need { color: var(--mtsu-yellow); font-size: clamp(12px, 1.15vw, 23px) !important; }
.mtsu-foot-neg { color: #ff7b7b; }

/* ---------- Trạng thái ---------- */
.mtsu-state {
  display: grid;
  place-items: center;
  padding: clamp(14px, 2vw, 40px);
  border-radius: var(--mtsu-radius);
  background: rgba(255, 255, 255, 0.06);
  font-size: clamp(11px, 1vw, 20px);
  font-weight: 700;
}

.mtsu-state.is-error { background: rgba(225, 18, 18, 0.18); color: #ffd7d7; }

@media (max-width: 1100px) {
  .mtsu-kpis { grid-template-columns: repeat(4, 1fr); }
  .mtsu-header { flex-wrap: wrap; }
  .mtsu-page { font-size: 12px; }
  .mtsu-table { table-layout: auto; }
  .mtsu-table-wrap { overflow-x: auto; }
}

/* stylelint-disable */
html,
body {
  width: 100%;
  height: 100%;
}
input::-ms-clear,
input::-ms-reveal {
  display: none;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
html {
  font-family: sans-serif;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -ms-overflow-style: scrollbar;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
body {
  margin: 0;
}
[tabindex='-1']:focus {
  outline: none;
}
hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
  margin-bottom: 0.5em;
  font-weight: 500;
}
p {
  margin-top: 0;
  margin-bottom: 1em;
}
abbr[title],
abbr[data-original-title] {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  border-bottom: 0;
  cursor: help;
}
address {
  margin-bottom: 1em;
  font-style: normal;
  line-height: inherit;
}
input[type='text'],
input[type='password'],
input[type='number'],
textarea {
  -webkit-appearance: none;
}
ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1em;
}
ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}
dt {
  font-weight: 500;
}
dd {
  margin-bottom: 0.5em;
  margin-left: 0;
}
blockquote {
  margin: 0 0 1em;
}
dfn {
  font-style: italic;
}
b,
strong {
  font-weight: bolder;
}
small {
  font-size: 80%;
}
sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
pre,
code,
kbd,
samp {
  font-size: 1em;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace;
}
pre {
  margin-top: 0;
  margin-bottom: 1em;
  overflow: auto;
}
figure {
  margin: 0 0 1em;
}
img {
  vertical-align: middle;
  border-style: none;
}
a,
area,
button,
[role='button'],
input:not([type='range']),
label,
select,
summary,
textarea {
  touch-action: manipulation;
}
table {
  border-collapse: collapse;
}
caption {
  padding-top: 0.75em;
  padding-bottom: 0.3em;
  text-align: left;
  caption-side: bottom;
}
input,
button,
select,
optgroup,
textarea {
  margin: 0;
  color: inherit;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
}
button,
input {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
button,
html [type='button'],
[type='reset'],
[type='submit'] {
  -webkit-appearance: button;
}
button::-moz-focus-inner,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
  padding: 0;
  border-style: none;
}
input[type='radio'],
input[type='checkbox'] {
  box-sizing: border-box;
  padding: 0;
}
input[type='date'],
input[type='time'],
input[type='datetime-local'],
input[type='month'] {
  -webkit-appearance: listbox;
}
textarea {
  overflow: auto;
  resize: vertical;
}
fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
legend {
  display: block;
  width: 100%;
  max-width: 100%;
  margin-bottom: 0.5em;
  padding: 0;
  color: inherit;
  font-size: 1.5em;
  line-height: inherit;
  white-space: normal;
}
progress {
  vertical-align: baseline;
}
[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button {
  height: auto;
}
[type='search'] {
  outline-offset: -2px;
  -webkit-appearance: none;
}
[type='search']::-webkit-search-cancel-button,
[type='search']::-webkit-search-decoration {
  -webkit-appearance: none;
}
::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}
output {
  display: inline-block;
}
summary {
  display: list-item;
}
template {
  display: none;
}
[hidden] {
  display: none !important;
}
mark {
  padding: 0.2em;
  background-color: #feffe6;
}

.cutting-supplement-page {
  --cs-blue: #1769e0;
  --cs-ink: #10233f;
  --cs-muted: #66758a;
  --cs-line: #cfdae7;
  --cs-canvas: #eaf1f8;
  --cs-panel: #f8fbff;
  --cs-variant-grid: minmax(180px, 1.35fr) 90px repeat(3, minmax(100px, 0.7fr)) minmax(160px, 0.9fr);
  min-height: 100vh;
  padding: 20px;
  color: var(--cs-ink);
  background: #f1f5fb;
  font-family: "Roboto", Arial, sans-serif;
}

/* ===== Header trang + Stats (style CAU HINH NHAN CARE) ===== */
.cs-page-head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 16px;
  padding: 15px 18px;
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(120deg, #101f52, #16307b);
  box-shadow: 0 10px 26px rgba(16, 31, 82, 0.18);
}
.cs-page-head-icon {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  border-radius: 12px;
  font-size: 22px;
  color: #fff;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.22);
}
.cs-page-head-text { min-width: 0; }
.cs-page-head-text h1 {
  margin: 0;
  font-family: "Roboto Condensed", Arial, sans-serif;
  font-size: 1.5rem;
  font-weight: 800;
  letter-spacing: 0.3px;
  line-height: 1.15;
  color: #fff;
}
.cs-page-head-text p {
  margin: 3px 0 0;
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.72);
  line-height: 1.35;
}

.cs-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-gap: 12px;
  gap: 12px;
  margin-bottom: 16px;
}
.cs-stat {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px 14px;
  border-radius: 12px;
  border: 1px solid var(--cs-line);
  background: #fff;
  box-shadow: 0 2px 8px rgba(16, 31, 82, 0.05);
  transition: box-shadow 0.16s ease, transform 0.16s ease;
}
.cs-stat:hover { box-shadow: 0 6px 16px rgba(16, 31, 82, 0.1); transform: translateY(-1px); }
.cs-stat-icon {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  border-radius: 11px;
  font-size: 19px;
}
.cs-stat-icon > svg { filter: none; }
.cs-stat-body { display: grid; grid-gap: 2px; gap: 2px; min-width: 0; }
.cs-stat-label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #7c8ba0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cs-stat-value {
  font-family: "Roboto Condensed", Arial, sans-serif;
  font-size: 23px;
  font-weight: 800;
  line-height: 1;
  color: #16213a;
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
}
.cs-stat-value small { margin-left: 4px; font-size: 12px; font-weight: 600; color: #7c8ba0; }
/* mau accent per tone */
.cs-stat-blue  .cs-stat-icon { color: #1e5aa8; background: #e6effb; }
.cs-stat-green .cs-stat-icon { color: #1f9254; background: #e3f5ea; }
.cs-stat-amber .cs-stat-icon { color: #b6791f; background: #fdf1d6; }
.cs-stat-red   .cs-stat-icon { color: #c4342d; background: #fce6e5; }

/* ===== Filter (thanh 1 hang gon + chip dang loc) ===== */
.cs-filter { margin-bottom: 16px; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--cs-line); background: #fff; box-shadow: 0 2px 10px rgba(16, 31, 82, 0.05); }
.cs-filter-bar { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.cs-filter-bar-icon { display: grid; place-items: center; width: 34px; height: 34px; flex: 0 0 34px; border-radius: 9px; color: #1e5aa8; background: #e6effb; font-size: 16px; }
.cs-filter-bar .ant-form-item { margin: 0; }
.cs-filter-date { width: 232px; }
.cs-filter-input { min-width: 0; }
.cs-filter-po { width: 190px; }
.cs-filter-input:not(.cs-filter-sm) { width: 170px; }
.cs-filter-sm { width: 120px; }
.cs-filter-bar .ant-input-affix-wrapper .ant-input-prefix { margin-inline-end: 7px; color: #94a3b8; display: inline-flex; }
.cs-filter-bar .ant-input-affix-wrapper .ant-input-prefix svg { width: 14px; height: 14px; }
.cs-filter-actions-row { display: flex; justify-content: flex-start; margin-top: 11px; padding-left: 43px; }
.cs-filter-search { flex: 0 0 auto; }

/* Chip dang loc */
.cs-filter-chips { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; margin-top: 11px; padding-top: 11px; border-top: 1px dashed #dbe3ee; }
.cs-filter-chips-label { font-size: 12px; font-weight: 700; color: #7c8ba0; }
.cs-filter-chip { display: inline-flex; align-items: center; gap: 7px; padding: 4px 8px 4px 11px; border-radius: 999px; border: 1px solid #cfe0f7; background: #eef5fd; color: #16307b; font-size: 12px; cursor: pointer; transition: border-color 0.15s ease, background 0.15s ease; }
.cs-filter-chip:hover { border-color: #f0b3af; background: #fdeceb; color: #b42318; }
.cs-filter-chip-label { font-weight: 700; opacity: 0.75; }
.cs-filter-chip-value { font-weight: 600; max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cs-filter-chip > svg { width: 13px; height: 13px; opacity: 0.7; }
.cs-filter-chip:hover > svg { opacity: 1; }
.cs-filter-chip-clear { display: inline-flex; align-items: center; gap: 5px; padding: 4px 11px; margin-left: 2px; border: none; border-radius: 999px; background: transparent; color: #66758a; font-size: 12px; font-weight: 700; cursor: pointer; }
.cs-filter-chip-clear:hover { color: #16307b; background: #eef3fa; }
.cs-filter-chip-clear > svg { width: 13px; height: 13px; }

/* ===== Tabs + content gop chung 1 card (style care) ===== */
.cutting-supplement-folder {
  margin-top: 16px;
  border-radius: 12px;
  border: 1px solid var(--cs-line);
  background: #fff;
  box-shadow: 0 2px 10px rgba(16, 31, 82, 0.05);
  overflow: hidden;
}
/* Thanh tabs o dau card, co duong phan cach voi noi dung */
.cs-tabs {
  display: flex;
  gap: 4px;
  padding: 10px 14px 0;
  border-bottom: 1px solid var(--cs-line);
  background: #f7f9fd;
}
.cutting-supplement-folder-content {
  position: relative;
  z-index: 2;
  padding: 14px;
  background: #fff;
}
.cs-tabs button {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 8px 16px;
  margin-bottom: -1px;
  border: none;
  border-bottom: 2px solid transparent;
  border-radius: 8px 8px 0 0;
  color: #52627a;
  background: transparent;
  font-family: "Roboto Condensed", Arial, sans-serif;
  font-size: 0.95rem;
  font-weight: 800;
  letter-spacing: 0.2px;
  cursor: pointer;
  transition: color 0.16s ease, background 0.16s ease, border-color 0.16s ease;
}
.cs-tabs button > svg { width: 17px; height: 17px; flex: 0 0 auto; }
.cs-tabs button > em {
  display: inline-grid;
  place-items: center;
  min-width: 20px;
  height: 18px;
  padding: 0 6px;
  border-radius: 999px;
  background: #d6e0ee;
  color: #445a78;
  font-size: 11px;
  font-weight: 700;
  font-style: normal;
  font-family: "Roboto", Arial, sans-serif;
}
.cs-tabs button:hover:not([aria-selected="true"]) { color: #16307b; background: rgba(22, 48, 123, 0.05); }
.cs-tabs button[aria-selected="true"] {
  color: #16307b;
  background: #fff;
  border-bottom-color: #16307b;
}
.cs-tabs button[aria-selected="true"] > em { background: #16307b; color: #fff; }
.cs-tabs button:focus-visible { outline: 3px solid rgba(47, 111, 214, 0.28); outline-offset: 2px; }

.cutting-supplement-bulk-toolbar { display: flex; align-items: center; gap: 14px; padding: 10px 13px; margin: 0 0 12px; border: 1px solid var(--cs-line); border-radius: 10px; background: #f7f9fd; }
.cutting-supplement-bulk-summary { margin-right: auto; color: var(--cs-muted); font-weight: 600; }
.cutting-supplement-bulk-toolbar .ant-checkbox-wrapper { color: #16307b; font-weight: 700; }
.cutting-supplement-bulk-toolbar .ant-btn-primary { border-radius: 8px; }


/* ===== Danh sach PO cho tao (style care, nhe/muot) ===== */
.cutting-supplement-po { margin-bottom: 10px; overflow: hidden; border: 1px solid var(--cs-line) !important; border-radius: 12px; background: #fff; box-shadow: 0 2px 8px rgba(16, 31, 82, 0.05); transition: box-shadow 0.16s ease; }
.cutting-supplement-po:hover { box-shadow: 0 6px 16px rgba(16, 31, 82, 0.08); }
.cutting-supplement-po .ant-card-body { padding: 0; }

/* Header PO - navy phang (style care header) */
.cutting-supplement-po-header-row { display: grid; grid-template-columns: 34px minmax(0, 1fr); align-items: stretch; background: #16307b; }
.cutting-supplement-po-header-row .cutting-supplement-po-header { background: transparent; }
.cutting-supplement-po-select { display: flex; align-items: center; justify-content: center; margin: 0; }
.cutting-supplement-po-select .ant-checkbox-inner { border-color: rgba(255, 255, 255, 0.72); background: rgba(255, 255, 255, 0.14); }
.cutting-supplement-po-select .ant-checkbox-checked .ant-checkbox-inner { border-color: #fff; background: #fff; }
.cutting-supplement-po-select .ant-checkbox-checked .ant-checkbox-inner::after { border-color: #16307b; }
.cutting-supplement-po-header { display: grid; grid-template-columns: 26px minmax(220px, 1fr) auto; width: 100%; align-items: center; grid-gap: 12px; gap: 12px; padding: 11px 15px; border: 0; color: #fff; text-align: left; background: transparent; cursor: pointer; transition: background 0.16s ease; }
.cutting-supplement-po-header:hover { background: rgba(255, 255, 255, 0.06); }
.cutting-supplement-chevron { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 8px; color: #fff; background: rgba(255, 255, 255, 0.14); font-size: 11px; }
.cutting-supplement-po-identity { display: grid; grid-template-columns: auto 1fr; align-items: baseline; grid-gap: 2px 10px; gap: 2px 10px; min-width: 0; }
.cutting-supplement-po-identity small { grid-column: 1; color: #a9c4e8; font-size: 10px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; }
.cutting-supplement-po-identity strong { grid-column: 2; overflow-wrap: anywhere; color: #fff; font-family: "Roboto Condensed", Arial, sans-serif; font-size: 15px; font-weight: 800; line-height: 1.2; }
.cutting-supplement-po-identity > span { grid-column: 2; color: #cfe0f5; font-size: 12px; line-height: 1.2; }
.cutting-supplement-po-metrics { display: flex; gap: 8px; }
.cutting-supplement-po-metrics > span { display: grid; grid-gap: 1px; gap: 1px; min-width: 86px; padding: 5px 10px; border-radius: 9px; color: #fff; background: rgba(255, 255, 255, 0.11); }
.cutting-supplement-po-metrics small { color: #bcd3ef; font-size: 10px; line-height: 1.2; letter-spacing: 0.02em; text-transform: uppercase; }
.cutting-supplement-po-metrics strong { color: #fff; font-family: "Roboto Condensed", Arial, sans-serif; font-size: 15px; font-weight: 800; line-height: 1.25; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.cutting-supplement-po-metrics .is-remaining { color: #7a4a00; background: #ffe6ad; }
.cutting-supplement-po-metrics .is-remaining small { color: #9a6300; }
.cutting-supplement-po-metrics .is-remaining strong { color: #7a4a00; }

/* Bang variant */
/* ===== Bang variant (6 cot) - style care, lam dep ===== */
.cutting-supplement-po-body { border-top: 1px solid var(--cs-line); background: #fff; padding: 4px; }
.cutting-supplement-variant-head,
.cutting-supplement-variant { display: grid; grid-template-columns: var(--cs-variant-grid); align-items: center; grid-gap: 10px; gap: 10px; padding: 10px 14px; }

/* Header cot */
.cutting-supplement-variant-head { margin-bottom: 2px; border-radius: 8px; color: #52627a; background: #eef3fa; font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; }
.cutting-supplement-variant-head > span:nth-child(2),
.cutting-supplement-variant-head > span:nth-child(n+3),
.cutting-supplement-variant > span:nth-child(2) { text-align: center; }
.cutting-supplement-variant-head > span:nth-child(5) { color: #7a4a00; }

/* Rows */
.cutting-supplement-variant { position: relative; min-height: 58px; border-radius: 9px; background: #fff; transition: background 0.14s ease, box-shadow 0.14s ease; }
.cutting-supplement-variant:nth-child(odd) { background: #f8fafd; }
.cutting-supplement-variant:hover { background: #eef5fd; box-shadow: inset 0 0 0 1px #d3e2f4; }
.cutting-supplement-variant > span:nth-child(n+3) { text-align: center; }
.cutting-supplement-variant > span:first-child strong { color: #16213a; font-weight: 700; }

/* Cot 'Da huy' / 'Da tao' - thong tin phu, lam mo nhe */
.cutting-supplement-variant > span:nth-child(3),
.cutting-supplement-variant > span:nth-child(4) { color: #8592a4; font-size: 12.5px; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }

/* Cot 'Con lai' - so quan trong, noi bat */
.cutting-supplement-variant > span:nth-child(5) { display: grid; grid-gap: 1px; gap: 1px; }
.cutting-supplement-variant > span:nth-child(5) strong { color: #7a4a00; font-family: "Roboto Condensed", Arial, sans-serif; font-size: 15px; font-weight: 800; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.cutting-supplement-variant > span:nth-child(5) small { color: var(--cs-muted); font-size: 10px; }

/* Chip size */
.cutting-supplement-variant > span:nth-child(2) .ant-tag { margin: 0; padding: 1px 10px; border-radius: 6px; border-color: #cfe0f7; background: #e6effb; color: #16307b; font-weight: 800; font-size: 12px; }

/* O nhap so luong */
.cutting-supplement-variant .ant-input-number-group-wrapper { width: 145px; }
.cutting-supplement-variant.is-missing { background: #fff8ef; }
.cutting-supplement-variant.is-invalid { background: #fff6f5; box-shadow: inset 3px 0 #dc3545; }
.cutting-supplement-quantity-field { display: grid; width: 145px; max-width: 100%; margin-inline: auto; grid-gap: 4px; gap: 4px; text-align: left; }
.cutting-supplement-quantity-field .ant-input-number-group-wrapper { width: 100%; }
.cutting-supplement-quantity-field .ant-input-number { border-radius: 8px; }
.cutting-supplement-quantity-limit { color: #66758a; font-size: 10px; font-weight: 600; line-height: 1.25; }
.cutting-supplement-quantity-limit strong { color: #16307b; font-weight: 700; }
.cutting-supplement-quantity-limit.is-invalid,
.cutting-supplement-quantity-limit.is-invalid strong { color: #c73645; }
.cutting-supplement-po-footer { display: flex; align-items: center; justify-content: flex-end; gap: 8px; padding: 12px 16px; border-top: 1px solid var(--cs-line); background: #f7f9fd; }
.cutting-supplement-po-actions { display: flex; justify-content: flex-end; }
.cutting-supplement-po-actions .ant-btn-primary { min-width: 150px; border-radius: 8px; }

/* ===== Bang Lich su tao (style care) ===== */
.cutting-supplement-history { background: transparent; border: 0 !important; box-shadow: none !important; }
.cutting-supplement-history .ant-card-body { padding: 0; }
.cutting-supplement-history .ant-table { overflow: hidden; border: 1px solid var(--cs-line); border-radius: 12px; background: #fff; }
.cutting-supplement-history .ant-table-thead > tr > th { border-bottom: none !important; color: #fff !important; background: #16307b !important; font-family: "Roboto Condensed", Arial, sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; padding: 11px 14px; }
.cutting-supplement-history .ant-table-thead > tr > th::before { display: none !important; }
.cutting-supplement-history .ant-table-tbody > tr > td { border-bottom: 1px solid #eef2f8; padding: 11px 14px; }
.cutting-supplement-history .ant-table-tbody > tr:nth-child(even) > td { background: #f8fafd; }
.cutting-supplement-history .ant-table-tbody > tr:hover > td { background: #eef5fd !important; }
.cutting-supplement-history .ant-table-row-expand-icon { border-color: #b6c2d6; color: #16307b; }
.cutting-supplement-batch-code { font-family: "Roboto Condensed", Arial, sans-serif; font-weight: 800; color: #16307b; }
.cutting-supplement-history-po { display: grid; grid-gap: 2px; gap: 2px; }
.cutting-supplement-history-po strong { color: #16307b; font-family: "Roboto Condensed", Arial, sans-serif; }
.cutting-supplement-history-po span { max-width: 360px; overflow: hidden; color: var(--cs-muted); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.cutting-supplement-history .ant-table-tbody > tr > td .ant-tag { border-radius: 6px; }

/* Chi tiet batch (expand) */
/* ===== Noi dung expand row (bang lich su) ===== */
.cs-expand { display: grid; grid-gap: 12px; gap: 12px; padding: 12px 14px 14px 40px; background: #f6f9fe; }

/* Thong tin phieu ngan */
.cs-expand-meta { display: flex; flex-wrap: wrap; gap: 7px 18px; padding: 9px 12px; border: 1px solid #e2e9f3; border-radius: 10px; background: #fff; }
.cs-expand-meta-item { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; color: #66758a; }
.cs-expand-meta-item > svg { width: 14px; height: 14px; color: #94a3b8; flex: 0 0 auto; }
.cs-expand-meta-item strong { color: #24364d; font-weight: 700; }

/* Cac PO */
.cs-expand-pos { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); grid-gap: 10px; gap: 10px; }
.cs-expand-po { border: 1px solid #e2e9f3; border-radius: 10px; overflow: hidden; background: #fff; }
.cs-expand-po-head { display: flex; align-items: center; gap: 8px; padding: 8px 11px; background: #f2f6fc; border-bottom: 1px solid #e2e9f3; }
.cs-expand-po-code { font-family: "Roboto Condensed", Arial, sans-serif; font-weight: 800; color: #16307b; overflow-wrap: anywhere; min-width: 0; }
.cs-expand-po-name { font-size: 11.5px; color: #7c8ba0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cs-expand-po-qty { margin-left: auto; flex: 0 0 auto; padding: 2px 9px; border-radius: 999px; background: #e6effb; color: #16307b; font-size: 11.5px; font-weight: 800; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }

/* Bang mini mau/size */
.cs-expand-table { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.cs-expand-table td { padding: 6px 11px; border-bottom: 1px solid #f0f3f8; }
.cs-expand-table tr:last-child td { border-bottom: none; }
.cs-expand-table tr:nth-child(even) td { background: #fafcff; }
.cs-expand-color { color: #24364d; font-weight: 600; overflow-wrap: anywhere; }
.cs-expand-size { width: 1%; white-space: nowrap; text-align: center; }
.cs-expand-size .cs-size-tag { display: inline-grid; place-items: center; min-width: 32px; height: 20px; padding: 0 7px; border-radius: 6px; background: #e6effb; color: #16307b; font-size: 11.5px; font-weight: 800; }
.cs-expand-qty { width: 1%; white-space: nowrap; text-align: right; color: #16307b; font-weight: 700; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }

/* Hanh dong nhanh */
.cs-expand-actions { display: flex; justify-content: flex-end; }
.cutting-supplement-history .ant-pagination { display: flex; justify-content: flex-end; margin-top: 14px; }
.cutting-supplement-history-cards { display: none; }

/* ===== Popup xac nhan tao dot (style care) ===== */
.cutting-supplement-confirm-modal { max-width: calc(100vw - 24px); }
.cutting-supplement-confirm-modal .ant-modal-title { font-family: "Roboto Condensed", Arial, sans-serif; font-weight: 800; letter-spacing: 0.3px; color: #16307b; }
.cs-confirm { display: grid; grid-gap: 14px; gap: 14px; }

/* Canh bao chan tao */
.cs-confirm-block { display: flex; align-items: flex-start; gap: 11px; padding: 12px 14px; border: 1px solid #f3b7b3; border-left: 4px solid #d4342d; border-radius: 10px; background: #fdf1f0; }
.cs-confirm-block-icon { display: grid; place-items: center; width: 30px; height: 30px; flex: 0 0 30px; border-radius: 8px; color: #fff; background: #d4342d; }
.cs-confirm-block-icon > svg { width: 17px; height: 17px; }
.cs-confirm-block-body { min-width: 0; display: grid; grid-gap: 8px; gap: 8px; }
.cs-confirm-block-title { margin: 0; font-family: "Roboto Condensed", Arial, sans-serif; font-size: 14px; font-weight: 800; line-height: 1.3; color: #a02620; }
.cs-confirm-block-items { display: flex; flex-wrap: wrap; gap: 6px; }
.cs-confirm-block-item { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border-radius: 999px; background: #fff; border: 1px solid #f0b3af; color: #8a231e; font-size: 12.5px; font-weight: 600; }
.cs-confirm-block-item strong { display: inline-grid; place-items: center; min-width: 20px; height: 19px; padding: 0 6px; border-radius: 999px; background: #d4342d; color: #fff; font-size: 11.5px; font-weight: 700; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }

/* Tong quan meta */
.cs-confirm-meta { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 13px; border: 1px solid var(--cs-line); border-radius: 12px; background: #f7f9fd; }
.cs-confirm-metric { display: flex; align-items: center; gap: 10px; }
.cs-confirm-metric-icon { display: grid; place-items: center; width: 38px; height: 38px; flex: 0 0 38px; border-radius: 11px; font-size: 18px; }
.cs-confirm-metric-icon > svg { width: 18px; height: 18px; }
.cs-confirm-metric-icon.cs-tile-blue { color: #1e5aa8; background: #e6effb; }
.cs-confirm-metric-icon.cs-tile-navy { color: #fff; background: linear-gradient(135deg, #101f52, #16307b); }
.cs-confirm-metric > div { display: grid; grid-gap: 1px; gap: 1px; }
.cs-confirm-metric-label { font-size: 10.5px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: #7c8ba0; }
.cs-confirm-metric-value { font-family: "Roboto Condensed", Arial, sans-serif; font-size: 22px; font-weight: 800; line-height: 1; color: #16213a; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.cs-confirm-po-tags { display: flex; flex-wrap: wrap; gap: 5px; max-height: 60px; overflow-y: auto; margin-left: auto; }
.cs-confirm-po-tag { padding: 3px 10px; border-radius: 999px; border: 1px solid #cfe0f7; background: #fff; color: #16307b; font-size: 12px; font-weight: 700; }

/* Tong hop ly do + xuong */
.cs-confirm-summary { display: grid; grid-gap: 12px; gap: 12px; }
.cs-confirm-summary-loading { height: 30px; overflow: hidden; }
.cs-confirm-summary-loading .ant-skeleton-paragraph { margin: 0; }
.cs-confirm-summary-group { display: grid; grid-gap: 7px; gap: 7px; }
.cs-confirm-summary-label { display: inline-flex; align-items: center; gap: 6px; font-family: "Roboto Condensed", Arial, sans-serif; font-size: 12.5px; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; color: #16307b; }
.cs-confirm-summary-group:nth-child(1) .cs-confirm-summary-label > svg { color: #b6791f; }
.cs-confirm-summary-group:nth-child(2) .cs-confirm-summary-label > svg { color: #1e5aa8; }
.cs-confirm-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.cs-confirm-chip { display: inline-flex; align-items: center; gap: 8px; padding: 3px 5px 3px 11px; border-radius: 999px; font-size: 12.5px; font-weight: 600; border: 1px solid transparent; }
.cs-confirm-chip em { display: inline-grid; place-items: center; min-width: 22px; height: 20px; padding: 0 6px; border-radius: 999px; color: #fff; font-size: 11.5px; font-weight: 700; font-style: normal; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.cs-confirm-chip.cs-chip-amber { color: #8a4b08; background: #fff4d9; border-color: #ffe2ad; }
.cs-confirm-chip.cs-chip-amber em { background: #b6791f; }
.cs-confirm-chip.cs-chip-blue { color: #153d6c; background: #e6effb; border-color: #cfe0f7; }
.cs-confirm-chip.cs-chip-blue em { background: #1e5aa8; }

/* Chi tiet dong (bang) */
.cs-confirm-lines { max-height: min(34vh, 300px); overflow: auto; border: 1px solid var(--cs-line); border-radius: 12px; }
.cs-confirm-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.cs-confirm-table thead th { position: sticky; top: 0; z-index: 1; padding: 8px 12px; text-align: left; background: #16307b; color: #fff; font-family: "Roboto Condensed", Arial, sans-serif; font-weight: 700; font-size: 11.5px; letter-spacing: 0.03em; text-transform: uppercase; }
.cs-confirm-table thead th.cs-num { text-align: right; }
.cs-confirm-table tbody td { padding: 8px 12px; border-bottom: 1px solid #eef2f8; color: #24364d; }
.cs-confirm-table tbody tr:nth-child(even):not(.cs-total):not(.cs-subtotal) td { background: #f9fbfe; }
.cs-confirm-table .cs-num { text-align: right; }
.cs-confirm-table td strong { color: #16307b; }
.cs-confirm-qty { font-weight: 800; color: #16213a; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.cs-confirm-table .cs-size-tag { display: inline-grid; place-items: center; min-width: 32px; height: 20px; padding: 0 7px; border-radius: 6px; background: #e6effb; color: #16307b; font-size: 11.5px; font-weight: 800; }
/* Dong tong theo ma hang (subtotal) */
.cs-confirm-table tr.cs-subtotal td { font-weight: 700; color: #16307b; background: #f2f6fc; border-top: 1px solid #dbe6f4; }
.cs-confirm-table tr.cs-subtotal .cs-subtotal-label { text-align: right; font-family: "Roboto Condensed", Arial, sans-serif; font-weight: 800; letter-spacing: 0.2px; }
/* Dong tong chung */
.cs-confirm-table tr.cs-total td { font-family: "Roboto Condensed", Arial, sans-serif; font-weight: 800; color: #fff; background: #16307b; border-bottom: none; }
.cs-confirm-table tr.cs-total .cs-subtotal-label { text-align: right; color: #fff; }
.cs-confirm-table tr.cs-total td:last-child { font-size: 15px; }

.cs-confirm-form { margin-top: 2px; }
.cs-confirm-form .ant-form-item { margin-bottom: 12px; }
.cs-confirm-form .ant-form-item:last-child { margin-bottom: 0; }

.cutting-supplement-detail-modal {
  --cs-blue: #1769e0;
  --cs-muted: #66758a;
  --cs-line: #cfdae7;
}
/* ===== Popup chi tiet phieu cat bo sung (style CAU HINH NHAN CARE) ===== */
/* Dung Modal thay Drawer: bang "Chi tiet tac nghiep theo xuong & chuyen" nhieu cot,
   khung ngang rong moi doc duoc, drawer doc ben phai bi bop va phai cuon ngang. */
.cutting-supplement-detail-modal {
  --cs-navy: #101f52;
  --cs-navy-2: #16307b;
  --cs-line: #dde4ef;
  max-width: 100%;
}
/* Co giãn theo sidebar: .sidebar là position:fixed z-index 1050 (cao hơn modal 1000)
   nên nếu wrap trải hết viewport thì sidebar sẽ che mất mép trái popup.
   Đẩy wrap sang phải đúng bằng bề rộng sidebar -> popup căn giữa trong vùng nội dung,
   và tự giãn ra khi sidebar thu gọn. */
/* Ghep them .ant-modal-wrap de tang do uu tien: antd inject style luc runtime voi `inset: 0`
   (shorthand dat luon left/top) nen rule cung do uu tien se bi ghi de. */
.ant-modal-wrap.cutting-supplement-detail-wrap { left: var(--sidebar-width); top: var(--topbar-height); }
body.sidebar-collapsed .ant-modal-wrap.cutting-supplement-detail-wrap { left: var(--sidebar-collapsed-width); }
.cutting-supplement-detail-modal .ant-modal-content { padding: 0; overflow: hidden; border-radius: 12px; }
.cutting-supplement-detail-modal .ant-modal-header { margin: 0; padding: 14px 44px 14px 20px; background: var(--cs-navy); border-bottom: none; }
.cutting-supplement-detail-modal .ant-modal-title,
.cutting-supplement-detail-modal .ant-modal-close { color: #fff; }
.cutting-supplement-detail-modal .ant-modal-title { font-family: "Roboto Condensed", Arial, sans-serif; font-weight: 800; letter-spacing: 0.3px; }
.cutting-supplement-detail-modal .ant-modal-close { top: 12px; }
.cutting-supplement-detail-modal .ant-modal-body { overflow-x: hidden; padding: 16px; background: #f1f5fb; font-family: "Roboto", Arial, sans-serif; }

/* Header: ma phieu (navy panel) + trang thai */
.cs-detail-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; padding: 13px 16px; border-radius: 10px; background: linear-gradient(120deg, var(--cs-navy), var(--cs-navy-2)); box-shadow: 0 8px 20px rgba(16, 31, 82, 0.18); }
.cs-detail-head-main { display: grid; grid-gap: 3px; gap: 3px; min-width: 0; }
.cs-detail-eyebrow { font-size: 10.5px; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; color: rgba(255, 255, 255, 0.62); }
.cs-detail-code { font-family: "Roboto Condensed", Arial, sans-serif; font-size: 18px; font-weight: 800; color: #fff; overflow-wrap: anywhere; line-height: 1.2; }
.cs-detail-head .ant-tag { margin: 0; flex-shrink: 0; }

/* Meta strip: 4 tile, moi tile 1 mau accent + icon */
.cs-detail-meta { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-gap: 10px; gap: 10px; margin-bottom: 14px; }
.cs-metric { display: flex; align-items: center; gap: 10px; padding: 11px 12px; border-radius: 10px; border: 1px solid var(--cs-line); background: #fff; min-width: 0; box-shadow: 0 2px 6px rgba(16, 31, 82, 0.05); }
.cs-metric-icon { display: grid; place-items: center; width: 34px; height: 34px; flex-shrink: 0; border-radius: 9px; font-size: 17px; }
.cs-metric-icon > svg { width: 18px; height: 18px; }
.cs-metric-body { display: grid; grid-gap: 2px; gap: 2px; min-width: 0; }
.cs-metric-value { font-family: "Roboto Condensed", Arial, sans-serif; font-size: 21px; font-weight: 800; line-height: 1; color: #16213a; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.cs-metric-value-sm { font-size: 13.5px; font-weight: 700; line-height: 1.15; color: #16213a; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cs-metric-label { font-size: 10px; font-weight: 700; line-height: 1.1; letter-spacing: 0.04em; text-transform: uppercase; color: #8592a4; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/* mau accent per tile */
.cs-tile-blue   .cs-metric-icon { color: #1e5aa8; background: #e6effb; }
.cs-tile-navy   .cs-metric-icon { color: #fff; background: linear-gradient(135deg, var(--cs-navy), var(--cs-navy-2)); }
.cs-tile-navy   .cs-metric-value { color: var(--cs-navy-2); }
.cs-tile-purple .cs-metric-icon { color: #6b4fbb; background: #ece7fb; }
.cs-tile-amber  .cs-metric-icon { color: #b6791f; background: #fdf1d6; }

/* Alert / note / reasons */
.cs-detail-alert { margin-bottom: 14px; border-radius: 10px; align-items: flex-start; }
.cs-detail-alert .ant-alert-message { font-family: "Roboto Condensed", Arial, sans-serif; font-weight: 800; }
.cs-detail-alert .anticon, .cs-detail-alert svg { margin-top: 2px; }
.cs-detail-note { display: flex; gap: 9px; margin-bottom: 14px; padding: 10px 12px; border-radius: 10px; background: #fff; border: 1px solid var(--cs-line); border-left: 4px solid #6b4fbb; }
.cs-detail-note-icon { color: #6b4fbb; flex-shrink: 0; margin-top: 1px; }
.cs-detail-note > div { display: grid; grid-gap: 2px; gap: 2px; min-width: 0; }
.cs-detail-note-label { font-size: 10.5px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: #7c8ba0; }
.cs-detail-note > div > span:last-child { color: #24364d; overflow-wrap: anywhere; }
.cs-detail-reasons { display: grid; grid-gap: 8px; gap: 8px; margin-bottom: 16px; }
.cs-detail-reasons-label { display: inline-flex; align-items: center; gap: 6px; font-family: "Roboto Condensed", Arial, sans-serif; font-size: 12.5px; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; color: var(--cs-navy-2); }
.cs-detail-reasons-label > svg { color: #b6791f; }
.cs-detail-reasons-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.cs-reason-chip { padding: 3px 11px; border-radius: 999px; font-size: 12px; font-weight: 600; color: #8a4b08; background: #fff4d9; border: 1px solid #ffe2ad; }

/* Section head */
.cs-detail-section { margin-bottom: 16px; }
.cs-detail-section-head { display: flex; align-items: center; gap: 8px; margin-bottom: 9px; font-family: "Roboto Condensed", Arial, sans-serif; font-size: 14px; font-weight: 800; letter-spacing: 0.02em; color: var(--cs-navy-2); }
.cs-detail-section-head > svg { width: 18px; height: 18px; color: #1e5aa8; flex-shrink: 0; }
.cs-detail-section-head.cs-inline { margin-bottom: 0; }
.cs-count-tag { display: inline-grid; place-items: center; min-width: 22px; height: 20px; padding: 0 7px; border-radius: 999px; background: var(--cs-navy-2); color: #fff; font-size: 11.5px; font-weight: 700; font-family: "Roboto", Arial, sans-serif; }

/* Collapse toggle danh sach RFID */
.cs-detail-collapse { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; padding: 11px 13px; border: 1px solid var(--cs-line); border-radius: 10px; background: #fff; cursor: pointer; transition: border-color .15s, background .15s, box-shadow .15s; }
.cs-detail-collapse:hover { border-color: #9dbbe4; background: #f7faff; box-shadow: 0 2px 8px rgba(16, 31, 82, 0.06); }
.cs-detail-collapse-toggle { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; font-weight: 700; color: #1e5aa8; white-space: nowrap; }
.cs-detail-collapse + .cs-detail-table-scroll { margin-top: 9px; }

/* Bang chi tiet */
.cs-detail-table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--cs-line); border-radius: 10px; background: #fff; box-shadow: 0 2px 8px rgba(16, 31, 82, 0.05); }
/* Trong popup: bang tu cuon doc de header dinh (sticky) that su co tac dung khi nhieu dong */
.cutting-supplement-detail-modal .cs-detail-table-scroll { max-height: 56vh; }
.cs-detail-table-scroll .cs-detail-table { min-width: max-content; }
.cs-detail-table { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.cs-detail-table thead th { position: sticky; top: 0; background: var(--cs-navy-2); color: #fff; font-family: "Roboto Condensed", Arial, sans-serif; font-weight: 700; letter-spacing: 0.02em; text-align: left; padding: 9px 10px; white-space: nowrap; }
.cs-detail-table thead th.cs-num { text-align: right; }
.cs-detail-table tbody td { padding: 7px 10px; border-bottom: 1px solid #eef2f8; color: #24364d; white-space: nowrap; }
.cs-detail-table tbody tr:last-child td { border-bottom: none; }
.cs-detail-table tbody tr:nth-child(even):not(.cs-total):not(.cs-subtotal) td { background: #f6f9fe; }
.cs-detail-table .cs-num { text-align: right; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.cs-detail-table .cs-idx { color: #9aa6b6; }
/* Dong tong theo ma hang (subtotal) */
.cs-detail-table tr.cs-subtotal td { font-weight: 700; color: #16307b; background: #f2f6fc; border-top: 1px solid #dbe6f4; }
.cs-detail-table tr.cs-subtotal .cs-subtotal-label { text-align: right; font-family: "Roboto Condensed", Arial, sans-serif; font-weight: 800; letter-spacing: 0.2px; }
/* Dong tong cong (total) */
.cs-detail-table tr.cs-total td { font-family: "Roboto Condensed", Arial, sans-serif; font-weight: 800; color: var(--cs-navy-2); background: #e9f0fb; border-top: 2px solid #cdddf3; }
.cs-detail-table tr.cs-total .cs-subtotal-label { text-align: right; }
.cs-detail-table code { font-size: 12.5px; font-weight: 700; color: var(--cs-navy-2); }
.cs-detail-table .cs-muted { color: #a2adbd; font-style: italic; }
.cs-rfid-table thead th { text-align: left; }

/* ===== Cac control (input, datepicker, inputnumber, button) - style care ===== */
.cutting-supplement-page,
.cutting-supplement-confirm-modal,
.cutting-supplement-detail-modal {
  --cs-ctrl-line: #b6c2d6;
  --cs-ctrl-focus: #2f6fd6;
}

/* Input / TextArea / InputNumber / DatePicker - vien + bo goc care */
.cutting-supplement-page :where(.ant-input, .ant-input-affix-wrapper, .ant-input-number, .ant-picker),
.cutting-supplement-confirm-modal :where(.ant-input, .ant-input-affix-wrapper, .ant-input-number, .ant-picker),
.cutting-supplement-detail-modal :where(.ant-input, .ant-input-affix-wrapper, .ant-input-number, .ant-picker) {
  border-radius: 8px;
  border: 1.5px solid var(--cs-ctrl-line);
  transition: border-color 0.16s ease, box-shadow 0.16s ease;
}
.cutting-supplement-page :where(.ant-input, .ant-input-affix-wrapper, .ant-input-number, .ant-picker):hover,
.cutting-supplement-confirm-modal :where(.ant-input, .ant-input-affix-wrapper, .ant-input-number, .ant-picker):hover,
.cutting-supplement-detail-modal :where(.ant-input, .ant-input-affix-wrapper, .ant-input-number, .ant-picker):hover {
  border-color: var(--cs-ctrl-focus);
}
.cutting-supplement-page :where(.ant-input-affix-wrapper-focused, .ant-input-number-focused, .ant-picker-focused, .ant-input:focus),
.cutting-supplement-confirm-modal :where(.ant-input-affix-wrapper-focused, .ant-input-number-focused, .ant-picker-focused, .ant-input:focus),
.cutting-supplement-detail-modal :where(.ant-input-affix-wrapper-focused, .ant-input-number-focused, .ant-picker-focused, .ant-input:focus) {
  border-color: var(--cs-ctrl-focus);
  box-shadow: 0 0 0 3px rgba(47, 111, 214, 0.12);
}

/* InputNumber: dong bo bo goc voi nhom addon (o nhap trong bang) */
.cutting-supplement-page .ant-input-number-group .ant-input-number,
.cutting-supplement-page .ant-input-number-group-addon { border-radius: 0; }
.cutting-supplement-page .ant-input-number-group-wrapper .ant-input-number-group > .ant-input-number:first-child { border-top-left-radius: 8px; border-bottom-left-radius: 8px; }
.cutting-supplement-page .ant-input-number-group-wrapper .ant-input-number-group-addon:last-child { border-radius: 0 8px 8px 0; border-color: var(--cs-ctrl-line); background: #f2f6fc; color: #52627a; font-weight: 700; }

/* Button - bo goc care, primary navy */
.cutting-supplement-page .ant-btn,
.cutting-supplement-confirm-modal .ant-btn,
.cutting-supplement-detail-modal .ant-btn { border-radius: 8px; font-weight: 600; }
.cutting-supplement-page .ant-btn-default,
.cutting-supplement-confirm-modal .ant-btn-default,
.cutting-supplement-detail-modal .ant-btn-default { border-color: var(--cs-ctrl-line); color: #34527a; }
.cutting-supplement-page .ant-btn-default:not(:disabled):hover,
.cutting-supplement-confirm-modal .ant-btn-default:not(:disabled):hover,
.cutting-supplement-detail-modal .ant-btn-default:not(:disabled):hover { border-color: var(--cs-ctrl-focus); color: var(--cs-ctrl-focus); }
.cutting-supplement-page .ant-btn-primary:not(:disabled),
.cutting-supplement-confirm-modal .ant-btn-primary:not(:disabled),
.cutting-supplement-detail-modal .ant-btn-primary:not(:disabled) { background: #16307b; border-color: #16307b; box-shadow: 0 2px 6px rgba(22, 48, 123, 0.2); }
.cutting-supplement-page .ant-btn-primary:not(:disabled):hover,
.cutting-supplement-confirm-modal .ant-btn-primary:not(:disabled):hover,
.cutting-supplement-detail-modal .ant-btn-primary:not(:disabled):hover { background: #1c3d95 !important; border-color: #1c3d95 !important; }
.cutting-supplement-page .ant-btn-primary.ant-btn-dangerous:not(:disabled),
.cutting-supplement-confirm-modal .ant-btn-primary.ant-btn-dangerous:not(:disabled) { background: #d4342d; border-color: #d4342d; }

/* Modal / Drawer footer buttons cung theo style */
.cutting-supplement-confirm-modal .ant-modal-footer .ant-btn-primary:not(:disabled) { background: #16307b; border-color: #16307b; }

/* ===== Pill trang thai (style care) ===== */
.cs-status-pill { display: inline-flex; align-items: center; gap: 6px; padding: 3px 11px 3px 9px; border-radius: 999px; border: 1px solid transparent; font-family: "Roboto Condensed", Arial, sans-serif; font-size: 12px; font-weight: 700; letter-spacing: 0.2px; white-space: nowrap; }
.cs-status-pill > svg { width: 14px; height: 14px; flex: 0 0 auto; }
.cs-status-approved  { color: #167c45; background: #e3f5ea; border-color: #b3e2c6; }
.cs-status-rejected  { color: #b42318; background: #fdeceb; border-color: #f3b7b3; }
.cs-status-cancelled { color: #566172; background: #eef1f5; border-color: #dbe1e9; }
.cs-status-error     { color: #a24a02; background: #fdf1d6; border-color: #f0d9a8; }
.cs-status-pending   { color: #1e5aa8; background: #e6effb; border-color: #cfe0f7; }

/* ===== Tien do duyet FastWork tren bang lich su ===== */
.cs-status-cell { display: grid; grid-gap: 6px; gap: 6px; justify-items: start; }
.cs-status-cell > .ant-tag { margin: 0; }
.cs-flow { display: flex; align-items: center; gap: 7px; }
.cs-flow-dots { display: inline-flex; align-items: center; gap: 4px; }
.cs-flow-dot { width: 9px; height: 9px; border-radius: 50%; background: #d5deea; box-shadow: inset 0 0 0 1px #c2cddd; }
.cs-flow-dot.is-approved { background: #2f9c63; box-shadow: none; }
.cs-flow-dot.is-rejected { background: #d4342d; box-shadow: none; }
.cs-flow-dot.is-pending { background: #fff; box-shadow: inset 0 0 0 1.5px #b6c2d6; }
.cs-flow-text { font-size: 11.5px; font-weight: 600; color: #66758a; white-space: nowrap; }
.cs-flow-text strong { color: #16307b; font-weight: 700; }
.cs-flow.is-rejected .cs-flow-text { color: #b42318; }
.cs-flow.is-rejected .cs-flow-text strong { color: #b42318; }
.cs-flow.is-done .cs-flow-text { color: #1f7a48; }
.cs-flow.is-done .cs-flow-text strong { color: #1f7a48; }

@media (max-width: 1100px) {
  .cs-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cutting-supplement-po-header { grid-template-columns: 26px 1fr; }
  .cutting-supplement-po-header-row { grid-template-columns: 30px 1fr; }
  .cutting-supplement-po-metrics { grid-column: 2; }
}

@media (max-width: 768px) {
  .cutting-supplement-page { padding: 12px; }
  .cs-page-head { padding: 13px 14px; gap: 12px; }
  .cs-page-head-icon { width: 42px; height: 42px; flex-basis: 42px; font-size: 20px; }
  .cs-page-head-text h1 { font-size: 1.3rem; }
  .cs-page-head-text p { font-size: 0.78rem; }
  .cs-stats { gap: 8px; }
  .cs-stat { padding: 11px 12px; gap: 10px; }
  .cs-stat-icon { width: 36px; height: 36px; flex-basis: 36px; border-radius: 10px; }
  .cs-stat-value { font-size: 20px; }
  .cs-filter { padding: 12px; }
  .cs-tabs { padding: 8px 10px 0; }
  .cs-tabs button { flex: 1 1; justify-content: center; padding: 8px 10px; }
  .cs-filter-bar { gap: 8px; }
  .cs-filter-bar-icon { display: none; }
  .cs-filter-date, .cs-filter-po, .cs-filter-input:not(.cs-filter-sm), .cs-filter-sm { width: 100%; flex: 1 1 100%; }
  .cs-filter-actions-row { margin-top: 9px; padding-left: 0; }
  .cs-filter-search { width: 100%; }
  .cutting-supplement-folder-content { padding: 10px; }
  .cutting-supplement-bulk-toolbar { flex-wrap: wrap; gap: 8px; }
  .cutting-supplement-bulk-summary { margin-right: 0; }
  .cutting-supplement-bulk-toolbar > .ant-btn { width: 100%; }
  .cutting-supplement-po-header-row { grid-template-columns: 24px minmax(0, 1fr); }
  .cutting-supplement-po-header { grid-template-columns: 22px minmax(0, 1fr); padding: 10px; }
  .cutting-supplement-po-identity { grid-template-columns: auto 1fr; gap: 1px 7px; }
  .cutting-supplement-po-metrics { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 5px; gap: 5px; }
  .cutting-supplement-po-metrics > span { min-width: 0; padding: 5px 6px; }
  .cutting-supplement-po-metrics strong { font-size: 13px; }
  .cutting-supplement-variant-head { display: none; }
  .cutting-supplement-variant { grid-template-columns: 1fr 1fr; gap: 10px; padding: 13px; }
  .cutting-supplement-variant > span { display: grid; grid-gap: 2px; gap: 2px; text-align: left !important; }
  .cutting-supplement-variant > span::before { color: var(--cs-muted); font-size: 10px; font-weight: 700; text-transform: uppercase; content: attr(data-label); }
  .cutting-supplement-variant > span:last-child { grid-column: 1 / -1; }
  .cutting-supplement-variant .ant-input-number-group-wrapper { width: 100%; }
  .cutting-supplement-quantity-field { width: 100%; }
  .cutting-supplement-po-footer { padding: 10px 12px; }
  .cutting-supplement-po-actions { display: grid; grid-template-columns: auto auto minmax(150px, 1fr); width: 100%; grid-gap: 8px; gap: 8px; }
  .cutting-supplement-po-actions .ant-space-item { min-width: 0; }
  .cutting-supplement-po-actions .ant-space-item:last-child .ant-btn { width: 100%; min-width: 0; }
  .cutting-supplement-history-table { display: none; }
  .cutting-supplement-history-cards { display: grid; grid-gap: 10px; gap: 10px; }
  .cutting-supplement-history-cards article { display: grid; grid-gap: 8px; gap: 8px; padding: 13px; border: 1px solid var(--cs-line); border-radius: 12px; background: #fff; box-shadow: 0 2px 8px rgba(16, 31, 82, 0.05); }
  .cutting-supplement-history-cards article > div:first-child { display: flex; align-items: center; gap: 7px; }
  .cutting-supplement-history-cards article > div:first-child strong { margin-right: auto; font-family: "Roboto Condensed", Arial, sans-serif; font-weight: 800; color: #16307b; }
  .cutting-supplement-history-mobile-pos { display: flex; max-height: 96px; flex-wrap: wrap; gap: 5px; overflow-y: auto; }
  .cutting-supplement-history-mobile-status { display: flex; }
  .cutting-supplement-history-mobile-pos > strong { width: 100%; color: #16307b; }
  .cutting-supplement-history-mobile-pos .ant-tag { max-width: 100%; margin: 0; overflow-wrap: anywhere; white-space: normal; }
  .cutting-supplement-history-cards footer { display: flex; justify-content: space-between; color: var(--cs-muted); font-size: 12px; }
  .cutting-supplement-history .ant-pagination { justify-content: center; }
  .cs-confirm-meta { gap: 10px; }
  .cs-confirm-po-tags { margin-left: 0; width: 100%; max-height: 68px; }
  .cs-confirm-lines { max-height: 40vh; }
  .cutting-supplement-detail-modal .ant-modal-body { padding: 12px; }
  /* Popup chi tiet - meta 4 tile -> 2 cot tren mobile */
  .cs-detail-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .cs-detail-head { padding: 11px 13px; }
  .cs-detail-code { font-size: 16px; }
  .cs-metric { padding: 10px; gap: 9px; }
  .cs-metric-icon { width: 32px; height: 32px; }
  .cs-metric-value { font-size: 19px; }
  .cs-detail-table { font-size: 12px; }
  .cs-detail-table thead th, .cs-detail-table tbody td { padding: 7px 8px; }
}

@media (max-width: 420px) {
  /* Man rat hep: tile xep 1 cot doc, doc lien mach tu tren xuong */
  .cs-detail-meta { grid-template-columns: 1fr; }
  .cs-detail-head { flex-wrap: wrap; }
  .cs-detail-collapse { flex-wrap: wrap; gap: 6px; }
  .cs-detail-collapse-toggle { margin-left: auto; }
  .cs-detail-table code { overflow-wrap: anywhere; white-space: normal; }
}

/* Reset CSS để tránh lỗi kế thừa */
.export-container * {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* Container chính */
.export-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: white;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
}

/* Indicators */
.slide-indicator {
  position: absolute;
  top: 5px;
  left: 60%;
  transform: translateX(-50%);
  background-color: rgba(0, 0, 0, 0.6);
  color: white;
  padding: 3px 10px;
  border-radius: 10px;
  font-size: 12px;
  z-index: 10;
}

/* Nút điều hướng */
.slide-nav-button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: rgba(0, 0, 0, 0.6);
  color: white;
  font-size: 24px;
  border: none;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10;
  opacity: 0.7;
  transition: opacity 0.2s;
}

.slide-nav-button:hover {
  opacity: 1;
}

.prev-button {
  left: 10px;
}

.next-button {
  right: 10px;
}

/* Header */
.export-header {
  display: flex;
  justify-content: space-between;
  padding: 5px 8px;
  background-color: #f5f5f5;
  border-bottom: 1px solid #ddd;
  flex-wrap: wrap;
  width: 100%;
}

.header-item {
  margin: 2px 4px;
}

.header-label {
  font-size: 14px;
  color: #666;
  margin-right: 4px;
}

.header-value {
  font-weight: 600;
  font-size: 20px;
  color: #333;
}

.po-value {
  color: #d32f2f;
  font-weight: 700;
}

.cang-value, .list-value {
  color: #1976d2;
  font-weight: 700;
}

.percentage {
  font-weight: 700;
  
}

/* Table container - chiếm toàn bộ phần còn lại */
.table-container {
  flex: 1 1;
  overflow: auto;
  width: 100%;
  height: calc(100% - 40px); /* Chiều cao còn lại sau khi trừ header */
}

/* Table - sử dụng toàn bộ không gian */
.export-table {
  width: 100%;
  height: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

/* Table headers */
.export-table th {
  background-color: #1976d2;
  color: white;
  font-weight: 600;
  text-align: center;
  padding: 6px 4px;
  font-size: 13px;
  border: 1px solid #0d47a1;
  white-space: nowrap;
  position: sticky;
  top: 0;
  z-index: 5;
  height: 35px;
}

/* Thiết lập tỷ lệ phần trăm cho các cột */
.col-color {
  width: 8%;
}

.col-type {
  width: 6%;
}

.col-total {
  width: 8%;
}

.col-size {
  /* Các cột size sẽ chia đều phần còn lại (67%) */
  width: calc(67% / 7);
  width: calc(67% / var(--num-sizes, 7));
}

/* Table cells */
.export-table td {
  border: 1px solid #ddd;
  padding: 4px;
  text-align: center!important;
  font-size: 20px;
  vertical-align: middle;
}

/* Color column */
.cell-color {
  background-color: #f5f5f5;
  font-weight: 600;
  text-align: left !important;
  padding-left: 8px !important;
  font-size: 13px;
}

/* Type column */
.cell-type {
  text-align: left !important;
  padding-left: 8px !important;
  font-weight: 600;
  font-size: 13px;
}

/* Background colors for different types */
.cell-type.required {
  background-color: #e3f2fd !important; /* Xanh nhạt */
}
.cell-type.total {
  background-color: #ebe5e5 !important; /* Xanh nhạt */
  
}
.cell-type.exported {
  background-color: #e8f5e9 !important; /* Xanh lá nhạt */
}

.cell-type.diff {
  background-color: #ffebee !important; /* Đỏ nhạt */
}

/* Background colors for cell values */
.required-value {
  color: #1565C0;
  font-weight: 600;
  background-color: #e3f2fd !important;
}
.total-value {
  color: #1565C0;
  font-weight: 600;
  background-color: #ebe5e5  !important;
}
.total-value1 {
  color: #2E7D32;
  font-weight: 600;
  background-color: #ebe5e5  !important;
}
.total-value2 {
  /* color: #2E7D32; */
  font-weight: 600;
  background-color: #ebe5e5  !important;
}
.exported-value {
  color: #2E7D32;
  font-weight: 600;
  background-color: #e8f5e9 !important;
}

.highlight {
  color: #c62828;
  font-weight: 700;
  background-color: #ffebee !important;
}

/* MOBILE OPTIMIZATION */
@media screen and (max-width: 1280px) {
  /* Giảm font size */
  .header-label {
    font-size: 10px;
  }
  
  .header-value {
    font-size: 12px;
  }
  
  /* Giảm kích thước header */
  .export-header {
    padding: 0px ;
    height: 20px;
    font-size: 10px;
  }
  
  /* Giảm chiều cao dòng cho điện thoại */
  .export-table th {
    padding: 2px 2px;
    /* padding: 0px; */
    font-size: 9px !important;
    height: 10px !important;
  }
  .export-table td {

    padding: 0px;
    font-size: 15px;
    height: 18px; /* Chiều cao cố định */
  }
  
  /* Giảm font size */
  .cell-color, .cell-type {
    font-size: 10px;
  }
  
  /* Ngắn gọn text cho màn hình nhỏ */
  .cell-type.required {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  
  .cell-type.exported {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  
  /* Điều chỉnh tỷ lệ cột cho mobile */
  .col-color {
    width: 10%;
  }
  
  .col-type {
    width: 7%;
  }
  
  .col-total {
    width: 7%;
  }
  
  .col-size {
    width: calc(50% / 7);
    width: calc(50% / var(--num-sizes, 7));
  }
  
  /* Nút điều hướng nhỏ hơn */
  .slide-nav-button {
    width: 30px;
    height: 30px;
    font-size: 15px;
  }
}
.row-required .cell-type {
  background-color: rgba(13, 110, 253, 0.1);
  font-weight: 600;
}

.row-exported .cell-type {
  background-color: rgba(25, 135, 84, 0.1);
  font-weight: 600;
}

.row-diff .cell-type {
  background-color: rgba(255, 193, 7, 0.1);
  font-weight: 600;
}

.empty-state {
  animation: fadeIn 0.5s ease;
}

.icon-container {
  display: inline-block;
  transition: all 0.3s ease;
}

.icon-container:hover {
  transform: scale(1.05);
}

.not-found-alert {
  border-radius: 0.75rem;
  border-left: 5px solid #ffc107 !important;
}

.alert-icon {
  color: #ffc107;
}

.control-btn {
  border-radius: 0.5rem;
  padding: 0.5rem 1rem;
  transition: all 0.2s ease;
}

.control-btn:hover {
  transform: translateY(-2px);
}

.loading-animation {
  display: inline-block;
  animation: pulse 1.5s infinite;
}
.search-card {
  border-radius: 0.75rem;
  transition: all 0.3s ease;
}

.search-card:hover {
  box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.1) !important;
}
.summary-card {
  border-radius: 0.75rem;
  background: linear-gradient(to right, #f8f9fa, #ffffff);
}
.search-select {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.InputGroup .form-control {
  height: 52px;
}
.export-accordion .accordion-button {
  background: #f8f9fa;
  border-radius: 0.5rem !important;
  padding: 1rem 1.5rem;
}
.status-card {
  border-radius: 0.5rem;
  background: #f8f9fa;
  border-left: 4px solid;
  transition: all 0.3s ease;
}

.status-card:hover {
  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.05);
}
.export-accordion .accordion-button:not(.collapsed) {
  background: #edf2ff;
  color: #0d6efd;
  box-shadow: none;
}

.export-accordion .accordion-button:focus {
  box-shadow: none;
  border-color: #e9ecef;
}
/* Đảm bảo đủ chiều cao cho nội dung */
.export-table tr {
  height: 15px;
}
@keyframes pulse {
  0% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.7; transform: scale(1.05); }
  100% { opacity: 1; transform: scale(1); }
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
@media screen and (max-width: 480px) {
  .export-table tr {
    height: 20px;
  }
}
.care-page {
  --care-navy: #101f52;
  --care-navy-2: #16307b;
  --care-blue: #1e5aa8;
  --care-line: #dde4ef;
  min-height: calc(100vh - 56px);
  min-height: calc(100vh - var(--topbar-height, 56px));
  padding: 0;
  color: #16213a;
  background: #f1f5fb;
  font-family: "Roboto", Arial, sans-serif;
  text-align: left;
  -webkit-font-smoothing: antialiased;
}

.care-page * {
  box-sizing: border-box;
}

.care-shell {
  width: 100%;
  max-width: 1680px;
  margin: 0 auto;
}

.care-config-card {
  overflow: visible;
  border: 1px solid var(--care-line);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(16, 31, 82, 0.12);
}

.care-config-header {
  min-height: 62px;
  padding: 14px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-radius: 9px 9px 0 0;
  color: #fff;
  background: var(--care-navy);
}

.care-config-head-main {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.care-config-head-icon {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  border-radius: 12px;
  font-size: 22px;
  color: #fff;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.22);
}

.care-config-head-text { min-width: 0; }

.care-config-header h1 {
  margin: 0;
  color: #fff;
  font-family: "Roboto Condensed", Arial, sans-serif;
  font-size: 1.5rem;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: 0.3px;
}

.care-config-head-text p {
  margin: 3px 0 0;
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.72);
  line-height: 1.35;
}

.care-autosave {
  min-height: 34px;
  padding: 7px 11px;
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 8px;
  color: #fff;
  background: rgba(255, 255, 255, 0.09);
  font-size: 0.84rem;
  font-weight: 700;
  white-space: nowrap;
}

.care-autosave-dot {
  width: 8px;
  height: 8px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: #9ee6b4;
  box-shadow: 0 0 0 3px rgba(158, 230, 180, 0.14);
}

.care-autosave.is-saving .care-autosave-dot {
  background: #f8d477;
  box-shadow: 0 0 0 3px rgba(248, 212, 119, 0.15);
  animation: care-autosave-pulse 1s ease-in-out infinite;
}

.care-autosave.is-error .care-autosave-dot {
  background: #f6a6a6;
  box-shadow: 0 0 0 3px rgba(246, 166, 166, 0.15);
}

@keyframes care-autosave-pulse {
  50% { opacity: 0.45; transform: scale(0.82); }
}

.care-config-body {
  padding: 14px;
  background: #fff;
}

.care-toolbar {
  margin-bottom: 14px;
  padding: 13px 14px 14px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: end;
  justify-items: start;
  grid-gap: 14px;
  gap: 14px;
  border: 1px solid #dbe4f1;
  border-radius: 10px;
  background: #f7f9fd;
}

.care-controls {
  width: min(620px, 100%);
  min-width: 0;
  display: flex;
  align-items: flex-end;
  gap: 10px;
}

.care-controls > label {
  width: 100%;
  color: var(--care-navy-2);
  font-family: "Roboto Condensed", Arial, sans-serif;
  font-size: 0.92rem;
  font-weight: 800;
  letter-spacing: 0.3px;
}

.care-controls > label > div {
  margin-top: 7px;
}

.care-product-select__control {
  min-height: 40px !important;
  border: 1.5px solid #b6c2d6 !important;
  border-radius: 9px !important;
  box-shadow: none !important;
}

.care-product-select__control:hover {
  border-color: #2f6fd6 !important;
}

.care-product-select__control--is-focused {
  border-color: #2f6fd6 !important;
  box-shadow: 0 0 0 3px rgba(47, 111, 214, 0.12) !important;
}

.care-product-select__single-value,
.care-product-select__input-container {
  color: var(--care-navy-2) !important;
  font-weight: 700;
}

.care-product-select__menu {
  z-index: 20 !important;
}

.care-mode-control {
  width: min(350px, 100%);
  min-width: 350px;
}

.care-control-label {
  margin-bottom: 7px;
  display: block;
  color: var(--care-navy-2);
  font-family: "Roboto Condensed", Arial, sans-serif;
  font-size: 0.92rem;
  font-weight: 800;
  letter-spacing: 0.3px;
}

.care-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 6px;
  gap: 6px;
  padding: 3px;
  border: 1px solid #cbd6e6;
  border-radius: 10px;
  background: #eaf0f8;
}

.care-tabs button {
  min-height: 42px;
  padding: 6px 10px;
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid transparent;
  border-radius: 8px;
  color: #52627a;
  background: rgba(255, 255, 255, 0.72);
  font-family: "Roboto Condensed", Arial, sans-serif;
  text-align: left;
  transition: color 0.18s ease, background 0.18s ease, border-color 0.18s ease, transform 0.1s ease, box-shadow 0.18s ease;
}

.care-tabs button > svg {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}

.care-tabs button > span {
  min-width: 0;
  display: flex;
  flex-direction: column;
  line-height: 1.05;
}

.care-tabs button strong {
  font-size: 0.85rem;
  font-weight: 800;
  white-space: nowrap;
}

.care-tabs button small {
  margin-top: 4px;
  font-size: 0.66rem;
  font-weight: 600;
  white-space: nowrap;
}

.care-tabs button:hover:not(:disabled):not([aria-selected="true"]) {
  color: var(--care-navy-2);
  background: #e5ebf5;
}

.care-tabs button[aria-selected="true"] {
  color: #fff;
  background: var(--care-navy-2);
  border-color: var(--care-navy-2);
  box-shadow: 0 3px 8px rgba(22, 48, 123, 0.22);
}

.care-tabs button:active:not(:disabled) {
  transform: translateY(1px);
}

.care-page button:focus-visible,
.care-page input:focus-visible,
.care-page select:focus-visible {
  outline: 3px solid rgba(47, 111, 214, 0.28);
  outline-offset: 2px;
}

.care-markets {
  margin: 0 0 14px;
  padding: 10px 12px;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  border: 1px solid var(--care-line);
  border-radius: 9px;
  color: var(--care-navy-2);
  background: #fff;
  font-family: "Roboto Condensed", Arial, sans-serif;
  font-size: 0.86rem;
  font-weight: 800;
}

.care-markets button {
  min-width: 44px;
  padding: 6px 11px;
  border: 1px solid #b6c2d6;
  border-radius: 7px;
  color: var(--care-navy-2);
  background: #fff;
  font-weight: 800;
}

.care-markets .care-market-all {
  min-width: 66px;
}

.care-markets button[aria-pressed="true"] {
  border-color: var(--care-navy-2);
  color: #fff;
  background: var(--care-navy-2);
}

.care-workspace {
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  grid-gap: 14px;
  gap: 14px;
  align-items: start;
}

.care-pool,
.care-groups {
  min-width: 0;
  padding: 0 12px 12px;
  overflow: hidden;
  border: 1px solid var(--care-line);
  border-radius: 10px;
  background: #fff;
}

.care-pool {
  position: sticky;
  top: calc(56px + 14px);
  top: calc(var(--topbar-height, 56px) + 14px);
  max-height: calc(100vh - 56px - 30px);
  max-height: calc(100vh - var(--topbar-height, 56px) - 30px);
  overflow-y: auto;
}

.care-panel-title {
  min-height: 48px;
  margin: 0 -12px 12px;
  padding: 10px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: #fff;
  background: #0e1533;
}

.care-panel-title h2 {
  margin: 0;
  color: #fff;
  font-family: "Roboto Condensed", Arial, sans-serif;
  font-size: 0.96rem;
  font-weight: 800;
  letter-spacing: 0.35px;
  text-transform: uppercase;
}

.care-panel-title span {
  padding: 3px 8px;
  border-radius: 7px;
  color: var(--care-blue);
  background: #dbe6f6;
  font-size: 0.76rem;
  font-weight: 800;
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
}

.care-search {
  width: 100%;
  min-height: 38px;
  padding: 8px 10px;
  border: 1.5px solid #b6c2d6;
  border-radius: 8px;
  color: #16213a;
  background: #fff;
  font-size: 0.84rem;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.care-search:focus {
  border-color: #2f6fd6;
  box-shadow: 0 0 0 3px rgba(47, 111, 214, 0.12);
}

.care-select-all {
  margin: 10px 0 8px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #52627a;
  font-size: 0.8rem;
}

.care-po {
  --care-blue: #1e5aa8;
  --care-line: #dde4ef;
  margin-bottom: 8px;
  padding: 11px;
  border: 1px solid var(--care-line);
  border-radius: 9px;
  background: #fff;
  box-shadow: 0 1px 3px rgba(16, 31, 82, 0.06);
  cursor: grab;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.care-po:hover {
  border-color: #9fb2ce;
  box-shadow: 0 4px 10px rgba(16, 31, 82, 0.11);
}

.care-po.is-assigned-other {
  border-color: #e6bc73;
  border-left: 5px solid #d97706;
  background: #fff8e8;
  box-shadow: inset 0 0 0 1px rgba(217, 119, 6, 0.07);
}

.care-po.is-assigned-other:hover {
  border-color: #d99a31;
  border-left-color: #b85f05;
  background: #fff4d9;
  box-shadow: 0 4px 10px rgba(146, 82, 12, 0.13);
}

.care-po.is-assigned-other .care-po-top strong {
  color: #96500b;
  background: #ffebc2;
}

.care-po.is-selected {
  border-color: #2f6fd6;
  background: #eff4ff;
  box-shadow: 0 0 0 2px rgba(47, 111, 214, 0.15);
}

.care-po.is-dragging {
  box-shadow: 0 14px 28px rgba(16, 31, 82, 0.24);
  cursor: grabbing;
  will-change: transform;
}

.care-po.is-assigned-current {
  border-color: #9eacbe;
  border-left: 5px solid #64748b;
  background: #eef2f6;
  box-shadow: inset 0 0 0 1px rgba(100, 116, 139, 0.08);
  cursor: not-allowed;
}

.care-po.is-assigned-current:hover {
  border-color: #9eacbe;
  border-left-color: #64748b;
  box-shadow: inset 0 0 0 1px rgba(100, 116, 139, 0.08);
}

.care-po.is-assigned-current .care-drag-handle {
  color: #536983;
}

.care-po.is-assigned-current .care-po-top strong {
  color: #536173;
  background: #dce3eb;
}

.care-po.is-assigned-current .care-market {
  color: #5f6270;
  background: #dfe3e9;
}

.care-po-top {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.8rem;
}

.care-po-top strong {
  min-width: 0;
  padding: 7px 10px;
  flex: 1 1;
  overflow-wrap: anywhere;
  border-radius: 8px;
  color: var(--care-blue);
  background: #dbe6f6;
  font-size: 0.82rem;
  font-weight: 800;
}

.care-drag-handle {
  flex: 0 0 auto;
  color: #647da3;
  font-size: 1rem;
}

.care-po:focus-visible {
  outline: 2px solid var(--care-blue);
  outline-offset: 2px;
}

.care-market {
  padding: 7px 9px;
  border-radius: 8px;
  color: #463a6e;
  background: #e6e0f6;
  font-size: 0.72rem;
  font-weight: 800;
}

.care-customer {
  margin: 8px 0 0;
  color: #64748b;
  font-size: 0.73rem;
  font-weight: 600;
}

.care-assignment {
  width: fit-content;
  max-width: 100%;
  margin-top: 7px;
  padding: 4px 8px;
  overflow-wrap: anywhere;
  border-radius: 7px;
  font-size: 0.7rem;
  font-weight: 800;
}

.care-assignment.is-current {
  color: #fff;
  background: #64748b;
}

.care-assignment.is-other {
  color: #8a4b08;
  background: #fff2d6;
}

.care-drop {
  min-height: 56px;
  padding: 5px;
  border: 1px dashed transparent;
  border-radius: 8px;
  transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.care-drop.is-empty {
  min-height: 86px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px dashed #9eb0c9;
  background: #fafbfd;
}

.care-drop.is-empty:hover {
  border-color: #2f6fd6;
  background: #f1f5fb;
}

.care-drop.is-over {
  border: 2px dashed #2f6fd6;
  background: #eff4ff;
  box-shadow: inset 0 0 0 3px rgba(47, 111, 214, 0.08);
}

.care-drop-hint {
  padding: 12px 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 8px;
  color: #64748b;
  text-align: center;
  font-size: 0.76rem;
  font-weight: 700;
}

.care-drop-hint svg {
  width: 25px;
  height: 25px;
  padding: 4px;
  border: 1px solid #b6c2d6;
  border-radius: 7px;
  color: var(--care-blue);
  background: #fff;
}

.care-group {
  margin: 12px 0;
  padding: 12px;
  overflow: hidden;
  border: 1px solid #cbd6e5;
  border-radius: 10px;
  background: #fafbfd;
}

.care-group-heading {
  min-height: 47px;
  margin: -12px -12px 8px;
  padding: 9px 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--care-navy-2);
  cursor: pointer;
  transition: background 0.15s ease;
}

.care-group-heading:hover {
  background: #1d3b91;
}

.care-group-heading.is-collapsed {
  margin-bottom: -12px;
}

.care-group-heading input {
  width: min(300px, 58%);
  min-width: 0;
  padding: 6px 8px;
  border: 1px solid transparent;
  border-radius: 7px;
  color: #fff;
  background: transparent;
  font-family: "Roboto Condensed", Arial, sans-serif;
  font-size: 0.93rem;
  font-weight: 800;
}

.care-group-heading input:hover,
.care-group-heading input:focus {
  border-color: rgba(255, 255, 255, 0.75);
  background: rgba(255, 255, 255, 0.1);
}

.care-group-count {
  margin-left: auto;
  padding: 4px 8px;
  border-radius: 7px;
  color: var(--care-blue);
  background: #dbe6f6;
  font-size: 0.74rem;
  font-weight: 800;
}

.care-group-heading button {
  padding: 5px 9px;
  border: 1px solid #fff;
  border-radius: 7px;
  color: #b91c1c;
  background: #fff;
  font-size: 0.72rem;
  font-weight: 700;
}

.care-group-heading .care-group-toggle {
  width: 32px;
  height: 32px;
  margin-left: 0;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-color: rgba(255, 255, 255, 0.45);
  color: #fff;
  background: rgba(255, 255, 255, 0.08);
}

.care-group-toggle:hover:not(:disabled) {
  background: rgba(255, 255, 255, 0.18);
}

.care-group-toggle svg {
  transition: transform 0.18s ease;
}

.care-group-heading.is-collapsed .care-group-toggle svg {
  transform: rotate(-90deg);
}

.care-group > .care-drop:not(.is-empty) {
  padding: 2px 0 0;
  display: flex;
  flex-direction: column;
  gap: 9px;
}

.care-group > .care-drop .care-po {
  width: min(920px, 100%);
  margin-bottom: 0;
  padding: 8px 10px;
  display: grid;
  grid-template-columns: minmax(270px, 1fr) minmax(190px, 0.8fr) 36px;
  align-items: center;
  grid-gap: 10px;
  gap: 10px;
}

.care-group .care-customer {
  margin-top: 0;
}

.care-remove-po {
  width: 34px;
  height: 34px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  justify-self: end;
  border: 1px solid #e6a8a8;
  border-radius: 8px;
  color: #b42318;
  background: #fff5f5;
  cursor: pointer;
  transition: color 0.18s ease, background 0.18s ease, border-color 0.18s ease, transform 0.1s ease;
}

.care-remove-po:hover:not(:disabled) {
  border-color: #c2413a;
  color: #fff;
  background: #b42318;
}

.care-remove-po:active:not(:disabled) {
  transform: translateY(1px);
}

.care-remove-po:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.care-remove-po svg {
  width: 18px;
  height: 18px;
}

.care-new {
  margin-top: 12px;
  color: var(--care-blue);
  text-align: center;
}

.care-new .care-drop.is-empty {
  min-height: 66px;
  border-color: #8fa3c2;
  background: #fafbfd;
}

.care-new .care-drop-hint {
  flex-direction: row;
  gap: 9px;
}

.care-selection {
  margin: 10px 0;
  padding: 9px 11px;
  display: flex;
  align-items: center;
  gap: 9px;
  flex-wrap: wrap;
  border: 1px solid #b9c7da;
  border-radius: 8px;
  color: var(--care-navy-2);
  background: #eff4ff;
  font-size: 0.8rem;
  font-weight: 700;
}

.care-selection select,
.care-selection button {
  min-height: 32px;
  padding: 5px 8px;
  border: 1px solid #8fa3c2;
  border-radius: 7px;
  color: var(--care-navy-2);
  background: #fff;
}

.care-error,
.care-warning {
  margin-bottom: 14px;
  padding: 10px 13px;
  border-radius: 8px;
  font-size: 0.85rem;
  font-weight: 700;
}

.care-error {
  color: #b91c1c;
  background: #fee2e2;
}

.care-warning {
  color: #8a4b08;
  background: #fff2d6;
}

.care-empty {
  padding: 56px 20px;
  border: 1px dashed #9eb0c9;
  border-radius: 9px;
  color: #64748b;
  background: #fafbfd;
  text-align: center;
  font-weight: 700;
}

.care-confirm-backdrop {
  position: fixed;
  inset: 0;
  z-index: 2000;
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(8, 18, 48, 0.58);
  -webkit-backdrop-filter: blur(2px);
          backdrop-filter: blur(2px);
}

.care-confirm {
  width: min(460px, 100%);
  padding: 22px;
  border: 1px solid #d6deeb;
  border-radius: 12px;
  color: #16213a;
  background: #fff;
  box-shadow: 0 24px 60px rgba(8, 18, 48, 0.28);
}

.care-confirm h2 {
  margin: 0 0 12px;
  color: var(--care-navy-2);
  font-family: "Roboto Condensed", Arial, sans-serif;
  font-size: 1.25rem;
  font-weight: 800;
}

.care-confirm p {
  margin: 0;
  color: #52627a;
  font-size: 0.94rem;
  line-height: 1.55;
}

.care-confirm p strong {
  color: #16213a;
}

.care-confirm > div {
  margin-top: 20px;
  display: flex;
  justify-content: flex-end;
  gap: 9px;
}

.care-confirm button {
  min-width: 88px;
  min-height: 38px;
  padding: 7px 14px;
  border: 1px solid #9eb0c9;
  border-radius: 8px;
  color: var(--care-navy-2);
  background: #fff;
  font-weight: 800;
}

.care-confirm button.is-primary {
  border-color: var(--care-navy-2);
  color: #fff;
  background: var(--care-navy-2);
}

@media (min-width: 992px) {
  html.care-config-open,
  body.care-config-open {
    overflow: hidden;
  }

  .care-page {
    height: calc(100dvh - 56px);
    height: calc(100dvh - var(--topbar-height, 56px));
    min-height: 0;
    overflow: hidden;
  }

  .care-shell,
  .care-config-card {
    height: 100%;
  }

  .care-config-card,
  .care-config-body,
  .care-data {
    min-height: 0;
    display: flex;
    flex-direction: column;
  }

  .care-config-card,
  .care-config-body,
  .care-data,
  .care-workspace {
    overflow: hidden;
  }

  .care-config-body,
  .care-data,
  .care-workspace {
    flex: 1 1;
  }

  .care-toolbar,
  .care-markets {
    flex: 0 0 auto;
  }

  .care-workspace {
    min-height: 0;
  }

  .care-pool,
  .care-groups {
    height: 100%;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
  }

  .care-pool {
    position: static;
    max-height: none;
  }

  .care-panel-title {
    position: sticky;
    top: 0;
    z-index: 3;
  }
}

@media (max-width: 991.98px) {
  .care-workspace {
    grid-template-columns: 1fr;
  }

  .care-pool {
    position: static;
    max-height: 390px;
  }
}

@media (max-width: 767.98px) {
  .care-shell {
    padding: 8px 10px 20px !important;
  }

  .care-config-header {
    min-height: 54px;
    padding: 12px 14px;
  }

  .care-config-head-main { gap: 11px; }

  .care-config-head-icon {
    width: 40px;
    height: 40px;
    flex-basis: 40px;
    font-size: 19px;
    border-radius: 11px;
  }

  .care-config-header h1 {
    font-size: 1.25rem;
  }

  .care-config-head-text p {
    font-size: 0.76rem;
  }

  .care-config-body {
    padding: 10px;
  }

  .care-toolbar {
    grid-template-columns: 1fr;
  }

  .care-controls,
  .care-controls > label,
  .care-mode-control,
  .care-tabs {
    width: 100%;
    min-width: 0;
  }

  .care-tabs button {
    padding-right: 8px;
    padding-left: 8px;
  }

  .care-group-heading input {
    width: auto;
    flex: 1 1;
  }

  .care-group > .care-drop .care-po {
    grid-template-columns: minmax(0, 1fr) 36px;
    gap: 7px;
  }

  .care-group > .care-drop .care-po .care-po-top,
  .care-group > .care-drop .care-po .care-customer {
    grid-column: 1;
  }

  .care-group > .care-drop .care-po .care-remove-po {
    grid-column: 2;
    grid-row: 1 / span 2;
  }
}

.rfid-cancel-page {
  padding: 24px;
  --inspection-accent: #24344d;
  --inspection-soft: #f3f5fa;
  --inspection-border: #e8edf4;
}

.rfid-cancel-folder {
  padding: 18px;
  border-radius: 16px;
  background: #edf1f7;
}

.rfid-cancel-folder-content {
  position: relative;
  z-index: 2;
  padding: 8px 6px 6px;
  border-radius: 0 14px 14px 14px;
  background: #fff;
}

.rfid-cancel-inspection-tabs > .ant-tabs-nav {
  margin: 0;
  padding: 0 12px 0 0;
  overflow: visible;
}

.rfid-cancel-inspection-tabs .ant-tabs-nav-wrap {
  overflow: visible;
}

.rfid-cancel-inspection-tabs .ant-tabs-content-holder {
  display: none;
}

.rfid-cancel-inspection-tabs > .ant-tabs-nav::before,
.rfid-cancel-inspection-tabs .ant-tabs-ink-bar {
  display: none;
}

.rfid-cancel-inspection-tabs .ant-tabs-nav-list {
  gap: 0;
  padding-top: 3px;
}

.rfid-cancel-inspection-tabs .ant-tabs-tab {
  position: relative;
  z-index: 1;
  justify-content: center;
  margin: 0 !important;
  min-width: 154px;
  padding: 15px 30px 13px;
  color: #69768c;
  font-size: 15px;
  font-weight: 500;
  background: transparent;
  border: 0;
}

.rfid-cancel-inspection-tabs .ant-tabs-tab::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0 2px -1px;
  background: #d5dfed;
  border-radius: 12px 12px 0 0;
  transform: skewX(16deg);
}

.rfid-cancel-inspection-tabs .ant-tabs-tab:first-child::after {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0 auto -1px 0;
  width: 24px;
  border-radius: 12px 0 0 0;
  background: #d5dfed;
}

.rfid-cancel-inspection-tabs .ant-tabs-tab-active {
  z-index: 3;
  font-weight: 700;
}

.rfid-cancel-inspection-tabs .ant-tabs-tab-active::before,
.rfid-cancel-inspection-tabs .ant-tabs-tab-active:first-child::after {
  background: #fff;
}

.rfid-cancel-inspection-tabs .ant-tabs-tab-active .ant-tabs-tab-btn {
  color: #1e293b !important;
  text-shadow: none;
}

.rfid-cancel-inspection-tabs .ant-tabs-tab-btn:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}

.rfid-cancel-inspection-tabs .ant-tabs-tab-btn > span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.rfid-cancel-results-card {
  border: 0;
  box-shadow: none;
}

.rfid-cancel-folder-content .rfid-cancel-filter-card {
  border: 0;
  box-shadow: none;
  margin-bottom: 0;
}

.rfid-cancel-results-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 10px;
  padding: 0 0 8px;
  border-bottom: 1px solid var(--inspection-border);
  background: #fff;
  color: var(--inspection-accent);
}

.rfid-cancel-results-eyebrow {
  font-size: 13px;
  font-weight: 500;
}

.rfid-cancel-results-heading h3 {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  font-size: 21px;
  font-weight: 700;
  color: inherit;
}

.rfid-cancel-results-heading h3::before {
  width: 4px;
  height: 30px;
  border-radius: 999px;
  background: #1677ff;
  content: '';
}

.rfid-cancel-results-heading h3 strong {
  padding: 5px 10px;
  border: 1px solid #b7d3f7;
  border-radius: 7px;
  color: #1559a6;
  background: #edf5ff;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
}

.rfid-cancel-results-total {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  white-space: nowrap;
}

.rfid-cancel-results-total > span {
  font-size: 12px;
}

.rfid-cancel-results-total strong {
  font-size: 24px;
}

.rfid-cancel-results-total small {
  font-size: 12px;
  font-weight: 500;
}

@media (max-width: 575px) {
  .rfid-cancel-folder { padding: 12px 8px; }
  .rfid-cancel-folder-content { padding: 4px 0; }
  .rfid-cancel-folder-content > .ant-card > .ant-card-body { padding: 16px 12px; }
  .rfid-cancel-inspection-tabs .ant-tabs-tab { min-width: 128px; font-size: 14px; padding: 13px 20px; }
  .rfid-cancel-results-heading { padding: 0 0 14px; gap: 10px; }
  .rfid-cancel-results-heading h3 { font-size: 20px; }
}

.rfid-cancel-inspection-warning {
  margin-bottom: 16px;
}

.rfid-cancel-filter-card {
  margin-bottom: 16px;
}

.rfid-cancel-total-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
  padding: 8px 12px;
  border: 1px solid #f0f0f0;
  border-radius: 8px;
  background: #fafafa;
  font-size: 14px;
}

.rfid-cancel-table .rfid-cancel-date-group > td {
  background: #dceaff !important;
  border-top: 1px solid #d6e7fb !important;
  border-bottom: 1px solid #d6e7fb !important;
  box-shadow: inset 4px 0 0 #1677ff;
  padding-block: 11px !important;
}

.rfid-cancel-table .rfid-cancel-po-group > td {
  background: #eaf0f7 !important;
  border-bottom: 1px solid #e8edf3 !important;
  padding-block: 9px !important;
}

.rfid-cancel-table .rfid-cancel-date-group:hover > td {
  background: #cfe2ff !important;
}

.rfid-cancel-table .rfid-cancel-po-group:hover > td {
  background: #dfe8f3 !important;
}

.rfid-cancel-table .rfid-cancel-date-group,
.rfid-cancel-table .rfid-cancel-po-group {
  cursor: pointer;
}

.rfid-cancel-group-label {
  display: flex;
  min-height: 26px;
  align-items: center;
  gap: 9px;
  text-align: left;
}

.rfid-cancel-group-label > .anticon {
  display: inline-flex;
  width: 26px;
  height: 26px;
  align-items: center;
  justify-content: center;
  border-radius: 7px;
  font-size: 14px;
}

.rfid-cancel-count.ant-tag {
  margin-inline-start: 5px;
  margin-inline-end: 0;
  padding: 1px 9px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  line-height: 20px;
}

.rfid-cancel-date-label {
  color: #172033;
  font-size: 15px;
}

.rfid-cancel-date-label > .anticon {
  background: #e6f1ff;
  color: #0969da;
}

.rfid-cancel-date-label strong {
  font-weight: 700;
  letter-spacing: 0.01em;
}

.rfid-cancel-date-count.ant-tag {
  border-color: #1677ff;
  background: #1677ff;
  color: #ffffff;
}

.rfid-cancel-po-label {
  color: #1f2937;
}

.rfid-cancel-po-label > .anticon {
  background: #edf1f5;
  color: #475569;
}

.rfid-cancel-po-label > span:not(.anticon):not(.ant-tag) {
  padding: 1px 7px;
  border: 1px solid #d8e0e8;
  border-radius: 5px;
  background: #ffffff;
  color: #526071;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.rfid-cancel-po-label strong {
  color: #27364a;
  font-weight: 650;
}

.rfid-cancel-po-count.ant-tag {
  border-color: #c8d9f5;
  background: #edf4ff;
  color: #245da8;
}

.rfid-cancel-table .ant-table-row-expand-icon {
  border-color: #c8d3df;
  border-radius: 5px;
  background: #ffffff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
}

.rfid-cancel-table .ant-table-row-expand-icon:hover,
.rfid-cancel-table .ant-table-row-expand-icon:focus {
  border-color: #1677ff;
  color: #1677ff;
}

.rfid-cancel-table .rfid-cancel-item > td {
  background: #ffffff;
  border-bottom-color: #e4eaf2;
  transition: background-color 0.15s ease;
}

.rfid-cancel-table .rfid-cancel-item-striped > td {
  background: #f4f7fb;
}

.rfid-cancel-table .rfid-cancel-item:hover > td {
  background: #e6f4ff !important;
}

.rfid-cancel-pagination {
  display: flex;
  justify-content: flex-end;
  padding-top: 16px;
}

.rfid-cancel-mobile-list {
  display: none;
}

.rfid-cancel-reason-button {
  display: inline-flex;
  max-width: 100%;
  align-items: center;
}

.rfid-cancel-reason-button > span:last-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rfid-cancel-reason-context {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
  padding: 12px;
  border: 1px solid #d9e5f3;
  border-radius: 10px;
  background: #f5f9ff;
}

.rfid-cancel-reason-suggestions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 12px;
}

.rfid-cancel-line-group {
  margin-bottom: 14px;
}

.rfid-cancel-line-xuong {
  font-weight: 600;
  color: #1f5fa8;
  margin-bottom: 7px;
  padding-bottom: 4px;
  border-bottom: 1px solid #e3ecf7;
}

.rfid-cancel-line-chuyens {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.rfid-cancel-reason-input {
  display: block;
  margin-bottom: 18px;
}

.rfid-cancel-reason-input .ant-input-data-count {
  right: 8px;
  bottom: 5px;
}

@media (max-width: 768px) {
  .rfid-cancel-page {
    padding: 12px;
  }

  .rfid-cancel-page h2.ant-typography {
    margin-bottom: 14px;
    font-size: 23px;
  }

  .rfid-cancel-filter-card,
  .rfid-cancel-results-card {
    border-radius: 12px;
  }

  .rfid-cancel-filter-card .ant-card-body,
  .rfid-cancel-results-card .ant-card-body {
    padding: 14px;
  }

  .rfid-cancel-filter-card .ant-form-item-label {
    padding-bottom: 4px;
  }

  .rfid-cancel-filter-card .ant-form-item-label > label {
    height: auto;
    font-size: 12px;
    font-weight: 600;
  }

  .rfid-cancel-filter-card .ant-btn {
    min-height: 38px;
  }

  .rfid-cancel-filter-card .ant-space {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
  }

  .rfid-cancel-filter-card .ant-space-item,
  .rfid-cancel-filter-card .ant-space-item .ant-btn {
    width: 100%;
  }

  .rfid-cancel-total-bar {
    margin-bottom: 10px;
    padding: 8px 10px;
  }

  .rfid-cancel-desktop-table {
    display: none;
  }

  .rfid-cancel-mobile-list {
    display: grid;
    grid-gap: 12px;
    gap: 12px;
  }

  .rfid-cancel-mobile-loading {
    display: flex;
    min-height: 160px;
    align-items: center;
    justify-content: center;
  }

  .rfid-cancel-mobile-date {
    overflow: hidden;
    border: 1px solid #d7e4f4;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 3px 10px rgba(15, 23, 42, 0.05);
  }

  .rfid-cancel-mobile-date-header,
  .rfid-cancel-mobile-po-header {
    display: grid;
    width: 100%;
    align-items: center;
    border: 0;
    color: #172033;
    text-align: left;
    cursor: pointer;
  }

  .rfid-cancel-mobile-date-header:focus,
  .rfid-cancel-mobile-po-header:focus {
    outline: none;
  }

  .rfid-cancel-mobile-date-header:focus-visible,
  .rfid-cancel-mobile-po-header:focus-visible {
    outline: 2px solid rgba(22, 119, 255, 0.5);
    outline-offset: -2px;
  }

  .rfid-cancel-mobile-date-header {
    grid-template-columns: 28px minmax(0, 1fr) auto 16px;
    gap: 8px;
    padding: 12px;
    background: linear-gradient(100deg, #edf6ff 0%, #ffffff 84%);
    box-shadow: inset 4px 0 0 #1677ff;
  }

  .rfid-cancel-mobile-header-icon {
    display: inline-flex;
    width: 28px;
    height: 28px;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    background: #dceeff;
    color: #0969da;
  }

  .rfid-cancel-mobile-date-header > strong {
    font-size: 15px;
  }

  .rfid-cancel-mobile-count {
    padding: 3px 8px;
    border-radius: 999px;
    background: #1677ff;
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
  }

  .rfid-cancel-mobile-date-header > .anticon:last-child,
  .rfid-cancel-mobile-po-header > .anticon:last-child {
    color: #64748b;
    transition: transform 0.18s ease;
  }

  .rfid-cancel-mobile-date-header > .anticon.is-expanded,
  .rfid-cancel-mobile-po-header > .anticon.is-expanded {
    transform: rotate(180deg);
  }

  .rfid-cancel-mobile-po-list {
    display: grid;
    grid-gap: 10px;
    gap: 10px;
    padding: 10px;
    background: #f7f9fc;
  }

  .rfid-cancel-mobile-po {
    overflow: hidden;
    border: 1px solid #e1e7ef;
    border-radius: 10px;
    background: #ffffff;
  }

  .rfid-cancel-mobile-po-header {
    grid-template-columns: 20px minmax(0, 1fr) auto 14px;
    gap: 8px;
    padding: 10px;
    background: #ffffff;
  }

  .rfid-cancel-mobile-po-header > .anticon:first-child {
    color: #526071;
  }

  .rfid-cancel-mobile-po-code {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 1px;
  }

  .rfid-cancel-mobile-po-code small {
    color: #7b8797;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.08em;
  }

  .rfid-cancel-mobile-po-code strong {
    color: #27364a;
    font-size: 12px;
    line-height: 1.3;
    overflow-wrap: anywhere;
  }

  .rfid-cancel-mobile-po-count {
    padding: 2px 7px;
    border: 1px solid #ceddf3;
    border-radius: 999px;
    background: #edf4ff;
    color: #245da8;
    font-size: 10px;
    font-weight: 700;
    white-space: nowrap;
  }

  .rfid-cancel-mobile-items {
    display: grid;
    grid-gap: 8px;
    gap: 8px;
    padding: 0 8px 8px;
  }

  .rfid-cancel-mobile-item {
    padding: 11px;
    border: 1px solid #e5eaf0;
    border-radius: 9px;
    background: #ffffff;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
  }

  .rfid-cancel-mobile-item-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
  }

  .rfid-cancel-mobile-item-top .ant-tag {
    overflow: hidden;
    max-width: calc(100% - 76px);
    margin: 0;
    font-weight: 700;
    text-overflow: ellipsis;
  }

  .rfid-cancel-mobile-item-top time {
    color: #6b7788;
    font-size: 11px;
    font-feature-settings: "tnum";
    font-variant-numeric: tabular-nums;
  }

  .rfid-cancel-mobile-product {
    display: block;
    margin-top: 8px;
    color: #087f8c;
    font-size: 13px;
  }

  .rfid-cancel-mobile-facts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 9px 12px;
    gap: 9px 12px;
    margin-top: 10px;
  }

  .rfid-cancel-mobile-facts > div {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
  }

  .rfid-cancel-mobile-facts span {
    color: #8390a1;
    font-size: 10px;
  }

  .rfid-cancel-mobile-facts strong {
    overflow: hidden;
    color: #2b3748;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .rfid-cancel-mobile-mac {
    display: inline-block;
    margin-top: 8px;
    padding: 2px 6px;
    border-radius: 4px;
    background: #f3f5f7;
    color: #697586;
    font-size: 10px;
  }

  .rfid-cancel-mobile-reason {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-gap: 2px 8px;
    gap: 2px 8px;
    width: 100%;
    align-items: center;
    margin-top: 10px;
    padding: 8px 10px;
    border: 1px solid #c9d9ee;
    border-radius: 8px;
    color: #173f68;
    text-align: left;
    background: #eff6ff;
  }

  .rfid-cancel-mobile-reason span {
    grid-column: 1;
    color: #6d7d90;
    font-size: 10px;
  }

  .rfid-cancel-mobile-reason strong {
    grid-column: 1;
    overflow-wrap: anywhere;
    font-size: 12px;
  }

  .rfid-cancel-mobile-reason > .anticon {
    grid-column: 2;
    grid-row: 1 / span 2;
  }

  .rfid-cancel-mobile-reason.is-missing {
    border-color: #ffccc7;
    color: #a8071a;
    background: #fff2f0;
  }

  .rfid-cancel-group-label {
    gap: 6px;
  }

  .rfid-cancel-date-label {
    font-size: 14px;
  }

  .rfid-cancel-pagination {
    justify-content: flex-start;
    overflow-x: auto;
  }

  .rfid-cancel-pagination .ant-pagination-options-quick-jumper {
    display: none;
  }
}

.replace-rfid-backdrop {
  position: fixed;
  inset: 0;
  z-index: 5000;
  display: grid;
  place-items: center;
  padding: 16px;
  background: rgba(17, 24, 39, 0.62);
}

.replace-rfid-modal {
  width: min(840px, 100%);
  max-height: calc(100vh - 32px);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #d8dee7;
  border-radius: 8px;
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.28);
  color: #172033;
}

.replace-rfid-header {
  min-height: 58px;
  padding: 10px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-bottom: 1px solid #e4e8ef;
}

.replace-rfid-header h2 {
  margin: 0;
  font-size: 19px;
  font-weight: 750;
  letter-spacing: 0;
}

.replace-rfid-icon-button {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  display: inline-grid;
  place-items: center;
  border: 1px solid #d8dee7;
  border-radius: 6px;
  background: #fff;
  color: #586174;
  font-size: 20px;
}

.replace-rfid-icon-button:hover {
  background: #f4f6f9;
  color: #172033;
}

.replace-rfid-body {
  padding: 14px 16px;
  overflow-y: auto;
  display: grid;
  grid-gap: 12px;
  gap: 12px;
  background: #f5f7fa;
}

.replace-rfid-section {
  padding: 14px;
  background: #fff;
  border: 1px solid #dfe4ec;
  border-radius: 7px;
}

.replace-rfid-section.is-disabled {
  opacity: 0.58;
}

.replace-rfid-section-heading {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 12px;
}

.replace-rfid-step {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  background: #172033;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
}

.replace-rfid-section-heading h3 {
  margin: 0;
  font-size: 15px;
  font-weight: 750;
}

.replace-rfid-search-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  grid-gap: 10px;
  gap: 10px;
}

.replace-rfid-case-picker {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 8px;
  gap: 8px;
}

.replace-rfid-case-picker button {
  min-height: 42px;
  padding: 7px 10px;
  display: flex;
  align-items: center;
  text-align: left;
  border: 1px solid #d8dee7;
  border-radius: 6px;
  background: #fff;
  color: #263247;
}

.replace-rfid-case-picker button:hover {
  border-color: #86b7fe;
  background: #f8fbff;
}

.replace-rfid-case-picker button.is-active {
  border-color: #0d6efd;
  background: #eef5ff;
  box-shadow: inset 3px 0 #0d6efd;
}

.replace-rfid-case-picker strong {
  font-size: 13px;
}

.replace-rfid-identify-block {
  position: relative;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #e4e8ef;
}

.replace-rfid-mode-tabs {
  width: fit-content;
  margin-bottom: 12px;
  display: inline-grid;
  grid-template-columns: repeat(2, minmax(96px, 1fr));
  padding: 3px;
  border: 1px solid #d8dee7;
  border-radius: 6px;
  background: #f4f6f9;
}

.replace-rfid-mode-tabs button {
  min-height: 32px;
  padding: 5px 12px;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: #5b6578;
  font-size: 13px;
  font-weight: 700;
}

.replace-rfid-mode-tabs button.is-active {
  background: #fff;
  color: #0d6efd;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.15);
}

.replace-rfid-loading-block {
  position: absolute;
  inset: 0;
  z-index: 5;
  min-height: 126px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.88);
  color: #334155;
  font-size: 13px;
  -webkit-backdrop-filter: blur(1px);
          backdrop-filter: blur(1px);
  cursor: wait;
}

.replace-rfid-loading-block svg {
  color: #0d6efd;
  font-size: 18px;
}

.replace-rfid-trace-results-header,
.replace-rfid-trace-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.replace-rfid-trace-results-header strong {
  font-size: 14px;
}

.replace-rfid-trace-results-header span,
.replace-rfid-trace-action > span {
  color: #697386;
  font-size: 12px;
}

.replace-rfid-trace-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-gap: 12px;
  gap: 12px;
}

.replace-rfid-trace-grid .span-2 {
  grid-column: span 2;
}

.replace-rfid-target-stage {
  margin-top: 10px;
}

.replace-rfid-trace-filters {
  margin-top: 10px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.replace-rfid-trace-action {
  margin-top: 10px;
  justify-content: flex-start;
}

.replace-rfid-trace-results {
  margin-top: 12px;
  border: 1px solid #d8dee7;
  border-radius: 6px;
  overflow: hidden;
}

.replace-rfid-trace-results-header {
  min-height: 48px;
  padding: 9px 12px;
  background: #f8fafc;
  border-bottom: 1px solid #e4e8ef;
}

.replace-rfid-empty-state {
  min-height: 76px;
  padding: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
  text-align: center;
  color: #697386;
}

.replace-rfid-empty-state svg {
  margin-bottom: 3px;
  font-size: 22px;
}

.replace-rfid-empty-state strong {
  color: #273348;
  font-size: 13px;
}

.replace-rfid-input-wrap {
  min-width: 0;
}

.replace-rfid-po-combobox {
  position: relative;
  z-index: 8;
}

.replace-rfid-po-dropdown {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  left: 0;
  z-index: 20;
  max-height: 220px;
  overflow-y: auto;
  padding: 4px;
  border: 1px solid #cfd6e1;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.16);
}

.replace-rfid-po-dropdown button {
  width: 100%;
  min-height: 38px;
  padding: 8px 10px;
  display: flex;
  align-items: center;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: #172033;
  text-align: left;
}

.replace-rfid-po-dropdown button:hover,
.replace-rfid-po-dropdown button.is-highlighted {
  background: #edf5ff;
  color: #084298;
}

.replace-rfid-po-dropdown strong {
  overflow-wrap: anywhere;
  font-size: 13px;
  letter-spacing: 0;
}

.replace-rfid-po-status {
  min-height: 42px;
  padding: 9px 10px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #697386;
  font-size: 13px;
}

.replace-rfid-input-wrap label {
  display: block;
  margin-bottom: 6px;
  color: #374151;
  font-size: 13px;
  font-weight: 700;
}

.replace-rfid-search-button,
.replace-rfid-actions .btn {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  white-space: nowrap;
}

.replace-rfid-alert {
  margin-top: 12px;
  padding: 10px 12px;
  display: flex;
  align-items: flex-start;
  gap: 9px;
  border: 1px solid;
  border-radius: 6px;
  font-size: 13px;
}

.replace-rfid-alert svg {
  flex: 0 0 auto;
  margin-top: 2px;
}

.replace-rfid-alert-danger {
  background: #fff1f2;
  border-color: #fecdd3;
  color: #9f1239;
}

.replace-rfid-alert-warning {
  background: #fff8e7;
  border-color: #f2d08a;
  color: #7a5507;
}

.replace-rfid-candidates {
  margin-top: 12px;
  display: grid;
  grid-gap: 8px;
  gap: 8px;
}

.replace-rfid-candidate {
  width: 100%;
  min-height: 62px;
  padding: 10px 12px;
  display: grid;
  grid-template-columns: 24px minmax(150px, 1fr) minmax(300px, 2fr);
  align-items: center;
  grid-gap: 12px;
  gap: 12px;
  text-align: left;
  background: #fff;
  border: 1px solid #d8dee7;
  border-radius: 6px;
  color: #172033;
}

.replace-rfid-candidate:hover {
  border-color: #86b7fe;
  background: #f8fbff;
}

.replace-rfid-candidate.is-selected {
  border-color: #0d6efd;
  background: #eef5ff;
  box-shadow: inset 3px 0 #0d6efd;
}

.replace-rfid-radio {
  width: 20px;
  height: 20px;
  display: inline-grid;
  place-items: center;
  border: 1px solid #aab4c3;
  border-radius: 50%;
  color: #fff;
}

.is-selected .replace-rfid-radio {
  border-color: #0d6efd;
  background: #0d6efd;
}

.replace-rfid-candidate-main,
.replace-rfid-candidate-meta {
  display: flex;
  align-items: center;
  gap: 12px;
}

.replace-rfid-candidate-main {
  align-items: flex-start;
  flex-direction: column;
  gap: 2px;
}

.replace-rfid-candidate-main strong {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 15px;
}

.replace-rfid-candidate-main span,
.replace-rfid-candidate-meta span {
  color: #697386;
  font-size: 12px;
}

.replace-rfid-candidate-meta {
  justify-content: flex-end;
  flex-wrap: wrap;
}

.replace-rfid-candidate-meta strong {
  color: #273348;
}

.replace-rfid-fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.replace-rfid-reasons {
  display: inline-flex;
  gap: 8px;
  margin-bottom: 16px;
}

.replace-rfid-reasons label {
  min-height: 36px;
  padding: 7px 12px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid #d8dee7;
  border-radius: 6px;
  background: #fff;
  cursor: pointer;
  font-size: 13px;
  font-weight: 650;
}

.replace-rfid-reasons label.is-active {
  border-color: #0d6efd;
  background: #eef5ff;
  color: #084298;
}

.replace-rfid-new-code {
  margin-bottom: 0;
}

.replace-rfid-new-flow {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
}

.replace-rfid-entry-step {
  min-width: 0;
  padding: 12px;
  border: 1px solid #d9e0ea;
  border-radius: 7px;
  background: #fff;
  transition: border-color 160ms ease, background-color 160ms ease;
}

.replace-rfid-entry-step.is-active {
  border-color: #8bb9ff;
  box-shadow: inset 3px 0 #0d6efd;
}

.replace-rfid-entry-step.is-complete {
  border-color: #9bd0b3;
  background: #f7fcf9;
}

.replace-rfid-entry-step.is-locked {
  background: #f7f8fa;
  color: #7a8494;
}

.replace-rfid-entry-heading {
  min-height: 40px;
  display: flex;
  align-items: center;
  gap: 9px;
}

.replace-rfid-entry-number {
  width: 25px;
  height: 25px;
  flex: 0 0 25px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  background: #172033;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  text-align: center;
}

.is-complete .replace-rfid-entry-number {
  background: #198754;
  font-size: 15px;
}

.is-locked .replace-rfid-entry-number {
  background: #a3abb8;
}

.replace-rfid-entry-heading > div {
  min-width: 0;
  flex: 1 1 auto;
}

.replace-rfid-entry-heading > div strong,
.replace-rfid-entry-heading > div span {
  display: block;
}

.replace-rfid-entry-heading strong {
  color: #172033;
  font-size: 13px;
}

.replace-rfid-entry-heading > div > span {
  margin-top: 1px;
  color: #697386;
  font-size: 12px;
}

.replace-rfid-entry-status {
  flex: 0 0 auto;
  padding: 3px 7px;
  border-radius: 999px;
  background: #dff4e8;
  color: #146c43;
  font-size: 11px;
  font-weight: 750;
}

.replace-rfid-entry-connector {
  position: relative;
  height: 26px;
}

.replace-rfid-entry-connector::before {
  content: "";
  position: absolute;
  top: 3px;
  bottom: 3px;
  left: 50%;
  width: 2px;
  background: #d9e0ea;
  transform: translateX(-50%);
}

.replace-rfid-entry-connector::after {
  content: "";
  position: absolute;
  bottom: 3px;
  left: 50%;
  width: 7px;
  height: 7px;
  border-top: 2px solid #b1bac7;
  border-right: 2px solid #b1bac7;
  transform: translateX(-50%) rotate(135deg);
}

.replace-rfid-entry-connector.is-active::before {
  background: #0d6efd;
}

.replace-rfid-entry-connector.is-active::after {
  border-color: #0d6efd;
}

.replace-rfid-photo-action {
  width: 100%;
  min-height: 76px;
  margin-top: 10px;
  padding: 10px 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  border: 1px dashed #79aaf4;
  border-radius: 6px;
  background: #f5f9ff;
  color: #0b5ed7;
  text-align: left;
}

.replace-rfid-photo-action:hover:not(:disabled) {
  border-color: #0d6efd;
  background: #edf5ff;
}

.replace-rfid-photo-action:disabled {
  cursor: wait;
  opacity: 0.7;
}

.replace-rfid-photo-action-icon {
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  background: #dceaff;
  font-size: 18px;
}

.replace-rfid-photo-action strong,
.replace-rfid-photo-action small {
  display: block;
}

.replace-rfid-photo-action strong {
  font-size: 13px;
}

.replace-rfid-photo-action small {
  margin-top: 2px;
  color: #66758c;
  font-size: 11px;
}

.replace-rfid-entry-locked {
  min-height: 76px;
  margin-top: 10px;
  padding: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px dashed #ccd3dd;
  border-radius: 6px;
  color: #7a8494;
  font-size: 12px;
  text-align: center;
}

.replace-rfid-photo-preview {
  min-height: 66px;
  margin-top: 10px;
  padding: 7px;
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr) 36px;
  align-items: center;
  grid-gap: 10px;
  gap: 10px;
  border: 1px solid #cbd8ea;
  border-radius: 6px;
  background: #f7faff;
}

.replace-rfid-photo-preview img {
  width: 70px;
  height: 52px;
  border-radius: 4px;
  object-fit: cover;
}

.replace-rfid-photo-preview strong,
.replace-rfid-photo-preview span {
  display: block;
}

.replace-rfid-photo-preview strong {
  color: #172033;
  font-size: 13px;
}

.replace-rfid-photo-preview span {
  margin-top: 2px;
  color: #697386;
  font-size: 12px;
}

.replace-rfid-bulk-input {
  min-height: 118px;
  resize: vertical;
}

.replace-rfid-bulk-summary {
  min-height: 24px;
  padding-top: 6px;
  display: flex;
  align-items: center;
  gap: 12px;
  color: #697386;
  font-size: 12px;
}

.replace-rfid-bulk-summary .is-error {
  color: #b42318;
  font-weight: 700;
}

.replace-rfid-footer {
  min-height: 58px;
  padding: 10px 16px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 16px;
  border-top: 1px solid #e4e8ef;
  background: #fff;
}

.replace-rfid-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.replace-rfid-spin {
  animation: replace-rfid-spin 0.8s linear infinite;
}

@keyframes replace-rfid-spin {
  to { transform: rotate(360deg); }
}

@media (max-width: 760px) {
  .replace-rfid-backdrop {
    padding: 0;
    align-items: stretch;
  }

  .replace-rfid-modal {
    width: 100vw;
    height: 100vh;
    height: 100dvh;
    max-height: none;
    border: 0;
    border-radius: 0;
  }

  .replace-rfid-header {
    min-height: 54px;
    padding: max(8px, env(safe-area-inset-top)) 12px 8px;
    flex: 0 0 auto;
  }

  .replace-rfid-header h2 {
    font-size: 17px;
  }

  .replace-rfid-body {
    min-height: 0;
    padding: 10px;
    gap: 10px;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  .replace-rfid-section {
    padding: 12px;
  }

  .replace-rfid-section-heading {
    margin-bottom: 10px;
  }

  .replace-rfid-search-row {
    grid-template-columns: 1fr;
  }

  .replace-rfid-case-picker,
  .replace-rfid-trace-grid {
    grid-template-columns: 1fr;
  }

  .replace-rfid-trace-grid .span-2 {
    grid-column: auto;
  }

  .replace-rfid-trace-grid {
    gap: 10px;
  }

  .replace-rfid-input-wrap input,
  .replace-rfid-input-wrap select,
  .replace-rfid-input-wrap textarea {
    min-height: 44px;
    font-size: 16px;
  }

  .replace-rfid-po-dropdown {
    max-height: min(240px, 40dvh);
  }

  .replace-rfid-trace-action {
    align-items: stretch;
    flex-direction: column;
  }

  .replace-rfid-candidate {
    grid-template-columns: 24px minmax(0, 1fr);
  }

  .replace-rfid-candidate-meta {
    grid-column: 2;
    justify-content: flex-start;
  }

  .replace-rfid-footer {
    min-height: 62px;
    padding: 9px 10px max(9px, env(safe-area-inset-bottom));
    align-items: stretch;
    flex: 0 0 auto;
  }

  .replace-rfid-actions {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .replace-rfid-actions .btn {
    min-height: 44px;
  }

  .replace-rfid-new-code-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .replace-rfid-new-code-toolbar .btn {
    min-height: 42px;
    justify-content: center;
  }

  .replace-rfid-photo-action {
    min-height: 70px;
  }

  .replace-rfid-bulk-input {
    min-height: 150px;
    resize: none;
  }

  .replace-rfid-photo-preview {
    grid-template-columns: 62px minmax(0, 1fr) 34px;
  }

  .replace-rfid-photo-preview img {
    width: 62px;
    height: 52px;
  }
}

@media (max-width: 380px) {
  .replace-rfid-header h2 {
    font-size: 16px;
  }

  .replace-rfid-section {
    padding: 10px;
  }

  .replace-rfid-photo-preview span {
    display: none;
  }
}

.rfid-history-backdrop {
  position: fixed;
  inset: 0;
  z-index: 5100;
  display: grid;
  place-items: center;
  padding: 16px;
  background: rgba(17, 24, 39, 0.62);
}

.rfid-history-modal {
  width: min(1120px, 100%);
  max-height: calc(100vh - 32px);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  color: #172033;
  background: #ffffff;
  border: 1px solid #d8dee7;
  border-radius: 8px;
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.28);
}

.rfid-history-header {
  min-height: 70px;
  padding: 12px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid #e4e8ef;
}

.rfid-history-header h2 {
  margin: 2px 0 0;
  font-size: 19px;
  font-weight: 750;
  letter-spacing: 0;
}

.rfid-history-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #0d6efd;
  font-size: 12px;
  font-weight: 750;
}

.rfid-history-icon-button {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 1px solid #d8dee7;
  border-radius: 6px;
  color: #586174;
  background: #ffffff;
  font-size: 18px;
}

.rfid-history-icon-button:hover:not(:disabled) {
  color: #172033;
  background: #f4f6f9;
}

.rfid-history-icon-button:disabled {
  cursor: not-allowed;
  opacity: 0.42;
}

.rfid-history-filters {
  padding: 12px 16px;
  display: grid;
  grid-template-columns: minmax(240px, 1fr) 190px 145px 145px auto auto;
  align-items: center;
  grid-gap: 8px;
  gap: 8px;
  background: #f7f9fc;
  border-bottom: 1px solid #e4e8ef;
}

.rfid-history-filters input,
.rfid-history-filters select {
  min-width: 0;
  height: 36px;
  padding: 6px 9px;
  border: 1px solid #cfd6e1;
  border-radius: 5px;
  color: #273348;
  background: #ffffff;
  font-size: 13px;
}

.rfid-history-filters .btn {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  white-space: nowrap;
}

.rfid-history-search {
  position: relative;
  min-width: 0;
}

.rfid-history-search svg {
  position: absolute;
  top: 50%;
  left: 10px;
  z-index: 1;
  color: #697386;
  transform: translateY(-50%);
}

.rfid-history-search input {
  width: 100%;
  padding-left: 33px;
}

.rfid-history-content {
  min-height: 280px;
  overflow: auto;
  background: #ffffff;
}

.rfid-history-table-wrap {
  min-width: 850px;
}

.rfid-history-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.rfid-history-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  padding: 10px 12px;
  color: #4b5565;
  background: #f3f5f8;
  border-bottom: 1px solid #d8dee7;
  text-align: left;
  font-size: 12px;
  font-weight: 750;
}

.rfid-history-table td {
  padding: 11px 12px;
  vertical-align: middle;
  border-bottom: 1px solid #e7ebf0;
}

.rfid-history-table tbody tr:hover {
  background: #f8fbff;
}

.rfid-history-table td strong,
.rfid-history-table td span,
.rfid-history-table td small {
  display: block;
}

.rfid-history-table td > span,
.rfid-history-table td small,
.rfid-history-time span {
  margin-top: 3px;
  color: #697386;
  font-size: 12px;
}

.rfid-history-time {
  min-width: 112px;
}

.rfid-history-code-change {
  display: flex;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
}

.rfid-history-code-change code {
  padding: 3px 6px;
  color: #172033;
  background: #edf1f6;
  border-radius: 4px;
  font-size: 13px;
  font-weight: 700;
}

.rfid-history-code-change span {
  color: #0d6efd;
  font-size: 17px;
}

.rfid-history-photo-button {
  min-height: 32px;
  padding: 5px 9px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid #b8c7dc;
  border-radius: 5px;
  color: #0b5ed7;
  background: #fff;
  font-size: 12px;
  font-weight: 700;
}

.rfid-history-photo-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1300;
  padding: 18px;
  display: grid;
  place-items: center;
  background: rgba(12, 18, 28, 0.72);
}

.rfid-history-photo-modal {
  width: min(760px, 100%);
  max-height: calc(100vh - 36px);
  overflow: hidden;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.28);
}

.rfid-history-photo-modal > header {
  min-height: 52px;
  padding: 8px 12px 8px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #d8dee7;
}

.rfid-history-photo-content {
  min-height: 220px;
  padding: 12px;
  display: grid;
  place-items: center;
  color: #697386;
}

.rfid-history-photo-content img {
  max-width: 100%;
  max-height: calc(100vh - 130px);
  object-fit: contain;
}

.rfid-history-reason {
  width: fit-content;
  padding: 3px 7px;
  border-radius: 4px;
  color: #5b2430;
  background: #fff0f2;
  font-size: 12px;
  font-weight: 750;
}

.rfid-history-reason.reason-damaged {
  color: #7a4a00;
  background: #fff5dc;
}

.rfid-history-error {
  margin: 12px 16px 0;
  padding: 9px 11px;
  color: #9f1d2d;
  background: #fff1f3;
  border: 1px solid #ffc7cf;
  border-radius: 5px;
  font-size: 13px;
}

.rfid-history-state {
  min-height: 280px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 8px;
  color: #697386;
}

.rfid-history-state svg {
  font-size: 26px;
}

.rfid-history-footer {
  min-height: 58px;
  padding: 10px 16px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  grid-gap: 12px;
  gap: 12px;
  border-top: 1px solid #e4e8ef;
  background: #ffffff;
  font-size: 13px;
}

.rfid-history-footer > .btn {
  justify-self: end;
}

.rfid-history-pagination {
  display: flex;
  align-items: center;
  gap: 10px;
}

.rfid-history-pagination strong {
  min-width: 58px;
  text-align: center;
}

@media (max-width: 900px) {
  .rfid-history-filters {
    grid-template-columns: 1fr 1fr;
  }

  .rfid-history-search {
    grid-column: 1 / -1;
  }
}

@media (max-width: 560px) {
  .rfid-history-backdrop {
    padding: 0;
  }

  .rfid-history-modal {
    width: 100%;
    height: 100%;
    max-height: none;
    border: 0;
    border-radius: 0;
  }

  .rfid-history-filters {
    grid-template-columns: 1fr;
  }

  .rfid-history-search {
    grid-column: auto;
  }

  .rfid-history-footer {
    grid-template-columns: 1fr auto;
  }

  .rfid-history-footer > span {
    display: none;
  }
}

.rfid-config-page {
  overflow-x: hidden;
}

.rfid-config-shell {
  width: 100%;
  max-width: 1680px;
  margin: 0 auto;
}

.rfid-config-card {
  overflow: visible;
  border-radius: 8px;
}

.rfid-config-batch-card {
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.rfid-config-source-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}

.rfid-config-source-tabs {
  display: inline-flex;
  gap: 4px;
  padding: 4px;
  border: 1px solid #d8e3f0;
  border-radius: 10px;
  background: #edf3f9;
}

.rfid-config-source-tabs button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 36px;
  padding: 6px 13px;
  border: 0;
  border-radius: 7px;
  color: #53677f;
  background: transparent;
  font-weight: 600;
  transition: color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.rfid-config-source-tabs button svg {
  flex: 0 0 auto;
  width: 15px;
  height: 15px;
}

.rfid-config-source-tabs button span {
  display: inline-flex;
  min-width: 21px;
  height: 21px;
  margin-left: 6px;
  padding: 0 6px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(70, 92, 117, 0.12);
  font-size: 12px;
}

.rfid-config-source-tabs button.is-active {
  color: #0759c7;
  background: #fff;
  box-shadow: 0 2px 8px rgba(21, 63, 110, 0.13);
}

.rfid-config-source-tabs button.is-active.is-supplement {
  color: #087443;
}

.rfid-config-source-empty {
  padding: 22px;
  border: 1px dashed #b9c9db;
  border-radius: 10px;
  color: #60758c;
  background: #f7fafc;
  text-align: center;
}

.rfid-config-batch-card.is-supplement {
  border-color: #b8e0ca;
  background: linear-gradient(135deg, #fff 0%, #f3fbf7 100%);
}

.rfid-config-batch-card.is-supplement.is-selected {
  border-color: #15945a !important;
  box-shadow: 0 0 0 2px rgba(21, 148, 90, 0.14);
}

.rfid-config-approved-date {
  color: #5f756b;
}

.rfid-config-batch-card.border-primary {
  box-shadow: 0 0 0 2px rgba(13, 110, 253, 0.12);
}

.rfid-config-code-input {
  height: 300px;
  resize: vertical;
  font-size: 14px;
  line-height: var(--rfid-line-height);
}

.rfid-config-code-editor {
  --rfid-line-height: 25.2px;
  position: relative;
}

.rfid-config-status-rail {
  position: absolute;
  z-index: 2;
  top: 7px;
  right: 7px;
  bottom: 7px;
  left: 0;
  overflow: hidden;
  pointer-events: none;
}

.rfid-config-status-rail > div {
  transition: transform 0.05s linear;
}

.rfid-config-line-status {
  position: relative;
  width: 28px;
  height: var(--rfid-line-height);
  padding: 0;
  border: 0;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  line-height: 1;
}

.rfid-config-line-status.is-valid {
  color: #198754;
}

.rfid-config-line-status.is-invalid {
  color: #dc3545;
  cursor: pointer;
  pointer-events: auto;
}

.rfid-config-line-status.is-invalid:hover,
.rfid-config-line-status.is-invalid:focus-visible {
  color: #a61e2a;
  transform: scale(1.12);
}

.rfid-config-line-status.is-pending {
  color: #6c757d;
}

.rfid-config-line-status.is-error {
  color: #b58105;
}

.rfid-config-line-status.is-pending svg {
  animation: rfid-status-spin 0.8s linear infinite;
}

.rfid-config-validation-errors {
  max-height: 128px;
  overflow: auto;
  font-size: 13px;
}

@keyframes rfid-status-spin {
  to {
    transform: rotate(360deg);
  }
}

.rfid-config-search {
  width: 280px;
}

.rfid-config-size-table,
.rfid-config-list-table {
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;
}

.rfid-config-size-table table {
  min-width: 720px;
}

.rfid-config-list-table table {
  min-width: 1080px;
}

@media (max-width: 767.98px) {
  .rfid-config-page {
    padding: 8px 0 20px;
  }

  .rfid-config-shell {
    padding: 6px 10px !important;
  }

  .rfid-config-page .washdi-title {
    margin: 2px 0 12px;
    font-size: 24px;
    line-height: 1.2;
  }

  .rfid-config-card {
    margin-top: 12px !important;
  }

  .rfid-config-card > .card-header {
    padding: 10px 12px;
  }

  .rfid-config-card > .card-header h4 {
    font-size: 17px;
  }

  .rfid-config-card > .card-body {
    padding: 12px;
  }

  .rfid-config-page .form-control,
  .rfid-config-page .form-select,
  .rfid-config-page .po-select__control {
    min-height: 42px;
    font-size: 16px;
  }

  .rfid-config-batch-grid > [class*="col-"] {
    margin-bottom: 10px !important;
  }

  .rfid-config-batch-card .card-body {
    padding: 12px;
  }

  .rfid-config-batch-stats {
    --bs-gutter-x: 6px;
  }

  .rfid-config-batch-stats .border {
    min-height: 62px;
    padding: 7px 4px !important;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
  }

  .rfid-config-batch-stats small {
    font-size: 11px;
    line-height: 1.2;
  }

  .rfid-config-size-table,
  .rfid-config-list-table {
    width: calc(100% + 24px);
    margin-right: -12px;
    margin-left: -12px;
    padding: 0 12px 5px;
  }

  .rfid-config-size-table::before,
  .rfid-config-size-table::after,
  .rfid-config-list-table::before,
  .rfid-config-list-table::after {
    display: none;
  }

  .rfid-config-selection-summary {
    margin-bottom: 12px;
    padding: 10px 12px;
    overflow-wrap: anywhere;
    font-size: 13px;
    line-height: 1.6;
  }

  .rfid-config-scan-toolbar,
  .rfid-config-scan-actions {
    width: 100%;
    align-items: stretch !important;
  }

  .rfid-config-scan-actions {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, auto));
  }

  .rfid-config-scan-actions > label,
  .rfid-config-scan-actions > .btn {
    grid-column: 1 / -1;
  }

  .rfid-config-scan-toolbar > .btn {
    width: 100%;
    min-height: 42px;
  }

  .rfid-config-code-input {
    height: 220px;
    min-height: 180px;
    font-size: 16px;
  }

  .rfid-config-source-heading {
    align-items: stretch;
    flex-direction: column;
    gap: 8px;
  }

  .rfid-config-source-tabs {
    width: 100%;
  }

  .rfid-config-source-tabs button {
    flex: 1 1;
    padding: 6px 8px;
    white-space: nowrap;
  }

  .rfid-config-code-editor {
    --rfid-line-height: 25.6px;
  }

  .rfid-config-list-header {
    align-items: stretch !important;
    flex-direction: column;
  }

  .rfid-config-list-tools.d-flex {
    width: 100%;
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    align-items: stretch !important;
  }

  .rfid-config-list-tools > .btn {
    min-height: 40px;
    justify-content: center;
  }

  .rfid-config-search {
    width: 100%;
    grid-column: 1 / -1;
  }

  .rfid-config-list-table {
    width: 100%;
    margin: 0;
    padding: 0;
    overflow: visible;
  }

  .rfid-config-list-table table,
  .rfid-config-list-table tbody,
  .rfid-config-list-table tr,
  .rfid-config-list-table td {
    display: block;
    width: 100%;
  }

  .rfid-config-list-table table {
    min-width: 0;
    margin: 0;
    border: 0;
  }

  .rfid-config-list-table thead {
    display: none;
  }

  .rfid-config-list-table tbody {
    display: grid;
    grid-gap: 10px;
    gap: 10px;
  }

  .rfid-config-list-table tbody tr {
    overflow: hidden;
    border: 1px solid #d8e0ea;
    border-radius: 6px;
    background: #fff;
  }

  .rfid-config-list-table tbody td {
    min-height: 38px;
    padding: 8px 10px;
    display: grid;
    grid-template-columns: minmax(108px, 42%) minmax(0, 1fr);
    align-items: center;
    grid-gap: 10px;
    gap: 10px;
    border: 0;
    border-bottom: 1px solid #edf0f4;
    overflow-wrap: anywhere;
    text-align: right;
  }

  .rfid-config-list-table tbody td::before {
    content: attr(data-label);
    color: #5f6b7a;
    font-size: 12px;
    font-weight: 700;
    text-align: left;
  }

  .rfid-config-list-table tbody td:last-child {
    border-bottom: 0;
  }

  .rfid-config-list-table tbody td .d-flex {
    justify-content: flex-end !important;
  }

  .rfid-config-list-table .rfid-config-empty-row {
    display: block;
    min-height: auto;
    text-align: center;
  }

  .rfid-config-list-table .rfid-config-empty-row::before {
    display: none;
  }

  .rfid-config-detail-dialog {
    min-height: calc(100% - 16px);
    margin: 8px;
  }

  .rfid-config-detail-dialog .modal-content {
    max-height: calc(100dvh - 16px);
  }

  .rfid-config-detail-dialog .modal-body {
    min-height: 0;
    overflow: auto;
  }
}

@media (max-width: 390px) {
  .rfid-config-shell {
    padding-right: 8px !important;
    padding-left: 8px !important;
  }

  .rfid-config-page .washdi-title {
    font-size: 21px;
  }

  .rfid-config-card > .card-body {
    padding: 10px;
  }

  .rfid-config-size-table,
  .rfid-config-list-table {
    width: calc(100% + 20px);
    margin-right: -10px;
    margin-left: -10px;
    padding-right: 10px;
    padding-left: 10px;
  }

  .rfid-config-list-table tbody td {
    grid-template-columns: minmax(96px, 40%) minmax(0, 1fr);
  }
}

@media (max-width: 340px) {
  .rfid-config-list-tools.d-flex {
    grid-template-columns: 1fr;
  }

  .rfid-config-search {
    grid-column: auto;
  }
}

/* ===== Đóng thùng hàng huỷ — theo style màn Cắt bổ sung / Cấu hình nhãn care ===== */

.ctn-page {
  --ctn-blue: #1769e0;
  --ctn-navy: #16307b;
  --ctn-ink: #10233f;
  --ctn-muted: #66758a;
  --ctn-line: #cfdae7;
  --ctn-panel: #f8fbff;
  --ctn-green: #1f9254;
  --ctn-amber: #b6791f;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
       text-size-adjust: 100%;
  min-height: calc(100vh - 56px);
  min-height: calc(100vh - var(--topbar-height, 56px));
  padding: 20px;
  color: var(--ctn-ink);
  background: #f1f5fb;
  font-family: "Roboto", Arial, sans-serif;
}
.ctn-page * { box-sizing: border-box; }

/* ---- Header ---- */
.ctn-head {
  display: flex;
  align-items: center;
  gap: 14px;
  max-width: 1180px;
  margin: 0 auto 16px;
  padding: 15px 18px;
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(120deg, #101f52, #16307b);
  box-shadow: 0 10px 26px rgba(16, 31, 82, 0.18);
}
.ctn-head-icon {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  border-radius: 12px;
  font-size: 21px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.22);
}
.ctn-head-text h1 {
  margin: 0;
  font-family: "Roboto Condensed", Arial, sans-serif;
  font-size: 1.5rem;
  font-weight: 800;
  letter-spacing: 0.3px;
  line-height: 1.15;
}

/* ---- Alert ---- */
.ctn-alert {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  max-width: 1180px;
  margin: 0 auto 12px;
  padding: 11px 16px;
  border-radius: 10px;
  background: #fdecea;
  border: 1px solid #f0b3ad;
  color: #a5261f;
  font-size: 14px;
}
.ctn-alert button { border: none; background: none; color: inherit; font-size: 20px; line-height: 1; cursor: pointer; }

/* ---- Folder: tab dính liền thân ---- */
.ctn-folder {
  max-width: 1180px;
  margin: 0 auto;
  border: 1px solid var(--ctn-line);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(16, 31, 82, 0.1);
  overflow: hidden;
}
.ctn-tabs {
  display: flex;
  gap: 4px;
  padding: 10px 14px 0;
  border-bottom: 1px solid var(--ctn-line);
  background: #f7f9fd;
}
.ctn-tabs button {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 8px 18px;
  margin-bottom: -1px;
  border: none;
  border-bottom: 2px solid transparent;
  border-radius: 8px 8px 0 0;
  color: #52627a;
  background: transparent;
  font-family: "Roboto Condensed", Arial, sans-serif;
  font-size: 0.98rem;
  font-weight: 800;
  white-space: nowrap;
  cursor: pointer;
  transition: color .16s, background .16s, border-color .16s;
}
.ctn-tabs button > svg { width: 17px; height: 17px; }
.ctn-tabs button > em {
  display: inline-grid;
  place-items: center;
  min-width: 20px;
  height: 18px;
  padding: 0 6px;
  border-radius: 999px;
  background: #d6e0ee;
  color: #445a78;
  font: 700 11px "Roboto", Arial, sans-serif;
  font-style: normal;
}
.ctn-tabs button:hover:not([aria-selected="true"]) { color: var(--ctn-navy); background: rgba(22, 48, 123, .05); }
.ctn-tabs button[aria-selected="true"] { color: var(--ctn-navy); background: #fff; border-bottom-color: var(--ctn-navy); }
.ctn-tabs button[aria-selected="true"] > em { background: var(--ctn-navy); color: #fff; }

.ctn-folder-body { padding: 18px; }

/* ---- Trạng thái rỗng ---- */
.ctn-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 46px 20px 52px;
}
.ctn-empty-icon {
  display: grid;
  place-items: center;
  width: 66px;
  height: 66px;
  margin-bottom: 16px;
  border-radius: 18px;
  font-size: 28px;
  color: var(--ctn-blue);
  background: #eaf2fd;
  border: 1px solid #cfe0f7;
}
.ctn-empty h3 {
  margin: 0 0 20px;
  font-family: "Roboto Condensed", Arial, sans-serif;
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--ctn-ink);
}

/* ---- Nút ---- */
.ctn-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 20px;
  border: none;
  border-radius: 9px;
  font-family: "Roboto Condensed", Arial, sans-serif;
  font-size: 15px;
  font-weight: 800;
  cursor: pointer;
  transition: background .14s, box-shadow .14s;
}
.ctn-btn-lg { padding: 13px 28px; font-size: 16px; }
.ctn-btn:disabled { opacity: .45; cursor: not-allowed; }
.ctn-btn-primary { color: #fff; background: var(--ctn-blue); box-shadow: 0 6px 16px rgba(23, 105, 224, .26); }
.ctn-btn-primary:hover:not(:disabled) { background: #1259c4; }
.ctn-btn-seal { color: #fff; background: var(--ctn-green); box-shadow: 0 6px 16px rgba(31, 146, 84, .24); }
.ctn-btn-seal:hover:not(:disabled) { background: #1b8149; }
.ctn-btn-ghost { color: var(--ctn-ink); background: #eef2f8; border: 1.5px solid #cdd7e6; }
.ctn-btn-ghost:hover { background: #e3eaf4; }

/* ---- Khu đang đóng ---- */
.ctn-work-head {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  padding: 18px 20px;
  border-radius: 12px;
  border: 1px solid #cfe0f7;
  background: linear-gradient(120deg, #f4f9ff, #eaf2fd);
  margin-bottom: 16px;
}
.ctn-work-id { display: flex; flex-direction: column; gap: 3px; }
.ctn-live {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  align-self: flex-start;
  padding: 3px 10px;
  border-radius: 999px;
  background: #e2f2e8;
  color: #167442;
  font: 700 11.5px "Roboto Condensed", Arial, sans-serif;
  letter-spacing: .3px;
  text-transform: uppercase;
}
.ctn-live i {
  width: 7px; height: 7px; border-radius: 50%;
  background: #1f9254;
  animation: ctn-blink 1.3s ease-in-out infinite;
}
@keyframes ctn-blink { 50% { opacity: .3; } }
.ctn-work-id strong {
  font-family: "Roboto Condensed", Arial, sans-serif;
  font-size: 1.55rem;
  font-weight: 800;
  color: var(--ctn-navy);
  line-height: 1.1;
}
.ctn-work-id small { color: var(--ctn-muted); font-size: 12.5px; }

.ctn-work-count {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 10px;
  animation: ctn-bump .3s ease;
}
.ctn-work-count b {
  font-family: "Roboto Condensed", Arial, sans-serif;
  font-size: 3rem;
  font-weight: 800;
  line-height: 1;
  color: var(--ctn-navy);
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
}
.ctn-work-count span { font-size: 12.5px; color: var(--ctn-muted); line-height: 1.25; }
@keyframes ctn-bump { 0% { transform: scale(1.06); } 100% { transform: scale(1); } }

/* ---- Danh sách quét ---- */
.ctn-scans-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 8px;
}
.ctn-scans-head h3 {
  margin: 0;
  font-family: "Roboto Condensed", Arial, sans-serif;
  font-size: 1rem;
  font-weight: 800;
  color: var(--ctn-ink);
}
.ctn-scans-head span { font-size: 12.5px; color: var(--ctn-muted); }
.ctn-waiting {
  margin: 0;
  padding: 32px;
  text-align: center;
  color: #93a1b8;
  font-size: 14px;
  border: 1.5px dashed #d6e0ee;
  border-radius: 10px;
  background: var(--ctn-panel);
}
.ctn-scan-list {
  list-style: none;
  margin: 0;
  padding: 0;
  max-height: 330px;
  overflow-y: auto;
  border: 1px solid #e4ebf4;
  border-radius: 10px;
}
.ctn-scan-list li {
  display: grid;
  grid-template-columns: 54px minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  grid-gap: 12px;
  gap: 12px;
  padding: 9px 14px;
  border-bottom: 1px solid #f1f4f9;
  font-size: 13.5px;
}
.ctn-scan-list li:last-child { border-bottom: none; }
.ctn-scan-list li:nth-child(even) { background: #fbfcfe; }
.ctn-scan-list li.is-new { background: #eef9f2; animation: ctn-in .55s ease; }
@keyframes ctn-in { from { background: #d4efdf; } }
.ctn-scan-list .t { color: #9aa7bd; font-size: 12px; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.ctn-scan-list .po { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ctn-scan-list .cs { color: #44536b; }
.ctn-scan-list .ln { color: #8b97af; font-size: 12.5px; }

/* ---- Đã niêm phong ---- */
.ctn-sealed {
  display: flex;
  align-items: center;
  gap: 30px;
  flex-wrap: wrap;
  padding: 26px 24px;
  border-radius: 12px;
  border: 1px solid #bfe3cf;
  background: linear-gradient(120deg, #f5fbf7, #eaf6ef);
}
.ctn-sealed-main { flex: 1 1; min-width: 250px; }
.ctn-sealed-main strong {
  display: block;
  margin: 10px 0 4px;
  font-family: "Roboto Condensed", Arial, sans-serif;
  font-size: 1.8rem;
  font-weight: 800;
  color: var(--ctn-navy);
}
.ctn-sealed-main p { margin: 0 0 16px; color: #44536b; font-size: 14.5px; }
.ctn-sealed-main p b { color: var(--ctn-ink); font-size: 1.05em; }
.ctn-sealed-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
.ctn-qr { margin: 0; text-align: center; }
.ctn-qr img {
  width: 140px; height: 140px;
  padding: 7px;
  background: #fff;
  border: 1px solid #dde3ee;
  border-radius: 10px;
}
.ctn-qr figcaption { margin-top: 6px; font-size: 12px; color: var(--ctn-muted); }

/* ---- Chip ---- */
.ctn-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 11px;
  border-radius: 999px;
  font: 700 12px "Roboto Condensed", Arial, sans-serif;
  font-style: normal;
}
.ctn-chip-ok { color: #167442; background: #e2f2e8; border: 1px solid #a9d8bf; }
.ctn-chip-open { color: #94651a; background: #fbf1dc; border: 1px solid #ecd4a0; }
.ctn-chip-wait { color: #3d5c92; background: #eef3fb; border: 1px solid #cbdaf0; }

.ctn-a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: none;
  background: none;
  padding: 0;
  color: var(--ctn-blue);
  font-size: 13px;
  cursor: pointer;
  text-decoration: none;
}
.ctn-a:hover { text-decoration: underline; }
.ctn-a svg { width: 13px; height: 13px; }

/* ---- Khối 3 số (tab Nhận hàng) ---- */
.ctn-figures { margin: 4px 0 26px; }
.ctn-fig-row { display: flex; align-items: stretch; }
.ctn-fig {
  flex: 1 1;
  min-width: 0;
  padding: 0 22px;
  border-left: 1px solid #e2e9f3;
}
.ctn-fig:first-child { padding-left: 4px; border-left: none; }
.ctn-fig b {
  display: block;
  font-family: "Roboto Condensed", Arial, sans-serif;
  font-size: 2.6rem;
  font-weight: 800;
  line-height: 1.05;
  color: var(--ctn-navy);
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
  letter-spacing: -.5px;
}
.ctn-fig b i {
  margin-left: 5px;
  font-size: 0.95rem;
  font-weight: 600;
  font-style: normal;
  letter-spacing: 0;
  color: var(--ctn-muted);
}
.ctn-fig span {
  display: block;
  margin-top: 2px;
  font-size: 13px;
  color: var(--ctn-muted);
}
.ctn-fig.is-done b { color: var(--ctn-green); }
.ctn-fig.is-left b { color: var(--ctn-amber); }

/* ---- Section + bảng ---- */
.ctn-sec { margin-bottom: 20px; }
.ctn-sec:last-child { margin-bottom: 0; }
.ctn-sec-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}
.ctn-sec-head h3 {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  font-family: "Roboto Condensed", Arial, sans-serif;
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--ctn-ink);
}
.ctn-tw {
  overflow-x: auto;
  border: 1px solid var(--ctn-line);
  border-radius: 10px;
}
.ctn-tb { width: 100%; border-collapse: collapse; font-size: 13.5px; min-width: 560px; }
.ctn-tb thead th {
  text-align: left;
  padding: 10px 14px;
  font-family: "Roboto Condensed", Arial, sans-serif;
  font-weight: 700;
  font-size: 11.5px;
  text-transform: uppercase;
  letter-spacing: .03em;
  color: #fff;
  background: var(--ctn-navy);
  white-space: nowrap;
}
.ctn-tb td { padding: 10px 14px; border-bottom: 1px solid #f1f4f9; }
.ctn-tb tbody tr:last-child td { border-bottom: none; }
.ctn-tb tbody tr:hover { background: #f8fbff; }
.ctn-tb .n { text-align: right; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; white-space: nowrap; }
.ctn-tb .k { font-weight: 700; color: var(--ctn-navy); white-space: nowrap; }
.ctn-tb .m { color: var(--ctn-muted); }
.ctn-tb .e { text-align: center; color: #93a1b8; padding: 26px; }
.ctn-tb .warn { color: #94651a; font-weight: 700; }
.ctn-tb .done { color: #b4bccc; }

/* ---- Tab nhận hàng ---- */
.ctn-seg {
  display: inline-flex;
  gap: 2px;
  padding: 3px;
  border: 1px solid var(--ctn-line);
  border-radius: 999px;
  background: #f4f7fc;
}
.ctn-seg button {
  min-height: 38px;
  padding: 6px 14px;
  border: none;
  border-radius: 999px;
  background: none;
  color: var(--ctn-muted);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}
.ctn-seg button.is-on {
  background: #fff;
  color: var(--ctn-navy);
  box-shadow: 0 1px 4px rgba(22, 48, 123, .16);
}
.ctn-tb small { display: block; margin-top: 3px; color: var(--ctn-muted); font-size: 12px; }

/* ---- Tab theo dõi: khối tiến độ + bảng dễ quét mắt ---- */
.ctn-hero {
  padding: 18px 20px 12px;
  margin-bottom: 22px;
  border: 1px solid var(--ctn-line);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 1px 3px rgba(16, 35, 63, .06);
}
.ctn-hero-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}
.ctn-btn-sm {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 34px;
  padding: 0 12px;
  border: 1.5px solid #cdd7e6;
  border-radius: 8px;
  background: #f4f7fc;
  color: var(--ctn-navy);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}
.ctn-btn-sm:hover:not(:disabled) { background: #e9f0fa; border-color: #b9cbe3; }
.ctn-btn-sm:disabled { opacity: .65; cursor: progress; }
.ctn-btn-sm svg { width: 14px; height: 14px; }
.ctn-hero-pct { display: flex; align-items: baseline; gap: 12px; }
.ctn-hero-pct b {
  font-family: "Roboto Condensed", Arial, sans-serif;
  font-size: 2.9rem;
  font-weight: 800;
  line-height: .95;
  letter-spacing: -1.5px;
  color: var(--ctn-navy);
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
}
.ctn-hero-pct span { display: flex; flex-direction: column; gap: 2px; font-size: 13px; color: var(--ctn-muted); }
.ctn-hero-pct em {
  font-style: normal;
  font-family: "Roboto Condensed", Arial, sans-serif;
  font-size: 15px;
  font-weight: 800;
  color: var(--ctn-ink);
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
}
.ctn-legend { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; margin-top: 14px; }
.ctn-legend > div { display: flex; align-items: center; gap: 7px; font-size: 12.5px; color: var(--ctn-muted); white-space: nowrap; }
.ctn-legend i { width: 9px; height: 9px; border-radius: 3px; background: #c9d5e6; }
.ctn-legend b {
  font-family: "Roboto Condensed", Arial, sans-serif;
  font-size: 17px;
  font-weight: 800;
  color: var(--ctn-ink);
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
}
.ctn-legend .is-done i { background: var(--ctn-green); }
.ctn-legend .is-left i { background: var(--ctn-amber); }
.ctn-stack {
  display: flex;
  gap: 2px;
  height: 9px;
  margin-top: 14px;
  border-radius: 5px;
  overflow: hidden;
  background: #e7edf6;
}
.ctn-stack i { display: block; height: 100%; transition: width .6s cubic-bezier(.2, .7, .3, 1); }
.ctn-stack i.is-done { background: var(--ctn-green); }
.ctn-stack i.is-left { background: var(--ctn-amber); }
.ctn-spin { animation: ctn-spin .9s linear infinite; }
@keyframes ctn-spin { to { transform: rotate(360deg); } }

.ctn-sec-head h3 em.ctn-count {
  padding: 2px 9px;
  border-radius: 999px;
  background: #eef3fa;
  font-family: "Roboto", Arial, sans-serif;
  font-size: 11.5px;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 0;
  color: var(--ctn-muted);
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
}
.ctn-tb .ctn-meta { display: none; white-space: normal; }
.ctn-tb tbody tr.is-zero .k { color: #7d8aa6; }
.ctn-rcell { display: inline-flex; align-items: center; justify-content: flex-end; gap: 9px; }
.ctn-rcell b {
  font-family: "Roboto Condensed", Arial, sans-serif;
  font-size: 15px;
  font-weight: 800;
  color: #94651a;
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
}
.ctn-rcell > span { display: block; width: 52px; height: 5px; border-radius: 3px; background: #eef1f7; overflow: hidden; }
.ctn-rcell > span > i {
  display: block;
  height: 100%;
  border-radius: 3px;
  background: linear-gradient(90deg, #e0a94a, #b6791f);
  transition: width .5s ease;
}
.ctn-ok { display: inline-flex; align-items: center; gap: 5px; font-size: 12.5px; font-weight: 700; color: #8b97af; }
.ctn-ok svg { width: 14px; height: 14px; color: #a8cbb8; }
.ctn-blank {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 30px 18px;
  border: 1px dashed var(--ctn-line);
  border-radius: 10px;
  color: #93a1b8;
  font-size: 13.5px;
  text-align: center;
}
.ctn-blank svg { width: 22px; height: 22px; color: #bcc7d9; }

/* ---- Hộp thoại hỏi có lấy phần hàng huỷ chưa vào thùng không ---- */
.ctn-modal {
  position: fixed;
  inset: 0;
  z-index: 60;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(16, 35, 63, .48);
}
.ctn-modal-card {
  width: 100%;
  max-width: 430px;
  padding: 22px;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 18px 44px rgba(16, 35, 63, .3);
}
.ctn-modal-card h3 {
  margin: 0 0 8px;
  font-family: "Roboto Condensed", Arial, sans-serif;
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--ctn-ink);
}
.ctn-modal-card p { margin: 0 0 18px; font-size: 14.5px; color: var(--ctn-muted); }
.ctn-modal-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }

/* ---- Màn hẹp ---- */
@media (max-width: 640px) {
  .ctn-page { padding: 12px; }
  .ctn-folder-body { padding: 14px; }
  .ctn-tabs { padding: 8px 5px 0; gap: 3px; }
  .ctn-tabs button { flex: 1 1; justify-content: center; gap: 5px; padding: 8px 6px; min-height: 48px; font-size: .82rem; }
  .ctn-tabs button > svg { display: none; }
  .ctn-tabs button > em { min-width: 18px; height: 17px; padding: 0 5px; font-size: 10.5px; }
  .ctn-alert button { width: 44px; height: 44px; flex: 0 0 44px; font-size: 24px; }
  .ctn-modal { padding: 14px; }
  .ctn-modal-actions { flex-direction: column-reverse; }
  .ctn-modal-actions .ctn-btn { width: 100%; min-height: 46px; }
  .ctn-fig { padding: 0 12px; }
  .ctn-fig b { font-size: 1.9rem; }
  .ctn-fig span { font-size: 12px; }
  .ctn-sec-head { flex-wrap: wrap; }
  .ctn-seg { order: 3; flex: 1 1 100%; }
  .ctn-seg button { flex: 1 1; min-height: 44px; }
  .ctn-hero { padding: 15px 14px 12px; }
  .ctn-btn-sm { min-height: 44px; }
  .ctn-hero-pct b { font-size: 2.4rem; }
  .ctn-hero-top { gap: 12px; }
  .ctn-legend { gap: 10px 16px; }
  .ctn-legend b { font-size: 15px; }
  .ctn-stack { margin-top: 13px; }
  .ctn-tb .ctn-meta { display: block; }
  .ctn-rcell > span { width: 40px; }
  .ctn-work-head { gap: 14px; }
  .ctn-work-count { margin-left: 0; width: 100%; }
  .ctn-work-count b { font-size: 2.4rem; }
  .ctn-scan-list li { grid-template-columns: minmax(0, 1fr); row-gap: 2px; }
  .ctn-scan-list .po { white-space: normal; overflow-wrap: anywhere; }
  .ctn-sealed { padding: 18px; gap: 18px; }
  .ctn-a { min-height: 44px; min-width: 44px; padding: 0 8px; }
  .hide-mobile { display: none; }
  /* Màn hẹp: mỗi dòng bảng thành 1 card, không còn cột bị bóp gãy chữ */
  .ctn-tb { min-width: 0; font-size: 12.5px; }
  .ctn-tb,
  .ctn-tb tbody { display: block; }
  .ctn-tb thead { display: none; }
  .ctn-tb tbody tr {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 10px;
    padding: 10px 12px;
    margin-bottom: 8px;
    border: 1px solid #e4eaf4;
    border-radius: 12px;
    background: #fff;
  }
  .ctn-tb tbody tr:last-child { margin-bottom: 0; }
  .ctn-tb tbody tr:hover { background: #fff; }
  .ctn-tb td { display: block; flex: 0 0 auto; padding: 0; border: 0; }
  .ctn-tb td.hide-mobile { display: none; }
  .ctn-tb td.k { flex: 1 1 100%; white-space: normal; overflow-wrap: break-word; }
  .ctn-tb td[data-label] { flex: 1 1 auto; text-align: left; }
  .ctn-tb td[data-label]::before {
    content: attr(data-label);
    margin-right: 6px;
    color: var(--ctn-muted);
    font-weight: 500;
  }
  .ctn-tb small { margin-top: 2px; }
  /* Tab Nhận hàng: mã thùng làm tiêu đề, các dòng dưới nhãn trái - giá trị phải cho thẳng cột */
  .ctn-tb-recv { font-size: 13.5px; }
  .ctn-tb-recv tbody tr { padding: 9px 12px 8px; }
  .ctn-tb-recv td { flex: 1 1 100%; }
  .ctn-tb-recv td.k {
    padding-bottom: 7px;
    margin-bottom: 4px;
    border-bottom: 1px dashed #e4eaf4;
    color: var(--ctn-navy);
    font-family: "Roboto Condensed", Arial, sans-serif;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0.3px;
  }
  .ctn-tb-recv td[data-label] {
    display: grid;
    flex: 1 1 100%;
    grid-template-columns: auto minmax(0, 1fr);
    grid-column-gap: 12px;
    column-gap: 12px;
    align-items: baseline;
    min-height: 20px;
    text-align: right;
  }
  .ctn-tb-recv td[data-label]::before {
    margin-right: 0;
    text-align: left;
    font-size: 12.5px;
  }
  .ctn-tb-recv td[data-label] > * { justify-self: end; }
  .ctn-tb-recv td.m small {
    display: block;
    margin-top: 1px;
    text-align: right;
  }
  .ctn-tb-recv td.e { text-align: left; }
  .ctn-tb-recv td:last-child:not(.e) {
    display: flex;
    justify-content: flex-end;
    margin-top: 5px;
    padding-top: 7px;
    border-top: 1px dashed #e4eaf4;
  }
  .ctn-tb-recv td:last-child .ctn-a {
    min-height: 44px;
    padding: 0 16px;
    border: 1px solid #cfdaea;
    border-radius: 9px;
    color: var(--ctn-navy);
    font-weight: 700;
  }
}

/* ===== Trang tra cứu thùng (public, mở từ QR trên điện thoại) ===== */
.clk-page {
  --clk-navy: #101f52;
  --clk-blue: #16307b;
  --clk-ink: #16223f;
  --clk-muted: #66748f;
  --clk-line: #e6ecf5;
  --clk-green: #1f9254;
  --clk-amber: #b6791f;
  --clk-red: #b3261e;
  min-height: 100vh;
  margin: 0;
  padding: 18px 14px calc(28px + env(safe-area-inset-bottom, 0px));
  background-color: #eef2f8;
  background-image: radial-gradient(
    900px 320px at 50% -140px,
    #dbe5f7,
    rgba(219, 229, 247, 0)
  );
  background-repeat: no-repeat;
  font-family: "Roboto", Arial, sans-serif;
  color: var(--clk-ink);
  display: flex;
  flex-direction: column;
  align-items: center;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
       text-size-adjust: 100%;
}
.clk-card {
  width: 100%;
  max-width: 560px;
  background: #fff;
  border-radius: 20px;
  box-shadow:
    0 18px 42px rgba(16, 31, 82, 0.14),
    0 2px 6px rgba(16, 31, 82, 0.06);
  overflow: hidden;
}

/* ---- Header: 1 hàng ngang gọn ---- */
.clk-hero {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 12px;
  padding: 13px 15px;
  color: #fff;
  background: linear-gradient(150deg, #0d1a45 0%, #16307b 52%, #1c4199 100%);
  overflow: hidden;
}
.clk-hero::after {
  content: "";
  position: absolute;
  inset: -70% 0 auto;
  height: 300px;
  background: radial-gradient(
    closest-side,
    rgba(255, 255, 255, 0.16),
    rgba(255, 255, 255, 0)
  );
  pointer-events: none;
}
.clk-hero-mark {
  position: relative;
  flex: 0 0 46px;
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.26);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.32),
    0 6px 14px rgba(6, 14, 40, 0.26);
}
.clk-mark {
  width: 24px;
  height: 24px;
}
.clk-mark path {
  fill: none;
  stroke: #fff;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.clk-hero-id {
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
}
.clk-hero-eyebrow {
  display: block;
  font-family: "Roboto Condensed", Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: 1.3px;
  font-size: 10.5px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.68);
}
.clk-hero-code {
  margin: 1px 0 0;
  font-family: "Roboto Condensed", Arial, sans-serif;
  font-size: 1.4rem;
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: 0.3px;
  color: #fff;
  overflow-wrap: anywhere;
}
.clk-pill {
  position: relative;
  flex: 0 0 auto;
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 4px 11px 4px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.13);
  border: 1px solid rgba(255, 255, 255, 0.22);
  font-family: "Roboto Condensed", Arial, sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.2px;
  white-space: nowrap;
}
.clk-pill i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #7ee0a6;
  box-shadow: 0 0 0 3px rgba(126, 224, 166, 0.24);
}
.clk-pill.is-open i {
  background: #ffd27a;
  box-shadow: 0 0 0 3px rgba(255, 210, 122, 0.24);
}

/* ---- Bộ xương khi đang tải ---- */
.clk-skel {
  padding: 18px 18px 24px;
}
.clk-skel i {
  display: block;
  border-radius: 10px;
  background: linear-gradient(90deg, #eef2f8 20%, #e1e8f4 42%, #eef2f8 64%);
  background-size: 300% 100%;
  animation: clk-shimmer 1.4s ease-in-out infinite;
}
.clk-skel-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 12px;
  gap: 12px;
  margin-bottom: 18px;
}
.clk-skel-stats i { height: 56px; }
.clk-skel-line { height: 13px; margin-bottom: 11px; }
.clk-skel-line.is-short { width: 62%; }
.clk-skel-btn { height: 48px; margin-top: 16px; border-radius: 13px; }
@keyframes clk-shimmer {
  from { background-position: 100% 0; }
  to { background-position: 0 0; }
}

/* ---- 2 chỉ số chính ---- */
.clk-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-bottom: 1px solid var(--clk-line);
}
.clk-stat {
  padding: 13px 14px 11px;
  text-align: center;
}
.clk-stat + .clk-stat { border-left: 1px solid var(--clk-line); }
.clk-stat b {
  display: block;
  font-family: "Roboto Condensed", Arial, sans-serif;
  font-size: 1.9rem;
  font-weight: 800;
  line-height: 1;
  color: var(--clk-navy);
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
}
.clk-stat span {
  display: block;
  margin-top: 3px;
  font-size: 11.5px;
  color: var(--clk-muted);
}

/* ---- Dòng thời gian trạng thái ---- */
.clk-steps {
  list-style: none;
  margin: 0;
  padding: 14px 18px 4px;
}
.clk-steps li {
  position: relative;
  padding: 0 0 14px 25px;
}
.clk-steps li:last-child { padding-bottom: 0; }
.clk-steps li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 3px;
  width: 13px;
  height: 13px;
  box-sizing: border-box;
  border: 2px solid #cdd8e8;
  border-radius: 50%;
  background: #fff;
}
.clk-steps li::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 18px;
  bottom: -2px;
  width: 2px;
  background: var(--clk-line);
}
.clk-steps li:last-child::after { display: none; }
.clk-steps li.is-done::before {
  border-color: var(--clk-green);
  background: var(--clk-green)
    url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 12 12%27%3E%3Cpath d=%27M2.5 6.1 4.8 8.4 9.5 3.9%27 fill=%27none%27 stroke=%27%23fff%27 stroke-width=%271.9%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E")
    center / 9px 9px no-repeat;
  box-shadow: 0 0 0 3px #e2f2e8;
}
.clk-steps li.is-done::after { background: #bfe3cd; }
.clk-steps b {
  display: block;
  font-size: 13.5px;
  font-weight: 700;
  color: var(--clk-ink);
}
.clk-steps span {
  display: block;
  margin-top: 1px;
  font-size: 12.5px;
  color: var(--clk-muted);
}

/* ---- Nút và ghi chú ---- */
.clk-cta { padding: 8px 18px 0; }
.clk-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  width: 100%;
  min-height: 50px;
  padding: 0 18px;
  border: none;
  border-radius: 13px;
  font-family: "Roboto Condensed", Arial, sans-serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.2px;
  cursor: pointer;
}
.clk-btn svg {
  width: 19px;
  height: 19px;
}
.clk-btn:disabled {
  opacity: 0.62;
  cursor: not-allowed;
}
.clk-btn-ok {
  background: linear-gradient(180deg, #22a75f, #1c8450);
  color: #fff;
  box-shadow: 0 8px 18px rgba(31, 146, 84, 0.26);
}
.clk-btn-ok:hover:not(:disabled) {
  background: linear-gradient(180deg, #1f9a58, #187945);
}
.clk-btn-line {
  background: #fff;
  color: var(--clk-blue);
  border: 1.4px solid #cfdaea;
  box-shadow: 0 1px 2px rgba(16, 31, 82, 0.04);
}
.clk-btn-line:hover { background: #f5f9ff; border-color: #b7c9e4; }
.clk-note {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  padding: 11px 13px;
  border: 1px solid #e2e9f4;
  border-radius: 11px;
  background: #f4f7fc;
  color: var(--clk-muted);
  font-size: 13.5px;
  line-height: 1.35;
}
.clk-note svg {
  flex: 0 0 auto;
  width: 17px;
  height: 17px;
}
.clk-note.is-ok {
  color: #14663c;
  background: #e8f6ee;
  border-color: #bfe3cd;
}
.clk-note.is-warn {
  color: #8a5a10;
  background: #fdf4e2;
  border-color: #eed9a8;
}
.clk-note.is-err {
  color: #962019;
  background: #fdeceb;
  border-color: #f4c7c3;
}

/* ---- Chi tiết trong thùng ---- */
.clk-detail {
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid var(--clk-line);
}
.clk-detail-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  padding: 0 18px 9px;
}
.clk-detail-head h2 {
  margin: 0;
  font-family: "Roboto Condensed", Arial, sans-serif;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  color: var(--clk-navy);
}
.clk-detail-head span {
  font-size: 12px;
  color: var(--clk-muted);
}
.clk-table-wrap {
  padding: 0 12px 16px;
  overflow-x: auto;
}
.clk-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}
.clk-table thead th {
  padding: 9px 10px;
  text-align: left;
  background: var(--clk-navy);
  color: #fff;
  font-family: "Roboto Condensed", Arial, sans-serif;
  font-size: 11.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.clk-table thead th:first-child { border-top-left-radius: 10px; }
.clk-table thead th:last-child { border-top-right-radius: 10px; }
.clk-table td {
  padding: 10px;
  border-bottom: 1px solid #f0f2f7;
  vertical-align: top;
}
.clk-table .num {
  text-align: right;
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
  font-weight: 700;
}
.clk-po {
  font-family: "Roboto Condensed", Arial, sans-serif;
  font-weight: 700;
  color: var(--clk-ink);
}
.clk-mh {
  margin-top: 1px;
  font-size: 12px;
  color: var(--clk-muted);
}
.clk-empty {
  padding: 18px;
  text-align: center;
  color: #8b97af;
}
.clk-table tfoot td {
  padding: 10px;
  border-top: 2px solid #d3dbe8;
  border-bottom: none;
  font-family: "Roboto Condensed", Arial, sans-serif;
  font-weight: 800;
  color: var(--clk-navy);
}

/* ---- Không tìm thấy / lỗi ---- */
.clk-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 36px 26px 40px;
  text-align: center;
}
.clk-state > svg {
  width: 44px;
  height: 44px;
  color: #b9c6db;
}
.clk-state h2 {
  margin: 4px 0 0;
  font-family: "Roboto Condensed", Arial, sans-serif;
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--clk-navy);
}
.clk-state p {
  margin: 0;
  max-width: 320px;
  font-size: 13.5px;
  line-height: 1.45;
  color: var(--clk-muted);
}
.clk-state .clk-btn {
  width: auto;
  min-width: 158px;
  margin-top: 12px;
}

/* ---- Màn hình rộng ---- */
@media (min-width: 700px) {
  .clk-page { padding: 28px 20px 40px; }
  .clk-card { max-width: 720px; }
  .clk-hero { padding: 16px 22px; gap: 12px 14px; }
  .clk-hero-mark {
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
    border-radius: 16px;
  }
  .clk-mark { width: 27px; height: 27px; }
  .clk-hero-code { font-size: 1.6rem; }
  .clk-stat { padding: 15px 16px 13px; }
  .clk-steps { padding: 16px 22px 6px; }
  .clk-cta { padding: 10px 22px 0; }
  .clk-detail-head { padding: 0 22px 11px; }
  .clk-table-wrap { padding: 0 16px 18px; }
}

/* ---- Điện thoại: mỗi dòng chi tiết thành 1 card ---- */
@media (max-width: 640px) {
  .clk-page { padding: 12px 12px calc(20px + env(safe-area-inset-bottom, 0px)); }
  .clk-card { border-radius: 18px; }
  .clk-hero { padding: 12px 14px; gap: 9px 10px; }
  .clk-hero-code { font-size: 1.32rem; }
  .clk-pill { font-size: 11.5px; padding: 4px 10px 4px 9px; gap: 6px; }
  .clk-steps { padding: 13px 15px 4px; }
  .clk-cta { padding: 8px 15px 0; }
  .clk-detail-head { padding: 0 15px 9px; }
  .clk-table-wrap { padding: 0 14px 14px; overflow: visible; }
  .clk-table,
  .clk-table tbody { display: block; }
  .clk-table thead { display: none; }
  .clk-table tbody tr {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 2px 8px;
    padding: 10px 12px;
    margin-bottom: 8px;
    border: 1px solid #e4eaf4;
    border-radius: 12px;
    background: #fff;
  }
  .clk-table tbody tr:last-child { margin-bottom: 0; }
  .clk-table td { display: block; padding: 0; border: 0; }
  .clk-td-po { flex: 1 1 100%; }
  .clk-td-meta {
    font-size: 12.5px;
    color: var(--clk-muted);
  }
  .clk-td-meta + .clk-td-meta::before {
    content: "· ";
    color: #b3bfd2;
  }
  .clk-table td.num {
    margin-left: auto;
    color: var(--clk-navy);
  }
  .clk-table td.clk-empty {
    flex: 1 1 100%;
    padding: 2px 0;
    text-align: left;
  }
  .clk-table tfoot { display: block; }
  .clk-table tfoot tr {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    padding: 11px 12px 0;
  }
  .clk-table tfoot td {
    padding: 0;
    border: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .clk-skel i { animation: none; }
}

