/* OnlyDrive Operations OS — the single immersive map workspace. */

body.od-main-admin[data-admin-view="map"] {
  --map-overlay-gutter: clamp(.75rem, 1.2vw, 1.25rem);
  --map-panel-bg: rgba(7, 16, 26, .9);
  --map-panel-border: rgba(151, 169, 195, .2);
  --map-panel-shadow: 0 18px 48px rgba(1, 7, 17, .34);
}

body.od-main-admin[data-admin-view="map"] .admin-workspace,
body.od-main-admin[data-admin-view="map"] #section-map,
body.od-main-admin[data-admin-view="map"] .pc-map-page,
body.od-main-admin[data-admin-view="map"] .admin-map-stage,
body.od-main-admin[data-admin-view="map"] .mapWrap,
body.od-main-admin[data-admin-view="map"] #adminMap {
  width: 100%;
  max-width: none;
  height: 100%;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  transform: none;
  transition: none;
  filter: none;
  backdrop-filter: none;
}

body.od-main-admin[data-admin-view="map"] #section-map,
body.od-main-admin[data-admin-view="map"] .pc-map-page,
body.od-main-admin[data-admin-view="map"] .admin-map-stage {
  position: relative;
  inset: auto;
}

body.od-main-admin[data-admin-view="map"] .pc-map-page,
body.od-main-admin[data-admin-view="map"] .admin-map-stage,
body.od-main-admin[data-admin-view="map"] .mapWrap,
body.od-main-admin[data-admin-view="map"] #adminMap {
  position: absolute;
  inset: 0;
}

body.od-main-admin[data-admin-view="map"] .mapWrap::before,
body.od-main-admin[data-admin-view="map"] .mapWrap::after { display: none; }

body.od-main-admin[data-admin-view="map"] .pc-map-header {
  position: absolute;
  z-index: 20;
  top: var(--map-overlay-gutter);
  right: var(--map-overlay-gutter);
  left: var(--map-overlay-gutter);
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--od-space-3);
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  pointer-events: none;
}

body.od-main-admin[data-admin-view="map"] .pc-map-header > div {
  min-width: 0;
  padding: .65rem .8rem;
  border: 1px solid var(--map-panel-border);
  border-radius: var(--od-radius-lg);
  color: var(--od-text-primary);
  background: var(--map-panel-bg);
  box-shadow: var(--map-panel-shadow);
  backdrop-filter: blur(16px);
}

body.od-main-admin[data-admin-view="map"] .pc-map-header .mapTitle { margin: .15rem 0 0; color: var(--od-text-primary); font-size: 1.35rem; line-height: 1; letter-spacing: -.035em; }
body.od-main-admin[data-admin-view="map"] .pc-map-health { display: flex; align-items: center; gap: .55rem; color: var(--od-text-muted); font-size: .625rem; }
body.od-main-admin[data-admin-view="map"] .pc-map-health > span { color: var(--od-success); font-weight: 720; }
body.od-main-admin[data-admin-view="map"] .pc-map-health > small { font-size: inherit; }

body.od-main-admin[data-admin-view="map"] .pc-map-dock {
  position: absolute;
  z-index: 24;
  top: 4.8rem;
  right: var(--map-overlay-gutter);
  left: var(--map-overlay-gutter);
  display: flex;
  width: auto;
  max-width: none;
  min-height: 3rem;
  align-items: center;
  gap: .3rem;
  margin: 0;
  padding: .3rem;
  overflow: visible;
  border: 1px solid var(--map-panel-border);
  border-radius: var(--od-radius-lg);
  color: var(--od-text-primary);
  background: var(--map-panel-bg);
  box-shadow: var(--map-panel-shadow);
  backdrop-filter: blur(18px);
  pointer-events: auto;
}

