/* Final responsive guardrails for the admin shell.
   Loaded last to keep navigation, monitoring and filters stable across laptop widths. */

html {
  overflow-x: hidden;
  scrollbar-gutter: stable;
}

body.od-admin-operations {
  --admin-canvas: #07101c;
  --admin-surface: #0d1827;
  --admin-surface-raised: #122033;
  --admin-surface-glass: rgba(9, 19, 32, .92);
  --admin-border: rgba(148, 163, 184, .18);
  --admin-border-active: rgba(77, 218, 215, .7);
  --admin-text-primary: #f3f7fb;
  --admin-text-secondary: #b8c6d8;
  --admin-text-muted: #8294aa;
  --admin-accent: #4ddad7;
  --admin-warning: #f4b860;
  --admin-danger: #ff726f;
  --admin-success: #5ed49b;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --radius-control: 10px;
  --radius-card: 14px;
  --radius-panel: 18px;
  --shadow-card: 0 12px 30px rgba(2, 8, 18, .18);
  --shadow-floating: 0 24px 64px rgba(2, 8, 18, .34);
  --motion-instant: 90ms;
  --motion-fast: 150ms;
  --motion-standard: 220ms;
  --motion-emphasis: 340ms;
  --admin-shell-max-width: 1580px;
  --admin-page-gutter: clamp(16px, 2vw, 24px);
  --admin-content-gap: 18px;
  --admin-header-height: 70px;
  --admin-nav-height: 58px;
  --admin-safe-inline: clamp(16px, 2vw, 24px);
  --admin-safe-block: 20px;
  --admin-panel-radius: 20px;
  --admin-panel-border: rgba(148, 163, 184, .18);
  --admin-panel-bg: rgba(8, 16, 29, .86);
  --admin-panel-shadow: 0 20px 56px rgba(3, 8, 18, .22);
  --admin-inspector-width: clamp(340px, 28vw, 430px);
  --admin-map-safe-top: 18px;
  --admin-map-safe-right: 18px;
  --admin-map-safe-bottom: 18px;
  --admin-map-safe-left: 18px;
  width: 100%;
  max-width: 100vw;
  overflow-x: hidden;
}

body.od-admin-operations *,
body.od-admin-operations *::before,
body.od-admin-operations *::after {
  box-sizing: border-box;
}

body.od-admin-operations #notice {
  width: 100%;
  max-width: 100%;
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-break: break-word;
  text-overflow: clip;
}

.od-admin-operations .wrap {
  width: min(100%, var(--admin-shell-max-width)) !important;
  max-width: var(--admin-shell-max-width) !important;
  margin-inline: auto !important;
  padding-inline: var(--admin-page-gutter) !important;
}

.od-admin-operations :is(.section, .card, .card-body, .mon-shell, .mon-stage, .od-orders-stage) {
  min-width: 0;
}

.od-admin-operations header {
  width: 100%;
}

.od-admin-operations .wrap > :is(header, #notice, .od-tab-dropdown-wrap, .tabs, .section) {
  max-width: 100%;
}

.od-admin-operations .logoRow,
.od-admin-operations .headerRight {
  min-width: 0;
}

.od-admin-operations .tabs {
  display: grid !important;
  grid-auto-flow: column;
  grid-auto-columns: max-content;
  align-items: center;
  justify-content: start;
  gap: 8px !important;
  width: 100%;
  max-width: 100%;
  min-height: 58px;
  margin: 12px 0 18px !important;
  padding: 8px !important;
  overflow-x: auto;
  overflow-y: hidden;
  border-radius: 18px !important;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
  -ms-overflow-style: none;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
}

.od-admin-operations .tabs::-webkit-scrollbar {
  display: none;
}

.od-admin-operations .tabs .tab {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  position: relative;
  flex: 0 0 auto;
  min-width: 104px;
  height: 44px;
  min-height: 44px;
  padding: 0 clamp(13px, 1.05vw, 18px) !important;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  scroll-snap-align: start;
}

.od-admin-operations .tabs .tab.active::after {
  content: "";
  left: 50% !important;
  right: auto !important;
  bottom: 7px;
  width: min(54px, calc(100% - 24px)) !important;
  transform: translateX(-50%) !important;
  pointer-events: none;
}

@media (min-width: 1480px) {
  .od-admin-operations .tabs {
    justify-content: center;
  }
}

@media (min-width: 1101px) and (max-width: 1479px) {
  .od-admin-operations .tabs {
    grid-auto-flow: column !important;
    grid-auto-columns: max-content !important;
    grid-template-columns: none !important;
    justify-content: start;
    gap: 6px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
  }

  .od-admin-operations .tabs .tab {
    width: auto !important;
    min-width: auto;
    padding-inline: clamp(10px, .88vw, 14px) !important;
    font-size: clamp(9.5px, .72vw, 10.75px);
    letter-spacing: .045em;
  }

  .od-admin-operations .tabs .tab.active::after {
    left: 50% !important;
    right: auto !important;
    width: min(46px, calc(100% - 18px)) !important;
    transform: translateX(-50%) !important;
  }
}

.od-admin-operations .od-tab-dropdown-wrap {
  width: 100%;
  margin: 12px 0 18px !important;
}

.od-admin-operations .od-tab-dropdown-label {
  display: block;
  margin: 0 0 8px;
  color: var(--muted2);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.od-admin-operations .od-tab-dropdown {
  width: 100%;
  min-height: 52px;
  padding-inline: 16px;
  border-radius: 999px !important;
}

@media (max-width: 1180px) {
  body.od-admin-operations.od-has-tab-dropdown .od-tab-dropdown-wrap,
  body.od-admin-operations.od-has-tab-dropdown.od-force-tab-dropdown .od-tab-dropdown-wrap {
    display: block !important;
  }

  body.od-admin-operations.od-has-tab-dropdown .tabs,
  body.od-admin-operations.od-has-tab-dropdown.od-force-tab-dropdown .tabs {
    display: none !important;
  }
}

/* Interface audit: final navigation normalization.
   Keep desktop tabs stable at laptop widths and avoid the mobile/desktop flicker band. */
@media (min-width: 1181px) {
  .od-admin-operations .tabs {
    display: flex !important;
    grid-auto-flow: unset !important;
    grid-auto-columns: unset !important;
    grid-template-columns: none !important;
    align-items: stretch !important;
    justify-content: space-between !important;
    gap: clamp(4px, .55vw, 8px) !important;
    min-height: 60px;
    overflow: hidden !important;
  }

  .od-admin-operations .tabs .tab {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 44px;
    padding-inline: clamp(8px, .7vw, 13px) !important;
    overflow: hidden;
    font-size: clamp(9.5px, .64vw, 11.5px);
    letter-spacing: .035em;
    text-overflow: ellipsis;
    transform: none !important;
  }

  .od-admin-operations .tabs .tab:hover,
  .od-admin-operations .tabs .tab:focus-visible,
  .od-admin-operations .tabs .tab:active {
    transform: none !important;
  }
}

.od-admin-operations .tabs .tab::after {
  content: "";
  position: absolute;
  left: 50% !important;
  right: auto !important;
  bottom: 7px;
  width: min(54px, calc(100% - 24px)) !important;
  height: 2px;
  border-radius: 999px;
  opacity: 0;
  transform: translateX(-50%) !important;
  pointer-events: none;
}

.od-admin-operations .tabs .tab.active::after {
  opacity: 1;
}

/* Monitoring/control-room: keep hero, filter and KPI cells from colliding at laptop widths. */
.od-admin-operations #monitoringBox,
.od-admin-operations #monitoringBox > .mon-shell.mon-shell--room {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}

.od-admin-operations #monitoringBox > .mon-shell.mon-shell--room {
  padding: clamp(22px, 2.1vw, 34px) !important;
  border: 1px solid rgba(148, 163, 184, .14) !important;
  border-radius: 24px !important;
  background:
    linear-gradient(112deg, rgba(124, 246, 255, .04), transparent 28%),
    rgba(255, 255, 255, .035) !important;
  box-shadow: var(--ops-shadow) !important;
}

.od-admin-operations #monitoringBox .mon-stage {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 430px);
  align-items: end;
  gap: clamp(16px, 3vw, 42px);
  padding: 0 0 clamp(18px, 2vw, 26px) !important;
  margin: 0 !important;
}

