/* One shared tab bar scale for settings, reports, and agenda views. */
:root {
  --tab-font-size: 12px;
  --tab-height: 44px;
  --tab-padding-inline: 16px;
}
:root body .app-shell :is(.settings-category-nav, .report-tabs, .agenda-view-toggle) {
  display: flex;
  align-items: center;
  gap: 4px !important;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 52px !important;
  padding: 4px !important;
  margin: 0 0 20px !important;
  border: 0;
  border-radius: 12px;
  background: #eceef2;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
}
:root body .app-shell .agenda-view-toggle {
  width: fit-content !important;
  margin: 0 !important;
}
:is(.settings-category-nav, .report-tabs, .agenda-view-toggle)::-webkit-scrollbar { display: none; }
:root body .app-shell :is(.settings-category-nav, .report-tabs, .agenda-view-toggle) > button {
  display: inline-flex;
  flex: 1 0 auto;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: auto !important;
  min-width: 0 !important;
  height: var(--tab-height) !important;
  min-height: var(--tab-height) !important;
  padding: 0 var(--tab-padding-inline) !important;
  margin: 0;
  border: 0;
  border-radius: 8px;
  background: transparent;
  box-shadow: none;
  color: #5c5c5c;
  font-family: var(--font-sans);
  font-size: var(--tab-font-size) !important;
  font-weight: 400;
  line-height: 16px !important;
  letter-spacing: normal;
  text-transform: none;
  white-space: nowrap;
  cursor: pointer;
}
:root body .app-shell :is(.service-category-nav, .agenda-view-toggle) > button { flex: 1 1 0; }
@media (max-width: 760px) {
  :root body .app-shell .agenda-view-toggle { width: 100% !important; }
}
:root body .app-shell :is(.settings-category-nav, .report-tabs, .agenda-view-toggle) > button:hover { background: #f5f5f5; }
:root body .app-shell :is(.settings-category-nav, .report-tabs, .agenda-view-toggle) > button:is(.active, [aria-selected="true"]) {
  background: #fff;
  color: var(--color-primary);
  box-shadow: 0 2px 4px #00000008;
}
:root body .app-shell :is(.settings-category-nav, .report-tabs, .agenda-view-toggle) > button:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: -2px;
}
/* A subtle sliding selection surface; labels remain above it. */
:root body .app-shell :is(.settings-category-nav, .report-tabs, .agenda-view-toggle) { position: relative; isolation: isolate; }
.tab-selection { position: absolute; left: 0; top: 0; pointer-events: none; border-radius: 8px; background: #fff; box-shadow: 0 2px 4px #00000008; transition: transform 180ms ease-out, width 180ms ease-out; z-index: -1; }
:root body .app-shell .has-tab-selection > button:is(.active, [aria-selected="true"]) { background: transparent; box-shadow: none; }
@media (prefers-reduced-motion: reduce) { .tab-selection { transition: none; } }