body.od-main-admin[data-admin-view="map"] .pc-map-dock > * { flex: 0 0 auto; }
body.od-main-admin[data-admin-view="map"] .pc-map-dock :is(button, .btn, summary) { min-height: 2.35rem; margin: 0; padding: 0 .7rem; border: 1px solid var(--od-border-subtle); border-radius: var(--od-radius-control, .5rem); color: var(--od-text-secondary); background: rgba(255,255,255,.035); box-shadow: none; font: inherit; font-size: .7rem; font-weight: 650; white-space: nowrap; }
body.od-main-admin[data-admin-view="map"] .pc-map-dock .btn.primary { border-color: var(--od-accent-border); color: var(--od-accent-contrast); background: var(--od-accent); }
body.od-main-admin[data-admin-view="map"] .pc-map-dock .btn[aria-pressed="true"] { color: var(--od-accent-contrast); background: var(--od-accent); }

body.od-main-admin[data-admin-view="map"] .pc-map-region { display: grid; min-width: 14rem; height: 2.35rem; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: .45rem; padding: 0 .65rem; }
body.od-main-admin[data-admin-view="map"] .pc-map-region > span { color: var(--od-text-muted); font-size: .625rem; }
body.od-main-admin[data-admin-view="map"] .pc-map-region select { width: 100%; min-width: 0; height: 2.2rem; padding: 0; border: 0; outline: 0; color: var(--od-text-primary); background: transparent; font: inherit; font-size: .7rem; font-weight: 650; }

body.od-main-admin[data-admin-view="map"] .pc-map-popover { position: relative; }
body.od-main-admin[data-admin-view="map"] .pc-map-popover > summary { display: flex; align-items: center; cursor: pointer; list-style: none; }
body.od-main-admin[data-admin-view="map"] .pc-map-popover > summary::-webkit-details-marker { display: none; }
body.od-main-admin[data-admin-view="map"] .pc-map-popover > div { position: absolute; z-index: 40; top: calc(100% + .5rem); left: 0; display: grid; min-width: 14rem; gap: .65rem; padding: .8rem; border: 1px solid var(--map-panel-border); border-radius: var(--od-radius-lg); color: var(--od-text-secondary); background: rgba(7,16,26,.98); box-shadow: var(--od-shadow-lg); }
body.od-main-admin[data-admin-view="map"] .pc-map-popover--advanced { margin-left: auto; }
body.od-main-admin[data-admin-view="map"] .pc-map-popover--advanced > div { right: 0; left: auto; min-width: 15rem; }
body.od-main-admin[data-admin-view="map"] .pc-map-popover > div label { display: flex; min-height: 2rem; align-items: center; gap: .5rem; font-size: .7rem; }
body.od-main-admin[data-admin-view="map"] .pc-map-popover > div label:has(select) { display: grid; gap: .3rem; }

body.od-main-admin[data-admin-view="map"] .pc-map-context-chips {
  position: absolute;
  z-index: 18;
  top: 8.4rem;
  left: var(--map-overlay-gutter);
  display: flex;
  max-width: calc(100% - (var(--map-overlay-gutter) * 2));
  gap: .35rem;
  overflow: auto hidden;
  pointer-events: none;
  scrollbar-width: none;
}
body.od-main-admin[data-admin-view="map"] .pc-map-context-chips::-webkit-scrollbar { display: none; }
body.od-main-admin[data-admin-view="map"] .pc-map-context-chips span { display: inline-flex; min-height: 1.85rem; align-items: center; gap: .25rem; padding: 0 .55rem; border: 1px solid var(--map-panel-border); border-radius: var(--od-radius-pill); color: var(--od-text-secondary); background: rgba(7,16,26,.84); box-shadow: var(--od-shadow-sm); font-size: .625rem; white-space: nowrap; backdrop-filter: blur(14px); }
body.od-main-admin[data-admin-view="map"] .pc-map-context-chips :is(strong, b) { color: var(--od-text-primary); font-variant-numeric: tabular-nums; }