.od-admin-operations #monitoringBox .mon-stage > * {
  min-width: 0;
}

.od-admin-operations #monitoringBox .mon-title {
  max-width: 720px;
  margin-top: 8px !important;
  margin-inline: 0 !important;
  overflow-wrap: anywhere;
}

.od-admin-operations #monitoringBox .mon-sub {
  max-width: 760px;
  overflow-wrap: anywhere;
}

.od-admin-operations #monitoringBox .mon-filter-bar {
  width: 100%;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) max-content;
  align-items: end;
  justify-content: end;
  gap: 10px;
}

.od-admin-operations #monitoringBox :is(.mon-eyebrow, .mon-title, .mon-sub, .mon-section-title, .mon-section-sub, .mon-kpi-sub, .mon-muted) {
  max-width: 100%;
}

.od-admin-operations #monitoringBox .mon-filter-bar :is(.field, select, .btn) {
  min-width: 0;
}

.od-admin-operations #monitoringBox .mon-filter-bar .btn {
  justify-self: end;
}

.od-admin-operations #monitoringBox .mon-pulse-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  border: 0 !important;
}

.od-admin-operations #monitoringBox :is(.mon-pulse-card, .mon-live-card) {
  min-width: 0;
  min-height: 0;
  padding: clamp(16px, 1.5vw, 20px) !important;
  border: 1px solid rgba(148, 163, 184, .14) !important;
  border-radius: 18px !important;
  background:
    radial-gradient(circle at top left, rgba(96, 165, 250, .12), transparent 42%),
    linear-gradient(180deg, rgba(12, 20, 36, .78), rgba(7, 12, 24, .72)) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035) !important;
}

.od-admin-operations #monitoringBox .mon-pulse-card {
  display: grid;
  grid-template-columns: minmax(92px, 112px) minmax(0, 1fr);
  align-items: center;
  gap: 18px;
}

.od-admin-operations #monitoringBox .mon-pulse-copy,
.od-admin-operations #monitoringBox .mon-live-card,
.od-admin-operations #monitoringBox .mon-muted,
.od-admin-operations #monitoringBox .mon-kpi-sub {
  min-width: 0;
  overflow-wrap: anywhere;
}

.od-admin-operations #monitoringBox .mon-section-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.od-admin-operations #monitoringBox .mon-metric-list {
  display: grid;
  gap: 7px;
  margin-top: 12px;
}

.od-admin-operations #monitoringBox .mon-metric-row {
  display: grid;
  grid-template-columns: minmax(0, .62fr) minmax(0, 1fr);
  align-items: baseline;
  gap: 9px;
}

.od-admin-operations #monitoringBox .mon-metric-row span,
.od-admin-operations #monitoringBox .mon-metric-row strong {
  min-width: 0;
}

.od-admin-operations #monitoringBox .mon-metric-row strong {
  text-align: right;
  overflow-wrap: anywhere;
}

@media (min-width: 1760px) {
  .od-admin-operations #monitoringBox .mon-pulse-grid {
    grid-template-columns: minmax(360px, 1.05fr) repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 1500px) {
  .od-admin-operations #monitoringBox .mon-stage {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
  }

  .od-admin-operations #monitoringBox .mon-filter-bar {
    max-width: 560px;
    justify-content: start;
  }

  .od-admin-operations #monitoringBox .mon-pulse-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .od-admin-operations #monitoringBox :is(.mon-pulse-card, .mon-live-card) {
    border: 1px solid rgba(148, 163, 184, .14) !important;
  }
}

@media (max-width: 980px) {
  .od-admin-operations #monitoringBox > .mon-shell.mon-shell--room {
    padding: 18px !important;
    border-radius: 20px !important;
  }
}

@media (max-width: 860px) {
  .od-admin-operations #monitoringBox .mon-filter-bar {
    grid-template-columns: 1fr;
  }

  .od-admin-operations #monitoringBox .mon-filter-bar .btn {
    justify-self: stretch;
    width: 100% !important;
    max-width: none;
  }

  .od-admin-operations #monitoringBox .mon-pulse-grid {
    grid-template-columns: 1fr !important;
  }

  .od-admin-operations #monitoringBox .mon-pulse-card {
    grid-template-columns: 1fr;
    justify-items: start;
  }
}

@media (max-width: 620px) {
  .od-admin-operations #monitoringBox .mon-metric-row {
    grid-template-columns: 1fr;
    gap: 2px;
  }

  .od-admin-operations #monitoringBox .mon-metric-row strong {
    text-align: left;
  }
}

/* Shared admin filters: prevent long search fields/buttons from forcing overflow. */
.od-admin-operations .admin-filter-row--entity,
.od-admin-operations #section-orders .od-orders-filterRow {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.od-admin-operations .admin-filter-row--entity {
  grid-template-columns: auto minmax(150px, 230px) minmax(220px, 1fr) max-content max-content !important;
}

.od-admin-operations .admin-filter-row--entity :is(.mini, .select, .od-select, input, .btn) {
  min-width: 0;
}

.od-admin-operations .admin-filter-row--entity .btn {
  justify-self: end;
}

.od-admin-operations #section-orders .od-orders-filterRow {
  display: grid !important;
  grid-template-columns: minmax(170px, 250px) minmax(150px, 220px) minmax(260px, 1fr) max-content max-content;
  align-items: end;
  gap: 10px !important;
}

.od-admin-operations #section-orders .od-orders-searchField {
  min-width: 0;
}

.od-admin-operations #section-orders .od-orders-filterRow > button {
  min-width: 92px;
  justify-self: end;
}

.od-admin-operations #section-orders .od-orders-stage,
.od-admin-operations #section-orders .od-orders-hero,
.od-admin-operations #section-orders .od-orders-control,
.od-admin-operations #section-orders .od-orders-main,
.od-admin-operations #section-orders :is(.od-orders-mainPanel, .od-orders-sidePanel, .od-orders-lane, .od-orders-lane__list, .od-orders-laneItem) {
  max-width: 100%;
  min-width: 0;
}

.od-admin-operations #section-orders .od-orders-stage {
  overflow: hidden;
  padding-inline: clamp(12px, 1.5vw, 22px);
}

.od-admin-operations #section-orders .od-orders-hero__grid {
  grid-template-columns: minmax(0, 1fr) !important;
}

.od-admin-operations #section-orders .od-orders-signalGrid {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
  gap: 10px !important;
  border: 0 !important;
}

.od-admin-operations #section-orders .od-orders-signal {
  border: 1px solid rgba(148, 163, 184, .12) !important;
  border-radius: 16px !important;
  background: rgba(9, 16, 30, .52) !important;
}

.od-admin-operations #section-orders .od-orders-lanes {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)) !important;
}

.od-admin-operations #section-orders :is(.od-orders-laneItem strong, .od-order-row__identity h3, .od-orders-controlSub) {
  overflow-wrap: anywhere;
}

@media (max-width: 980px) {
  .od-admin-operations .admin-filter-row--entity,
  .od-admin-operations #section-orders .od-orders-filterRow {
    grid-template-columns: 1fr 1fr !important;
  }

  .od-admin-operations .admin-filter-row--entity input,
  .od-admin-operations #section-orders .od-orders-searchField {
    grid-column: 1 / -1;
  }
}

@media (max-width: 1320px) {
  .od-admin-operations #section-orders .od-orders-filterRow {
    grid-template-columns: repeat(2, minmax(0, 1fr)) max-content max-content !important;
  }

  .od-admin-operations #section-orders .od-orders-searchField {
    grid-column: 1 / -1;
  }
}

