/*******************
*  DataCards
*******************/

.indicator-snapshot-card .DataCardNumbers .Value {
  font-size: 1.25em !important;
  line-height: 1.05 !important;
  color: var(--selected-series-color, var(--theme-accent)) !important;
  font-weight: 700 !important;
}

.indicator-snapshot-card .HandleWrapper {
  background-color: color-mix(
    in srgb,
    var(--theme-header-background-color) 20%,
    var(--theme-background-content) 10%
  ) !important;
}

.indicator-snapshot-card .Handle {
  background-color: var(--selected-series-color, var(--theme-accent-negative)) !important;
  width: 52px !important;
  min-width: 52px !important;
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  padding: 0 8px !important;
  box-sizing: border-box;
}

.indicator-snapshot-card .Handle i,
.indicator-snapshot-card .Handle svg {
  fill: var(--theme-accent) !important;
}

.indicator-snapshot-card .DataCardContent {
  padding: 8px !important;
  padding-left: 18px !important;
  background-color: color-mix(
    in srgb,
    var(--theme-header-background-color) 20%,
    var(--theme-background-content) 10%
  ) !important;
}

.indicator-snapshot-card .Label {
  font-size: clamp(0.62rem, 0.35vw + 0.54rem, 0.8rem) !important;
  line-height: 1.12 !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.indicator-snapshot-card .SubValue {
  font-size: clamp(0.74rem, 0.42vw + 0.64rem, 0.94rem) !important;
  line-height: 1.12 !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.indicator-page-layout {
  --sidebar-menu-font-size: 16px;
  --indicator-meta-font-size: clamp(0.78rem, 0.35vw + 0.68rem, 1rem);
  --indicator-toggle-font-size: clamp(0.92rem, 0.55vw + 0.78rem, 1.2rem);
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.ddk-container .layout-sidebar .layout-menu li a {
  font-size: var(--sidebar-menu-font-size);
}

.sidebar-series-selector {
  padding: 4px 4px 0 0;
}

.sidebar-series-selector .layout-menu {
  margin-left: 0;
  padding-left: 0;
  width: 100%;
  box-sizing: border-box;
}

.sidebar-series-selector .layout-menu ul,
.sidebar-series-selector .layout-menu ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

.sidebar-series-selector .layout-menu li a {
  font-size: clamp(10px, 0.45vw + 6px, calc(var(--sidebar-menu-font-size) - 2px));
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding-left: 0 !important;
}

.sidebar-series-selector .layout-menu li {
  margin: 0;
  width: 100%;
  overflow: hidden;
  padding-left: 0;
}

.sidebar-series-selector .sidebar-series-link {
  display: flex !important;
  width: 100%;
  max-width: 100%;
  align-items: center;
  justify-content: flex-start;
  column-gap: 1px;
  color: var(--theme-body-text) !important;
  overflow: hidden;
  box-sizing: border-box;
  padding-left: 0 !important;
  margin-left: -4px;
}

.sidebar-series-selector .sidebar-series-link--gap-compact {
  margin-bottom: 0 !important;
}

.sidebar-series-selector .sidebar-series-link--gap-group {
  margin-bottom: 14px !important;
}

.sidebar-series-selector .sidebar-series-link span {
  display: block;
  min-width: 0;
  text-align: left;
  overflow-wrap: normal;
  word-break: normal;
  line-height: 1;
}

.sidebar-series-selector .sidebar-series-label--office-clerical {
  white-space: normal;
}

.sidebar-series-selector .sidebar-series-link--parent {
  text-decoration: none;
}

.sidebar-series-selector .sidebar-series-link--child {
  margin-left: clamp(6px, 0.8vw, 10px) !important;
  margin-top: 0;
  padding-left: 0 !important;
}

.sidebar-series-selector .sidebar-series-label--parent {
  font-size: clamp(11px, 0.55vw + 6px, calc(var(--sidebar-menu-font-size) - 1px)) !important;
  font-weight: 600;
  line-height: 1;
}

.sidebar-series-selector .sidebar-series-label--child {
  font-size: clamp(9px, 0.35vw + 6px, calc(var(--sidebar-menu-font-size) - 6px)) !important;
  font-weight: 500;
  line-height: 0.9;
}

.sidebar-series-selector .sidebar-series-icon--child,
.sidebar-series-selector .sidebar-series-icon--child i,
.sidebar-series-selector .sidebar-series-icon--child svg {
  font-size: 0.8em !important;
}

.sidebar-series-selector .sidebar-series-icon,
.sidebar-series-selector .sidebar-series-icon i,
.sidebar-series-selector .sidebar-series-icon svg {
  margin-right: 0 !important;
}

.sidebar-series-selector .sidebar-series-link .sidebar-series-icon,
.sidebar-series-selector .sidebar-series-link .sidebar-series-icon i,
.sidebar-series-selector .sidebar-series-link .sidebar-series-icon svg,
.sidebar-series-selector .sidebar-series-link i,
.sidebar-series-selector .sidebar-series-link svg {
  color: inherit !important;
  fill: currentColor !important;
}

.sidebar-series-selector .sidebar-series-link--active {
  color: var(--selected-series-color, var(--theme-body-text)) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  box-shadow: inset 2px 0 0 var(--selected-series-color, var(--theme-body-text));
  background-color: color-mix(
    in srgb,
    var(--selected-series-color, var(--theme-body-text)) 9%,
    transparent
  ) !important;
  border-radius: 2px;
}

.sidebar-series-selector .sidebar-series-link--active span {
  text-decoration: none !important;
}

.sidebar-series-selector .sidebar-series-link--active .sidebar-series-label {
  font-weight: 700 !important;
}

.sidebar-week-ending {
  font-size: 0.8em;
  line-height: 1.2;
  padding: 10px 10px 0 10px;
  color: var(--theme-accent-negative);
}

.layout-sidebar-companion > div,
#_pages_content {
  height: 100%;
  min-height: 0;
}

.mobile-landscape-notice {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: color-mix(in srgb, #0f172a 76%, transparent);
  z-index: 2000;
}

.mobile-landscape-notice__dialog {
  position: relative;
  width: min(30vw, 150px);
  padding: 14px 14px 12px;
  border-radius: 16px;
  background: linear-gradient(160deg, #f7f1e3 0%, #fffdf7 100%);
  color: #1f2937;
  text-align: center;
  box-shadow: 0 18px 48px rgba(15, 23, 42, 0.28);
}

.mobile-landscape-notice__close {
  position: absolute;
  top: 6px;
  right: 8px;
  border: 0;
  background: transparent;
  color: #475569;
  font-size: 0.95rem;
  line-height: 1;
  cursor: pointer;
  padding: 2px 4px;
}

.mobile-landscape-notice__close:hover,
.mobile-landscape-notice__close:focus {
  color: #1f2937;
  outline: none;
}

.mobile-landscape-notice__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
}

.mobile-landscape-notice__icon {
  display: inline-flex !important;
  width: auto !important;
  height: auto !important;
  margin: 4px 0 2px !important;
  line-height: 1;
}

.mobile-landscape-notice__icon,
.mobile-landscape-notice__icon i,
.mobile-landscape-notice__icon svg {
  color: #dd6b20;
  fill: currentColor;
  font-size: 1.45rem;
}

.mobile-landscape-notice__content > .mobile-landscape-notice__title,
h3.mobile-landscape-notice__title {
  margin: 0 !important;
  padding: 0 !important;
  color: #1f2937 !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
}

.mobile-landscape-notice__content > .mobile-landscape-notice__body,
p.mobile-landscape-notice__body {
  margin: 0 !important;
  padding: 0 !important;
  color: #1f2937 !important;
  font-size: 0.88rem !important;
  line-height: 1.3 !important;
}

.indicator-tabs-parent {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  height: 100%;
  min-height: 0;
  overflow: hidden;
}

.indicator-tabs {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  border-bottom: none !important;
  flex: 0 0 auto;
  min-height: 0 !important;
}

.indicator-tabs-content {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}

[id$="-tabs"].indicator-tabs {
  --indicator-tab-border-color: var(--theme-accent-negative);
  --indicator-tab-border-width: 2px;
}

[id$="-tabs"].indicator-tabs [role="tablist"] {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch;
}

/* Dash Tabs markup differs by version; force horizontal headers for both variants */
[id$="-tabs"].indicator-tabs .tab-container {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
}

[id$="-tabs"].indicator-tabs .tab {
  display: inline-flex !important;
  flex: 1 1 0 !important;
  width: auto !important;
  max-width: none !important;
  justify-content: center !important;
  text-align: center !important;
  align-items: center !important;
  white-space: nowrap;
}

[id$="-tabs"].indicator-tabs [role="tab"] {
  justify-content: center !important;
  text-align: center !important;
}

[id$="-tabs"].indicator-tabs .tab {
  border-left: var(--indicator-tab-border-width) solid var(--indicator-tab-border-color) !important;
  border-top: var(--indicator-tab-border-width) solid var(--indicator-tab-border-color) !important;
}

[id$="-tabs"].indicator-tabs .tab:last-child {
  border-right: var(--indicator-tab-border-width) solid var(--indicator-tab-border-color) !important;
}

[id$="-tabs"].indicator-tabs .tab.tab--selected,
.ddk-container .tab.tab--selected {
  border-top: 2px solid var(--theme-accent) !important;
  border-bottom: 0 !important;
}

[id$="-tabs"].indicator-tabs .tab:not(.tab--selected) {
  border-top: 0 !important;
  border-bottom: var(--indicator-tab-border-width) solid var(--indicator-tab-border-color) !important;
}

[id$="-tabs"].indicator-tabs .tab:not(.tab--selected):first-child {
  border-left: 0 !important;
}

[id$="-tabs"].indicator-tabs .tab:not(.tab--selected):last-child {
  border-right: 0 !important;
}

[id$="-tabs"].indicator-tabs + .tab-content,
.indicator-tabs-content,
.indicator-tabs-parent .tab-content {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}

.indicator-tabs-content > *,
.indicator-tabs-parent .tab-content > * {
  flex: 1 1 auto;
  min-height: 0;
}

.indicator-tabs-content .tab-content--selected,
.indicator-tabs-parent .tab-content .tab-content--selected {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}

.indicator-tabs-content .tab-content--selected > *,
.indicator-tabs-parent .tab-content .tab-content--selected > * {
  flex: 1 1 auto;
  min-height: 0;
}

.indicator-tab-panel {
  --indicator-panel-gap: 3px;
  flex: 1 1 auto;
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  row-gap: var(--indicator-panel-gap);
  padding-top: 10px;
  overflow: hidden;
}

.indicator-tab-header {
  font-size: var(--indicator-toggle-font-size) !important;
  line-height: 1.1 !important;
}

.indicator-tab-header--selected {
  font-size: var(--indicator-toggle-font-size) !important;
  line-height: 1.1 !important;
}

.indicator-control-wrapper {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  column-gap: clamp(8px, 2vw, 24px);
  flex-wrap: wrap;
}

.indicator-control-label {
  font-size: var(--indicator-meta-font-size);
  font-weight: 400;
}

.indicator-control-options {
  margin: 0;
  font-size: var(--indicator-toggle-font-size);
}

.indicator-control-options label,
.indicator-top-toggle label {
  font-size: var(--indicator-toggle-font-size) !important;
}

.indicator-top-row-block {
  flex: 0 0 auto;
}

.indicator-top-row {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  column-gap: clamp(8px, 1vw, 14px);
  width: 100%;
  padding: 0 12px 0 12px;
}

.indicator-top-card-container {
  flex: 1 1 33.333%;
  min-width: 0;
  max-width: 33.333%;
}

.indicator-top-card-container .indicator-snapshot-card-parent {
  width: 100% !important;
  max-width: 100% !important;
}

.indicator-top-week-ending-card-container {
  flex: 1 1 33.333%;
  width: auto;
  min-width: 0;
  max-width: 33.333%;
}

.indicator-top-week-ending-card-container .indicator-snapshot-card-parent {
  width: 100% !important;
  max-width: 100% !important;
}

.indicator-top-toggle {
  flex: 1 1 33.333%;
  min-width: 33.333%;
  max-width: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.indicator-breadcrumbs,
.indicator-breadcrumbs * {
  font-size: clamp(0.86rem, 0.45vw + 0.72rem, 1.05rem) !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
}

.indicator-snapshot-block,
.indicator-toggle-block {
  flex: 0 0 auto;
}

.indicator-snapshot-row {
  --snapshot-gap: 8px;
  display: flex !important;
  flex-wrap: nowrap;
  justify-content: space-evenly;
  align-items: flex-start;
  column-gap: var(--snapshot-gap);
  row-gap: 6px;
  padding: 4px 10px 4px 10px;
  width: 100%;
}

.indicator-snapshot-card-parent {
  flex: 1 1 0 !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
}

.indicator-snapshot-card {
  min-height: 0 !important;
  height: auto !important;
}

.indicator-chart-block {
  flex: 1 1 0 !important;
  min-height: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

[id$="-indicator-content-container"],
[id$="-hours-content-container"] {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

.indicator-chart-content {
  flex: 1 1 auto;
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.indicator-chart-block .indicator-graph {
  flex: 1 1 auto;
  height: 100%;
  min-height: 0;
  padding: 0 12px 0 12px;
}

.indicator-chart-block .indicator-graph .dash-graph,
.indicator-chart-block .indicator-graph .js-plotly-plot,
.indicator-chart-block .indicator-graph .plot-container,
.indicator-chart-block .indicator-graph .svg-container {
  height: 100% !important;
  min-height: 0 !important;
}

.indicator-overview-block .indicator-graph-overview {
  flex: 0 0 auto;
  padding: 0 12px 0 12px;
}

.indicator-overview-block .indicator-graph-overview .dash-graph,
.indicator-overview-block .indicator-graph-overview .js-plotly-plot,
.indicator-overview-block .indicator-graph-overview .plot-container,
.indicator-overview-block .indicator-graph-overview .svg-container {
  height: 100% !important;
  min-height: 0 !important;
}

.indicator-overview-block {
  flex: 0 0 auto;
  margin-top: -6px;
  margin-bottom: 0;
}

.indicator-range-slider-block {
  flex: 0 0 auto;
  margin-top: -2px;
  overflow: visible;
}

.indicator-range-slider-container {
  width: 100%;
  line-height: 0;
  overflow: visible;
  padding-bottom: 6px;
}

.indicator-bottom-row-block {
  flex: 0 0 auto;
  margin-top: 0;
}

.indicator-bottom-row {
  flex: 0 0 auto;
  min-height: 0;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  padding-top: 0 !important;
  row-gap: 2px;
  column-gap: 8px;
}

.indicator-bottom-row .indicator-control-label,
.indicator-bottom-row .indicator-control-options,
.indicator-bottom-row .indicator-control-options label {
  font-size: clamp(0.84rem, 0.35vw + 0.72rem, 1rem) !important;
  line-height: 1.05 !important;
}

.indicator-graph .legend text {
  font-size: clamp(9px, 0.9vw + 0.3rem, 14px) !important;
}

.indicator-graph .legendtitle text {
  font-size: clamp(9px, 0.9vw + 0.3rem, 14px) !important;
  font-weight: 400;
}

.indicator-range-slider {
  padding: 0 40px 0 40px !important;
  overflow: visible !important;
}

.indicator-range-slider .rc-slider-rail,
.indicator-range-slider .rc-slider-track,
.indicator-range-slider .rc-slider-step {
  height: 4px;
}

.indicator-range-slider .rc-slider-handle {
  width: 14px;
  height: 14px;
  margin-top: -5px;
}

.indicator-range-slider .rc-slider-mark {
  display: none;
}

[id$="-tabs"].indicator-tabs .tab,
[id$="-tabs"].indicator-tabs [role="tab"][aria-selected="false"] {
  background-color: var(--theme-header-background-color) !important;
}

[id$="-tabs"].indicator-tabs .tab--selected,
[id$="-tabs"].indicator-tabs [role="tab"][aria-selected="true"] {
  background-color: var(--theme-background-content) !important;
}

/* Responsive sidebar and logo sizing so content keeps horizontal room */
.ddk-container .layout-sidebar {
  width: 250px !important;
}

.ddk-container .body-component {
  width: calc(100% - 250px) !important;
}

.ddk-container .layout-sidebar .layout-logo img {
  width: 75% !important;
  height: auto !important;
  max-width: 75%;
}

@media (max-width: 1366px) {
  .ddk-container .layout-sidebar {
    width: 210px !important;
  }

  .ddk-container .body-component {
    width: calc(100% - 210px) !important;
  }

  .indicator-snapshot-row {
    --snapshot-gap: 6px;
    padding: 4px 8px;
  }
}

@media (max-width: 1150px) {
  .ddk-container .layout-sidebar {
    width: 170px !important;
  }

  .ddk-container .body-component {
    width: calc(100% - 170px) !important;
  }

  .indicator-page-layout {
    --sidebar-menu-font-size: 15px;
  }

  .indicator-snapshot-row {
    --snapshot-gap: 4px;
    padding: 2px 6px;
  }

  .indicator-snapshot-card .Handle {
    width: 46px !important;
    min-width: 46px !important;
    padding: 0 6px !important;
  }

  .indicator-snapshot-card .DataCardContent {
    padding-left: 12px !important;
  }
}

@media (max-width: 980px) {
  .ddk-container .layout-sidebar {
    width: 145px !important;
  }

  .ddk-container .body-component {
    width: calc(100% - 145px) !important;
  }

  .indicator-page-layout {
    --sidebar-menu-font-size: 14px;
  }
}

@media (max-width: 600px) {
  .ddk-container .layout-sidebar {
    width: 120px !important;
  }

  .ddk-container .body-component {
    width: calc(100% - 120px) !important;
  }

  .indicator-page-layout {
    --sidebar-menu-font-size: 12px;
  }

  .indicator-snapshot-row {
    --snapshot-gap: 2px;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    column-gap: var(--snapshot-gap);
    padding: 2px 4px;
  }

  .indicator-snapshot-row > * {
    flex: 0 0 calc((100% - (2 * var(--snapshot-gap))) / 3) !important;
    width: calc((100% - (2 * var(--snapshot-gap))) / 3) !important;
    max-width: calc((100% - (2 * var(--snapshot-gap))) / 3) !important;
    min-width: 0 !important;
  }

  .indicator-snapshot-card-parent {
    flex: 0 0 calc((100% - (2 * var(--snapshot-gap))) / 3) !important;
    width: calc((100% - (2 * var(--snapshot-gap))) / 3) !important;
    max-width: calc((100% - (2 * var(--snapshot-gap))) / 3) !important;
    min-width: 0 !important;
  }

  .indicator-snapshot-card .Handle {
    width: 38px !important;
    min-width: 38px !important;
    padding: 0 4px !important;
  }

  .indicator-snapshot-card .DataCardContent {
    padding: 4px !important;
    padding-left: 10px !important;
  }

  .indicator-snapshot-card .DataCardNumbers .Value {
    font-size: 0.95em !important;
    font-weight: 700 !important;
  }

  .indicator-snapshot-card .SubValue,
  .indicator-snapshot-card .Label {
    font-size: clamp(0.62rem, 0.45vw + 0.52rem, 0.76rem) !important;
    line-height: 1.05 !important;
  }
}

.mobile-landscape-notice.mobile-landscape-notice--visible {
  display: flex !important;
}

@media (max-width: 700px) {
  .indicator-top-row {
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: flex-start;
    row-gap: 8px;
  }

  .indicator-top-week-ending-card-container,
  .indicator-top-card-container {
    flex: 1 1 calc(50% - 8px);
    width: auto;
    max-width: 25vw;
  }

  .indicator-top-toggle {
    flex: 1 0 100%;
    width: 100%;
    min-width: 100%;
    max-width: 100%;
    justify-content: flex-start;
  }
}