body.od-main-admin[data-admin-view="map"] :is(.mapContextPanel, .mapSelectionInspector) {
  position: absolute;
  z-index: 26;
  top: 10.9rem;
  right: var(--map-overlay-gutter);
  width: min(25rem, calc(100% - 2rem));
  max-height: calc(100% - 17rem);
  margin: 0;
  padding: var(--od-space-4);
  overflow: auto;
  border: 1px solid var(--map-panel-border);
  border-radius: var(--od-radius-lg);
  color: var(--od-text-primary);
  background: rgba(7,16,26,.94);
  box-shadow: var(--od-shadow-lg);
  backdrop-filter: blur(18px);
  pointer-events: auto;
}
body.od-main-admin[data-admin-view="map"] :is(.mapContextPanel, .mapSelectionInspector)[hidden] { display: none; }
body.od-main-admin[data-admin-view="map"]:has(#mapSelectionInspector:not([hidden])) .mapContextPanel { display: none; }
body.od-main-admin[data-admin-view="map"] .mapContextPanel__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--od-space-2); }
body.od-main-admin[data-admin-view="map"] .mapContextStat { padding: var(--od-space-3); border: 0; border-radius: var(--od-radius-md); background: rgba(255,255,255,.035); }

body.od-main-admin[data-admin-view="map"] .mapLegendPanel {
  position: absolute;
  z-index: 18;
  bottom: var(--map-overlay-gutter);
  left: var(--map-overlay-gutter);
  display: flex;
  gap: .65rem;
  margin: 0;
  padding: .5rem .65rem;
  border: 1px solid var(--map-panel-border);
  border-radius: var(--od-radius-md);
  color: var(--od-text-secondary);
  background: rgba(7,16,26,.86);
  box-shadow: var(--od-shadow-sm);
  font-size: .625rem;
  backdrop-filter: blur(14px);
  pointer-events: none;
}

body.od-main-admin[data-admin-view="map"] .mapRouteLedger {
  position: absolute;
  z-index: 25;
  bottom: var(--map-overlay-gutter);
  left: 50%;
  display: flex;
  width: min(44rem, calc(100% - 2rem));
  height: 3.6rem;
  max-height: 46%;
  flex-direction: column;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--map-panel-border);
  border-radius: var(--od-radius-lg);
  color: var(--od-text-primary);
  background: rgba(7,16,26,.95);
  box-shadow: var(--od-shadow-lg);
  backdrop-filter: blur(18px);
  transform: translateX(-50%);
  transition: height var(--od-duration-medium) var(--od-ease);
  pointer-events: auto;
}
body.od-main-admin[data-admin-view="map"] .mapRouteLedger[data-state="closed"] { height: 3.6rem; }
body.od-main-admin[data-admin-view="map"] .mapRouteLedger[data-state="peek"] { height: 9rem; }
body.od-main-admin[data-admin-view="map"] .mapRouteLedger[data-state="expanded"] { height: min(46%, 26rem); }
body.od-main-admin[data-admin-view="map"] .mapRouteLedger .card-head { flex: 0 0 3.55rem; min-height: 3.55rem; padding: .5rem .75rem; border: 0; border-bottom: 1px solid var(--map-panel-border); background: transparent; }
body.od-main-admin[data-admin-view="map"] .mapRouteLedger .card-body { min-height: 0; padding: 0 .75rem .75rem; overflow: auto; color: var(--od-text-primary); background: transparent; }
body.od-main-admin[data-admin-view="map"] .mapRouteLedger[data-state="closed"] .card-body { display: none; }
body.od-main-admin[data-admin-view="map"] .mapRouteLedger__actions { display: flex; gap: .25rem; }
body.od-main-admin[data-admin-view="map"] .mapRouteLedger__actions button { min-height: 2rem; padding: 0 .55rem; border: 1px solid var(--od-border-subtle); border-radius: var(--od-radius-sm); color: var(--od-text-secondary); background: rgba(255,255,255,.035); font-size: .625rem; }
body.od-main-admin[data-admin-view="map"] .mapRouteLedger__actions button[aria-pressed="true"] { color: var(--od-accent-contrast); background: var(--od-accent); }