@media (max-width: 640px) {
  .od-admin-operations .wrap {
    padding-inline: 12px !important;
  }

  body.od-admin-operations #notice {
    display: block;
    padding: 10px 12px;
    line-height: 1.35;
  }

  .od-admin-operations header {
    display: grid;
    grid-template-columns: 1fr;
    position: relative;
    top: auto;
    align-items: stretch;
    gap: 12px;
    padding: 12px !important;
  }

  .od-admin-operations .logoRow {
    width: 100%;
  }

  .od-admin-operations .headerRight {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
    gap: 8px;
  }

  .od-admin-operations .headerRight > * {
    width: 100% !important;
    min-width: 0 !important;
    justify-content: center;
    text-align: center;
  }

  .od-admin-operations .headerRight :is(.badgeRole, .btnLogout, .od-theme-toggle) {
    min-height: 40px;
    padding-inline: 8px !important;
    font-size: 11px;
  }

  .od-admin-operations .headerRight .btnLogout {
    grid-column: auto;
  }

  .od-admin-operations .admin-filter-row--entity,
  .od-admin-operations #section-orders .od-orders-filterRow {
    grid-template-columns: 1fr !important;
  }

  .od-admin-operations .admin-filter-row--entity .btn,
  .od-admin-operations #section-orders .od-orders-filterRow > button {
    width: 100% !important;
    max-width: none;
    justify-self: stretch;
  }
}

@media (max-width: 760px) {
  .od-admin-operations #section-orders .od-orders-filterRow {
    grid-template-columns: 1fr !important;
  }

  .od-admin-operations #section-orders .od-orders-filterRow > button {
    width: 100% !important;
    max-width: none;
    justify-self: stretch;
  }
}

/* Interface audit: spacing and overflow hygiene for dense admin work surfaces. */
.od-admin-operations :is(.section, .card, .card-body, .od-orders-stage, .od-orders-control, .od-orders-lanes, .od-orders-main, .mon-shell, .mon-stage, .mon-pulse-grid, .mon-grid, .mon-card-grid) {
  max-width: 100%;
  min-width: 0;
}

.od-admin-operations :is(.card, .section) {
  overflow: clip;
}

@supports not (overflow: clip) {
  .od-admin-operations :is(.card, .section) {
    overflow: hidden;
  }
}

.od-admin-operations :is(.card-head, .card-body) {
  padding-inline: clamp(16px, 1.8vw, 26px) !important;
}

.od-admin-operations #monitoringBox {
  padding: clamp(18px, 2vw, 28px) !important;
}

.od-admin-operations #monitoringBox > .mon-shell.mon-shell--room {
  gap: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}

.od-admin-operations #monitoringBox .mon-stage {
  grid-template-columns: minmax(0, 1fr) minmax(260px, 420px) !important;
  align-items: end !important;
  gap: clamp(18px, 3vw, 44px) !important;
  padding: clamp(18px, 2vw, 28px) !important;
  border-bottom: 1px solid rgba(148, 163, 184, .12) !important;
}

.od-admin-operations #monitoringBox .mon-title {
  margin: 6px 0 8px !important;
  font-size: clamp(30px, 2.9vw, 42px) !important;
  line-height: 1.05 !important;
}

.od-admin-operations #monitoringBox .mon-sub {
  max-width: 74ch;
  font-size: clamp(13px, 1vw, 15px) !important;
  line-height: 1.55 !important;
}

.od-admin-operations #monitoringBox .mon-filter-bar {
  justify-self: end;
  max-width: 560px;
}

.od-admin-operations #monitoringBox .mon-pulse-grid {
  padding: clamp(14px, 1.6vw, 22px) !important;
  border-block: 0 !important;
}

.od-admin-operations #monitoringBox :is(.mon-pulse-card, .mon-live-card, .mon-panel, .mon-status-card) {
  border: 1px solid rgba(148, 163, 184, .13) !important;
  border-radius: 18px !important;
  background:
    radial-gradient(circle at 14% 0%, rgba(125, 211, 252, .08), transparent 40%),
    rgba(7, 13, 25, .58) !important;
}

.od-admin-operations #monitoringBox :is(.mon-pulse-title, .mon-live-number, .mon-muted, .mon-kpi-sub, .mon-section-title, .mon-section-sub) {
  overflow-wrap: anywhere;
}

.od-admin-operations #section-orders .od-orders-stage {
  padding: clamp(16px, 1.8vw, 26px) !important;
}

.od-admin-operations #section-orders .od-orders-control {
  padding: clamp(18px, 2vw, 28px) !important;
  border: 1px solid rgba(148, 163, 184, .12) !important;
  border-radius: 22px !important;
  background:
    linear-gradient(180deg, rgba(12, 20, 36, .78), rgba(7, 12, 24, .68)) !important;
}

.od-admin-operations #section-orders .od-orders-controlBody {
  min-width: 0;
}

.od-admin-operations #section-orders :is(
  .od-orders-controlTitle,
  .od-orders-signal__value
),
html[data-theme="light"] .od-admin-operations #section-orders :is(
  .od-orders-controlTitle,
  .od-orders-signal__value
),
html[data-theme-mode="light"] .od-admin-operations #section-orders :is(
  .od-orders-controlTitle,
  .od-orders-signal__value
) {
  color: #f7fbff !important;
}

html[data-theme-mode="light"] body.od-admin-operations #section-orders .od-orders-control .od-orders-controlTitle,
html[data-theme-mode="light"] body.od-admin-operations #section-orders .od-orders-control .od-orders-signal__value {
  color: #f7fbff !important;
}

.od-admin-operations #section-orders :is(
  .od-orders-controlSub,
  .od-orders-signal__label,
  .od-orders-signal__meta,
  .od-orders-regionRailHead > span,
  .od-orders-regionRailHead > small
),
html[data-theme="light"] .od-admin-operations #section-orders :is(
  .od-orders-controlSub,
  .od-orders-signal__label,
  .od-orders-signal__meta,
  .od-orders-regionRailHead > span,
  .od-orders-regionRailHead > small
),
html[data-theme-mode="light"] .od-admin-operations #section-orders :is(
  .od-orders-controlSub,
  .od-orders-signal__label,
  .od-orders-signal__meta,
  .od-orders-regionRailHead > span,
  .od-orders-regionRailHead > small
) {
  color: #aebed1 !important;
}

.od-admin-operations #section-orders .od-orders-filterRow {
  padding: 0 !important;
}

.od-admin-operations #section-orders .od-orders-lanes {
  gap: clamp(14px, 1.4vw, 20px) !important;
}

.od-admin-operations #section-orders .od-orders-lane {
  overflow: hidden;
}

.od-admin-operations #section-orders .od-orders-lane__head {
  padding: clamp(14px, 1.5vw, 20px) !important;
}

.od-admin-operations #section-orders .od-orders-lane__list {
  padding: 0 clamp(14px, 1.5vw, 20px) clamp(14px, 1.5vw, 20px) !important;
}

@media (max-width: 1500px) {
  .od-admin-operations #monitoringBox .mon-stage {
    grid-template-columns: 1fr !important;
  }

  .od-admin-operations #monitoringBox .mon-filter-bar {
    justify-self: stretch;
    max-width: 620px;
  }
}

@media (max-width: 1180px) {
  .od-admin-operations :is(.card-head, .card-body) {
    padding-inline: 16px !important;
  }

  .od-admin-operations #monitoringBox,
  .od-admin-operations #section-orders .od-orders-stage,
  .od-admin-operations #section-orders .od-orders-control {
    padding: 16px !important;
  }
}

@media (max-width: 640px) {
  .od-admin-operations #monitoringBox .mon-stage {
    padding: 16px !important;
  }

  .od-admin-operations #monitoringBox .mon-title {
    font-size: 30px !important;
  }

  .od-admin-operations #monitoringBox .mon-pulse-grid {
    padding: 12px !important;
  }

  .od-admin-operations #section-orders .od-orders-control {
    border-radius: 18px !important;
  }
}

