
/* Local, not migratable: Quasar ships no navigation-rail component, so no generic
   Quasar selector describes this app's `.navigation-rail`. */
.navigation-rail[data-v-8d102a8e] .q-tab__content {
  min-width: 52px;
}
/*
 * Truncate the label with a single-line ellipsis inside the 80px rail (never a
 * layout resize); max-width ties it to its content box at any translation length.
 */
.navigation-rail[data-v-8d102a8e] .q-tab__label {
  max-width: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.navigation-rail[data-v-8d102a8e] .q-tab__indicator {
  color: var(--light-secondary-container);
  position: absolute;
  width: 52px;
  left: calc(50% - 26px);
  border-radius: 16px;
  height: 32px;
  top: calc(50% - 23px);
  min-height: unset;
}
.body--dark .navigation-rail[data-v-8d102a8e] .q-tab__indicator {
  color: var(--dark-secondary-container);
}

/*
 * The active destination sits on the secondary-container indicator, so its icon
 * and label take `on-secondary-container` (md3 rail colour roles), overriding the
 * preset's `.q-tab--active { color: primary }` tab rule. Both tokens switch on
 * `.body--dark`, so one declaration covers both themes.
 */
.navigation-rail[data-v-8d102a8e] .q-tab--active {
  color: var(--q-on-secondary-container);
}

/*
 * Layering is owned upstream now — unocss-preset-quasar ADR 0007 orders
 * marginals 2000 < overlay drawer 3000 (scrim 2999) < menus/dialogs 6000, so an
 * open drawer dims the app bar rather than sitting under it (ADR 0007, amended
 * 2026-10-05). Do not re-add z-index overrides here; a conflict belongs upstream.
 */

/*
 * Geometry, not layering: at mobile the drawer renders open and spans 0..812, so
 * start it below the 50px app bar to keep both rows reachable (MD3: top app bar
 * above the navigation drawer).
 */
@media (max-width: 599px) {
.q-drawer--fixed {
    top: 50px !important;
}
}
