/*
 * Workbook experience layer.
 *
 * Keep this stylesheet scoped to the workbook shell so the analytical and
 * studio ribbons retain their existing layout contracts. It is loaded after
 * the legacy stylesheet because the latter contains compatibility rules for
 * the original compact shell.
 */
#tab-workbook .workbook-ribbon-tabs {
  display: flex;
  align-items: center;
  gap: 2px;
  min-height: 34px;
  height: auto;
  padding: 0 10px;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: thin;
}

#tab-workbook .workbook-ribbon-tab {
  min-height: 34px;
  flex: 0 0 auto;
  border-radius: 4px 4px 0 0;
  font-size: 10px;
  white-space: nowrap;
}

#tab-workbook .workbook-ribbon-tab:focus-visible,
#tab-workbook .workbook-ribbon-tab-select:focus-visible {
  outline: 2px solid var(--brand-strong);
  outline-offset: -2px;
}

#tab-workbook .workbook-ribbon-tab-select-wrap {
  display: none;
  flex: 1 1 auto;
  min-width: 0;
  align-items: center;
  padding: 5px 0;
}

#tab-workbook .workbook-ribbon-tab-select {
  width: 100%;
  min-height: 26px;
  border: 1px solid #cbd4e2;
  border-radius: 4px;
  background: #fff;
  color: #33415c;
  font-size: 11px;
  font-weight: 700;
}

#tab-workbook .workbook-ribbon-body {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  min-width: 0;
  max-width: 100%;
  min-height: 68px;
  overflow-x: hidden;
  overflow-y: auto;
}

#tab-workbook .ribbon-group {
  flex: 1 1 auto;
  min-width: 0;
  max-width: 100%;
}

#tab-workbook .ribbon-group-tools {
  min-width: 0;
  flex-wrap: wrap;
  align-content: center;
}

#tab-workbook .ribbon-command,
#tab-workbook .ribbon-mini-command,
#tab-workbook .ribbon-select-wrap,
#tab-workbook .ribbon-check-wrap {
  flex: 0 0 auto;
}

#tab-workbook .ribbon-command:focus-visible,
#tab-workbook .ribbon-mini-command:focus-visible,
#tab-workbook .ribbon-select-wrap select:focus-visible,
#tab-workbook .ribbon-check-wrap input:focus-visible {
  outline: 2px solid var(--brand-strong);
  outline-offset: 1px;
}

#tab-workbook .ribbon-icon-svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

#tab-workbook .sheet-reorder-action {
  min-width: 30px;
  width: auto;
  padding-inline: 5px;
}

#tab-workbook .sheet-reorder-action > span:first-child {
  font-size: 14px;
  line-height: 1;
}

#tab-workbook .workbook-statusbar {
  gap: 8px;
  min-width: 0;
}

#tab-workbook .workbook-selection-metrics {
  min-width: 0;
  overflow: hidden;
  color: #68758a;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#tab-workbook .workbook-selection-metrics:empty {
  display: none;
}

/* Keep global menus within the viewport when the workbook is used as a
 * focused window on narrow screens. */
#globalRibbon .global-ribbon-menu-popover {
  max-width: min(92vw, 440px);
}

/* The legacy global ribbon has a later base rule that makes its tab strip
 * visible. Keep the context-bar state authoritative so closing the global
 * context surface also removes its tab controls from the natural tab order. */
body.context-bar-closed #globalRibbon .global-ribbon-tabs {
  display: none;
}

body.context-bar-open #globalRibbon .global-ribbon-tabs {
  display: flex;
}

@media (max-width: 760px) {
  #tab-workbook .workbook-ribbon-tabs {
    overflow: hidden;
  }

  #tab-workbook .workbook-ribbon-tab {
    display: none;
  }

  #tab-workbook .workbook-ribbon-tab-select-wrap {
    display: flex;
  }

  #tab-workbook .workbook-ribbon-hint {
    display: none;
  }

  #tab-workbook .workbook-ribbon-body {
    min-height: 74px;
    max-height: none;
    overflow-x: hidden;
    overflow-y: auto;
  }

  #tab-workbook .ribbon-group {
    flex: 1 1 100%;
    max-width: none;
    padding-inline: 6px;
  }

  #tab-workbook .ribbon-group-tools {
    gap: 3px;
  }

  #tab-workbook .ribbon-command {
    min-width: 34px;
    height: 38px;
    padding-inline: 3px;
    font-size: 10px;
  }

  #tab-workbook .ribbon-command > span:last-child {
    max-width: 72px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  #tab-workbook .ribbon-select-wrap,
  #tab-workbook .ribbon-check-wrap {
    height: 38px;
  }

  #tab-workbook .workbook-selection-metrics {
    flex: 1 1 auto;
  }

  #tab-workbook .sheet-bar {
    gap: 3px;
  }

  #tab-workbook .sheet-action-label {
    display: none;
  }

  #tab-workbook .sheet-reorder-action {
    min-width: 27px;
    padding-inline: 4px;
  }
}

@media (max-width: 420px) {
  #tab-workbook .workbook-ribbon-body {
    max-height: none;
  }

  #tab-workbook .workbook-statusbar {
    gap: 4px;
    font-size: 8px;
  }

  #tab-workbook .workbook-selection-metrics {
    max-width: 56vw;
  }

  #tab-workbook .workbook-zoom input {
    width: 58px;
  }
}

@media (min-width: 1280px) {
  #tab-workbook .workbook-ribbon-body {
    overflow-x: hidden;
  }
}

@media (forced-colors: active) {
  #tab-workbook .workbook-ribbon-tab-select,
  #tab-workbook .ribbon-command,
  #tab-workbook .ribbon-mini-command {
    border-color: ButtonText;
    background: ButtonFace;
    color: ButtonText;
  }

  #tab-workbook .ribbon-icon-svg {
    stroke: currentColor;
  }
}