/* Dashboard 3D mobile: the desktop canvas deliberately overhangs; on phones it must not. */
@media (max-width: 760px) {
  .od-admin-operations #section-dashboard {
    overflow: hidden !important;
  }

  .od-admin-operations .dashStage {
    display: grid !important;
    grid-template-columns: 1fr !important;
    min-height: auto !important;
    gap: 14px !important;
    overflow: hidden !important;
  }

  .od-admin-operations .dashStage__center {
    order: 1;
    width: 100% !important;
    min-width: 0 !important;
    height: clamp(320px, 52vh, 460px) !important;
    min-height: clamp(320px, 52vh, 460px) !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  .od-admin-operations .dashStage__side {
    order: 2;
    width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .od-admin-operations .dashScene,
  .od-admin-operations .dashStage .italy3dWrap,
  .od-admin-operations .dashStage .italy3dCanvasHost {
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    min-height: inherit !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  .od-admin-operations .dashStage .italy3dOverlay {
    top: 12px !important;
    right: 12px !important;
    left: 12px !important;
    max-width: none !important;
    width: auto !important;
  }

  .od-admin-operations .dashStage .italy3dGrid[data-fallback="true"] {
    padding: 14px !important;
  }

  .od-admin-operations .dashStage .italy3dGrid[data-fallback="true"] .notice {
    position: static !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    transform: none !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
  }

  .od-admin-operations .dashStage .italy3dFallbackPanel {
    width: 100% !important;
    max-width: 100% !important;
  }

  body.od-admin-operations #dashItaly3dBox.italy3dGrid[data-fallback="true"] {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-inline: 12px !important;
    justify-content: center !important;
  }

  body.od-admin-operations #dashItaly3dBox.italy3dGrid[data-fallback="true"] .notice.info {
    flex: 0 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: calc(100vw - 48px) !important;
    line-height: 1.35 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  #dashItaly3dBox .notice,
  #dashItaly3dBox .notice.info {
    display: block !important;
    width: min(100%, 300px) !important;
    max-width: min(100%, 300px) !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    text-align: left;
  }

  .od-admin-operations .dashGlass,
  .od-admin-operations .dashKpi,
  .od-admin-operations .dashOrdersWide {
    width: 100%;
    max-width: 100%;
  }

  .od-admin-operations .dashOrdersWide {
    overflow: hidden;
  }
}


/* Canonical Admin Operations Control Center */
body.od-admin-operations.od-map-mode {
  --admin-shell-max-width: 1580px;
  --admin-page-gutter: clamp(16px, 1.45vw, 24px);
  --admin-content-gap: 16px;
  --admin-header-height: 70px;
  --admin-nav-height: 54px;
  --admin-safe-inline: 24px;
  --admin-safe-block: 20px;
  --admin-panel-radius: 18px;
  --admin-panel-border: rgba(148, 163, 184, .24);
  --admin-panel-bg: rgba(6, 14, 27, .91);
  --admin-panel-shadow: 0 22px 70px rgba(2, 8, 20, .34);
  width: 100vw !important;
  max-width: 100vw !important;
  height: 100svh !important;
  min-height: 100svh !important;
  overflow: hidden !important;
  color-scheme: dark;
  background: #06111d !important;
}

body.od-admin-operations.od-map-mode .wrap {
  width: 100vw !important;
  max-width: none !important;
  height: 100svh !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.od-admin-operations.od-map-mode header {
  position: fixed !important;
  z-index: 120 !important;
  top: 12px !important;
  left: var(--admin-page-gutter) !important;
  right: var(--admin-page-gutter) !important;
  width: auto !important;
  min-height: var(--admin-header-height) !important;
  margin: 0 !important;
}

body.od-admin-operations.od-map-mode #notice {
  position: fixed !important;
  z-index: 125 !important;
  top: 88px !important;
  left: 50% !important;
  width: min(720px, calc(100vw - 48px)) !important;
  margin: 0 !important;
  transform: translateX(-50%);
}

body.od-admin-operations.od-map-mode .od-tab-dropdown-wrap { display: none !important; }

body.od-admin-operations.od-map-mode .tabs,
body.od-admin-operations.od-map-mode.od-has-tab-dropdown .tabs,
body.od-admin-operations.od-map-mode.od-has-tab-dropdown.od-force-tab-dropdown .tabs {
  position: fixed !important;
  z-index: 118 !important;
  top: 94px !important;
  left: var(--admin-page-gutter) !important;
  right: var(--admin-page-gutter) !important;
  display: flex !important;
  width: auto !important;
  min-height: var(--admin-nav-height) !important;
  margin: 0 !important;
  padding: 6px !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: clamp(4px, .55vw, 8px) !important;
  overflow: hidden !important;
  border-radius: 17px !important;
}

body.od-admin-operations.od-map-mode .tabs .tab {
  flex: 1 1 0 !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 42px !important;
  min-height: 42px !important;
  padding-inline: clamp(8px, .7vw, 13px) !important;
  overflow: hidden !important;
  font-size: clamp(9.5px, .64vw, 11.5px) !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
  transform: none !important;
}

body.od-admin-operations.od-map-mode #section-map {
  position: fixed !important;
  z-index: 1 !important;
  inset: 0 !important;
  display: block !important;
  width: 100vw !important;
  height: 100svh !important;
  min-height: 100svh !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body.od-admin-operations.od-map-mode :is(.mapPage, .mapStage, .mapWrap, #adminMap) {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 0 !important;
}

body.od-admin-operations.od-map-mode .mapWrap::before {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(2,8,20,.26), transparent 28%, transparent 72%, rgba(2,8,20,.18));
}

body.od-admin-operations.od-map-mode .mapHeroBar {
  position: fixed !important;
  z-index: 82 !important;
  top: 164px !important;
  left: var(--admin-page-gutter) !important;
  right: var(--admin-page-gutter) !important;
  display: flex !important;
  width: auto !important;
  margin: 0 !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 18px !important;
  pointer-events: none !important;
}

