.map-status-dock {
  position:absolute;
  z-index:7;
  right:.75rem;
  bottom:calc(10.3rem + env(safe-area-inset-bottom, 0px));
  left:.75rem;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:.7rem;
  max-width:42rem;
  margin-inline:auto;
  padding:.7rem;
  border:1px solid rgb(255 255 255 / 55%);
  border-radius:1.15rem;
  background:rgb(28 34 38 / 92%);
  color:#fff;
  box-shadow:0 .55rem 1.4rem rgb(0 0 0 / 38%);
  backdrop-filter:blur(10px);
}
.map-status-dock .vendor-avatar { width:3.25rem;height:3.25rem;font-size:1.9rem; }
.map-status-dock .vendor-avatar img { width:100%;height:100%;border-radius:50%;object-fit:cover; }
.map-status-dock-copy { min-width:0; }
.map-status-dock-copy strong,.map-status-dock-copy span { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.map-status-dock-copy span { margin-top:.15rem;color:#dfe7ea;font-size:.88rem; }
.map-status-dock-actions { display:flex;align-items:center;gap:.35rem; }
.map-status-dock-actions button { min-width:2.75rem;min-height:2.75rem;border-radius:999px; }
.host-map-marker.is-selected { outline:4px solid #ffcf4a;outline-offset:2px;transform:scale(1.12); }
.host-map-cluster { min-width:2.8rem;width:auto;padding:.35rem .55rem;border-radius:999px;background:#d85b19; }
.host-map-cluster strong { display:block;font-weight:900;line-height:1; }
.host-map-cluster span { display:block;margin-top:.12rem;font-size:.56rem;line-height:1;text-transform:uppercase; }
.status-banner-logo { width:1.65rem;height:1.65rem;margin-right:.4rem;border-radius:50%;object-fit:cover;vertical-align:middle; }
.vendor-hero-icon img { width:100%;height:100%;border-radius:inherit;object-fit:cover; }
.customer-map-header { position:absolute;z-index:9;top:.6rem;right:.65rem;left:.65rem;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.45rem;max-width:56rem;margin-inline:auto;pointer-events:none; }
.customer-map-header > * { pointer-events:auto; }
.customer-map-search { display:flex;min-width:0;padding:.28rem;border:1px solid rgb(255 255 255 / 64%);border-radius:999px;background:rgb(255 255 255 / 94%);box-shadow:0 .35rem 1rem rgb(0 0 0 / 24%); }
.customer-map-search input { min-width:0;flex:1;border:0;background:transparent;padding:.55rem .7rem; }
.customer-map-search button,.customer-map-pearl,.customer-map-view-toggle button { min-height:2.65rem;border:0;border-radius:999px;padding:.45rem .75rem;font-weight:800; }
.customer-map-search button,.customer-map-pearl { background:#173b49;color:#fff; }
.customer-map-pearl { display:flex;align-items:center;gap:.3rem;box-shadow:0 .35rem 1rem rgb(0 0 0 / 24%); }
.customer-map-view-toggle { grid-column:1 / -1;justify-self:center;display:flex;padding:.2rem;border-radius:999px;background:rgb(28 34 38 / 90%);box-shadow:0 .25rem .8rem rgb(0 0 0 / 24%); }
.customer-map-view-toggle button { min-height:2.2rem;padding:.3rem 1rem;background:transparent;color:#fff; }
.customer-map-view-toggle button[aria-pressed="true"] { background:#fff;color:#173b49; }
.map-board .map-tools { top:7.15rem; }
.customer-map-list { position:absolute;z-index:6;inset:6.9rem .6rem 9.7rem;overflow:auto;padding:.55rem;border-radius:1rem;background:rgb(244 247 247 / 95%);box-shadow:0 .4rem 1.2rem rgb(0 0 0 / 25%); }
.map-list-card { display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.4rem;align-items:center;margin-bottom:.5rem;padding:.6rem;border-left:.32rem solid #6b7478;border-radius:.8rem;background:#fff; }
.map-list-card.status-open { border-left-color:#178b4b; }
.map-list-card.status-standby { border-left-color:#d18a00; }
.map-list-identity { display:flex;align-items:center;gap:.6rem;min-width:0;text-align:left;background:transparent;border:0; }
.map-list-identity span,.map-list-identity strong,.map-list-identity small { display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.map-list-avatar,.favorite-thumb { display:grid;place-items:center;overflow:hidden;flex:0 0 auto;border-radius:50%;background:#edf1f2; }
.map-list-avatar { width:3rem;height:3rem;font-size:1.6rem; }
.map-list-avatar img,.favorite-thumb img { width:100%;height:100%;object-fit:cover; }
.map-favorites-rail { position:absolute;z-index:7;right:.65rem;bottom:calc(4rem + env(safe-area-inset-bottom, 0px));left:.65rem;padding:.48rem .6rem;border-radius:1rem;background:rgb(28 34 38 / 90%);color:#fff;box-shadow:0 .35rem 1rem rgb(0 0 0 / 28%);backdrop-filter:blur(9px); }
.map-favorites-rail > strong { display:block;margin:0 0 .25rem .2rem;font-size:.8rem; }
.map-favorites-rail > div { display:flex;gap:.45rem;overflow-x:auto;scrollbar-width:thin; }
.map-favorites-rail button { display:grid;grid-template-columns:auto minmax(4rem,1fr);grid-template-rows:auto auto;column-gap:.4rem;align-items:center;min-width:9rem;padding:.35rem .5rem;border:0;border-radius:.75rem;background:#fff;color:#162c35;text-align:left; }
.favorite-thumb { grid-row:1 / 3;width:2.45rem;height:2.45rem;font-size:1.3rem; }
.map-favorites-rail button span,.map-favorites-rail button small { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.map-favorites-unknown { position:absolute;z-index:7;right:.65rem;bottom:calc(4.2rem + env(safe-area-inset-bottom, 0px));left:.65rem;margin:0;padding:.6rem .8rem;border-radius:.8rem;background:rgb(28 34 38 / 88%);color:#fff;text-align:center;font-size:.82rem; }
.favorites-empty { padding:.55rem;color:#e8edef; }
@media (min-width:48rem) {
  .customer-map-header { top:.8rem; }
  .customer-map-view-toggle { grid-column:2;grid-row:2; }
  .customer-map-list { top:4.6rem;right:1rem;bottom:4.6rem;left:auto;width:min(30rem,42vw); }
  .map-favorites-rail { right:auto;left:1rem;bottom:4.25rem;width:min(32rem,calc(100vw - 2rem)); }
  .map-favorites-unknown { right:auto;left:1rem;bottom:4.25rem;width:min(28rem,calc(100vw - 2rem)); }
  .map-status-dock { right:auto;left:1rem;bottom:10.5rem;width:min(27rem,calc(100vw - 2rem));margin:0; }
}