body.od-main-admin[data-admin-view="map"] .admin-map-stage > :is(.pc-map-context-chips, .mapGeoTooltip) { pointer-events: none; }

body.od-map-input-diagnostic[data-admin-view="map"] :is(.pc-map-header, .pc-map-dock, .pc-map-context-chips, .mapContextPanel, .mapSelectionInspector, .mapLegendPanel, .mapRouteLedger, .mapGeoTooltip) { display: none; pointer-events: none; }

@media (max-width: 1080px) {
  body.od-main-admin[data-admin-view="map"] { --map-overlay-gutter: .75rem; }
  body.od-main-admin[data-admin-view="map"] .pc-map-dock { overflow: auto hidden; scrollbar-width: none; }
  body.od-main-admin[data-admin-view="map"] .pc-map-dock::-webkit-scrollbar { display: none; }
  body.od-main-admin[data-admin-view="map"] :is(.mapContextPanel, .mapSelectionInspector) { top: auto; right: .75rem; bottom: 4.8rem; left: .75rem; width: auto; max-height: 42%; }
  body.od-main-admin[data-admin-view="map"] .mapLegendPanel { display: none; }
}

@media (max-width: 640px) {
  body.od-main-admin[data-admin-view="map"] { --map-overlay-gutter: max(.5rem, env(safe-area-inset-left)); }
  body.od-main-admin[data-admin-view="map"] .pc-map-header { top: .5rem; right: .5rem; left: .5rem; }
  body.od-main-admin[data-admin-view="map"] .pc-map-header > div { padding: .5rem .65rem; border-radius: var(--od-radius-md); }
  body.od-main-admin[data-admin-view="map"] .pc-map-header .mapTitle { font-size: 1.05rem; }
  body.od-main-admin[data-admin-view="map"] .pc-map-health { display: none; }
  body.od-main-admin[data-admin-view="map"] .pc-map-context-chips { top: 3.75rem; left: .5rem; max-width: calc(100% - 1rem); }
  body.od-main-admin[data-admin-view="map"] .pc-map-dock { top: auto; right: .5rem; bottom: max(.5rem, env(safe-area-inset-bottom)); left: .5rem; min-height: 3rem; padding: .25rem; overflow: auto hidden; border-radius: var(--od-radius-md); }
  body.od-main-admin[data-admin-view="map"] .pc-map-region { min-width: 12.5rem; }
  body.od-main-admin[data-admin-view="map"] :is(.mapContextPanel, .mapSelectionInspector) { right: .5rem; bottom: 4.25rem; left: .5rem; max-height: 48%; padding: var(--od-space-4); border-radius: var(--od-radius-lg); }
  body.od-main-admin[data-admin-view="map"] .mapRouteLedger { right: .5rem; bottom: 4.25rem; left: .5rem; width: auto; border-radius: var(--od-radius-md); transform: none; }
  body.od-main-admin[data-admin-view="map"] .mapRouteLedger .card-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .35rem; }
  body.od-main-admin[data-admin-view="map"] .mapRouteLedger .card-head > div:first-child { min-width: 0; }
  body.od-main-admin[data-admin-view="map"] .mapRouteLedger__actions button { padding-inline: .45rem; font-size: .625rem; }
  body.od-main-admin[data-admin-view="map"] .mapRouteLedger__actions button:nth-child(2) { display: none; }
  body.od-main-admin[data-admin-view="map"] .mapRouteLedger[data-state="peek"] { height: 8rem; }
  body.od-main-admin[data-admin-view="map"] .mapRouteLedger[data-state="expanded"] { height: 46%; }
  body.od-main-admin[data-admin-view="map"] .mapLegendPanel { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  body.od-main-admin[data-admin-view="map"] *,
  body.od-main-admin[data-admin-view="map"] *::before,
  body.od-main-admin[data-admin-view="map"] *::after { scroll-behavior: auto; animation-duration: .01ms; animation-iteration-count: 1; transition-duration: .01ms; }
}