body.od-admin-operations.od-map-mode .mapHeroBar > * { min-width: 0; }
body.od-admin-operations.od-map-mode .mapEyebrow { color:#a9c3e4 !important; font-size:11px !important; }
body.od-admin-operations.od-map-mode .mapTitle { margin:5px 0 0 !important; color:#f4f8ff !important; font-size:clamp(24px,2vw,32px) !important; line-height:1 !important; text-shadow:0 3px 20px rgba(2,8,20,.7); }
body.od-admin-operations.od-map-mode .mapSub { display:none !important; }
body.od-admin-operations.od-map-mode .mapStatusCluster { display:flex !important; max-width:min(620px,52vw); justify-content:flex-end; gap:7px; pointer-events:none; }
body.od-admin-operations.od-map-mode .mapStatusCluster :is(.pill,.mini) { min-height:30px; padding:7px 10px; border:1px solid var(--admin-panel-border); border-radius:999px; color:#dce8f7 !important; background:var(--admin-panel-bg); box-shadow:var(--admin-panel-shadow); white-space:nowrap; }

body.od-admin-operations.od-map-mode .mapToolbar {
  position: fixed !important;
  z-index: 90 !important;
  top: 224px !important;
  left: var(--admin-page-gutter) !important;
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  width: 324px !important;
  max-height: min(340px, calc(100svh - 430px)) !important;
  margin: 0 !important;
  padding: 10px !important;
  gap: 8px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  border: 1px solid var(--admin-panel-border) !important;
  border-radius: var(--admin-panel-radius) !important;
  color:#eaf2ff !important;
  background:var(--admin-panel-bg) !important;
  box-shadow:var(--admin-panel-shadow) !important;
  scrollbar-gutter: stable;
}

body.od-admin-operations.od-map-mode .mapToolbar :is(.pill,.btn) { min-width:0 !important; min-height:42px !important; margin:0 !important; color:#eaf2ff !important; background:rgba(15,28,45,.72) !important; border-color:rgba(148,163,184,.24) !important; font-size:11px !important; white-space:normal !important; }
body.od-admin-operations.od-map-mode .mapToolbar .pill:has(select) { grid-column:1/-1; display:grid !important; grid-template-columns:auto minmax(0,1fr); }
body.od-admin-operations.od-map-mode .mapToolbar :is(.od-select,.od-select__button,select) { min-width:0 !important; width:100% !important; }
body.od-admin-operations.od-map-mode .mapToolbar .btn[aria-pressed="true"] { color:#07131f !important; background:linear-gradient(135deg,#5de1ef,#69e6c1) !important; }

body.od-admin-operations.od-map-mode .mapStats {
  position: fixed !important;
  z-index: 78 !important;
  left: var(--admin-page-gutter) !important;
  bottom: 22px !important;
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  width:324px !important;
  height:auto !important;
  gap:8px !important;
  pointer-events:none;
}
body.od-admin-operations.od-map-mode .mapStats .kpi { min-height:70px !important; height:auto !important; padding:10px 12px !important; border:1px solid var(--admin-panel-border) !important; border-radius:14px !important; color:#eaf2ff !important; background:var(--admin-panel-bg) !important; box-shadow:var(--admin-panel-shadow); }
body.od-admin-operations.od-map-mode .mapStats .kpi :is(.label,.mini) { color:#aabbd1 !important; font-size:11px !important; }
body.od-admin-operations.od-map-mode .mapStats .kpi .value { color:#fff !important; font-size:20px !important; }

body.od-admin-operations.od-map-mode .mapHud { position:fixed !important; z-index:76 !important; top:224px !important; left:372px !important; right:396px !important; display:flex !important; pointer-events:none !important; }
body.od-admin-operations.od-map-mode .mapHud--bottom { display:none !important; }
body.od-admin-operations.od-map-mode .mapHudGroup { pointer-events:auto; }
body.od-admin-operations.od-map-mode .mapHudPill { color:#eaf2ff !important; background:rgba(6,14,27,.82) !important; border-color:rgba(148,163,184,.22) !important; }

body.od-admin-operations.od-map-mode .mapContextPanel,
body.od-admin-operations.od-map-mode .mapSelectionInspector {
  position:fixed !important;
  z-index:88 !important;
  right:var(--admin-page-gutter) !important;
  width:350px !important;
  margin:0 !important;
  padding:16px !important;
  overflow:auto !important;
  border:1px solid var(--admin-panel-border) !important;
  border-radius:var(--admin-panel-radius) !important;
  color:#eaf2ff !important;
  background:var(--admin-panel-bg) !important;
  box-shadow:var(--admin-panel-shadow) !important;
  scrollbar-gutter:stable;
}

body.od-admin-operations.od-map-mode .mapSelectionInspector__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-top: var(--space-3);
}

body.od-admin-operations.od-map-mode .mapSelectionInspector__actions .btn {
  flex: 1 1 150px;
  min-height: 42px;
}
body.od-admin-operations.od-map-mode .mapContextPanel { top:224px !important; max-height:calc(100svh - 420px) !important; }
body.od-admin-operations.od-map-mode:has(#mapSelectionInspector:not([hidden])) .mapContextPanel { top:424px !important; max-height:calc(100svh - 620px) !important; }
body.od-admin-operations.od-map-mode .mapSelectionInspector { top:224px !important; max-height:184px !important; }
body.od-admin-operations.od-map-mode .mapSelectionInspector[hidden] { display:none !important; }
body.od-admin-operations.od-map-mode .mapContextPanel :is(.mini,.s,.k),
body.od-admin-operations.od-map-mode .mapSelectionInspector :is(span,small) { color:#aabbd1 !important; }

.mapContextTabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin:12px 0 10px; }
.mapContextTabs button { min-height:38px; border:1px solid rgba(148,163,184,.22); border-radius:10px; color:#cbd8e8; background:rgba(15,28,45,.72); cursor:pointer; }
.mapContextTabs button[aria-selected="true"] { color:#07131f; background:#63dfdc; }
.mapContextPanel__foot { margin-top:10px; color:#91a6c1; font-size:11px; }
.mapSelectionInspector__head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.mapSelectionInspector__head > div { display:grid; gap:4px; }
.mapSelectionInspector__head span { font-size:11px; text-transform:uppercase; letter-spacing:.12em; }
.mapSelectionInspector__head strong { color:#fff; font-size:18px; }
.mapSelectionInspector__head button { width:38px; height:38px; border:1px solid rgba(148,163,184,.22); border-radius:10px; color:#fff; background:rgba(15,28,45,.8); cursor:pointer; }
.mapSelectionInspector__route { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:8px; margin-top:12px; font-size:12px; line-height:1.35; }
.mapSelectionInspector__route span { min-width:0; overflow-wrap:anywhere; }
.mapSelectionInspector__meta { display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }
.mapSelectionInspector__meta span { padding:5px 8px; border:1px solid rgba(148,163,184,.18); border-radius:999px; font-size:11px; }

body.od-admin-operations.od-map-mode .mapLegendPanel { position:fixed !important; z-index:76 !important; left:372px !important; top:276px !important; bottom:auto !important; display:flex !important; max-width:calc(100vw - 792px) !important; margin:0 !important; pointer-events:none; border:1px solid rgba(148,163,184,.2) !important; color:#dce8f7 !important; background:rgba(6,14,27,.92) !important; box-shadow:0 16px 38px rgba(2,8,20,.24) !important; }
.mapLegendPanel .mapLegendToken { color:#dce8f7 !important; }
.mapLegendSwatch.is-planned { width:22px; height:0; border-top:2px dashed #60a5fa; background:none !important; border-radius:0; }
.mapLegendSwatch.is-executed { width:22px; height:3px; background:#22d3ee !important; border-radius:999px; }
.mapLegendSwatch.is-gap { width:22px; height:0; border-top:3px dotted #f59e0b; background:none !important; border-radius:0; }

body.od-admin-operations.od-map-mode .mapRouteLedger { display:flex !important; flex-direction:column; width:100% !important; height:148px !important; max-height:48svh !important; overflow:hidden !important; pointer-events:auto; border:1px solid var(--admin-panel-border) !important; border-radius:var(--admin-panel-radius) !important; color:#eaf2ff !important; background:rgba(6,14,27,.96) !important; box-shadow:var(--admin-panel-shadow) !important; transition:height .22s ease; }
body.od-admin-operations.od-map-mode .mapRouteLedger[data-state="collapsed"] { height:62px !important; }
body.od-admin-operations.od-map-mode .mapRouteLedger[data-state="expanded"] { height:min(46svh,420px) !important; }
body.od-admin-operations.od-map-mode .mapRouteLedger .card-head { flex:0 0 auto; min-height:60px; padding:10px 14px !important; border-bottom:1px solid rgba(148,163,184,.16); background:rgba(6,14,27,.96); }
body.od-admin-operations.od-map-mode .mapRouteLedger .card-title { color:#fff !important; }
body.od-admin-operations.od-map-mode .mapRouteLedger .card-sub { color:#aabbd1 !important; }
body.od-admin-operations.od-map-mode .mapRouteLedger .card-body { min-height:0 !important; max-height:none !important; padding:0 14px 12px !important; overflow:auto !important; scrollbar-gutter:stable; color:#eaf2ff !important; background:rgba(6,14,27,.96) !important; }
.mapRouteLedger__actions { display:flex; gap:5px; }
.mapRouteLedger__actions button,.mapRouteLedger__rowActions button { min-height:36px; padding:0 10px; border:1px solid rgba(148,163,184,.22); border-radius:9px; color:#dce8f7; background:rgba(15,28,45,.8); cursor:pointer; }
.mapRouteLedger__actions button[aria-pressed="true"] { color:#07131f; background:#63dfdc; }
.mapRouteLedger__list { display:grid; }
.mapRouteLedger__row { display:grid; grid-template-columns:minmax(160px,.8fr) minmax(220px,1.2fr) auto; align-items:center; gap:14px; min-width:0; padding:11px 0; border-bottom:1px solid rgba(148,163,184,.13); }
.mapRouteLedger__row.is-selected { background:linear-gradient(90deg,rgba(34,211,238,.09),transparent); }
.mapRouteLedger__row > div { min-width:0; display:grid; gap:3px; }
.mapRouteLedger__row :is(span,small) { color:#aabbd1; font-size:11px; overflow-wrap:anywhere; }
.mapRouteLedger__row strong { color:#f4f8ff; font-size:13px; overflow-wrap:anywhere; }
.mapRouteLedger__rowActions { display:flex !important; grid-auto-flow:column; gap:6px !important; }
.mapRouteLedger__more,.mapRouteLedger__collapsed { padding:12px 0; color:#aabbd1; font-size:12px; }
.mapContextPanel .mapContextItem { border:1px solid rgba(148,163,184,.16) !important; color:#eaf2ff !important; background:rgba(15,28,45,.86) !important; }
.mapContextPanel .mapContextItem .t { color:#f4f8ff !important; }
.mapContextPanel .mapContextItem .s { color:#aabbd1 !important; }

@media (max-width:1080px) {
  body.od-admin-operations.od-map-mode { --admin-page-gutter:16px; --admin-safe-inline:18px; }
  body.od-admin-operations.od-map-mode .tabs { overflow-x:auto !important; justify-content:flex-start !important; scrollbar-width:none; }
  body.od-admin-operations.od-map-mode .tabs .tab { flex:0 0 auto !important; min-width:max-content !important; padding-inline:13px !important; scroll-snap-align:start; }
  body.od-admin-operations.od-map-mode .mapHeroBar { top:156px !important; }
  body.od-admin-operations.od-map-mode .mapStatusCluster { max-width:55vw; overflow:hidden; }
  body.od-admin-operations.od-map-mode .mapToolbar { top:208px !important; left:16px !important; right:16px !important; display:flex !important; width:auto !important; max-height:58px !important; overflow:auto hidden !important; flex-wrap:nowrap !important; scrollbar-width:none; }
  body.od-admin-operations.od-map-mode .mapToolbar :is(.pill,.btn) { flex:0 0 auto !important; min-width:max-content !important; }
  body.od-admin-operations.od-map-mode .mapToolbar .pill:has(select) { display:flex !important; grid-column:auto; }
  body.od-admin-operations.od-map-mode .mapHud { top:276px !important; left:16px !important; right:16px !important; }
  body.od-admin-operations.od-map-mode .mapContextPanel { top:auto !important; left:16px !important; right:16px !important; bottom:116px !important; width:auto !important; max-height:190px !important; }
  body.od-admin-operations.od-map-mode:has(#mapSelectionInspector:not([hidden])) .mapContextPanel { display:none !important; }
  body.od-admin-operations.od-map-mode .mapSelectionInspector { top:auto !important; left:16px !important; right:16px !important; bottom:116px !important; width:auto !important; max-height:190px !important; }
  body.od-admin-operations.od-map-mode .mapStats { display:none !important; }
  body.od-admin-operations.od-map-mode .mapLegendPanel { display:none !important; }
  body.od-admin-operations.od-map-mode .mapRouteLedger { height:84px !important; }
  body.od-admin-operations.od-map-mode .mapRouteLedger[data-state="collapsed"] { height:60px !important; }
  body.od-admin-operations.od-map-mode .mapRouteLedger[data-state="expanded"] { height:min(44svh,390px) !important; }
}

@media (max-width:640px) {
  body.od-admin-operations.od-map-mode { --admin-page-gutter:8px; --admin-header-height:58px; --admin-nav-height:44px; --admin-safe-inline:12px; }
  body.od-admin-operations.od-map-mode header { top:8px !important; }
  body.od-admin-operations.od-map-mode .tabs { top:74px !important; min-height:44px !important; padding:5px !important; scroll-snap-type:x mandatory; }
  body.od-admin-operations.od-map-mode .tabs .tab { height:34px !important; min-height:34px !important; font-size:10px !important; }
  body.od-admin-operations.od-map-mode .mapHeroBar { top:126px !important; left:10px !important; right:10px !important; }
  body.od-admin-operations.od-map-mode .mapTitle { font-size:21px !important; }
  body.od-admin-operations.od-map-mode .mapStatusCluster { display:none !important; }
  body.od-admin-operations.od-map-mode .mapToolbar { top:164px !important; left:10px !important; right:10px !important; max-height:54px !important; padding:6px !important; }
  body.od-admin-operations.od-map-mode .mapToolbar :is(.pill,.btn) { min-height:40px !important; font-size:10px !important; }
  body.od-admin-operations.od-map-mode .mapHud { top:226px !important; left:10px !important; right:10px !important; }
  body.od-admin-operations.od-map-mode .mapHudGroup:last-child { display:none !important; }
  body.od-admin-operations.od-map-mode .mapStats { display:none !important; }
  body.od-admin-operations.od-map-mode .mapContextPanel,
  body.od-admin-operations.od-map-mode .mapSelectionInspector { left:10px !important; right:10px !important; bottom:82px !important; width:auto !important; max-height:176px !important; padding:13px !important; border-radius:16px !important; }
  body.od-admin-operations.od-map-mode .mapContextPanel__grid { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
  body.od-admin-operations.od-map-mode .mapContextList { max-height:74px; overflow:auto; }
  body.od-admin-operations.od-map-mode .mapSelectionInspector__route { font-size:11px; }
  body.od-admin-operations.od-map-mode .mapRouteLedger { height:62px !important; border-radius:15px !important; }
  body.od-admin-operations.od-map-mode .mapRouteLedger[data-state="peek"] { height:62px !important; }
  body.od-admin-operations.od-map-mode .mapRouteLedger[data-state="expanded"] { height:min(46svh,390px) !important; }
  body.od-admin-operations.od-map-mode .mapRouteLedger .card-head { min-height:60px; padding:9px 11px !important; }
  body.od-admin-operations.od-map-mode .mapRouteLedger .card-sub { display:none; }
  .mapRouteLedger__actions button { min-width:36px; width:36px; padding:0; overflow:hidden; font-size:0; }
  .mapRouteLedger__actions button::before { color:#dce8f7; font-size:15px; }
  .mapRouteLedger__actions button:nth-child(1)::before { content:"−"; }
  .mapRouteLedger__actions button:nth-child(2)::before { content:"⌄"; }
  .mapRouteLedger__actions button:nth-child(3)::before { content:"↕"; }
  .mapRouteLedger__row { grid-template-columns:1fr; gap:8px; }
  body.od-admin-operations.od-map-mode:has(#mapRouteLedger[data-state="expanded"]) .mapContextPanel { display:none !important; }
}

@media (prefers-reduced-motion:reduce) {
  body.od-admin-operations.od-map-mode *,
  body.od-admin-operations.od-map-mode *::before,
  body.od-admin-operations.od-map-mode *::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}

/* Precision Command 2026: one immutable shell and one compact map canvas. */
body.od-admin-operations .tabs .tab,
body.od-admin-operations .tabs .tab.active {
  border: 1px solid var(--admin-border) !important;
  box-shadow: none !important;
}

body.od-admin-operations .tabs .tab.active {
  border-color: var(--admin-border-active) !important;
  color: #061518 !important;
  background: var(--admin-accent) !important;
}

body.od-admin-operations.od-map-mode {
  overflow: hidden !important;
  background: var(--admin-canvas) !important;
}

body.od-admin-operations.od-map-mode .wrap {
  width: min(100%, var(--admin-shell-max-width)) !important;
  max-width: var(--admin-shell-max-width) !important;
  min-height: 100svh !important;
  margin-inline: auto !important;
  padding-inline: var(--admin-page-gutter) !important;
}

body.od-admin-operations.od-map-mode header {
  position: static !important;
  inset: auto !important;
  width: 100% !important;
  min-height: var(--admin-header-height) !important;
  margin: 18px 0 0 !important;
  padding: 14px 16px !important;
  border: 1px solid var(--admin-border) !important;
  border-radius: var(--radius-panel) !important;
  background: var(--admin-surface-glass) !important;
  box-shadow: var(--shadow-card) !important;
  backdrop-filter: blur(16px) saturate(120%);
}

body.od-admin-operations.od-map-mode #notice {
  position: static !important;
  inset: auto !important;
  width: 100% !important;
  margin: 8px 0 14px !important;
}

body.od-admin-operations.od-map-mode #notice.ok { display: none !important; }

body.od-admin-operations.od-map-mode .tabs {
  position: static !important;
  inset: auto !important;
  z-index: auto !important;
  width: 100% !important;
  min-height: 60px !important;
  margin: 12px 0 18px !important;
  padding: 8px !important;
  border: 1px solid var(--admin-border) !important;
  border-radius: 18px !important;
  background: var(--admin-surface-glass) !important;
  box-shadow: var(--shadow-card) !important;
}

body.od-admin-operations.od-map-mode .tabs .tab {
  height: 44px !important;
  min-height: 44px !important;
  padding-inline: clamp(8px, .7vw, 13px) !important;
  color: var(--admin-text-primary) !important;
  background: transparent !important;
}

body.od-admin-operations.od-map-mode .tabs .tab.active {
  color: #061518 !important;
  background: var(--admin-accent) !important;
}

body.od-admin-operations.od-map-mode #section-map {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: calc(100svh - 182px) !important;
  min-height: 560px !important;
  margin: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--admin-border);
  border-radius: var(--radius-panel);
  background: var(--admin-canvas);
}

body.od-admin-operations.od-map-mode .pc-map-page {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.pc-map-header {
  position: absolute;
  z-index: 74;
  top: 16px;
  left: 16px;
  right: 16px;
  min-width: 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  pointer-events: none;
}

.pc-map-header > div {
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid var(--admin-border);
  border-radius: var(--radius-card);
  color: var(--admin-text-primary);
  background: var(--admin-surface-glass);
  box-shadow: var(--shadow-card);
  backdrop-filter: blur(14px);
}

.pc-map-header .mapTitle {
  margin: 3px 0 0 !important;
  color: var(--admin-text-primary) !important;
  font-size: 21px !important;
  line-height: 1.1;
}

.pc-map-health {
  display: grid;
  justify-items: end;
  gap: 3px;
  color: var(--admin-text-secondary);
  font-size: 12px;
  text-align: right;
}

.pc-map-health > span { color: var(--admin-success); font-weight: 750; }
.pc-map-health > small { color: var(--admin-text-muted); font-size: 11px; }

body.od-admin-operations.od-map-mode .pc-map-dock {
  position: absolute !important;
  z-index: 82 !important;
  top: 88px !important;
  left: 16px !important;
  right: auto !important;
  bottom: auto !important;
  width: min(calc(100% - 32px), 1040px) !important;
  max-width: none !important;
  min-height: 52px !important;
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  margin: 0 !important;
  padding: 6px !important;
  overflow: visible !important;
  border: 1px solid var(--admin-border) !important;
  border-radius: 14px !important;
  color: var(--admin-text-primary) !important;
  background: var(--admin-surface-glass) !important;
  box-shadow: var(--shadow-floating) !important;
  backdrop-filter: blur(16px) saturate(125%);
}

.pc-map-dock :is(button, summary, label, select) { font: inherit; }
.pc-map-dock .btn { min-height: 40px !important; padding: 0 11px !important; border-radius: var(--radius-control) !important; white-space: nowrap; }
.pc-map-region { min-width: 230px; display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 8px; padding: 0 9px; }
.pc-map-region > span { color: var(--admin-text-muted); font-size: 11px; }
.pc-map-region select { min-width: 0; height: 38px; border: 0; color: var(--admin-text-primary); background: transparent; }
.pc-map-toggle { min-height: 40px; display: inline-flex; align-items: center; gap: 7px; padding: 0 10px; border: 1px solid var(--admin-border); border-radius: var(--radius-control); color: var(--admin-text-secondary); white-space: nowrap; }

.pc-map-popover { position: relative; }
.pc-map-popover > summary { min-height: 40px; display: inline-flex; align-items: center; padding: 0 11px; border: 1px solid var(--admin-border); border-radius: var(--radius-control); color: var(--admin-text-primary); background: var(--admin-surface-raised); cursor: pointer; list-style: none; }
.pc-map-popover > summary::-webkit-details-marker { display: none; }
.pc-map-popover > div { position: absolute; z-index: 95; top: calc(100% + 8px); left: 0; min-width: 210px; display: grid; gap: 10px; padding: 13px; border: 1px solid var(--admin-border); border-radius: var(--radius-card); color: var(--admin-text-secondary); background: var(--admin-surface); box-shadow: var(--shadow-floating); }
.pc-map-popover--advanced { margin-left: auto; }
.pc-map-popover--advanced > div { right: 0; left: auto; min-width: 250px; }
.pc-map-popover > div label { min-height: 34px; display: flex; align-items: center; gap: 8px; font-size: 12px; }
.pc-map-popover > div label:has(select) { display: grid; gap: 5px; }
.pc-map-popover select { min-height: 38px; border: 1px solid var(--admin-border); border-radius: var(--radius-control); color: var(--admin-text-primary); background: var(--admin-surface-raised); }

body.od-admin-operations.od-map-mode .pc-map-stage {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body.od-admin-operations.od-map-mode .pc-map-stage .mapWrap,
body.od-admin-operations.od-map-mode .pc-map-stage #adminMap {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
}

.pc-map-context-chips {
  position: absolute;
  z-index: 76;
  top: 154px;
  left: 16px;
  display: flex;
  gap: 6px;
  max-width: calc(100% - 32px);
  overflow-x: auto;
  scrollbar-width: none;
  pointer-events: none;
}
.pc-map-context-chips::-webkit-scrollbar { display: none; }
.pc-map-context-chips span { min-height: 32px; display: inline-flex; align-items: center; gap: 4px; padding: 0 10px; border: 1px solid var(--admin-border); border-radius: 999px; color: var(--admin-text-secondary); background: var(--admin-surface-glass); box-shadow: var(--shadow-card); font-size: 11px; white-space: nowrap; }
.pc-map-context-chips strong,.pc-map-context-chips b { color: var(--admin-text-primary); font-variant-numeric: tabular-nums; }

body.od-admin-operations.od-map-mode .mapContextPanel,
body.od-admin-operations.od-map-mode .mapSelectionInspector {
  position: absolute !important;
  z-index: 84 !important;
  top: 154px !important;
  right: 16px !important;
  bottom: auto !important;
  left: auto !important;
  width: min(var(--admin-inspector-width), calc(100% - 32px)) !important;
  max-height: calc(100% - 236px) !important;
  margin: 0 !important;
  padding: 16px !important;
  overflow: auto !important;
  border: 1px solid var(--admin-border) !important;
  border-radius: var(--radius-panel) !important;
  color: var(--admin-text-primary) !important;
  background: var(--admin-surface-glass) !important;
  box-shadow: var(--shadow-floating) !important;
  scrollbar-gutter: stable;
}
body.od-admin-operations.od-map-mode :is(.mapContextPanel,.mapSelectionInspector)[hidden] { display: none !important; }
body.od-admin-operations.od-map-mode:has(#mapSelectionInspector:not([hidden])) .mapContextPanel { display: none !important; }

body.od-admin-operations.od-map-mode .mapLegendPanel {
  position: absolute !important;
  z-index: 72 !important;
  top: auto !important;
  right: auto !important;
  bottom: 16px !important;
  left: 16px !important;
  display: flex !important;
  max-width: calc(100% - 32px) !important;
  padding: 7px 9px !important;
  border: 1px solid var(--admin-border) !important;
  border-radius: 999px !important;
  color: var(--admin-text-secondary) !important;
  background: var(--admin-surface-glass) !important;
  box-shadow: var(--shadow-card) !important;
}

body.od-admin-operations.od-map-mode .mapRouteLedger {
  position: absolute !important;
  z-index: 86 !important;
  right: 16px !important;
  bottom: 16px !important;
  left: 50% !important;
  width: min(780px, calc(100% - 32px)) !important;
  height: 60px !important;
  display: flex !important;
  flex-direction: column;
  margin: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--admin-border) !important;
  border-radius: var(--radius-panel) !important;
  color: var(--admin-text-primary) !important;
  background: var(--admin-surface-glass) !important;
  box-shadow: var(--shadow-floating) !important;
  transform: translateX(-50%);
  transition: height var(--motion-standard);
}
body.od-admin-operations.od-map-mode .mapRouteLedger[data-state="closed"] { height: 60px !important; }
body.od-admin-operations.od-map-mode .mapRouteLedger[data-state="peek"] { height: 154px !important; }
body.od-admin-operations.od-map-mode .mapRouteLedger[data-state="expanded"] { height: min(46%, 420px) !important; }
body.od-admin-operations.od-map-mode .mapRouteLedger .card-head { flex: 0 0 58px; min-height: 58px; padding: 9px 12px !important; border-bottom: 1px solid var(--admin-border); background: transparent !important; }
body.od-admin-operations.od-map-mode .mapRouteLedger .card-body { min-height: 0 !important; padding: 0 12px 12px !important; overflow: auto !important; color: var(--admin-text-primary) !important; background: transparent !important; scrollbar-gutter: stable; }
body.od-admin-operations.od-map-mode .mapRouteLedger[data-state="closed"] .card-body { display: none !important; }
.mapRouteLedger__actions button { min-height: 36px !important; color: var(--admin-text-secondary) !important; background: var(--admin-surface-raised) !important; }
.mapRouteLedger__actions button[aria-pressed="true"] { color: #061518 !important; background: var(--admin-accent) !important; }

@media (max-width: 1180px) {
  body.od-admin-operations.od-map-mode.od-has-tab-dropdown .tabs,
  body.od-admin-operations.od-map-mode.od-has-tab-dropdown.od-force-tab-dropdown .tabs { display: none !important; }
  body.od-admin-operations.od-map-mode .od-tab-dropdown-wrap,
  body.od-admin-operations.od-map-mode.od-has-tab-dropdown .od-tab-dropdown-wrap,
  body.od-admin-operations.od-map-mode.od-has-tab-dropdown.od-force-tab-dropdown .od-tab-dropdown-wrap { display: block !important; }
  body.od-admin-operations.od-map-mode #section-map { height: calc(100svh - 170px) !important; }
  body.od-admin-operations.od-map-mode .pc-map-dock { right: 16px !important; width: auto !important; overflow-x: auto !important; overflow-y: visible !important; scrollbar-width: none; }
  .pc-map-dock > * { flex: 0 0 auto; }
}

@media (max-width: 720px) {
  body.od-admin-operations.od-map-mode header { margin-top: 8px !important; min-height: 58px !important; }
  body.od-admin-operations.od-map-mode #section-map { height: calc(100svh - 150px) !important; min-height: 480px !important; }
  .pc-map-header { top: 8px; right: 8px; left: 8px; }
  .pc-map-header > div { padding: 8px 10px; }
  .pc-map-header .mapTitle { font-size: 18px !important; }
  .pc-map-health { display: none; }
  body.od-admin-operations.od-map-mode .pc-map-dock { top: 66px !important; right: 8px !important; left: 8px !important; min-height: 48px !important; padding: 4px !important; }
  .pc-map-region { min-width: 204px; }
  .pc-map-context-chips { top: 120px; left: 8px; max-width: calc(100% - 16px); }
  body.od-admin-operations.od-map-mode .mapContextPanel,
  body.od-admin-operations.od-map-mode .mapSelectionInspector { top: auto !important; right: 8px !important; bottom: 76px !important; left: 8px !important; width: auto !important; max-height: 42% !important; }
  body.od-admin-operations.od-map-mode .mapRouteLedger { right: 8px !important; bottom: 8px !important; width: calc(100% - 16px) !important; }
  body.od-admin-operations.od-map-mode .mapRouteLedger[data-state="peek"] { height: 132px !important; }
  body.od-admin-operations.od-map-mode .mapRouteLedger[data-state="expanded"] { height: 44% !important; }
  body.od-admin-operations.od-map-mode .mapLegendPanel { display: none !important; }
  .mapRouteLedger__actions button { width: 38px !important; min-width: 38px !important; padding: 0 !important; overflow: hidden; font-size: 0 !important; }
  .mapRouteLedger__actions button:nth-child(1)::before { content: "−"; font-size: 16px; }
  .mapRouteLedger__actions button:nth-child(2)::before { content: "⌄"; font-size: 16px; }
  .mapRouteLedger__actions button:nth-child(3)::before { content: "↕"; font-size: 16px; }
}

/* Immutable shell: neutralize the higher-specificity legacy map navigation. */
body.od-admin-operations.od-map-mode .wrap {
  display: flex !important;
  flex-direction: column !important;
  width: min(100%, var(--admin-shell-max-width)) !important;
  max-width: var(--admin-shell-max-width) !important;
  height: 100svh !important;
  min-height: 0 !important;
  margin-inline: auto !important;
  padding-inline: var(--admin-page-gutter) !important;
}

body.od-admin-operations.od-map-mode .tabs,
body.od-admin-operations.od-map-mode.od-has-tab-dropdown .tabs,
body.od-admin-operations.od-map-mode.od-has-tab-dropdown.od-force-tab-dropdown .tabs {
  position: static !important;
  inset: auto !important;
  z-index: auto !important;
  flex: 0 0 auto !important;
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: max-content !important;
  justify-content: start !important;
  gap: 8px !important;
  width: 100% !important;
  min-height: var(--admin-nav-height) !important;
  margin: 12px 0 18px !important;
  padding: 8px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
}

body.od-admin-operations.od-map-mode .tabs .tab {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 104px !important;
  max-width: none !important;
  height: 44px !important;
  min-height: 44px !important;
  padding-inline: clamp(13px, 1.05vw, 18px) !important;
}

body.od-admin-operations.od-map-mode #section-map {
  flex: 1 1 auto !important;
  height: auto !important;
  min-height: 0 !important;
}

@media (max-width: 1180px) {
  body.od-admin-operations.od-map-mode.od-has-tab-dropdown .tabs,
  body.od-admin-operations.od-map-mode.od-has-tab-dropdown.od-force-tab-dropdown .tabs { display: none !important; }
  body.od-admin-operations.od-map-mode .od-tab-dropdown-wrap,
  body.od-admin-operations.od-map-mode.od-has-tab-dropdown .od-tab-dropdown-wrap,
  body.od-admin-operations.od-map-mode.od-has-tab-dropdown.od-force-tab-dropdown .od-tab-dropdown-wrap { flex: 0 0 auto !important; display: block !important; }
}

@media (min-width: 1181px) {
  body.od-admin-operations.od-map-mode .tabs,
  body.od-admin-operations.od-map-mode.od-has-tab-dropdown .tabs,
  body.od-admin-operations.od-map-mode.od-has-tab-dropdown.od-force-tab-dropdown .tabs {
    display: flex !important;
    align-items: stretch !important;
    justify-content: space-between !important;
    gap: clamp(4px, .55vw, 8px) !important;
    min-height: 60px !important;
    overflow: hidden !important;
  }
  body.od-admin-operations.od-map-mode .tabs .tab {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    padding-inline: clamp(8px, .7vw, 13px) !important;
    overflow: hidden !important;
    font-size: clamp(9.5px, .64vw, 11.5px) !important;
    letter-spacing: .035em !important;
    text-overflow: ellipsis;
  }
}

@media (max-width: 992px) {
  body.od-admin-operations.od-map-mode header { padding: 12px !important; }
}

@media (max-width: 640px) {
  body.od-admin-operations.od-map-mode { --admin-page-gutter: 12px; }
  body.od-admin-operations.od-map-mode header {
    position: relative !important;
    inset: auto !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-items: stretch !important;
    gap: 12px !important;
    margin: 18px 0 0 !important;
    padding: 12px !important;
  }
  body.od-admin-operations.od-map-mode .logoRow { width: 100% !important; }
  body.od-admin-operations.od-map-mode .logoTextMain { font-size: 13px !important; }
  body.od-admin-operations.od-map-mode .logoTextSub { display: block !important; }
  body.od-admin-operations.od-map-mode .headerRight {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    gap: 8px !important;
  }
  body.od-admin-operations.od-map-mode .headerRight > * {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 40px !important;
    justify-content: center !important;
  }
}

/* Final shell contract (kept last so legacy map specificity cannot re-enter). */
body.od-admin-operations #notice.ok { display: none !important; }

body.od-admin-operations.od-map-mode {
  --admin-page-gutter: clamp(16px, 2vw, 24px);
  overflow-x: hidden !important;
  overflow-y: scroll !important;
}

body.od-admin-operations.od-map-mode header {
  flex: 0 0 auto !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 12px 16px !important;
}

@media (max-width: 992px) {
  body.od-admin-operations.od-map-mode header { padding: 12px !important; }
}

@media (max-width: 640px) {
  body.od-admin-operations.od-map-mode { --admin-page-gutter: 12px; }
  body.od-admin-operations.od-map-mode header {
    position: relative !important;
    inset: auto !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-items: stretch !important;
    gap: 12px !important;
    margin: 18px 0 0 !important;
    padding: 12px !important;
  }
}

@media (min-width: 1181px) {
  body.od-admin-operations.od-map-mode .tabs,
  body.od-admin-operations.od-map-mode.od-has-tab-dropdown .tabs,
  body.od-admin-operations.od-map-mode.od-has-tab-dropdown.od-force-tab-dropdown .tabs {
    margin-top: 15px !important;
  }
}
