/* Al Rehab presentation only. Loaded solely on its map route; geometry and runtime are untouched. */
body.space-rehab-map-polish {
  --rehab-plum: oklch(0.38 0.095 352);
  --rehab-plum-dark: oklch(0.31 0.085 352);
  --rehab-border: oklch(0.91 0.009 70);
  --rehab-warm: oklch(0.985 0.005 75);
}
.space-rehab-map-polish #primary.imap-page {
  padding-block: 14px 24px;
  margin-block: 0;
  width: 100%;
}
.space-rehab-map-polish .imap-page__crumbs { margin-bottom: 6px; font-size: .78rem; }
.space-rehab-map-polish .imap-page__head { max-width: none; margin-bottom: 10px; }
.space-rehab-map-polish .imap-page__eyebrow { color: var(--rehab-plum); font-size: .72rem; }
.space-rehab-map-polish .imap-page__head h1 { font-size: clamp(1.35rem,2.3vw,1.85rem); line-height: 1.4; margin: 2px 0; }
.space-rehab-map-polish .imap-page__head > p:last-child { font-size: .88rem; line-height: 1.65; margin: 0; max-width: none; }
.space-rehab-map-polish .imap--pro {
  --space-color-primary: var(--rehab-plum);
  --space-color-primary-dark: var(--rehab-plum-dark);
  --space-color-primary-soft: oklch(0.95 0.018 352);
  --space-color-border: var(--rehab-border);
  --space-color-surface-alt: oklch(0.957 0.008 70);
  --space-color-background: var(--rehab-warm);
  margin-block: 0 24px;
}
.space-rehab-map-polish .imap__bar { gap: 8px; margin-bottom: 8px; }
.space-rehab-map-polish .imap__modes { border-radius: 12px; padding: 3px; box-shadow: none; }
.space-rehab-map-polish .imap__mode { min-height: 44px; border-radius: 9px; padding-inline: 12px; font-size: .84rem; }
.space-rehab-map-polish .imap__search input { min-height: 50px; border-radius: 12px; padding-inline: 38px 12px; background: #fff; font-size: .86rem; }
.space-rehab-map-polish .imap__cats { gap: 6px; margin-bottom: 8px; padding-block: 2px 4px; scrollbar-width: thin; }
.space-rehab-map-polish .imap__chip--cat { min-height: 44px; border-radius: 10px; box-shadow: none; font-size: .8rem; }
.space-rehab-map-polish .imap--pro .imap__stage {
  height: min(86vh,960px);
  height: min(86svh,960px);
  border-radius: 14px;
  border-color: var(--rehab-border);
  box-shadow: 0 8px 28px rgb(48 39 47 / 7%);
}
.space-rehab-map-polish .imap--pro .imap__zoom { border-radius: 12px; box-shadow: 0 4px 18px rgb(48 39 47 / 10%); }
.space-rehab-map-polish .imap--pro .imap__zoom button { width: 44px; height: 44px; color: var(--rehab-plum); }
.space-rehab-map-polish .imap__layers { inset-inline-end: 76px; }
.space-rehab-map-polish .imap__ctl { min-height: 44px; border-radius: 10px; color: var(--rehab-plum); box-shadow: 0 4px 18px rgb(48 39 47 / 8%); }
.space-rehab-map-polish .imap.is-directory .imap__ctl { color: #fff; background: var(--rehab-plum); }
.space-rehab-map-polish .imap--pro .imap__panel {
  bottom: auto;
  max-height: calc(100% - 2rem);
  width: min(350px,calc(100% - 2rem));
  border: 1px solid var(--rehab-border);
  border-radius: 14px;
  box-shadow: 0 10px 32px rgb(48 39 47 / 16%);
}
.space-rehab-map-polish .imap--pro[data-mode=listings] .imap__panel { max-height: calc(100% - 5.6rem); }
.space-rehab-map-polish .imap--pro .imap__body { padding: 16px; min-height: 0; scrollbar-width: thin; }
.space-rehab-map-polish .imap__ph { padding-inline-end: 44px; }
.space-rehab-map-polish .imap--pro .imap__close { width: 44px; height: 44px; top: 8px; inset-inline-end: 8px; color: var(--rehab-plum); }
.space-rehab-map-polish .imap__stat, .space-rehab-map-polish .imap__act { border-radius: 9px; }
.space-rehab-map-polish .imap__pill, .space-rehab-map-polish .imap__cat { min-height: 44px; }
.space-rehab-map-polish .imap__list { border-radius: 12px; }
.space-rehab-map-polish .imap button:focus-visible, .space-rehab-map-polish .imap a:focus-visible, .space-rehab-map-polish .imap summary:focus-visible { outline: 2px solid var(--rehab-plum); outline-offset: 2px; }
.space-rehab-map-polish .imap--pro.has-panel .imap__total { inset-inline-start: 382px; }
@media (min-width:701px) and (max-width:1100px) {
  .space-rehab-map-polish .imap__filters-bar { inset-inline-end: 76px; }
  .space-rehab-map-polish .imap--pro[data-mode=listings] .imap__panel { max-height: calc(100% - 10rem); }
}
@media (max-width:700px) {
  .space-rehab-map-polish #primary.imap-page { padding-top: 10px; }
  .space-rehab-map-polish .imap-page__head > p:last-child { font-size: .8rem; line-height: 1.5; }
  .space-rehab-map-polish .imap__bar { gap: 6px; }
  .space-rehab-map-polish .imap__modes { border-radius: 12px; }
  .space-rehab-map-polish .imap__mode { min-height: 48px; padding: 4px 2px; font-size: .69rem; }
  .space-rehab-map-polish .imap__search input { min-height: 44px; }
  .space-rehab-map-polish .imap__layers { inset-inline-end: 64px; }
  .space-rehab-map-polish .imap--pro .imap__stage { height: 82vh; height: 82svh; border-radius: 12px; }
  .space-rehab-map-polish .imap--pro .imap__panel,
  .space-rehab-map-polish .imap--pro[data-mode=listings] .imap__panel { top: auto; bottom: 0; width: auto; max-height: 48%; border-radius: 16px 16px 0 0; }
  .space-rehab-map-polish .imap--pro .imap__body { padding: 12px; }
  .space-rehab-map-polish .imap__hint { max-width: calc(100% - 24px); white-space: normal; text-align: center; }
}
/* Fit the existing fullscreen shell without altering its event handlers. */
.space-rehab-map-polish .imap:is(.is-full,.is-pseudo-full) { height: 100vh; height: 100dvh; display: flex; flex-direction: column; overflow: auto; }
.space-rehab-map-polish .imap:is(.is-full,.is-pseudo-full) .imap__stage { flex: 1 0 240px; height: auto; min-height: 240px; }
.space-rehab-map-polish .imap:is(.is-full,.is-pseudo-full) > .imap__list { flex-shrink: 0; margin-top: 6px; }
